- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 串行通信实验
一、实验目的
1.了解51单片机串行口的结构、串行通讯的原理。
2.掌握51单片机与PC机之间通讯的方法。
3. 学习系统应用程序的设计和调试
二、实验设备
PC机一台 、 实验教学板一块。
三、实验原理
51单片机的串行接口是全双工的,它能做异步接收器/发送器(UART),也能做同步移位寄存器使用。在做UART使用时,相关的寄存器有SBUF、SCON、和PCON中的波特率倍增位SMOD。
SBUF是数据发送缓冲器和接收缓冲器,逻辑上用同一个地址,物理上是分开的,用读写操作来选择。SCON是串行口控制寄存器,用于设定串行口的工作方式;保存方式2和方式3的第9位数据;存放发送、接收的中断标志。在串行通讯的方式1和方式3中,通信的波特率是可以设置的,满足下式:
PC机的串行通讯口是借助通用异步接收发送器8250(或16C550等)实现的,可使用comdebug.exe等提供了有关串行口的收、发操作窗口的软件实现通讯。PC机的串行通讯采用RS232电平,因此要求单片机的实验板也要配置RS232接口,解决逻辑电平的配接。如果通讯距离较远,则要配接调制解调器。
四、实验内容
自发自收
用一根短路线,将实验板中RS232插口的RXD和TXD两个插孔短路。然后编程设定串行口为工作方式1,传送55H和0AAH两个数据。
实验要求:程序采用查询方式。每传送、接收一个数据,做一次检查,看是否正确,若两次都正确,则在显示器上显示“GOOD”,若不正确,则不显示,并要重新传送。
单片机与PC机的通信
先使用通讯电缆将单片机的RS232接口与PC机的COM1口连接,PC机起动并运行comdebug.exe软件,窗口上设置波特率为1200,8位数据、一个停止位。单片机端也采用工作方式1,波特率为1200,完成单片机与PC机的通信。
实验要求:编程实现先由单片机发送8个数据,01、02、03、04、05、0ABH、0CDH、0EFH。然后进入接收状态,在PC机发送窗口上设置发送数据,点击发送按钮,单片机接收数据后将数据显示在显示器上。
五 、程序参考流程图
(a)自发自收程序流程图 (b)与PC机通讯程序流程图
六、思考题
1.波特率能否置为1000,为什么?
2.数据传输时,若要加奇偶校验,单片机和PC机要怎样做?
参考程序:
4—1:
ORG 0000H
MOV SCON,#50H ;SM0=0,SM1=1,设定串行工作方式为方式1,允许位接收
MOV PCON,#80H ;将SMOD置为1,使波特率提高一倍
MOV TMOD,#20H ;设置计数器方式为方式2,即自动重装8位计数器
MOV TH1,#0FDH ;设置初值,设定波特率为9600bps
MOV TL1,#0FDH
SETB TR1 ;TR1置1,开定时器1
MOV R0,#55H ;把数据分别存放在R0,R2
MOV R2,#0AAH
STA0: CLR RI ;RI清零
MOV SBUF,R0 ;将R0中的数据赋给SBUF并发送出去
WAIT1:JBC RI,STA2 ;RI=1的时候跳转,用于判断是否接收完成,完成则将RI清零并跳转至STA2
AJMP WAIT1 ;等待接收完成
STA2: MOV A,SBUF ;接收R0的数据
SUBB A,#55H ;判断接收数据是否为55H
JNZ STA0 ;A不是0则跳回STA0,重新发送
MOV SBUF,R2 ;将R2中的数据赋给SBUF并发送出去
WAIT2:JBC RI,STA4 ;判断是否发送完成,完成清零跳转至STA4
AJMP WAIT2 ;等待发送完成
STA4: MOV A,SBUF ;接收R2的数据
CJNE A,#0AAH,STA0 ;判断A是否为AAH,不是则跳回STA0,重新发送
DISPLAY: MOV P2,#01H ;位选
MOV P0,#0C2H ;段选显示G
ACALL Delay ;延时
MOV P2,#02H
MOV P0,#0C0H ;O
ACALL Delay
MOV P2,#04H
MOV P0,#0C0H ;O
ACALL Delay
MOV P2,#08H
MOV P0,#0A1H ;D
ACALL Delay
AJMP DIS
您可能关注的文档
最近下载
- HG-T 20646.2-1999化工装置管道材料设计工程规定.pdf VIP
- 老年康复护理课件.pptx VIP
- 英集芯IP2369_AC(with reg)通讯手册.pdf VIP
- 教科版 科学 五上 1.6《光的反射现象》课件.pptx
- 老年性黄斑变性PPT课件.ppt VIP
- 2025版最新防溺水安全ppt课件完整版.pptx VIP
- 《好住房建设技术导则》.pdf VIP
- 中考英语完型填空03初中英语题型突破——完形填空解题方法与技巧 (附专项练习和答案).docx VIP
- HG-T 20646.1-1999化工装置管道材料设计内容和深度规定.pdf VIP
- EP9文件中文版完整版.doc VIP
文档评论(0)