📄 sinter12-3.asm
字号:
;OCM12864模块测试程序**************************
;完成时间2008.11.28
;制作人:hdzhangx
;**********************************************
D_I EQU P2.0 ;Data or Instrument Select,H:写数据,L:写指令
R_W EQU P2.1 ;Write or Read,H:read,L:write
E EQU P2.7 ;读写使能
CS1 EQU P2.2 ;CS1=H,选择左半屏
CS2 EQU P2.3
;CS2=H,选择右半屏
RESET EQU P3.5 ;Lcm reset,低有效
DISP_X EQU 30H
DISP_Y EQU 31H
DISP_Z EQU 32H
LONG EQU 33H
WIDE EQU 34H
DATA1_WR EQU 35H
DATA2_WR EQU 36H
COUNTER1 EQU 37H
COUNTER2 EQU 38H
COUNTER3 EQU 39H
;**********************************************
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV SP,#5FH
CLR RESET
NOP
NOP
NOP
SETB RESET
MOV DISP_Z,#0c0H
;**********参数区域赋值******
mov r0,#40h
mov r6,#08h
mov a,#0
loopnum: mov @r0,a
inc a
inc r0
djnz r6,loopnum
;****************************
;连续区域数字
para1: SETB CS2
CLR CS1
MOV DISP_X,#0B8H
MOV DISP_Y,#40H
MOV LONG,#08H
MOV WIDE,#02H
;************测试********************************************
;***************第二行参数显示*****************
paras: mov r7,#08h
mov r0,#40h
loops: mov a,@r0
num10: cjne a,#0,nums1
mov dptr,#numtab0
lcall num_disp
;*************************
MOV DISP_X,#0BAH
MOV DISP_Y,#48H
;***********************
inc r0
djnz r7,loops
sjmp para1
nums1: cjne a,#1,nums2
mov dptr,#numtab1
lcall num_disp
;*********************
MOV DISP_X,#0BAH
MOV DISP_Y,#50H
;*********************
inc r0
djnz r7,loops
sjmp para1
nums2: cjne a,#2,nums3
mov dptr,#numtab2
lcall num_disp
;*******************
MOV DISP_X,#0BAH
MOV DISP_Y,#58H
;********************
inc r0
djnz r7,loops
sjmp para1
nums3: cjne a,#3,nums4
mov dptr,#numtab3
lcall num_disp
;********************
MOV DISP_X,#0BAH
MOV DISP_Y,#60H
;********************
inc r0
djnz r7,loops
sjmp para1
nums4: cjne a,#4,nums5
mov dptr,#numtab4
lcall num_disp
;********************
MOV DISP_X,#0BAH
MOV DISP_Y,#68H
;********************
inc r0
djnz r7,loops1
ljmp para1
loops1: ljmp loops
nums5: cjne a,#5,nums6
mov dptr,#numtab5
lcall num_disp
;**********************
MOV DISP_X,#0BAH
MOV DISP_Y,#70H
;******************
inc r0
djnz r7,loops2
ljmp para1
loops2: ljmp loops
nums6: cjne a,#6,nums7
mov dptr,#numtab6
lcall num_disp
;*******************
MOV DISP_X,#0BAH
MOV DISP_Y,#78H
;*****************
inc r0
djnz r7,loops3
ajmp para1
loops3: ljmp loops
nums7: cjne a,#7,nums8
mov dptr,#numtab7
lcall num_disp
;**********************
MOV DISP_X,#0BAH
MOV DISP_Y,#80H
;************************
inc r0
djnz r7,loops4
ljmp para1
loops4: ljmp loops
nums8: cjne a,#8,nums9
mov dptr,#numtab8
lcall num_disp
;***********************
MOV DISP_X,#0BAH
MOV DISP_Y,#88H
;**********************
inc r0
djnz r7,loops5
ljmp para1
loops5: ljmp loops
nums9: cjne a,#9,loops1
mov dptr,#numtab9
lcall num_disp
;*******************
MOV DISP_X,#0BAH
MOV DISP_Y,#90H
;*********************
inc r0
djnz r7,loops6
ljmp para1
loops6: ljmp loops
;----------------------------------------------
num_DISP: LCALL DISP ;显示LONGxWIDE大小的图形,本例为汉字
MOV COUNTER1,WIDE
num_DISP1: LCALL WR_ZB
MOV COUNTER2,LONG
num_DISP2: CLR A
MOVC A,@A+DPTR
LCALL WR_DATA
INC DPTR
DJNZ COUNTER2,num_DISP2
INC DISP_X
DJNZ COUNTER1,num_DISP1
RET
;----------------------------------------------
WR_ZB: MOV A,DISP_X ;写坐标
LCALL WR_INT
MOV A,DISP_Z
LCALL WR_INT
MOV A,DISP_Y
LCALL WR_INT
RET
;----------------------------------------------
DISP: MOV A,#3EH
LCALL WR_INT
MOV A,#3FH
LCALL WR_INT
RET
;**********************************************
WR_INT: LCALL CHE_BUSY ;WRITE INSTRUCTION
CLR D_I
CLR R_W
MOV P0,A
NOP
SETB E
NOP
NOP
CLR E
RET
;----------------------------------------------
WR_DATA: LCALL CHE_BUSY ;WRITE DATA
SETB D_I
CLR R_W
MOV P0,A
NOP
SETB E
NOP
NOP
CLR E
RET
;----------------------------------------------
CHE_BUSY: CLR D_I ;CHECK STATIU
SETB R_W
ANL p0,#0B0H
ORL p0,#80H
NOP
SETB E
JB p0.7,$
JB p0.4,$
CLR E
RET
;**********************************************
DELAY1: MOV COUNTER1,#0FH
DEL11: MOV COUNTER2,#0FFH
DEL12: MOV COUNTER3,#0FFH
DEL13: DJNZ COUNTER3,DEL13
DJNZ COUNTER2,DEL12
DJNZ COUNTER1,DEL11
RET
DELAY2: MOV COUNTER1,#04H
DEL21: MOV COUNTER2,#23H
DEL22: DJNZ COUNTER2,DEL22
DJNZ COUNTER1,DEL21
RET
numtab1:
;1
db 000h,010h,010h,0F8h,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,000h,
db 000h,020h,020h,03Fh,020h,020h,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,000h,000
numtab2:
;2
db 000h,070h,008h,008h,008h,088h,070h,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,000h,
db 000h,030h,028h,024h,022h,021h,030h,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,000h,000
numtab3:
;3
db 000h,030h,008h,088h,088h,048h,030h,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,000h,
db 000h,018h,020h,020h,020h,011h,00Eh,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,000h,000
numtab4:
;4
db 000h,000h,0C0h,020h,010h,0F8h,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,000h,
db 000h,007h,004h,024h,024h,03Fh,024h,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,000h,000
numtab5:
;5
db 000h,0F8h,008h,088h,088h,008h,008h,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,000h,
db 000h,019h,021h,020h,020h,011h,00Eh,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,000h,000
numtab6:
;6
db 000h,0E0h,010h,088h,088h,018h,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,000h,
db 000h,00Fh,011h,020h,020h,011h,00Eh,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,000h,000
numtab7:
;7
db 000h,038h,008h,008h,0C8h,038h,008h,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,000h,
db 000h,000h,000h,03Fh,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,000h,000
numtab8:
;8
db 000h,070h,088h,008h,008h,088h,070h,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,000h,
db 000h,01Ch,022h,021h,021h,022h,01Ch,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,000h,000
numtab9:
;9
db 000h,0E0h,010h,008h,008h,010h,0E0h,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,000h,
db 000h,000h,031h,022h,022h,011h,00Fh,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,000h,000
numtab0:
;0
db 000h,0E0h,010h,008h,008h,010h,0E0h,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,000h,
db 000h,00Fh,010h,020h,020h,010h,00Fh,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,000h,000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -