標(biāo)題: 單片機(jī)按鍵Proteus仿真設(shè)計 [打印本頁]

作者: 斌哥哥    時間: 2020-12-8 17:24
標(biāo)題: 單片機(jī)按鍵Proteus仿真設(shè)計
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. code uchar key_scan[4] = {0xfe,0xfd,0xfb,0xf7};
  5. code uchar key_value[16] = {0xee,0xde,0xbe,0x7e,
  6.                                                                   0xed,0xdd,0xbd,0x7d,
  7.                                                                   0xeb,0xdb,0xbb,0x7b,
  8.                                                                   0xe7,0xd7,0xb7,0x77,};
  9. code seven_seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  10. uchar k = 88;
  11. void delay(uint x)
  12. {
  13.         while(x--);
  14. }
  15. void display(uchar x)
  16. {
  17.         P0 = 0xff;                 //仿真時消隱
  18.         P0 = seven_seg[x % 10];
  19.         P2 = 0xfe;delay(1000);
  20.         P0 = 0xff;                        //仿真時消隱
  21.         P0 = seven_seg[x / 10];
  22.         P2 = 0xfd;delay(1000);
  23. }
  24. void main(void)
  25. {
  26.         uchar i = 0,j;
  27.         while(1)
  28.         {
  29.                 P3 = key_scan[i];
  30.                 if(P3 != key_scan[i])
  31.                 {
  32.                         delay(200);
  33.                         for(j = 0;j <= 16;j++)
  34.                         {
  35.                                 if(P3 == key_value[j])
  36.                                 k = j;
  37.                         }
  38.                 }
  39.                 display(k);
  40.                 i++;
  41.                 if(i >= 4)
  42.                 i = 0;
  43.         }
  44. }
復(fù)制代碼
全部資料51hei下載地址:
-單片機(jī)的按鍵.zip (440.67 KB, 下載次數(shù): 10)

作者: sc6950    時間: 2020-12-8 23:34
大佬你好,能幫忙看個題目嗎




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