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

📄 25045.asm

📁 达盛单片机试验箱
💻 ASM
字号:
;********************************************************
;
;WREN:	06H								写使能
;WRDI:	04H								写禁止
;RDSR:	05H								读状态寄存器
;WRSR:	01H								写状态寄存器
;READ:	0000(A8)011						从指定的地址中读出数据
;WRITE:	0000(A8)010						向指定的地址写入数据
;
;********************************************************
;
CS			BIT		P1.0
SO			BIT		P1.1
SCK			BIT		P1.2
SI			BIT		P1.3
ADDRESS		EQU		55H					;指定的地址
DATA1		EQU		33H					;指定的数据
;
;********************************************************
;			/*主程序*/									*
;********************************************************
;	
			ORG		0000H
			
			AJMP	START
			
			ORG		0030H
			
START:		MOV		SP,#60H
			CLR		EA 					;禁止中断
			MOV		P1,#03H				;/CS=SO=1,SCK=SI=0
			CALL	W_ENABLE			;写使能
			CALL	W_CONTROL			;写控制字
			CALL	DELAY
		
			CALL	R_CONTROL
			CALL	W_ENABLE			;写使能
			CALL	W_DATA				;向指定的地址写入数据
			CALL	DELAY
			CALL	R_DATA				;从指定的地址中读出数据
			MOV		R0,A
			ACALL	DISP				;显示
			AJMP	START

DISP:		MOV		A,R0				;低位
			ANL		A,#0FH
			ACALL	DSEND				;显示
			MOV		A,R0
			SWAP	A
			ANL		A,#0FH				;高位
			ACALL	DSEND				;显示
			RET

DSEND:		MOV		DPTR,#SGTB1
			MOVC	A,@A+DPTR			;取字符
			MOV		SBUF,A				;发送字符		
			JNB		TI,$				;等待串口发送完
			CLR		TI
			RET
;
;********************************************************
;			/*写数据子程序*/							*
;********************************************************	
;
W_DATA:		MOV		DPTR,#ADDRESS
			CLR		SCK
			CLR		CS
			MOV		A,#02H				;写数据命令
			MOV		B,DPH
			MOV		C,B.0
			MOV		ACC.3,C
			CALL	XSI
			MOV		A,DPL				;地址
			CALL	XSI
			MOV		A,#DATA1			;数据
			CALL	XSI
			CLR		SCK
			SETB	CS
			RET
;
;********************************************************
;			/*读数据子程序*/							*
;********************************************************	
;		
R_DATA:		MOV		DPTR,#ADDRESS
			CLR		SCK
			CLR		CS
			MOV		A,#03H				;读数据命令
			MOV		B,DPH
			MOV		C,B.0
			MOV		ACC.3,C
			CALL	XSI
			MOV		A,DPL				;地址
			CALL	XSI
			CALL	XSO
			CLR		SCK
			SETB	CS
			MOV		71H,A				;保存读出的数据
			RET
;
;********************************************************
;			/*写控制子程序*/							*
;********************************************************	
;		
W_CONTROL:	CLR		SCK
			CLR		CS
			MOV		A,#01H				;送控制字:写
			CALL	XSI
			MOV		A,#00H				;1.4S
			CALL	XSI
			CLR		SCK
			SETB	CS
			RET
;
;********************************************************
;			/*读控制子程序*/							*
;********************************************************	
;		
R_CONTROL:	CLR		SCK
			CLR		CS
			MOV		A,#05H				;送控制字:读
			CALL	XSI
			CALL	XSO
			CLR		SCK
			SETB	CS
			MOV		70H,A
			RET
;
;********************************************************
;			/*写使能子程序*/							*
;********************************************************	
;		
W_ENABLE:	CLR		SCK
			CLR		CS
			MOV		A,#06H				;写使能
			CALL	XSI
			CLR		SCK
			SETB	CS
			RET
;
;********************************************************
;			/*发送字节子程序*/							*
;********************************************************		
;				
XSI:		MOV		R7,#08H			
XSI1:		CLR		SCK
			RLC		A
			MOV		SI,C
			SETB	SCK
			NOP
			DJNZ	R7,XSI1
			CLR		SI
			RET
;
;********************************************************
;			/*接收字节子程序*/							*
;********************************************************	
;	
XSO:		MOV		R7,#08H			
XSO1:		SETB	SCK
			CLR		SCK
			NOP
			MOV		C,SO
			RLC		A
			DJNZ	R7,XSO1
			RET		
;
;********************************************************
;			/*延时子程序*/								*
;********************************************************
;
DELAY:		MOV		R6,#250				;延时
DELAY1:		MOV		R7,#250
			DJNZ	R7,$
			DJNZ	R6,DELAY1
			RET
;
;********************************************************	
;			/*字符编码*/								*
;********************************************************
;	
SGTB1:		DB	     03H         		;0
	 		DB	     9FH         		;1
	   		DB	     25H         		;2
	   		DB	     0DH         		;3
	  		DB	     99H          		;4
	  		DB	     49H          		;5
	   		DB	     41H          		;6
	   		DB	     1FH         		;7
	   		DB	     01H          		;8
	   		DB	     09H          		;9
	   		DB	     11H          		;A
	   		DB	     0C1H          		;B
	   		DB	     63H         		;C
			DB	     85H       			;D
			DB	     61H          		;E
			DB	     71H          		;F
			DB	     00H				
										
			END			
													

⌨️ 快捷键说明

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