📄 lab5_2.asm
字号:
;--------------------------------------------------------------
; 伪指令定义区
;--------------------------------------------------------------
key equ 75h
org 0000h
ljmp main
org 0030h
;--------------------------------------------------------------
; 程序初始化
;--------------------------------------------------------------
main:
clr ea
mov key,#00h
mov p1,#00h
mov p0,#0fh
mov P2,#0ffh
mov sp,#60h
;--------------------------------------------------------------
start:
call scan_key
jnb f0,exit
mov P0,a
exit:
ljmp start
;--------------------------------------------------------------
; 键盘扫描函数
; P2口作为键盘输入
;--------------------------------------------------------------
scan_key:
mov P2,#0ffh
mov P2,#0fh
mov a,P2
cjne a,#0fh,h1
ljmp over
h1:
cjne a,p2,scan_key
mov r7,a
mov P2,#0ffh
mov P2,#0f0h
nop
mov a,P2
cjne a,#0f0h,check
ljmp scan_key
check:
cjne r7,#0eh,rank_2
mov dptr,#rank_one
ljmp com
rank_2:
cjne r7,#0dh,rank_3
mov dptr,#rank_two
ljmp com
rank_3:
cjne r7,#0bh,rank_4
mov dptr,#rank_three
ljmp com
rank_4:
mov dptr,#rank_four
com:
cjne a,#0e0h,colo_2
mov a,#00h
ljmp add_all
colo_2:
cjne a,#0d0h,colo_3
mov a,#01h
ljmp add_all
colo_3:
cjne a,#0b0h,colo_4
mov a,#02h
ljmp add_all
colo_4:
mov a,#03h
add_all:
movc a,@a+dptr
mov key,a
setb f0
over:
ret
;--------------------------------------------------------------
; 延时函数
;--------------------------------------------------------------
delay:
mov r6,#1;
loop0:mov r5,#250
loop:
mov r4,#250
loop1:
djnz r4,loop1
djnz r5,loop
djnz r6,loop0
ret
delay1:
mov r6,#100;
djnz r6,$
;--------------------------------------------------------------
; 定时中断
;--------------------------------------------------------------
int0:
reti
;--------------------------------------------------------------
; 定义LED编码表,该编码遵从行线接低,列线接高
; 0 1 2 3 4 5 6 7 8 9 hour minute enter
;
;
;--------------------------------------------------------------
rank_one:
db 3fh,06h,5bh,4fh
rank_two:
db 66h,6dh,7dh,07h
rank_three:
db 6fh,6fh,6fh,6fh
rank_four:
db 6fh,6fh,6fh,6fh
;--------------------------------------------------------------
; 2008-11-29 肖波
;--------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -