📄 lesson2-1.asm
字号:
OUTPORT EQU 0CFB0H
CSEG AT 0000H
LJMP START
CSEG AT 401BH ;定时器/计数器1中断程序入口地址
LJMP INT
CSEG AT 4100H
START: MOV A,#01H ;首显示码
MOV R1,#03H ;03是偏移量,即从基址寄存器到表首的距离
MOV R0,#5H ;05是计数值
MOV TMOD,#10H ;计数器置为方式1
MOV TL1,#0AFH ;装入时间常数
MOV TH1,#03CH
ORL IE,#88H ;CPU中断开放标志位和定时器
;1溢出中断允许位均置位
SETB TR1 ;开始计数
LOOP1: CJNE R0,#00,DISP
MOV R0,#5H ;R0计数计完一个周期,重置初值
INC R1 ;表地址偏移量加1
CJNE R1,#31H,LOOP2
MOV R1,#03H ;如到表尾,则重置偏移量初值
LOOP2: MOV A,R1 ;从表中取显示码入累加器
MOVC A,@A+PC
JMP DISP
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0FEH,0FCH
DB 0F8H,0F0H,0E0H,0C0H,80H,00H,0FFH,00H,0FEH
DB 0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,0BFH,0DFH
DB 0EFH,0F7H,0FBH,0FDH,0FEH,00H,0FFH,00H
DISP: MOV P1,A ;将取得的显示码从P1口输出显示
JMP LOOP1
INT: CLR TR1 ;停止计数
DEC R0 ;计数值减一
MOV TL1,#0AFH ;重置时间常数初值
MOV TH1,#03CH
SETB TR1 ;开始计数
RETI ;中断返回
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -