单片机串行通信.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉理工大学《单片机原理与应用》课程设计说明书 PAGE PAGE 1 1.单片机串行通信的概述 在通信领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间的传输。   串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。 使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。 在串行通信中,把通信接口只能发送或接收的单向传送办法叫单工传送;而把数据在甲乙两机之间的双向传递,称之为双工传送。在双工传送方式中又分为半双工传送和全双工传送。半双工传送是两机之间不能同时进行发送和接收,任一时该,只能发或者只能收信息。 51系列单片机有一个可编程的全双工串行通信接口,它可作异步接收发送器用,也可做同步移位寄存器用,其帧格式可有8位、10位或11位,并能设置各种波特率,给使用带来很大的灵活性。 51系列单片机有两个物理上独立的接收、发送缓冲器SBUF,它们只占用同一地址99H,可同时发送、接送数据。发送缓冲器只能 写入,不能读出,接收缓冲器只能读出、不能写入。 串行发送接收的速率与波特率发生器产生的移位脉冲同频。51系列单片机用定时器T1或直接用CPU时钟作为通信波特率发生器的输入,在串行接口的不同工作方式中,波特率发生器从两个输入信号中选择一个分频,产生移位脉冲来同步串口的接收和发送,移位脉冲的速率即是波特率。 接收器是双缓冲结构,在前一个字节被从接收缓冲器SBUF读出之前,第二字节即开始被接收 。但是,若在第二个字节接收完毕后,前一个字节还未被CPU读取的话 ,第二个字就会覆盖第一个字节,造成第一个字节的丢失。接收器是双缓冲结构,串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的。 8051串行口可设置四种工作方式,可有8位,10位和11位帧格式。方式0以8位数据为一帧,不设起始位和停止位,先发送最低位。方式1以10位为一帧传输,设有1个起始位“0”,8个数据位和1一个停止位“1”。方式2和3以11位为1帧传输,设有1个起始“0”,8个数据位,1个附加第九位和1个停止们“1”,附加第九位由软件置1或清0。发送时在 2.串行通信程序设计 2.1程序设计流程图 设定T1和scon 设定T1和scon 设定发送数据地址指针和块长度计数器 开中断开关EA 允许串行口中断 发送 等待中断 清T1 修改数据地址指针 和块长度计数器 全部数据发送完 发送 中断返回 清EA或ES Y N 主程序 中断服务程序 (a)中断方式发送程序主程序 主程序 设定T1和SCON 置位REN允许接收 开中断开关EA 允许串行口中断 等待中断 中断服务程序 清R1 接收数据 数据送接收缓冲器 数据块接收完 清EA或ES 中断返回 N Y 设定接收缓冲区首址 置接收数据个数计数器 (b)中断方式接收程序 图2.1串行通信中断方式流程图 2.2自发自收程序 ORG 0000H MOV TMOD,#20H MOV TH1,#0CCH MOV TL1,#0CCH ;设定波特率 SETB TR1 MOV SCON,#50H ABC : CLR TI MOV P1,#0FEH ;LED灭 ACALL DAY ;延时 MOV A,#0FFH MOV SBUF,A ;发送数据FFH JNB RI, $ ;RI≠1等待 CLR RI MOV A,SBUF ;接收数据,A=FFH MOV P1,A ;灯亮 JNB TI, $ ;TI≠1等待 ACALL DAY ;延时 SJMP ABC DAY: MOV R0,#0 DAL: MOV R1,#0 DJNZ R1, $ DJNZ R0,DAL RET END 2.3发送程序及分析 ORG 0000H LJMP MAIN ORG 0023H LJMP SUB1 MAIN:MOV SCON,#50H MOV TMOD,#20H MOV TL1,#0FDH

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档