找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

為什么按鍵沒反應(yīng),跳不出去 附單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:991275 發(fā)表于 2021-12-12 15:45 | 只看該作者 回帖獎勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. sbit K1 = P3^4;
  6. sbit K2 = P3^5;
  7. sbit K3 = P3^6;
  8. sbit K4 = P3^7;
  9. uchar count0=0;
  10. uchar count1=0;
  11. uchar count3=0;
  12. uchar i=0;
  13. uchar m;
  14. uchar code LED0[]={0XAA,0XFF};
  15. uchar code LED1[]={0X55,0XFF};
  16. void Init_Timer0 (void)
  17. {
  18.         TH0=0x3c;                                
  19.         TL0=0xb0;                                
  20.         ET0=1;                                       
  21.         TR0=1;
  22.         P1=LED0[0];
  23.   while(1)
  24.         {        
  25.          if(TF0==1)
  26.          {
  27.           TF0=0;
  28.                 TH0=0x3c;                                
  29.           TL0=0xb0;        
  30.     count0++;         
  31.          }
  32.          if(count0==20)
  33.          {
  34.                 count0=0;
  35.           i++;
  36.                 i=i%2;
  37.                 P1=LED0[i];      
  38.          }
  39.    if(K2==0||K3==0||K4==0) break;
  40.         }
  41. }
  42. void Init_Timer1 (void)
  43. {
  44.         
  45.         TH1=0x3c;                                
  46.         TL1=0xb0;                        
  47.         ET1=1;                                       
  48.         TR1=1;         
  49.         P1=LED1[0];  
  50.   while(1)
  51.         {        
  52.          if(TF1==1)
  53.         {
  54.           TF1=0;
  55.                 TH1=0x3c;                                
  56.           TL1=0xb0;        
  57.     count1++;         
  58.          }
  59.          if(count1==20)
  60.          {
  61.                 count1=0;
  62.                  i++;
  63.                  i=i%2;
  64.                 P1=LED1[i];      
  65.          }
  66.         
  67.   }         
  68. }
  69. void Init_Timer3 (void)
  70. {
  71.         TH0=0x3c;                                
  72.         TL0=0xb0;                                
  73.         ET0=1;                                       
  74.         TR0=1;
  75.         P1=0x00;
  76.   while(1)
  77.         {        
  78.          if(TF0==1)
  79.         {
  80.           TF0=0;
  81.                 TH0=0x3c;                                
  82.           TL0=0xb0;        
  83.     count3++;         
  84.          }
  85.          if(count3==20)
  86.                    {
  87.                                 count3=0;
  88.                                 P1=~P1;      
  89.                          }
  90.                
  91.                  }
  92.          
  93. }
  94. void main(void)
  95. {
  96.         EA=1;
  97.         TMOD=0x11;
  98.   if(K1==0)
  99.          {
  100.            m=1;
  101.          }      
  102.         if(K2==0)
  103.          {
  104.            m=2;
  105.          }  
  106.   if(K3==0)        
  107.    {
  108.                  m=3;
  109.          }        
  110.          if(K4==0)        
  111.    {
  112.                  m=4;
  113.          }
  114. switch(m)
  115.         {
  116.                 case 1:Init_Timer0();break;
  117.                 case 2:Init_Timer1();break;
  118.                 case 3:Init_Timer3();break;
  119.                 case 4:P1=0xff;break;
  120.         }         
  121. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:624769 發(fā)表于 2021-12-12 17:33 | 只看該作者
你不覺得,你的代碼來講, 你還沒按   按鍵   , 程序就已經(jīng)結(jié)束了么?

當(dāng)然, 就算改了那里, 也是一次性的按鍵, 進(jìn)入到按鍵的模塊后,也就出不來了.

建議,先學(xué)編成邏輯, 再開始寫代碼.
回復(fù)

使用道具 舉報(bào)

板凳
ID:991275 發(fā)表于 2021-12-12 17:38 | 只看該作者
188610329 發(fā)表于 2021-12-12 17:33
你不覺得,你的代碼來講, 你還沒按   按鍵   , 程序就已經(jīng)結(jié)束了么?

當(dāng)然, 就算改了那里, 也是一次性的按 ...

問題已解決了,要把if(K2==0||K3==0||K4==0) break;這一段提到循環(huán)的第一行
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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