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

📄 93c46seg.asm.bak

📁 存储数码管 存储数码管
💻 BAK
字号:
;///////////////////////////////////////////
;本程序源代码由单片机培训网提供.
;单片机培训网,让更多人学习单片机更容易.
;第一网址----www.mcuedu.com
;第二网址----http://51_train.nease.net
;创办人------刘永忠
;热线电话----(0755)27529998
;email-------aa815@163.com
;本程序使用93c46存储七段码的实时状态
;///////////////////////////////////////////
;=====================================================
READ	EQU	80H
WRITE	EQU	40H
EWEN	EQU	30H
EWDS	EQU	00H

;AT93C46接口
MEM_CS		EQU	P1.0
MEM_SK		EQU	P1.1
;MEM_ORG		EQU	P1.2	;LOGIC1=>16bit
MEM_DI		EQU	P1.2
MEM_DO		EQU	P1.3
	org	0000h
	ajmp	main
	org	0030h
main:
	CLR P2.0
	mov 30h,#00h
	mov dptr,#tab
	MOV	A,	#READ
	SETB	MEM_CS
	CLR	MEM_SK
	SETB	MEM_DI
	SETB	MEM_SK
	LCALL	WR_AT93C46
	LCALL	RD_AT93C46
	mov 30h,a
	cjne	a,#0Ah,com1
com1: 
	jc loop
	mov	a,#00h
	mov 30h,a
loop:
	movc a,@a+dptr
	mov p0,a
	inc 30h
	mov r4,#100
tt3:
	lcall delay10ms
	djnz	r4,tt3
	CLR	MEM_CS
	MOV	A,	#EWEN		;允许写入
	SETB	MEM_CS
	CLR	MEM_SK
	SETB	MEM_DI
	SETB	MEM_SK
	LCALL	WR_AT93C46
	CLR	MEM_CS
	LCALL	DELAY20MS

	MOV	A,	#WRITE		;写指令
	SETB	MEM_CS
	CLR	MEM_SK
	SETB	MEM_DI
	SETB	MEM_SK
	LCALL	WR_AT93C46
	MOV	A,	30h
	LCALL	WR_AT93C46
	MOV	A,	31h
	LCALL	WR_AT93C46
	CLR	MEM_CS
	LCALL	DELAY30MS
	LCALL	DELAY30MS

	MOV	A,	#EWDS		;禁止写入
	SETB	MEM_CS
	CLR	MEM_SK
	SETB	MEM_DI
	SETB	MEM_SK
	LCALL	WR_AT93C46
	CLR	MEM_CS

	mov a,30h
	cjne a,#10,loop
	mov	30h,#00h
	mov	a,30h

	ajmp	loop

delay10ms:
	mov r6,#100
tt2:
	mov r5,#50
	djnz r5,$
	djnz r6,tt2
	ret
	
tab:	db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh


WR_AT93C46:
	SETB	MEM_CS
	CLR	MEM_SK
	MOV	R7,	  #08H
WR_AT93C46_00:
	CLR	MEM_SK
	RLC	A
	MOV	MEM_DI,	 C
	SETB	MEM_SK
	DJNZ	R7,	 WR_AT93C46_00
	CLR	MEM_SK
	SETB	MEM_DI
	RET
;*********************************************
RD_AT93C46:
	CLR	MEM_SK
	MOV	R7,	#08H
	SETB	MEM_DO
RD_AT93C46_00:
	SETB	MEM_SK
	NOP
	MOV	C,	MEM_DO
	RLC	A
	CLR	MEM_SK
	DJNZ	R7,	RD_AT93C46_00
	RET
;#############################################################################
DELAY20MS:
	
	MOV	R6,     #03CH
Dly20_CON2:
	MOV	R7,     #0FFH
Dly20_CON1:
	DJNZ	R7,     Dly20_CON1
	DJNZ	R6,     Dly20_CON2
	RET

DELAY30MS:
	PUSH	6
	PUSH	7
	MOV	R6,     #059H
Dly30_CON2:
	MOV	R7,     #0FFH
Dly30_CON1:
	DJNZ	R7,     Dly30_CON1
	DJNZ	R6,     Dly30_CON2
	POP	7
	POP	6
	RET
end

⌨️ 快捷键说明

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