上节数了数码管,现编写如下程序,按下键盘上的按键,数码管显示相应键值,我们板子上的矩阵键盘是可以复用的,把跳线冒接左边和右边可以用选用8个独立按键(P3口)或矩阵键盘,现选做独立按键,按下后数码管上会显示键值,程序如下:
/*-----------------------------------------------
名称:独立按键 数码管显示键值
公司:安阳工学院
编写:樊文杰
日期:2011.11.27
修改:无
内容:切换到独立按键模式,通过按键在数码管显示对应的数字
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit key1=P3^0; //定义按键位置
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
/*------------------------------------------------
延时子程序
------------------------------------------------*/
void delay(unsigned int cnt)
{
while(--cnt);
}
/*------------------------------------------------
主函数
------------------------------------------------*/
main()
{
P2=0x00; //选通位选
while(1)
{
if(!key1) //按下相应的按键,数码管显示相应的码值
P0=0x06; //数码管显示"1"
if(!key2)
P0=0x5B;//2
if(!key3)
P0=0x4F;//3
if(!key4)
P0=0x66;//4
}
}
//如果有干扰请加去抖程序
//红外接收头部分用黑色物质遮光,防止干扰按键,因为红外接收和按键使用同一个端口