⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sinter12-3.asm

📁 详细介绍了C语言开发DSP嵌入式系统
💻 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 + -