单片机按键检测程序

单片机按键检测程序,第1张

P3=0xfe//P3=0b1111 1110,令P3.0=0,同时令高四位为高电平,作好烂罩迅读端口准备(51IO特点)

temp=P3//读回P3口的状态

temp=temp&0xf0//temp&1111 0000,0与任何数结果为0,把temp变量的低四位屏蔽了,高四位因为任何数与1等于它本身,所以把高饥此四位对应的端口状态读进来。

while(temp!=0xf0) //上步处理后,高四为不全为1,说明有按键按下(结合矩阵键盘的电路结构才能理解,这里不方便上图)

{

delay(5)

temp=P3

temp=temp&0xf0//这三句跟上面重复,功能是软件消抖

while(temp!=0xf0) //延时一段时间后判断还有按键按闷滑下,说明是真有按键按下,进入按键扫描与键值的判断,否则可能是意外抖动引起的,就不进行按键扫描。

{

temp=P3

switch(temp).....

我想注释完应该能读懂,关键是要理解矩阵键盘的扫描原理。

1、可以使用getch()函数读取字符

函数用途:从控制台读取一个字符,但不显示在屏幕上

函数原型:int getch(void)

返回值:读取的字符

getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1。输入的字符不会回显在屏幕上。getch函数常用于程序调试中,团陵雀在调试时,在关键位置显示有汪链关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行。

2、例如:

char ch

ch=getch()

用ch=getch()会等待用户按下任意键之后,把该键塌早字符所对应的ASCII码赋给ch,再执行下面的语句。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12298909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存