找回密码
 立即注册

QQ登录

只需一步,快速开始

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

键盘扫描程序+电路图

[复制链接]
ID:71259 发表于 2014-12-29 19:33 | 显示全部楼层 |阅读模式
/*
程序效果:按下任意键,LED显示P0读回的数据
   其中4*4的矩阵键盘接P0口
*/
#include<reg52.h> //头文件
unsigned char key=0xff;   //定义一个变量用于存放按键值
void readkey();   //读按键子函数,获取键值
void main()    //主函数
{
   while(1)
   {   
      readkey(); //读按键值
      if(key!=0xff) //判断是否有按键按下
      P2=~key;//这里取反:是因为LED为共阴,显示所按下的值   
   }
}
void readkey() //读键盘子函数
{
  P0=0xfe; //将第一列拉低,扫描是否有按键按下,第一列键值为:0,4,8,C
  key=P0;  //读取键盘值
  if(key!=0xfe) //若key!=0xfe,说明有按键按下,则返回
      return;    //否则继续扫描下一列
  P0=0xfd;
  key=P0;
  if(key!=0xfd)
      return;
  P0=0xfb;
  key=P0;
  if(key!=0xfb)
      return;
  P0=0xf7;
  key=P0;
  if(key!=0xf7)
      return;
  key=0xff;
}


回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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