本文目录一览:
1、c语言按键控制程序 2、如何写一个用C语言模拟按键的源代码 3、如何用C语言实现按键功能? 4、如何用C语言定义一个单片机的引脚为按键
c语言按键控制程序
if(keypress == true) // 检测有键按下
{
delay_us(50); // 延迟50us,软件滤波防抖动
if(keypress == true) // 检测有键被按下
{
key_value = P1; // 提取键值
{
switch(key_value) // 识别是哪个键被按下了
{
case 0x01: XXX;break;
case 0x02:XXX;BREAK;
// 进入对应工步或者动作即可。
// ...
}
}
}
}
如何写一个用C语言模拟按键的源代码
keybd_event(VK_LEFT, 0, 0, 0); // 键盘方向左键按下
keybd_event(VK_LEFT, 0, KEYEVENTF_KEYUP, 0); // 左键释放
同样,右键的虚键为 VK_RIGHT
。
注意要加头文件 "windows.h"
。
如何用C语言实现按键功能?
主要就是按键检测,防抖呗。 首先给出检测按键代码:(我这个是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 = 0xa1; break; // 0 按下相应的键显示相对应的码值
case 0x7d: Show1Menu(); break; // 1
case 0x7b: P4 = 0x83; break; // 2
case 0x77: P4 = 0x88; break; // 3
case 0xbe: P4 = 0x99; break; // 4
case 0xbd: P4 = 0x90; break; // 5
case 0xbb: P4 = 0x82; break; // 6
case 0xb7: P4 = 0xb0; break; // 7
case 0xde: P4 = 0xc0; break; // 8
case 0xdd: P4 = 0x80; break; // 9
case 0xdb: P4 = 0x92; break; // a
case 0xd7: P4 = 0xa4; break; // b
case 0xee: P4 = 0xc6; break; // c
case 0xed: P4 = 0xf8; break; // d
case 0xeb: P4 = 0x99; break; // e
case 0xe7: P4 = 0xf9; break; // f
}
}
如何用C语言定义一个单片机的引脚为按键
这是一个按键子函数:
sbit k1 = P2^1; // 在主函数前面要声明的部分
void keyscan() // 按键识别子函数,P2.1脚
{
int a = 1;
while(a)
{
if(k1 == 0) // 循环检测按键动作
{
delay1(15); // 延时消抖
if(k1 == 0)
while(!k1) // 等待按键释放
a = 0; // 跳出子函数
}
}
}
void delay1(int h) // 延时子函数
{
int i, j;
for(i = h; i > 0; i--)
for(j = 110; j > 0; j--);
}
哥们,回答的够详细了吧!记得加分咯