基于单片机的一氧化碳检测仪的控制系统设计.docx
- 文档编号:15862439
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:13
- 大小:28.80KB
基于单片机的一氧化碳检测仪的控制系统设计.docx
《基于单片机的一氧化碳检测仪的控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的一氧化碳检测仪的控制系统设计.docx(13页珍藏版)》请在冰点文库上搜索。
基于单片机的一氧化碳检测仪的控制系统设计
基于单片机的一氧化碳检测仪的控制系统设计
基于单片机的一氧化碳检测仪的控制系统设计 摘要 一氧化碳检测仪是一种用于公共场所及室内具有检测及超限报警功能的仪 I 器。
其设计方案基于AT89C52单片机,选择瑞士蒙吧波公司的CO/CF-1000一氧化碳传感器。
系统将传感器的标准信号通过AD0832为核心的A/D转换电路调理后,经单片机进行数据处理,最后LCD显示一氧化碳浓度值。
文中详细介绍了数据采集子系统、数据处理过程以及数据显示子系统和报警电路的设计方法和过程。
系统对于采样地点超出规定的一氧化碳容许浓度时采用三极管驱动的单音频报警电路提醒监测人员。
同时,操作人员对于具体报警点的上限值可以通过单片机编程进行设置。
另外,该系统对浓度信号进行了信号补偿等处理,减少了测量误差,因此,具有较高的测量精度,而且结构简单,性能优良。
关键词:
一氧化碳检测;单片机;数据采集处理系统 目录 III 1前言.....................................................................................................................1一氧化碳的危害...........................................................................................1一氧化碳检测仪的种类...............................................................................1课题的背景和意义.......................................................................................22检测仪系统总体设计.........................................................................................33一氧化碳检测仪硬件设计.................................................................................4硬件结构设计...............................................................................................4硬件选择与设计...........................................................................................4MCU的选择与设计.............................................................................4单片机最小系统的实现........................................................................6数据采集系统的选择与设计................................................................8模数转换的选择与设计........................................................................9按键选择与设计..................................................................................10外围扩充存储器的选择与设计..........................................................11时钟芯片选择与设计..........................................................................12上拉电阻的选择与设计......................................................................13液晶显示器选择与设计......................................................................14报警电路选择与设计........................................................................16硬件设计主电路图.....................................................................................174软件设计...........................................................................................................18软件设计结构的设计.................................................................................18主程序模块的设计.....................................................................................18模数转换模块的设计.................................................................................19按键模块的设计.........................................................................................205系统仿真...........................................................................................................23结论.......................................................................................................................27致谢.......................................................................................................................28附录.......................................................................................................................29 IV
3 2一氧化碳检测仪系统总体设计 本论文主要完成一氧化碳检测仪软件和硬件仿真设计,设计内容包括:
A/D转换器程序、控制程序、超标报警、键盘检测、数据显示等。
本系统采用单片机为控制核心,以实现一氧化碳检测仪的基本控制功能。
系统主要功能内容包括:
数据处理、时间设置、开始测量、超标报警、键盘检测、自动休眠,仪器若不进行测量操作,5分钟后自动进入休眠模式,以降低电源消耗。
本系统设计采用功能模块化的设计思想,系统主要分为总体方案设计、硬件和软件的设计三大部分。
根据任务书上的要求进行综合分析,总设计方案分为以下几个步骤:
硬件系统电路的设计; 软件系统主程序及其相关子程序的编写;系统电路及软件的调试;结论。
4 3一氧化碳检测仪硬件设计 硬件结构设计 硬件设计部分主要包括:
单片机、A/D转换器、时钟芯片、LCD、外围扩展数据RAM等芯片的选择;硬件主电路设计、数据采集、模数转换电路设计、液晶显示电路设计、外围扩充存储器接口电路、时钟电路、复位电路、键盘接口电路等功能模块电路设计。
硬件结构框图3-1。
图3-1硬件结构框图 硬件选择和设计AT89C52单片机的选择 本系统采用AT89C52单片机。
而目前世界上较为著名的8位单片机的生产厂家和主要机型如下:
美国Intel公司:
MCS—51系列及其增强型系列;美国Motorola公司:
6801系列和6805系列;美国Atmel公司:
89C51等单片机;美国Zilog公司:
Z8系列及SUPER8;美国Fairchild公司:
F8系列和3870系列;美国Rockwell公司:
6500/1系列; 美国TI公司:
TMS7000系列;NS公司:
NS8070系列等等。
尽管单片机的品种很多,但是在我国使用最多的还是Intel公司的MCS—52 5 系列单片机和美国Atmel公司的89C52单片机。
MCS—51系列单片机包括三个基本型8031、8051、8751。
本系统采用AT89C52单片机为控制核心。
而相比之下52型功能更为强大,ROM和RAM存储空间更大,52还兼容51指令系统。
基于本系统设计内容的需要,综合考虑后,我们选择单片机ATME公司的AT89C52为控制核心;主要基于考虑AT89C52是一个低电压,高性能CMOS8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器、6个中断源;时钟频率0~24MHz;器件采用高密度、非易失性存储技术生产,并兼容标准MCS-51指令系统,功能强大。
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256Kbytes的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制应用场合。
图3-2引脚图 主要性能参数:
与MCS-51产品指令和引脚完全兼容;8K字节可重擦写FLASH闪存存储器;1000次写/擦循环;时钟频率:
0Hz~24MHz; 6 三级加密存储器;256字节内部RAM;32个可编程I/O口线;3个16位定时/计数器;6个中断源; 可编程串行UART通道。
单片机最小系统的设计 采用AT89C52来设计一个单片机系统能运行起来的需求最小的系统,电路图见图3-3:
图3-3单片机最小系统图 上图的最小单片机系统包含有晶振电路和复位电路,AT89C52芯片组成。
晶振电路 晶振电路在各种指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,AT89C52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。
本系统中采用了内部时钟方式,为了尽量降低功耗的原则。
电路图见图3-4。
7 图3-4晶振电路图 在89C52单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,晶振CRY选择的是12MHz。
复位电路①复位的意义 复位电路在单片机工作中仍然是不可缺少的主要部件中,单片机工作时必须处于一种确定的状态。
端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据。
②复位电路原理 图3-5上电复位电路图 本设计中复位电路采用的是上电复位与手动复位电路,开关未按下是上电复位电路,上电复位电路在上电的瞬间,于电容上的电压不能突变,电容处于充电状态,故RST脚的电压与VCC相同。
随着电容的充电,RST脚上的电压才慢慢下降。
选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使AT89C52内部复位。
开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。
电路
8 图见图3-6:
图3-6复位电路图 数据采集系统的选择与设计 一氧化碳传感器的选择:
一氧化碳传感器选用CO/CF-1000探头组成,如下表3-1。
表3-1传感器参数 名称测量范围输出分辨率响应时间(T90)湿度范围最大零点漂移(20℃to40℃)长期漂移推荐负载值线性度输出一氧化碳传感器CO/CF-10000-1000ppm100±20nA/ppmppm﹤50seconds15-90%RH10ppm﹤2%/每月10Ω线性从传感器过来的电压信号,必须采集,滤波,放大,转换才能被MCU识别和处理。
于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。
然而选择多路模拟开关时必须考虑以 9 下的几个因素:
通道数量、切换速度、开关电阻和器件的封装形式。
总之数据采集与硬件的选择有很大的关系。
测量电路 测量电路CO/CF-1000一氧化碳传感器、ADC0832组成。
当空气被内部的采样系统接收后,产生一个与一氧化碳浓度成正比的电压信号,该电压信号经ADC0832与AT89C52单片机相连,在显示器上显示出一氧化碳的浓度值,当超过国家规定的标准时报警。
模数转换器的选择与简介 于ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在0~5V之间、工作频率为250KHZ、转换时间为32微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。
电路图见图3-7如下:
图3-7模数转换电路图 ADC0832具有以下特点:
①8位分辨率;②双通道A/D转换; ③输入输出电平与TTL/CMOS相兼容;④5V电源供电时输入电压在0~5V之间; 10 ⑤工作频率为250KHZ,转换时间为32μS;⑥一般功耗仅为15mW; ⑦8P、14P—DIP、PICC多种封装; ⑧商用级芯片温宽为0℃到+70℃,工业级芯片温宽为?
40℃到+85℃;芯片接口说明:
①CS_片选使能,低电平芯片使能;②CH0模拟输入通道0,或作为IN+/-使用;③CH1模拟输入通道1,或作为IN+/-使用;④GND芯片参考0电位;⑤DI数据信号输入,选择通道控制;⑥DO数据信号输出,转换数据输出;⑦CLK芯片时钟输入; ⑧Vcc/REF电源输入及参考电压输入。
单片机对ADC0832的控制原理:
正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。
但于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。
当ADC0832未工作时其CS输入端应为高电平,CLK和DO/DI的电平可任意。
当要进行A/D转换时,先将CS使能端置于低电平并且保持低电平直到转换完全结束。
同时处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
测量量程 于ADC0832模数转换器的位数为8位,所以ADC0832模数转换器的精度为:
10ppm/256=。
按键选择与简介 本系统选择独立式按键。
键盘分为:
独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。
本系统具有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果。
于本系统只有UP、DOWN、OK、CANCEL4个控制命令,所需按键较少,所以 11 本系统选择独立式按键。
电路图见图3-8。
图3-8按键电路图 独立式按键是直接用I/O口线构成的单个按键电路。
每个独立式按键占有一根I/O口线。
各根I/O口线之间不会相互影响。
在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,所以就不需要再外接上拉电阻。
键盘抖动的消除:
抖动的消除大致可以分为硬件削抖和软件削抖。
硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。
外围扩充存储器的选择 于考虑AT89C52单片机具有8KB的程序存储器,256B的数据存储器,于考虑到本系统的数据处理与存储所需的容量,现在需要扩充存储器的容量。
在应用中要保存一些参数和状态,本系统选用AT24C128存储器。
电路图见图3-9。
图3-9外围扩充存储电路图 12 上拉电阻的选择 在主电路图中接在P0口处有一个排阻RP1,于P0口没有内接上拉电阻,为了为P0口外接线路有确定的高电平,所以要接上排阻RP1,以确保有P0口有稳定的电平。
电路连接图见图3-11。
图3-11上拉电阻电路图 液晶显示器选择 我们选用了AMPIRE128X64液晶显示模块,是于本系统要有显示装置完成显示功能,显示器最好能够显示数据、图形,考虑到同种LCD显示器的屏幕越大体积越大,功耗越大的特点,该型号显示器消耗电量比较低,可以满足系统要求。
该类液晶显示模块采用动态的液晶驱动,可用5V供电。
AMPIRE128X64液晶共有22个引脚。
如表3-3所示。
表3-3引脚说明表
13 AMPIRE128X64液晶显示模块与计算机的接口电路有两种方式。
分为直接访问方式和间接控制方式。
直接访问方式是把液晶模块作为存储器或I/O设备直接接在单片机的总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。
间接控制方式则不使用单片机的数据系统,而是利用它的I/O口来实与显示模块的联系。
即将液晶显示模块的数据线与单片机的Pl口连接作为数据总线,另外三根时序控制信号线通常利用单片机的P3口中未被使用的I/O口来控制。
这种访问方式不占用存储器空间,它的接口电路与时序无关,其时序完全靠软件编 管脚名称/CSA/CSBVSSVDDV0R/SR/WEDB0-DB7CS1CS2/RESVEELED+LED-管脚定义片选1片选2数字地逻辑电源+5V对比度调节指令数据通道读写选择使能选择数据线片选1片选2复位信号液晶驱动电源LED背光正电源LED接地端程实现。
本系统采用间接控制方式。
液晶显示电路连接原理图见图下:
14 LCD按其显示方式通常可以分为断式、点字符式、点阵式等。
还有黑白、多灰度、彩色显示等。
①字符显示:
字符显示比较复杂,一个字符16x8点阵组成,即要找到和显示屏是某几个位置对应的RAM区的字节,再使不同的位置为“1”其他的为“0”;为“1”的点亮,为“0”的不亮,这样就显示出一个字符。
②汉字显示:
汉字显示和字符显示的原理差不多,就是一个汉字一般采用图形方式,事先从微机中用字模软件提取要显示的汉字的点阵码,每个汉字占32B,分为两部分,各16B。
根据在LCD上开始显示的行列号及每行的列数就可以找出显示RAM的对应地址,送上汉字要显示的第一字节,以此类推,最后送完32B,这样汉字就显示出来了。
系统的液晶显示字体和字母的显示就是按照上述的原理显示的,点阵码是用字模软件在相同的设置区域找出的。
然后把提取的点阵码放入编写的LCD软件程序里。
阵码获取过程简介:
首先,打开软件,然后新建文件,因为汉字占32B所以设置其为高度和宽度16x16。
取模方式选择C51格式在文字输入区输入汉字, 15 在点阵区生成点阵码,例如在文字输入区输入“欢”字,其点阵码生成如下:
图3-13点阵生成截图 报警电路的选择 图3-14单频音报警电路图 图3-14报警电路接线图 在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,供操作人员参考,了解系统的工作状况。
但对于紧急状态,比如系统检测到的错误状态等,往往还需要有某种更能引人注意,及时采取措施,往往还需要有某种更能引人注意,提起警觉的报警信号。
这种报警信号通常有三种类型:
一是闪光报警,因为闪动的指示灯更能提醒人们注意;二是鸣音报警,发出特定的音响,作用于人的听觉器官,易于引起和加强警觉;三是语音报警,不仅能起到报警作用,还能直接给出警报种类的信息。
其中,前两种报警装置因硬件结构简单,软件编程方便,常常在单片机应用系统中使用;而语音报警虽然警报信息较直接,但硬件成本高,结构较复杂。
单频音报警实现单频音报警的接口电路比较简单,其发音元件通常可采用压电蜂鸣器,当在蜂鸣器两引脚上加3~15V直流工作电压,就能产生3kHZ左右的蜂鸣振荡音响。
压电式蜂鸣器,约需10mA的驱动电流,可在某端口接上一只三极管和电阻组成的驱动电路来驱动,如图3-14所示。
在图3-14中,接三极管基极输入端,当输出高电平“1”时,三极管导通,蜂鸣器的通电而发音,当输出低电平“0”时,三极管截止,蜂鸣器停止发音。
16 硬件设计主电路图,见附录一。
4软件设计 软件设计结构 软件设计部分主要包括:
主程.序/子程序流程的设计、功能模块程序的编写、软/硬件结合调试与演示。
主要包括以下功能模块:
51驱动、检测、液晶显示、时 17 钟、键盘、模数软换,软件结构框图4-1。
系统初始化、按键扫描显示选择菜单测量相关设置数据处理串行通信对软件进行处理 图4-1软件结构框图 主程序模块的设计 主程序实现的功能:
与硬件相结合实现便携式一氧化碳检测仪的各个功能。
主要是检测与显示,时间调整与显示,数据存储,功能子函数的调用,见图4-2。
18 开始初始化CPU初始化时钟初始化LED屏显示开机画面显示时间显示主菜单读键 图4-2主程序流程图 检测主程序程序见附录二。
模数转换的设计 模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给单片机。
ADC0832转换的流程图见下图4-3。
19 开始使能芯片产生时钟信号输入通道控制字读取2字节数据字节数据校正送入指定寄存器结束图4-3数转换流程图 ADC0832程序见附录三。
按键模块的设计 按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 一氧化碳 检测 控制系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)