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

📄 tyjianpan5.asm

📁 通用键盘显示程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	MOV	39H, R7
	AJMP	JIANX11
JIANX10:	MOV	A, 40H
	CJNE	A, #0bH, JIANX10_1
	MOV	R7, 3bH
	LCALL	JIANY
	MOV	3bH, R7
	AJMP	JIANX11
JIANX10_1:	MOV	A, 40H
	CJNE	A, #0cH, JIANX11
	MOV	R7, 3dH
	LCALL	JIANY
	MOV	3dH, R7
	;AJMP	JIANX11
JIANX11:	nop
	ret
;**********减一子程序
JIANY:	MOV	A, R7
	jz	js1_1	                                    ;为○跳转
	DEC	A
 		 ;********
	ANL	A, #0FH
	CJNE	A, #0FH, TT1_1	                            ;&&
	MOV	A, R7
	DEC	A	                                    ;2002.10.10
	ANL	A, #0F0H
	ADD	A, #09H
	SJMP	T1_1
TT1_1:	MOV	A, R7
	DEC	A
 		 ;********
T1_1:	NOP
	ADD	A, #00H
	DA	A
js1_1:	MOV	R7, A
	RET
;**************************************************
;分加键处理
fenjia:	nop
	MOV	A, 40H
	CJNE	A, #00H, fjia_10
	;手动下处理程序
   ;******
fjia_10:	;jnb	01h, fjia_22
	mov	a, 40h
	cjne	a, #01h, fjia_11
	MOV	A, 24H	                                    ;时间
	ADD	A, #01H
	DA	A
	MOV	24H, A
;fjia_22:	
        AJMP	fjia_21	                            ;
fjia_11:	MOV	A, 40h
	CJNE	A, #02H, fjia_12
	MOV	A, 26H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	26H, A
	AJMP	fjia_21
fjia_12:	MOV	A, 40h
	CJNE	A, #03H, fjia_13
	MOV	A, 2aH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2aH, A
	AJMP	fjia_21
fjia_13:	MOV	A, 40h
	CJNE	A, #04H, fjia_14
	MOV	A, 2cH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2cH, A
	AJMP	fjia_21
fjia_14:	MOV	A, 40h
	CJNE	A, #05H, fjia_15
	MOV	A, 2eH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2eH, A
	AJMP	fjia_21
fjia_15:	MOV	A, 40h
	CJNE	A, #06H, fjia_16
	MOV	A, 30H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	30H, A
	AJMP	fjia_21
fjia_16:	MOV	A, 40h
	CJNE	A, #07H, fjia_17
	MOV	A, 32H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	32H, A
	AJMP	fjia_21
fjia_17:	MOV	A, 40h
	CJNE	A, #08H, fjia_18
	MOV	A, 34H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	34H, A
	AJMP	fjia_21
fjia_18:	MOV	A, 40h
	CJNE	A, #09H, fjia_19
	MOV	A, 36H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	36H, A
	AJMP	fjia_21
fjia_19:	MOV	A, 40h
	CJNE	A, #0aH, fjia_20
	MOV	A, 38H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	38H, A
	AJMP	fjia_21
fjia_20:	MOV	A, 40h
	CJNE	A, #0bH, fjia_20_1
	MOV	A, 3aH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	3aH, A
	AJMP	fjia_21
fjia_20_1:	MOV	A, 40h
	CJNE	A, #0cH, fjia_21
	MOV	A, 3cH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	3cH, A
	;AJMP	fjia_21
fjia_21:
	nop
	ret
;**************************************************
;分减键处理
fenjian:	nop
	MOV	A, 40H
	CJNE	A, #00H, JIANF0
	;手动下处理
   ;******
JIANF0:	
       ;jnb	01h, JIANF12
	MOV	A, 40H
	CJNE	A, #01H, JIANF1
	MOV	R7, 24H
	LCALL	JIANY
	MOV	24H, R7
;JIANF12:	
        LJMP	JIANF11
JIANF1:	MOV	A, 40H
	CJNE	A, #02H, JIANF2
	MOV	R7, 26H
	LCALL	JIANY
	MOV	26H, R7
	LJMP	JIANF11
JIANF2:	MOV	A, 40H
	CJNE	A, #03H, JIANF3
	MOV	R7, 2AH
	LCALL	JIANY
	MOV	2AH, R7
	LJMP	JIANF11
JIANF3:	MOV	A, 40H
	CJNE	A, #04H, JIANF4
	MOV	R7, 2CH
	LCALL	JIANY
	MOV	2CH, R7
	LJMP	JIANF11
JIANF4:	MOV	A, 40H
	CJNE	A, #05H, JIANF5
	MOV	R7, 2EH
	LCALL	JIANY
	MOV	2EH, R7
	LJMP	JIANF11
JIANF5:	MOV	A, 40H
	CJNE	A, #06H, JIANF6
	MOV	R7, 30H
	LCALL	JIANY
	MOV	30H, R7
	LJMP	JIANF11
JIANF6:	MOV	A, 40H
	CJNE	A, #07H, JIANF7
	MOV	R7, 32H
	LCALL	JIANY
	MOV	32H, R7
	LJMP	JIANF11
JIANF7:	MOV	A, 40H
	CJNE	A, #08H, JIANF8
	MOV	R7, 34H
	LCALL	JIANY
	MOV	34H, R7
	LJMP	JIANF11
JIANF8:	MOV	A, 40H
	CJNE	A, #09H, JIANF9
	MOV	R7, 36H
	LCALL	JIANY
	MOV	36H, R7
	LJMP	JIANF11
JIANF9:	MOV	A, 40H
	CJNE	A, #0aH, JIANF10
	MOV	R7, 38H
	LCALL	JIANY
	MOV	38H, R7
	LJMP	JIANF11
JIANF10:	MOV	A, 40H
	CJNE	A, #0bH, JIANF10_1
	MOV	R7, 3AH
	LCALL	JIANY
	MOV	3AH, R7
	AJMP	JIANF11
JIANF10_1:	MOV	A, 40H
	CJNE	A, #0cH, JIANF11
	MOV	R7, 3cH
	LCALL	JIANY
	MOV	3cH, R7
	;AJMP	JIANF11
JIANF11:	nop
	ret
;**************************************************
;显示数据准备程序
sjzb:	nop
	mov	a, 40h
	cjne	a, #00h, sjzb0
	mov	23h, #00h	                            ;状态显示--八指示灯
	mov	a, 25h	                                    ;接受数据显示--查询
	mov	42h, a
	mov	a, 24h
	mov	43h, a
	mov	a, 3bh
	mov	44h, a
	mov	a, 3ah
	mov	45h, a
	ljmp	exjsxs                                      ;退出显示数据准备
	;*******************
	;*******************
sjzb0:	mov	a, 40h	                                    ;显示内容指针
	cjne	a, #01h, sjzb1	                            ;功能指针
	mov	23h, #01h	                            ;状态显示--八指示灯
	clr	led3
	setb    led1	                                    ;上下显示指示
page1: nop	
	mov	a, 25h	                                    ;修改数据显示
	mov	42h, a
	mov	a, 24h
	mov	43h, a
	mov	a, 27h
	mov	44h, a
	mov	a, 26h
	mov	45h, a
	ljmp	exjsxs	                                    ;退出显示数据准备程序
        ;******
sjzb1:	nop
	mov	a, 40h
	cjne	a, #02h, sjzb2	                            ;第二组数据
	clr	led1
	setb    led3
	sjmp	page1
        ;*****     page1   *****
        ;***********************
sjzb2:	mov	a, 40h	                                    ;显示内容指针
	cjne	a, #03h, sjzb3	                            ;功能指针
	mov	23h, #02h	                            ;状态显示--八指示灯
	clr	led3
	setb    led1                                       ;上下显示指示
page2:	nop
	mov	a, 2bh	                                    ;修改数据显示
	mov	42h, a
	mov	a, 2ah
	mov	43h, a
	mov	a, 2dh
	mov	44h, a
	mov	a, 2ch
	mov	45h, a
	ljmp	exjsxs	                                    ;退出显示数据准备程序
        ;******
sjzb3:	nop
	mov	a, 40h
	cjne	a, #04h, sjzb4	                            ;第二组数据
	clr	led1
	setb    led3
	sjmp	page2
        ;******   page2   ******
        ;***********************
sjzb4:	mov	a, 40h	                                    ;显示内容指针
	cjne	a, #05h, sjzb5	                            ;功能指针
	mov	23h, #04h	                            ;状态显示--八指示灯
	clr	led3
	setb    led1                                        ;上下显示指示
page3:	nop
	mov	a, 2fh	                                    ;修改数据显示
	mov	42h, a
	mov	a, 2eh
	mov	43h, a
	mov	a, 31h
	mov	44h, a
	mov	a, 30h
	mov	45h, a
	ljmp	exjsxs	                                    ;退出显示数据准备程序
        ;******
sjzb5:	nop
	mov	a, 40h
	cjne	a, #06h, sjzb6	                            ;第二组数据
	clr	led1
	setb    led3
	sjmp	page3
        ;******   page3   ********
        ;*************************
sjzb6:	mov	a, 40h	                                    ;显示内容指针
	cjne	a, #07h, sjzb7	                            ;功能指针
	mov	23h, #08h	                            ;状态显示--八指示灯
	clr	led3
	setb    led1                                        ;上下显示指示
page4:	nop
	mov	a, 33h	                                    ;修改数据显示
	mov	42h, a
	mov	a, 32h
	mov	43h, a
	mov	a, 35h
	mov	44h, a
	mov	a, 34h
	mov	45h, a
	ljmp	exjsxs	                                    ;退出显示数据准备程序
        ;******
sjzb7:	nop
	mov	a, 40h
	cjne	a, #08h, sjzb8	                            ;第二组数据
	clr	led1
	setb    led3
	sjmp	page4
        ;******    page4   ******
        ;************************
sjzb8:	mov	a, 40h	                                    ;显示内容指针
	cjne	a, #09h, sjzb9	                            ;功能指针
	mov	23h, #10h	                            ;状态显示--八指示灯
	clr	led3
	setb    led1;上下显示指示
page5:	nop
	mov	a, 37h	                                    ;修改数据显示
	mov	42h, a
	mov	a, 36h
	mov	43h, a
	mov	a, 39h
	mov	44h, a
	mov	a, 38h
	mov	45h, a
	ljmp	exjsxs	                                    ;退出显示数据准备程序
        ;******
sjzb9:	nop
	mov	a, 40h
	cjne	a, #0ah, sjzb10	                            ;第二组数据
	clr	led1
	setb    led3
	sjmp	page5
        ;******       page5
sjzb10:	mov	a, 40h	                                    ;显示内容指针
	cjne	a, #0bh, sjzb11	                            ;功能指针
	mov	23h, #20h	                            ;状态显示--八指示灯
	clr	led3
	setb    led1
page6:	nop
	mov	a, 3bh	                                    ;修改数据显示
	mov	42h, a
	mov	a, 3ah
	mov	43h, a
	mov	a, 3dh
	mov	44h, a
	mov	a, 3ch
	mov	45h, a
	sjmp	exjsxs	                                    ;退出显示数据准备程序
        ;******
sjzb11:	nop
	mov	a, 40h
	cjne	a, #0ch, sjzb12	                            ;第二组数据
	clr	led1
	setb    led3
	sjmp	page6
        ;******  page6   *********
        ;*************************
sjzb12:	mov	a, 40h	                                    ;显示内容指针
	cjne	a, #0dh, sjzb13	                            ;功能指针
	mov	23h, #40h	                            ;状态显示--八指示灯
	clr	led3
	setb    led1                ;上下显示指示
page7:	nop
	mov	a, #0ffh	                            ;修改数据显示
	mov	42h, a
	mov	a, #0ffh
	mov	43h, a
	mov	a, #0ffh
	mov	44h, a
	mov	a, #0ffh
	mov	45h, a
	sjmp	exjsxs	                                    ;退出显示数据准备程序
        ;******
sjzb13:	nop
	mov	a, 40h
	cjne	a, #0eh, sjzb14	                            ;第二组数据
	clr	led1
	setb    led3
	ljmp	page7
        ;******   page7   ********
        ;*************************
sjzb14:	nop
exjsxs:	nop
	;clr	00h	                                    ;清接受结束标志
	;setb	led1	                                    ;接受指示灯
	ret
        ;***************************************


;八指示程序
show_zt:	nop
	MOV	A, 23h
	cpl	a	                                    ;位选1
	lcall	send	                                    ;调用发送程序
	nop
	ret
	;***************************************
;显示程序···············
show:	nop
	lcall	show_zt	                                    ;显示8状态指示
	MOV	A, #01h	                                    ;位选1
	lcall	send	                                    ;调用发送程序
            ;
	mov	a, 45h
	;swap	a
	anl	a, #0fh
	MOV	DPTR, #DATA1
	MOVC	A, @A+DPTR	                            ;将数字转化为显码
	lcall	send	                                    ;调用发送程序
           ;*********
	clr	set2
	cpl	set2	                                    ;;;显示1
	LCALL	DELEY20MS
            ;***********************************************************
	lcall	show_zt	                                    ;显示8状态指示

⌨️ 快捷键说明

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