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

📄 12-28final.asm

📁 详细介绍了C语言开发DSP嵌入式系统
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	mov disp_x,#0bah
	mov disp_y,#40h
	mov r4,#40h
	lcall cursor
	ret

cw12:	jnc cw_12	
	ret
cw_12:	cjne r1,#12,cw18	;compare with 12
	inc r2
	mov disp_x,#0bah
	mov disp_y,#70h	
	lcall clrcur

	mov disp_x,#0bch
	mov disp_y,#40h
	mov r4,#40h
	lcall cursor	
	ret

cw18:	jnc cw_18	
	ret
cw_18:	cjne r1,#18,cw24	;compare with 18
	inc r2
	mov disp_x,#0bch
	mov disp_y,#70h	
	lcall clrcur

	mov disp_x,#0beh
	mov disp_y,#40h
	mov r4,#40h	
	ret

cw24:	jnc cw_24	
	ret
cw_24:	cjne r1,#24,clrr1	;compare with 24
        ;clr ea                  ;关中断,只有再次使用换屏键才可以打开键盘中断
	mov r1,#0		;clear r1 and wait for the next key
	ret

clrr1:	nop			;lcall inpara4			
	ret

;*********************************************************************************
;**********************清屏***********************
clears:         MOV	DISP_Z,#0C0H
                SETB	CS1
		CLR	CS2
		MOV	DISP_X,#0B8H
		MOV	DISP_Y,#40H
		MOV	LONG,#40H
		MOV	WIDE,#02H
		MOV	DPTR,#clear
		LCALL	para_DISP
		MOV	DISP_X,#0BAH
		MOV	DPTR,#clear
		LCALL	para_DISP
		MOV	DISP_X,#0BCH
		MOV	DPTR,#clear
		LCALL	para_DISP
		MOV	DISP_X,#0BEH
		MOV	DPTR,#clear
		LCALL	para_DISP

		CLR	CS1
		SETB	CS2
		MOV	DISP_X,#0B8H
		MOV	DISP_Y,#40H
		MOV	LONG,#40H
		MOV	WIDE,#02H
		MOV	DPTR,#clear
		LCALL	para_DISP
		MOV	DISP_X,#0BAH
		MOV	DPTR,#clear
		LCALL	para_DISP
		MOV	DISP_X,#0BCH
		MOV	DPTR,#clear
		LCALL	para_DISP
		MOV	DISP_X,#0BEH
		MOV	DPTR,#clear
		LCALL	para_DISP

		ret



;***********************用户参数值输入************
inpara1:	SETB	CS2			;输入参数子程序
		clr	CS1

		MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
		MOV	LONG,#08H
		MOV	WIDE,#02H
		lcall   ipd1
		ret

inpara2:	MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
		MOV	LONG,#08H
		MOV	WIDE,#02H
		lcall   ipd2
		ret
inpara3:	MOV	DISP_X,#0BcH
		MOV	DISP_Y,r4
		MOV	LONG,#08H
		MOV	WIDE,#02H
		lcall   ipd3
		ret
inpara4:	MOV	DISP_X,#0BeH
		MOV	DISP_Y,r4
		MOV	LONG,#08H
		MOV	WIDE,#02H
		lcall   ipd4
                ret

;********************第一行参数输入显示*********************
ipd1:           clr cs1
                setb cs2

loopif:         mov     a,@r0


numif0:         cjne    a,#10,numif1
                mov     dptr,#numtab0
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H            ;第一行行坐标
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numif1:         cjne    a,#1,numif2
                mov     dptr,#numtab1
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numif2:         cjne    a,#2,numif3
                mov     dptr,#numtab2
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numif3:         cjne    a,#3,numif4
                mov     dptr,#numtab3
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numif4:         cjne    a,#4,numif5
                mov     dptr,#numtab4
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopif1:        ljmp    loopif

numif5:         cjne    a,#5,numif6
                mov     dptr,#numtab5
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopif2:        ljmp    loopif

numif6:         cjne    a,#6,numif7
                mov     dptr,#numtab6
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopif3:        ljmp    loopif

numif7:         cjne    a,#7,numif8
                mov     dptr,#numtab7
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopif4:        ljmp    loopif

numif8:         cjne    a,#8,numif9
                mov     dptr,#numtab8
                lcall   para_disp
		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopif5:        ljmp    loopif

numif9:         cjne    a,#9,loopif1
                mov     dptr,#numtab9
                lcall   para_disp
 		lcall	parazbif
                MOV	DISP_X,#0B8H
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopif6:        ljmp    loopif


;****************第一行系统参数显示坐标计算***********
parazbif:	mov disp_x,#0b8h
		push a                      ;暂存键值
		mov a,disp_y
		add a,#08h
		mov r4,a
		pop a
		ret



;********************第二行参数输入显示*********************
ipd2:           clr cs1
                setb cs2

loopis:         mov     a,@r0


numis0:         cjne    a,#10,numis1
                mov     dptr,#numtab0
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH            ;第一行行坐标
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numis1:         cjne    a,#1,numis2
                mov     dptr,#numtab1
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numis2:         cjne    a,#2,numis3
                mov     dptr,#numtab2
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numis3:         cjne    a,#3,numis4
                mov     dptr,#numtab3
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numis4:         cjne    a,#4,numis5
                mov     dptr,#numtab4
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopis1:        ljmp    loopis

numis5:         cjne    a,#5,numis6
                mov     dptr,#numtab5
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopis2:        ljmp    loopis

numis6:         cjne    a,#6,numis7
                mov     dptr,#numtab6
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopis3:        ljmp    loopis

numis7:         cjne    a,#7,numis8
                mov     dptr,#numtab7
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopis4:        ljmp    loopis

numis8:         cjne    a,#8,numis9
                mov     dptr,#numtab8
                lcall   para_disp
		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopis5:        ljmp    loopis

numis9:         cjne    a,#9,loopis1
                mov     dptr,#numtab9
                lcall   para_disp
 		lcall	parazbis
                MOV	DISP_X,#0BaH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopis6:        ljmp    loopis


;****************第二行系统参数显示坐标计算***********
parazbis:	mov disp_x,#0bah
		push a                      ;暂存键值
		mov a,disp_y
		add a,#08h
		mov r4,a
		pop a
		ret

;********************第三行参数输入显示*********************
ipd3:           clr cs1
                setb cs2

loopit:         mov     a,@r0


numit0:         cjne    a,#10,numit1
                mov     dptr,#numtab0
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH            ;第一行行坐标
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numit1:         cjne    a,#1,numit2
                mov     dptr,#numtab1
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numit2:         cjne    a,#2,numit3
                mov     dptr,#numtab2
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numit3:         cjne    a,#3,numit4
                mov     dptr,#numtab3
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH
		MOV	DISP_Y,r4
                lcall   cursor
                ret

numit4:         cjne    a,#4,numit5
                mov     dptr,#numtab4
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopit1:        ljmp    loopit

numit5:         cjne    a,#5,numit6
                mov     dptr,#numtab5
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopit2:        ljmp    loopit

numit6:         cjne    a,#6,numit7
                mov     dptr,#numtab6
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopit3:        ljmp    loopit

numit7:         cjne    a,#7,numit8
                mov     dptr,#numtab7
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH
		MOV	DISP_Y,r4
                lcall   cursor
                ret
loopit4:        ljmp    loopit

numit8:         cjne    a,#8,numit9
                mov     dptr,#numtab8
                lcall   para_disp
		lcall	parazbit
                MOV	DISP_X,#0BcH

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -