欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機實現仿真從左到右再從右到左的流水燈源程序 [打印本頁]

作者: 八月初    時間: 2019-11-8 15:03
標題: 51單片機實現仿真從左到右再從右到左的流水燈源程序
這是自己做的文檔中一個題目,運用自己學習的定時器加中斷你來寫一個流水燈,主要是用來檢測自己對定時器的掌握。亮燈的代碼沒有封裝函數,如有需要可以自己封裝

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg51.h>

  2. /*
  3. sbit LED  = P1^0;
  4. sbit LED1 = P1^1;
  5. sbit LED2 = P1^2;
  6. sbit LED3 = P1^3;
  7. sbit LED4 = P1^4;
  8. sbit LED5 = P1^5;
  9. sbit LED6 = P1^6;
  10. sbit LED7 = P1^7;
  11. */



  12. unsigned char cnt = 0;

  13. void main(void)                          
  14. {
  15.         unsigned char i = 0;
  16.         unsigned char num = 1;
  17.        
  18.         EA = 1;
  19.         TMOD = 0x01;
  20.         TH0 = 0xFC;//1ms定時器 0xFC67
  21.         TL0 = 0x67;
  22.         TR0 = 1;
  23.         ET0 = 1;

  24.         while(1)
  25.         {       
  26.                 switch(num)
  27.                 {
  28.                         case 1:
  29.                                 if(cnt >= 100)
  30.                                 {
  31.                                         cnt  = 0;
  32.                                         P1 = ~(0x01 << i);
  33.                                         i++;
  34.                                         if(i >= 8)
  35.                                         {       
  36.                                                 i = 0;
  37.                                                 num = 0;
  38.                                         }
  39.                                 }       
  40.                                 break;
  41.                        
  42.                         case 0:
  43.                                 if(cnt >= 100)
  44.                                 {
  45.                                         cnt  = 0;
  46.                                         P1 = ~(0x80 >> i);
  47.                                         i++;
  48.                                         if(i >= 8)
  49.                                         {       
  50.                                                 i = 0;
  51.                                                 num = 1;
  52.                                         }
  53.                                 }
  54.                                 break;
  55.                        
  56.                         default:
  57.                                 break;
  58.                 }
  59.         }
  60.        
  61.         //return 0;
  62. }

  63. void InterruptTimer0() interrupt 1
  64. {
  65.                 ET0 = 0;
  66.                 TH0 = 0xFC;//1S定時器 0xFC67
  67.                 TL0 = 0x67;

  68.                 cnt++;
  69.                 ET0 = 1;
  70. }
復制代碼

所有資料51hei提供下載:
LED-CESHI.rar (80.16 KB, 下載次數: 11)


作者: lhxtzlhxtz    時間: 2019-11-11 14:30
我需要這個程序。




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