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

📄 com8123(check).asm

📁 这是一个实用的程序
💻 ASM
字号:
;------------------------------------------------------------
;	串口调试程序  ( 查询方式。)  
;   
;	当晶体为 22.1184 MHZ时,SPD=09DH 通讯速率为 1200。
;          (晶体电容为22pf)     SPD=0CEH 通讯速率为 2400。
;			       SPD=0E9H 通讯速率为 4800。
;			       SPD=0F3H 通讯速率为 9600。
;------------------------------------------------------------
SPD	EQU	30H		;放入的计数初值。
NUM	EQU	40H		;要发送的数据。

	ORG	0000H
	LJMP	SERIAL		;SERIAL

	ORG	100H
SERIAL:
;----------------------------------------------------------------------------
;	初始化串口
;----------------------------------------------------------------------------
	MOV		SPD,#09dH	;0FDH	;计数值初值。
	MOV		IE,#80H		;禁止所有中断。
	MOV		TMOD,#20H	;T1工作在模式2下。
	MOV		PCON,#80H	;smod=1.
	MOV		SCON,#0C0H	;50H	;串行口工作在方式1。==
YYY:	
	MOV		TH1,SPD		;时间常数。
	MOV		TL1,SPD
	SETB	TR1			;启动定时器1。
	
;------------------------------------------------------------------------
;	测试发送功能
;------------------------------------------------------------------------
	MOV		R3,#0ffh	;1BH		;发送1BH个数据。
	
	MOV		A,#78H		;NUM		;要发送的数据。
TR_NEXT:
	MOV		SBUF,A
WAIT_TR:
	JBC		TI,TR_OK
	SJMP		WAIT_TR
TR_OK:
	DJNZ		R3,TR_NEXT	
;---------------------------------------------------------------------------------	
;	INC		SPD		;搜索计数初值时要加入这几句。
;	MOV		A,SPD
;	CJNE		A,#00H,YYY	;若从00-FFH了,停止。	
;	SJMP		$
;---------------------------------------------------------------------------------	
	LJMP		YYY

;-------------------------------------------------------------------------
;		测试接收功能
;   接收到的数据存放 50H-7FH 的RAM中。
;-------------------------------------------------------------------------
		ORG	900H
SERIALA:
;----------------------------------------------------------------------------
;	初始化串口
;----------------------------------------------------------------------------
	MOV		SPD,#09DH	;F3H	;计数值初值。
	MOV		IE,#80H		;禁止所有中断。
	MOV		TMOD,#20H	;T1工作在模式2下。
	MOV		PCON,#80H	;smod=1.
	MOV		SCON,#50H	;串行口工作在方式1。	
	MOV		TH1,SPD		;时间常数。(1200)
	MOV		TL1,SPD
	SETB	TR1			;启动定时器1。

	MOV		R1,#50H		;保存接收到的数据首址。
WAIT_RE:
	JBC		RI,RE_OK
	SJMP	WAIT_RE
RE_OK:
	MOV		A,SBUF
	MOV		@R1,A
	INC		R1
	CJNE	R1,#80H,WAIT_RE
	MOV		R1,#50H
	LJMP	WAIT_RE

	END

⌨️ 快捷键说明

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