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

📄 slave1.asm

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 ASM
字号:
	ORG 0000H
	LJMP MAIN
	ORG 0023H
	LJMP  SERVE
	ORG 0030H
MAIN:	MOV SP,#60H
	MOV R5,#0
	MOV R1,#51H
 	MOV TMOD, #20H 		;设置T1工作方式
	MOV  TH1,#0FdH          ;设置时间常数,确定波特率
	MOV  TL1,#0FdH
	MOV  SCON,#0F0H         ;设置串行口工作方式
	MOV  PCON,#00H
	SETB TR1
	SETB EA
	SETB ES                 ;允许串行口中断
LP2:	MOV R7,#3
	MOV R0,#51H
LP1:	MOV A,@R0
	MOV P0,A
	LCALL DELAY
	INC R0
	DJNZ R7,LP1
	JB 2FH.0,ERR
	SJMP LP2
ERR:    MOV P0,#0FFH
	SJMP $

SERVE:	
	JBC RI,REV1		;串行口中断服务程序
	RETI
REV1:	JNB RB8,REV3
	MOV A,SBUF
	CJNE A,#01H,REV2
	CLR SM2
	SETB F0
	MOV SBUF,#00H
REV2:	RETI
REV3:	JNB F0,REVDT
	MOV A,SBUF		;接收数据块长度
	INC A
	MOV 50H,A
	CLR F0
	MOV SBUF,#00H
	RETI
REVDT:  DJNZ 50H,RT
	MOV A,SBUF		;接收校验和
	XRL A,R5
	JZ RIGHT
	MOV SBUF,#0FFH
	SETB 2FH.0
	RETI
RIGHT:  MOV SBUF,#00H
	CLR 2FH.0
	SETB SM2
	MOV R5,#0
	MOV R1,#51H
	RETI
RT:	MOV A,SBUF		;接收数据
	MOV @R1,A
	ADD A,R5
	MOV R5,A
	INC R1
	MOV SBUF,#00H
	RETI

DELAY:  MOV   	R2,#0FFH		;延时子程序
AA1:	MOV   	R3,#0FFH
AA:	NOP
    	NOP   
	DJNZ    R3,AA
	DJNZ    R2,AA1
	RET

end

⌨️ 快捷键说明

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