📄 2b_0408.asm
字号:
;长沙太阳人电子有限公司二线式串行接口汇编测试程序(for SMS0408)
;电话: 0731-4167806,4167808
;E-mail: www@sunman.cn
;Create by : 谭超 E-mail: tanchao_1@126.com
CLKPIN BIT P1.3 ;用户自定义CLK对应引脚
DIPIN BIT P1.1 ;用户自定义DI对应引脚
LCDBUF EQU 10H ;用户自定义LCD缓冲区首地址
LCDBUFEND EQU LCDBUF+4 ;用户自定义LCD缓冲区末地址
ORG 0000H
JMP START
START: MOV SP,#60H
MAIN:
CALL USERCONT0
CALL TRANSRAM ;显示0
CALL DELAY
CALL USERCONT1
CALL TRANSRAM ;显示1
CALL DELAY
CALL USERCONT2
CALL TRANSRAM ;显示2
CALL DELAY
CALL USERCONT3
CALL TRANSRAM ;显示3
CALL DELAY
CALL USERCONT4
CALL TRANSRAM ;显示4
CALL DELAY
CALL USERCONT5
CALL TRANSRAM ;显示5
CALL DELAY
CALL USERCONT6
CALL TRANSRAM ;显示6
CALL DELAY
CALL USERCONT7
CALL TRANSRAM ;显示7
CALL DELAY
CALL USERCONT8
CALL TRANSRAM ;显示8
CALL DELAY
CALL USERCONT
CALL TRANSRAM ;全显
CALL DELAY
JMP MAIN
USERCONT0:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#10001000B
MOV LCDBUF+2,#10001000B
MOV LCDBUF+3,#10001000B
MOV LCDBUF+4,#10001000B
RET
USERCONT1:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#10111011B
MOV LCDBUF+2,#10111011B
MOV LCDBUF+3,#10111011B
MOV LCDBUF+4,#10111011B
RET
USERCONT2:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#11000001B
MOV LCDBUF+2,#11000001B
MOV LCDBUF+3,#11000001B
MOV LCDBUF+4,#11000001B
RET
USERCONT3:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#10010001B
MOV LCDBUF+2,#10010001B
MOV LCDBUF+3,#10010001B
MOV LCDBUF+4,#10010001B
RET
USERCONT4:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#10110010B
MOV LCDBUF+2,#10110010B
MOV LCDBUF+3,#10110010B
MOV LCDBUF+4,#10110010B
RET
USERCONT5:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#10010100B
MOV LCDBUF+2,#10010100B
MOV LCDBUF+3,#10010100B
MOV LCDBUF+4,#10010100B
RET
USERCONT6:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#10000100B
MOV LCDBUF+2,#10000100B
MOV LCDBUF+3,#10000100B
MOV LCDBUF+4,#10000100B
RET
USERCONT7:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#10111001B
MOV LCDBUF+2,#10111001B
MOV LCDBUF+3,#10111001B
MOV LCDBUF+4,#10111001B
RET
USERCONT8:
MOV LCDBUF+0,#11111111B
MOV LCDBUF+1,#10000000B
MOV LCDBUF+2,#10000000B
MOV LCDBUF+3,#10000000B
MOV LCDBUF+4,#10000000B
RET
USERCONT:
MOV LCDBUF+0,#11111101B
MOV LCDBUF+1,#00000000B
MOV LCDBUF+2,#00000000B
MOV LCDBUF+3,#00000000B
MOV LCDBUF+4,#00000000B
RET
TRANSRAM:
MOV R1,#LCDBUF
TSR_PA: MOV A,@R1
CALL TRANSBYTE
INC R1
CJNE R1,#LCDBUFEND+1,TSR_PA
RET
TRANSBYTE:
MOV R0,#8
TSB_PA: RRC A
CALL TRANSBIT
DJNZ R0,TSB_PA
RRC A
RET
TRANSBIT:
MOV DIPIN,C ;先送数据到数据口线DI
SETB CLKPIN ;再使时钟口线发一个负脉冲
CLR CLKPIN
SETB CLKPIN
RET
DELAY: ;延时子程序
MOV R0,#30
DL4_PA: MOV R1,#100
DL4_PB: MOV R2,#100
DJNZ R2,$
DJNZ R1,DL4_PB
DJNZ R0,DL4_PA
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -