单片机应用系统_串口通信教材

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机应用系统设计sjzjlzzl.comdxzxln.comsysdxyy.com://lndxyjs.comccsdxyy.comccsdxyy.cnjlsdxzx.comjlsdxzx.cnccsdxzx.comdxbkys.cndxbkyw.comdxbkyw.cndxbjkwzx.comjlsdxyy.cnhebsdxyy.comhebsdxyy.cnhebsdxzx.comhebsdxzx.cnhebzldxb.comhebzldxb.cndxyyheb.comdxyyheb.cnhljszlzx.comhljszlzx.cnnmsdxyy.cnnmsdxzx.comnmsdxzx.cnnmsdx120.comnmsdx120.cnnmszldx.comnmszldx.cnnmzldx.comnmzldx.cnnmszlzx.comnmszlzx.cndxzxnm.comdxzxnm.cnnmdxyjs.comnmdxyjs.cnsddxqzw.cn第九章串行接口第一节概述第二节8051单片机串行接口第三节串行接口的工作方式第四节串口初始化编程第五节RS-232接口第六节串行接口的应用本章要点•串行通信的基本概念。•8051单片机串行接口的结构与工作方式,与PC的通信以及通信程序的编制。•远程通信概念,RS-232接口。第一节概述一、串行通信的工作方式1.异步方式:以帧作为传送单位,每一帧由起始位、数据位、校验位和停止位组成,结构如图。2.异步接收/发送器异步传送方式可以通过软件将一帧数据逐位取出,在开头加起始位,末尾加校验位和停止位。然后进行发送。也可以用硬件自动完成;这种硬件称为异步接收/发送器,简称为UART。8051单片机在片内就提供了一个UART。3.同步方式同步方式仅在开始用若干字符作为同步号令,然后连续发送数据,如图所示。由于没有在每一个字符中,配置起始、停止位,所以结构紧凑,传输效率高、速度快,其组成如下图所示:二、串行通信的传送速度串行通信的数据传送是按位进行的,每秒所传送的位数称为波特率,如果数据传送的速度为每秒120帧,每个帧包含10位,则每秒传送1200位,即波特率为1200。10☓120=l200bit/s=1200baut每位传送的时间T等于波特率的倒数,如上例波特率为1200则每位传送时间为T=0.833ms国际上规定的标准波特率系列为300、600、1200、1800、2400、4800、9600和19200bit/s。三、串行通信的传送方向1.单工方式:指通信双方,一方只能发送,另一方只能接收,传送方向是单一的。2.半双工方式:通信双方只有一根传输线(共地),但任何一方都可以发送,当一方发送时,另一方只能接收。3.全双工方式:需要通信双方连接两条传输线(共地),一条是将数据从甲方送到乙方,另一条是从乙方送到甲方。允许双向同时发送。四、串行通信的校验方式,奇校验:根据数据中1的个数,决定校验位是否置1。以使1的个数总和为奇数。偶校验,根据数据中1的个数,决定校验位是否置1,以使1的个数总和为偶数。2.一组数据的校验方法在一组数据之后加发数据代数和或在一组数据之后加发数据异或值。1.异步通信中单个字符的校验方法通常是在单个字符末位后面,附加一个校验位。第二节8051单片机串行接口8051单片机串行接口结构一、数据缓冲器SBUF发送数据通过指令MOVSBUF,A将数据写入SBUF,然后串口自动将数据按事先设置的方式及速率从TXD(P3.1)端口输出,数据发送完毕,串口向CPU申请中断,且通过硬件将TI置1,表示发送已经结束,等待写入第二帧数据。接收数据通过指令MOVA,SBUF,使串口按事先设置的方式及速率自动从端口TXD(P3.1)接收数据,一帧数据接收完毕RI=1,串口向CPU请求中断且表示接收已经结束。二、控制寄存器SCONSCON各位定义D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0和SM1与工作方式关系SM0SMl工作方式功能波特率000作移位的I/Of/120118位UART可变由Tl时间常数定1029位UARTf/nn=64或321139位UART可变由Tl时间常数定注:表中f为主振频率。三、电源控制寄存器PCONPCON各位定义D7D6D5D4D3D2D1D0SMOD---GF1GF0PDIDL电源控制寄存器主要用于设置低功耗模式和掉电保护工作模式。但其中第7位SMOD用于串口。当串口工作于方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1波特率加倍,SMOD=0,则不加倍。返回本章首页第三节串行接口的工作方式一、串行口工作方式0方式0工作性能:1)波特率固定为发送—位数据等于一个机器周期。2)不论是发送还是接收,数据都是从RXD(P3.0)端出入。TXD端而作为同步移位脉冲输出端。3)工作于方式0时,可将串行接口扩展为并行接口,而其他三种工作方式,则主要用于通信。12/oscf方式0的工作时序方式0的接收时序方式0的发送时序方式0的应用串行口扩展为并行输出口串行口扩展为并行输人口二、串口工作方式1方式1的工作性能1)波特率可变串口波特率由定时器T1产生,并决定于T1定时时间,而T1的定时时间决定于装入的时间常数N,因此可根据时间常数N推出波特率,即2)传送数据为8位,连同一位起始位、一位停止位组成一帧,即一帧为10位,发送由TXD输出,接收由RXD输入,可构成全双工的串行通信端口。12)256(322NfOSCSMOD波特率方式1的工作时序三、串口工作方式2、3方式2、3的工作性能1)方式2波特率固定,并等于。方式3波特率计算方法同方式1,即等于。2)一帧数据为11位,包括1位起始位、8位数据位、1位可编程位、1位停止位。数据位低位在前高位在后,第9位可编程位发送时从SCON中的TB8取出,接收时第9位存SCON中的RB8。OSCSMODf642波特率返回本章首页12)256(322NfOSCSMOD波特率第四节串口初始化编程一、计算波特率串口方式0串口方式1和串口方式3串口方式212/oscf波特率OSCSMODf642波特率12)256(322NfOSCSMOD波特率二、对SCON、PCON、TMOD初始化以设计一8051单片机控制系统为例,设主振频率为12MHz,要求串口发送数据为8位、波特率为1200bps.则初始化步骤为:1.先按波特率要求,计算T1的时间常数N,设SMOD=1。已知主振频率为12MHz,波特率为1200bps.,串口工作于方式1,按式7-4可求得N=203.92≈0CCH2.写出初始化程序MOVSCON,#50H;串行口工作于方式1MOVPCON,#80H;SMOD=1,MOVTMOD,#20H;T1工作方式2定时方式MOVTHl,#0CCH;设置时间常间为NMOVTLl,#0CCH;自动装入时间常数SETBTR1;启动T1返回本章首页第五节RS-232、RS-485接口一、RS-232使用RS-232接口可增加串口的驱动能力、信号幅度与传输距离。直接用单片机的串口进行通信,可以将两个串口直接相连,RS232芯片MAX232的组成与引脚引脚内部组成单片机与PC机的串口通信•实验内容PC机向单片机发送0x55,单片机收到0x55后向PC反馈信号0x41,并点亮一盏LED灯,否则向PC反馈信号0x30。程序思想:既有串口发送又有串口接收。首先进行串口初始化。可采用中断方式或查询方式。程序代码如下:•总结–掌握单片机与PC机串口通信电路的设计方法。–掌握单片机与PC机串口通信的程序设计和调试方法–掌握单片机之间的串口通信实现方法。

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功