多功能温湿度计设计毕业论文(编辑修改稿)内容摘要:
12 3. 硬件电路的设计 总体 结构 框图 图 总结构框图 主控制电路和测温湿 电路 本次硬件设计的核心就是 AT89C52,其他部 位 的硬 件都是围绕 着 它 来 设计的。 数字温湿度传感器 DHT22 的 DATA 口 与 AT89C52 的 P2^7 口 相连。 按键电路就是 7个按键分别与 AT89C52的 P3^2,P3^3,P2^3,P2^4,P2^5,P0^0和 P0^1口相连。 当有按键按下时单片机 接收 到有效的信号, S1键和 S2键 用来调整温度报警范围 ,S1 键 是增加温度 值 , S2 键 是减少温度值 ; S3, S4 和 S5 键是用来 调 整时间和日期的 , S3 键用来 移动设置的光标, S4键 是增加键, S5键 是减少键 ; S6 和 S7 键是用来保存和查询温湿度的, S6 键 用来查询 温湿度 和退出界面, S7 键 用来保存温湿度和日期。 报警电路 就是 蜂鸣器与单片机的 P2^6 口 相连,当温度超过设置的 预警值 时,蜂鸣器就会发出警报。 其 电路接线图如 图 所示。 键盘输入模块 温 湿 度传 感模块( DS18B20) 主控制器 时钟模块 LCD 显示模块 蜂鸣器 模块 存储 模块 13 图 DHT22电路 接线图 存储模块与 时钟模块电路 本次设计 使用的存储 模块是 以 AT24C02 存储芯片 为 核心的 ,该 模块有四个引脚,其中的 VCC 和 GND 引脚分别接 电源 和 接地, SDA 引脚与单片机的 P3^6 口 连接, SCL 引脚与 单片机 的 P3^7 口 连接,存储芯片 主要 是用来存储想要保存的温湿度。 时钟 模块 是 以 DS1302 芯片 为核心的,该模块有 五个 引脚,其中 VCC 引脚悬空, GND 引脚接地, CLK 引脚与单片机的 P2^0 口 连接, DAT 引脚与单片 机的 P2^1口 连接, RST 引脚与单片机的 P2^2 口 连接,时钟芯片 主要 是用来 提供 秒分时日日期月年的信息 , 并 具有掉电存储的功能。 DS1302 的 电路接线图如 图 所示: 图 DS1302的电路 接线图 AT24C02 的 电路接线图如 图 所示: 14 图 AT24C02电路图 显示 模块 电路 本次设计 采用的显示屏是 LCD12864, LCD12864 一共 有 20 个 引脚, 其中 RS引脚与单片机的 P0^3 口 连接, R/W 引脚 与 P0^4 口连接 , E 引脚与 P0^5 口连接 ,PSB引脚与 P0^6 口 连接, D0~D7分别 与 P1^0~P1^7 连接 ,其他的电源口 、 接地口和 空引脚分别对应相应的引脚或悬空。 LCD显示的时候分为四行,第一行显示日期,第二行显示时间,第三行显示湿度,第四行显示温度 和 预警值。 12864 的 接线电路图如图。 图 12864接线电路图 15 4. 软件设计及分析 流程图 Y N N Y 图 程序 流程 图 开始 清屏 及初始化 读 DS130 DHT22 外部 中断 扫描键盘 显示 历史记录 是否 按下 调整 时间、温度上 限 显示 结束 16 DHT22 工作原理 DHT22 为 单总线接口, DATA 用于 微处理器与 DHT22 之间的通讯和同步 ,采用单总线数据格式 ,一次通讯时间 5ms 左右 ,具体格式在下面说明 ,当前数据传输为40bit,高位先出。 如下 : 数据格式 : 40bit 数据 =16bit 湿度数据 +16bit 温度数据 +8bit 校验和 例子: 接收 40bit 数据如下: 0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 湿度数据温度数据校验和 湿度高 8位 +湿度低 8位 +温度高 8 位 +温度低 8位 =的末 8位 =校验和 例如: 0000 0010+1000 1100+0000 0001+0101 1111=1110 1110 湿度 =% RH 温度 =℃ 当温度低于 0℃时温度数据的最高位置 1。 例如: ℃表示为 1000 0000 0110 0101 用户主机( MCU)发送一次开始信号后 ,DHT22 从低功耗模式转换到高速模式 ,等待主机开始信号结束后 ,DHT22 发送响应信号 ,送出 40bit 的数据 ,并触发一次信号采集。 如 图 所示 : 图 接收开始信号 空闲时总线为高电平,通讯开始时主机 (MCU)拉低总线 500us 后释放总线,延时 2040us 后主机开 始检测从机( DHT22)的响应信号。 从机的响应信号是一个 80us 左右的低电平,随后从机在拉高总线 80us 左右代表即将进入数据传送。 如 图 所示 : 17 图 进入数据 传送 高电平后就是数据位,每 1bit 数据都是由一个低电平时隙和一个高电平组成。 低电平时隙就是一个 50us 左右的低电平,它代表数据位的起始,其后的高电平的长度决定数据位所代表的数值,较长的高电平代表 1,较短的高电平代表0。 共 40bit 数据,当最后一 Bit 数据传送完毕后,从机将再次拉低总线 50us左右,随后释放总线,由上拉电阻拉高。 数字 1信号表示方法如图 所示 : 图 数字 1信号 表示方法 数字 0信号表示方法 .如图 所示 : 18 图 数字 0信号 表示方法 DHT22 的 的 电气特性如表 : 表 DHT22的 电气特性 VDD=5V, T = 25℃ ,除非特殊标注 参数 条件 min typ max 单位 供电 DC 6 V 供电电流 测量 1 mA 待机 40 50 uA 采样周期 秒 2 次 注 :采样周期间隔不得低于 2秒钟(建议 2秒以上) 读 八位数 据子程序: void COM(void) { uchar i。 for(i=0。 i8。 i++) { FLAG=2。 while((!DATA)amp。 amp。 FLAG++)。 Delay_10us()。 Delay_10us()。 Delay_10us()。 u8temp=0。 19 if(DATA) u8temp=1。 FLAG=2。 while((DATA)amp。 amp。 FLAG++)。 if(FLAG==1)break。 data=1。 data|=u8temp。 } } 温湿度 读取子程序: void RH(void) { uchar T_data_H_temp,T_data_L_temp。 uchar RH_data_H_temp,RH_data_L_temp,checkdata_temp。 DATA=0。 Delay(5)。 DATA=1。 Delay_10us()。 Delay_10us()。 Delay_10us()。 Delay_10us()。 DATA=1。 if(!DATA) { FLAG=2。 while((!DATA)amp。 amp。 FLAG++)。 FLAG=2。 while((DATA)amp。 amp。 FLAG++)。 COM()。 RH_data_H_temp=data。 20 COM()。 RH_data_L_temp=data。 COM()。 T_data_H_temp=data。 COM()。 T_data_L_temp=data。 COM()。 checkdata_temp=data。 DATA=1。 u8temp=(T_data_H_temp+T_data_L_temp+RH_data_H_temp+RH_data_L_temp)。 if(u8temp==checkdata_temp) { RH_data_H=RH_data_H_temp。 RH_data_L=RH_data_L_temp。 T_data_H=T_data_H_temp。 T_data_L=T_data_L_temp。 checkdata=checkdata_temp。 } } } 湿度 转换子程序: void read_RH(void) { RH()。 TE_RH[0]=(RH_data_H*256+RH_data_L)/100+39。 039。 TE_RH[1]=(RH_data_H*256+RH_data_L)%100/10+39。 039。 TE_RH[2]=39。 .39。 TE_RH[3]=(RH_data_H*256+RH_data_L)%100%10+39。 039。 } 21 温湿度转换 子程序: void read_TE_RH(void) { uchar Temper_shi_ge。 read_RH()。 set_Temper_chu()。 if((T_data_Hamp。 0x8f)!=0x00) //负温度 { T_data_H=T_data_Hamp。 0x7f。 TEMPER[0]=39。 39。 TEMPER[1]=(T_data_H*256+T_data_L)/100+39。 039。 TEMPER[2]=(T_data_H*256+T_data_L)%100/10+39。 039。 TEMPER[3]=39。 .39。 TEMPER[4]=(T_data_H*256+T_data_L)%100%10+39。 039。 Temper_shi_ge=(T_data_H*256+T_data_L)/100*10 + (T_data_H*256+T_data_L)%100/10。 Temper_reg[1]=Temper_chu/10+39。 039。 Temper_reg[2]=Temper_chu%10+39。 039。 } else { TEMPER[0]=(T_data_H*256+T_data_L)/100+39。 039。 TEMPER[1]=(T_data_H*256+T_data_L)%100/10+39。 039。 TEMPER[2]=39。 .39。 TEMPER[3]=(T_data_H*256+T_data_L)%100%10+39。 039。 Temper_shi_ge=(T_data_H*256+T_data_L)/100*10+ (T_data_H*256+T_data_L)%100/10。 Temper_reg[0]=Temper_chu/10+39。 039。 Temper_reg[1]=Temper_chu%10+39。 039。 } 22 if(Temper_shi_ge Temper_chu) { beep=0。 delayms(10)。多功能温湿度计设计毕业论文(编辑修改稿)
相关推荐
) 室内外高差( m) 净高( m) 女儿墙标高( m) 5 建筑 平面 横轴编号 1/0129 纵轴编号 AG 横轴距离( m) 纵轴距离( m) 6 建筑层数 主体单层 7 建筑防火 建筑耐火等级:二级,生产火灾危险类别丁类。 8 钢结构工 程 结构形式及连接 单层门式刚架轻型钢结构、钢结构连接采用 C 级螺栓; 焊缝、防火 焊缝为二级焊缝、钢结构耐火等级为二级 防 火涂料
平面 横轴编号 1/0129 纵轴编号 AG 横轴距离( m) 纵轴距离( m) 6 建筑层数 主体单层 7 建筑防火 建筑耐火等级:二级,生产火灾危险类别丁类。 8 钢结构工 程 结构形式及连接 单层门式刚架轻型钢结构、钢结构连接采用 C 级螺栓; 焊缝、防火 焊缝为二级焊缝、钢结构耐火等级为二级 防火涂料 构件采用超薄型防火涂料。 除锈、防腐 主要构件除锈等级达到 SA2 1/2
第 17 页 四、确保质量主要管理措施 施工图纸会审 制度 施工图纸会审是很重要的环节,其会审程序为:施工方先熟悉、审核图纸,发现问题,并督促业主组织设计交底会;由设计单位介绍设计意图、图纸、设计特点及对施工的要求;由施工方提出图纸存在的问题,要求设计讨论解决;设计方提出设计变更文件,必须整理出会审纪要与设计方提出的设计变更文件,并存档。 施工组织设计方案审批制度
影响,通常随着电源电压的上升而减小。 ( a) (b) 图 ( a)模拟开关原理图( b)模拟开关导通电 阻与输入电压关系 ( 2)模拟开关输入有严格的输入信号范围 由于模拟开关是半导体器件,当输入信号过低 (低于零电势 )或者过高 (高于电源电压 )时, MOSFET 处于反向偏置,当电压达到某一值时 (超出限值 ),此时开关无法 黄河科技学院毕业设计说明书 第 10 页 正常工作
某个事件(程序自身或外界的原因)作出的一种反应: CPU 暂停正在执行的程序,保留现场后自动转去处理相应的事件,处理完该事件后,到适当的时候返回断点,继续完成被打断的程序。 (如有必要,被中断的程序可以在后来某时间恢复,继续执行。 )。 特点: 1) 中断随机的 2) 中断是可恢复的 3) 中断是自动进行处理的 本设计利用 p3 口按键中断 控制波 形, 如图 所示是中断流程图,
edpNCD S 21 2 3 4 5 6 7a b c d e f g8dp9GNDabfcgdedpNCD S 31 2 3 4 5 6 7a b c d e f g8dp9GNDabfcgdedpNCD S 41 2 3 4 5 6 7a b c d e f g8dp9GNDabfcgdedpNCD S 51 2 3 4 5 6 7a b c d e f