毕业设计论文-基于蓝牙技术的智能气象站系统设计内容摘要:

/OUT Y 通道输入 /输出端 11 12 14 15 IN/OUT X 通道输入 /输出端 9 10 A B 地址端 3 OUT/IN Y 公共输出 /输入端 13 OUT/IN X 公共输出 /输入端 6 INH 禁止端 7 VEE 模拟信号接地端 8 Vss 数字信号接地端 16 VDD 电源 + 表 当 INH脚位“ 1”时,所以通道截止, CD4052的真值表如表。 本设计将 CD4052的 A、 B引脚与 CD4052真值表 输入状态 “开”通道 INH B A CD4052 0 0 0 X0,Y0 0 0 1 X1,Y1 0 1 0 X2,Y2 0 1 1 X3,Y3 1 * * NONE 表 STC89C52的 I/O口 、 , X脚接 ; X0、 X X X3 引脚分别接超声波传感器S0、 S S S3的发射回路,则 Y0接 S1的接收回路, Y1接 S0的接收回路, Y2接 S3的接收回路,Y3 接 S2的接收回路。 Y脚接 CX20206A的 1 脚, CX20206A 是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。 考虑到红外遥控常用的载波频率 38KHz 与 超声波 传感器 频率 40KHz 较为接近, 所以把它用于 超声波 检测 接收 电路。 实验证明 用 CX20206A接收超声波, 具有很高的灵敏度和较强的抗干扰能力 ,其电路图如图 , 第 7脚 为 接收信号输出端,将其与 STC89C52的 I/O口(外部中断 0)相连 ,当有接收信号时则响应单片机外部中断 0。 13 图 超声波测风模块电路原理图如图 ,其发射回路为 40kHz 脉冲信号经 过三极管放大,再经过脉冲变压器,将脉冲电压达到 100Vpp左右,从而驱动超声波传感器发射 40kHz的超声波信号。 接收通过 1N4148开关二极管与 发射回路隔离,经 F的电容送到接收回路中。 STC89C52通过控制I/O口 、 ,从 40kHz的脉冲信号并同时打开定时器 0,当 ,同时关闭定时器 0,从而测得超声波的一路传播时间,以此类推测得四路传播时间,最后算出风速、风向大小。 风向以正北方向为 0176。 , 正南为 180176。 ,正东为 90176。 ,正西为 270176。 测试时将传感器支架固定,选定 S0为北 , S1为南, S2为西, S3为东。 图 超声波测风电路 原理图 14 超声 波测风方案设计论证 超声波在空气中 25℃ 的速度为 v=346m/s,本设计中两对超声波传感器的固定距离为 d=,可求得在无风条件下超声波传播时间为 t=d/v=≈ =630s。 假设风速是 50m/s,那么此时的超声波顺风速度 v=346+50=396m/s,则超声波顺风传播时间为 t1=d/v=≈=550s;此时的超声波逆风速度为 v=34650=296m/s,则超声波逆风传播时间为t2=d/v=≈ =730s。 假设风速是 3m/s,此时的超声波顺风速度为 v=346+3=349m/s,则超声波顺风传播时间为 t1=d/v=≈ =620s。 此时的逆风速度为 343m/s,则逆风传播时间为 t2=≈ 632s。 在本系统中的超声波传输时间主要通过外部中断 0 响应定时器 0工作方式 1 计时,其中外部中断的响应时间为 100ns200ns,这可以忽略不计。 定时器 0 计数值从065535,单片机主频为 ,则定时器 0 一个计数值所对应的时间为 s,当超声波开始发射时定 时器开始计时,当接收时单片机外部中断响应关闭定时器 0,从理论上分析风速从0m/s346m/s 超声波的传播时间单片机定时器是可以测得的。 假如超声波传感器在电声、声电转化过程中存在一定时延,这是测风精度的关键,当超声波电声、声电转化时延大于或接近超声波传播时间时,则无法测得风速的大小,所以超声波传感器的精度在这里很关键。 本设计采用 的 EFR40RS超声波传感器其电声、声电转换时间为 1ms,显然大于超声波 在空气中距离为 d= 传播时间 ,但是可以通过增大超声波传感器的固定距离 d 来增大传播时间 ,其精度为 177。 3m/s,最小灵敏度为65dB,其带宽为 3kHz。 所以方案论证结果为,只要超声波传感器选择精度较高的,而且传感器之间的距离也不能太小,一般的 51单片机能够测得其传播时间,从而算出风速大小。 气象站系统的报警模块 系统报警主要是当所测得的温湿度、风速超过设定的值时,由蜂鸣器和 LED 产生报警。 其原理图如图 和。 LED 报警状态为闪烁状态。 发射模块的蜂鸣器接 , LED 灯接 ;接收模块的蜂鸣器接 , LED灯接。 图 蜂鸣器报警 图 LED 报警 15 气象站系统的电源部分 发射与接收模块的电源均用 +9V的干电池经 7805稳压输出 +5V的电源, 其电路原理图如图。 图中 J3的 2脚位 +9V, 1脚为地; S4为拨动开关,电容 C1 C1 C1 C14均为 7805 输入输出端的滤波电容; D17 为发光二极管,即电源指示灯; D19为 1N4007 保护二极管,当输入端短路时,给输出电容 C14一个放电回路,防止 7805被击穿损 坏。 图 电源部分 发送与接收模块的 MAX232 串口电路 MAX232 串口电路主要用于 STC89C52 单片机程序的烧写以及用于扩展与上位机的通信。 计算机串口 采用的是 RS232C负逻辑电平,“ 1”表示 12V,“ 0”表示 +12V,与单片机的的 TTL电平不同,因此通过 MAX232 串口电路实现与计算机进行通信。 其电路图如图 , 图中的 5 个电容均为 F的瓷片电容,起到降低芯片的噪声干扰。 MAX232 的 11脚接 STC89C52 单片机的 TXD( ), 12 脚接单片机的 RXD( ); 右下为 串口母头,用于与计算机 的通信,第 3脚( 计算机 数据输出端)为从 计算 机输出至单片机端口,第 2脚( 计算 机数据输入端)为从单片机输入 至计算 机 , 5脚为地线,其余引脚在此不用。 图 MAX232 串口电路 16 接收模块显示电路 接收模块显示电路采用 LCD1602液晶显示。 LCD1602能显示 16个字符 2行,即 32个字符。 LCD液晶模块内部的字符发生存储器( CGROM)已经存储了 160个不同的字符,这些字符有阿拉伯数字、英文字母的大小写、常用符号和日文假名等,每一个字符都有一个固定的 ASCII 代码。 其引脚说明如表。 编号 符号 引脚说明 编号 符号 引脚说明 1 GND 电源地 9 DB2 数据 2 VCC 电源正极 10 DB3 数据 3 VEE 液晶显示偏压 11 DB4 数据 4 RS 数据 /命令选择 12 DB5 数据 5 R/W 读 /写选择 13 DB6 数据 6 E 使能信号 14 DB7 数据 7 DB0 数据 15 BLA 背光源正极 8 DB1 数据 16 BLK 背光源负极 表 LCD1602 引脚说明 LCD1602在本设计中的电路连接图如图 ,1 脚和 3脚接地, 2脚接电源 +5V, 4脚接 STC89C52 图 LCD1602 电路连接图 单片机的 ,5 脚接 ,6脚接 ,714 脚接 P0口, 15 脚串接一个 10K 的电阻然后接到电源+5V。 第四章 气象站系统的软件设计 气象站系统软件部分分发送和接收两个模块 [12,13],在此仅分析主程序与各子程序的流程。 涉及的子程序为 DHT21 温湿度子程序,超声波风向风速子程序,报警子程序, LCD1602 液晶显示子程序。 软件编程 所使用的编程语言为 C语言,编程软件为 伟福 6000,此软件程序编译测试 后产生的 HEX文件通过 STCISP V391软件并通过 MAX232串口 电路下载进 STC89C52单片机。 详细程序请见附录 5 气象站系统的主程序流程 17 图 系统软件主程序流程图 系统子程序流程图 发送 模块 DHT21 温湿度子程序流程图 DHT21 为单总线数字信号输出,其数据线接单片机的 ,其程序流程图如图 , 首先由单片机拉低总线至少 500s的低电平作为开始信号,当数据传送完之后, 由从机拉低 50s的低电平 后单片机再拉高总线,表示总线进入空闲状态。 发送模块 DHT21采集 温湿度 超声波传感器采集风向风速 单片机处理 温湿度风向风速数据 超出预设温湿度风速。 报警 Y 蓝牙发射 蓝牙接收 单片机处理 温湿度风向风速数据 超出预设温湿度风速。 报警 Y 液晶显示 接收模块 18 图 DHT21 温湿度子程序流程图 发送模块超声波 测风子程序 通过定时器 1工作方式 2定时发送四路 40kHz 的脉冲信号, CD4052的 A、 B脚选通发射与接收回路, 定时器 0 工作方式 1 计算超声波的传播时间 t, 分别测得四路时间值,最后求出风速、风向大小。 拉高延时 20~ 40μ s 从 机 拉 低80μ s 低电平 响 应 信号。 从机拉高 80μ s 高电平及是否结束。 N 结束 从机拉低 80μ s 低电平是否结束。 N Y Y 数据接收状态, 40bit 最后一位结束。 N Y 从机拉低 50μ s 后,单片机拉高总线进入空闲状态 数据校验正确否。 Y 接收数据 单片机发开始信号,拉低至少 500μ s 19 图 超声波测风程序流程图 接收模块 LCD1602 显示程序 1602液晶需要设置许多指令以及初始化等,这些都要通过写命令来实现。 送入数据时要通过写入并口即 P0口数据,之前先确定写入的 RAM地址,再送入数据进行特定位置的显示。 要特别注意的是,液晶显示是以 ASCII码显示的,比如要显示“ 0”,其对应的 ASCII码实际上是“ 0x30”,也就是“ 0+0x30”才是表示“ 0”或者用‘ 0’即加单引号也可以表示。 第一行后显示湿度和温度 值“ RH:xx .x% T:”,第二行后显示风速和风向值 “ S: xxm/s D:xx”。 由于 LCD1602不能显示字符“ ℃ ”和“ 176。 ”,故只显示数值大小,默认温度 其程序 [14]流程图如图。 外部中断 0,定时器 0,定时器 1初始化 打 开定时器 1 定 时 发 送40kHz 的脉冲 打开定时器 0和外部中断 0 四路通道发 射与接收选择 是否产生外部中断。 关闭定时器 0 Y 读取时间 是否有四路时间。 N Y 计算风速、风向的大小 20 图 报警子程序 如果 所测得的温湿度风速值大小大于预设的值,则置相应的 I/O 口为低电平,蜂鸣器将发出断断续续的鸣叫和 LED灯将一闪一闪。 其程序流程图如图。 第五章 气象站系统 调试 系统主要由发送模块和接收模块 组成。 用万用表分别检测无短路或断路情况,测得电源部分7805 输出端 +5V, 电源指示灯亮, 单片机芯片、 CD4052芯片、 MAX232 芯片、 CX20206A芯片、三极管等管脚芯片电压正常。 蓝牙模块接上电源 LED 指示灯正常点亮。 先对温湿度采集电路进行调试,通过伟福 6000 编写 C 语言程序, 再用 STCISP V391下载软件将 HEX 文件烧写进入单片机 ,发现蓝牙能够正常传输数据,测得环境的温湿度 能在接收模块的LCD1602液晶显示器上正常显示,温度精确到 ℃ ,湿度精确到 % ,温度的测量范围为 ℃+℃ ,湿度测量范围为 %%, 并在超过 预设报警值时产生 报警,报警状态为 LED灯隔一秒的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。