云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机的温湿度报警器设计

基于单片机的温湿度报警器设计

  • 62 次阅读
  • 3 次下载
  • 2025/6/17 9:58:12

基于单片机的温湿度监控报警系统设计

参考文献

[1] 姜志海, 黄玉清,刘连鑫. 单片机原理及应用[M]. 电子工业出版社,2009.

[2] 郭天祥. 51单片机C语言教程[M]. 电子工业出版社.2009.

[3] 张毅刚, 彭喜元, 彭宇. 单片机原理及应用[M]. 高等教育出版社.2010. [4] 杨素行. 模拟电子技术基础简明教程[M]. 高等教育出版社.2006. [5] 李维提, 郭强. 液晶显示应用技术[M]. 电子工业出版社.2003. [6] 刘湘涛. 单片机原理与应用[M]. 电子工业出版社.2006.

[7] 何立民. 单片机高级教程[M]. 北京航空航天大学出版社.2004.

[8] 周润景, 徐宏伟, 丁莉. 单片机电路设计分析与制作[M]. 机械工业出版社. 2010.

[9] 李全利. 单片机原理及应用技术[M]. 高等教育出版社, 2004.

[10] 李秀霞. 郑春厚. Protel DXP 2004电路设计与仿真教程[M]. 北京

航空航天大学出版社.2008. [11] 余家春. Protel99Se电路设计实用教程[M]. 中国铁道出版社, 2002. [12] 郭强. 液晶显示应用技术[M]. 电子工业出版社. 2000.

[13] 王建校. 51系列单片机及C51程序设计[M]. 科学出版社. 2002. [14] 马忠梅. 单片机的C语言应用程序设计[M]. 北京航空航天大学出

版社.1998.

- 24 -

基于单片机的温湿度监控报警系统设计

附件1 系统程序

A1.1 主程序

//实现功能,设定温度上限和湿度上限,超过上限值时报警。报警现象,对应二极管亮,蜂鸣器响// #include #include \#include \

#include \ //定义变量 sbit Led_qushi=P1^6; //潮湿报警灯 sbit Led_jiangwen=P1^5; //超温报警灯 sbit Key_TH1 = P1^2; //温度最高值设置按键 sbit Key_TH2 = P3^3; //温度最高值设置按键 sbit Key_HH1 = P3^4; //湿度最高值设置按键 sbit Key_HH2 = P3^5; //湿度最高值设置按键

sbit beep=P2^0; //蜂鸣器

volatile bit FlagStartRH = 0; //开始温湿度转换标志 volatile bit FlagKeyPress = 0; //有键按下

extern U8 U8FLAG,k; //定义温湿度传感器用外部变量 extern U8 U8count,U8temp;

extern U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,

U8checkdata;

extern U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,

U8RH_data_L_temp,U8checkdata_temp; extern U8 U8comdata; extern U8 count, count_r; U16 temp;

S16 temperature, humidity; S16 idata TH, HH;

//温度上限和湿度上限

- 25 -

基于单片机的温湿度监控报警系统设计

char * pSave;

U8 keyvalue, keyTH1, keyTH2, keyHH1, keyHH2; U16 RHCounter;

void Data_Init() //数据初始化 { RHCounter = 0; keyvalue = 0;

Led_qushi = 1; Led_jiangwen = 1; TH = 40; HH = 85; keyTH1 = 1; keyTH2 = 1; keyHH1 = 1; keyHH2 = 1; beep=1; }

void Timer0_Init() //定时器0初始化 { ET0 = 1; //允许定时器0中断 TMOD = 1; //定时器工作方式选择 TL0 = 0x06; //定时器赋予低位初值 TH0 = 0xf8; //定时器赋予高位初值 TR0 = 1; } //启动定时器 void Timer0_ISR (void) interrupt 1 using 0 //定时器0中断 { TL0 = 0x06; //定时器赋予低位初值 TH0 = 0xf8; //定时器赋予高位初值 RHCounter ++; //每2秒钟启动一次温湿度转换 if (RHCounter >= 1000) { FlagStartRH = 1; RHCounter = 0; } }

void Save_Setting() //存入设定值、

{ pSave = (char *)&TH; //地址低位对应低8位,高位对应高8位 wrteeprom(0, *pSave); //存温度上限值TH低8位 DELAY(500); //延时 pSave ++;

wrteeprom(1, *pSave); //存温度上限值TH高8位 DELAY(500);

pSave = (char *)&HH; wrteeprom(2, *pSave);

//存湿度上限值RH低8位

- 26 -

基于单片机的温湿度监控报警系统设计

DELAY(500); pSave ++;

wrteeprom(3, *pSave); DELAY(500); }

//存湿度上限值RH高8位

void Load_Setting() //载入设定值、 { pSave = (char *)&TH; *pSave++ = rdeeprom(0); *pSave = rdeeprom(1); pSave = (char *)&HH; *pSave++ = rdeeprom(2);

*pSave = rdeeprom(3);

if ((TH>99)||(TH<0)) TH = 40; if ((HH>99)||(HH<0)) HH = 85; } void KeyProcess(uint num) { switch (num) { case 1: if (TH<99) TH++; L1602_char(1, 15, TH/10+48); L1602_char(1, 16, TH+48);

break; case 2:

if (TH>1) TH--;

L1602_char(1, 15, TH/10+48); L1602_char(1, 16, TH+48); break; case 3:

if (HH<99) HH++;

L1602_char(2, 15, HH/10+48); L1602_char(2, 16, HH+48); break; case 4:

if (HH>1) HH--;

L1602_char(2, 15, HH/10+48);

- 27 -

搜索更多关于: 基于单片机的温湿度报警器设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于单片机的温湿度监控报警系统设计 参考文献 [1] 姜志海, 黄玉清,刘连鑫. 单片机原理及应用[M]. 电子工业出版社,2009. [2] 郭天祥. 51单片机C语言教程[M]. 电子工业出版社.2009. [3] 张毅刚, 彭喜元, 彭宇. 单片机原理及应用[M]. 高等教育出版社.2010. [4] 杨素行. 模拟电子技术基础简明教程[M]. 高等教育出版社.2006. [5] 李维提, 郭强. 液晶显示应用技术[M]. 电子工业出版社.2003. [6] 刘湘涛. 单片机原理与应用[M]. 电子工业出版社.2006. [7] 何立民. 单片机高级教程[M]. 北京航空航天大学出版社.2004. [8] 周润景, 徐宏伟, 丁莉. 单片机电路设计分析与制作[M]. 机械工业出

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com