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

標題: 單片機按鍵控制數碼管代碼,能給解釋一下嗎? [打印本頁]

作者: 未來靠自己    時間: 2018-6-3 11:08
標題: 單片機按鍵控制數碼管代碼,能給解釋一下嗎?
  1. #define uchar unsigned char
  2. #include<reg51.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. void delay (uint x);
  6. sbit A=P1^0;
  7. sbit B1=P1^1;
  8. sbit B2=P1^2;
  9. sbit B3=P1^3;
  10. sbit dula=P2^1;
  11. sbit wela=P2^2;
  12. uchar c,i;
  13. unsigned char code NumDecode[] ={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,};
  14. void main()
  15. {
  16.         TMOD=0x11;
  17.         TH0=(65536-45872)/256;
  18.         TH0=(65536-45872)%256;
  19.         EA=1;
  20.         ET0=1;
  21.         TF0=1;
  22.         TR0=1;
  23.         while(1)
  24.         {
  25.                 if(B1==0)
  26.                 {
  27.                         delay(10);
  28.                         if(B1==0)
  29.                         {
  30.                                 while(B1==0)
  31.                                 {
  32.                                         if(c==20)//50ms中斷20次
  33.                                         {
  34.                                         c=0;
  35.                                         i++;//倒計時總數每秒減1
  36.                                         }
  37.                                         if(i<10)
  38.                                         {
  39.                                         dula=0;//數碼管位選選通
  40.                                         P0=NumDecode[i];//顯示數據
  41.                                         }
  42.                                         else  //循環計時設置
  43.                                         {
  44.                                         i=0;
  45.                                         }
  46.                                 }
  47.                                 TR0=1;

  48.                         }
  49.                 }
  50.                 if(B2==0)
  51.                 {
  52.                         delay(10);
  53.                         if(B2==0)
  54.                         {
  55.                                 while(B2==0)
  56.                                 TR1=1;
  57.                         }
  58.                 }
  59.         }        
  60. }
  61. void t1() interrupt 1
  62. {        char
  63.         TH0=(65536-45872)/256;
  64.         TH0=(65536-45872)%256;
  65.         
  66. }
復制代碼

捕獲.PNG (123.09 KB, 下載次數: 31)

捕獲.PNG

作者: yc_study    時間: 2018-6-5 14:16
先了解數碼管的段選和片選,創建了一個數字庫的數組能顯示0-9,然后就是中斷程序和定時器了




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