📄 display.inc
字号:
;DISPLAY.ASM 并行口显示子程序
;功能: DP-51板显示测试子程序
;说明: 显示从DBUF0指定单元开始的5个数据
;定义变量
DBUF0 DATA 3BH ;显示缓冲区首址
BUF EQU 39H ;存放中间变量
FRIT DATA P1 ;定义位口
IODS EQU 0F900H ;I/O数据口地址
IOCD EQU 0F901H ;I/O命令口地址
DISPLAY: MOV DPTR, #0F901H ;送命令口地址
MOV A, #00H
MOVX @DPTR, A ;设置为并行输出方式
MOV DPTR, #0F900H ;送数据口地址
MOV A, #0FFH
MOVX @DPTR, A
DISP: ;保护现场
MOV DPTR, #0F900H
MOV A, #0FFH
MOVX @DPTR, A ;清显示
MOV R2, #7FH ;给位码初值
MOV R0, #DBUF0 ;给显示缓冲区首值
ZCQ: MOV A, @R0
LCALL TAB ;查表取段码
MOVX @DPTR, A ;送段码输出
MOV BUF, FRIT
ANL BUF, #07H
MOV A, R2 ;保证不影响其它位送位码
ORL A, BUF
MOV FRIT, A
LCALL DELAY ;调延时子程序
INC R0
MOV A, R2
RR A
MOV R2, A
CJNE R0, #40H, ZCQ;5位显示完吗?
;MOV P1,#0FFH
RET
;延时子程序
DELAY: MOV R7, #50H ;12M时钟下延时1MS
DELAY0: MOV R6, #10H
DELAY1: DJNZ R6, DELAY1
DJNZ R7, DELAY0
RET
;查表子程序
TAB: INC A ;基地址加一
MOVC A, @A+PC ;查段码表,取其相应的段码
RET
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,80H,090H,088H,083H,0c6H,0a1H,86H,8eH,0bfH,89H;(0-9 A-F)共阳段码表
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -