250 likes | 437 Views
任务 9. 9-1 、 ATMEGA16 单片机串行通信概述. 任务内容. 一、 串行接口简介 二、 ATmega16 的( USART )简介 三、 USART 寄存器说明 四 、 USART 使用说明. 一、 串行接口简介. 1 、串口 串行接口,也称串行通信接口,按电气标准及协议来分包括 RS-232-C 、 RS-422 、 RS485 、 USB 等。 RS-232-C :也称标准串口,是目前最常用的一种串行通讯接口 ,它的全名是“数据终端设备( DTE )和数据通讯设备( DCE )之间串行二进制数据交换接口技术标准”。.
E N D
任务9 9-1、ATMEGA16单片机串行通信概述
任务内容 一、串行接口简介 二、ATmega16的(USART)简介 三、USART寄存器说明 四 、USART使用说明
一、串行接口简介 1、串口 串行接口,也称串行通信接口,按电气标准及协议来分包括RS-232-C、RS-422、RS485、USB等。 RS-232-C:也称标准串口,是目前最常用的一种串行通讯接口 ,它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。
RS-232-C串口通信接线方法(三线制): 串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连;两个不同串口相连时两个不同串口连线如表 串口连接只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接。
2、单工、半双工和全双工 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。 如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。
3、奇偶校验 由于信道中存在干扰,可能使位“0”变为“1”,这种情况,我们称为出现了“误码”。我们把如何发现传输中的错误,叫“检错”。发现错误后,如何消除错误,叫“纠错”。 最简单的检错方法是“奇偶校验”,即在传送字符的各位之外,再传送1位奇/偶校验位。可采用奇校验或偶校验。
4、波特率 在电子通信领域,波特率即调制速率,指的是信号被调制以后在单位时间内的波特数,即单位时间内载波参数变化的次数。它是对符号传输速率的一种度量,通常以“波特每秒”(Bps)为单位,1波特每秒即指每秒传输1个符号。为了在彼此之间通讯,两台计算机的串口必须使用相同的波特率进行操作。
二、ATmega16的(USART)简介 1 USART概述 通用同步和异步串行接收器和转发器(USART)是一个高度灵活的串行通讯设备。 全双工操作(独立的串行接收和发送寄存器) 异步或同步操作;主机或从机提供时钟的同步操作;高精度的波特率发生器;支持5、6、7、8或9个数据位和1个或2个停止位;硬件支持的奇偶校验操作;三个独立的中断:发送结束中断, 发送数据寄存器空中断,以及接收结束中断;多处理器通讯模式;倍速异步通讯模式
2 时钟产生器 时钟产生逻辑为发送器和接收器产生基础时钟。支持4种模式的时钟:正常的异步模式、倍速的异步模式、主机同步模式以及从机同步模式。 USART的波特率寄存器UBRR和降序计数器相连接,一起构成可编程的预分频器或波特率发生器。降序计数器对系统时钟计数,当计数到零时产生一个时钟,该时钟作为波特率发生器的输出时钟,输出时钟频率 。
3 帧格式 串行数据帧由数据字加上同步位(开始位与停止位)以及用于纠错的奇偶校验位构成。USART接受30种组合的数据帧格式,当一个完整的数据帧传输后,可以立即传输下一个新的数据帧,或使传输线处于空闲状态。图所示为可能的数据帧结构组合。括号中的位是可选的。
三、USART寄存器说明 (1)USARTI/O数据寄存器-UDR 将数据写入UDR时实际操作的是发送数据缓冲器存器(TXB),读UDR时实际返回的是接收数据缓冲寄存器(RXB)的内容。
(2)USART控制和状态寄存器A-UCSRA • Bit7-RXC:USART接收结束 接收缓冲器中有未读出的数据时RXC置位,否则清零。接收器禁止时,接收缓冲器被刷新,导致RXC清零。RXC标志可用来产生接收结束中断(见对RXCIE位的描述)。
Bit6-TXC:USART发送结束 发送移位缓冲器中的数据被送出,且当发送缓冲器(UDR)为空时TXC置位。TXC标志可用来产生发送结束中断(见对TXCIE位的描述)。 Bit5-UDRE:USART数据寄存器空 UDRE标志指出发送缓冲器(UDR)是否准备好接收新数据。UDRE为1说明缓冲器为空,已准备好进行数据接收。UDRE标志可用来产生数据寄存器空中断(见对UDRIE位的描述)。
Bit1-U2X:倍速发送 这一位仅对异步操作有影响。使用同步操作时将此位清零。 此位置1可将波特率分频因子从16降到8,从而有效的将异步通信模式的传输速率加倍。 • (3)USART控制和状态寄存器B-UCSRB
Bit7-RXCIE:接收结束中断使能 置位后使能RXC中断。当RXCIE为1,全局中断标志位SREG置位,UCSRA寄存器的RXC亦为1时可以产生USART接收结束中断。 Bit6-TXCIE:发送结束中断使能 置位后使能TXC中断。当TXCIE为1,全局中断标志位SREG置位,UCSRA寄存器的TXC亦为1时可以产生USART发送结束中断。 Bit5-UDRIE:USART数据寄存器空中断使能 置位后使能UDRE中断。当UDRIE为1,全局中断标志位SREG置位,UCSRA寄存器的UDRE亦为1时可以产生USART数据寄存器空中断。
Bit4-RXEN:接收使能 置位后将启动USART接收器。RxD引脚的通用端口功能被USART功能所取代。禁止接收器将刷新接收缓冲器,并使FE、DOR及PE标志无效。 Bit3-TXEN:发送使能 置位后将启动将启动USART发送器。TxD引脚的通用端口功能被USART功能所取代。 TXEN清零后,只有等到所有的数据发送完成后发送器才能够真正禁止,即发送移位寄存器与发送缓冲寄存器中没有要传送的数据。发送器禁止后,TxD引脚恢复其通用I/O功能。
Bit2-UCSZ2:字符长度 UCSZ2与UCSRC寄存器的UCSZ1:0结合在一起可以设置数据帧所包含的数据位数(字符长度)。 Bit1-RXB8:接收数据位8 对9位串行帧进行操作时,RXB8是第9个数据位。读取UDR包含的低位数据之前首先要读取RXB8。 Bit0-TXB8:发送数据位8 对9位串行帧进行操作时,TXB8是第9个数据位。写UDR之前首先要对它进行写操作。
(4)USART控制和状态寄存器C-UCSRC Bit7-URSEL:寄存器选择访问UCSRC寄存器或UBRRH寄存器。当读UCSRC时,该位为1;当写UCSRC时,URSEL必须为1。 Bit6-UMSEL:USART模式选择 通过这一位来选择同步或异步工作模式。
Bit2:1-UCSZ1:0:字符长度 UCSZ1:0与UCSRB寄存器的UCSZ2结合在一起可以设置数据帧包含的数据位数(字符长度)。
(5)USART波特率寄存器-UBRRL和UBRRH Bit15-URSEL:寄存器选择 通过该位选择访问UCSRC寄存器或UBRRH寄存器。当读UBRRH时,该位为0;当写UBRRH时,URSEL为0。 • Bit11:0-UBRR11:0:USART波特率寄存器USART 的波特率信息。其中UBRRH 包含了USART 波特率高4 位,UBRRL 包含了低8 位。
对标准晶振及谐振器频率来说,异步模式下最常用的波特率可通过表5-9中UBRR 的设置来产生。表中的粗体数据表示由此产生的波特率与目标波特率的偏差不超过0.5%。