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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)中斷系統(tǒng)控制流水、跑馬燈

[復(fù)制鏈接]
ID:703953 發(fā)表于 2020-3-27 17:05 | 顯示全部樓層 |閱讀模式
  1. #include<AT89X52.H>
  2. void DelayMs(unsigned int n);
  3. void DelayMs(unsigned int n)
  4. {
  5.         static unsigned int i;
  6.         while(n--)
  7.         {
  8.                 for(i=0;i<89;i++);
  9.         }
  10. }
  11. unsigned char LEDState=0;
  12. int main()
  13. {
  14.         unsigned char j;
  15.         IT0=1;//下降沿觸發(fā)中斷
  16.         EX0=1;//INT中斷允許
  17.         EA=1;//總中斷允許
  18.         PX0=1;//INT0中斷優(yōu)先級為低級
  19.        
  20.         IT1=1;//下降沿觸發(fā)中斷
  21.         EX1=1;//INT中斷允許
  22.         PX1=1;//INT0中斷優(yōu)先級為低級
  23.        
  24.         while(1)
  25.         {
  26.                 /*if(P1_0==0)//按鍵按下
  27.                         {
  28.                                 DelayMs(10);
  29.                                 //等待按鍵抬起,直到按鍵抬起為止
  30.                                 while(P1_0==0);
  31.                                 //消抖
  32.                                 DelayMs(10);//按鍵抬起以后做的事
  33.                                 LEDState=(LEDState+1)%5;
  34.                         }
  35.                
  36.                 else if(P1_1==0)//按鍵按下 反向
  37.                         {
  38.                                 DelayMs(10);
  39.                                 //等待按鍵抬起,直到按鍵抬起為止
  40.                                 while(P1_1==0);
  41.                                 //消抖
  42.                                 DelayMs(10);//按鍵抬起以后做的事
  43.                                 LEDState=(LEDState+5-1)%5;       
  44.                         }
  45.                         */
  46.                
  47.                
  48.                
  49.                
  50.                   if(LEDState==0)//閃爍
  51.                 {
  52.                         P2=0X00;
  53.                         DelayMs(100);
  54.                         P2=~P2;
  55.                         DelayMs(100);
  56.                 }
  57.                 else if(LEDState==1)//上到下跑馬
  58.                 {
  59.                         for(j=0;j<8;j++)
  60.                         {
  61.                                 P2=~(1<<j);
  62.                                 DelayMs(100);
  63.                         }
  64.                 }
  65.                 else if(LEDState==2)//下到上跑馬
  66.                 {
  67.                         for(j=0;j<8;j++)
  68.                         {
  69.                                 P2=~(1<<(7-j));
  70.                                 DelayMs(100);
  71.                         }
  72.                 }
  73.                 else if(LEDState==3)//上到下流水
  74.                 {
  75.                         P2=0XFF;
  76.                         for(j=0;j<8;j++)
  77.                         {
  78.                                 P2=P2&(~(1<<j));
  79.                                 DelayMs(100);
  80.                         }
  81.                         for(j=0;j<8;j++)
  82.                         {
  83.                                 P2=P2|(1<<j);
  84.                                 DelayMs(100);
  85.                         }       
  86.                 }
  87.                 else if(LEDState==4)//下到上流水
  88.                 {
  89.                         P2=0XFF;
  90.                         for(j=0;j<8;j++)
  91.                         {
  92.                                 P2=P2&(~(1<<(7-j)));
  93.                                 DelayMs(100);
  94.                         }
  95.                         for(j=0;j<8;j++)
  96.                         {
  97.                                         P2=P2|(1<<(7-j));
  98.                                         DelayMs(100);
  99.                         }
  100.                 }
  101.         }
  102. }
  103.                

  104.                 void INT_0(void) interrupt 0
  105.                 {
  106.                         LEDState=(LEDState+1)%5;
  107.                 }
  108.                
  109.                
  110.                 void INT_1(void) interrupt 2
  111.                 {
  112.                         LEDState=(LEDState+5-1)%5;       
  113.                 }
復(fù)制代碼


中斷控制流水跑馬燈.zip

80.17 KB, 下載次數(shù): 11, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产一区二区在线 | caoporn国产| 91精品久久久久久久久久 | 超碰婷婷| 黄色片大全在线观看 | 男女羞羞视频免费 | 午夜电影福利 | 精品久久久久久久人人人人传媒 | 天天拍天天射 | 日韩欧美国产不卡 | 国产成人99 | 精品一区二区视频 | 国产免费视频 | 99热这里有精品 | 欧美a在线| 欧美高清视频一区 | 中文字幕在线观看第一页 | 久热精品在线观看视频 | 爱操影视 | 国产精品久久久久久妇女6080 | 在线观看黄色 | 国产精品久久久久无码av | 欧美一区不卡 | 很很干很很日 | 日韩av在线一区 | 伊人久久免费视频 | 久久精品色欧美aⅴ一区二区 | 亚洲福利 | 亚洲视频在线一区 | 国产精品jizz在线观看老狼 | 日本一区精品 | 日本一二三区在线观看 | 久久精品亚洲一区二区三区浴池 | 99视频免费在线观看 | 久久久久综合 | 久久伊人精品一区二区三区 | 女生羞羞视频 | 欧美综合一区 | 福利视频一区二区 | 久久久久资源 | 视频一区二区三区在线观看 |