信息与通信]基于mcs51的两片单片机之间的串行通信接口设计内容摘要:
停止位:用于表示单个包的最后一位。 典型的值为 1, 2位。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。 因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。 适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 奇偶校验位:在串口通信中一种简单的检错方式。 有四种检错方式:偶、奇、高和低。 当然没有校验位也是可以的。 对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值 确保传输的数据有偶个或者奇个逻辑高位。 例如,如果数据是 011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。 如果是奇校验,校验位位 1,这样就有 3个逻辑高位。 高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。 这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。 基于 MCS51的两片单片机之间的串行通信接口设计 7 51 单片机串行通信格式及波特率 51单片机串口通信协议有 4种方式,其中对 1方式( 8位), 2, 3方式( 9位)的格式,中在每发送一个字节数据前都有一个起始位 0,发送完毕一个字节后有 一个停止位 1,当想要在 SBUF 写一个字节的数据流时,单片机会自动加上起始位,当 TI==1时,就会自动加上停止位。 也就是在串口通信时只需要设置,串口中断,串口模式,以及串口中断函数的处理,还有就是波特率。 在 本次设计的串行通信中 , 发送和接收数据时,们要对 数据 的 速率 肯定 要有 一个 约定,我通过软件 可以 对 MCS51单片机的 串行口编程制定 四种工作方式。 这 其中,方式 0及 方式 2的波特率是固定 不变 的, 但是 方式 1和方式3的波特率是可 以 变的, 它是 由定时器 T1溢出率决定。 方式 0时,移位时钟脉冲由 56(即第 6个状态周期,第 12个节 拍 )给出,即每个机器周期产生一个移位时钟,发送 或者 接收一位数据。 所以,波特率 就可以是 振荡频率的十二分之一,并不受 PCON 寄存器中 SMOD 的影响,即:方式 0的波特率= fosc/12。 方式 1及 方式 3的移位时钟脉冲 是 由定时器 T1的溢出率决定 的 ,故波特率 是 由定时器 T1的溢出率 和 SMOD 的 值 共同 决定, 也就是 方式 1及 方式 3的波特率 就可以写成 2SMOD/32*T1溢出率。 这 其中,溢出率 是 取决于计数 的 速率和定时器预置 的 值。 计数速率与 TMOD 寄存器中 C/T 的状态有关。 当 C/T= 0时,计数速率= fosc/2;当 C/T= 1时, 计数速率取决于外部输入时钟频率。 基于 MCS51的两片单片机之间的串行通信接口设计 8 第三章 系统设计 系统整体框图 要实现两 MCS51 单片单片机之间的串行通信就需要两 RS232,分别接在各自的单片机上,然后再通过他们相连,两单片机实现了通信,才可以继而实现开关控制 LED 闪烁和控制温度显示等。 总之本课题研究的内容最主要是实现两单片机的通信, LED 闪烁和温度控制是他实现的表现形式。 由温度传感器给单片机发送温度,然后在 LCD 上显示,而后是控制 LED 闪烁需要一个开关或按钮,和需要另外一个开关或按钮来实现控制数码管显示加 1,这些通信都是两单片机之间的 收发通信,而且是串行通信,所以我们不可能同时实现这些程序,当我们控制 LED 闪烁后,需要控制数码管显示加 1 就得关闭控制 LED 闪烁的开关,然后打开控制数码管的开关才能实现数码管显示加 1。 下面是整个系统的设计思想,用图形表示出来就是如图 31。 图 31 系统框图 基于 MCS51的两片单片机之间的串行通信接口设计 9 两个 RS232 串口服务器之间的 连 接 MAX232 芯片 图 32 设计中采用的 MAX232 芯片 图 32 MAX232 芯片其内部 是由一个 电源电压变换器 组成的 , 它 可以将输入 的 +5V电压 转换 成 RS232 输出电平 时 所需的177。 12V 的 电 压。 所以采用这种芯片来实现接口电路特别方便,只需单一的 +5V 电源 输入 即可。 MAX232 芯片的引脚结构如上图所示。 其中 芯片的 管脚 1~ 6(C1+、 V+、 C C2+、 C V)是 用于电源电压 的 转换,只要在外部接入相应的电解电容 就可以了 ;管脚 7~ 10 及 管脚 11~ 14 构成 了 两组 TTL 电平与RS232 电平 之间的 转换电路, 这些相对应的 管脚 就可以 直接 和 单片机串行口的 TTL 电平引脚 直接 相 连接了。 RS232 连接方式 两 RS232 把他们连接起来就可以构成一个实用的系统,用一个图就可以很清晰的看清楚他们之 间的连接,如图 33。 基于 MCS51的两片单片机之间的串行通信接口设计 10 D T E ( 乙 )T X DR X DR T SC T SD S RS GD C DD T RR ID T E ( 甲 )T X DR X DR T SC T SD S RS GD C DD T RR I 图 33 两 RS232 的连接 如果 甲方准备好 之后 ,乙方 就会产生 呼叫( RI)有效,同时 也 准备好( DSR)。 同时 甲方 RTS 和 CTS 相连 接 , 而且还要和 DCD互连。 也即是,如果 甲方请求发送( RTS),就会 得到允许( CTS),同时, 也可以 使乙方 DCD 有效, 这是就是 检测到 了 载波信号。 甲方的 TX和 乙方的 RXD 相连 接 , 就是 一发一收。 串行通信中,线路空闲时,线路的 TTL 电平总是高的,经反向 RS232 的电平总是低的,一个数据的开始 RS232 线路为高电平,结束时 RS232 线路为低电平,数据总是总低位向高位一位一位的传输。 TTL 电平串行数据帧格式如图 36: 图 34 TTL 电平串行数据帧格式 基于 MCS51的两片单片机之间的串行通信接口设计 11 RS232 电平串行数据帧格式如图 35: 图 35 RS232 电平串行数据帧格式 用 Protues 仿真软件画出实际 RS232 之间的连接电路图如图 36。 图 36 RS232 之间的连接电路图 RS232 的标准就是将 (+3V)(+15V),(3V)(15V)的电平作为通讯的高低电平使用,所谓的信号强弱是和电压、电流有关,通常 RS232 的通讯电流都在 5mA10mA 左右,如果导线过长,电损耗相对也会加大,那么电压就会下降,这样便会影响到信号识别。 基于 MCS51的两片单片机之间的串行通信接口设计 12 开始通信时,信号线为空闲(逻辑 1) 模式时 , 如果 检测到 从 1跳变到 0时, 便 开始接收时钟吲数。 如果检测到 8个时钟 , 便要对 对输入 的 信号进行检测, 如果仍然是 低电平, 就 确认这 就 是“起始位” ,而不是干 扰 得 信号; 在 起始位 被 收端检测 到后 , 这期间隔 16个接收 的 时钟, 每检测一次 输入信号, 就会 把 相 对应的值作为 DO 的 位数据。 如果是 逻辑 1的话 , 则 作为数据位 1。 每当 隔 16个接收时钟 的时候 ,对输入 的 信号 再 检测一次, 我们就 把 相对应 的值作为 D1位数据,直到全部数据位都 已经 输入; 当 检测校验位P和 数据位个数 及 校验位 之 后, 接下来 通信接口电路 则会 收到停止位 如果此时没有 收到逻辑 1, 就是出错了 ,在状态寄存器中 设 置”帧错误晰志; 在这一 帧信息全部 都 接收完之后 , 我们 把线路上 所有 出现的高电平作为空闲位; 每当 信号再 一 次变为低 电平的时候 , 就会 开始进 入下一帧检测。 这 其中,字符帧开头 的开头是起始位 , 总共 占 1位,始终 都 为逻辑 0电平,用于表示接收设备 向 发送端开始发送信息。 始位之后 就是数据位 ,他们可以 设置 成 8位,低位 的 在前高位 的 在后。 数据位之后 是 奇偶校验位,仅仅 占一位,用 它来 表示 单片机 串行通信中采用 的是 奇校验还是偶校验。 时钟电路的作用 时钟电路的核心是个比较稳定的晶体振荡器,晶体振荡器产生正弦波,把频率进行分频,处理,形成时钟脉冲, 提供一个符合单片机要求的脉冲宽度和电平范围的复位信号,以使单片机回到初始状态重新开始。 在 MCS- 51单片机片 内 是 一个高增益反相放大器,输入端为 XTAL1为 反相放大器, XTAL2为 输出端,由该放大器构成的振荡电路和时钟电路 便 构成了单片机时钟方式。 根据电路的不同,单片机的时钟方式可分为内部时钟方式 及 外部时钟方式 两种。 本次设计我用到的是内部方式时钟。 在内部方式时钟电路中, 我们要 在 XTAL1 和XTAL2 引脚两端跨接 上 石英晶体振荡器 及 两个微调电容构 以 成振荡电路,通常 C1和 C2一般取 30pF,晶振的频率取值在 ~ 12MHz 之间。 对于外接时钟电路,要求 XTAL1接地, XTAL2 脚接外部时钟,对于外部时钟信号并无特殊 要求,只要保证一定的脉冲宽度,时钟频率低于 12MHz 即可。 晶体振荡器的振荡信号从 XTAL2 端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号 P1 和 P2 供单片机使用。 时钟信号的周期称为状态时间 S,它是振荡周期的 2 倍, P1 信号在每个状态的前半周期有效,在每个状态的后半周期 P2信号有效。 CPU 就是以两相时钟 P1 和 P2 为基本节拍协调单片机各部分有效工作的。 如图 37是内部方式的时钟电路。 基于 MCS51的两片单片机之间的串行通信接口设计 13 图 37 内部方式时钟电路 LED的接入 图 38 发光二极管的接入 温度采集与显示 DS18B20 温度传感器 DS18B20 内部主要由 4部分组成: 64 位光刻 ROM、温度传感器、非易失性温度报警触发器 TH 和 TL、配置寄存 器等。 以下是 DS18B20 的内部结构图,如图 39。 基于 MCS51的两片单片机之间的串行通信接口设计 14 高速 缓存 存储器 存储器与控制逻辑 温度传感器 高温触发器 TH 低温触发器 TL 配置寄存器 8 位 CRC 生成器 64 位ROM和单总线接口 电源检测 DQ V DD G N D V D 1 V D 2 图 39 DS18B20 的内部结构图 温度传感器与单片机的连接 DS18B20 与 51单片机的连接非常简单,只须把 DS18B20 的数据线 DQ 与 51 单片机的一根并口线连接即可, 51 单片机通过这根并口就能实现对 DS18B20 的所有操作 ,DS18B20 的电源可采用外部电源供电,也可采用内部寄生电源供电。 当外部电源供电时,VDD 接外部电源, GND 接地。 当采用内部寄生电源供电时, VDD与 GN。信息与通信]基于mcs51的两片单片机之间的串行通信接口设计
相关推荐
情况下,可以在引脚 5上接一 1kΩ 电位器来实现。 在引脚 5和地之间接一475Ω 电阻是实现零点调整的最 好近似。 满量程调整:这是当输人电压是满量程 1/2LSB ( 量程时比满量程低 60mV ,输出从0000000l 变为 00000000。 没有调整时, ADC 0809的这个电压在士 1/2LSB范围内,在大多数情况下,在引脚 15上加上 1kΩ 的电位器可实现这个调整。
从可靠性方面考虑都是有利的。 相反,在一些要求精确称量的场合,尤其在一个较长时间内无法进行调整检测的电子衡器或测力系统就不但要求考虑线性、重复性、滞后 三项精度,而且还要考虑因温度变化引起的误差、蠕变误差及长期稳定性。 传感器量程的选择决定于下列因素:①被称量物料最大的重量;②秤台或装置的自重;③传感器设置的数量;④正常操作下,最大可能产生的偏载;⑤称量状况下可能出 贵州大学本科毕业论文(设计)
这些都体现了人机工程学上最佳的宜人性设计的原则。 因此,开展人机工程学研究,并将其研究成果应用到国内汽车座椅设计中,对提高国内汽车产品的设计水平,增强产品的竞争力具有重要的意义。 但是应用人机工程学来研究汽车座椅舒适性问题,国内还处于初级阶段。 第三节 课题研究的目的与意义 随着社会的发展,明文的进步,人类各方面的要求、追求都有所提高,汽车空调、 DVD、电动后视镜、电控悬架
理上不可实 现。 为了能够得到一个可实现的系统,可以将 )(nhd 截取一部分,并顺序右移,使之成为一 个因果的有限长序列。 这种方法就好比在时域打开一个窗口一样,因而 称为时窗法。 可以预见,使用这种方法截取的序列越长,对理想的幅频特性逼近的越好。 常见的时窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗、凯塞窗等。 矩形窗的表达式为: 其它,0 10,1)( Nnw nR, n
()( wjwH 的滤波器称为希尔伯特滤波器。 )(wH 传递函数的模和相位特性如图 24 所示。 从图 24 可见,希尔伯特滤波器是 一个宽带 90o 移相网络,是正交变换网络。 )( wHw00 w)( w 图 24 希尔伯特滤波器的传递函数 武汉理工大学《信号分析处理》课程设计说明书 4 4 解调原理 相干解调 相干解调也叫同步检波。 解调与调制的实质一样,均是频谱搬移。
3。 16 参考文献 18 武汉理工 大学《 信号分析 处理 》课程设计说明书 I 摘要 二进制振幅键控( 2ASK)是一种常见的数字调制方式,通过振幅的不同来表达 0 或 1。 其解调方式有非相干方式和相干方式。 本次课程设计通过使用 Matlab里的 Simulink,利用其中不同功能的 模块来 构建了 2ASK的调制 电路 与解调 电路 ,进行了仿真,得到了仿真波形,