第六 讲 MCS-51单片机串行通讯接口_第1页
第六 讲 MCS-51单片机串行通讯接口_第2页
第六 讲 MCS-51单片机串行通讯接口_第3页
第六 讲 MCS-51单片机串行通讯接口_第4页
第六 讲 MCS-51单片机串行通讯接口_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《单片机原理及应用》

----单片机工作过程导向广东技术师范学院自动化学院测控技术与仪器技术系祁伟主讲MCS-51系统的串行接口一、串行通信的概念通信:CPU与外围设备或计算机与计算机之间的信息交换叫通信。串行通信的两种基本方式:1)并行通信:各位同时传送,速度快,近距离,成本高。2)串行通信:一位一位传送,速度慢,成本低,远距离。 P1.080C51 .... P1.7 GNDD0....D7GND外围设备并行通信 RXD80C51 TXD GNDTXDRXDGND外围设备串行通信并行、串行通信示图一、异步通信传送方式异步:字符按帧格式传送…P10D0D1D2D3D4D5D6D7P10D0…

起始位

数据位

校停验止位位异步通信的帧格式二、同步通信传送方式同步传送:以同步字符SYN开始连续发送,再以同步字符结束,时钟信号同时发送。适用高速、大容量的数据传送。开始

结束同步字符同步字符数据段同步字符同步字符同步传送方式三、串行通信数据的传送方向1、单工传送(单工制式Simplex)一端发送,一端接收。2、半双工(半双工制式HalfDuplex)一端可发送可接收,但同一时间只能实现一个功能。双方可通过硬件、软件约定。3、全双工(全双工Full-duplex制式)同一时间既可发送又可接收有各自的独立通道。接收器单工通信方式发送器接收器接收器

发送器发送器

数据流半双工通信方式接收器接收器

发送器发送器

数据流全双工通信方式四、MCS-51单片机的串行接口组成MOVSBUF,AMOVA,SBUF串行口构成及工作原理串行口构成:发送数据缓冲器SBUF(只写不读)、接收数据缓冲器SBUF(只读不写)、电源控制寄存器PCON、串行口控制寄存器SCON、发送中断标志位TI、接收中断标志位RI、移位寄存器等组成。接收:接收控制器按波特率发生器提供的时钟速率从RXD引脚一位一位接收数据,当收到一个完整字符时,装入SBUF中,同时置RI=1,通知CPU,CPU执行MOVA,SBUF,将数据读入累加器A。工作原理:发送:CPU执行MOVSBUF,A,将数据送入SBUF。发送控制器按波特率发生器(定时器构成)提供的时钟速率将SBUF中的数据一位、一位从TXD输出,发送结束时,置TI=1。

注意:由于SBUF具有双缓冲作用,它可以在CPU读入之前开始接收下一数据,CPU应在下一数据接收完毕前读取SBUF内容。由于串口的接收、发送各自独立,所以可同时发送及接收,即可以实现全双工通讯。六、与通讯有关的寄存器1)SBUF(1):发送缓冲器SBUF(2):接收缓冲器2)电源控制寄存器PCON:控制串行口波特率,SMOD即PCON.7波特率倍增位,PCON.7=1,波特率在原设定值上加倍。可同时、发送接收SMODD0D7PCONGF1GF0PDIDL

MOVPCON,#80H能否位寻址?3)串行口控制寄存器SCON设定串行口工作方式、接收、发送控制、监视串行口工作。SM0SM1SM2RENTB8RB8TIRI工作方式设定用于多机通讯接收控制发送第九位接收第九位发送中断标志接收中断标志多机通信TB8=0表示数据帧多机通信TB8=1表示地址帧七、MCS-51串行的工作方式MCS-51的串行口有四种工作方式,它是由SCON中的SM1和SM0来决定。SM0SMl工作方式方式简单描述波特率000移位寄存器I/O主振频率/120118位UART可变1029位UART主振频率/32或主振频率/641139位UART可变方式0:SM0SM1=00移位寄存器方式,数据传输波特率(fosc/12),串口输出端与移位寄存器相连,发送、接收的是8位数据。发送:数据从RXD引脚串行输出,TXD引脚输出同步脉冲,当一个数据写入串行口缓冲器时,串行口将8位数据以(fosc/12)波特率从RXD引脚输出,先送低位,发送结束后,置TI标志,若允许串口中断,CPU即响应中断服务。若不允许串口中断,即可通过查询TI位判断发送结束。由于TI位不能自动清零,则必须由软件清零后,才能再发送数据。发送过程:CPU主动MOVA,#01HMOVSBUF,A;启动发送JNBTI,$CLRTI注释:SBUF内容通过RXD输出,移位脉冲通过TXD输出当TI=1时,发送结束TI,由软件清零SBUF=0X01;while(!TI);TI=0;串行口方式0的时序串入/并出LED显示电路图例题:根据实验板电路设计,通过8051串口工作方式0,控制2位数码管显示00~991)利用MCS-51单片机串入/并出的显示电路设计2)从I/O接口扩展我们学到可以利用MCS-51单片机的串行口扩展并行I/O接口。实验板原理图的显示部分就是利用串入/并出技术实现2位数码管的显示任务。看电路板原理图。3)现在我们根据硬件电路设计,编程使2位数码管显示00~99。4)分析程序:字型码计算?串行口方式0应用74HC595移位寄存器

74595的控制端说明:/CLK(10脚):低电平时将移位寄存器的数据清零。通常接VccSCLK(11脚):上升沿时数据寄存器的数据移位。QA-->QB—>QC—>...-->QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,通常都选微秒级)SLCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常将SLCK置为低电平,当移位结束后,在SLCK端产生一个正脉冲(5V时,大于几十纳秒就行了),更新显示数据。/EN(13脚):高电平时禁止输出(高阻态)。如果单片机的引脚够用,用一个引脚控制它,可以方便地产生闪烁和熄灭效果观看程序Serial_Disp.c项目训练:(自行练习)试通过串口控制数码管开机显示op,一分钟后启动计时,3分钟后停机并显示30。试通过模拟串口控制数码管开机显示op,一分钟后启动计时,3分钟后停机并显示30。实验:用实验板(星期四)开机显示HELLO-按下p3.2键数码管后两位开始以秒为单位计数至00~99。方式1

方式1为8位异步通信方式。一帧10位,1位起始位(0),8位数据位(低位在前),1位停止位(1),起始位、停止位自动加入,TXD发送端,RXD接收端。波特率=(2SMOD/32)*N

N为定时器溢出率,每秒定时溢出的次数

波特率计算

波特率即数据传送速率,每秒传送二进制数码的位数bit/s。串行口四种工作方式决定三种波特率。1)方式0,波特率为固定值,为单片机时钟频率的1/12,即fosc/12,由单片机T1产生。2)方式2,有两种波特率, 波特率=(2SMOD/64)fosc式中:SMOD波特率倍增位,可选0、1。3)方式1和方式3波特率是可变的,波特率=(2SMOD/32)*N例题:若串行通信要求波特率为1200bit/s,不加倍,试选用定时器T1,方式1工作。波特率=(2SMOD/32)*N定时器定时1秒时溢出的次数为NN=(fosc/12)*[1/(2k-Z)]1200S-1=(20/32)*N,N=38400S-1,38400=(12*106/12)*1/(28-Z)Z=230D=0E6H,通常选fosc=11.059MHz,Z=230D=0E8H也可根据要求波特率查表得出定时器初值,如表7-1所列。MCS-51单片微型计算机串行口程序设计

在单片机应用系统中,数据通信主要采用的是异步串行通信方式,在设置通信接口时,必须根据需要选择标准接口,并考虑电平转换,传输介质等问题。RS232C、RS449、RS423/422、RS485标准总线接口。选择接口标准时,要注意以下两点:

1)通信速度和通信距离通常标准串行接口的电气特性,都满足可靠传输时的最大通信速度和传送距离指标。但这两个指标之间具有相关性,适当降低传输速度,可以提高通信距离,反之。如采用RS422标准进行数据传输时,最大传输速度为10Mbit/s,最大传输距离为300m,适当降低速度传输速度,传送距离可达1200m。选择接口标准时,要注意以下两点:2)抗干扰能力通常选择的标准接口,在保证不超过使用范围时都有一定的抗干扰能力,以保证信号的可靠传输。但在一些工业控制系统中,通信环境往往十分恶劣,因此在通信介质选择、接口标准选择时,要充分注意其抗干扰能力,并采取必要的抗干扰措施。例如,在长距离传输时,使用RS422标准,能有效抑制共模信号干扰。在高噪声污染环境中,通过使用光纤介质可减少噪声的干扰,通过光电隔离提高通信系统的安全性是一些行之有效的方法。1)RS232C标准总线接口RS232C是使用最早、应用最多的一种异步串行通信总线标准,它是美国电子工业协会(ElectronicIndustriesAssociation)1962年公布的,1969年最后一次修订而成。其中RS是RecommendedStandard的缩写,232是该标准的标识号,C表示最后一次修订。①RS232C传递信息的格式标准

RS232C采用按位串行方式,该标准所传递的信息规定如下:信息的开始为起始位信息,结尾为停止位,它可以是一位、一位半或两位;信息本身可以是5、6、7、8位再加一位奇偶效验位。RS232C传送的波特率(bit/s)规定为19200、9600、4800、2400、600、300、150、110、75、50。RS232C接口总线的传输距离一般不超过15m。

②RS232C电气特性由于RS232C是在TTL电路出现之前研制的,所以他的电平不是+5V和地,它使用负逻辑,其低电平“0”在+5V~+15V之间,高电平“1”在-5V~-15V之间,最高能承受±25V的信号电平。因此,RS232C不能和TTL电平直接相连,使用时必须加上适当的接口电路,否则将TTL电路烧毁。常用晶体管MC1488、MC1489或MAX232/202作TTL与RS232的电平转换。MAX232介绍

晶体管MC1488、MC1489作TTL与RS232的电平转换时,MC1488、MC1489还需要一套12V工作电源,给电路设计带来麻烦,所以通常用MAX232/MAX202TTL与RS232的电平转换。MAXIM(美信)公司生产的含有两路接收器和驱动器的单电源电平转换芯片,可以把输入的+5V电源电压转换为RS-232输出电平所需的+10V或-10V电压。MAX232引脚封装如图所示。引脚说明如表所示。

第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-

第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚GND、16脚VCC(+5v)。单片机与单片机串行通信电路

双机双工通信编程

双机通信(点对点)利用单片机串行口实现两个单片机之间的串行异步通信。如果两个单片机相距很近(1.5m),将它们的串行口直接相连,即实现双机通信;如果距离较远,可利用RS232(15m)、RS429、RS423/422、RS485标准总线接口进行通信(1200m)编程:利用单片机实现串口双机双工通信,要求接收方接收到数据1,即驱动一个通信红灯RED1亮,接收到数据2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论