找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2455|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

pwm直流電機(jī)調(diào)速

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:154408 發(fā)表于 2016-12-13 13:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
最近做了一個(gè)pwm直流電機(jī)調(diào)速
下面是程序



#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar num;
uint speed,count,gao_num=50,gao_count;
sbit lcdrs=P3^5;
sbit lcden=P3^4;
sbit jia_key=P3^0;
sbit jian_key=P3^1;
sbit kaiguan=P3^2;
sbit dianji=P1^0;
uchar code table[]={"0123456789"};
uchar code digit2[]={"speed:    r/min"};
uchar code digit3[]={"Gao_count:     "};
void delay(uint z)
{
uint x;
        for(x=z;x>0;x--) ;
        //        for(y=110;y>0;y--);
}

void write_com(uchar com)
{
        lcdrs=0;
        P0=com;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}

void write_date(uchar date)
{
        lcdrs=1;
        P0=date;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}

  void display()
    {  
                 write_com(0x80+7);
                 write_date(table[speed/100]);   
                 write_com(0x80+8);
                 write_date(table[speed%100/10]);
                 write_com(0x80+9);       
                 write_date(table[speed%10]);
                 write_com(0x80+0x40+12);
                 write_date(table[gao_num/10]);
                 write_com(0x80+0x40+13);
                 write_date(table[gao_num%10]);
     }

void init()
{
        lcden=0;
        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x00);
        write_com(0x80);
        for(num=0;num<15;num++)
          {
                write_date(digit2[num]);
                delay(5);
           }
           write_com(0x80+0x40);
                for(num=0;num<15;num++)
          {
                write_date(digit3[num]);
                delay(5);
           }
        TMOD=0x51;
        TH0=(65536-10000)/256;
        TL0=(65536-10000)%256; //12HZ  10ms 中斷一次
        EA=1;
        ET0=1;
        TR0=1;
        TR1=1;
        TH1=0;
        TL1=0;

}
void timer0() interrupt 1
   {
        TH0=(65536-10000)/256;
        TL0=(65536-10000)%256;
        count++;
        gao_count++;//統(tǒng)計(jì)高電平的時(shí)間
        }

void key()
{   /*啟動(dòng)和關(guān)閉電機(jī)*/
    if(kaiguan==0)
     {
           dianji=1;
          }
        else
         {
                 dianji=0;
         }
   /**按鍵加**/
          if(jia_key==0)//加速
         {
            delay(5);
                if(jia_key==0)
                gao_num+=5;        //按鍵每按下一次,加5已達(dá)到讓風(fēng)扇轉(zhuǎn)的更快               
                 if(gao_num>99) //當(dāng)gao_num加到100時(shí),時(shí)間正好達(dá)到1s
                gao_num=99;
                while(!jia_key);
       
          }
        /**按鍵減**/
     if(jian_key==0)//減速
                {
                    delay(5);
                        if(jian_key==0)
                     {
                          if(gao_num!=0)
                            gao_num-=5;                       
                          else
                            gao_num=50;
                                while(!jian_key);
                          }
            }
}         
void qudong()
{ if(gao_count>99)
     gao_count=0;
  if(gao_count<gao_num)
    dianji=1;//加速
  else
    dianji=0;//減速
}       
void main()
{   
        init();
        dianji=0;
        while(1)
        {                   
                  key();
                  qudong();       
                  if(count>99)  //1s   
                    {  count=0;
                           speed=(TH1*256+TL1)*60/7;
                           TH1=0;
                   TL1=0;
                           }
                   display();
        }
}



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:222031 發(fā)表于 2017-8-3 08:55 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表