c语言按键控制程序

c语言按键控制程序,第1张

if(keypress==true)检测有键按下 {delay_us(50) 延迟50us,软件滤波防抖动if(keypress==true) 检测有键被按下 key_value=P1提取键值 {switch(key_value) 识别是那个键被按下了 case 0x01: XXX;breakcase 0x02:XXXBREAK进入对应工步或者动作即可。 ...... } } }

#include<stdio.h>

#include<conio.h>

void main() { char c

while ( 1 ) {

c=getch()

if ( c==27 ) { printf("Esc键退出。\n")break}

else if ( c>='a' &&c<='z' ) printf("小写字母\n")

else if ( c>='A' &&c<='Z' ) printf("大写字母\n")

else if ( c>='0' &&c<='9' ) printf("数字\n")

else printf("其他字符\n")

}

}

主要就是按键检测,防抖呗。

首先给出检测按键代码:(我这个事4*4键盘。具体你要根据实际情况编写)

uchar TestKey()

{

uchar cord_h,cord_l

P6=0x0f

cord_h=P6&0x0f

if(cord_h!=0x0f)

{

Delay_Xms(1)

if(cord_h!=0x0f)

{

cord_h=P6&0x0f

P6=cord_h|0xf0

cord_l=P6&0xf0

return(cord_h+cord_l)

}

}return(0xff)

}

--------------------------------------

然后你在Main函数里编写循环,检测按键然后做你想做的事情。。。

while(1)

{

key=TestKey()//调用键盘扫描,

switch(key)

{

case 0x7e:P4=0xa1break//0 按下相应的键显示相对应的码值

case 0x7d:Show1Menu()break//1

case 0x7b:P4=0x83break//2

case 0x77:P4=0x88break//3

case 0xbe:P4=0x99break//4

case 0xbd:P4=0x90break//5

case 0xbb:P4=0x82break//6

case 0xb7:P4=0xb0break//7

case 0xde:P4=0xc0break//8

case 0xdd:P4=0x80break//9

case 0xdb:P4=0x92break//a

case 0xd7:P4=0xa4break//b

case 0xee:P4=0xc6break//c

case 0xed:P4=0xf8break//d

case 0xeb:P4=0x99break//e

case 0xe7:P4=0xf9break//f

}

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存