基于ARM的车用空气质量检测系统_第1页
基于ARM的车用空气质量检测系统_第2页
基于ARM的车用空气质量检测系统_第3页
基于ARM的车用空气质量检测系统_第4页
基于ARM的车用空气质量检测系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于ARM的车用空气质量检测系统 车用空气质量检测系统 控制系统的研究内容本系统期望实现对车厢内温度,湿度,VOC气体的实时采集处理、显示、报警等功能。仪器采用锂电池供电,具有良好的便携性和通用性,并且使用液晶屏显示菜单,有良好的人机对话界面。同时设计了声光报警系统,实现在参数超标时及时的报警。车用空气质量检测系统 控制系统的整体架构气体传感器LPC主控制器液晶屏显示数字式温度、湿度传感器声光报警电源输入键盘车用空气质量检测系统 LPC接口介绍LPC2138芯片LPC2138具有强大的存储空间,内嵌32KB片内静态RAM和512KB的Flash存储器;可以实现在系统可编程(ISP)、在应用可

2、编程(IAP);2个8路10位A/D转换器,一个D/A转换器;多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口、SPI,以及具有缓冲作用和数据长度可变功能的SSP协议。LPC2138软件的可移植性好,工作可靠。车用空气质量检测系统 LPC接口介绍LPC2138工作特性 小型LQFP64 封装的16/32 位ARM7TDMI-S 微控制器。 片内Boot 装载软件实现在系统/在应用中编程(ISP/IAP)。扇区擦除或整片擦除的时间为400ms,1ms 可编程256 字节。 EmbeddeDICE?RT 和嵌入式跟踪接口可实时调试(利用片内RealMonitor 软件)和高速

3、跟踪执行代码。 2 个32 位定时器/计数器(带4 路捕获和4 路比较通道)、PWM 单元(6 路输出)和看门狗。 实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗。 向量中断控制器。可配置优先级和向量地址。 多达47 个5V 的通用I/O 口(LQFP64 封装)。9个边沿或电平触发的外部中断引脚。 通过片内PLL可实现最大为60MHz的CPU 操作频率,PLL 的稳定时间为100us。 片内晶振频率范围:130 MHz。 2 个低功耗模式:空闲和掉电。 可通过个别使能/禁止外部功能和降低外部时钟来优化功耗。 通过外部中断将处理器从掉电模式中唤醒。车用空气质量检测系统 控制系统的

4、其他硬件设计(1)气体传感器设计VOC气体传感器选用能够侦测0.1ppm以上的气体的空气质量VOC气体浓度传感器MS1100,该传感器用于检测空气中的甲醛、苯、二甲苯等多种有机挥发成分,具有极高的灵敏度和稳定性,体积小,价格便宜,响应速度。VOC传感器实物图VOC传感器连接图车用空气质量检测系统 控制系统的其他硬件设计温湿度传感器是指能将温度量和湿度量转换成容易被测量处理的信号的设备或装置。温湿度传感器一般是测量温度量和相对湿度量。而且人体对于温湿度的变化测量范围和精度要求不高,所以选用的温湿度传感器也就相应的采用了数字温湿度传感器DHT11。DHT11传感器实物图(2)温度湿度传感器设计DH

5、T11连线图车用空气质量检测系统 控制系统的其他硬件设计为了使本系统对车厢内内空气品质的监测更为直观,能够让车主更便捷的看到车厢内空气质量的变化,所以采用了由2个发光二极管和一个蜂鸣器构成的声光报警电路。其中VOC气体含量超标时双灯闪烁蜂鸣器报警,温度超标时D1灯亮蜂鸣器报警,湿度超标时D2灯亮蜂鸣器报警。(3)声光报警蜂鸣器的设计声光报警电路连线图车用空气质量检测系统 控制系统的其他硬件设计本系统的电源电路设计采用集成稳压器7805,C29、C30分别为输入端和输出端滤波电容,D1为续流二极管。当输出电流较大时,7805应配上散热板。(4)电源电路的设计电源电路连线图车用空气质量检测系统 控

6、制系统的其他硬件设计选用的液晶显示模块应具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。所以,在该系统中选用LCD1602作为显示模块。(5)液晶显示电路的设计液晶显示电路连线图车用空气质量检测系统 控制系统的其他硬件设计按键电路共设置五个独立按键,实现功能为设定键可进行设定的进入与退出,同时可实现两种范围(VOC浓度上限按照国际标准设定好)的切换,另设左右移位键、上下调值键各两个,与此同时考虑到用户可能需要在一定时间内连续测量一种量,故设计了上调键的第二功能:当只有上调键按下时完成显示的自动与手动的切换以实现良好的人机对话。(6)按

7、键输入电路的设计按键输入电路连线图车用空气质量检测系统 控制系统的软件设计(1)软件设计模块流程图初始化开始DHT11传感器数据采集VOC传感器数据采集VOC浓度显示延时、报警函数温度显示延时、报警函数延时、报警函数湿度显示进入设定功能进入切换功能按键调整函数设置完成YNYNN手自动切换函数自动显示NY车用空气质量检测系统 控制系统的软件设计(2)主要程序代码#include #include #define uchar unsigned char #define uint unsigned int #define Data P0 /数据端口/*1602管脚定义*/ sbit RS=P26;

8、sbit RW=P25; sbit E=P27; /*按键管脚定义*/ sbit key_U=P20; sbit key_D=P21; sbit key_L=P22; sbit key_R=P23; sbit key_S=P24; /*报警管脚定义*/ sbit beep=P34; sbit led1=P35; sbit led2=P36; unsigned char num=0;/记录设定键按下次数unsigned char k_flag=0;/记录设置键按下次数(用于调用) unsigned char wei=0;/光标位置unsigned char c_num=0;/记录切换键按下次数u

9、nsigned char c_flag=0;/记录切换键按下次数(用于调用) unsigned char voc_ad;/AD读取数据车用空气质量检测系统 控制系统的软件设计(2)主要程序代码unsigned char flag;/DHT11函数用到/*/ sbit DHT=P37; uchar WEN1=wen:16.00-28.00; /温度第一行数据uchar WEN2= 00.00 ; /温度第二行数据uchar SHI1=shi:30.00-70.00; /湿度第一行数据uchar SHI2= 00.00 ; /湿度第二行数据unsigned char shiZ,shiX,wenZ,

10、wenX,check; unsigned char tr_shiZ,tr_shiX,tr_wenZ,tr_wenX; 车用空气质量检测系统 控制系统的软件设计(2)主要程序代码/*延时*/ void delay_1ms(uint x) uchar i; while(x-) for(i=0;i1; /*12MHz频率*/ while(-uscnt); /*1602显示*/ /*写命令*/ void lcd_write_com(uchar c) delay_1ms(5);/操作前短暂延时,保证信号稳定 E=0; RS=0; RW=0; _nop_(); E=1; 车用空气质量检测系统 控制系统的软

11、件设计(2)主要程序代码Data=c; E=0; /*写数据*/ void lcd_write_dat(uchar c) delay_1ms(5); /操作前短暂延时, 保证信号稳定 E=0; RS=1; RW=0; _nop_(); E=1; Data=c; E=0; RS=0;/*LCD初始化*/ void lcd_init() delay_1ms(15); lcd_write_com(0 x38); /display mode lcd_write_com(0 x38); /display mode lcd_write_com(0 x38); /display mode lcd_write

12、_com(0 x06); /显示光标移动位置 lcd_write_com(0 x0c); /显示开关及光标设置 lcd_write_com(0 x01); /显示清屏车用空气质量检测系统 控制系统的软件设计(2)主要程序代码/*显示单个字符*/ void ShowChar(uchar pos,uchar c) unsigned char p; if (pos=0 x10) p=pos+0 xb0; /是第二行则命令代码 高4位为0 xc else p=pos+0 x80; /是第二行则命令代码 高4位为0 x8 lcd_write_com(p);/写命令 lcd_write_dat(c); /

13、写数据/*显示字符串*/ void ShowString (uchar line,char *ptr) unsigned char l,*p; p=ptr; l=line4; while(*p)!=0) ShowChar(l+,*(p); p+; 车用空气质量检测系统 控制系统的软件设计(2)主要程序代码/*温度显示函数*/ void WENdisp(void) ShowString(0,WEN1); _nop_(); ShowString(1,WEN2); /*湿度显示函数*/ void SHIdisp(void) ShowString(0,SHI1); _nop_(); ShowStrin

14、g(1,SHI2); /*VOC调用的显示函数*/ void VOCdisp(void) ShowString(0,VOC1); _nop_(); ShowString(1,VOC2); /*报警用函数*/ void Beep(unsigned char i,j)/i用于确定亮灯方式,j用于确定蜂鸣器是否报警 unsigned char m; led1=led2=1; for(m=0; mvoc_h) Beep(1,1); else Beep(0,0); void wen_warning() unsigned char wen_t; unsigned char wen_h; 车用空气质量检测系统 控制系统的软件设计(2)主要程序代码unsigned char wen_l; wen_t=(0+WEN26)*10+(0+WEN27); wen_l=(0+WEN14)*10+(0+WEN15); wen_h=(0+WEN110)*10+(0+WEN111); if(wen_twen_h|wen_tshi_h|shi_tshi_l) Beep(3,1); else Beep(0,0); /*按键*/ /*进入设定功能*/ unsigned char key_set(void) if(key_S=0) delay_1ms(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论