单片机异步串行通信精要.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同步与异步的主要区别:同步通信有专门的时钟线,异步通信没有时钟线,靠两边选择相同的传输率实现时钟的同步; * * I:表示信息传输一个的速率;S 波特率; N 每个符号负载的信息量 * * 在AVR USART结构中,起始位已固定为1位 * 数据寄存器有两个(可达9位),一个收一个发,收的只读,发的只写 * 控制寄存有三,ABC,用于设定模式,数据位、停止位、校验位,使能,标志等; * 波特率寄存器为12位的寄存器,上述为正常异步串行通信的波特率计算公式 * (1)(2)(4)通过控制寄存器完成设置;(3)通过波特率寄存器完成设置 * * * 单片机原理 与接口技术 广州大学自动化系 肖忠 * 一、演示:串行通信的应用 功能:单片机测量的数据(模拟电压值)以短信的形式发往手机; 相关硬件: 1、GSM短信模块; 2、单片机测量系统(用Proteus模拟); 3、串行通信线; 编译软件: ICC AVR * 一、演示:串行通信的应用 * 二、系统电路分析 * 三、串行通信概念 通信方式 串行 并行 异步 同步 数码管动态刷新显示电路,段码数据的输出 串转并电路中所用的SPI功能 UART 单片机串行口,又名串口,RS-232口,通常为三线制,全双工工作方式 * 1、串行口—机械特性 简易的三线制 * 2、串行口—数据帧格式 特点: (1)不要求收发双方时钟严格一致,易实现; (2)设备开销小,连接简单(三线) (3)传输效率较低,每字符传输要附加2~3位用于起止位,各帧之间还有间隔。 * 3、串行口—波特率 波特率(Baud rate),调制速率 在数字信道中,用比特率表示是数字信号的传输速率(单位:bps),波特率可以被理解为单位时间内传输码元符号的个数(传符号率) I = S * log2N 传输基带二进制信号时,I = S 串行通信双方必须使用相同的波特率 * 四、AVR单片机的USART功能 USART是通用同步异步收发器的英文缩写 全双工操作(独立的串行接收和发送寄存器) 高精度的波特率发生器 支持异步或同步操作 支持5 6 7 8或9个数据位和1或2个停止位 硬件支持奇偶校验 数据过速、帧错误检测 发送结束、发送数据空、接收结束等三个中断 噪声滤波、多处理器、倍速通信等 * 支持:异步、倍速异步、主机同步、从机同步四种模式 * 模式:异步、倍速异步、主机同步、从机同步 数据帧格式: 起始位(1位) 数据位(5、6、7、8或9位) 校验位(无、奇、偶) 停止位(1或2位) 波特率: (异步) 五、应用USART的关键技术 * 1、数据寄存器 * 模式选择 数据位选择 奇偶校验选择 停止位选择 2、控制寄存器 * 例如:要求BAUD为4800 fosc=1MHz 则 UBRR = 12 3、波特率寄存器 * 初始化内容: (1)工作模式 (2)数据帧格式 (3)波特率 (4)使能及中断使能 六、串行口的初始化 实例: (1)工作模式:异步; (2)数据帧:1位起始位、8位数据位、无校验位、1位停止位; (3)波特率:4800bps (主频1M) (4)UART使能及中断使能 * 六、串行口初始化(控制寄存器) 异步 8个数据位 无校验 1个停止位 0 0 0 0 1 1 1 0 0 0 0 1 清发送标志 发送使能 * void uart_init(void) { UCSR0A = 0 UCSR0B = 0 UCSR0C = 0 UBRR0 = 12; } 六、串行口初始化代码 * 1、数据发送(查询方式) (1)待发送缓冲器为空; (2)将数据放入发送缓冲器; 例: void uart_transmit0(unsigned char i) { while (!(UCSR0A (1UDRE0))); UDR0 = i; } 七、数据发送、接收函数 * 2、数据接收(查询等待方式) (1)等待接收数据; (2)从接收缓冲器中获取数据; 例: unsigned char uart_receive0(void) { while (!(UCSR0A (1RXC0))); return UDR0; } 七、数据发送、接收函数 * 1、在程序代码中修改目的手机号码; 2、重新编译程序; 3、仿真、演示 八、仿真、演示 * 1、工作模式 2、数据帧格式 3、波特率 4、使能及中断使能 5、接收与发送(查询法或中断法) 九、小结 * 1、硬件:AVR学习板(

文档评论(0)

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

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

1亿VIP精品文档

相关文档