標(biāo)題: 單片機(jī)外部中斷控制八盞LED燈循環(huán)點(diǎn)亮 第一次發(fā)帖,求大神幫忙! [打印本頁]

作者: msconfig    時(shí)間: 2018-12-18 20:50
標(biāo)題: 單片機(jī)外部中斷控制八盞LED燈循環(huán)點(diǎn)亮 第一次發(fā)帖,求大神幫忙!
[qq]496290647[/qq]用外部中斷控制八盞LED燈循環(huán)點(diǎn)亮 ,就是說每按下一次外部中斷按鍵,點(diǎn)亮一盞LED燈 ,依次循環(huán)。外部中斷這個(gè)一直沒學(xué)會(huì),希望大神盡可能弄簡(jiǎn)單一點(diǎn) 。謝謝/!

作者: lon7085    時(shí)間: 2018-12-29 08:56
請(qǐng)問你后來有搞定了嗎?
作者: 千與千尋9527    時(shí)間: 2018-12-29 10:07
中斷內(nèi)的函數(shù)是P0口左移右移函數(shù)即可
作者: 531041876    時(shí)間: 2018-12-29 10:40
按照給定的例子,學(xué)習(xí)下,發(fā)現(xiàn)不難
作者: angmall    時(shí)間: 2018-12-29 11:30
  1. /*********************************************************************************
  2. * 【外部晶振】: 11.0592mhz       
  3. * 【主控芯片】: STC89C52RC
  4. * 【編譯環(huán)境】: Keil μVisio4       
  5. * 【程序功能】: 外部中斷控制LED燈                                                                                           
  6. * 【使用說明】: 外部中斷0電平觸發(fā)——用獨(dú)立按鍵引發(fā)中斷
  7.                                  通過中斷接口P3.2連接的獨(dú)立按鍵S4測(cè)試,按一次LED燈流水燈,這里使用電平觸發(fā),
  8.                  按鍵不松手和按鍵松手效果不相同,按下會(huì)看到燈流水燈,說明中斷一直在作用。
  9.                                  P3.2是可以復(fù)用IO口,一是普通IO口,二是外部中斷0外部接口.即本節(jié)所講。               
  10.                  通過本程序就可以輕松的寫其他中斷方式的程序了
  11. **********************************************************************************/

  12. #include<reg52.h> //包含特殊功能寄存器的定義
  13. #define LED P1          //宏定義LED代表P1
  14. /********************************************************
  15.                     主程序
  16. *********************************************************/
  17. main()
  18. {
  19.         LED=0xff;       //P1口初始值,關(guān)閉led燈
  20.         EA=1;          //全局中斷開
  21.         EX0=1;         //外部中斷0開
  22.         IT0=0;         //電平觸發(fā)
  23.         while(1)
  24.         {
  25.                 //在此添加其他程序,中斷程序可以跟此處的程序同步執(zhí)行
  26.         }
  27. }
  28. /****************************************************
  29.                  外部中斷程序
  30. *****************************************************/
  31. void Key_INT(void) interrupt 0 using 1
  32. {
  33.         static unsigned char  dat1=0xfe;
  34.        
  35.         LED=dat1;          //初始化賦值
  36.         dat1=dat1<<1; //右移一位
  37.         if(dat1==0xff)
  38.                 dat1=0xfe;
  39. }
復(fù)制代碼

作者: 周超然    時(shí)間: 2018-12-29 12:15
你單片機(jī)玩的好不好,就是中斷。后面操作系統(tǒng)也是依靠中斷。
要吃透的啊
程序是慢慢每天積累的。
作者: 1121934266    時(shí)間: 2018-12-29 12:39
現(xiàn)在搞定了嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1