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

📄 rs232_dub.asm

📁 RS232例程(包括PC端和书上了串口例程)
💻 ASM
字号:
;******************************Copyright (c)*******************************
;**                广州周立功单片机发展有限公司研究所
;**                       http://www.zlgmcu.com
;******************************文件信息************************************
;文件名:RS232_Double.asm
;功能:演示使用DP-51S实验仪实现动态LED数码管显示
;说明:
;	1.在DP-51S实验仪的LED数码管上显示"000000"
;	2.正确设置跳线JP5即把JP5跳线置于下端
;	P3.0,P3.1跳到RXD_232、TXD_232而P3.3,P3.4,P3.5跳到KEY1,KEY2,KEY3
;作者:叶皓贲
;最后修改时间:2003年3月21
;*************************************************************************

DATA_BUF	DATA	40H		;定义显示缓冲区的首地址?
	
ACK       	BIT 		10H  ;应答标志位
SLA       	DATA 	60H ;器件从地址
SUBA      	DATA 	61H ;器件子地址 
NUMBYTE   	DATA 	62H ;读/写的字节数
    ;使用前定义常量:
SDA 		EQU  	P1.7
SCL 			EQU  	P1.6

MTD 		EQU  	30H  ;IIC发送数据缓冲区首址    
MRD 		EQU  	50H  ;IIC接收数据缓冲区首址 (缓冲区40-4FH)
	
ZLG7290  	EQU  	70H   

KEY1		BIT 		P3.3		;键1
KEY2		BIT		P3.4		;键2
KEY3		BIT 		P3.5		;键3

ORG		0000H				;伪指令,定义程序从0000H开始存放
							;但在DP-51S上仿真时请输入8000H


	AJMP	MAIN
ORG		0100H				;伪指令,定义程序从0100H开始存放
							;但在DP-51S上仿真时请输入8100H


MAIN:	
MOV	SP,#70H
	MOV	40H,#00H
	MOV	41H,#00H
	MOV	42H,#00H
	MOV	43H,#00H
	MOV	44H,#00H
MOV	45H,#00H

	MOV	TMOD,#20H		;设置T1为方式2
	MOV	TH1,#0FDH		;设置波特率为9600
	MOV	TL1,#0FDH
	MOV	SCON,#50H		;设置串口位方式1
	MOV	PCON,#00H
	SETB	TR1

UP:	
ACALL	DISPLAY
	JB		RI,URXD
	MOV	A,#00H
	JNB		KEY1,UTXD
	JNB		KEY2,UTXD1
	JNB		KEY3,UTXD2
	AJMP	UP

UTXD:	
JB		KEY1,UTXD1
	MOV	A,#01H;
UTXD1:	
JB	KEY2,UTXD2
	MOV	A,#02H;
UTXD2:	
JB	KEY3,UTXD3
	MOV	A,#03H;
UTXD3:
	MOV	SBUF,A
WAIT:	
JBC		TI,UP
	AJMP	WAIT
	AJMP	UP

URXD:	
MOV	A,SBUF
RXDRET:	
MOV	40H,A
	MOV	41H,A
	MOV	42H,A
	MOV	43H,A
	MOV	44H,A
	CLR		RI
	AJMP	UP
DISPLAY:
	MOV		R7,#5H
	MOV 	R4,#60H
LOOP:
	MOV		MTD,R4
	INC		R4

	MOV		A,R7
	ADD		A,#DATA_BUF-1H
	MOV		R1,A
	MOV		MTD+01H,@R1

	MOV    	SLA,#ZLG7290          ;将MTD的数据发送给7290,进行显示
	MOV    	SUBA,#07H
    	MOV    	NUMBYTE,#02H
    	ACALL  	IWRNBYTE
	ACALL   DELAY
	DJNZ  	R7,LOOP
	RET

;**************
;延时子程序
;**************
DELAY:	
	MOV		R6,#050H
DELAY0:	
MOV		R5,#030H
DELAY1:	
DJNZ	R5,DELAY1
	DJNZ	R6,DELAY0
	RET

$INCLUDE (VI2C_ASM.INC)    ;包含VI2C平台软件包
END

⌨️ 快捷键说明

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