📄 61503b-8bit.asm
字号:
;*******************************************
;driver ic:rs61503b
;interface:8080-8BIT
;DOTS:240*320
;author:KING
;*******************************************
cs EQU p1.4
res EQU P1.5
rs EQU P1.6
wr_rw EQU P1.7
e_rd EQU P1.3
;*******************************************
;主程序
;*******************************************
ORG 0030H
MAIN:
call initinal
disp:
mov 30h,#22h
call write_command
mov 30h,#0f8h
mov 31h,#00h
call display
CALL DELAY1
call waitkey
mov 30h,#22h
call write_command
mov 30h,#007h
mov 31h,#0e0h
call display
CALL DELAY1
call waitkey
mov 30h,#22h
call write_command
mov 30h,#00h
mov 31h,#1fh
call display
CALL DELAY1
call waitkey
mov 30h,#22h
call write_command
mov 30h,#00h
mov 31h,#00h
call display
CALL DELAY1
call waitkey
mov 30h,#22h
call write_command
mov 30h,#0ffh
mov 31h,#0ffh
call display
CALL DELAY1
call waitkey
call display_graphics
CALL DELAY1
call waitkey
jmp disp
;*******************************************
;初始化CODE子程序
;*******************************************
initinal:
CLR CS
setb res
call delay
clr res
call delay
setb res
call delay
mov 30h,#01h
call write_command
mov 30h,#02h
mov 31h,#08h
call write_data
mov 30h,#02h
call write_command
mov 30h,#07h
mov 31h,#00h
call write_data
mov 30h,#03h
call write_command
mov 30h,#10h
mov 31h,#30h
call write_data
mov 30h,#08h
call write_command
mov 30h,#03h
mov 31h,#06h
call write_data
mov 30h,#70h
call write_command
mov 30h,#1bh
mov 31h,#00h
call write_data
mov 30h,#71h
call write_command
mov 30h,#00h
mov 31h,#03h
call write_data
mov 30h,#7ah
call write_command
mov 30h,#00h
mov 31h,#00h
call write_data
mov 30h,#07h
call write_command
mov 30h,#00h
mov 31h,#21h
call write_data
mov 30h,#18h
call write_command
mov 30h,#00h
mov 31h,#01h
call write_data
mov 30h,#10h
call write_command
mov 30h,#10h
mov 31h,#90h
call write_data
mov 30h,#11h
call write_command
mov 30h,#00h
mov 31h,#07h
call write_data
mov 30h,#12h
call write_command
mov 30h,#11h
mov 31h,#02h
call write_data
mov 30h,#13h
call write_command
mov 30h,#00h
mov 31h,#0fh
call write_data
mov 30h,#14h
call write_command
mov 30h,#80h
mov 31h,#00h
call write_data
mov 30h,#18h
call write_command
mov 30h,#00h
mov 31h,#01h
call write_data
call delay
mov 30h,#07h
call write_command
mov 30h,#00h
mov 31h,#01h
call write_data
lcall delay1
mov 30h,#07h
call write_command
mov 30h,#00h
mov 31h,#21h
call write_data
lcall delay1
mov 30h,#12h
call write_command
mov 30h,#11h
mov 31h,#32h
call write_data
lcall delay1
mov 30h,#07h
call write_command
mov 30h,#02h
mov 31h,#33h
call write_data
lcall delay1
ret
;*******************************************
;写命令子程序
;*******************************************
write_command:
;clr cs
clr rs
;setb e_rd
;setb wr_rw
clr a
mov p2,a
clr wr_rw
setb wr_rw
mov p2,30h
clr wr_rw
setb wr_rw
ret
;*******************************************
;写数据子程序
;*******************************************
write_data:
;clr cs
setb rs
;setb e_rd
setb wr_rw
mov p2,30h
clr wr_rw
setb wr_rw
mov p2,31h
clr wr_rw
setb wr_rw
ret
;*******************************************
;显示RGB子程序
;*******************************************
display:
mov r2,#1
TEST2: mov r1,#176
TEST1: mov r0,#220
TEST0: call write_data
DJNZ R0,TEST0
DJNZ R1,TEST1
DJNZ R2,TEST2
ret
;*******************************************
;显示图片子程序
;*******************************************
display_graphics:
mov dptr,#0000h
clr p3.0
clr p3.1
clr p1.0
clr p1.1
clr p1.2
mov r0,#2
loop10: mov r1,#128
loop11: mov r2,#128
loop12:
clr a
movx a,@dptr
mov 30h,a
inc dptr
movx a,@dptr
mov 31h,a
inc dptr
call write_data
djnz r2,loop12
djnz r1,loop11
djnz r0,loop10
setb p1.0
clr p1.1
clr p1.2
mov r1,#186
loop21: mov r2,#32
loop22:
clr a
movx a,@dptr
mov 30h,a
inc dptr
movx a,@dptr
mov 31h,a
inc dptr
call write_data
djnz r2,loop22
djnz r1,loop21
call delay1
call waitkey
clr p1.0
setb p1.1
clr p1.2
mov dptr,#0000h
mov r0,#2
loop30: mov r1,#128
loop31: mov r2,#128
loop32:
clr a
movx a,@dptr
mov 30h,a
inc dptr
movx a,@dptr
mov 31h,a
inc dptr
call write_data
djnz r2,loop32
djnz r1,loop31
djnz r0,loop30
setb p1.0
setb p1.1
clr p1.2
mov r1,#186
loop41: mov r2,#32
loop42:
clr a
movx a,@dptr
mov 30h,a
inc dptr
movx a,@dptr
mov 31h,a
inc dptr
call write_data
djnz r2,loop42
djnz r1,loop41
call delay1
call waitkey
clr p1.0
clr p1.1
setb p1.2
mov dptr,#0000h
mov r0,#2
loop50: mov r1,#128
loop51: mov r2,#128
loop52:
clr a
movx a,@dptr
mov 30h,a
inc dptr
movx a,@dptr
mov 31h,a
inc dptr
call write_data
djnz r2,loop52
djnz r1,loop51
djnz r0,loop50
setb p1.0
clr p1.1
setb p1.2
mov r1,#186
loop61: mov r2,#32
loop62:
clr a
movx a,@dptr
mov 30h,a
inc dptr
movx a,@dptr
mov 31h,a
inc dptr
call write_data
djnz r2,loop62
djnz r1,loop61
call delay1
call waitkey
clr p1.0
setb p1.1
setb p1.2
mov dptr,#0000h
mov r0,#2
loop70: mov r1,#128
loop71: mov r2,#128
loop72:
clr a
movx a,@dptr
mov 30h,a
inc dptr
movx a,@dptr
mov 31h,a
inc dptr
call write_data
djnz r2,loop72
djnz r1,loop71
djnz r0,loop70
setb p1.0
setb p1.1
setb p1.2
mov r1,#186
loop81: mov r2,#32
loop82:
clr a
movx a,@dptr
mov 30h,a
inc dptr
movx a,@dptr
mov 31h,a
inc dptr
call write_data
djnz r2,loop82
djnz r1,loop81
ret
;*******************************************
;延时子程序(10ms)
;*******************************************
delay: mov r3,#20
loop7: mov r4,#248
loop6: djnz r4,loop6
djnz r3,loop7
ret
;*******************************************
;延时子程序
;*******************************************
delay1: MOV R2,#10
KK: CALL DELAY
djnz r2,KK
ret
;*******************************************
;waitkey子程序
;*******************************************
WAITKEY:
MOV 44H,#05FH
DEL1: LCALL DELAY
DJNZ 44H,DEL1
SETB P3.3
lcall delay
STATUS1:MOV C,P3.3
lcall delay
JNC STATUS1
lcall delay
RET
;*******************************************
;图片数据
;*******************************************
graphics:
DB 0FCH,004H,000H,004H,0FCH,044H,0E0H,014H,00CH,004H,000H,000H,008H,008H,0FCH,000H
DB 000H,000H,000H,000H,008H,008H,0FCH,000H,000H,000H,000H,000H,0FCH,084H,044H,044H
DB 084H,004H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH
DB 0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,0FFH
;*******************************************
end
;*******************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -