1 / 7

AVR 单片机软硬件设计教程 - 入门篇 —— 学单片机就要学 AVR !

AVR 单片机软硬件设计教程 - 入门篇 —— 学单片机就要学 AVR !. 主 讲 : 尹延辉 策 划:张 勇 学习板: LT-Mini-M16 力天电子版权所有 技术交流 QQ 群: 31646346 www.lt430.com 2008年 9 月. 第七讲 异步串行口 UART. 本讲内容: 串行通讯技术概述 异步串行通讯原理 UART 与电脑的通讯 M16 的 USART 中断方式使用 USART 步骤. 串行通讯技术概述. 串行通讯的通俗定义: 一次发送一位 串行通讯的分类: 同步串行通讯

anika-combs
Télécharger la présentation

AVR 单片机软硬件设计教程 - 入门篇 —— 学单片机就要学 AVR !

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AVR单片机软硬件设计教程-入门篇——学单片机就要学AVR!AVR单片机软硬件设计教程-入门篇——学单片机就要学AVR! 主 讲: 尹延辉 策 划:张 勇 学习板:LT-Mini-M16 力天电子版权所有 技术交流QQ群:31646346 www.lt430.com 2008年9月

  2. 第七讲异步串行口UART • 本讲内容: • 串行通讯技术概述 • 异步串行通讯原理 • UART与电脑的通讯 • M16的USART • 中断方式使用USART步骤

  3. 串行通讯技术概述 • 串行通讯的通俗定义: • 一次发送一位 • 串行通讯的分类: • 同步串行通讯 • 时钟线、数据线,通过时钟保持数据同步 • SPI,IIC • 异步串行通讯 • 只有一根数据线,通过波特率保证数据同步 • UART • 无线通信一般均为异步串行通信

  4. 异步串行通讯原理 • 波特率 • 每秒发送码元的位数,单位bps • 9600bps:每个码元时间宽度为(1/9600)S • 发送方按照波特率发出数据 • 接收方按照波特率确定的码元时间宽度对数据进行采样 • 帧格式 • 8位数据格式 • 接线图 • 发送端:TXD • 接收端:RXD • 交叉连接

  5. 串口与PC机的通讯 • RS232电平标准 • 逻辑1:-15V • 逻辑0:+15V • DB9接口定义 • TXD、RXD、GND三根线即可满足绝大多数应用场合

  6. M16的USART • 特点 • 全双工操作( 独立的串行接收和发送寄存器) • 异步或同步操作 • 支持5,6,7,8,或9个数据位和1个或2个停止位 • 硬件支持的奇偶校验操作 • 三个独立的中断源 • 噪声滤波,包括错误的起始位检测,以及数字低通滤波器 • USART寄存器 • UDR • UCSRA • UCSRB • UCSRC • UBRRL与 UBRRH

  7. 中断方式使用USART步骤 • 第1步:设置波特率 • #define F_CPU 16000000 • #define BAUD 9600 • UBRRH = (F_CPU /BAUD/16-1)/256; • UBRRL = (F_CPU /BAUD/16-1)%256; • 第2步:使能发送、接收、接收完成中断 • UCSRB |= (1 << RXEN )|(1 << TXEN)|(1 << RXCIE); • 第3步: 使能全局中断 • sei(); • 第4步:查询方式发送、中断方式接收 • 发送:while( !(UCSRA & (1<<UDRE)) ); UDR=c; • 接收中断:c = UDR;

More Related