單片機二分法按鍵識別仿真原理圖如下(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)
2018-5-2 20:41 上傳
點擊文件名下載附件
|