一种是普通io口,一种是中d的形式,普通io口是按下按键触发按键子程序案件,指程序经过一段时间的,比如20~50毫秒的延时再次毒案件,如果按键值还是会按下,那么就延时等待按键抬起按键,抬起后执行按键程序,然后返回中d也是一样的,按下按键之后进入中段读按键状态,是否还是为按一下是按一下等待延时再读等待,然后等待案件采取后执行相应的代码,然后退出总代。
#include "STC15F2K.h"#include <intrins.H>
typedef unsigned char uchar
typedef unsigned int uint
sbit SL13=P3^3
sbit SL14=P3^2
sbit SL15=P3^1
sbit SL16=P3^0 //定义了SL13-SL16按键对应的IO口。
sbit A4=P3^4
sbit A5=P3^5
sbit A6=P3^6
sbit A7=P3^7
uchar num,temp,num1,n
void delay(uint z)
{
uint x,y
for(x=zx>0x--)
for(y=110y>0y--)
}
void main(void)
{
SL16=0
if(A4==0)
{
delay(10) //去抖动
if(A4==0)
{
P0=0xcd //点亮LED灯。
}
while(!A4) //等待松开。
delay(10) //再次去抖动。
while(!A4)
P0=0xff //熄灭LED灯。
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)