- 1
- 0
- 约4.33千字
- 约 13页
- 2022-11-27 发布于山东
- 举报
主机通讯子程序以下重点
主机通讯子程序以下重点
PAGE / NUMPAGES
主机通讯子程序以下重点
主机通讯子程序以下:
MOV TMOD,#20H
MOV TL1,#0F3H
MOV TH1,#0F3H
SETB TR1
MOV PCON,#80H
STAT:MOV SCON,#0D8H ;串口方式 3,同意接收, TB8=1
CLR ES ;严禁串行中止
CLP1:MOV SBUF,#0FFH ;发丧命令,所有从机 SM2=1
JNB TI , $ ;等候发送完成
CLR TI ;清发送中止标记
MOV A,R2 ;取寻址的从机地点
MOV SBUF,A;发送寻址的从机地点
JNB TI,$ ;等候发送完成
CLR TI
JNB RI,$ ;等候寻址的从机应答(返回地点)
CLR RI
MOV A,SBUF;读从机应答信号
XRL A,R2 ;查对地点(异或,同样为 0)
JNZ CLP1 ;若地点不切合,则重发
CLP2: CLR TB8 ;准备发送数据帧(只有寻址的从机才能接收)
MOV SBUF,R3;发丧命令帧
JNB TI , $ ;等候发送完成
CLR TI
JNB RI,$ ;等候从机应答
CLR RI
MOV A,SBUF;读应答信息
JB Acc.7, CLP2 ;假如非法命令则重发( ERR=1)
CJNE R3, #01H,SRX0 ;若原命令不要求从机发送,则转
STX:JNB Acc.1,CLP2 ;R3=01H要求从机发送,发送未准备好,则从头联系
STX1:JNB RI,$ ;从机发送数据块长度,主机等候接收完成
CLR RI
MOV A,SBUF;主机接收数据块长度
MOV R5,A ;保留数据块长度
MOV R7,A ;暂存数据块长度
RX_DATA:JNB RI,$ ;接收从机发来的数据
CLR RI
MOV A,SBUF
MOV @R1,A;寄存数据并计算校验和
ADD A, R6
MOV R6, A ;寄存校验和
INC R1 ;指向下一数据储存单元
DJNZ R5,STX1 ;判所有数据接收完成否?未完持续
JNB RI,$ ;接收主机发来的数据校验和
CLR RI
MOV A,SBUF
CJNE A,R6,ERROR;校验和不正确,则发 81H 表示数据犯错
RET ;正确接收完成,返回
ERROR: MOV SBUF, #81H
JNB TI, $
CLR TI
MOV A, R7 ;恢复 R5(收到该数据块的长度)以便恢复 R1值
MOV R5, A
LOOP:DEC R1 ;恢复 R1 首地点
DJNZ R5, LOOP
MOV R6, 00H ;恢复累加和
AJMP STX1;从头等候接收
SRX0:JC SRX ;若原命令要求从机接收,转从机接收
RET ;不然返回
SRX:JNB Acc.0, CLP2 ;从机接收未准备好,从头联系
SRX1:MOV A,R4;从机接收已准备好则主机发送数据块长度
MOV SBUF,A
WAIT1:JBC TI, SRX1 ;等候主机发送完成
SJMP WAIT1
TX_DATA:MOV A, @R0;主机发送数据,并计算校验和
MOV SBUF, A
JNB TI,$
CLR TI
ADD A,R6
MOV R6, A
INC R0 ;指向下一发送数据
DJNZ R4, TX_DATA;判所有数据发送完成否?未完持续
MOV A,R6 ;主机发送校验和
MOV SBUF, A
JNB TI, $
CLR TI
JNB RI, $ ;等候从机应答
CLR RI
MOV A, SBUF;接受应答信
CLR Cy
SUBB A, #81H
JZ RE_SEND;收到应答是 81H则从头发送数据
RET ;所有数据发送成功,则返回
RE_SEND: MOV A, R7;恢复该数据块长度
MOV R4, A
LOOP: DEC R0 ;回到该数据块首地点
DJNZ R4, LOOP
MOV R6, #00H ;清校验和
相关从机中止、 T1、波特率和串行口的初始化,可按以下早先达成:
ORG 0023H
LJMP SERVE
ORG 0050H;串行中止服务程序进口
MOV TMOD,#20H ;准时器 T1 初始化工作于方式 2
MOV TL1,0F3H
MOV TH1,0F3H
SETB TR1
MOV PCON,#80H ; SMOD=1波特率倍增
MOV SCON,#0F0H ;串行方式 3,同意接收, SM2=1
同时,可用伪指令定义本从机地点: SLAV EQU R2,PSW.5为从机发送准备就绪状态标记( PSW.5=1,发送准备就绪), PSW.1为从机接收准备就绪状态标记( PSW.1=1接收准备就绪)。能够在主程
您可能关注的文档
最近下载
- 2026最新施工资质挂靠协议.docx
- 美好前程-Vencorex.pdf VIP
- 传感器技术及应用中职课件完整全套教学课件.pptx VIP
- 机车动力装置检查与维修课件:16V265H型柴油机配气机构.pptx VIP
- 2026年度江苏财经职业技术学院单招《数学》检测卷AB卷附答案详解.docx VIP
- 《领略丝路遗珍》核心素养教学设计 2026人美版美术八年级下册.pdf
- 材料成形原理-第十章-偏析.ppt
- (2026年春季新版本)人教版三年级数学下册全册教案.docx
- API 682-2014 离心泵和转子泵用轴封系统 第四版(中文).pdf
- IPC-2221C-EN TOC2023印制版设计通用标准 Generic Standard on Printed Board Design.pdf VIP
原创力文档

文档评论(0)