一、實驗目的
掌握查詢式鍵盤的接口和編程方法。
二、實驗內容
本實驗提供了4個按鍵的小鍵盤,如果有鍵按下,則相應輸出為低電平,否則輸出為高電平。MCU判斷有鍵按下后,要有一定的延時,防止由于鍵盤抖動而引起誤操作。
編寫一個程序,能讀出鍵盤操作的編號,并在數碼顯示器上顯示。
三、實驗電路
本實驗所需電路請參見系統原理圖的第一部分和獨立式鍵盤電路。
四、實驗程序參考框圖
圖片2.png (4.81 KB, 下載次數: 27)
下載附件
2017-8-20 19:08 上傳
圖片3.png (5.67 KB, 下載次數: 27)
下載附件
2017-8-20 19:08 上傳
- LJMP MAIN
- ORG 0100H
- MAIN: MOV 30H,#0aH
- MOV 31H,#0aH
- MOV 32H,#0aH
- MOV 33H,#0aH
- MOV 34H,#0aH
- MOV 35H,#0aH
- MOV 36H,#0aH
- MOV 37H,#0aH
- MOV 50h,#0H
- Loop: CALL DISPLAY
- CALL KEY
- MOV 50h,A
- AJMP Loop
- KEY: MOV P3,#0FFH
- MOV A,P3
- Orl a,#0f0h
- CJNE A, #0FFH, K00
- ret
- K00: ACALL DELAY
- ACALL DELAY
- ACALL DELAY
- ACALL DELAY
- MOV A,P3
- Orl a,#0f0h
- CJNE A,#0FFH,K01
- ret
- K01: cjne a,#0feh,k02
- MOV 50h,#0bh
- Sjmp k05
- K02: cjne a,#0fdh,k03
- MOV 50h,#0ch
- Sjmp k05
- K03: cjne a,#0fbh,k04
- MOV 50h,#0dh
- Sjmp k05
- K04: cjne a,#0f7h,k05
- MOV 50h,#0eh
- Sjmp k05
- K05: MOV 30H,50h
- MOV 31H, 50h
- MOV 32H, 50h
- MOV 33H,50H
- MOV 34H,50H
- MOV 35H,50H
- MOV 36H,50H
- MOV 37H,50h
- MOV A,P3
- Orl a,#0f0h
- CJNE A,#0FFH,K05
- ACALL DELAY
- RET
- DISPLAY:MOV R0,#30H
- MOV R2,#08H
- MOV R3,#00H
- NEXT:MOV A,@R0
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV P0,A
- INC R0
- MOV A,R3
- RL A
- RL A
- MOV P2,A
- INC R3
- ACALL DELAY
- MOV P0,#00H
- ACALL DELAY
- DJNZ R2,NEXT
- RET
- DELAY: MOV 7FH,#2
- DELAY1: MOV 7EH,#250
- DJNZ 7EH,$
- DJNZ 7FH,DELAY1
- RET
- TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
- DB 6fH,40H,76H,73H,71H,79H,38H,5eh,31H
- END
復制代碼
完整的word格式文檔51黑下載地址:
查詢式鍵盤實驗.doc
(1.9 MB, 下載次數: 7)
2017-8-20 19:08 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|