历史上的今天
今天是:2025年08月17日(星期日)
2020年08月17日 | 单片机浴室报警器程序
2020-08-17 来源:51hei
1、氧气浓度采集:本设计采用ZE03-O2(工作电压3.7V-9V DC 温度0-50度 湿度20%-90%RH)氧气浓度传感器,适用于浴室氧气浓度检测,虽内置温度传感器进行温度补偿,但程序算法上需将采集数据和输出氧气浓度建立线性关系。
2、信息储存:采用AT24C02(掉电记忆,电可擦除)作为外置EEPROM存储用户设置信息(主要用于存储用户设置时间,报警温度和氧气浓度)。
3、报警部分:当任何一项指标超标时都需要声音报警,不同的指标超标光报警要给用户明确的某项指标超标。
4、浴室模型:本课题是基于浴室,采用CAD对模型进行设计与绘制,模型确定为底面面积为0.64平方米高1米的长方体,长方体内部布满泡沫以此来构建封闭、透气性差和保温性强的环境条件。
5、硬件电路:单片机最小系统板、显示电路、电源与复位电路、报警电路、风机驱动板和氧气传感器和温度传感器电路设计与调试。

单片机程序如下:
#include #include #include #include #include #include #include "24c02.h" #include "iic.h" //#include #define uchar unsigned char #define uint unsigned int sbit LED = P2^5; sbit LED1 = P2^6; sbit LED2 = P2^7; sbit bell = P1^3; sbit relay = P1^0; sbit relay1 = P1^1; uchar tt[3], pp[3], flag = 0, flag1 = 0, K = 0, modes = 0,bai = 0, shi = 0,ge = 0,yqnd = 0; uchar wendu,wdbj = 38, yqbj = 18, sjbj = 20, wd[3], yq[3], sj[3], kt = 0; uint num = 0; void cherh(void); void time(void); void bj_cronl(void); void main(void) { P1M1 = 0x00; P1M0 = 0xff; relay = 0; relay1 = 0; bell = 0; CH11 = 0; delay(1); lcdinit(); delay(10); UartInit(); ES = 1; EA = 1; while(1) { time(); wendu = DS18b20_Convert(); write_com(0x93); sprintf(tt,"%d",(uint)wendu); hzkdis(tt); write_com(0x90); hzkdis("温度:"); write_com(0x94); hzkdis("度"); write_com(0x88); hzkdis("氧气浓度:"); write_com(0x98); hzkdis("设定时间:"); if(Uart_RxFlag) { write_com(0x8d); sprintf(pp,"%d",(uint)UartRxTab[3]); hzkdis(pp); write_com(0x8e); hzkdis("%"); Uart_RxFlag = 0; } K = Key(); if (K == 5) { K = 0; lcdinit(); flag = 1; modes = 0; K = 0; wdbj = Eeprom_Read(0x01); delay(10); yqbj = Eeprom_Read(0x02); delay(10); sjbj = Eeprom_Read(0x03); delay(10); while (flag == 1) { write_com(0x80); hzkdis("用户:A"); write_com(0x90); hzkdis("报警温度: 度"); write_com(0x94); sprintf(wd,"%d",(uint)wdbj); hzkdis(wd); write_com(0x88); hzkdis("报警氧气: %"); write_com(0x8c); sprintf(yq,"%d",(uint)yqbj); hzkdis(yq); write_com(0x98); hzkdis("报警时间: min"); write_com(0x9c); sprintf(sj,"%d",(uint)sjbj); hzkdis(sj); K = 0; K = Key(); if (K == 3) { modes++; switch(modes) { case 1:
史海拾趣
|
windows xp 与 windows ce 嵌入式系统的usb通信 现有一个条形码识别掌机, 掌机系统为 windows ce.net 6.0, 有usb接口。 将掌机usb接口直接与windows vista电脑相接,不需要任何操作就可以实现通信。 但将掌机与windows xp相接,用了很多方法都不行,比如安装一个activesync 4.5,在连接 ...… 查看全部问答> |
|
可用于主控制的接口有CH375,SL811,还有吗?用于从控制的就多了,如PDIUSBD12,还有MCU内置,如C8051F340就内置USB控制器. 这写USB从控制器能用作主控制器吗?谢谢!… 查看全部问答> |
|
库文件完全一样,示例代码能运行,但是即使把示例代码完全复制到自己的工程中都不能输出正确的结果。复制到自己的项目中后,完全相同的代码但是编译后的大小要比demo工程直接编译的大一点点。一直到不到哪里出了问题。有人遇到过吗?或者给点查错的 ...… 查看全部问答> |
|
美国Robei公司开发了一套全新的FPGA设计仿真工具,现在在教育界和工业界引起巨大的反响。 下面是这个软件的简单介绍: Robei FPGA仿真软件是一款世界上最小的FPGA仿真工具。该软件具备先进的图形化设计工具,代码修改,Verilog编译仿真和波形分析 ...… 查看全部问答> |




