合泰HOLTEK 单片机 写的,对初学者来说里面的分析思路很有帮助。
#include ht48c10-1.inc
;-------------------------------------------------------
data .section ’data’ ;== data section ==
temp db ? ;temporary data register
disp db ? ;key display register
count1 db ? ;delay loop counter
mask db ? ;mask register
matrix db ? ;key matrix register
;-------------------------------------------------------
code .section at 0 ’code’ ;== program section ==
org 00h ;
jmp start ;
org 04h ;external interrupt subroutine
reti ;for guarantee
org 08h ;timer/event 0 interrupt subroutine
reti ;for guarantee
org 0ch ;timer/event 1 interrupt subroutine
reti ;for guarantee
start: ;
clr iNTC ;initialize registers
clr tmrc ;to guarantee performance
clr tmr ;(interrupts)
set PAC ;(ports)
set pbc ;(input mode)
set pCC ;
main:
set pac ;(1);set port A to input mode
clr pbc ;set port B to output mode
clr pa ;zero port A (latch=0)
set pb ;off LEDs
keyloop: ;
MOV a,0feh ;(2);sCAN first row of keys
MOV matrix,a ;hold scan code
MOV pac,a ;pa.0 output 0 (latch)
MOV a,pa ;read input state
cpl acc ;;distill input state
and a,0f0h ;;
sz acc ;if any input?
jmp get_key ;yes. get input info
MOV a,0fdh ;(2);no. scan second row
MOV matrix,a ;hold scan code
MOV pac,a ;pa.1 output 0 (latch)
MOV a,pa ;read input state
cpl acc ;;distill input state
and a,0f0h ;;
[1] [2] [3] 下一页
本文关键字:单片机 程序 键盘 合泰单片机,单片机-工控设备 - 合泰单片机