c51单片机---串口n精选.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
什么是串行通信? 串行通信和并行通信 MCS-51的串行接口 概述 有一个可编程全双工串行通信接口(UART Universal Asychronous Receiver/Transmitter 管脚:TXD(P3.1)、RXD(P3.0) 可同时发送、接收数据Transmit/Receive 有四种工作方式,帧格式有8、10、11位。 波特率Baud rate可设置波特率:每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。 MCS-51串行接口的结构 MCS-51串行接口寄存器 SBUF——串行口数据缓冲器 共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一个地址99H。 SCON——串行口控制寄存器 PCON——电源及波特率选择寄存器 电源及波特率选择寄存器PCON 串行口四种工作方式应用比较 方式的选择由SM1、SM0实现。 方式0 方式1 方式2 方式3 MCS-51串行口的波特率 单片机之间的通信 双机通信软件编程 2)方式1.3的波特率设计方法: 先设定串口波特率和T1的工作方式,然后计算计数初值。例: 设波特率为 2400 bit/s,fosc为 11.0592 MHZ, T1选方式 2, SMOD 0。 则: 2400T1溢出率/32T1溢出率76800 又: T1溢出率1/定时时间 定时时间=1/座机电话号码-x×11.0592×106/12x 242F2H 双机异步通信接口电路 RS-422A双机异步通信接口电路 查询方式1 甲机发送编程将甲机片外1000H~101FH单元的数据块从串行口输出。定义方式2发送,TB8为奇偶校验位。发送波特率375 kb/s,晶振为12 MHz, SMOD1。 参考发送子程序如下:MOV SCON,#80H;设置串行口为方式2MOV PCON,#80H;SMOD1MOV DPTR,#1000H ;设数据块指针MOV R7,#20H;设数据块长度START: MOVXA,@DPTR;取数据给AMOV C,PMOV TB8,C;奇偶位P送给TB8MOV SBUF,A;数据送SBUF,启动发送WAIT:JBCTI,CONT;判断一帧是否发送完。若送完,清TI,取下一个数据AJMPWAIT;未完等待CONT: INCDPTR;更新数据单元DJNZR7,START;循环发送至结束RET 2 乙机接收编程使乙机接收甲机发送过来的数据块,并存入片内50H~6FH单元。接收过程要求判断RB8,若出错置F0标志为1,正确则置F0标志为0,然后返回。在进行双机通信时,两机应采用相同的工作方式和波特率。 * * §2-6串行输入/输出接口 例:单片机之间的双机通信 单片机间经常需要互相传递信息--通信. 程序 甲机发送程序参考如下:MOV TMOD,#20HMOV TL1,#0F4HMOV TH1,#0F4HSETB TR1MOV SCON,#40HMOV R0,#20HMOV R7,#08HSTART:MOV A,@R0 MOV SBUF,AWAIT: JBC TI,CONTAJMP WAITCONT: INC R0DJNZ R7,STARTSJMP $ 乙机接收及显示程序参考如下: MOV TMOD,#20HMOV TL1,#0F4HMOV TH1,#0F4HSETB TR1MOV SCON,#40HMOV R0,#20HMOV R7,#08HSETB REN WAIT: JBC RI,READAJMP WAITREAD: MOV A,SBUFMOV @R0,AINC R0DJNZ R7,WAIT DISP: LCALL DISPLAYSJMP DISP 分析与总结分析程序可以看出,通信双方都有对单片机定时器的编程(注意发送、接收程序的前4条指令),而且双方对定时器的编程完全相同。这说明,MCS-51单片机在进行串行通信时,是与定时器的工作有关的。定时器用来设定串行通信数据的传输速度。在串行通信中,传输速度是用波特率来表征的,有关波特率与定时器的关系以及编程在后面章节介绍。 计算机1GND 计算机2GND 并行通信 计算机1GND 计算机2GND 发送 接收 串行通信 并行通信:数据的各位同时传送,口线位数数据宽度, 快、距离〈20M 串行通信:数据一位一位顺序传送,占用口线少,距离远、慢。 串行通信的分类:异步同步串行通信制式:单工a、半双工b和全双工c发送器 A站 接收器 B站 单工通信 a 发 收 A站 发 收 B站 发 收 A站 发 收 B站 b c 1 0 1 1 1 1 0 起始位 数据 停止位 空闲位 第N个字符 第N+1个字符 通信方式:   

文档评论(0)

贪玩蓝月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档