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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8211|回復(fù): 3
收起左側(cè)

數(shù)碼管顯示4×4鍵盤矩陣按鍵 proteus仿真和單片機代碼

[復(fù)制鏈接]
ID:204443 發(fā)表于 2017-5-31 13:11 | 顯示全部樓層 |閱讀模式
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
仿真.png 文件夾.png

單片機代碼:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define SCANPORT P1
  5. sbit spk=P3^0;
  6. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
  7.                                          0x6d,0x7d,0x07,0x7f,0x6f,
  8.                                          0x77,0x7c,0x39,0x5e,0x79,
  9.                                          0x71};
  10. uchar uca_LineScan[4]={0xEF,0xDF,0xBF,0x7F};
  11. uchar ucKeyScan()
  12. {
  13.         uchar Temp=0;                                 
  14.         uchar ucRow=0,ucLine=0;            

  15.         for(ucLine=0;ucLine<4;ucLine++)        
  16.                 {
  17.                         SCANPORT=uca_LineScan[ucLine];                           
  18.                         Temp=SCANPORT & 0x0F;                                         
  19.                         if(Temp!=0x0F)                 
  20.                                 {                                                                        
  21.                                 switch(Temp)
  22.                                         {
  23.                                         case 0x0E: ucRow=10;break;                 
  24.                                         case 0x0D: ucRow=20;break;
  25.                                         case 0x0B: ucRow=30;break;
  26.                                         case 0x07: ucRow=40;break;
  27.                                         default:   ucRow=50;break;
  28.                                         }
  29.                                 break;
  30.                                 }
  31.                 }

  32.         SCANPORT=0x0F;                                          
  33.         return ucRow+ucLine+1;                        
  34. }
  35. void vKeyProcess(unsigned char ucKeyCode)
  36. {
  37.                
  38.         switch(ucKeyCode)
  39.                 {
  40.                 case 11:P0=table[0];spk=1;break;                                                          //'7'
  41.                 case 12:P0=table[1];spk=1;break;                                                          //'8'
  42.                 case 13:P0=table[2];spk=1;break;
  43.                 case 14:P0=table[3];spk=1;break;
  44.                                                          
  45.                 case 21:P0=table[4];spk=1;break;                                                          //'4'
  46.                 case 22:P0=table[5];spk=1;break;                                                          //'5'
  47.                 case 23:P0=table[6];spk=1;break;
  48.                 case 24:P0=table[7];spk=1;break;
  49.                                                   
  50.                 case 31:P0=table[8];spk=1;break;                                                          //'1'
  51.                 case 32:P0=table[9];spk=1;break;                                                          //'2'
  52.                 case 33:P0=table[10];spk=1;break;
  53.                 case 34:P0=table[11];spk=1;break;

  54.                 case 41:P0=table[12];spk=1;break;                                  //'3'
  55.                 case 42:P0=table[13];spk=1;break;
  56.                 case 43:P0=table[14];spk=1;break;                                                  //'0'
  57.                 case 44:P0=table[15];spk=1;break;                                                          //'+'

  58.                 default:break;
  59.                 }
  60. }
  61. void main()
  62. {
  63.         spk=0;
  64.         P0=0;
  65.         
  66.         while(1)
  67.         {
  68.                 vKeyProcess(ucKeyScan());
  69.                 spk=0;
  70.         }
  71. }
復(fù)制代碼
全部資料下載地址:
數(shù)碼管顯示4×4鍵盤矩陣按鍵.rar (57.22 KB, 下載次數(shù): 64)


回復(fù)

使用道具 舉報

ID:161933 發(fā)表于 2017-5-31 21:49 | 顯示全部樓層
數(shù)碼管顯示4×4鍵盤矩陣按鍵 proteus仿真和單片機代碼
回復(fù)

使用道具 舉報

ID:304347 發(fā)表于 2018-4-9 12:40 | 顯示全部樓層
為啥運行不出來?proteus圖有問題么
回復(fù)

使用道具 舉報

ID:332431 發(fā)表于 2018-5-17 20:56 | 顯示全部樓層
這個proteus是不是不完全
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: www.嫩草 | 欧美一区二区三区视频在线 | 真人女人一级毛片免费播放 | 精品久久伊人 | 欧美区日韩区 | 在线播放中文字幕 | 日韩在线视频观看 | 欧美激情国产日韩精品一区18 | 精品国产不卡一区二区三区 | 久久国产精品偷 | 91亚洲一区 | 逼逼网| 日本久久精品视频 | 精品福利视频一区二区三区 | 久久久久久国产精品 | 亚洲成人一二区 | 男女视频在线观看网站 | 日本福利视频免费观看 | 玖玖玖av| av一区二区三区四区 | 免费福利视频一区二区三区 | 成人老司机 | 日韩在线资源 | av在线成人| 黄色在线| 玖玖综合在线 | 男人的天堂亚洲 | 午夜影院网站 | 欧美精品久久久久久 | 久久久精品在线 | 日韩中文字幕免费在线观看 | 不卡av在线 | 一区二区三区视频在线免费观看 | 欧美黄在线观看 | 毛片在线免费 | 欧美日韩综合视频 | 2018天天干天天操 | 国产激情91久久精品导航 | 成人欧美一区二区三区在线观看 | 羞羞视频免费观看 | 粉嫩av久久一区二区三区 |