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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機4X4按鍵(0~15)數碼管顯示、并通過串口通信發送相應數字(Proteus仿真)

[復制鏈接]
跳轉到指定樓層
樓主
1、Proteus原理圖:



2、C程序:
  1. #include<reg52.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[] ={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
  8. sbit wei1=P2^0;
  9. sbit wei2=P2^1;
  10. uchar ge,shi,KeyValue,j,b;
  11. uchar temp,temp1;
  12. uchar flag=0;

  13. /*****延時函數*****/
  14. void delay1ms(uint z)
  15. {
  16.    uint x,y;
  17.    for(x=z;x>0;x--)
  18.    for(y=112;y>0;y--);  //12M晶振下,延時1MS
  19. }

  20. /*****初始化函數*****/
  21. void InitUART(void)
  22. {
  23.    TMOD=0x20;
  24.    SCON=0x50;
  25.    TH1=0xFD;
  26.    TL1=TH1;
  27.    PCON=0x00;  
  28.    EA=1;  
  29.    ES=1;   
  30.    TR1=1;   
  31. }  

  32. /*****串口通信中斷*****/
  33. void send(uchar x)
  34. {
  35.        SBUF=x;  
  36.        while(TI==0);   
  37.        TI=0;      
  38. }

  39. /*****顯示函數*****/
  40. void xianshi(uchar k)   
  41. {
  42.    ge=k%10;  
  43.    shi=k/10;
  44.    if(k>9)  
  45.    {
  46.       weixuan=0x02;   
  47.       P0=SEG_CODE[ge];
  48.       send(shi+48);   
  49.       delay1ms(10);   
  50.       weixuan=0x01;
  51.       P0=SEG_CODE[shi];//十位段碼,顯示
  52.       send(ge+48);   
  53.       delay1ms(10);            
  54.     }
  55.     else           
  56.     {
  57.        weixuan=0x02;
  58.        P0=SEG_CODE[ge];//個位段選
  59.        send(ge+48);
  60.        delay1ms(10);                                                  
  61.      }
  62. }
  63. /***鍵盤掃描函數***/
  64. uchar keyscan()   
  65. {
  66.    char a=0;      
  67.    GPIO_KEY=0x0f;   //P1口值準備  
  68.     if(GPIO_KEY!=0x0f)   
  69.     {
  70.        delay1ms(10);   //延時消抖  
  71.        if(GPIO_KEY!=0x0f)//再次判斷
  72.        {
  73.           GPIO_KEY=0x0f;  //再次裝值準備
  74.           switch(GPIO_KEY)  //測試行   
  75.            {
  76.               case(0x07):KeyValue=0;break;
  77.               case(0x0b):KeyValue=1;break;
  78.               case(0x0d):KeyValue=2;break;
  79.               case(0x0e):KeyValue=3;break;                                             
  80.             }
  81.            GPIO_KEY=0xf0;   //高四位賦1,判斷準備  HIGH FOUR BIT GET VERTICAL
  82.            switch(GPIO_KEY) //測試行   
  83.             {
  84.                  case(0x70):KeyValue=KeyValue;break;     
  85.                  case(0xb0):KeyValue=KeyValue+4;break;  
  86.                  case(0xd0):KeyValue=KeyValue+8;break;  
  87.                  case(0xe0):KeyValue=KeyValue+12;break;           
  88.             }
  89.             while((GPIO_KEY!=0x0f)&&(a<10)) //判斷是否松手,假若沒有松手
  90.                                                                //一段延時后依舊判斷松手完成
  91.             {
  92.                delay1ms(1);
  93.                a++;
  94.             }
  95.                a=0;
  96.          }
  97.      }
  98.      return KeyValue;
  99. }

  100. /*****主函數*******/
  101. void main()
  102. {
  103.    InitUART();
  104.    while(1)
  105.    {
  106.       b=keyscan();
  107.       xianshi(b);
  108.     }        
  109. }
復制代碼

3、Proteus仿真圖示例:



4、串口精靈仿真接收數據示例:
單片機參數設置:


串口參數設置:


串口精靈仿真運行:



5、順便附上案例文件(能正常運行)
4X4按鍵串口通信.rar (55.64 KB, 下載次數: 88)


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩色图视频 | 日日操av | 国产综合视频 | 99中文字幕 | 欧美在线一区二区三区 | 日韩精品免费在线 | 精品少妇一区二区三区日产乱码 | 91精品国产91久久久久久丝袜 | 精品国产一区二区在线 | 欧美精品在线看 | 久久精品视频一区二区三区 | 黑人巨大精品欧美一区二区免费 | 欧美国产日韩精品 | 国产传媒在线播放 | 国产网站在线播放 | 91av在线免费 | 午夜精品久久久久久久久久久久久 | 国产在线精品区 | 亚洲精品乱码久久久久久蜜桃91 | 久久国产福利 | 在线一区视频 | 国产日韩欧美激情 | 尤物视频在线免费观看 | 黑人精品 | 欧美精品91爱爱 | 日韩精品一区二 | 精品福利一区 | 精品成人一区二区 | 国产黄色免费网站 | 亚洲成人国产精品 | 亚洲免费片 | 做a网站 | 色视频在线免费观看 | www一级片 | 国产精品完整版 | 精品国产乱码久久久久久蜜柚 | 国产视频精品在线观看 | 久久久精品一区 | 国产成人a亚洲精品 | 九九九视频在线观看 | 国产精品一二三区 |