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

📄 带纠错码的串行通信子程序.asm

📁 常用子程序-61个-4.2M.rar
💻 ASM
字号:
;功能:发送方将数据连发三此,接受方按位进行最大概率纠错。程序返回时,若标志位ERR返回为1,则表示
;通信失败;否则。接收结果放在A寄存器中。


;程序清单:

JERR_COM:CLR ERR 	;清除错误标志
		MOV R6,#00H	;查询串行接受标志
RCH3:JB RI,RCH0
	DJNZ R6,RCH3				
	SETB ERR
	SJMP RTEXT
RCH0:CLR RI
	MOV 28H,SBUF
	MOV R6,#00H
RCH1:JB RI,RCH4
	DJNZ R6,RCH1
	SETB ERR
	SJMP RTEXT
RCH4:CLR RI	
	MOV A,SBUF			
	MOV R6,#00H
RCH2:JB RI,RCH5
	DJNZ R6,RCH2
	SETB ERR
	SJMP RTEXT
RCH5:CLR RI	
	MOV B,SBUF
	LCALL BITCH
RTEXT:RET
;串行发送子程序
DO:CLR TI
	MOV SBUF,A
DO0:JNB TI ,DO0
    CLR TI 			 	
    LCALL C_DELAY
    MOV SBUF,A
DO1:JNB TI,DO1
	CLR TI
	LCALL C_DELAY
	MOV SBUF,A
DO2:JNB TI ,DO2
	CLR TI
	LCALL C_DELAY
	RET	
;按照最大概率确定每一位子程序
BITCH:MOV C,40H
	ANL C,ACC.0
	JC RTCH0
	MOV C,40H
	ANL C,B.0
	JC RTCH0
	MOV C,ACC.0
	ANL C,B.0
	CLR 40H
	JNC RTCH1
RTCH0:SETB 40H
RTCH1:MOV C,41H
	ANL C,ACC.1
	JC RTCH2
	MOV C,41H
	ANL C,B.1
	JC RTCH2
	MOV C,ACC.1
	ANL C,B.1
    CLR 41H
	JNC RTCH3
RTCH2:SETB 41H
RTCH3:MOV C,42H
	ANL C,ACC.2
	JC RTCH4
	MOV C,42H
	ANL C,B.2
	JC RTCH4
	MOV C,ACC.2
	ANL C,B.2
	CLR 42H
	JNC RTCH5
RTCH4:SETB 42H
RTCH5:MOV C,43H
	ANL C,ACC.3
	JC RTCH6
	MOV C,43H
	ANL C,B.3
	JC RTCH6
	MOV C,ACC.3
	ANL C,B.3
	CLR 43H
JNC RTCH7
RTCH6:SETB 43H
RTCH7:MOV C,44H
	ANL C,ACC.4
	JC RTCH8
	MOV C,44H
	ANL C,B.4
	JC RTCH8
	MOV C,ACC.4
	ANL C,B.4
	CLR 44H
	JNC RTCH9
RTCH8:SETB 44H
RTCH9:MOV C,45H
	ANL C,ACC.5
	JC RTCH10
	MOV C,45H
	ANL C,B.5
	JC RTCH10
	MOV C,ACC.5
	ANL C,B.5
	CLR 45H
	JNC RTCH11
RTCH10:SETB 45H
RTCH11:MOV C,46H
	ANL C,ACC.6
	JC RTCH12
	MOV C,46H
	ANL C,B.6
	JC RTCH12
	MOV C,ACC.6
	ANL C,B.6
	CLR 46H
	JNC RTCH13
RTCH12:SETB 46H
RTCH13:MOV C,47H
	ANL C,ACC.7
	JC RTCH14
	MOV C,47H
	ANL C,B.7
	JC RTCH14
	MOV C,ACC.7
	ANL C,B.7
	CLR 47H
	JNC RTCH15
RTCH14:SETB 47H
RTCH15:MOV A,28H
	RET
C_DELAY:NOP
		NOP
	RET

⌨️ 快捷键说明

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