网站大量收购独家精品文档,联系QQ:2885784924

《单片机控制技术项目式课程》(第2版)课件 项目8 单片机通信系统的设计.ppt

《单片机控制技术项目式课程》(第2版)课件 项目8 单片机通信系统的设计.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

应用实例2:用74LS165连接的8位拨码开关从单片机串行口输入控制8只LED的显示。while(1){SPL=0;//置数,读入并行输入8位数据SPL=1;//移位,输入封锁,串行转换while(RI==0);//未收到等待RI=0;P0=SBUF;DelayMS(20);}}源程序:#includereg51.h#includeintrins.h#includestdio.h#defineucharunsignedchar#defineuintunsignedintsbitSPL=P2^5;voidDelayMS(uintx){uchari;while(x--)for(i=0;i120;i++);}voidmain(){SCON=0x10;//串行模式0,允许串口接收(2)方式1工作在方式1时,串行口为波特率可调的10位通用异步接口UART。发送或接收的一帧信息包括1位起始位0,8位数据位和1位停止位1。图8.17串行口方式1的数据格式①发送发送时,数据从TXD端输出,当数据写入发送缓冲器SBUF后,启动发送器发送。当发送完一帧数据后,置中断标志TI为1。方式1所传送的波特率取决于定时器1的溢出率和PCON中的SMOD位。②接收接收时,由REN置1,允许接收,串行口采样RXD,当采样由1到0跳变时,确认是起始位“0”,开始接收一帧数据。当RI=0,且停止位为1或SM2=0时,停止位进入RB8位,同时置中断标志RI;否则信息将丢失。所以,采用方式1接收时,应先用软件清除RI或SM2标志。③波特率方式1波特率可变,由定时/计数器T1的计数溢出率决定。波特率=2SMOD×(T1溢出率)/32其中SMOD为PCON寄存器中最高位的值,SMOD=1表示波特率倍增。在实际应用时,通常是先确定波特率,后根据波特率求T1定时初值,因此上式又可写为:X=256-2SMOD/32×fosc/(12×波特率)表8.3定时器1产生的常用波特率(3)方式2方式2下,串行口为11位UART,传送波特率与SMOD有关。发送或接收的一帧数据包括1位起始位0,8位数据位,1位可编程位(用于奇偶校验)和1位停止位1。图8.20方式2的数据格式可编程位TB8/RB8既可作奇偶校验位用,也可作控制位(多机通信)用,其功能由用户确定。波特率:方式2波特率固定,即fosc/32和fosc/64。如用公式表示则为:波特率=2SMOD╳fosc/64当SMOD=0时,波特率=20╳fosc/64=fosc/64当SMOD=1时,波特率=21╳fosc/64=fosc/32(4)方式3方式3为波特率可变的11位UART通信方式。除了波特率不同以外,方式3和方式2完全相同。注意:单片机进行多机通信时常常采用串行口的工作方式2或工作方式3。(5)串行口四种工作方式的比较四种工作方式的区别主要表现在帧格式及波特率两个方面。工作方式帧格式波特率方式08位全是数据位,没有起始位、停止位固定,每个机器周期传送一位数据方式110位没,其中1位起始位,8位数据位,1位停止位不固定,取决于T1溢出率和SMOD方式211位,其中1位起始位,9位数据位,1位停止位固定,即2SMOD×fosc/64方式3同方式2同方式13.串行口的初始化51单片机的串行口需初始化后,才能完成数据的输入、输出。其初始化过程如下:(1)按选定串行口的工作方式设定SCON的SM0、SM1两位二进制编码。(2)对于工作方式2或3,应根据需要在TB8中写入待发送的第9位数据。(3)若选定的工作方式不是方式0,还需设定接收/发送的波特率。(4)设定SMOD的状态,以控制波特率是否加倍。(5)若选定工作方式1或3,则应对定时器T1进行初始化以设定其溢出率。例:51单片机的晶振频率为11.0592MHz,波特率为1200b/s,要求串口发送数据为8位,编写它的初始化程序。解:假设SMOD=1,T1工作在方式2。

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档