单片机键盘C程序
时间:12-11
来源:互联网
点击:
****下面是一个不版本的单片机键盘c程序欢迎广大读者实验http://www.51hei.com 编制******************************** unsigned CHAR key,key_h,kpush; //按键连接到p1.0、p1.1、p1.2 void int_t0(void) interrupt 1 {
unsigned int key_l;
unsigned CHAR dd,i;
TL0=TL0+30;TH0=0xfb; //800
/* 按键判别 */
if ((P10x7)==0x7) {
if ((key_l>30)(key_l800)(key_h>30)) { //释放按键,如果之前按键时间少于1秒,读入键值
key=kpush;
}
if ((++key_h)>200) key_h=200;
key_l=0;
if (key>=0x80) key=0; //如果之前的按键为长按1秒,清除键值
} else {
kpush=P10x7;
key_l++;
if ((key_l>800)(key_h>30)) { //如果按键超过1秒,键值加0x80标志长按键
key=kpush|0x80;
key_h=0;
key_l=0;
}
}
}
void main(void) {
TMOD=0x1;TR0=1;ET0=1;EA=1;
while (1) {
while (!key) {}
SWITCH (key) {
case 1:break;
case 2:break;
}
}
}
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)