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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機c語言 這個中斷里的循環老是進不去

[復制鏈接]
跳轉到指定樓層
樓主
ID:1094287 發表于 2023-10-6 12:41 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
大佬們,這個中斷里的循環老是進不去是怎么回事啊
include <REGX52.H>
unsigned  char key=0;
unsigned int led[8]={
        0x9F,0x07,0x01,0x80,0x80,0x01,0x07,0x9F};
        
        sbit ADDR0=P1^0;
        sbit ADDR1=P1^1;
        sbit ADDR2=P1^2;
        sbit ADDR3=P1^3;
        sbit ADDR4=P1^4;
        sbit ADDR5=P1^5;
        sbit ADDR6=P1^6;
        sbit ADDR7=P1^7;
        
void main()
{
        ADDR3=1;
        ADDR4=0;
        TMOD=0x01;
        TH0=0xfc;
        TL0=0x66;
        EA=1;
        ET0=1;
        TR0=1;
        while(1)
        {
        }
}
void interruptTimer0() interrupt 1
{
         
        TH0=0xdb;
        P2=0xff;
        TL0=0Xff;
        switch(key)
        {
                case0:ADDR0=0;ADDR1=0;ADDR2=0;key++;P2=led[0];break;
                case1:ADDR0=1;ADDR1=0;ADDR2=0;key++;P2=led[1];break;
                case2:ADDR0=0;ADDR1=1;ADDR2=0;key++;P2=led[2];break;
                case3:ADDR0=0;ADDR1=0;ADDR2=0;key++;P2=led[3];break;
                case4:ADDR0=1;ADDR1=1;ADDR2=0;key++;P2=led[4];break;
                case5:ADDR0=1;ADDR1=0;ADDR2=1;key++;P2=led[5];break;
                case6:ADDR0=0;ADDR1=1;ADDR2=1;key++;P2=led[6];break;
                case7:ADDR0=1;ADDR1=1;ADDR2=1;key++;P2=led[7];break;
                default: break;
        }
}
               
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:883242 發表于 2023-10-6 14:32 | 只看該作者
1)中斷里面沒有循環,2)key的值沒有改變。
回復

使用道具 舉報

板凳
ID:1094287 發表于 2023-10-6 15:53 來自觸屏版 | 只看該作者
對對對,這個說錯了是選擇進不去
回復

使用道具 舉報

地板
ID:213173 發表于 2023-10-6 16:34 | 只看該作者
完成一輪掃描key沒有清0。



  1. #include <REG51.H>
  2. unsigned  char key=0;
  3. unsigned char led[8]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07};
  4.         
  5. sbit ADDR0=P1^0;
  6. sbit ADDR1=P1^1;
  7. sbit ADDR2=P1^2;
  8. sbit ADDR3=P1^3;
  9. sbit ADDR4=P1^4;
  10. sbit ADDR5=P1^5;
  11. sbit ADDR6=P1^6;
  12. sbit ADDR7=P1^7;

  13. void main()
  14. {
  15.         ADDR3=1;
  16.         ADDR4=0;
  17.         TMOD=0x01;
  18.         TH0=0xfc;
  19.         TL0=0x66;
  20.         EA=1;
  21.         ET0=1;
  22.         TR0=1;
  23.         while(1)
  24.         {
  25.         }
  26. }
  27. void interruptTimer0() interrupt 1
  28. {
  29.         TH0=0xfc;
  30.         TL0=0x66;
  31.         P2=0x00;
  32.         switch(key)
  33.         {
  34.                 case 0:ADDR0=0;ADDR1=0;ADDR2=0;key++;P2=led[0];break;
  35.                 case 1:ADDR0=1;ADDR1=0;ADDR2=0;key++;P2=led[1];break;
  36.                 case 2:ADDR0=0;ADDR1=1;ADDR2=0;key++;P2=led[2];break;
  37.                 case 3:ADDR0=1;ADDR1=1;ADDR2=0;key++;P2=led[3];break;
  38.                 case 4:ADDR0=0;ADDR1=0;ADDR2=1;key++;P2=led[4];break;
  39.                 case 5:ADDR0=1;ADDR1=0;ADDR2=1;key++;P2=led[5];break;
  40.                 case 6:ADDR0=0;ADDR1=1;ADDR2=1;key++;P2=led[6];break;
  41.                 case 7:ADDR0=1;ADDR1=1;ADDR2=1;key=0;P2=led[7];break;
  42.                 default: break;
  43.         }
  44. }
復制代碼



回復

使用道具 舉報

5#
ID:108361 發表于 2023-10-26 19:02 | 只看該作者
case7里key不能++,要key=0,不然就只掃一遍然后key=8了,這輩子就不會進了,這也是stc的51不能仿真的悲哀
回復

使用道具 舉報

6#
ID:883242 發表于 2023-10-26 19:18 | 只看該作者
powerdruy 發表于 2023-10-26 19:02
case7里key不能++,要key=0,不然就只掃一遍然后key=8了,這輩子就不會進了,這也是stc的51不能仿真的悲哀

如果我寫會把key++放switch后面,8種條件都有key++寫到8種條件里面太foolish,把switch(key)改成switch(key&7)就行了。
回復

使用道具 舉報

7#
ID:1097455 發表于 2023-10-27 08:56 | 只看該作者
key值加完清0  default: key=0;break;
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线免费观看日本视频 | 免费观看一级特黄欧美大片 | 中文字幕第一页在线 | 日日综合 | 国产精品特级片 | 久久国产亚洲 | 成人在线免费电影 | 国产高清精品在线 | 精品久久影院 | 国产精品精品视频一区二区三区 | 国产精品黄色 | 久久久久91 | 日韩亚洲欧美一区 | 日韩一区在线播放 | 亚洲国产一 | 欧美精品二区 | 日韩av成人在线观看 | 亚洲高清在线观看 | 亚州无限乱码 | 亚洲免费观看视频 | 久久久一区二区三区 | 欧美激情一区二区 | 国产精品久久久久久久久久久久久久 | 国产精品久久久久久久久久久久 | 午夜精品网站 | 欧美人成在线视频 | 亚洲美女网站 | 中文字幕第二区 | 国产激情视频网站 | 日本免费一区二区三区四区 | 91久久精品一区 | 久久久久久久久久久久久9999 | 久久另类视频 | 又黄又爽的网站 | 久久精品69 | 中文字幕视频三区 | 国产激情视频在线 | 欧美精品在线观看 | 91福利影院 | 欧美激情va永久在线播放 | 99热精品久久|