基于MCS51的两片单片机之间的串行通信接口设计

发布时间 : 星期四 文章基于MCS51的两片单片机之间的串行通信接口设计更新完毕开始阅读

基于MCS51的两片单片机之间的串行通信接口设计

RS232电平串行数据帧格式如图3-5:

图3-5 RS232电平串行数据帧格式

用Protues仿真软件画出实际RS232之间的连接电路图如图3-6。

图3-6 RS232之间的连接电路图

RS232的标准就是将(+3V)-(+15V),(-3V)-(-15V)的电平作为通讯的高低电平使用,所谓的信号强弱是和电压、电流有关,通常RS232的通讯电流都在5mA-10mA左右,如果导线过长,电损耗相对也会加大,那么电压就会下降,这样便会影响到信号识别。

11

基于MCS51的两片单片机之间的串行通信接口设计

开始通信时,信号线为空闲(逻辑1)模式时,如果检测到从1跳变到0时,便开始接收时钟吲数。如果检测到8个时钟,便要对对输入的信号进行检测,如果仍然是低电平,就确认这就是“起始位”,而不是干扰得信号;在起始位被收端检测到后,这期间隔16个接收的时钟,每检测一次输入信号,就会把相对应的值作为DO的位数据。如果是逻辑1的话,则作为数据位1。每当隔16个接收时钟的时候,对输入的信号再检测一次,我们就把相对应的值作为D1位数据,直到全部数据位都已经输入;当检测校验位P和数据位个数及校验位之后,接下来通信接口电路则会收到停止位如果此时没有收到逻辑1,就是出错了,在状态寄存器中设置”帧错误晰志;在这一帧信息全部都接收完之后,我们把线路上所有出现的高电平作为空闲位;每当信号再一次变为低电平的时候,就会开始进入下一帧检测。这其中,字符帧开头的开头是起始位,总共占1位,始终都为逻辑0电平,用于表示接收设备向发送端开始发送信息。始位之后就是数据位,他们可以设置成5、6、7、8位,低位的在前高位的在后。数据位之后是奇偶校验位,仅仅占一位,用它来表示单片机串行通信中采用的是奇校验还是偶校验。

3.3时钟电路的作用

时钟电路的核心是个比较稳定的晶体振荡器,晶体振荡器产生正弦波,把频率进行分频,处理,形成时钟脉冲,提供一个符合单片机要求的脉冲宽度和电平范围的复位信号,以使单片机回到初始状态重新开始。在MCS-51单片机片内是一个高增益反相放大器,输入端为XTAL1为反相放大器,XTAL2为输出端,由该放大器构成的振荡电路和时钟电路便构成了单片机时钟方式。根据电路的不同,单片机的时钟方式可分为内部时钟方式及外部时钟方式两种。

本次设计我用到的是内部方式时钟。在内部方式时钟电路中,我们要在XTAL1和XTAL2引脚两端跨接上石英晶体振荡器及两个微调电容构以成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。如图3-7是内部方式的时钟电路。

12

基于MCS51的两片单片机之间的串行通信接口设计

图 3-7 内部方式时钟电路

3.4 LED的接入

图3-8 发光二极管的接入

3.5温度采集与显示

3.5.1 DS18B20温度传感器

DS18B20内部主要由4部分组成:64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器等。以下是DS18B20的内部结构图,如图3-9。

13

基于MCS51的两片单片机之间的串行通信接口设计

DQ 64位VD1 ROM和单GND VDD VD2 电源检测 总线接口 存储器与控制逻辑 温度传感器 高温触发器TH 低温触发器TL 配置寄存器 高速 缓存 存储器 8位CRC生成器 图 3-9 DS18B20的内部结构图

3.5.2温度传感器与单片机的连接

DS18B20与51单片机的连接非常简单,只须把DS18B20的数据线DQ与51单片机的一根并口线连接即可,51单片机通过这根并口就能实现对DS18B20的所有操作,DS18B20的电源可采用外部电源供电,也可采用内部寄生电源供电。当外部电源供电时,VDD接外部电源,GND接地。当采用内部寄生电源供电时,VDD与GND一起接地。另外,也可用多片DS18B20连接组网形成多点测温系统,在多片连接时,DS18B20必须采用外部电源供电方式。本次设计采用的是外部电源供电方式,B机与温度传感器电路连接如图3-10。

图3-10 温度传感器与mcs51单片机(B机)的连接

3.5.3 B机控制DS18B20温度转换

根据DS18B20的通信协议,B机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,在复位成功之后就会发送ROM指令一条,最后就是发送RAM指令了,这样就能对DS18B20温度传感器进行预定操作。每一次的命令及数据的传输都是从B机主动启动写时序开始,如果要A机回送数据,在进行命令的编写后,B机需要启动读时序完成数据接收。数据及命令的传输都是低位在前。时序分为初始化的时序,读时的时序和写时的时序。复位时要求B机CPU将数据线下拉500s,

14

联系合同范文客服:xxxxx#qq.com(#替换为@)