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

標題: 數碼管顯示+矩陣按鍵的單片機源碼與電路圖 [打印本頁]

作者: 761483478    時間: 2018-6-9 19:27
標題: 數碼管顯示+矩陣按鍵的單片機源碼與電路圖
這是我先前編寫的數碼管顯示+矩陣按鍵程序:矩陣按鍵:按下4*4矩陣按鍵分別代表0F;獨立按鍵K3為清屏按鍵,按下后數碼內容清空。
電路原理圖如下:


單片機源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char

  4. sbit k3=P3^5;
  5. uchar k;
  6. uchar  duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
  7.                    0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e} ;

  8. void delays(s)
  9. {
  10.         int i,j;
  11.         for(i=s;i>0;i--)
  12.         for(j=120;j>0;j--);
  13. }
  14. void keypros()
  15.   {
  16.         uchar a,b;
  17.         P1=0xf0;
  18.         delays(10) ;
  19.         a=P1;
  20.         P1=0x0f;
  21.         delays(10);
  22.         b=P1;
  23.         a=a+b;

  24.         switch(a)
  25.           {
  26.                 case 0x7e:k=0;break;
  27.                 case 0xbe:k=1;break;
  28.                 case 0xde:k=2;break;
  29.                 case 0xee:k=3;break;
  30.                
  31.                 case 0x7d:k=4;break;
  32.                 case 0xbd:k=5;break;
  33.                 case 0xdd:k=6;break;
  34.                 case 0xed:k=7;break;
  35.         
  36.                 case 0x7b:k=8;break;
  37.                 case 0xbb:k=9;break;
  38.                 case 0xdb:k=10;break;
  39.                 case 0xeb:k=11;break;
  40.                         
  41.                 case 0x77:k=12;break;
  42.                 case 0xb7:k=13;break;
  43.                 case 0xd7:k=14;break;
  44.                 case 0xe7:k=15;break;                                
  45.           }
  46. }

  47. void main()
  48. {
  49.         P2=0x00;
  50.         while(1)
  51.         {
  52.                 if(k3==0)
  53.                 {
  54.                          delays(10);
  55.                         if(k3==0)
  56.                         {
  57.                                 k=0xff;
  58.                         }
  59.                 }

  60.                 keypros();
  61.                 if(k!=0xff)
  62.                 {
  63.                         P0=duan[k];
  64.                 }
  65.                  else if(k==0xff)
  66.                  {
  67.                          P0=k;
  68.                  }
  69.   }

  70. }



復制代碼

所有資料51hei提供下載:
實驗三.zip (17.46 KB, 下載次數: 17)







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