aatt.asm

来自「周立功dp51h附带lin总线通讯代码,包括master和slave」· 汇编 代码 · 共 65 行

ASM
65
字号
$NOMOD51
$include(reg932.inc)
?PR?AutoBaudrateAdj?AATT      SEGMENT CODE 
	PUBLIC	AutoBaudrateAdj
	RSEG  ?PR?AutoBaudrateAdj?AATT
AutoBaudrateAdj:;MOV 	8FH,	#01H		
InitSerial:  
		mov	P1M1,#00H
		MOV	P1M2,#00H
		MOV 	P1,#0FFH
		MOV	TMOD,#11H
		ANL	TAMOD,#0EFH
		mov	PCON,#080H
		CLR	A
		MOV	SCON,A
		MOV	TH1,A
		MOV	TL1,A
L1:		JNB	RXD,L1
L2:		JB	RXD,L2
		SETB	TR1
		JNB	RXD,$
		CLR	TR1
		MOV	34H,TH1
		MOV	R1,#34h
L3:		JNB	RXD,L3
L4:		JB	RXD,L4
		mov	a,TL1
		xchd	a,@r1
		swap	a
		cpl	a
		inc	a
L5:		JNB	RXD,L5
L6:		JB	RXD,L6
		mov	TH1,A
		MOV	TL1,A
		MOV	TMOD,#21H
L7:		JNB	RXD,L7
L8:		JB	RXD,L8
L9:		JNB	RXD,L9
;L10:		JB	RXD,L10
;L11:		JNB	RXD,L11
;L12:		JB	RXD,L12

		SETB	TR1

                MOV     SCON,#050H
	


	RET  
?PR?ISP_INI?AATT      SEGMENT CODE 
	PUBLIC	ISP_INI
	RSEG  ?PR?ISP_INI?AATT
ISP_INI:	
		ANL	SSTAT,#0FAH		;清除BR位,SSTAT.2
		MOV	BRGCON,#00H		;关波特率发生器

		ORL	AUXR1,#40H		;置位EBRR位,当检测到UART间隔信号时即进行复位
		MOV	SCON,#50H		;设置串口为工作方式1,允许串口接收
		MOV	BRGR1,#90H		;设置串口波特率:Fosc / ((BRGR1,BRGR0)/16)
		MOV	BRGR0,#00H
		MOV	BRGCON,#03H		;打开串口波特率发生器,使用串口波特率发生器
		RET		
	END

⌨️ 快捷键说明

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