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

📄 visual.asm

📁 可使用51单片机
💻 ASM
字号:
//--------------------------------------------------------
//	QQ:85254194 
//	51单片机 软件模拟串口进行通讯
//	晶振12M,波特率19200 BPS
//  有超时等待功能。
//	从设备收到一字节,回复相同的字节给另一设备
//	若超时,则回复 AA 。
//--------------------------------------------------------
	_TXD		EQU		P3.1
	_RXD		EQU		P3.0
	VisualBuf	EQU		50H
//--------------------------------------------------------
	ORG		0X00
	SJMP	MAIN

	ORG		0X30	
MAIN:
	 MOV	P3,#0XFF
MAIN_LOOP:
	CALL	Visual_RXD
	JB		F0,SEND_AA
	CALL	Visual_TXD
	SJMP	MAIN_LOOP
SEND_AA:
	MOV		VisualBuf,#0XAA
	CALL	Visual_TXD
	SJMP	MAIN_LOOP
//--------------------------------------------------------
Visual_TXD:
	CLR		_TXD
	CALL	DELAY_44
	MOV		R5,#8
	NOP
	NOP
	NOP
	MOV		A,VisualBuf
Visual_TXD_BIT:
	RRC		A			 		;1
	JC		Visual_SEND_HI		;2
	CLR		_TXD				;1
	SJMP	Visual_SEND_DELAY	;2
Visual_SEND_HI:
	SETB	_TXD
	SJMP	Visual_SEND_DELAY
Visual_SEND_DELAY:
	CALL	DELAY_44			;44
	DJNZ	R5,Visual_TXD_BIT	;2
	NOP
	NOP
	NOP
	NOP
	NOP
	SETB	_TXD
	CALL	DELAY_44
	CALL	DELAY_44
	RET
//--------------------------------------------------------
DELAY_44:
	MOV		R6,#19
	DJNZ	R6,$
	NOP
	RET
//--------------------------------------------------------
Visual_RXD:
	SETB	_RXD
	SETB	F0
	MOV		R5,#8
	MOV		R6,#0
	MOV		R7,#0
Visual_RXD_WAIT:
	JB		_RXD,Visual_RXD_DELAY
	SJMP	Visual_RXD_SBIT
Visual_RXD_DELAY:
	DJNZ	R7,Visual_RXD_WAIT
	DJNZ	R6,Visual_RXD_WAIT
	DJNZ	R5,Visual_RXD_WAIT
	RET
Visual_RXD_SBIT:
	JB		_RXD,Visual_RXD_WAIT
	MOV		R6,#10
	DJNZ	R6,$
	MOV		R5,#8
Visual_RXD_RECE_LOOP:
	MOV		R6,#23	 	;1
	DJNZ	R6,$		;46

	NOP					;1
	MOV		C,_RXD		;1
	RRC		A			;1
	DJNZ	R5,Visual_RXD_RECE_LOOP	;2
	MOV		VisualBuf,A
	CLR		F0
	RET
//--------------------------------------------------------
	END

⌨️ 快捷键说明

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