找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3271|回复: 1
收起左侧

基于51单片机的矩阵键盘扫描keil程序+Proteus原理图

[复制链接]
ID:335114 发表于 2018-5-21 19:12 | 显示全部楼层 |阅读模式
上一个帖子忘记加附件了
单片机矩阵键盘数码管显示仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png 0.png

单片机源程序如下:
  1. #include <reg51.h>
  2. #include <stdio.h>

  3. #define byte unsigned char

  4. //中断服务程序
  5. void keyinterrupt()   interrupt 2
  6. {
  7.         int t;
  8.         byte keycode,scancode,flag=0xff;
  9.         t=5000;
  10.         while(t--);
  11.         if(INT1==1)
  12.                 return;
  13.         EX1=0;
  14.         scancode=0xef;
  15.         while(scancode!=0xff)
  16.         {
  17.                 P1=scancode;
  18.                 keycode=P1;
  19.                 if((keycode&0x0f)!=0x0f)
  20.                         break;
  21.                 scancode=(keycode<<1)|0x0f;
  22.         }
  23.         keycode=~keycode;

  24.         P2=keycode; //将扫描码输出,数码管采用具有译码功能的数码管
  25.         P1=0X0F;
  26.         while(1)
  27.         {
  28.                 if(INT1==1)
  29.                 {
  30.                         flag=~flag;
  31.                         if(flag==0)
  32.                         break;
  33.                 }
  34.                 t=10000;
  35.                 while(t--);
  36.         }
  37.         EX1=1;
  38.         return;
  39. }

  40. void main(void)
  41. {   
  42.         IE=0;
  43.         EX1=1;
  44.         EA=1;  //中断open
  45.         P2=0XFF;
  46.         P1=0X0F;
  47.     while(1)
  48.     {               
  49.         }                  
  50. }
复制代码

所有资料51hei提供下载:
矩阵键盘数码管显示.rar (37.39 KB, 下载次数: 25)

评分

参与人数 1黑币 +5 收起 理由
小墨月 + 5 很给力!

查看全部评分

回复

使用道具 举报

ID:109101 发表于 2020-1-29 11:46 | 显示全部楼层
很好的资料,学习了!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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