找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3318|回复: 0
收起左侧

数码管显示4×4矩阵键盘的键号程序加仿真

[复制链接]
ID:210992 发表于 2017-6-13 23:51 | 显示全部楼层 |阅读模式
0.png

仿真文件下载:
数码管显示4×4矩阵键盘的键号.rar (16.1 KB, 下载次数: 24)

单片机源代码:
  1. #include"reg52.h"
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar i,j;
  5. uint a;
  6. uchar code tab1[]={0x79,0x5e,0x7c,0x07};
  7. void delay_50us(uint t)
  8. {
  9.      uint j;
  10.      for(;t>0;t--)
  11.        for(j=19;j>0;j--);
  12. }
  13. void main()
  14. {
  15.      while(1)
  16. {
  17.      P1=0x0F;
  18.      if((P1&0x0F)!=0x0F)
  19. {
  20.      switch(P1)
  21. {
  22.      case 0x07:   i=3;break;
  23.      case 0x0b:   i=2;break;
  24.      case 0x0d:   i=1;break;
  25.      case 0x0e:   i=0;break;
  26.      default:     break;
  27. }

  28.      P1=0xF0;     //反转行和列上的电平
  29.      if((P1&0xF0)!=0xF0)
  30. {
  31.      switch(P1)
  32. {
  33.      case 0x70:   j=3;break;
  34.      case 0xb0:   j=2;break;
  35.      case 0xd0:   j=1;break;
  36.      case 0xe0:   j=0;break;
  37.      default:     break;
  38. }
  39.      for(a=0;a<50;a++)
  40. {
  41.      P2=0xfb;
  42.      P0=tab1[j];
  43.          delay_50us(20);
  44.      P2=0xf7;
  45.      P0=tab1[i];
  46.          delay_50us(20);
  47. }
  48. }
  49.      P2=0xff;
  50. }
  51. }
  52. }

复制代码
回复

使用道具 举报

ID:275169 发表于 2018-1-12 12:58
显示不出来根本 都乱了

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

本版积分规则

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

Powered by 单片机教程网

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