单片机二分法按键识别仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机二分法识别按键汇编语言源程序如下:
- ORG 0000H
- START:
- MOV A,#00H
- CPL A
- MOV P1,A
- MOV A,P1
- D1: JNB P3.7,LOOP
- SJMP D1
- LOOP:
- CPL A
- INC A
- CPL A
- MOV P1,A
- MOV A,P1
- D2: JB P3.7,D1
- SJMP D2
- END
复制代码- #include <AT89X51.H>
- unsigned char count=0;
- void delay10ms(void)
- {
- unsigned char i,j;
- for(i=20;i>0;i--)
- for(j=248;j>0;j--);
- }
- void main(void)
- {
- while(1)
- {
- if(P3_7==0)
- {
- delay10ms();
- count++;
- while(P3_7==0)
- P1=~count;
- if(count==16)
- {
- count=0;
- }
- }
- }
- }
复制代码
所有资料51hei提供下载:
按键识别方法.zip
(69.33 KB, 下载次数: 9)
|