📄 test1.asm
字号:
MOV A,O_YL
JNB ACC.3,CCW_5
LCALL PR5 ; 区域E2
LJMP CCW_6
CCW_5: LCALL PR2 ; 区域E1
CCW_6: INC CODE ; 间址寄存器加1
INC O_XL ; 列地址寄存器加1
MOV A,O_XL ; 判列地址是否超出区域范围
CJNE A,#PARA1,CCW_7
CCW_7: JC CCW_8 ; 未超出则继续
MOV A,O_YL ; 超出则判是否在区域E2
JB ACC.3,CCW_8 ; 在区域E2则退出
SETB ACC.3 ; 在区域E1则修改成区域E2
MOV O_YL,A
MOV COM,#00H ; 设置区域E2列地址为"0"
LCALL PR4
CCW_8: DJNZ COUNT1,CCW_4 ; 当页循环
MOV A,O_YL ; 读页地址寄存器
JB ACC.7,CCW_9 ; 判完成标志D7位, "1"则完成退出
INC A ; 否则页地址加1
SETB ACC.7 ; 置完成位为"1"
CLR ACC.3
MOV O_YL,A
MOV CODE,#10H ; 间址寄存器设置为16
LJMP CCW_1 ; 大循环
CCW_9: RET
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
; 绘点子程序W_DOT
; 程序参数选择:PARA1
; 占用内部资源:O_XL,O_YL,A,B,DPTR
; 内部调用子程序:PR1,PR2,PR3,PR4,PR5,PR6
; 程序调用入口: W_DOT
; 程序输入变量: O_XL,O_YL
W_DOT: MOV A,O_YL ; 读行地址寄存器
ANL A,#7FH ; 屏蔽点标志位
MOV B,#08H ; 8点行/页
DIV AB ; A为页地址,B为点位置
ORL A,#0B8H ; 设置页面地址
MOV COM,A
LCALL PR1
LCALL PR4
INC B ; B作为循环量加1
SETB C ; 设置点数据
CLR A ; A=0
W_DOT1: RLC A ; 数据带进位左移位
DJNZ B,W_DOT1 ; 循环将点数据移到位
PUSH ACC ; 点数据入栈
MOV A,O_XL ; 读列寄存器
CLR C
SUBB A,#PARA1 ; 列地址-模块参数
JNC W_DOT4 ; ≥0为右半屏显示区域(E2)
MOV COM,O_XL ; 〈0为左半屏显示区域(E1)
LCALL PR1 ; 设置列地址
MOV COM,#0E0H ; 设置改写方式
LCALL PR1
LCALL PR3 ; 读显示数据(空读)
LCALL PR3 ; 读显示数据
MOV A,O_YL ; 取点标志位置入进位位C
MOV C,ACC.7
POP ACC ; 取点数据
JNC W_DOT2 ; 判点标志为"0"?
ORL A,DAT1 ; 将点数据"1"写入当前显示数据
LJMP W_DOT3
W_DOT2: CPL A ; 点数据取反
ANL A,DAT1 ; 将点数据"0"写入当前显示数据
W_DOT3: MOV DAT1,A ; 写入数据
LCALL PR2
MOV COM,#0EEH ; 退出改写方式
LCALL PR1
RET
W_DOT4: MOV COM,A ; 设置列地址
LCALL PR4
MOV COM,#0E0H ; 设置改写方式
LCALL PR4
LCALL PR6 ; 读显示数据(空读)
LCALL PR6 ; 读显示数据
MOV A,O_YL ; 取点标志位置入进位位C
MOV C,ACC.7
POP ACC ; 取点数据
JNC W_DOT5 ; 判点标志为"0"?
ORL A,DAT1 ; 将点数据"1"写入当前显示数据
LJMP W_DOT6
W_DOT5: CPL A ; 点数据取反
ANL A,DAT1 ; 将点数据"0"写入当前显示数据
W_DOT6: MOV DAT1,A ; 写入数据
LCALL PR5
W_DOT7: MOV COM,#0EEH ; 退出改写方式
LCALL PR4
RET
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
; 等待状态的进入子程序
; 内部调用子程序:PR1,PR4
; 程序调用入口: SUSPEND-ON
; 程序输入变量: 无
; 程序文件名: SUSPEND.ASM
SUSPON: MOV COM,#0AEH ; 先关显示
LCALL PR1
LCALL PR4
MOV COM,#0A5H ; 再进入等待状态
LCALL PR1
LCALL PR4
RET
; 等待状态退出子程序
; 内部调用子程序:PR1,PR4
; 程序调用入口: SUSPEND-OFF
; 程序输入变量: 无
; 程序文件名:SUSPEND.ASM
SUSPOFF: MOV COM,#0AFH ; 先退出等待状态
LCALL PR1
LCALL PR4
MOV COM,#0A4H ; 再开显示
LCALL PR1
LCALL PR4
RET
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;====================== 西文字符库 =============================
;================适应SED1520控制器=====================
CHTAB: DB 000H,000H,000H,000H,000H,000H,000H,000H ;" "=00H
DB 000H,000H,000H,04FH,000H,000H,000H,000H ;"!"=01H
DB 000H,000H,007H,000H,007H,000H,000H,000H ;"""=02H
DB 000H,014H,07FH,014H,07FH,014H,000H,000H ;"#"=03H
DB 000H,024H,02AH,07FH,02AH,012H,000H,000H ;"$"=04H
DB 000H,023H,013H,008H,064H,062H,000H,000H ;"%"=05H
DB 000H,036H,049H,055H,022H,050H,000H,000H ;"&"=06H
DB 000H,000H,005H,003H,000H,000H,000H,000H ;"'"=07H
DB 000H,000H,01CH,022H,041H,000H,000H,000H ;"("=08H
DB 000H,000H,041H,022H,01CH,000H,000H,000H ;")"=09H
DB 000H,014H,008H,03EH,008H,014H,000H,000H ;"*"=0AH
DB 000H,008H,008H,03EH,008H,008H,000H,000H ;"+"=0BH
DB 000H,000H,050H,030H,000H,000H,000H,000H ;";"=0CH
DB 000H,008H,008H,008H,008H,008H,000H,000H ;"-"=0DH
DB 000H,000H,060H,060H,000H,000H,000H,000H ;"."=0EH
DB 000H,020H,010H,008H,004H,002H,000H,000H ;"/"=0FH
DB 000H,03EH,051H,049H,045H,03EH,000H,000H ;"0"=10H
DB 000H,000H,042H,07FH,040H,000H,000H,000H ;"1"=11H
DB 000H,042H,061H,051H,049H,046H,000H,000H ;"2"=12H
DB 000H,021H,041H,045H,04BH,031H,000H,000H ;"3"=13H
DB 000H,018H,014H,012H,07FH,010H,000H,000H ;"4"=14H
DB 000H,027H,045H,045H,045H,039H,000H,000H ;"5"=15H
DB 000H,03CH,04AH,049H,049H,030H,000H,000H ;"6"=16H
DB 000H,001H,001H,079H,005H,003H,000H,000H ;"7"=17H
DB 000H,036H,049H,049H,049H,036H,000H,000H ;"8"=18H
DB 000H,006H,049H,049H,029H,01EH,000H,000H ;"9"=19H
DB 000H,000H,036H,036H,000H,000H,000H,000H ;":"=1AH
DB 000H,000H,056H,036H,000H,000H,000H,000H ;";"=1BH
DB 000H,008H,014H,022H,041H,000H,000H,000H ;"<"=1CH
DB 000H,014H,014H,014H,014H,014H,000H,000H ;"="=1DH
DB 000H,000H,041H,022H,014H,008H,000H,000H ;">"=1EH
DB 000H,002H,001H,051H,009H,006H,000H,000H ;"?"=1FH
DB 000H,032H,049H,079H,041H,03EH,000H,000H ;"@"=20H
DB 000H,07EH,011H,011H,011H,07EH,000H,000H ;"A"=21H
DB 000H,041H,07FH,049H,049H,036H,000H,000H ;"B"=22H
DB 000H,03EH,041H,041H,041H,022H,000H,000H ;"C"=23H
DB 000H,041H,07FH,041H,041H,03EH,000H,000H ;"D"=24H
DB 000H,07FH,049H,049H,049H,049H,000H,000H ;"E"=25H
DB 000H,07FH,009H,009H,009H,001H,000H,000H ;"F"=26H
DB 000H,03EH,041H,041H,049H,07AH,000H,000H ;"G"=27H
DB 000H,07FH,008H,008H,008H,07FH,000H,000H ;"H"=28H
DB 000H,000H,041H,07FH,041H,000H,000H,000H ;"I"=29H
DB 000H,020H,040H,041H,03FH,001H,000H,000H ;"J"=2AH
DB 000H,07FH,008H,014H,022H,041H,000H,000H ;"K"=2BH
DB 000H,07FH,040H,040H,040H,040H,000H,000H ;"L"=2CH
DB 000H,07FH,002H,00CH,002H,07FH,000H,000H ;"M"=2DH
DB 000H,07FH,006H,008H,030H,07FH,000H,000H ;"N"=2EH
DB 000H,03EH,041H,041H,041H,03EH,000H,000H ;"O"=2FH
DB 000H,07FH,009H,009H,009H,006H,000H,000H ;"P"=30H
DB 000H,03EH,041H,051H,021H,05EH,000H,000H ;"Q"=31H
DB 000H,07FH,009H,019H,029H,046H,000H,000H ;"R"=32H
DB 000H,026H,049H,049H,049H,032H,000H,000H ;"S"=33H
DB 000H,001H,001H,07FH,001H,001H,000H,000H ;"T"=34H
DB 000H,03FH,040H,040H,040H,03FH,000H,000H ;"U"=35H
DB 000H,01FH,020H,040H,020H,01FH,000H,000H ;"V"=36H
DB 000H,07FH,020H,018H,020H,07FH,000H,000H ;"W"=37H
DB 000H,063H,014H,008H,014H,063H,000H,000H ;"X"=38H
DB 000H,007H,008H,070H,008H,007H,000H,000H ;"Y"=39H
DB 000H,061H,051H,049H,045H,043H,000H,000H ;"Z"=3AH
DB 000H,000H,07FH,041H,041H,000H,000H,000H ;"["=3BH
DB 000H,002H,004H,008H,010H,020H,000H,000H ;"\"=3CH
DB 000H,000H,041H,041H,07FH,000H,000H,000H ;"]"=3DH
DB 000H,004H,002H,001H,002H,004H,000H,000H ;"^"=3EH
DB 000H,040H,040H,040H,040H,040H,000H,000H ;"_"=3FH
DB 000H,001H,002H,004H,000H,000H,000H,000H ;"`"=40H
DB 000H,020H,054H,054H,054H,078H,000H,000H ;"a"=41H
DB 000H,07FH,048H,044H,044H,038H,000H,000H ;"b"=42H
DB 000H,038H,044H,044H,044H,028H,000H,000H ;"c"=43H
DB 000H,038H,044H,044H,048H,07FH,000H,000H ;"d"=44H
DB 000H,038H,054H,054H,054H,018H,000H,000H ;"e"=45H
DB 000H,000H,008H,07EH,009H,002H,000H,000H ;"f"=46H
DB 000H,00CH,052H,052H,04CH,03EH,000H,000H ;"g"=47H
DB 000H,07FH,008H,004H,004H,078H,000H,000H ;"h"=48H
DB 000H,000H,044H,07DH,040H,000H,000H,000H ;"i"=49H
DB 000H,020H,040H,044H,03DH,000H,000H,000H ;"j"=4AH
DB 000H,000H,07FH,010H,028H,044H,000H,000H ;"k"=4BH
DB 000H,000H,041H,07FH,040H,000H,000H,000H ;"l"=4CH
DB 000H,07CH,004H,078H,004H,078H,000H,000H ;"m"=4DH
DB 000H,07CH,008H,004H,004H,078H,000H,000H ;"n"=4EH
DB 000H,038H,044H,044H,044H,038H,000H,000H ;"o'=4FH
DB 000H,07EH,00CH,012H,012H,00CH,000H,000H ;"p"=50H
DB 000H,00CH,012H,012H,00CH,07EH,000H,000H ;"q"=51H
DB 000H,07CH,008H,004H,004H,008H,000H,000H ;"r"=52H
DB 000H,058H,054H,054H,054H,064H,000H,000H ;"s"=53H
DB 000H,004H,03FH,044H,040H,020H,000H,000H ;"t"=54H
DB 000H,03CH,040H,040H,03CH,040H,000H,000H ;"u"=55H
DB 000H,01CH,020H,040H,020H,01CH,000H,000H ;"v"=56H
DB 000H,03CH,040H,030H,040H,03CH,000H,000H ;"w"=57H
DB 000H,044H,028H,010H,028H,044H,000H,000H ;"x"=58H
DB 000H,01CH,0A0H,0A0H,090H,07CH,000H,000H ;"y"=59H
DB 000H,044H,064H,054H,04CH,044H,000H,000H ;"z"=5AH
DB 000H,000H,008H,036H,041H,000H,000H,000H ;"{"=5BH
DB 000H,000H,000H,077H,000H,000H,000H,000H ;"|"=5CH
DB 000H,000H,041H,036H,008H,000H,000H,000H ;"}"=5DH
DB 000H,002H,001H,002H,004H,002H,000H,000H ;"~"=5FH
DB 000H,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H ;" "=60H
;===================== THE END =================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -