中北大学2011届毕业设计说明书
根据需要,89C51串行口可以设置4种工作方式,可有8、10、11位帧格式,方式的选择由SM0、SM1实现。
现简要介绍下要用到的工作方式1:串行口方式1——10位UART
方式1以10位为一帧传输,设有1个起始位(0),8个数据位和1个停止位(1)。其帧格式如下图5-4:
图5-4 方式1帧格式
方式1真正用于串行发送或接收,为10位通用异步接口。TXD引脚发送数据,RXD引脚接收数据。数据传输波特率由T1的溢出率决定,可用程序设定。在接收时,停止位进入SCON的RB8。
串行口方式1的发送和接收时序如图5-5所示:
图5-5 方式1发送和接收时序
第 30 页 共 52 页
中北大学2011届毕业设计说明书
接收有效的两个条件:(1)RI=0。即上一帧数据接收完成时,RI=1发出的中断请求已被响应,SBUF中数据已被取走。由软件使RI=0,以便提供“接收SBUF已空”的信息。(2)SM2=0或收到的停止位为1(方式1时,停止位进入RB8)。
满足上述两个条件,将接收到的数据装入串行口的SBUF和RB8(RB8装入停止位),并置位RI,通知CPU取数据;如果不满足,接收到的数据不能装入SBUF,这意味着该帧信息将会丢失。 5.2.2 波特率的设定
在串行通信中,要求收发双方接收和发送数据的波特率必须一致。通过软件对MCS-51串行口编程可约定四种工作方式。其中,方式0和方式2的波特率是固定的;而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定(T1每秒溢出的次数)。
串行口的四种工作方式对应着三种波特率。由于输入的移位时钟来源不同,因此,各种方式的波特率计算公式也不同。现简要介绍方式1波特率的产生及计算方法。
方式1和方式3的波特率:
方式1和方式3的移位时钟脉冲由定时器T1产生,如图所示。因此,MCS-51串行口方式1和方式3的波特率由定时器T1的溢出率与SMOD值共同决定。即:方式1、方式3波特率≌(2SMOD/32)×T1溢出率,如下图5-6:
图5-6 方式1、3波特率的产生
第 31 页 共 52 页
中北大学2011届毕业设计说明书
其中,T1溢出速率取决于T1的计数速率(计数速率≌fosc/12)和T1预置的初值。
2SMOD波特率≌32?fosc12(12?初值k)
其中,k 为定时器T1的位数;定时器方式0,k=13;定时器方式1,k=16;定时器方式2,k=8。 5.3 89C51与PC机间通信
PC机与89C51单片机最简单的连接是零调制3线经济型,这是进行全双工通信所必须的最少数目的线路。由于89C51单片机输入、输出电平为TTL电平,而PC机配置的是RS-232C标准串行接口,二者的电气规范不一致,因此,要完成PC机与单片机的数据通信,必须进行电平转换。
现在采用MAX232芯片实现89C51单片机与PC机的RS-232C标准接口通信。 5.3.1 MAX232芯片简介
MAX232芯片是NAXIM公司生产的,包含两路接收器和驱动器的IC芯片,适用于各种EIA-232C和V.28/V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232C输出电压所需的±10V电压。所以,采用此芯片接口的串行通信系统只需要单一的+5V电源就可以了。对于没有±12V电源的场合,其适应性更强。加之其价格适中,硬件接口简单,所以被广泛采用。
MAX232芯片的引脚结构如下图5-7所示,其典型工作电路如图5-8所示:
第 32 页 共 52 页
中北大学2011届毕业设计说明书
图5-7 MAX232引脚图
图5-8 MAX232典型工作电路
5.3.2 MAX232接口电路
现从MAX232芯片中两路发送接收中任选一路作为接口。应注意其发送、接
第 33 页 共 52 页
中北大学2011届毕业设计说明书
收的引脚要对应,如图5-9所示:
图5-9 MAX232接口电路
第 34 页 共 52 页