📄 prt.asm
字号:
PRT_DATA EQU 0F200H ;打印口的数据口地址
PRT_STRO EQU P1.0 ;打印口STRO线
PRT_BUSY EQU P1.1 ;打印口BUSY线
ORG 0000H
LJMP START
ORG 0040H
START:
MOV SP,#60H
SETB PRT_STRO ;初始化打印口
SETB PRT_BUSY
MOV DPTR,#PRT_TAB ;置表头地址
MOV R0,#0 ;置计数器
PR_STR: MOV A,R0
MOVC A,@A+DPTR ;读表格数据
CJNE A,#0FFH,PRINT ;判断字符串结束标志
SJMP $
PRINT:
LCALL PRT_CHAR ;打印字符
INC R0 ;计数器加1
AJMP PR_STR
PRT_CHAR: ;打印字符子程序
PUSH PSW ;保存现场
PUSH DPH
PUSH DPL
SETB PRT_BUSY
NOP
JB PRT_BUSY,$ ;判断BUSY/状态
MOV DPTR,#PRT_DATA ;置数据口地址
MOVX @DPTR,A ;发送数据
SETB PRT_STRO
CLR PRT_STRO
NOP
NOP
SETB PRT_STRO ;发STRO负脉冲
POP DPL ;恢复现场
POP DPH
POP PSW
RET
PRT_TAB DB 31H,32H,33H,34H,35H,36H,0DH,0AH,37H,38H,39H,0FFH
;1 2 3 4 5 6 ENTER 标志
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -