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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2324|回復(fù): 6
收起左側(cè)

大佬們請(qǐng)幫我看看這個(gè)單片機(jī)按鍵控制燈程序咋回事啊?

[復(fù)制鏈接]
ID:498772 發(fā)表于 2020-4-12 17:51 | 顯示全部樓層 |閱讀模式
我按下p3.2之后全亮但是我按下p3.3沒(méi)有用了,還有就是怎么實(shí)現(xiàn)按兩下p3.2關(guān)閉這些燈啊跪求!

單片機(jī)源程序如下:
  1. #include<reg52.h>

  2. unsigned char flag,led,k,i;
  3. sbit key1=P3^2;
  4. sbit key2=P3^3;
  5. void delay(unsigned char n)
  6. {
  7.    unsigned char a;
  8.    for(a=0;a<n;a++);

  9. }
  10. void init(void)
  11. {
  12.   IT1=1;
  13.   IT0=1;
  14.   EA=1;
  15.   EX1=1;
  16.   EX0=1;
  17.   led=0xff;
  18. }
  19. int main(void)
  20. {
  21. unsigned char code table[]={0x33,0xcc,0x33,0xcc};
  22. init();

  23. while(1)
  24. {
  25. if(flag==1)
  26. { delay(1000);
  27. if(!key1)
  28. {
  29.    while(!key1)
  30.    P1=0x00;
  31.    }
  32.    flag=0;
  33.    EX0=1;
  34.   }
  35. if(flag==2)
  36. {
  37.         delay(1000);
  38.         if(!key2)
  39.         {
  40.         while(!key2);
  41. while(1)
  42.   {
  43.    for(i=0;i<4;i++)
  44.    {
  45.      P1=table[i];
  46.          delay(100000);
  47.   }
  48.   }
  49.   }
  50.   flag=0;
  51.   EX1=1;
  52. }        
  53. }
  54. }



  55. void exzd0(void) interrupt 0
  56. {
  57. flag=1;
  58. EX0=0;
  59. }
  60. void exzd1(void) interrupt 2
  61. {
  62.    flag=2;
  63.    EX1=0;

  64. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

ID:367369 發(fā)表于 2020-4-13 12:33 | 顯示全部樓層
按一下亮按一下滅
#include<reg52.h>
sbit  key1=P3^2;

unsigned char flag=0;
void delay(unsigned char n)
{
   unsigned char a;
   for(a=0;a<n;a++);

}

void main ()
{
        while (1)
        {
        if(key1==0)
                delay(10000);
        if(key1==0)
                flag=~flag;
        if (flag==0)
                P0=0x00;
        else
                P0=0xff;
       
        }
       
       
}
回復(fù)

使用道具 舉報(bào)

ID:498772 發(fā)表于 2020-4-13 19:09 | 顯示全部樓層
game灬boy 發(fā)表于 2020-4-13 12:33
按一下亮按一下滅
#include
sbit  key1=P3^2;

我不是這個(gè)意思大佬,我是說(shuō)兩個(gè)中斷不能切換只能獨(dú)立按才能有用是為什么呢
回復(fù)

使用道具 舉報(bào)

ID:704640 發(fā)表于 2020-4-14 10:04 來(lái)自手機(jī) | 顯示全部樓層
你做個(gè)反轉(zhuǎn)看看
回復(fù)

使用道具 舉報(bào)

ID:367369 發(fā)表于 2020-4-16 11:48 | 顯示全部樓層
2929198192 發(fā)表于 2020-4-13 19:09
我不是這個(gè)意思大佬,我是說(shuō)兩個(gè)中斷不能切換只能獨(dú)立按才能有用是為什么呢

這兩個(gè)是外部中斷,需要硬件上的電平變化才能觸發(fā)中斷
如果你想在中斷0中觸發(fā)中斷1,完全用不到中斷1,直接在代碼中寫(xiě)就行了
中斷就是停下來(lái)去做另一件事,
外部中斷就像是有人叫你干其他的事,而你所謂的切換就像你自己想做其他的事,當(dāng)你想做的時(shí)候直接去就行了,不需要?jiǎng)e人叫你,這里的別人叫你就相當(dāng)于外部中斷。/****你細(xì)品*****/
回復(fù)

使用道具 舉報(bào)

ID:367369 發(fā)表于 2020-4-16 11:55 | 顯示全部樓層
2929198192 發(fā)表于 2020-4-13 19:09
我不是這個(gè)意思大佬,我是說(shuō)兩個(gè)中斷不能切換只能獨(dú)立按才能有用是為什么呢

每個(gè)中斷的服務(wù)函數(shù)只有一個(gè),中斷內(nèi)只能執(zhí)行一個(gè)程序;
還有你說(shuō)的“按下p3.2之后全亮但是我按下p3.3沒(méi)有用了”這是中斷優(yōu)先級(jí)的問(wèn)題,優(yōu)先級(jí)高的可以打斷低的,低的不可以打斷高得
你說(shuō)的按兩下關(guān)閉是指什么?按一下開(kāi)再按一下關(guān)還是指快速按兩下關(guān)?
回復(fù)

使用道具 舉報(bào)

ID:498772 發(fā)表于 2020-4-20 14:23 | 顯示全部樓層
game灬boy 發(fā)表于 2020-4-16 11:48
這兩個(gè)是外部中斷,需要硬件上的電平變化才能觸發(fā)中斷
如果你想在中斷0中觸發(fā)中斷1,完全用不到中斷1, ...

我懂了,大佬,我的意思是按一下開(kāi),再按一下就是關(guān)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产又色又爽又黄又免费 | 一区二区三区视频在线观看 | 国产成人亚洲精品 | 久久精品亚洲欧美日韩久久 | 国产精品99久久久久久宅男 | www.国产| 欧美久久久久 | 黄色网址在线免费观看 | 欧美黄页| 日韩高清一区 | 久久国产精品视频 | 91一区二区三区在线观看 | 日韩欧美三级电影在线观看 | 久久亚| 日韩久久久一区二区 | 婷婷色在线 | 国产精品不卡一区 | 精品九九 | 日韩精品一区二区三区在线观看 | 久久久久久久久久久久久久国产 | 欧美色综合一区二区三区 | 久艹av | 日韩在线一区二区 | 一级欧美黄色片 | 欧美视频三区 | 成人精品鲁一区一区二区 | 久久久精品天堂 | 亚洲综合色自拍一区 | 久久精品国产亚洲一区二区三区 | 日韩一区精品 | 91免费视频 | 日韩欧美视频在线 | 欧美激情国产日韩精品一区18 | 成人免费看电影 | 日韩精品在线观看一区二区 | 中文字幕亚洲一区二区三区 | 亚洲一区二区免费看 | 欧美成人一区二区三区 | 欧美日韩福利视频 | 亚洲国产精品99久久久久久久久 | 中文日本在线 |