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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1515|回復: 1
打印 上一主題 下一主題
收起左側

幫我看看單片機代碼到底是哪里出錯了 求幫助

[復制鏈接]
跳轉到指定樓層
樓主
ID:798700 發表于 2020-7-6 21:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<REGX51.H>        //單片機頭文件,包含相關特殊寄存器物理映射
sbit UP=P1^0;     //按鍵加速
sbit DOWN=P1^1;     //按鍵減速
sbit RIGHT=P1^2;     
sbit LEFT=P1^3;      
sbit STOP=P1^4;      
sbit IN1=P2^5;
sbit IN2=P2^6;
sbit ENA=P2^7;                                                                                                               
unsigned char num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};   //數碼管代碼表
char PWM=5;                        //占空比
char MOTO_STATE;        //電機狀態
char counter;
void delay(unsigned int a)        //延時函數
{
         while(a--);        
}
void INIT()         //初始化定時計數器
{
     TMOD=0x01;     //設計定時器為定時模式,方式為1
          TH0=(65536-1000)>>8;           //初值計算                          
         TL0=(65536-1000);
         TR0=1;                        //啟動定時計數器0
         ET0=1;
         EA=1;                  
}
void key_scan()     //按鍵掃描
{                                                      
    if(!UP)
    {
       delay(1000);
       if(!UP)                //轉速加快
       {
             PWM++;if(PWM>9)PWM=9;   //轉速10檔
       }
       while(!UP);
        }
        if(!DOWN)                            //按下減速按鈕
    {
       delay(1000);
       if(!DOWN)               //轉速降低
       {
             PWM--;if(PWM<=0)PWM=0;  //轉速0檔
       }
       while(!DOWN);
        }
        if(!RIGHT)
    {
       delay(1000);
       if(!RIGHT)               
       {
             MOTO_STATE=1;  
       }
       while(!RIGHT);
        }
        if(!LEFT)
    {
       delay(1000);
       if(!LEFT)               
       {
             MOTO_STATE=2;  
       }
       while(!LEFT);
        if(!STOP)                            //按下停止按鈕
    {
       delay(1000);
       if(!STOP)                                //轉速停止為0
           {
             MOTO_STATE=0;                        //電機停止運轉
           }
           while(!STOP);
        }
}         
   switch(MOTO_STATE)
   {
     case0:IN1=1;IN2=1;break;
         case1:IN1=1;IN2=0;break;
         case2:IN1=0;IN2=1;break;
         default:MOTO_STATE=0;break;
   }
void main()
{
    INIT();                       //調用INIT函數
  while(1);
   {
   key_scan();
   moto_ctrl();
   P3=num[PWM];
   }
}
void Timer0() interrupt 1
  {
    TH0=(65536-1000)/256;                                            
   TL0=(65536-1000)%256;                 //初值重裝         
   counter++;
   if(counter>=5){counter=0;}
   if(counter<PWM)ENA=1;
   if(counter>=PWM)ENA=0;
  }


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

使用道具 舉報

沙發
ID:270556 發表于 2020-7-7 16:53 | 只看該作者
按鍵掃描,一般做在定時中斷里邊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产91久久久久久最新 | 久久99精品久久久久久 | 午夜精品一区二区三区在线视频 | 一区二区国产在线 | 亚洲国产一区二区三区 | 日韩精品一区二区三区在线观看 | 国产精品一区2区 | 国产精品一区二区欧美黑人喷潮水 | 亚洲一区二区三区在线免费观看 | 天天干天天操天天射 | 成人免费看片 | 一区二区国产精品 | 欧美偷偷 | 国产成人综合网 | 久久久久久精 | 中文字幕国产日韩 | 日韩欧美高清 | 国产视频久 | 国产网站在线免费观看 | 久久精品亚洲一区二区三区浴池 | 国产黄色av网站 | 日本高清视频在线播放 | 国产一在线观看 | 久久精品国产一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 欧美国产亚洲一区二区 | 久久久美女 | 欧美 日韩 国产 成人 | 亚洲精品乱码久久久久久蜜桃91 | 9久久婷婷国产综合精品性色 | 国产成人在线视频播放 | 国产不卡视频 | 亚洲在线久久 | 青青久久久 | 亚洲精品一区二区在线 | 天天干干 | 色综合视频 | 日韩一区二区在线观看 | 91丨国产| 天天干狠狠 | 中文字幕伊人 |