- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验9 点对点串行通信 ;一、实验目的
(1)??? 理解串行通信概念。
(2)??? 掌握MCS-51串行通信口的初始化方法、步骤。
(3)??? 掌握串行发送、接收程序的编写方法。
理解串行通信波特率误差允许范围。 ;二、实验设备与器材
仿真器及其附件、图1所示的实验电路板各两套,RS-232串行通信电缆一条,导线数条。 ;三、实验电路
按实验7的要求设置实验板上跳线,将JP105、JP106的1-2引脚短路,用RS-232电缆或导线将第一块实验电路板的TXD(发送端)引脚与第二块电路板的RXD(接收端)引脚连在一起,第一块实验电路板的RXD(接收端)引脚与第二块电路板的TXD(发送端)引脚连在一起;再用导线将两块电路板地线连在一起(用RS-232通信电缆连接时,两块实验电路板地线已通过DB9插座的第5引脚连在一起),这样就形成了没有联络信号的串行通信方式。 ;四、实验内容、过程及要求
1.串行通信格式的约定
(1) 波特率(CPS)为4800。假设晶振频率为11.0592 MHz,使用定时器T1溢出率作发送、接收波特率,则定时器T1重装初值C=0FAH(不倍增)。
(2) 数据长度为9位,其中b7~b0为数据位,b8为奇偶校验位。
(3) 采用偶校验方式,即传送的8位数据中含有奇数个“1”时,校验位为1。 ; 2.没有协议的单字节收/发
对于单字节串行收/发来说,无需约定通信协议,完成了串行口初始化后,即可通过写串行输出缓冲寄存器SBUF,启动串行发送;当接收有效标志RI置1时,就表示已接收了一字节的数据信息。
试在实验7的基础上,增加单字节串行通信功能,使程序具备在任一实验板上按下某一按键时,两块板同时显示被按下的键名。
下面给出了与串行通信有关的程序段,完整程序由读者编写。 ;;初始化定时器T1(将定时器T1的溢出信号作串行通信波特率发生器输入信号)
MOV TL1,#250 ;4800波特率对应定时器初值
MOV TH1,#250
ANL TMOD,#0F0H
ORL TMOD, ;定时器T1工作在方式2(8位自动重装初值)
SETB TR1 ;启动定时器T1
CLR ET1 ;禁止T1中断
;初始化串行口;MOV SCON, ;串行口工作在方式3,SM2=0,以便用TB8位
;作奇偶校验位
;SETB REN ;允许接收
SETB ES ;允许串行中断
SETB EA ;开中断
;单字节串行发送初始化
MOV A,KEYNAME ;取按键值送A
MOV C,P;MOV TB8,C ;奇偶标志P送TB8,即b8位
MOV SBUF,A ;写串行发送缓冲器即可将一字节信息按设定的波特率发送到串行口上
PROC UART ;串行中断服务程序
UART:
PUSH ACC
PUSH PSW
JNB TI,NEXT1
;串行发送结束引起中断
CLR TI ;清除发送中断标志 ;NEXT1:
JNB RI,EXIT
;串行接收有效
CLR RI ;清除接收有效中断
MOV A,SBUF ;读串行接收缓冲器
;奇偶校验,即检查P标志与RB8位是否相同,否则奇偶校验错
MOV C,P
ANL C,/RB8 ;计算P×
MOV F0,C ;暂时保存在F0标志中
MOV C,RB8
ANL C,/P ;计算RB8× ; ORL C,F0 ;完成了P与RB8的异或运算
JC EXIT
;校验正确!
MOV RXDBUF,A ;数据送串行接收缓冲区
SETB RXDB ;串行接收有效标志置1
EXIT:
POP PSW
POP ACC
RETI
END ; 3.按约定协议收/发的双机串行通信
将JP201、JP202跳线的1-2引脚短路,即串行数据从P1.2引脚输出,串行移位脉冲从P3.4引脚输出,并行输出锁存信号从P3.5输出。在实验6的基础上,通过串行口将电子钟时间送到另一实验板显示出来,通信协议如下:
(1) 数据帧格式为:0AAH(起始标志)+4字节信息+1字节的和校验信息。 ; (2) 接收方正确接收后回送A5作应答;如果错误,则回送A6,请求重发。
文档评论(0)