找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4874|回复: 0
打印 上一主题 下一主题
收起左侧

单片机4*4键盘程序 带接线方式

[复制链接]
跳转到指定楼层
楼主
ID:171253 发表于 2017-3-16 16:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. /接线方式:P0.0~P0.7 接BIT0~BIT7 P1.0~P1.7接a~h  P2.0~P2^7 接KL ~ KH
  2. //4*4矩阵键盘
  3. #include<reg51.h>
  4. sbit we =P0^1;
  5. char led_mod[] = {0x3f,0x06,0X5b,0x4f,0x66,0x6d,0x7d,0x07,
  6.                                   0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71
  7. };

  8. char key_buf[] = {0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,
  9.                                   0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77
  10. };

  11. char getchar(void)
  12. {
  13.          char key_scan[] = {0xfe,0xfd,0xfb,0xf7};
  14.          char i = 0,j = 0;
  15.          for(i =0;i < 4;i++)
  16.          {
  17.                  P2 = key_scan[i];
  18.                 if((P2 & 0xf0)!=0xf0)
  19.                 {
  20.                         for(j =0 ;j < 16;j++)
  21.                         {
  22.                                 if(key_buf[j] == P2)
  23.                                 return j;
  24.                         }
  25.                
  26.                 }
  27.          }
  28.          return -1;
  29. }

  30. void main()
  31. {
  32.          char key=0;
  33.         we = 0;
  34.          P1 = 0X00;
  35.          while(1)
  36.          {
  37.                  key =getchar();
  38.                 if(key != -1)
  39.                 P1 = led_mod[key];                        
  40.         }

  41. }

复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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