• 大小: 110KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-07-27
  • 语言: 其他
  • 标签: 火灾报警  C代码  

资源简介

基于51单片机的智能火灾报警系统+烟雾传感+ADC0832模数转换+温度检测+数码管显示+按键设定+声光蜂鸣器设计。 附件为C代码

资源截图

代码片段和文件信息

#include 	         //调用单片机头文件
#define uchar unsigned char  //无符号字符型 宏定义 变量范围0~255
#define uint  unsigned int  //无符号整型 宏定义 变量范围0~65535
#include 
#include “eeprom52.h“


//数码管段选定义      0     1    2    3    4    5  6  7   8    9
uchar code smg_du[]={0x5f0x440x9d0xd50xc60xd30xdb0x450xdf0xd70x400xfd/*-*/};
//数码管位选定义
uchar code smg_we[]={0x7f0xbf0xdf0xef};

uchar dis_smg[8]  = {0xa00x840x620x2a0x390x2c0x240xba};

sbit CS=P2^3; //CS定义为P3口的第2位脚,连接ADC0832CS脚  PCB
sbit SCL=P2^0; //SCL定义为P3口的第3位脚,连接ADC0832SCL脚
sbit DO=P2^1; //DO定义为P3口的第4位脚,连接ADC0832DO脚

sbit ledy = P1^6;   //温度报警指示灯
sbit ledr = P1^7;   //烟雾报警指示灯 x
sbit dq   = P1^5; //18b20 IO口的定义
sbit beep = P3^6;   //蜂鸣器IO口定义
uint temperatures_temp ;  //温度的变量
uchar dengjis_dengji;     //烟物等级
uchar shoudong;            //手动报警键


bit flag_300ms = 1;
uchar key_can;  //按键值的变量
uchar menu_1;        //菜单设计的变量

/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
uint ij;
for(i=0;i for(j=0;j<120;j++);
}

/***********************小延时函数*****************************/
void delay_uint(uint q)
{
while(q--);
}


/******************把数据保存到单片机内部eeprom中******************/
void write_eeprom()
{
SectorErase(0x2000);
byte_write(0x2000 s_temp);
byte_write(0x2001 s_dengji);
byte_write(0x2060 a_a);
}

/******************把数据从单片机内部eeprom中读出来*****************/
void read_eeprom()
{
s_temp   = byte_read(0x2000);
s_dengji = byte_read(0x2001);
a_a      = byte_read(0x2060);
}

/**************开机自检eeprom初始化*****************/
void init_eeprom() 
{
read_eeprom(); //先读
if(a_a != 1) //新的单片机初始单片机内问eeprom
{
s_temp   = 50;
s_dengji = 5;
a_a = 1;
write_eeprom();    //保存数据
}
}

/***********************18b20初始化函数*****************************/
void init_18b20()
{
bit q;
dq = 1; //把总线拿高
delay_uint(1);     //15us
dq = 0; //给复位脉冲
delay_uint(80); //750us
dq = 1; //把总线拿高 等待
delay_uint(10); //110us
q = dq; //读取18b20初始化信号
delay_uint(20); //200us
dq = 1; //把总线拿高 释放总线
}

/*************写18b20内的数据***************/
void write_18b20(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{  //写数据是低位开始
dq = 0;  //把总线拿低写时间隙开始 
dq = dat & 0x01; //向18b20总线写数据了
delay_uint(5);  // 60us
dq = 1;  //释放总线
dat >>= 1;
}
}

/*************读取18b20内的数据***************/
uchar read_18b20()
{
uchar ivalue;
for(i=0;i<8;i++)
{
dq = 0;  //把总线拿低读时间隙开始 
value >>= 1;  //读数据是低位开始
dq = 1;  //释放总线
if(dq == 1)  //开始读写数据 
value |= 0x80;
delay_uint(5);  //60us 读一个时间隙最少要保持60us的时间
}
return value;  //返回数据
}

/*************读取温度的值 读出来的是小数***************/
uint read_temp()
{
uint value;
uchar low;    //在读取温度的时候如果中断的太频繁了,就应该把中断给关了,否则会影响到18b20的时序

init_18b20();    //初始化18b20
EA = 0;
write_18b20(0xcc);    //跳过64位ROM
write_18b20(0x44);    //启动一次温度转换命令
EA = 1;
delay_uint(50);    //500us


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-04-03 15:28  1、源程序\
     目录           0  2020-04-03 15:28  1、源程序\下载文件\
     文件        5756  2016-11-15 15:04  1、源程序\下载文件\基于单片机的智能火灾报警系统设计.hex
     目录           0  2020-04-03 15:28  1、源程序\工程文件\
     文件        3057  2013-12-07 15:42  1、源程序\工程文件\eeprom52.h
     目录           0  2020-04-03 15:28  1、源程序\工程文件\加风扇\
     文件        3057  2013-12-07 15:42  1、源程序\工程文件\加风扇\eeprom52.h
     文件       19146  2018-03-03 16:42  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计
     文件       21074  2018-03-03 16:42  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.LST
     文件       30211  2018-03-03 16:42  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.M51
     文件       22765  2018-03-03 16:42  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.OBJ
     文件        9056  2018-03-03 16:42  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.c
     文件        5780  2018-03-03 16:42  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.hex
     文件          96  2018-03-03 16:42  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.lnp
     文件         873  2018-03-03 17:50  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.plg
     文件       86460  2018-01-06 22:37  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.uvgui.Administrator
     文件       58856  2018-03-03 17:50  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.uvopt
     文件       13357  2018-03-03 17:50  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计.uvproj
     文件        8805  2018-01-06 22:37  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计_uvopt.bak
     文件       13972  2018-01-06 22:37  1、源程序\工程文件\加风扇\基于单片机的智能火灾报警系统设计_uvproj.bak
     文件       19039  2017-04-26 16:14  1、源程序\工程文件\基于单片机的智能火灾报警系统设计
     文件       20944  2017-04-26 16:14  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.LST
     文件       30099  2017-04-26 16:14  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.M51
     文件       22655  2017-04-26 16:14  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.OBJ
     文件        9010  2017-04-26 16:14  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.c
     文件        5772  2017-04-26 16:14  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.hex
     文件          96  2017-04-26 16:14  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.lnp
     文件         272  2017-05-27 14:56  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.plg
     文件       86460  2018-01-06 22:37  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.uvgui.Administrator
     文件        8805  2018-01-06 22:37  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.uvopt
     文件       13972  2018-01-06 22:37  1、源程序\工程文件\基于单片机的智能火灾报警系统设计.uvproj
............此处省略3个文件信息

评论

共有 条评论