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

📄 numberlast.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

;************测试********************************************
                mov     r7,#08h
                mov     r0,#40h
loop:           mov     a,@r0
num0:           cjne    a,#0,num1
                mov     dptr,#numtab0
                lcall   num_disp
;*************************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#48H
		
;***********************
                inc     r0
                djnz    r7,loop
                sjmp    para1
num1:           cjne    a,#1,num2
                mov     dptr,#numtab1
                lcall   num_disp
;*********************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#50H
		
;*********************
                inc     r0
                djnz    r7,loop
                sjmp    para1
num2:           cjne    a,#2,num3
                mov     dptr,#numtab2
                lcall   num_disp
;*******************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#58H
		
;********************
                inc     r0
                djnz    r7,loop
                sjmp    para1
num3:           cjne    a,#3,num4
                mov     dptr,#numtab3
                lcall   num_disp
;********************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#60H
		
;********************
                inc     r0
                djnz    r7,loop
                sjmp    para1
num4:           cjne    a,#4,num5
                mov     dptr,#numtab4
                lcall   num_disp
;********************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#68H
	
;********************
                inc     r0
                djnz    r7,loop1
                ljmp    para1
loop1:          ljmp    loop

num5:           cjne    a,#5,num6
                mov     dptr,#numtab5
                lcall   num_disp
;**********************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#70H
		
;******************
                inc     r0
                djnz    r7,loop2
                ljmp    para1
loop2:          ljmp    loop

num6:           cjne    a,#6,num7
                mov     dptr,#numtab6
                lcall   num_disp
;*******************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#78H
		
;*****************
                inc     r0
                djnz    r7,loop3
                ajmp    para1
loop3:          ljmp    loop

num7:           cjne    a,#7,num8
                mov     dptr,#numtab7
                lcall   num_disp
;**********************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#80H
	
;************************
                inc     r0
                djnz    r7,loop4
                ljmp    para1
loop4:          ljmp    loop

num8:           cjne    a,#8,num9
                mov     dptr,#numtab8
                lcall   num_disp
;***********************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#88H
	
;**********************
                inc     r0
                djnz    r7,loop1
                ljmp    para1
loop5:          ljmp    loop

num9:           cjne    a,#9,loop1
                mov     dptr,#numtab9
                lcall   num_disp
;*******************
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,#90H
		
;*********************
                inc     r0
                djnz    r7,loop6
                ljmp    para1
loop6:          ljmp    loop

;----------------------------------------------
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 + -