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

代码片段和文件信息
//程序头文件
#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个文件信息
- 上一篇:北邮计算机图形学课件附试卷
- 下一篇:作物模型ORYZAv3
相关资源
- 程序员专用字体YaHei.Consolas.1.11b42517
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- 清翔电子MCS51开发板资料_新版 01_开发
- MCS_51单片机与8255A的接口设计
- Rtx51_tiny_RTOS中文版.pdf
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- proteus仿真 AT89C51输出各种波形
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- NRF24L01实现51与STM32双向通讯
- 基于c8051f020的AD转换程序及LCD显示程序
- 51单片机控制舵机程序
评论
共有 条评论