单片机应用技术项目教程(C语言版)电子教案素材资源 电子课件 07.项目七 单片机串行通信设计与实现.pptVIP

单片机应用技术项目教程(C语言版)电子教案素材资源 电子课件 07.项目七 单片机串行通信设计与实现.ppt

  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文档。上传文档
查看更多
陳慶逸、林柏辰編著---文魁資訊 ARM嵌入式系统 项目七 单片机串行通信设计与实现 远程数据采集 模拟量由电位器模拟产生; 使用ADC0808/ADC0809模数转换器完成模数转换; 下位机通过串行通信将转换结果传送到上位机; 上位机将转换结果送到LED显示。 远程数据采集电路 远程数据采集程序 数据发送端程序 数据接收端程序 CPU与外部通信 CPU与外部通信的基本方式有两种: 并行通信——数据的各位同时传送。 串行通信——数据一位一位顺序传送。 异步通信和同步通信 异步通信 数据格式一般由1个起始位、7或8个数据位、1~2个停止位和一个校验位组成 通信双方采用独立时钟,起始位触发双方同步时钟 同步通信 数据格式有多个数据组成,每帧有一个或两个同步字符作为起始位 必须用一个时钟协调收发器,硬件较复杂 串行通信模式 单工方式 单向传输 半双工方式 双向传输,同一时间只有一个方向传输 全双工方式 同时双向传输 串行通信波特率 波特率的定义为每秒钟传送二进制数码的位数(亦称比特数),单位是bit/s,即位/秒。 相互通信双方必须具有相同的波特率 例如:数据传输速率是240字符/s,每个字符包含10位数,则波特率为2400波特。 每位的传输时间定义为波特率的倒数。例如:波特率为1200 bit/s的通信系统,其每位的传输时间应为: 单片机串行接口结构框图 SBUF SBUF是串行口缓冲寄存器,包括发送和接收寄存器(名字相同,但不会冲突) SBUF是两个在物理上独立的接收、发送寄存器,一个用于存放接收到的数据,另一个用于存放欲发送的数据,可同时发送和接收数据。 两个SBUF共用一个地址99H,通过对SBUF的读、写指令来区别是对接收缓冲器还是发送缓冲器进行操作。 CPU在写SBUF时,就是修改发送缓冲器;读SBUF,就是读接收缓冲器的内容。 接收或发送数据,是通过串行口对外的两条独立收发信号线RXD(P3.0)、TXD(P3.1)来实现的,因此可以同时发送、接收数据,其工作方式为全双工制式。 TTL与RS232 232电平或者说串口电平,有的甚至说计算机电平,所有的这些说法,指得都是计算机9针串口 (RS232)得电平,采用负逻辑, -15v ~ -3v 代表1 +3v ~ +15v 代表0 TTL:Transistor-Transistor Logic 三极管结构。 Vcc:5V;VOH=2.4V;VOL=0.5V;VIH=2V;VIL=0.8V。 串行中断控制器SCON SM0、SM1: 串行口工作方式 SM2=1为多机通信控制工作方式(方式2,3) REN: 接受允许控制位。 REN=1 允许 REN=0 禁止 TB8、RB8: 发送、接收第9位数据 TI: 发送中断标志。 在方式0中,8位发送结束时,TI=1。TI必须用软件清零 RI: 接收中断标志。 在方式0中,8位接收结束时,RI=1。RI必须用软件清零 电源控制寄存器PCON SMOD=1 时,串行口波特率加倍 中断允许控制寄存器IE ES=1 允许串行中断 ES=0 禁止串行中断 EA 总允许控制 波特率选择与设置 方式0: 波特率=f/12 方式2: 波特率=2SMODf/64 方式1 和 方式3(用定时器T1作波特率发生器) T1计数率 = fosc /12 溢出周期= T1溢出所需周期数/ T1计数率= 溢出率为溢出周期的倒数 波特率 = 2SMOD(T1溢出率)/32= fosc: 晶振的时钟频率 远程数据采集串行通信设置 当定时器1做波特率发生器使用时,通常是工作在模式2,即自动重装载的8位定时器,此时TL1作计数用,自动重装载的值在TH1内。 设计数的预置值(初始值)为X,那么每过256-X个机器周期,定时器溢出一次。 为了避免因溢出而产生不必要的中断,此时应禁止T1中断。 定时器T1溢出所需周期数计算 T1工作方式及溢出所需周期数: 方式0: 溢出所需周期数 = 8192 – X 方式1: 溢出所需周期数 = 65536 – X 方式2: 溢出所需周期数 = 256 – X X为初值 单片机应用技术项目教程(C语言版) 计算机科学系 项目七 单片机串行通信设计与实现 * 教学目的 了解单片机串行通信的工作原理; 掌握单片机串行通信的编程方法; 掌握上位机与下位机串行通信的连接方法; 掌握远程数据采集实现的方法。 串行通信方式 单工通信 半双工通信 全双工通信 同步通信 异步通信 发送器 接收器 发送器/接收器 发送器/接收器 发送器/接收器 发送器/接收器 串行通信方式的特点 通过单片机自带的串行口进行通信 每个时间单位传送一位信息 每个字符(字节)的各位依次传送 不管发送或接收数据是多

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档