標題: 小妹剛學單片機,控制直流電機的正反轉(zhuǎn)和加減速,但是仿真電機轉(zhuǎn)速特慢是什么問題啊 [打印本頁]

作者: 慧慧。    時間: 2014-12-27 20:53
標題: 小妹剛學單片機,控制直流電機的正反轉(zhuǎn)和加減速,但是仿真電機轉(zhuǎn)速特慢是什么問題啊
#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, 下載次數(shù): 181)

QQ截圖20141227204749.png

作者: 慧慧。    時間: 2014-12-27 20:54
求大神。
作者: dgahz    時間: 2014-12-27 22:15
把仿真文件放上來,方便大家調(diào)試。
作者: 大哥小弟    時間: 2014-12-27 22:42
你程序中用到了外部中斷0和1,(EX0=1;EX1=1;IT0=1;IT1=1;)硬件上的P3^2和P3^3口沒接。用到外部中斷0和1,要設(shè)置中斷優(yōu)選級和對應中斷函數(shù)。
   
  
作者: 慧慧。    時間: 2014-12-28 09:09
這是我的文件

電機轉(zhuǎn)動.rar

65.02 KB, 下載次數(shù): 134


作者: 慧慧。    時間: 2014-12-28 09:09
dgahz 發(fā)表于 2014-12-27 22:15
把仿真文件放上來,方便大家調(diào)試。

已上傳。
作者: 慧慧。    時間: 2014-12-28 09:12
大哥小弟 發(fā)表于 2014-12-27 22:42
你程序中用到了外部中斷0和1,(EX0=1;EX1=1;IT0=1;IT1=1;)硬件上的P3^2和P3^3口沒接。用到外部中斷0和1, ...

不怎么明白。
作者: dgahz    時間: 2014-12-28 12:18
做了小小改動: 電機轉(zhuǎn)動.rar (70.65 KB, 下載次數(shù): 248)


作者: 11111111111    時間: 2015-4-18 16:44
請問那五個控制信號,就是下面兩個圓圈,上面一個框框的元器件叫什么?急
作者: lxa0    時間: 2015-7-12 09:42
11111111111 發(fā)表于 2015-4-18 16:44
請問那五個控制信號,就是下面兩個圓圈,上面一個框框的元器件叫什么?急

那是按鈕開關(guān)~~~~~~~~~~~~~暈糊糊
作者: 帥哥廣    時間: 2017-5-4 10:04
沒有l(wèi)cd顯示嗎
作者: 先黑    時間: 2017-10-12 10:22
感覺仿真不出來
作者: cjjcjj1    時間: 2017-10-12 12:19
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: 2016135032    時間: 2017-11-19 15:36
程序好不好使呢




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1