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

標題: 51單片機 有中斷函數0-9999的計數(原理圖+源程序) [打印本頁]

作者: 小太太    時間: 2018-10-17 11:48
標題: 51單片機 有中斷函數0-9999的計數(原理圖+源程序)
51單片機的,有中斷函數,沒0.5s計數一次
然后用LED數碼管顯示的,做的很爛,分享一下原理圖
單片機

LED數碼管

LED



單片機源程序如下:
  1. #include"STC12C5a60s2.H"

  2. //------------------------

  3. //LED接口
  4. sbit  D2 = P3^0;
  5. sbit  D3 = P3^1;
  6. sbit  D4 = P3^2;
  7. sbit  D5 = P3^3;
  8. //數碼管接口
  9. sbit  COM1 = P1^3;
  10. sbit  COM2 = P1^4;
  11. sbit  COM3 = P1^5;
  12. sbit  COM4 = P1^6;

  13.   //變量定義
  14. unsigned char segTab [] = {0XA0,0XBB,0X62,0X2A,0X39,0X2C,0X24,0XBA,0X20,0X28};
  15. unsigned char segTab2 [] = {0X80,0X9B,0X42,0X0A,0X19,0X0C,0X04,0X9A,0X00,0X08};

  16. unsigned int to1s=0;
  17. unsigned int to2ms = 0;
  18. unsigned int number = 0;
  19. unsigned int segDisplayBit = 0;
  20. unsigned int i = 0;

  21. //==================================

  22. //主函數
  23. void main()
  24. { P1M1 &=~0X78;
  25.   P1M0 |= 0X78;


  26.      //定時器初始化        T0約為100uS
  27.     TMOD = 0x02;   //定時器T0,方式2(8位計數,自動重載)
  28.     TH0 = 163;     //11.0592M晶振,約100uS
  29.     TL0 = TH0;     //自動重載計數值,計數值存于TH0中,而用TL0計數
  30.     TR0 = 1;       //開定時器T0
  31.     ET0 = 1;       //開定時器中斷
  32.         EA  = 1;       //開總中斷
  33.                
  34.                     
  35.            
  36. while(1)                //無限循環體                                 
  37. {         
  38.    
  39.    }
  40. }
  41. //==================
  42. //定時器中斷函數         
  43. void Timer0_ISR(void) interrupt 1 using 1         
  44. {        to2ms++;
  45.         if(to2ms == 20)
  46.         {  to2ms = 0;
  47.         

  48.             segDisplayBit++;
  49.                 if(segDisplayBit>4) segDisplayBit = 1;
  50.                
  51.                 if(segDisplayBit==1)                 //千位
  52.                 { COM1=0; COM2=0; COM3=0; COM4=0;
  53.                   P0 = segTab[number/1000];
  54.                   if(number/1000!=0)COM1=1;}
  55.                
  56.                 if(segDisplayBit==2)          //百位
  57.                 { COM1=0; COM2=0; COM3=0; COM4=0;
  58.                   P0 = segTab[number%1000/100]&0xDF;
  59.                    COM2=1;}
  60.                
  61.                 if(segDisplayBit==3)        //十位
  62.                 { COM1=0; COM2=0; COM3=0; COM4=0;
  63.                   P0 = segTab[number%100/10];
  64.                  COM3=1;}
  65.                
  66.                         if(segDisplayBit==4) //個位
  67.                 { COM1=0; COM2=0; COM3=0; COM4=0;
  68.                   P0 = segTab[number%10];
  69.                   COM4=1;}

  70.            to1s++;
  71.                 if(to1s == 50)
  72.                 {         to1s=0;
  73.                   number++;
  74.                   if(number==9999)number=0;

  75.                                            }
  76.           }                                                
  77.                   i++;
  78.                  if(i==1000)
  79.                 {
  80.                  D5=0;D4=1;D3=1;D2=1; }

  81.                  if(i==2000)
  82.                  { D5=1;D4=0;D3=1;D2=1;}
  83.          
  84.                  if(i==3000)
  85.                  {D5=1;D4=1;D3=0;D2=1;}

  86.                  if(i==4000)
  87.                  { i=0; D5=1;D4=1;D3=1;D2=0;}
  88.    }
復制代碼

所有資料51hei提供下載:
定時中斷0-9999程序.zip (26.93 KB, 下載次數: 18)




作者: admin    時間: 2018-10-17 14:41
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 99精品视频在线观看免费播放 | 最近日韩中文字幕 | 亚洲精品在线免费 | 色天堂影院 | 久久久久久久久淑女av国产精品 | 成人综合视频在线 | 欧美一级久久 | 亚洲永久| 国产精品特级毛片一区二区三区 | 一区在线免费视频 | 国内精品久久久久久 | 欧美aaa一级片 | 国产精品色一区二区三区 | 欧美日韩国产一区二区三区 | 国产精品福利久久久 | 日日夜夜操天天干 | 一本岛道一二三不卡区 | 久免费视频| 久久性色| 国产一级在线 | 中文字幕 在线观看 | 中文字幕亚洲一区二区三区 | 成人av播放 | 日韩中文字幕在线免费 | 色婷婷av一区二区三区软件 | 亚洲成人精品 | 久久99精品久久久 | 91天堂网 | 午夜爱爱网 | 视频在线一区二区 | h视频在线免费观看 | 久久精品久久久久久 | 成人免费精品 | 成人精品一区二区户外勾搭野战 | 精品国产伦一区二区三区观看方式 | 国产黄色精品在线观看 | 日本国产欧美 | 国产精品久久久久久中文字 | 伊人精品在线 | 精品久久久久久久久久久 | 日韩精品1区2区3区 成人黄页在线观看 |