KEY_按键示例程序
;*************************************************************
#include ht48c10.inc
;------------------------------------------------------------------------data
data .section 'data' ;数据段
temp db ? ; 暂时数据寄存器
disp db ? ; 键值显示寄存器
count1 db ? ; 延时计数指针
mask db ? ; 屏蔽寄存器
matrix db ? ; 键盘阵列寄存器
temp1 db ?
temp2 db ?
;------------------------------------------------------------------------------------------------------code
code .section at 0 'code' ;程序段
org 00h ; ISR 地址初始
jmp start
start: ; 程序开始
clr pbc ; 设置PB口为输出口
MOV a, 0f0h ;(1) ; 设置PA高4位为输入口
; 设置PA低四位为输出口
MOV PAC, a ;
clr pa ; 清PA 口
set pb ; 清PB 口
keyloop: ; 键扫描循环
MOV a, 0feh ;(2) ;扫描第一行是否被按下
MOV matrix, a ; 将第一行的代码送matrix
MOV pa, a ; 输出扫描码到PA 口
MOV a, pa ; 读入PA口 的状态到ACC
xor a, 0feh ;屏蔽高四位,取出键所在的列
sz acc ; 第一行是否有键按下
jmp get_key ;有键按下跳到读键值
MOV a, 0fdh ;(2) ; 扫描第二行是否被按下
MOV matrix, a ; 将第二行的代码送matrix
MOV pa, a ;
MOV a, pa ;
xor a, 0fdh ;
sz acc ;
jmp get_key ;
MOV a, 0fbh ;(2) ; 扫描第三行是否被按下
MOV matrix, a ; 将第三行的代码送matrix
MOV pa, a ;
MOV a, pa ;
本文关键字:程序 合泰单片机,单片机-工控设备 - 合泰单片机
上一篇:HT48R50的LED闪光程序