网站大量收购独家精品文档,联系QQ:2885784924

单片机烟雾报警器.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机烟雾报警器

单片机烟雾报警器制作+程序 ? 烟雾报警器制作过程及相关程序 //程序头函数 #include reg52.h ? //宏定义 #define uint unsigned int #define uchar unsigned char #define Data_ADC0809 P1 //管脚声明 sbit Feng = P3^0; //ADC0809 sbit ST=P3^3; sbit EOC=P3^4; sbit OE=P3^2; //按键 sbit Key1=P3^5; sbit Key2=P3^6; sbit Key3=P3^7; //显示数组 0-9+F uchar Data_[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71,0x3f}; sbit Wei1 = P2^7; sbit Wei2 = P2^6; sbit Wei3 = P2^5; sbit Wei4 = P2^4; //函数声明 extern uchar ADC0809(); void Display(uchar X,uchar Data); void delay(uint t); //酒精含量变量 uchar temp=0; //蜂鸣器变量 uchar FF=10; //显示模式 uchar Mode=0; uchar p; void main() { while(1) { //正常模式 if(Mode==0) { //读取AD值 temp=ADC0809(); for(p=0;p30;p++) Display(0,temp); //判断是否报警 if(tempFF) { Feng=0; } else { Feng=1; } } //调整模式 else { Display(1,FF); } //功能键 if(Key3==0) { Feng=0; delay(100); while(Key3==0) { if(Mode==0) Display(0,temp); else Display(1,FF); } if(Mode==0) Mode=1; else Mode=0; Feng=1; } //增加 if(Key2==0Mode==1) { Feng=0; delay(100); while(Key2==0) { Display(1,FF); } FF++; if(FF==251) FF=250; Feng=1; } //减少 if(Key1==0Mode==1) { Feng=0; delay(100); while(Key1==0) { Display(1,FF); } FF--; if(FF==0xff) FF=0; Feng=1; } } } //ADC0809读取信息 uchar ADC0809() { uchar temp_=0x00; //初始化高阻太 OE=0; //转化初始化 ST=0; //开始转换 ST=1; ST=0; //外部中断等待AD转换结束 while(EOC==0) //读取转换的AD值 OE=1; temp_=Data_ADC0809; OE=0; return temp_; } //延时 void delay(uint t) { uint i,j; for(i=0;it;i++) for(j=0;j10;j++); } //显示 X表示状态 Data表示数据 void Display(uchar X,uchar Data) { Wei1=1; Wei2=1; Wei3=1; Wei4=1; P0=0xff; //正常模式 if(X==0) { P0=~Data_[11]; } //非正常 else { P0=~Data_[10]; } Wei1=0; Wei2=1; Wei3=1; Wei4=1; delay(10); Wei1=1; Wei2=1; Wei3=1; Wei4=1; P0=~Data_[Data/100]; Wei1=1; Wei2=0; Wei3=1; Wei4=1; delay(10); Wei1=1; Wei2=1; Wei3=1; Wei4=1; P0=~Data_[Data/10%10]; Wei1=1; Wei2=1; Wei3=0; Wei4=1; delay(10); Wei1=1; Wei2=1; Wei3=1; Wei4=1; P0=~Data_[Data%10]; Wei1=1; Wei2=1; Wei3=1; Wei4=0; delay(10); Wei1=1; Wei2=1; Wei3=1; Wei4=1; }

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档