📄 1621v2.asm
字号:
di bit p1.0
wwr bit p1.1
CS bit p1.2
org 0000h
jmp init
org 0030h
init:
mov r0,#03h
mov a,#10000000b ;send command "100"
lcall trancmd
mov r0,#09h
mov a,#00000001b ;turn on system oscillator
lcall trancmd
mov r0,#09h
mov a,#00000011b ;turn on lcd bias generator
lcall trancmd
mov r0,#09h
mov a,#00101001b ;lcd 1/3 bias option
lcall trancmd
setb cs
main:
mov dptr,#word0
lcall trandata
mov dptr,#word1
lcall trandata
mov dptr,#word2
lcall trandata
mov dptr,#word3
lcall trandata
mov dptr,#wordall
lcall trandata
tone:
setb cs
mov r0,#3
mov a,#10000000b ;'100'
lcall trancmd
mov r0,#9
mov a,#00001001b ;open 'bz'
lcall trancmd
lcall delayl
mov r0,#9
mov a,#00001000b ;close 'bz'
lcall trancmd
setb cs
mov r0,#3
mov a,#10000000b ;'100'
lcall trancmd
mov r0,#9 ;system off
mov a,#00000100b
lcall trancmd
setb cs
jmp init
jmp init
trancmd:
clr cs
loop: rlc a
mov di,c
clr wwr
lcall delay
setb wwr
lcall delay
djnz r0,loop
ret
trandata:
mov r0,#03h
mov a,#10100000b ;send command "101"
lcall trancmd
mov r0,#06h
mov a,#00000000b ;send address "000000"
lcall trancmd
mov r5,#16
send: clr a
movc a,@a+dptr
mov r0,#8
lcall trancmd
inc dptr
djnz r5,send
setb cs
lcall delayl
ret
delay:
mov r4,#5
dl1: djnz r4,dl1
ret
delayl:
mov r1,#100
dl1l: mov r2,#20
dl2l: mov r3,#100
dl3l: djnz r3,dl3l
djnz r2,dl2l
djnz r1,dl1l
ret
word0:
db 07Dh,07Dh,07Dh,07Dh,07Dh,07Dh,07Dh,07Dh,07Dh,07Dh,07Dh,07Dh,
word1:
db 060h,060h,060h,0E0h,060h,060h,0E0h,060h,060h,0E0h,060h,060h,
word2:
db 05Bh,05Bh,0DBh,05Bh,05Bh,0DBh,05Bh,05Bh,0DBh,05Bh,05Bh,05Bh,
word3:
db 07Ah,0FAh,07Ah,07Ah,0FAh,07Ah,07Ah,0FAh,07Ah,07Ah,07Ah,07Ah,
wordall:
db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -