一氧化碳报警器.zip

  • 纳闷的北极星
    了解作者
  • C/C++
    开发工具
  • 34.9MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 0
    下载次数
  • 2021-01-10 13:12
    上传日期
检测一氧化碳并报警。本系统采用单片机为控制核心,以实现一氧化碳检测仪的基本控制功能。系统主要功能内容包括:数据处理、时间设置、开始测量、超标报警、键盘检测、自动休眠,仪器若不进行测量操作,5分钟后自动进入休眠模式,以降低电源消耗。
一氧化碳报警器.zip
  • 1_uvopt.bak
    53.9KB
  • 1.M51
    8.8KB
  • 1.LST
    7.5KB
  • 1
    4.9KB
  • Last Loaded 一氧化碳报警.DBK
    114.1KB
  • 1.lnp
    34B
  • 1.uvopt
    53.9KB
  • 1.OBJ
    5.4KB
  • 1.c
    4.4KB
  • 一氧化碳报警.DSN
    114.1KB
  • 1.hex
    1.1KB
  • 1.plg
    300B
  • QQ录屏20201120181125.mp4
    48.5MB
  • 1.uvproj
    12.9KB
  • 一氧化碳报警.PWI
    742B
  • 1_uvproj.bak
    0B
内容介绍
//程序头函数 #include <reg52.h> //宏定义 #define uint unsigned int #define uchar unsigned char #define Data_ADC0809 P1 //管脚声明 sbit LED_R= P2^2;//红灯 sbit LED_G= P2^0;//绿灯 sbit FENG = P2^5;//蜂鸣器 //ADC0809 sbit ST=P3^3; sbit EOC=P3^6; sbit OE=P3^2; //按键 sbit Key1=P2^6; //设置键 sbit Key2=P2^7; //加按键 sbit Key3=P3^7; //减按键 bit bdata flag; //报警标志位 uchar set; //设置状态 //函数声明 extern uchar ADC0809(); extern void Key(); //一氧化碳变量 uchar temp=0; uchar WARNING=25; //报警值 void init() //初始化函数 { TMOD=0x01; //工作方式 TL0=0xb0; TH0=0x3c; //赋初值(12MHz晶振的50ms) EA=1; //打开中断总开关 ET0=1; //打开中断允许开关 TR0=1; //打开定时器开关 } void main() //主函数 { init ();//初始化显示 init(); //初始化定时器 while(1) //进入循环 { temp=ADC0809(); //读取一氧化碳浓度值 Key(); //扫描按键 } } //ADC0809读取信息 uchar ADC0809() { uchar temp_=0x00; //初始化高阻太 OE=0; //转化初始化 ST=0; //开始转换 ST=1; ST=0; //外部中断等待AD转换结束 while(EOC==0) //读取转换的AD值 OE=1; temp_=Data_ADC0809;//将0809的数值读入单片机 OE=0; return temp_; //返回读到的数据 } void Key() //按键函数 { if(Key1==0) //设置键按下时 { while(Key1==0); //检测按键是否释放 FENG=0; //蜂鸣器响 set++; //设置状态标志加 flag=0; //停止报警 TR0=0; //定时器停止 } if(set>=2) //再按一下设置键时,退出设置 { set=0; //设置状态清零 FENG=1; //蜂鸣器停止响 flag=1; //报警标志位置1 TR0=1; //定时器开始计时 } if(Key2==0&&set!=0) //当在设置状态时,按下加键时 { while(Key2==0); //按键释放 FENG=0; //蜂鸣器鸣响 WARNING++; //报警阈值加 if(WARNING>=255)//阈值最大加到255 WARNING=0; //清零 FENG=1;//蜂鸣器停止 } if(Key3==0&&set!=0) //减按键注释参考加按键部分 { while(Key3==0); FENG=0; WARNING--; if(WARNING<=0) WARNING=255; FENG=1; } } void time1_int(void) interrupt 1 //定时器函数 { uchar count; TL0=0xb0; TH0=0x3c; //重新赋初值 count++; //计时变量加 if(count==10)//定时器定时是50ms,此处计数10次,正好是500ms,用于报警时 灯亮和蜂鸣器响 { if(flag==0) //报警标志为0时 { LED_G=0; //绿灯亮 LED_R=1; //红灯灭 FENG=1; //蜂鸣器不响 } if(flag==1) //报警标志位为1时 { LED_G=1; //绿灯灭 LED_R=0; //红灯亮 FENG=0; //蜂鸣器响 } } if(count==20) //计数到20时,正好是1000ms,就是1s,这里就是让灯灭,蜂鸣器不响,从而做出闪烁的效果 { count=0; //计到1s时,将count清零,准备重新计数 if(flag==0) { LED_G=1; LED_R=1; FENG=1; } if(flag==1) { LED_G=1; LED_R=1; FENG=1; } } }
评论
    相关推荐
    • GS803_V00.rar
      一氧化碳报警器程序,包含出厂校验和正常工作部分程序。
    • 资料汇总 杨秀珠.zip
      在单片机上用C语言实现煤气报警器,一旦煤气浓度超过预制,就会报警
    • 基于Neoway N20 NB-IOT的物联网环境监测方案 -电路方案
      二氧化碳,一氧化碳,甲醛等可挥发气体传感器,Nob IOT模块.MCU 通过I2C ,SPI,UART连接Sensor,通过NB-IOT实时上传到云端,供用户通过手机等终端实时查看,并及时推送危险信息,典型的应用包括家用安防报警器,...
    • IoT-Fire-Alarm
      在独立使用中,一旦检测到一氧化碳超过10ppm或温度超过45°C,就会启动蜂鸣,以防万一有人在附近听到并控制发生的情况。 互联网使用(云) 另一种从IoTFP收集数据的系统用于Internet。 在与Internet连接一起使用...
    • 烟雾报警器改造成自动排烟器-电路方案
      使用便宜的烟雾探测,改造成可自动提取烟雾,一氧化碳和焊锡烟雾的自动排烟! 硬件组件: SparkFun可焊接面包板× 1 软件应用程序和在线服务: Arduino IDE 手动工具和制造机器: 烙铁(通用) 我目前在工作中进行...
    • 基于瑞萨单片机家用燃气报警器电路+源代码+说明文档等-电路方案
      为了避免由于天然气泄漏或废气排放而大量产生的一氧化碳给居民的生命财产带来巨大的威胁,燃气报警器被广泛的应用于家庭厨房和浴室中。本应用提供了基于瑞萨低成本单片机R7F0C802的家用燃气报警器的解决方案。 功能...
    • 基于ADUCM360(ARM CORTEX M3)控制的有毒气体(CO\SO2等)检测方案-电路方案
      这类检测小巧轻便,方便随身携带,可以检测暴露在环境中的危险气体 CO 的浓度,清晰地读出气体浓度、峰值和高、低浓度报警水平。如果当前气体高、低浓度值超出预设限度值时,仪器以声、光报警提醒用户。多数便携式...
    • Bus_Type_Greenhouse_Monitoring_System:采用STM32F103ZET6微控制为大棚监控系统
      配合使用氧化碳传感器,空气/土壤温湿度传感器,光照报警模块明灌溉通风模块,CAN CAN总线模块,显示视频监控等总线模块,显示视频监控等; 一氧化碳传感器,空气/土壤温湿度传感器,光照用于检测大棚内环境数据; ...
    • 程序代码.zip
      检测空气中一氧化碳的含量,当超过安全值时实现报警
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档