1、单片机应用系统设计第九章 串行接口 第一节 概述 第二节 8051单片机串行接口 第三节 串行接口的工作方式 第四节 串口初始化编程 第五节 RS-232接口 第六节 串行接口的应用本章要点 串行通信的基本概念。8051单片机串行接口的结构与工作方式,与PC的通信以及通信程序的编制。远程通信概念,RS-232接口。第一节 概述一、串行通信的工作方式 1.异步方式:异步方式:以帧作为传送单位,每一帧由起始位、数据位、校验位和停止位组成,结构如图。2.异步接收异步接收/发送器发送器 异步传送方式可以通过软件将一帧数据逐位取出,在开头加起始位,末尾加校验位和停止位。然后进行发送。也可以用硬件自动完成
2、;这种硬件称为异步接收发送器,简称为UART。8051单片机在片内就提供了一个UART。3.同步方式同步方式 同步方式仅在开始用若干字符作为同步号令,然后连续发送数据,如图所示。由于没有在每一个字符中,配置起始、停止位,所以结构紧凑,传输效率高、速度快,其组成如下图所示:二、串行通信的传送速度 串行通信的数据传送是按位进行的,每秒所传送的位数称为波特率,如果数据传送的速度为每秒120帧,每个帧包含10位,则每秒传送1200位,即波特率为1200。10120=l200bit/s=1200baut 每位传送的时间T等于波特率的倒数,如上例波特率为1200则每位传送时间为 T=0.833ms 国际上
3、规定的标准波特率系列为300、600、1200、1800、2400、4800、9600和19200bit/s。三、串行通信的传送方向 1.1.单工方式单工方式:指通信双方,一方只能发送,另一方只能接收,传送方向是单一的。2.2.半双工方式半双工方式:通信双方只有一根传输线(共地),但任何一方都可以发送,当一方发送时,另一方只能接收。3.3.全双工方式:全双工方式:需要通信双方连接两条传输线(共地),一条是将数据从甲方送到乙方,另一条是从乙方送到甲方。允许双向同时发送。四、串行通信的校验方式四、串行通信的校验方式,奇校验:根据数据中1的个数,决定校验位是否置1。以使1的个数总和为奇数。偶校验,根
4、据数据中1的个数,决定校验位是否置1,以使1的个数总和为偶数。2.2.一组数据的校验方法一组数据的校验方法 在一组数据之后加发数据代数和或在一组数据之后加发数据异或值。1.1.异步通信中单个字符的校验方法异步通信中单个字符的校验方法 通常是在单个字符末位后面,附加一个校验位。第二节 8051单片机串行接口 8051单片机串行接口结构 一、数据缓冲器一、数据缓冲器SBUF 发送数据发送数据 通过指令MOV SBUF,A将数据写入SBUF,然后串口自动将数据按事先设置的方式及速率从TXD(P3.1)端口输出,数据发送完毕,串口向CPU申请中断,且通过硬件将TI置1,表示发送已经结束,等待写入第二帧
5、数据。接收数据接收数据 通过指令MOV A,SBUF,使串口按事先设置的方式及速率自动从端口TXD(P3.1)接收数据,一帧数据接收完毕 RI=1,串口向CPU请求中断且表示接收已经结束。二、控制寄存器二、控制寄存器SCON SCON各位定义各位定义 D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0和和SM1与工作方式关系与工作方式关系SM0 SMl 工作方式 功 能 波特率 0 0 0 作移位的IO f 12 0 1 1 8位 UART 可变由Tl时间常数定 1 0 2 9位 UART f/n n=64或32 1 1 3 9位
6、 UART 可变由Tl时间常数定 注:表中f 为主振频率。三、电源控制寄存器三、电源控制寄存器PCONPCON PCONPCON各位定义各位定义 D7 D6 D5 D4 D3 D2 D1 D0 SMOD -GF1 GF0 PD IDL 电源控制寄存器主要用于设置低功耗模式和掉电保护工作模式。但其中第7位SMOD用于串口。当串口工作于方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1波特率加倍,SMOD=0,则不加倍。返回本章首页第三节 串行接口的工作方式 一、串行口工作方式一、串行口工作方式0 0 方式方式0 0工作性能工作性能:1)波特率固定为 发送位数据等于一个机器周期。2)不
7、 论 是 发 送 还 是 接 收,数 据 都 是 从RXD(P3.0)端出入。TXD端而作为同步移位脉冲输出端。3)工作于方式0时,可将串行接口扩展为并行接口,而其他三种工作方式,则主要用于通信。12/oscf方式方式0 0的工作时序的工作时序方式0的接收时序 方式0的发送时序 方式方式0的应用的应用 串行口扩展为并行输出口串行口扩展为并行输人口 二、串口工作方式二、串口工作方式1 1 方式方式1 1的工作性能的工作性能 1)波特率可变 串口波特率由定时器T1产生,并决定于T1定时时间,而T1的定时时间决定于装入的时间常数N,因此可根据时间常数N推出波特率,即2)传送数据为8位,连同一位起始位
8、、一位停止位组成一帧,即一帧为10位,发送由TXD输出,接收由RXD输入,可构成全双工的串行通信端口。12)256(322NfOSCSMOD波特率方式方式1 1的工作时序的工作时序三、串口工作方式三、串口工作方式 2 2、3 3方式方式2 2、3 3的工作性能的工作性能 1)方式2波特率固定,并等于。方式3波特率计算方法同方式1,即等于。2)一帧数据为11位,包括1位起始位、8位数据位、1位可编程位、1位停止位。数据位低位在前高位在后,第9位可编程位发送时从SCON中的TB8取出,接收时第9位存SCON中的RB8。OSCSMODf642波特率返回本章首页12)256(322NfOSCSMOD波
9、特率第四节 串口初始化编程 一、一、计算波特率计算波特率 串口方式0 串口方式1和串口方式3 串口方式2 12/oscf波特率OSCSMODf642波特率12)256(322NfOSCSMOD波特率二、对二、对SCON、PCON、TMOD初始化初始化 以设计一8051单片机控制系统为例,设主振频率为12MHz,要求串口发送数据为8位、波特率为1200bps.则初始化步骤为:1.先按波特率要求,计算T1的时间常数N,设SMOD=1。已知主振频率为12MHz,波特率为1200bps.,串口工作于方式1,按式7-4可求得N=203.920CCH 2.写出初始化程序 MOV SCON,#50H ;串行
10、口工作于方式1 MOV PCON,#80H ;SMOD=1,MOV TMOD,#20H ;T1工作方式2定时方式MOV THl,#0CCH ;设置时间常间为N MOV TLl,#0CCH ;自动装入时间常数SETB TR1;启动T1返回本章首页第五节 RS-232、RS-485接口一、一、RS-232RS-232 使用RS-232接口可增加串口的驱动能力、信号幅度与传输距离。直接用单片机的串口进行通信,可以将两个串口直接相连,RS232芯片芯片MAX232的组成与引脚的组成与引脚 引脚内部组成单片机与PC机的串口通信 实验内容实验内容PC机向单片机发送0 x55,单片机收到0 x55后向PC反馈信号0 x41,并点亮一盏LED灯,否则向PC反馈信号0 x30。程序思想:程序思想:既有串口发送又有串口接收。首先进行串口初始化。可采用中断方式或查询方式。程序代码如下:总结 掌握单片机与PC机串口通信电路的设计方法。掌握单片机与PC机串口通信的程序设计和调试方法 掌握单片机之间的串口通信实现方法。