毕业设计--基于单片机的甲醛检测仪论文.doc_第1页
毕业设计--基于单片机的甲醛检测仪论文.doc_第2页
毕业设计--基于单片机的甲醛检测仪论文.doc_第3页
毕业设计--基于单片机的甲醛检测仪论文.doc_第4页
毕业设计--基于单片机的甲醛检测仪论文.doc_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

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

文档简介

毕业设计(论文)-基于单片机的甲醛检测仪论文 目录第章 绪论111 引言1第章 概述321系统总概述322总体方案设计323硬件设计324软件设计425 硬件结构框图21426 软件结构框图224第3章 硬件设计531 硬件设计主电路图见附录91532 硬件选择5321 MCU的选择与简介5322 单片机最小系统的实现10323 数据采集系统13324 模数转换的选择与简介14325 按键选择与简介16326 外围扩充存储器17327 时钟芯片选择与简介18328 上拉电阻20329 液晶显示器简介203210 报警电路233211 硬件仿真环境介绍24第4章 软件设计2641编写语言的选择2642 编译软件介绍2743主程序模块3244模数转换3345按键模块3346时钟模块3447液晶显示模块34第5章 系统仿真35第6章 结束语37致 谢38参考文献39附录40附录一 硬件设计主电路图40附录二 检测主程序程序41附录三 ADC0832程序46附录四 按键程序50附录五 时钟程序51附录六 液晶程序56附录七 主程序嵌套子程序60第章 绪论11 引言111甲醛的特性及危害甲醛是一种无色有强烈刺激性气味的气体易溶于水醇和醚甲醛在常温下是气态通常以水溶液形式出现其37的水溶液称为福尔马林医学和科研部门常用于标本的防腐保存此溶液沸点为195故在室温时极易挥发随着温度的上升甲醛的挥发速度加快在我国有毒化学品优先控制名单中甲醛列居第二位甲醛已被世界卫生组织确定为致癌和致畸形物质甲醛是原浆毒物能与蛋白质结合吸入高浓度甲醛后会出现呼吸道的严重刺激和水肿眼刺痛头痛也可发生支气管哮喘皮肤直接接触甲醛可引起皮炎色斑坏死经常吸入少量甲醛能引起慢性中毒出现粘膜充血皮肤刺激症过敏性皮炎指甲角化和脆弱等全身症状有头痛乏力心悸失眠体重减轻以及植物神经紊乱等112甲醛的来源1室内装修所用的合成板材如胶合板细木工板高密度板刨花板这些板材中甲醛起胶合剂防腐剂的作用主要用于加强板材的硬度防虫防腐板材中残留的和未参与反应的甲醛逐渐向周围环境释放是室内空气中甲醛的主要来源2用合成板材制造的家具厂家为了追求利润使用不合格的板材再粘贴面材料时使用不合格的胶水造成家具中甲醛含量超标3含有甲醛成分并有可能向外界散发的各类装饰材料如壁纸地毯油漆12甲醛检测仪的种类目前市场上甲醛检测仪的种类是多种多样其中较常见的是采用试验纸光电光度法即当甲醛气体吹到浸有发色剂的试纸上时与浸有发色剂的TAB组合就会因发生化学反应而变色甲醛同试纸接触后含在纸里的试药就会同甲醛反应生成化合物颜色就会从白色变成黄色变色的程度可反映出所受光的反射光量反射光量的强度变化率可以作为被测气体的甲醛含量的应答值预先设定检测线便可通过测量其反应率来测出甲醛气体的浓度值在气体的采集方面有的是采用自动吸引式内藏微型气泵有的采用扩散式对于试验纸光电光度法来分析甲醛的浓度它的优点是灵敏度高操作简便测定速度快而该方法在分析甲醛浓度时往往采用的是目视比色法它的缺点是1由于许多有色溶液不够稳定不能久存经常需要在测定的同时配制溶液比较费时费事2目视比色的准确度低一般相对误差为520本论文设计的便携式甲醛检测仪所涉及的甲醛传感器是电化学传感器它可以将甲醛气体的浓度转换为微弱的电流信号这样就可以通过电流电压变换电路将微弱的电流信号转换为可以测量的稳定的电压信号增强了电信号的稳定性第章 概述21系统总概述本论文主要完成甲醛检测仪本系统采用单片机为控制核心实现基本控制功能5分钟后自动进入休眠模式以降低电源消耗本系统设计采用功能模块化的设计思想系统主要分为总体方案设计硬件和软件的设计三大部分22总体方案设计室内甲醛污染对人身体健康影响较大标准规定的方法绝大多数是化学分析法使用的手段是实验室分析仪器 主要有比色计 分光光度计化学滴定 气相和液相色谱但这些方法费力费时成本高自动化程度低过程复杂大多数过程是人工操作很难做到现场实时控制随着传感器和计算机技术的不断发展现已有了基于单片机的便携式甲醛测试仪并且测试测试范围分辨率精度稳定性已接近标准要求因此本设计可选用基于电化学原理的甲醛传感器其原理是空气中的甲醛在电极下发生氧化反应产生的扩散电极电流与空气中的甲醛浓度成正比通过检测放大电路和放大倍数的调整经AD转换后送单片机 由单片机现场自动控制检测并显示甲醛浓度由于甲醛含量具有用价值的便携式甲醛的研制受到了人们的高度重视便携式甲醛检测仪硬件部分包括软件现代社会中尽管PC机的应用已经相当普遍但是在工控领域在日益追求小而精轻而薄的自动化控制器自动化仪器仪表家电产品等方面PC机仍有所不相适宜的地方而工业控制仪器仪表家电产品等市场广阔要求PC机技术与之相适应在这种情况下单片机应运而生了也称作微型计算机微型计算机的基本机构是由中央处理器储存器和IO设备构成的所谓的单片机是指将微型计算机3个单元的多个分体中的主要功能用1个集成电路芯片来实现该芯片具有一个微型计算机的基本功能这种超大规模集成电路芯片即称为单片微型计算机通常简称单片机单片机具有以下特点受集成度限制片内存储容量较小一般8位单片机的ROM小于816K字节RAM小于256字节但可在外部扩展通常ROMRAM可分别扩展至64K字节可靠性好芯片本身是按工业测控环境要求设计的其抗工业噪声干扰优于一般通用CPU程序指令及常数表格固化在ROM中不易破坏许多信号通道均在一个芯片内故可靠性高易扩展片内具有计算机正常运行所必需的部件芯片外部有许多供扩展用的三总线及并行串行输入输出管脚很容易构成各种规模的计算机应用系统控制功能强为了满足工业控制要求一般单片机的指令系统中具有极丰富的条件分支转移指令IO口的逻辑操作以及位处理功能一般说来单片机的逻辑控制功能及运行速度均高于同一档次的微处理器一般单片机内无监控程序或系统通用管理软件只放置有用户调试好的应用程序但近年来也开始出现了在片内固化有BASIC解释程序的单片机单片机的发展与趋势由于单片机具有以上特点因此在工业控制数据采集智能仪器仪表智能化设备和各种家用电器等领域得到广泛的应用随着微电子工艺水平的提高近十年来单片微型计算机有了飞速的发展归纳起来它是沿着两条路发展的1改进集成电路制造工艺提高芯片的工作速度降低工作电压和降低功耗2在保留共同的CPU体系结构最基本的外设装置如异步串行口定时器等和一套公用的指令系统的基础上根据不同的应用领域把不同的外设装置集成到芯片内在同一个家族内繁衍滋生出各种型号的单片机另外在单片机的应用中可靠性是首要因素为了扩大单片机的应用范围和领域提高单片机自身的可靠性是一种有效方法近年来单片机的生产厂家在单片机设计上采用了各种提高可靠性的新技术主要表现在一下几点EFT Electrical Fast Transient 技术低噪音布线技术及驱动技术采用低频时钟总之单片机在目前的发展形势下表现出几大趋势可靠性及应用水平越来越高和internet连接已是一种明显的走向所集成的部件越来越多功耗越来越低和模拟电路结合越来越多 本系统采用单片机为控制核心单片机MCU主要有51基本型和52增强型而相比之下52型比51型功能更为强大ROM和RAM存储空间更大52还兼容51指令系统基于本系统设计内容的需要综合考虑后我们选择单片机ATME公司的AT89C52为控制核心主要基于考虑AT89C52是一个低电压高性能CMOS 8位单片机片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器RAM时钟频率0-24MHz器件采用高密度非易失性存储技术生产兼容标准MCS-51指令系统功能强大AT89C52是美国ATMEL公司生产的低电压高性能CMOS 8位单片机片内含8K bytes的可反复擦写的只读程序存储器 PEROM 和256K bytes的随机存取数据存储器器件采用ATMEL公司的高密度非易失性存储技术生产与标准MCS-51指令系统及8052产品引脚兼容片内置通用8位中央处理器和FLASH存储单元功能强大AT89C52单片机适合于许多较为复杂控制应用场合主要性能参数与MCS-51产品指令和引脚完全兼容8K字节可重擦写FLASH闪存存储器1000次写擦循环时钟频率0Hz24MHz三级加密存储器256字节内部RAM32个可编程IO口线3个16位定时计数器6个中断源可编程串行UART通道低功耗的空闲和掉电模式片内振荡器和时钟电路AT89C52有40个引脚32个外部双向输入输出IO端口同时内含2个外中断口3个16位可编程定时计数器2个全双工串行通信口2个读写口线片内振荡器及时钟电路AT89C52可以按照常规方法进行编程也可以在线编程同时AT89C52可降至0Hz的静态逻辑操作并支持两种软件可选的节电工作模式空闲方式停止CPU的工作但允许RAM定时计数器串行通信口及中断系统继续工作掉电方式保存RAM中的内容但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位其将通用的微处理器和Flash存储器结合在一起特别是可反复擦写的Flash存储器可有效地降低开发本AT89C52有PDIPPQFPTQFP及PLCC等三种封装形式以适应不同产品的需求AT89C52引脚功能Vcc电源电压 GND地 P0口P0口是一组8位漏极开路型双向IO口也即地址数据总线复用口作为输出口用时每位能吸收电流的方式驱动8个TTL逻辑门电路对端口P0写1时可作为高阻抗输入端用 在访问外部数据存储器或程序存储器时这组口线分时转换地址低8位和数据总线复用在访问器件激活内部上拉电阻 在Flash编程时P0口接收指令字节而在程序校验时输出指令字节校验时要求外接上拉电阻 P1口P1是一个带内部上拉电阻的8位双向IO口P1的输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路对端口写1通过内部的上拉电阻把端口拉到高电平此时可作输入口作输入口使用时因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL 与AT89C51不同之处是P10和P11还可分别作为定时计数器2的外部计数输入P10T2和输入 P11T2EX 参见表2-1Flash编程和程序校验期间P1接收低8位地址表-1为 P10和P11的第二功能表-1 P10和P11的第二功能P2口P2是一个带有内部上拉电阻的8位双向IO口P2的输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路对端口P2写1通过内部的上拉电阻把端口拉到高电平同时可作输入口作输入口使用时因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL 在访问外部程序存储器或16位地址的外部数据存储器例如执行MOVDPTR指令时P2口送出高8位地址数据在访问8位地址的外部数据存储器如执行MOVRI指令时P2口输出P2锁存器的内容 Flash编程或校验时P2亦接收高位地址和一些控制信号 P3口P3口时一组带有内部上拉电阻的8位双向IO口P3口输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路对P3口写入1时它们被内部上拉电阻拉高并可作为输入端口此时被外部拉低的P3口将用上拉电阻输出电流IILP3口作为一般的IO口线外更重要的用途是它的第二功能如表2-2所示此外P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号 RST复位输入当振荡器工作时RST引脚出现两个机器周期以上高电平将使单片机复位ALE当访问外部程序存储器或数据存储器时ALE 地址锁存允许 输出脉冲用于锁存地址的低8位字节一般情况下ALE仍以时钟振荡频率的16输出固定的脉冲信号因此它可对外输出时钟或用于定时目的要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲表-2 P3口第二功能端口引脚第二功能P30RXD串行输入口P31TXD串行输出口P32外中断0P33外中断1P34T0定时计数器0P35T1定时计数器1P36外部数据存储器写选通P37 外部数据存储器读选通 对Flash存储器编程器件改引脚还用于输入编程脉冲 如有必要可通过对特殊功能寄存器SFR区中的8EH单元的D0位复位可禁止ALE操作该位置复位后只有一条MOVX和MOVC指令才能将ALE激活此外该引脚会被微弱拉高单片机执行外部程序时应设置ALE禁止位无效 程序储存允许输出是外部程序存储器的读选通信号当AT89C52由外部程序存储器取指令或数据时每个机器周期两次有效即输出两个脉冲在次期间当访问外部数据存储器将跳过两次信号 VPP外部访问允许欲使CPU仅访问外部程序存储器地址为0000H-FFFH端必须保持低电平接地需要的是如果加密位LB1被编程复位时内部会锁存端状态 如端为高电平接Vcc端CPU则执行内部程序存储器中的指令 Flash存储器编程时该引脚加上12V的编程允许电源Vpp当然这必须是该器件是使用12V编程电压Vpp XTAL1振荡器反相放大器及内部时钟发生器的输入端XTAL2振荡器反相放大器的输出端介绍完以上的单片机系统的核心芯片之后我们采用AT89C52来实现一个单片机系统能运行起来的需求最小的系统电路图上图由晶振电路和复位电路AT89C52芯片组成构成最小的单片机系统 下面详细介绍其中的两个电路图33 晶振电路图 在89C52单片机的内部有一个震荡电路只要在单片机的XTAL1和XTAL2引脚外接石英晶体简称晶振就构成了自激振荡器并在单片机内部产生时钟脉冲信号图中电容器C1和C2稳定频率和快速起振电容值在530pF典型值是22pF晶振CYS选择的是12MHz2复位电路复位的意义单片机开始工作的时候必须处于一种确定的状态否则不知哪是第一条程序和如何开始运行程序端口线电平和输入输出状态不确定可能使外围设备误动作导致严重事故的发生内部一些控制寄存器专用寄存器内容不确定可能导致定时器溢出程序尚未开始就要中断及串口乱传向外设发送数据因此任何单片机在开始工作前都必须进行一次复位过程使单片机处于一种确定的状态复位电路原理当在89C52单片机的RST引脚引入高电平并保持2个机器周期时单片机内部就执行复位操作若该引脚持续保持高电平单片机就处于循环复位状态实际应用中复位操作有两种基本形式一种是上电复位另一种是上电与按键均有效的复位上电复位见图34要求接通电源后单片机自动实现复位操作常用的上电复位电路如下图所示上电瞬间RST引脚获得高电平随着电容C1的充电RST引脚的高电平将逐渐下降 图34 上电复位电路图RST引脚的高电平只要能保持足够的时间2个机器周期单片机就可以进行复位操作该电路典型的电阻和电容参数为晶振为12MHz时C1为22uFR1为82 振为6MHz时C1为22uFR1为1本设计中复位电路采用的是开关复位电路开关S9未按下是上电复位电路上电复位电路在上电的瞬间由于电容上的电压不能突变电容处于充电导通状态故RST脚的电压与VCC相同随着电容的充电RST脚上的电压才慢慢下降选择合理的充电常数就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使AT89C52内部复位开关按下时是按键手动复位电路RST端通过电阻与VCC电源接通通过电阻的分压就可以实现单片机的复位电路图见图35 图35 复位电路图 323 数据采集系统 1 从传感器过来的电压信号必须放大滤波采集转换才能被MCU识别和处理由于假若每一路都设置放大滤波等器件那么成本会很大所以信号的采集一般用多路模拟通路进行选择然而选择多路模拟开关时必须考虑以下的几个因素通道数量切换速度开关电阻和器件的封装形式总之数据采集与硬件的选择有很大的关系2甲醛传感器甲醛模块CH2O传感器详细介绍 甲醛传感器由甲醛探头和CH20传感器组成当空气被内部的采样系统吸收后产生一个与甲醛浓度成正比的电压信号 该电压信号经AD0832与AT89C52单片机相连在显示器上显示出甲醛的浓度值当超过国家规定的标准时报警 表3-3 传感器参数表名称甲醛传感器CH2OS-10测量范围0- 10 ppm最大负荷50ppm工作寿命空气中3年输 出1200300nAppm4-20mA 甲醛模块分辨率005 ppm温度范围-20 to 45压力范围大气压10响应时间 T 90 50 seconds湿度范围-20 to 45零点输出 纯净空体20 01 ppm最大零点漂移 20to 40 01 ppm长期漂移2 每月推荐负载值10线性度输出线性重 量约32克实现AD转换的基本方法很多有计数法逐次逼近法双斜积分法和并行转换法由于逐次逼近式AD转换具有速度分辨率高等优点而且采用这种方法的ADC芯片成本低所以我们采用逐次逼近式AD转换器逐次逼近型ADC包括1个比较器一个模数转换器1个逐次逼近寄存器SAR和1个逻辑控制单元逐次逼近型是将采样信号和已知电压不断进行比较一个时钟周期完成1位转换依次类推转换完成后输出二进制数这类型ADC的分辨率和采样速率是相互牵制的优点是分辨率低于12位时价格较低采样速率也很好由于ADC0832模数转换器具有8位分辨率双通道AD转换输入输出电平与TTLCMOS相兼容5V电源供电时输入电压在05V之间工作频率为250KHZ 转换时间为32 微秒一般功耗仅为15MW等优点适合本系统的应用所以我们采用ADC0832为模数转换器件电路图见图36如下 ADC0832 具有以下特点 8位分辨率 双通道AD转换 输入输出电平与TTLCMOS相兼容 5V电源供电时输入电压在05V之间 工作频率为250KHZ转换时间为32S 一般功耗仅为15mW 8P14PDIP双列直插PICC 多种封装 商用级芯片温宽为0C to 70C工业级芯片温宽为40C to 85C芯片接口说明 CS_ 片选使能低电平芯片使能 CH0 模拟输入通道0或作为IN-使用 CH1 模拟输入通道1或作为IN-使用 GND 芯片参考0 电位地 DI 数据信号输入选择通道控制 DO 数据信号输出转换数据输出 CLK 芯片时钟输入 VccREF 电源输入及参考电压输入复用ADC0832 为8位分辨率AD转换芯片其最高分辨可达256级可以适应一般的模拟量转换要求其内部电源输入与参考电压的复用使得芯片的模拟电压输入在05V之间芯片转换时间仅为32S据有双数据输出可作为数据校验以减少数据误差转换速度快且稳定性能强独立的芯片使能输入使多器件挂接和处理器控制变的更加方便通过DI 数据输入端可以轻易的实现通道功能的选择单片机对ADC0832 的控制原理正常情况下ADC0832 与单片机的接口应为4条数据线分别是CSCLKDODI但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的所以电路设计时可以将DO和DI 并联在一根数据线上使用当ADC0832未工作时其CS输入端应为高电平此时芯片禁用CLK 和DODI 的电平可任意当要进行AD转换时须先将CS使能端置于低电平并且保持低电平直到转换完全结束此时芯片开始转换工作同时由处理器向芯片时钟输入端CLK 输入时钟脉冲DODI端则使用DI端输入通道功能选择的数据信号在第1 个时钟脉冲的下沉之前DI端必须是高电平表示启始信号在第23个脉冲下沉之前DI端应输入2 位数据用于选择通道功能本系统应用有人机对话功能该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果键盘分为独立式和矩阵式两类每一类按其编码方法又可以分为编码和非编码两种由于本系统只有UPDOWN OK CANCEL 4个控制命令所需按键较少所以本系统选择独立式按键电路图见图37 图37 按键电路图独立式按键是直接用IO口线构成的单个按键电路每个独立式按键占有一根IO口线各根IO口线之间不会相互影响在此电路中按键输入部采用低电平有效上拉电阻保证了按键断开时IO口线有确定的高电平AT89C52 P1口内部接有上拉电阻所以就不需要再外接上拉电阻键盘抖动的消除抖动的消除大致可以分为硬件削抖和软件削抖硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖经过削抖电路后使按键的电平信号只有两种稳定状态软件削抖的基本原理是当检测出键盘闭合时先执行一个延时子程序产生数毫秒的延时待接通时的前沿抖动消失后再判别是否有健按下当按键释放时也要经过数毫秒延时待后沿抖动消失后再判别键是否释放由于应用硬件削抖还需要外加器件成本相对较高所以本系统选择软件延时削抖的方法 326 外围扩充存储器基于AT89C52单片机具有8KB的程序存储器ROM256B的数据存储器RAM由于考虑到本系统的数据处理与存储所需的容量现在需要扩充存储器的容量在应用中要保存一些参数和状态据了解基于EEPROM的存储芯片是一种很好的选择我们选定了AT24C128存储器电路图见图38 图38 外围扩充存储电路图 327 时钟芯片选择与简介因为此系统需要记录测量发生的时间所以需要时钟芯片来记录不同人在不同时间的监测数据因此我们在系统中加入了时钟芯片对时钟芯片的要求首先是低功耗其次是编程简单缩短程序开发时间实际上也就缩短了系统用于实际生产所用的开发周期以及成本在本系统我们选择了DS1302时钟芯片我们时钟电路选择的芯片是 DS1302其内含一个实时时钟日历和31字节静态RAM可以通过串行接口与单片机通信而通信时仅需要3个口线1RES复位2IO数据线3SCLK串行时钟时钟RAM的读写数据以一字节或多达31字节的字符组方式通信其工作时功耗很低广泛应用于电话传真便携式仪器等产品领域 DS1302主要性能有时实时钟能计算2100年之前的秒分时日日期星期月年的能力还有闰年的调整能力读写时钟或RAM数据时有单字节和多字节传送两种方式与DS1202TTL兼容 DS1302引脚概述X1X2振荡源外接32768KHZ晶振SCLK串行时钟输入端 日历时钟寄存器与控制字对照表日历时钟寄存器命令字取值范围以及各位内容对照表见表3-4 表3-4 时钟控制字对照表寄存器名命令字取值范围各位内容写操作读操作765430秒寄存器80H81H0059CH10SECSEC分寄存器82H83H0059010MINMIN时寄存器84H85H0112 00231224010APHRHR日寄存器86H87H01282930310010DATEDATE月寄存器88H89H011200010MMONTH周寄存器8AH8BH01070000DAY年寄存器8CH8DH019910YEARYEAR写保护寄存器8EH8FHWP0000慢充电寄存器90H91HTCSTCSTCSTCSDSDSRSRS时钟突发寄存器BEHBFHDS1302数据输入输出时序数据输入是在输入写命令字的8个SCLK周期之后在接下来的8个SCLK周期中的每个脉冲的上升沿输入数据数据从0位开始如果有额外的SCLK周期它们将被忽略数据输出是在输出命令字的8个SCLK周期之后在接下来的8个SCLK周期中的每个脉冲的下降沿输出数据数据从0位开始需要注意的是第一个数据位在命令字节的最后一位之后的第一个下降沿被输出只要RST保持高电平如果有额外的SCLK周期将重新发送数据字节即多字节传送其电路图见图39 图39 时钟电路图 328 上拉电阻在主电路图中接在P0口处有一个排阻RP1 由于P0口没有内接上拉电阻为了为P0口外接线路有确定的高电平所以要接上排阻RP1以确保有P0口有稳定的电平电路连接图见图310 图311 上拉电阻电路图 329 液晶显示器简介对于本系统要有显示装置完成显示功能显示器最好能够显示数据图形考虑到同种LCD显示器的屏幕越大体积越大功耗越大的特点在同类产品中选用了AMPIRE128X64液晶显示模块该型号显示器消耗电量比较低可以满足系统要求该类液晶显示模块采用动态的液晶驱动可用5V供电1AMPIRE128X64液晶模块引脚说明AMPIRE128X64液晶共有22个引脚其引脚说明如表3-5所示 表3-5 液晶引脚说明图管脚名称管 脚 定 义CSA片选1CSB片选2VSS数字地VDD逻辑电源5VV0对比度调节RS指令数据通道RW读写选择E使能选择DB0-DB7数据线CS1片选1CS2片选2RES复位信号VEE液晶驱动电源LEDLED背光正电源LED-LED接地端 表3-5AMPIRE128X64液晶显示模块与计算机的接口电路有两种方式它与单片机的接口方法分为直接访问方式和间接控制方式直接访问方式是把液晶模块作为存储器或IO设备直接接在单片机的总线上单片机以访问存储器或IO设备的方式操作液晶显示模块的工作间接控制方式则不使用单片机的数据系统而是利用它的I0口来实现与显示模块的联系即将液晶显示模块的数据线与单片机的Pl口连接作为数据总线另外三根时序控制信号线通常利用单片机的P3口中未被使用的IO口来控制这种访问方式不占用存储器空间它的接口电路与时序无关其时序完全靠软件编程实现本系统采用间接控制方式液晶显示工作原理介绍以下为液晶显示电路接线原理图见图312 图312 液晶电路图2在单片机系统中应用液晶显示器作为输出器件有以下几个有点显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度恒定发光而不像阴极射线管显示器CRT那样需要不断刷新新亮点因此液晶显示器画质高且不会闪烁数字式接口液晶显示器都是数字式的和单片机系统的接口更加简单可靠操作更加方便体积小重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的在重量上比相同显示面积的传统显示器要轻的多功耗低相对而言液晶显示器的功耗主要消耗在其内部的电极和驱动IC上因而耗电量比其他显示器要少的多3 LCD按其显示方式通常可以分为断式点字符式点阵式等还有黑白多灰度彩色显示等液晶显示原理是利用液晶的物理特性通过电压对其显示区域进行控制有电就显示黑色这样就可以显示出图形针对于本系统要显示汉字字母数字等以及其在一个界面同时要显示的字数本系统要以图形的形式显示各运行结果我们最终选择AMPIRE128x64型号的LCD 字符显示字符显示比较复杂一个字符由16x8点阵组成即要找到和显示屏是某几个位置对应的RAM区的字节再使不同的位置为1其他的为0为1的点亮为0的不亮这样就显示出一个字符4汉字显示汉字显示和字符显示的原理差不多就是一个汉字一般采用图形方式事先从微机中用字模软件提取要显示的汉字的点阵码每个汉字占32B为为两部分各16B根据在LCD上开始显示的行列号及每行的列数就可以找出显示RAM的对应地址送上汉字要显示的第一字节以此类推最后送完32B这样汉字就显示出来了系统的液晶显示字体和字母的显示就是按照上述的原理显示的点阵码是用字模软件在相同的设置区域找出的然后把提取的点阵码放入编写的LCD软件程序里5阵码获取过程简介首先打开 软件然后 因为汉字占32B所以设置其为 高度和宽度16x16取模方式选择 在文字输入区输入汉字在点阵区生成点阵码例如在文字输入区输入欢字其点阵码生成如下 3210 报警电路 在单片机应用系统中一般的工作状态可以通过指示灯或数码显示来指示供操作人员参考了解系统的工作状况但对于某些紧急状态比如系统检测到的错误状态等为了使操作人员不至于忽视及时采取措施往往还需要有某种更能引人注意提起警觉的报警信号这种报警信号通常有三种类型一是闪光报警因为闪动的指示灯更能提醒人们注意二是鸣音报警发出特定的音响作用于人的听觉器官易于引起和加强警觉三是语音报警不仅能起到报警作用还能直接给出警报种类的信息其中前两种报警装置因硬件结构简单软件编程方便常常在单片机应用系统中使用而语音报警虽然警报信息较直接但硬件成本高结构较复杂软件量也增加单频音报警 实现单频音报警的接口电路比较简单其发音元件通常可采用压电蜂鸣器当在蜂鸣器两引脚上加315V直流工作电压就能产生3kHZ左右的蜂鸣振荡音响压电式蜂鸣器结构简单耗电少更适于在单片机系统中应用压电式蜂鸣器约需10mA的驱动电流可在某端口接上一只三极管和电阻组成的驱动电路来驱动如图所示在图2中P10接三极管基极输入端当P10输出高电平1时三极管导通蜂鸣器的通电而发音当P10输出低电平0时三极管截止蜂鸣器停止发音 图313 单频音报警电路图 基于本系统的需求和功耗要求只需要基本的报警功能即可我选择采用的是三极管驱动的单音频报警电路以下为报警电路接线图见图314 图 314 报警电路图3211 硬件仿真环境介绍Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件它运行于Windows操作系统上可以仿真分析 SPICE 各种模拟器件和集成电路该软件的特点是实现了单片机仿真和SPICE电路仿真相结合具有模拟电路仿真数字电路仿真单片机及其外围电路组成的系统的仿真RS232动态仿真I2C调试器SPI调试器键盘和LCD系统仿真的功能有各种虚拟仪器如示波器逻辑分析仪信号发生器等支持主流单片机系统的仿真目前支持的单片机类型有68000系列8051系列AVR系列PIC12系列PIC16系列PIC18系列Z80系列HC11系列以及各种外围芯片提供软件调试功能在硬件仿真系统中具有全速单步设置断点等调试功能同时可以观察各个变量寄存器等的当前状态因此在该软件仿真系统中也必须具有这些功能同时支持第三方的软件编译和调试环境如Keil C51 uVision2等软件具有强大的原理图绘制功能总之该软件是一款集单片机和SPICE分析于一身的仿真软件功能极其强大本章介绍Proteus ISIS软件的工作环境和一些基本操作 图315 ISIS 6 Professional图标进入Proteus ISIS双击桌面上的ISIS 6 Professional图标见图315或者单击屏幕左下方的开始程序Proteus 6 Professional ISIS 6 Professional出现如图315所示屏幕表明进入Proteus ISIS集成环境工作界面Proteus ISIS的工作界面是一种标准的Windows界面如图316所示包括标题栏主菜单标准工具栏绘图工具栏状态栏对象选择按钮预览对象方位控制按钮仿真进程控制按钮预览窗口对象选择器窗口图形编辑窗口 图316 工作界面本章小结这一章比较具体的说明了系统硬件设计的内容通过模块化的设计思想把一个复杂的单片机系统按照功能划分成一个个单独的电路模型分别进行设计最后在集成到一起这种方法对于设计复杂的单片机系统很有效大大提高系统设计的效率与质量说明系统硬件设计的电路原理图附在论文的附录里面由于我主要负责的是硬件设计所以只是简单的介绍硬件方面的内容下面是软件设计第4章 软件设计41编写语言的选择对于单片机的开发应用中逐渐引入了高级语言C语言就是其中的一种汇编语言的可控性较高级语言来说更具优越性程序编写语言比较常见的有C语言汇编语言汇编语言的机器代码生成效率高控制性好但就是移植性不高C语言编写的程序比用汇编编写的程序更符合人们的思考习惯还有很多处理器都支持C编译器这样意味着处理器也能很快上手且具有良好的模块化容易阅读维护等优点且编写的模块程序易于移植基于C语言和汇编语言的优缺点本系统采用C语言编写方法软件编写的主体思路是将系统按功能模块化划分然后根据模块要实现的功能写各个子程序整个软件程序的编写采用查询式方式编写的42 编译软件介绍Keil软件简介单片机开发中除必要的硬件外同样离不开软件我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法一种是手工汇编另一种是机器汇编目前已极少使用手工汇编的方法了机器汇编是通过汇编软件将源程序变为机器码用于MCS-51单片机的汇编软件有早期的A51随着单片机开发技术的不断发展从普遍使用汇编语言到逐渐使用高级语言开发单片机的开发软件也在不断发展Keil软件是目前最流行开发MCS-51系列单片机的软件这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出Keil提供了包括C编译器宏汇编连接器库管理和一个功能强大的仿真调试器等在内的完整开发方案通过一个集成开发环境uVision将这些部份组合在一起运行Keil软件需要Pentium或以上的CPU16MB或更多RAM20M以上空闲的硬盘空间WIN98NTWIN2000WINXP等操作系统1 系统概述Keil C51Keil Software公司出品的51系列兼容单片机C语言软件开发系统与汇编相比C语言在功能上结构性可读性可维护性上有明显的优势因而易学易用用过汇编语言后再使用C来开发体会更加深刻 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具全Windows界面另外重要的一点只要看一下编译后生成的汇编代码就能体会到Keil C51生成的目标代码效率非常之高多数语句生成的汇编代码很紧凑容易理解在开发大型软件时更能体现高级语言的优势2Keil C51单片机软件开发系统的整体结构C51工具包的整体结构如图41所示其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境 IDE 可以完成编辑编译连接调试仿真等整个开发流程开发人员可用IDE本身或其它编辑器编辑C或汇编源文件然后分别由C51及A51编译器编译生成目标文件 OBJ 目标文件可由LIB51创建生成库文件也可以与库文件一起经L51连接定位生成绝对目标文件 ABS ABS文件由OH51转换成标准的Hex文件以供调试器dScope51或tScope51使用进行源代码级调试也可由仿真器使用直接对目标板进行调试也可以直接写入程序存贮器如EPROM中C51工具包的整体结构图3 运行KEIL51软件 图 424建立项目1点击Project菜单选择弹出的下拉式菜单中的New Project如图接着弹出一个标准Windows文件对话窗口在文件名中输入您的第一个C程序项目名称保存后的文件扩展名为uv2这是KEIL uVision2项目文件扩展名以后我们可以直接点击此文件以打开先前做的项目2选择所要的单片机这里我们选择常用的Ateml公司的AT89C51完成上面步骤后我们就可以进行程序的编写了3首先我们要在项目中创建新的程序文件或加入旧程序文件如果你没有现成的程序那么就要新建一个程序文件4点击保存新建的程序也可以用菜单FileSave或快捷键CtrlS进行保存我们把第一个程序命名为test1c保存在项目所在的目录中这时你会发现程序单词有了不同的颜色说明KEIL的C语法检查生效了如图鼠标在屏幕左边的Source Group1文件夹图标上右击弹出菜单在这里可以做在项目中增加减少文件等操作我们quotAdd File to Group Source Group 1弹出文件窗口选择刚刚保存的文件按ADD按钮关闭文件窗程序文件已加到项目中了这时在Source Group1文件夹图标左边出现了一个小号说明文件组中有了文件点击它可以展开查看C程序文件已被我们加到了项目中了下面就剩下编译运行了图图中123都是编译按钮不同是1是用于编译单个文件2是编译当前项目如果先前编译过一次之后文件没有做动编辑改动这时再点击是不会再次重新编译的3是重新编译每点击一次均会再次编译链接一次不管程序是否有改动在3右边的是停止编译按钮只有点击了前三个中的任一个停止按钮才会生效在4中可以看到编译的错误信息和使用的系统资源情况等以后我们要查错就靠它了6是有一个小放大镜的按钮这就是开启关闭调试模式的按钮它也存在于菜单DebugStartStop Debug Session快捷键为CtrlF5 图45 6 进入调试模式软件窗口样式大致如图所示图中1为运行当程序处于停止状态时才有效2为停止程序处于运行状态时才有效3是复位模拟芯片的复位程序回到最开头处执行按4我们可以打开5中的串行调试窗口这个窗口我们可以看到从51芯片的串行口输入输出的字符这里的第一个项目也正是在这里看运行结果首先按4打开串行调试窗口再按运行要停止程序运行回到文件编辑模式中就要先按停止按钮再按开启关闭调试模式按钮然后我们就可以进行关闭KEIL等相关操作了 图 467HEX文件格式是Intel公司提出的按地址排列的数据信息数据宽度为字节所有数据使用16进制数字表示 常用来保存单片机或其他处理器的目标程序代码它保存物理程序存储区中的目标代码映象一般的编程器都支持这种格式打开目录找到testUv2的文件就可以打开先前的项目了然后右击图中的1项目文件夹弹出项目功能菜单选Options for TargetTarget1弹出项目选项设置窗口同样先选中项目文件夹图标这时在Project菜单中也有一样的菜单可选打开项目选项窗口转到Output选项页图所示图中1是选择编译输出的路径2是设置编译输出生成的文件名3则是决定是否要创建HEX文件选中它就可以输出HEX文件到指定的路径中再将它重新编译一次很快在编译信息窗口中就显示HEX文件创建到指定的路径中了如图这样我们就可用自己的编程器所附带的软件去读取并烧到芯片了再用实验板看结果至于编程器或仿真器品种繁多具体方法就看它的说明书了这里不做 图项目功能菜单图项目选项窗口图编译信息窗口 图410 主程序流程图44模数转换 模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号并传送给MCUADC0832转换的流程图见下图411 图 411数转换流程图 45按键模块按键时显现人机对话的一个控制按钮通过按键的操作对系统进行发送操作指令后经与MCU串行通信然后在液晶上显示按键查询式的流程图见下图 图 412按键查询式的流程图46时钟模块DS1302模块主要是用于设置时间和与MCU通信经LCD显示时间时钟模块操作流程图见下图 图 413 时钟模块操作流程图47液晶显示模块LCD模块在本系统中主要起着开界面汉字显示以及各控制效果的显示采用直接访问方式液晶显示的操作流程图见下图413 图 414液晶显示的操作流程图 第5章 系统仿真前面已经把单片机系统的硬件设计和软件设计完成了下一步就可以着手进行仿真因为在设计的过程之中肯定有许多的错误需要进行仿真来发现错误和调试错误这样才能使单片机低功耗计数系统的设计更加完善本次系统仿真采用的是软件仿真使用的是proteus软件Proteus软件由ISIS和ARES两个软件构成其中ISIS是原理图编辑与仿真软件ARES是布线编辑软件本次系统的硬件设计其中的原理图编辑和PCB布线就是在这个软件环境中完成的至于软件设计则是采用proteus软件中的ISIS和Kei uVision进行联合调试图 51主界面显示图二系统接下来显示4个基本操作功能小对号为该操作显示项如图52图52 功能界面三选择开始测量单击OK键便有下面测量选择界面如图53 图 53 测量选择界面四再按OK则显示检测数据范围0-10ppm如图54图 54测量界面显示图五4个功能的操作和演示是相同的以下为时间设置显示图如图55图 55当前时间显示图六小结本系统原先打算设计开始测量数据存储时间设置通讯设置等4个基本功能后由于条件所限我们并未做出全部的功能但这次的毕业设计收获还是很多的今后我们

温馨提示

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

评论

0/150

提交评论