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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8393|回復: 2
打印 上一主題 下一主題
收起左側

8051單片機的4X4矩陣鍵盤兩位數碼管顯示 含源碼和仿真!

[復制鏈接]
跳轉到指定樓層
樓主
這是我本人做的一探究性學習的記錄,方便新人學習,
代碼有備注,超級詳細,思路清晰。

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


單片機程序源碼:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define GPIO_KEY P1
  5. #define weixuan P2
  6. //0~F的共陽數碼管段碼,最后一個是黑屏
  7. const uchar SEG_CODE[] =
  8. { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
  9.   0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF
  10. };
  11. sbit wei1=P2^0;
  12. sbit wei2=P2^1;
  13. uchar ge,shi,KeyValue,j;
  14. /*****延時函數*****/
  15. void delay1ms(uint z)
  16. {
  17.         uint x,y;
  18.         for(x=z;x>0;x--)
  19.                 for(y=112;y>0;y--);  //12M晶振下,延時1MS
  20. }

  21. /*****顯示函數*****/
  22. void xianshi(uchar k)
  23. {
  24.           ge=k%10;  //個位
  25.           shi=k/10; //十位
  26.           if(k>9)
  27.           {
  28.                 weixuan=0x02;
  29.                 P0=SEG_CODE[ge];//個位段選
  30.                 delay1ms(10);
  31.                 weixuan=0x01;
  32.                 P0=SEG_CODE[shi];//十位段碼,顯示
  33.                 delay1ms(10);        
  34.           }
  35.           else
  36.           {
  37.                 weixuan=0x02;
  38.                 P0=SEG_CODE[ge];
  39.                 delay1ms(10);                                                  
  40.           }
  41. }
  42. /***鍵盤掃描函數***/
  43. uchar keyscan()
  44. {
  45.         char a=0;
  46.                 GPIO_KEY=0x0f;   
  47.                         if(GPIO_KEY!=0x0f)
  48.                         {
  49.                                 delay1ms(10);  
  50.                                 if(GPIO_KEY!=0x0f)//
  51.                                 {
  52.                                         GPIO_KEY=0x0f;  //
  53.                                         switch(GPIO_KEY)  
  54.                                         {
  55.                                                 case(0x07):KeyValue=0;break; //第一行
  56.                                                 case(0x0b):KeyValue=1;break; //第二行
  57.                                                 case(0x0d):KeyValue=2;break; //第三行
  58.                                                 case(0x0e):KeyValue=3;break; //第四行                                                        
  59.                                         }
  60.                                         GPIO_KEY=0xf0;   
  61.                                         switch(GPIO_KEY)
  62.                                         {
  63.                                                 case(0x70):KeyValue=KeyValue;break;           //0-3
  64.                                                 case(0xb0):KeyValue=KeyValue+4;break;  //4-7
  65.                                                 case(0xd0):KeyValue=KeyValue+8;break;  //8-11
  66.                                                 case(0xe0):KeyValue=KeyValue+12;break; //12-15               
  67.                                         }
  68.                                         while((GPIO_KEY!=0x0f)&&(a<10))
  69.                                                                            
  70.                                         {
  71.                                                 delay1ms(1);
  72.                                                 a++;
  73.                                         }
  74.                                         a=0;               
  75.                                 }
  76.                         }         
  77.                         return KeyValue;
  78. }

  79. /*****主函數*******/
  80. void main()
  81. {
  82.         uchar b;
  83.         while(1)
  84.         {        
  85.                 b=keyscan();
  86.                 xianshi(b);        
  87.         }        
  88. }
復制代碼


全部資料51hei下載地址:
4X4鍵盤數碼管顯示.rar (65.04 KB, 下載次數: 117)




評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:455687 發表于 2018-12-26 22:59 | 只看該作者
仿真不行啊
回復

使用道具 舉報

板凳
ID:456001 發表于 2018-12-27 07:57 來自手機 | 只看該作者
我是新手,首先感謝樓主無私分享,但是我怎么看代碼跟原理圖好像有改動呢?原理圖沒接P2腳啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线亚洲人成电影网站色www | 国产成人精品久久 | 亚洲国产二区 | 久久99精品久久久 | 国产精品成人久久久久 | 91精品国产91久久久久游泳池 | 国产成人黄色 | 国产精品99久久久久久www | 国产成人av一区二区三区 | 91免费在线 | 北条麻妃一区二区三区在线观看 | 中文字幕在线电影观看 | 中文无吗 | 国产69精品久久99不卡免费版 | 一区二区不卡高清 | 手机在线一区二区三区 | 国产在线精品区 | 免费在线看黄 | 亚洲一区二区三区免费观看 | 中文字幕在线视频免费视频 | 在线视频久久 | 日日摸夜夜爽人人添av | 日韩中文一区 | 91网站在线观看视频 | 午夜精品久久久久久久 | 中文字幕在线观看 | 范冰冰一级做a爰片久久毛片 | 中文字幕日韩一区二区 | 在线不卡一区 | 国产精品久久国产愉拍 | 国产精品夜夜夜一区二区三区尤 | 国产欧美日韩综合精品一 | 国产精品永久久久久久久www | 99精品欧美一区二区蜜桃免费 | 久久99深爱久久99精品 | 国内精品久久久久久影视8 最新黄色在线观看 | 亚洲视频欧美视频 | 日韩免费中文字幕 | 成人欧美一区二区三区黑人孕妇 | 在线观看日韩精品视频 | 国产精品av久久久久久毛片 |