51单片机c语言按键识别,51单片机按键电平读取程序

51单片机按键电平读取程序

按键电平的读取通常我们都是通过延时函数或者循环延时来降低抖动时间,来读取正确的按键电平。

示例:

#include "reg52.h"

sbit SysKey P0^0

sbit LED P0^1

#define SET 1

#define RESET 0

void Delay1ms(unsigned int ms)

{

unsigned char a,b,c;

while(ms--)

{

for(c=17;c>0;c--)

for(b=134;b>0;b--)

for(a=2;a>0;a--);

}

}

bit ReadKey(void)

{

if(SysKey == RESET)//有按键被按下

{

Delay1ms(10);//延时10ms

if(SysKey == RESET)// 再次判断按键被按下

return 1;

}

return 0;

}

int main(void)

{

SysKey = SET;//输出高电平

LED = 1;//关闭LED

while(1)

{

if(ReadKey == SET)//读取到按键被按下

LED = 0; //点亮LED小灯


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部