|
|
| | -文章搜索 - 最新文章 - | |
按键扫描驱动程序 |
| 发布时间:2006年8月1日 点击次数:2505 |
| 来源: 作者: |
unsigned char key,key_h,kpush;
unsigned int key_l; //按键连接到p1.0、p1.1、p1.2 void int_t0(void) interrupt 1 { unsigned char dd,i; TL0=TL0+30;TH0=0xfb; //800 /* 按键判别 */ if ((P1&0x7)==0x7) { if ((key_l>30)&&(key_l<800)&&(key_h>30)) { //释放按键,如果之前按键时间少于1秒,读入键值 key=kpush; } if ((++key_h)>200) key_h=200; key_l=0; if (key>=0x80) key=0; //如果之前的按键为长按1秒,清除键值 } else { kpush=P1&0x7; 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; } } } |
|
|
|
|
[单片机] 相关文章: 用2051的比较器模拟AD简介:
/* io分配: * ;* OUTPUT:  ...... at89c2051串口带校验输入指令最高数率并行输出数据.
C语言中嵌入汇编语言在本论坛中的集锦
MSP430寄存器中文注释----串口寄存器
[转载]基于USB接口的VSAT基带数据采集系统的设计
[转载]用EZ-USB实现TMS320C6X与主机数据传输
MSP430寄存器中文注释---看门狗和定时器
MSP430寄存器中文注释--- 硬件乘法器
MSP430寄存器中文注释---P1/2口(带中断功能)
MSP430寄存器中文注释---P3/4口 (无中断功能) |
|
|
|