资源简介

包含代码 原理图 仿真图 说明文档 实物图等等 ,亲测可用

资源截图

代码片段和文件信息

//程序头文件
#include 
//显示函数头文件
#include 

//宏定义
#define uint unsigned int 
#define uchar unsigned char
#define Data_ADC0809 P1 //定义Data_ADC0809为P1口
 
//管脚声明
sbit LED_R= P2^2; //红灯
sbit LED_Y= P2^1; //黄灯
sbit LED_G= P2^0; //绿灯
sbit Feng = P2^5; //蜂鸣器
sbit san=P3^4;   //风扇
//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;    //减键


//函数声明
extern uchar ADC0809();
extern void Key();

void delay(uint z) //延时函数,大约延时z ms
{
uint ij;
for(i=0;i for(j=0;j<121;j++);
}


//烟雾含量变量
uchar temp=0;

/*指示灯变量  初始值*/
uchar GL=2;  //2到14绿灯亮起
uchar YL=15;  //15到29黄灯亮起
uchar RL=30;  //29到255红灯亮起
uchar FF=60; //蜂鸣器变量 大于60报警
uchar Mode=0; //按钮模式|0 正常|1 G|2 Y|3 R|4 F|

void main()  //主函数
{
Init1602(); //调用初始化显示
while(1) //进入while循环
{
temp=ADC0809();//读取AD数据

if(Mode==0)    //正常模式时
{
Display_1602(GLYLRLFFtemp); //显示正常数据

if(temp>=GL&&temp {
LED_G=0;   //绿灯亮
}
else   //大于黄灯或小于绿灯
{
LED_G=1;   //绿灯熄灭
}
if(temp>=YL&&temp {
LED_Y=0;   //黄灯亮
}
else   //大于红灯或者小于黄灯
{
LED_Y=1;   //黄灯熄灭
}
if(temp>=RL&&temp<=255)//沪指大于红灯小于255
{
LED_R=0;    //红灯亮
}
else    //小于红灯
{
LED_R=1;    //红灯灭
}
if(temp>=FF&&temp<=255)//数值大于报警值
{
Feng=0;    //蜂鸣器响
san=0;    //继电器吸和,风扇转动
}
else    //数值小于报警值
{
Feng=1;    //蜂鸣器不响
san=1;    //继电器断开,风扇停止
}
}
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;   //将P1的数据读出到temp_
OE=0;
return temp_;   //将数据返回
}

void Key()   //按键函数
{
if(Key1==0)   //模式选择
{
delay(80);   //延时去抖
while(Key1==0);   //再次判断
Feng=0;   //蜂鸣器响
write_com(0x38);//屏幕初始化
write_com(0x0d);//打开显示 无光标 光标闪烁
write_com(0x06);//当读或写一个字符是指针后移一位
Mode++; //模式加
switch(Mode) //判断模式
{
case 1:
{
write_com(0x80+4);//选中位置闪烁
Feng=1;   //蜂鸣器停止鸣响,形成按键音
break;
}
case 2:
{
write_com(0x80+9);//位置
Feng=1;
break;
}
case 3:
{
write_com(0x80+14);//位置
Feng=1;
break;
}
case 4:
{
write_com(0x80+0x40+4);//位置
Feng=1;
break;
}
case 5: //按5次后退出设置
{
write_com(0x0c);//打开显示 无光标 无光标闪烁
Mode=0; //Mode清零
break;
}
}
}
if(Key2==0&&Mode!=0) //设置状态时按下加键
{
delay(80); //延时去抖
while(Key2==0); //判断按键
Feng=0; //蜂鸣器响
switch(Mode) //根据模式设置不同的值
{
case 1:
{
if(GL {
GL++; //绿灯加
write_com(0x80+2);    //写入数据位置
write_data(‘0‘+GL/100);    //将绿灯拆字后显示百位
write_data(‘0‘+GL/10%10);  //将绿灯拆字后显示十位
write_data(‘0‘+G

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1761  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\display.h

     文件       6376  2009-05-07 14:37  基于单片机的烟雾报警器设计\1-c程序+注释\STARTUP.A51

     文件      14049  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\STARTUP.LST

     文件        749  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\STARTUP.OBJ

     文件      14545  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu

     文件       5456  2014-06-08 21:43  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.c

     文件       3481  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.hex

     文件         43  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.lnp

     文件      17199  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.LST

     文件      19837  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.M51

     文件      16276  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.OBJ

     文件        208  2017-12-29 21:15  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.plg

     文件      56526  2017-12-29 21:15  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.uvopt

     文件      13399  2014-05-31 13:38  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu.uvproj

     文件      56493  2014-06-08 22:06  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu_uvopt.bak

     文件      13395  2014-05-31 13:38  基于单片机的烟雾报警器设计\1-c程序+注释\yanwu_uvproj.bak

     文件      47104  2014-06-08 22:07  基于单片机的烟雾报警器设计\1-c程序+注释\烟雾程序.doc

     文件       1183  2011-01-03 21:44  基于单片机的烟雾报警器设计\2-原理图\Backup of ADC0809.Lib

     文件        568  2011-01-03 22:12  基于单片机的烟雾报警器设计\2-原理图\Backup of MQ-3.Lib

     文件      23819  2014-04-11 20:47  基于单片机的烟雾报警器设计\2-原理图\Backup of 原理图.Sch

     文件      23819  2014-04-11 20:46  基于单片机的烟雾报警器设计\2-原理图\Previous Backup of 原理图.Sch

     文件     160656  2014-04-11 20:47  基于单片机的烟雾报警器设计\2-原理图\Protel Schematic.pdf

     文件       1183  2011-01-03 21:44  基于单片机的烟雾报警器设计\2-原理图\加232串口原理图\Backup of ADC0809.Lib

     文件        568  2011-01-03 22:12  基于单片机的烟雾报警器设计\2-原理图\加232串口原理图\Backup of MQ-3.Lib

     文件      27941  2014-03-30 23:55  基于单片机的烟雾报警器设计\2-原理图\加232串口原理图\Backup of 原理图.Sch

     文件      27941  2014-03-30 23:54  基于单片机的烟雾报警器设计\2-原理图\加232串口原理图\Previous Backup of 原理图.Sch

     文件     162578  2014-03-30 23:55  基于单片机的烟雾报警器设计\2-原理图\加232串口原理图\Protel Schematic.pdf

     文件     356352  2014-05-31 13:29  基于单片机的烟雾报警器设计\2-原理图\加232串口原理图\原理图.Bkp

     文件     356352  2014-05-31 13:29  基于单片机的烟雾报警器设计\2-原理图\加232串口原理图\原理图.ddb

     文件      74240  2014-03-30 23:55  基于单片机的烟雾报警器设计\2-原理图\加232串口原理图\原理图.doc

............此处省略30个文件信息

评论

共有 条评论