找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4260|回复: 2
收起左侧

单片机4*4矩阵键盘实现0到F的16进制显示程序(proteus仿真+源程序)

[复制链接]
ID:764098 发表于 2020-6-14 15:36 | 显示全部楼层 |阅读模式
  1. #include<reg51.h>
  2. char led_mod[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
  3.                               0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
  4. char key_buf[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,
  5.                             0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};

  6. char getkey()
  7. {
  8.         char key_scan[]={0xef,0xdf,0xbf,0x7f};
  9.         char i=0,j=0;
  10.         for(i=0;i<4;i++){
  11.                         P1=key_scan[i];
  12.                         if((P1&0x0f)!=0x0f){
  13.                                 for(j=0;j<16;j++){
  14.                                         if(key_buf[j]==P1) return j;
  15.                                         }
  16.                                 }
  17.         }
  18.                         return -1;

  19. }

  20. void main(){
  21.         char key=0;
  22.         P0=0xFF;
  23.         while(1){
  24.                 key=getkey();
  25.                 if(key!=-1)        P0=led_mod[key];
  26.         }
  27. }
复制代码
通过单片机的P1口控制4*4矩阵键盘,并使用P0口输出键值,在LED数码管上显示,可实现0到F的16进制显示
Proteus仿真见附件

Proteus仿真

Proteus仿真

原理图

原理图

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:901492 发表于 2021-4-21 21:48 | 显示全部楼层
请问这个用汇编怎么写啊
回复

使用道具 举报

ID:524158 发表于 2021-4-23 19:45 | 显示全部楼层
上传源文件呀,还能赚积分
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表