|
单片机C语言实例-224-独立按键去抖动
/*-----------------------------------------------
名称:独立按键
公司:上海浩豚电子科技有限公司
编写:师访
日期:2009.5
修改:无
内容:切换到独立按键模式,通过按键在数码管显示对应的数字
------------------------------------------------*/
#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)
{ //按下相应的按键,数码管显示相应的码值
delay(1000);
if(!key1)
{
P0=0x06;//数码管显示"1"
}
}
if(!key2)
{ //按下相应的按键,数码管显示相应的码值
delay(1000);//去抖动
if(!key2) //检测按键确实按下,进行按键处理
{
P0=0x5B;//数码管显示"2"
//这里可以添加按键按下所需要的操作,如数据加减乘除,蜂鸣器等设备开关
}
}
if(!key3)
{ //按下相应的按键,数码管显示相应的码值
delay(1000);
if(!key3)
{
P0=0x4F;//数码管显示"3"
}
}
if(!key4)
{ //按下相应的按键,数码管显示相应的码值
delay(1000);
if(!key4)
{
P0=0x66;//数码管显示"4"
}
}
}
}
更多详情参考附件文档
|
|