找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10035|回复: 13
打印 上一主题 下一主题
收起左侧

小妹刚学单片机,控制直流电机的正反转和加减速,但是仿真电机转速特慢是什么问题啊

  [复制链接]
跳转到指定楼层
楼主
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar m;
sbit k1=P2^0;
sbit k2=P2^1;        
sbit k3=P2^2;  
sbit k4=P2^3;
sbit k5=P2^4;
sbit pwm1=P1^4;
void init() ;               
void delay(int x)
{
      uint i,j;
      for(i=0;i<=x;i++)
      for(j=1;j<=110;j++);
}

main()
{   
   TMOD=0X01;
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   TR0=1;
   ET0=1;
   EX0=1;EX1=1;
   IT0=1;IT1=1;
   EA=1;
   while(1)
   {      
       if(k1==0)
        {
           delay(10);
           if(k1==0)
           {  
            P1=0x01;
           }
           while(!k1);
        }

        if(k2==0)
        {
           delay(10);
           if(k2==0)
           {
             P1=0x02;
           }
           while(!k2);
        }
        if(k3==0)
        {
           delay(10);
           if(k3==0)
           {
            P1=0X00;
            pwm1=0;
           }
        while(!k3);
        }
        if(k4==0)
        {
           delay(10);
           if(k4==0)
           {  
             m++;
           }
           while(!k4);
        }
        if(k5==0)
        {
            delay(10);
            if(k5==0)
             {  
              m--;
             }
             while(!k5);
        }
                if(m>3)m=3;
                if(m<1)m=1;   
     }
}
void init()
{
   IE=0X82;
   TMOD=0X01;               
   TH0=(65636-50000)/256;   
   TL0=(65636-50000)%256;
   TR0=1;
   P1=0X00;  
   P2=0Xff;  
   m=2;
}
void timer0(void) interrupt 1
{     
      static uchar c=0;
      TH0=(65636-50000)/256;   
      TL0=(65636-50000)%256;
      c++;
          if(c==3)
          {
          c=0;
          }
          if(c<m)
          {
          pwm1=0xff;
          }
          else pwm1=0x00;                       
}

QQ截图20141227204749.png (15.35 KB, 下载次数: 153)

QQ截图20141227204749.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:71234 发表于 2014-12-27 20:54 | 只看该作者
求大神。
回复

使用道具 举报

板凳
ID:67992 发表于 2014-12-27 22:15 | 只看该作者
把仿真文件放上来,方便大家调试。
回复

使用道具 举报

地板
ID:70512 发表于 2014-12-27 22:42 | 只看该作者
你程序中用到了外部中断0和1,(EX0=1;EX1=1;IT0=1;IT1=1;)硬件上的P3^2和P3^3口没接。用到外部中断0和1,要设置中断优选级和对应中断函数。
   
  
回复

使用道具 举报

5#
ID:71234 发表于 2014-12-28 09:09 | 只看该作者
这是我的文件

电机转动.rar

65.02 KB, 下载次数: 134

回复

使用道具 举报

6#
ID:71234 发表于 2014-12-28 09:09 | 只看该作者
dgahz 发表于 2014-12-27 22:15
把仿真文件放上来,方便大家调试。

已上传。
回复

使用道具 举报

7#
ID:71234 发表于 2014-12-28 09:12 | 只看该作者
大哥小弟 发表于 2014-12-27 22:42
你程序中用到了外部中断0和1,(EX0=1;EX1=1;IT0=1;IT1=1;)硬件上的P3^2和P3^3口没接。用到外部中断0和1, ...

不怎么明白。
回复

使用道具 举报

8#
ID:67992 发表于 2014-12-28 12:18 | 只看该作者
做了小小改动: 电机转动.rar (70.65 KB, 下载次数: 247)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

9#
ID:77360 发表于 2015-4-18 16:44 | 只看该作者
请问那五个控制信号,就是下面两个圆圈,上面一个框框的元器件叫什么?急
回复

使用道具 举报

10#
ID:74784 发表于 2015-7-12 09:42 | 只看该作者
11111111111 发表于 2015-4-18 16:44
请问那五个控制信号,就是下面两个圆圈,上面一个框框的元器件叫什么?急

那是按钮开关~~~~~~~~~~~~~晕糊糊

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

11#
ID:195441 发表于 2017-5-4 10:04 | 只看该作者
没有lcd显示吗
回复

使用道具 举报

12#
ID:238776 发表于 2017-10-12 10:22 | 只看该作者
感觉仿真不出来
回复

使用道具 举报

13#
ID:82765 发表于 2017-10-12 12:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

14#
ID:251085 发表于 2017-11-19 15:36 | 只看该作者
程序好不好使呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表