久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

直流電機(jī)控制程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:172092 發(fā)表于 2017-3-19 11:17 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
#include <showfun.h>
#include <stdio.h>
//#include<aa.h>
extern char fnLCMInit(); // LCM 初始化
extern void at(unsigned char x,unsigned char y);/*設(shè)定文本x,y*/
extern void cls();  // 清屏
extern void charout(unsigned char *str); //ASCII(8*8) 顯示函數(shù)
extern void fnSetPos(unsigned char urow, unsigned char  ucol);  //設(shè)置當(dāng)前地址
extern uchar dprintf(uchar x,uchar y,char *fmt);// ASCII(8*16) 漢字(16*16) 顯示函數(shù)
extern uchar fnPR12(uchar uCmd); // 寫無參數(shù)的指令
extern uchar fnPR13(uchar uData); // 寫數(shù)據(jù)
extern unsigned int Adc0832(unsigned char channel);
extern void Line( unsigned char x1, unsigned char y1, unsigned char x2,unsigned char y2, bit Mode);
extern void Pixel(unsigned char PointX,unsigned char PointY, bit Mode);
uchar dsp[10]={0,0,0,0,0,0,0,0,0,0,};
//char abc[3]={0,0,0,};
uchar key=0;                //鍵值
uint a=100;                  //周期轉(zhuǎn)速
uchar n=5;                   //調(diào)速間隔
uchar count=1;           //計(jì)數(shù)
uint k1=0;
uchar GeyKey();
void delay(uchar i);
void control();
main()
{  
     
      fnLCMInit();
       fnSetPos(0,0);
       dprintf(0,0,"直流電機(jī)加-減速及測速系統(tǒng)");
       dprintf(0,12,"鍵盤+:步長加速");
       dprintf(0,24,"鍵盤-:步長減速");
       dprintf(0,36,"鍵盤=:順時針轉(zhuǎn)");
       dprintf(0,48,"鍵盤on/c:逆時針轉(zhuǎn)");
     
     dprintf(0,72,"方向:");
      dprintf(0,84,"轉(zhuǎn)速:");  
   
        P1_1=0;                           //停止
     TMOD=0x15;
        TH1=0x3c;
        TL1=0xb0;                        //50ms
     TH0=0x00;                             
        TL0=0x00;
        ET0=1;
        ET1=1;
        TR0=1;
        TR1=1;
   
    while(1)
       {  key=GeyKey();
              control();
      switch(key)
       {   case '1': {          a=10;
                                  //sprintf(abc,"%3.2f",a/255.0);
                                      dprintf(0,96,"  5   r/min");   
                                //dprintf(0,96,abc);  
                               dprintf(60,96,"r/min");
                                   break;      }
              case '2': {          a=25;dprintf(0,96,"  25   r/min");    break;      }
                 case '3': {          a=40; dprintf(0,96," 40    r/min");   break;     }
                 case '4': {          a=55; dprintf(0,96," 60    r/min");   break;     }
                 case '5': {          a=70; dprintf(0,96," 80    r/min");   break;     }
                 case '6': {          a=90; dprintf(0,96,"100    r/min");   break;     }
                 case '7': {          a=110; dprintf(0,96,"120    r/min");   break;     }
                 case '8': {          a=130; dprintf(0,96,"135    r/min");   break;     }
                 case '9': {          a=150; dprintf(0,96,"150    r/min");   break;     }
              case '+': {          dprintf(0,72,"方向: 順時針");
                             //      control();
                                                        break;
                                          }
           case '-': {         P1_0=0;
                                      dprintf(0,72,"方向: 逆時針");
                                 //      control();
                                      break;
                                   }
           case '=':{P1_0=1;dprintf(0,72,"方向: 順時針");break;}
           case 'c':{P1_0=0;dprintf(0,72,"方向: 逆時針");break;}
           case '0':{dprintf(0,72,"方向: 順時針");
                             //     control();
                                            }
                 default: break;
        }
    }
}
uchar GeyKey()
{
      P1_4=0;
      P1_5=1;
      P1_6=1;
      P1_7=1;
       P3_0=1;
       P3_1=1;
       P3_2=1;
    P3_3=1;
       _nop_();_nop_();
       if(!P3_0)return'7';
      if(!P3_1)return'8';
      if(!P3_2)return'9';
    if(!P3_3)return '/';
      P1_4=1;
      P1_5=0;
      P1_6=1;
      P1_7=1;
       _nop_();_nop_();
       if(!P3_0)return'4';
      if(!P3_1)return'5';
      if(!P3_2)return'6';
    if(!P3_3)return '*';
      P1_4=1;
      P1_5=1;
      P1_6=0;
      P1_7=1;
       _nop_();_nop_();
       if(!P3_0)return '1';
      if(!P3_1)return'2';
      if(!P3_2)return'3';
    if(!P3_3)return '-';
      P1_4=1;
      P1_5=1;
      P1_6=1;
      P1_7=0;
       _nop_();_nop_();
       if(!P3_0)return'c';
      if(!P3_1)return'0';
      if(!P3_2)return'=';
    if(!P3_3)return '+';
       return 0;
}
void delay(uchar i)
{  uchar j,k;
    for(;i>0;i--)
    for(j=15;j>0;j--)
    for(k=11;k>0;k--);
}
      
      
      
void time()interrupt 3
{   
     TR1=0;
     count++;
     k1+=TL0;
        if(count==51)
        {     
             sprintf(dsp,"%3d",k1);
                dprintf(0,108,dsp);   
         dprintf(60,108,"r/min");   
                count=1;
          k1=0;
      }
         TH1=0x3c;
         TL1=0xb0;
         TH0=0x00;
         TL0=0x00;
         TR1=1;
}
void control()
{                           
       EA=1;
          while(1)
          {   if(a>=150)
               a=150;
                     if(a<=10)
                         a=10;
                      P1_1=0;
                      delay(160-a);
                      P1_1=1;                           //啟動
                      delay(a);
                      key=GeyKey();
                      if(key=='-') a-=n;
                      else
                        if(key=='+') a+=n;
                      else
                        if(key=='=')
                        { P1_0=1;
                               dprintf(0,72,"方向: 順時針");
                      }
                      else
                      if(key=='c')
                      { P1_0=0;
                        dprintf(0,72,"方向: 逆時針");
                      }
                      else  
                       if(key=='*')            //停止
                       {  P1_1=0;
                           break;
                       }
                       else
                      if(key!=0)
                        break;
                      }
               EA=0;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美xxxx色视频在线观看免费 | 亚洲精品久久久久久久久久久久久 | 色又黄又爽网站www久久 | 日韩精品一区二区三区免费视频 | 亚洲视频 欧美视频 | 日韩精品一区二区三区四区视频 | 国产精品久久久久久久午夜片 | 亚洲精品视频在线 | 色爱综合网 | www国产成人免费观看视频,深夜成人网 | 久久久久久国模大尺度人体 | 看黄在线| 欧美一区二区三区在线 | 欧洲妇女成人淫片aaa视频 | 午夜爱爱毛片xxxx视频免费看 | 成人欧美一区二区三区在线观看 | 欧美亚洲国产精品 | 日韩精品在线一区 | 日韩国产一区二区 | 69热视频在线观看 | 伊人精品在线视频 | 成人黄色在线 | 国产精品有限公司 | 亚洲成人av | 一区在线视频 | 伊人99| 99精品视频免费观看 | 96av麻豆蜜桃一区二区 | 毛片区 | 在线观看精品视频网站 | 国产精品精品视频一区二区三区 | 欧美中文字幕在线观看 | 理论片免费在线观看 | 日日日操 | 久久久久国产一区二区三区 | 波多野结衣精品 | 大象一区 | 成人性视频免费网站 | 国产综合精品一区二区三区 | 国产在线视频一区 | 青春草在线 |