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

📄 mr6928.asm

📁 MR6928 LED驱动和键盘控制IC的测试程序(51)
💻 ASM
字号:
;MR6928测试程序,MR6928与V6928、HD6928、ET6202、SM1628等可直接替换


sem0	equ		20h
sem1 	equ 	21h
sem2 	equ 	22h
sem3 	equ 	23h
sem4 	equ 	24h
sem5	equ		25h
sem6 	equ 	26h
sem7 	equ 	27h
sem8 	equ 	28h
sem9 	equ 	29h
semA 	equ 	2Ah
semB 	equ 	2Bh
semC 	equ 	2Ch
semD 	equ 	2Dh

sig		equ    	2Eh
changesig bit	sig.0

s11		bit		sem0.0
s12		bit		sem2.0
s13		bit		sem4.0
s14		bit		sem6.0
s15		bit		sem8.0
s16		bit		semA.0
s17		bit		semC.0

s21		bit		sem0.1
s22		bit		sem2.1
s23		bit		sem4.1
s24		bit		sem6.1
s25		bit		sem8.1
s26		bit		semA.1
s27		bit		semC.1

s31		bit		sem0.2
s32		bit		sem2.2
s33		bit		sem4.2
s34		bit		sem6.2
s35		bit		sem8.2
s36		bit		semA.2
s37		bit		semC.2

s41		bit		sem0.3
s42		bit		sem2.3
s43		bit		sem4.3
s44		bit		sem6.3
s45		bit		sem8.3
s46		bit		semA.3
s47		bit		semC.3

s51		bit		sem0.4
s52		bit		sem2.4
s53		bit		sem4.4
s54		bit		sem6.4
s55		bit		sem8.4
s56		bit		semA.4
s57		bit		semC.4

s61		bit		sem0.5
s62		bit		sem2.5
s63		bit		sem4.5
s64		bit		sem6.5
s65		bit		sem8.5
s66		bit		semA.5
s67		bit		semC.5

s71		bit		sem0.6
s72		bit		sem2.6
s73		bit		sem4.6
s74		bit		sem6.6
s75		bit		sem8.6
s76		bit		semA.6
s77		bit		semC.6

s81		bit		sem0.7
s82		bit		sem2.7
s83		bit		sem4.7
s84		bit		sem6.7
s85		bit		sem8.7
s86		bit		semA.7
s87		bit		semC.7	   

s91		bit		sem1.0
s92		bit		sem3.0
s93		bit		sem5.0
s94		bit		sem7.0
s95		bit		sem9.0
s96		bit		semB.0
s97		bit		semD.0

sA1		bit		sem1.1
sA2		bit		sem3.1
sA3		bit		sem5.1
sA4		bit		sem7.1
sA5		bit		sem9.1
sA6		bit		semB.1
sA7		bit		semD.1
;******************************************;
;
;******************************************;
p4 data 0xe8
clk equ p4.1
stb equ p4.2
din equ p4.0

cnt 	equ   3bh

org 0000h
ljmp main
org 000bh
ljmp t0int
org 0030h
main:
    ;清0位寻址区中的缓冲区(14B)
	mov r2,#0dh
	mov r0,#20h
clrbitbuf:
    mov @r0,#00h
	inc r0
	djnz r2,clrbitbuf
	;清0数据缓冲区(10B)
	mov r2,#0Ah
	mov r0,#30h
clrdatabuf:
    mov @r0,#00h
	inc r0
	djnz r2,clrdatabuf
	;控制寄存器初始化
	mov tmod,#01h
	mov th0,#3ch
	mov tl0,#0ach
	setb et0
	setb ea
	;生成显示数据
	lcall aduj
	;初始化MR6928
   	setb stb
	setb clk
	nop
dis:
	mov a,#50h		  ;数据设置命令,普通显示模式,地址自动增量,写数据。
	clr stb
	lcall writeB
	setb stb
	setb stb
	nop
	mov a,#0D0h		  ;初始写数据地址为00H,(00H~0DH)
	clr stb
	lcall writeB
	;显示特定的字符
;	mov r4,#00h 
;	mov r3,#0Dh
;writecode:
;    mov dptr,#table
;	mov a,r4
;	movc a,@a+dptr
;	lcall writeB
;	inc r4
;	djnz r3,writecode

    ;清屏
;    mov r2,#0dh
;initdata:
;	mov a,#00h        ;数据全部初始化为0,这一步可省略
;	clr stb
;	lcall writeB
;	djnz r2,initdata

    ;显示00:00:00
	lcall send
	setb stb
	setb stb
	nop
	nop
	mov a,#53h		   ;设置显示为7位10段
	clr stb
	lcall writeB
	setb stb
	setb stb
	nop
	nop
	mov a,#0A8h		   ;开显示
	clr stb
	lcall writeB
	setb stb
	setb stb
	setb tr0

	jnb changesig,$
	clr changesig
	lcall aduj
	ljmp dis
;*************************************************
aduj:
	;调整数据
	mov dptr,#table
	mov r0,#30h
	mov a,@r0
	movc a,@a+dptr
	lcall changesegm2
	inc r0
    mov a,@r0
	movc a,@a+dptr
	lcall changesegm3
	inc r0
    mov a,@r0
	movc a,@a+dptr
	lcall changesegm4
	inc r0
    mov a,@r0
	movc a,@a+dptr
	lcall changesegm5
	inc r0
    mov a,@r0
	movc a,@a+dptr
	lcall changesegmA
	inc r0
    mov a,@r0
	movc a,@a+dptr
	lcall changesegm6
	ret
	;发送调整后的显示数据
send:
	mov r0,#20h
	mov r3,#0dh
;	clr stb
senddata:
	mov a,@r0
	lcall writeB
	inc r0
	djnz r3,senddata	
	ret
;***************************************************
t0int:
   	mov	tl0,#0ach
	mov th0,#3ch
	inc cnt
	mov a,cnt
	cjne a,#14h,quit
	setb changesig
	mov cnt,#00h
	inc 30h
	mov a,30h
	cjne a,#0ah,quit
	mov 30h,#00h
	inc 31h
	mov a,31h
	cjne a,#06h,quit
	mov 31h,#00h
	inc 32h
	mov a,32h
	cjne a,#0ah,quit
	mov 32h,#00h
	inc 33h
	mov a,33h
	cjne a,#06h,quit
	mov 33h,#00h
	inc 34h	
	mov a,34h
	anl a,#0f0h
	mov 35h,a
	mov a,34h
	mov b,a
	anl a,#0fh
	mov 34h,a
	mov a,b
	cjne a,#24h,quit
	mov 34h,#00h
quit:
	reti
;***************************************************

writeB:
	mov r2,#08h
write:
	clr clk
	rrc a
	mov din,c
	setb clk
	setb clk
	nop
	nop
	djnz r2,write
	ret

changesegm1:
	rrc a
	mov s11,c
	rrc a
	mov s12,c
	rrc a
	mov s13,c
	rrc a
    mov s14,c
	rrc a
	mov s15,c
	rrc a
	mov s16,c
	rrc a
	mov s17,c 
	ret
;***********************************;
changesegm2:
	rrc a
	mov s21,c
	rrc a
	mov s22,c
	rrc a
	mov s23,c
	rrc a
    mov s24,c
	rrc a
	mov s25,c
	rrc a
	mov s26,c
	rrc a
	mov s27,c 
	ret
;***********************************;
changesegm3:
	rrc a
	mov s31,c
	rrc a
	mov s32,c
	rrc a
	mov s33,c
	rrc a
    mov s34,c
	rrc a
	mov s35,c
	rrc a
	mov s36,c
	rrc a
	mov s37,c 
	ret
;***********************************;
changesegm4:
	rrc a
	mov s41,c
	rrc a
	mov s42,c
	rrc a
	mov s43,c
	rrc a
    mov s44,c
	rrc a
	mov s45,c
	rrc a
	mov s46,c
	rrc a
	mov s47,c 
	ret
;***********************************;
changesegm5:
	rrc a
	mov s51,c
	rrc a
	mov s52,c
	rrc a
	mov s53,c
	rrc a
    mov s54,c
	rrc a
	mov s55,c
	rrc a
	mov s56,c
	rrc a
	mov s57,c 
	ret
;***********************************;
changesegm6:
	rrc a
	mov s61,c
	rrc a
	mov s62,c
	rrc a
	mov s63,c
	rrc a
    mov s64,c
	rrc a
	mov s65,c
	rrc a
	mov s66,c
	rrc a
	mov s67,c 
	ret
;***********************************;
changesegm7:
	rrc a
	mov s71,c
	rrc a
	mov s72,c
	rrc a
	mov s73,c
	rrc a
    mov s74,c
	rrc a
	mov s75,c
	rrc a
	mov s76,c
	rrc a
	mov s77,c 
	ret
;***********************************;
changesegm8:
	rrc a
	mov s81,c
	rrc a
	mov s82,c
	rrc a
	mov s83,c
	rrc a
    mov s84,c
	rrc a
	mov s85,c
	rrc a
	mov s86,c
	rrc a
	mov s87,c 
	ret
;***********************************;
changesegm9:
	rrc a
	mov s91,c
	rrc a
	mov s92,c
	rrc a
	mov s93,c
	rrc a
    mov s94,c
	rrc a
	mov s95,c
	rrc a
	mov s96,c
	rrc a
	mov s97,c 
	ret
;***********************************;
changesegmA:
	rrc a
	mov sA1,c
	rrc a
	mov sA2,c
	rrc a
	mov sA3,c
	rrc a
    mov sA4,c
	rrc a
	mov sA5,c
	rrc a
	mov sA6,c
	rrc a
	mov sA7,c 
	ret
;***********************************;

	
table:
    db 7eh,30h,6dh,79h,33h,5bh,5fh,70h,7fh,7bh
;     db 0beh,01h,0b8h,03h,0a2h,02,0b6h,03h,0fdh,03h,0cfh,03h,0f6h,03h	

	 end

⌨️ 快捷键说明

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