Soc型单片机原理及应用_4课件.pptVIP

  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文档。上传文档
查看更多
2.5 串行I/O 1.关于RXD, TXD引脚的工作方式(51系列): a) 工作在“移位”串行通信方式时,RXD为发送和接收. TXD为移位脉冲. 低位在前(LSB: little significant bit). 8位数据. 传送靠移位脉冲,所以频率的精度不重要. 半双工(Half Duplex).同步方式。 b) 异步通信时, RXD为接收, TXD为发送. LSB, 常用8位数据, 双方设为相同波特率(Baud Rate). 全双工(Full Duplex). UART(Universal Asynchronous Receiver/Transmitter) 1. 可以满足RS232通信协议的信号时序(与PC兼容) 2. 无信号时,发送端拉高电平 3. 常用的波特率:9600, 115200 4. 起始位:0, 8数据位, 1:停止位, SFR SCON(98h) 串行控制寄存器 S工作模式 模式0: RXD为发送和接收. TXD为移位脉冲. 低位在前(LSB). 8位数据. 传送靠移位脉冲, 频率固定为机器周期. 半双工(Half Duplex).晶体的1/12. 模式1:异步通信, RXD为接收, TXD为发送. LSB. 全双工(Full Duplex).1位起始+8位数据+1位停止. 波特率为T1的溢出率/32 (或1/16). 模式2:异步通信, RXD为接收, TXD为发送. LSB. 全双工. 1位起始+8位数据+1位特数据+1位停止. 波特率晶体的1/32或1/64. 适用多机通信. 模式3:异步通信, RXD为接收, TXD为发送. LSB. 全双工. 1位起始+8位数据+1位特数据+1位停止. 波特率为T1的溢出率/32 (或1/16). 适用多机通信. SCON SM2是接收中断请求的控制位。在模式2和模式3的多机通信中,如果SM2设置成1,接收到的第9位(RB8)为0,则接收中断不会被激活。这能起什么作用呢?它的控制逻辑是这样的,在多机通信中,主机先发送子机地址,第9位发送的是1。各子机都收到这个数据,接收中断都被激活。各子机核对这个地址,被选中的子机将自己的SM2清0(处于等数据态),未被选中的子机将SM2设置1。紧接着主机向子机发送数据实体,其第9位(RB8)为0(定义为数据实体)。这样未被选中的子机由于SM2的作用都将拒绝接收这个数据实体,而仅有被选中的子机,由于SM2已被清0,能接收这个数据实体,在被激活的中断中读SBUF(数据)即可。 SCON 在模式0中,SM2必须清0,接收中断才能被激活。SM2由程序置1或清0的。 在模式1中,如果SM2=1(硬件置1和清0),则没有接收到停止位,接收中断也不会被激活。SM2在这里用来控制数据传输的完整性.(这没有什么用) REN是允许接收位。由程序置1或清0的。当REN=1时表示允许接收。由外部发送过来的数据会被接收。如果REN=0,则不接收串行口的数据,所以一般要事先置1。 SCON TB8和RB8是模式2和模式3中的发送的第9位和接收的第9位(因为多机通信,或数据宽不够)。TB8作为发送第9位由程序赋值。RB8作为接收第9位,由程序读取。它们可用于奇偶校验,也可在多机通信中用来标明是地址还是数据实体。在模式1中,若SM2=0,则RB8是收到的停止位,它应该是1。在模式0中这两位都没有用。 TI是发送中断标志。在这个模式中发送完成后,也即SBUF数据全部发送完成,芯片硬件会使TI置1。(当TI=1时即自动请求中断。如果事先已申请串行中断允许,则程序进入串行中断服务程序). TI必须由程序清0,一般在中断服务程序中清0,以免造成又一次错误中断。如果无中断申请, 也要查询TI是否为1,并接着清0. SCON RI是接收中断标志。在各个模式中,接收到外部通过串行口发送来的一个数据后,RI被芯片硬件置1,并申请中断。此时SBUF缓存器中存放的是接收到的数据。如果事先已申请串行中断允许,芯片即响应中断请求,立即进入串行中断服务程序。RI的清0由程序进行。 一般, 接收用中断, 发送不用中断. 从单片机看, 流程是这样的: PC发一个字节- 引起MCU中断-MCU在中断服务内, 或在外发1个, 1串字节给PC-PC回答1个字节-MCU中断-…… 课堂提问:模式1串口数据通常用几位的?物理上是几位的? 波特率的计算 模式1的波特率为T1溢出率的1/32或1/16. 如果SFR PCON.7=0, 则1/32. PCON.7=1, 则1/16. 1)晶体11.0592MHz, 设TL1=253(FDh), 3周期溢出 Baut Rate = 11.0592*1000000/12/3/32 = 9600 1)晶体24

文档评论(0)

mkt361 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档