77范文网 - 专业文章范例文档资料分享平台

PM2.5空气质量检测仪的设计与制作 - 图文(6)

来源:网络收集 时间:2022-01-20 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

 

LED=0; //关闭传感器LED }

//端口功能设置 void Port_Init() {

P1M0 = 0x03; //DS--88页IO口功能设置,设为开漏11 P1M1 = 0x03; // }

void ADC_Init() //DS-282页 {

P1ASF = 0x03; //开启通道0,1 ADC_RES = 0;

ADC_CONTR=ADC_POWER|ADC_SPEEDLL; //每次转换需要420个时钟周期 delay_ms(10); }

//进行AD转换,得到当前8位AD值 uchar GetADVal(uchar CH) {

ADC_CONTR=ADC_POWER|ADC_SPEEDLL|CH|ADC_START; //delay_ms(1);

while(!(ADC_CONTR&ADC_FLAG)); //等待ADC转换结束 ADC_CONTR &= ~ADC_FLAG; //关闭ADC return ADC_RES; }

//中值滤波

//算法:先进行排序,然后将数组的中间值作为当前值返回。 uchar Error_Correct(uchar *str,uchar num) {

unsigned char i=0; unsigned char j=0; uchar Temp=0;

//排序

for(i=0;i

for(j=i+1;j

if(str[i]

 

24

 

 

Temp=str[i]; str[i]=str[j]; str[j]=Temp; } } }

//去除误差,取中间值 return str[num/2]; }

//存入设定值 将设定值存储在24C02中 void Save_Setting(void) {

uchar Save;

Save =DUST_SET/256; IIC_Write(0x00, Save); Save =DUST_SET%6; delay_ms(10);

IIC_Write(0x01, Save); }

//载入设定值 从24C02中读取设定值 void Load_Setting() {

DUST_SET=0;

DUST_SET = IIC_Read(0x00); DUST_SET*=256; delay_ms(10);

DUST_SET+= IIC_Read(0x01);

if ((DUST_SET>=760)||(DUST_SET<=0)) DUST_SET =100; }

//按键处理程序

void KeyProcess(void) {

uchar Temp; uint i,j; Temp=P3; Temp&=0xf0; if(Temp!=0xf0) { //延时

 

25

 

//for (i=0;i<500;i++) //for (j=0;j<254;j++); Temp=P3; Temp&=0xf0;

if(Temp!=0xf0) {

switch(Temp) {

case 0xE0: DUST_SET++; break; // 设定值+ case 0XD0: DUST_SET--; break; // 设定值- default: break; }

//值限定

if (DUST_SET>=760) DUST_SET =760; if (DUST_SET<=1) DUST_SET =0; Save_Setting();

} } }

void main() {

uchar read; uint DUST;

EA = 0; //总中断关闭 Data_Init(); //数据初始化 Port_Init(); //端口初始化 IIC_Init();

LCD_Init(); //液晶初始化 LCD_Clear();//清屏

LCD_Write_String(4,0,

LCD_Write_String(0,1, delay_ms(2000);

LCD_Clear();//清屏 delay_ms(10);

LCD_Write_String(0,0,

LCD_Write_String(0,1,载入设定值

Load_Setting();

ADC_Init(); //ADC初始化

 

26

 

delay_ms(10);

Timer0_Init(); //定时器0初始化 num=0; DUST=0;

FlagStart=0;

while(1) {

if(FlagStart==1) //10次采集完成 {

DUST=Error_Correct(ADC_Get,10); //求取10次AD采样的值 DUST_Value=(DUST/256.0)*5000; //转化成电压值MV

DUST_Value=DUST_Value*0.172-99.9; //DUST_Value=((DUST)*38)/4-202;// 计算 Y=0.172*X-0.0999 X--采样电压V if(DUST_Value<0) DUST_Value=0;

if(DUST_Value>760) DUST_Value=760; //限位 DUST=(uint)DUST_Value; //

LCD_Show4(6,0,DUST);

LCD_Show4(6,1,DUST_SET); //显示结果

if(DUST>DUST_SET) {

DUST_Warn=0; fs=0; LED1=1; LED2=0;

} //超过阈值,报警 else

{ DUST_Warn=1; fs=1; LED1=0; LED2=1; }

KeyProcess(); delay_ms(100);

TL0 = (65536-30000)/256; TH0 = (65536-30000)%6; TR0 = 1; //开启定时器0 EA = 1;

FlagStart=0; }

} }

 

//固体悬浮颗粒浓度

27

 

 

致 谢

本文是在吴小玲老师的悉心指导下完成的。吴老师从论文选题、研究方法、论文写作、实验等诸方面都给予了细致、精心的指导,在生活上更是细心的照顾着我们。她严谨的治学态度,踏实的做人风格,深厚的理论知识使我受益匪浅,我想如果没有吴老师这开放性思想的指导我就很难在此有所突破了。她待人和蔼、认真求实的工作作风,对指导毕业设计工作积极负责的态度都深深影响着即将走出社会的我。让我不仅系统的掌握了专业知识体系,也让我有了正确的态度和坚定地信念去面对未来。在此谨向吴小玲老师表示衷心的感谢。

在此,我还要感谢在一起愉快的度过本科生活的12应电班各位同学,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。尤其是伟建同学,在实验期间帮我做了很多工作给了我不少帮助。还有感谢我的室友们,感谢你们三年来的宽容和支持,如果没有你们我的大学没有这么精彩。

在论文即将完结之际,心情非常的激动,从论文的选题,实验到顺利完成,那么多的老师、同学、朋友都给了我莫大的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!

谢谢所有给予我关心和帮助的朋友们!

 

 

 

28

 

指导教师评语: 初评成绩: 指导教师签名: 年 月 日 毕业论文(设计)评审小组意见: 终评成绩: 组长签章: 年 月 日 备注 29

 

 

 

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库PM2.5空气质量检测仪的设计与制作 - 图文(6)在线全文阅读。

PM2.5空气质量检测仪的设计与制作 - 图文(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/642587.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: