版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的一氧化碳检测仪的控
制系统设计基于单片机的一氧化碳检测仪的控制系统设计 摘要一氧化碳检测仪是一种用于公共场所及室内具有检测及超限报警功能的仪器。其设计方案基于AT89C52器。其设计方案基于AT89C52片机,选择瑞士蒙吧波公司的CO/CF-1000—氧化碳传感器。系统将传感器的标准信号通过AD0832感器的标准信号通过AD0832为核心的A/D转换电路调理后,经单片机进行数据处理,最后LCD显示一氧化碳浓度值文中详细介绍了数据采集子系统、数据处理过程以及数据显示子系统和报警电路的设计方法和过程。系统对于采样地点超岀规定的一氧化碳容许浓度时采用三极管驱动的单音频报警电路提醒监测人员。同时,操作人员对于具体报警点的上限值可以通过单片机编程进行设置。另外,该系统对浓度信号进行了信精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载号补偿等处理,减少了测量误差,因此,具有较高的测量精度,而且结构简单,性能优良。关键词:一氧化碳检测;单片机;数据采集处理系统 目录 III 1前 1 一氧化 碳 的 危害 1一氧化碳检测仪的种类 1课题的背景和意义 2 2检测仪系统总体设计 3 3一氧化碳检测仪硬件 设计 4 硬件结构设计 4硬件选择与设计 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载 4 MCU的选择与设计 4单片机最小系统的实现 6数据采集系统的选择与设计 模数转换的选择与设 9按键选择与设计 10外围扩充存储器的选择与 设计 11时钟芯片选择与设计 12上拉电阻的选择与设计 13液晶显示器选择与设计 ….…14报警电路选择与设计 16硬件设计主电路精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
图 17 4软件设计 1 1软件设计结 构的 设结 构的 设计 1 1程序模块的设计 1 1模数转换模块的设计 19 按键模块的设计 20 5系统仿真/、 23 结论 27致录 29IV精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载2一氧化碳检测仪系统总体设计 本论文主要完成一氧化碳检测仪软件和硬件仿真设计,设计内容包括:A/D转换器程序、控制程序、超标报警、键盘检测、数据显示等。 本系统采用单片机为控制核心,以实现一氧化碳检测仪的基本控制功能。系统主要功能内容包括:数据处理、时间设置、开始测量、超标报警、键盘检测、自动休眠,仪器若不进行测量操作,5分钟后自动进入休眠模式,以降低电源消耗。本系统设计采用功能模块化的设计思想,系统主要分为总体方案设计、硬件和软件的设计三大部分。根据任务书上的要求进行综合分析,总设计方案分为以下几个步骤: 硬件系统电路的设计; 软件系统主程序及其相关子程序的编写;系统电路及软件的调试; 结论。3一氧化碳检测仪硬件设计硬件结构设计 硬件设计部分主要包括:单片机、A/D转换器、时钟芯片、精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
LCD、外围扩展数据RAM等芯片的选择;硬件主电路设计、数据采集、模数转换电路设计、液晶显示电路设计、外围扩充存储器接口电路、时钟电路、复位电路、键盘接口电路等功能模块电路设计。硬件结构框图3-1。图3-1硬件结构框图 硬件选择和设计AT89C52单片机的选择 本系统采用AT89C52单片机。而目前世界上较为著名的位单片机的生产厂家和主要机著名的位单片机的生产厂家和主要机型如下:美国Intel公司:MCS—51系列及其增强型系列;美国Motorola公司:6801系列和6805系列;美国Atmel公司:89C51等单片机;美国Zilog公司:Z8系列及SUPER8;美国Fairchild公司:F8系列和3870系列;美国Rockwell公司:6500/1系列; 美国TI公司:TMS7000系列;NS公司:NS8070系列等等。 尽管单片机的品种很多,但是在我国使用最多的还是Intel 公司的 MCS—52系列单片机和美国Atmel公司的
;9C52单片机MCS—51系列单片机包括三个基本型;9C52单片机MCS—51系列单片机包括三个基本型031、;051、751本系统采用AT89C52单片机为控制核心。而相比之下52型功能更为强大,ROM和RAM存储空间更大,52还兼容51指令系统。基于本系统设计内容的需要,综合考虑后,我们选择单片机ATME公司的AT89C52为控制核心;主要基于考虑AT89C52是一个低电压,高性能CMOS位单片机,片内含KBCMOS位单片机,片内含KB的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器、6个中断源;时钟频率0〜24MHz;器件采用高密度、非易失性存储技术生产,并兼容标准MCS-51指令系统,功能强大。AT89C52是美国ATMEL公司生产的低电压,高性能CMOS位单片机,片内电压,高性能CMOS位单片机,片内Kbytes的可反复擦写的只读程序存储器(PEROM)和256Kbytes的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51准MCS-51指令系统及052产品引脚兼精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载容,片内置通用位中央处理器和FLASH存储单元,功能强大,容,片内置通用位中央处理器和FLASH存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制应用场合。 图3-2引脚图主要性能参数: 与MCS-51产品指令和引脚完全兼容;FLASH闪存存储器;令和引脚完全兼容;FLASH闪存存储器;K字节可重擦写1000次写/擦循环;时钟频率:0Hz〜24MHz;三级加密存储器;256字节内部RAM; 32个可编程I/O口线;3个16位定时/计数器;6个中断源; 可编程串行UART通道。 单片机最小系统的设计采用最小系统的设计采用AT89C52来设计一个单片机系统能运行起来的需求最小的系统,电路图见图 3-3: 图3-3单片机最小系统图 上图的最小单片机系统包含有晶振电路和复位电路,AT89C52路,AT89C52芯片组成。晶振电路晶振电路在各种指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,AT89C52的时钟产生方式有称作时序,AT89C52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。 本系统中采用了内部时钟方式,为了尽量降低功耗的原则。电路图见图3-4 。图3-4晶振电路图在只要在单片机的XTAL1和XTAL2弓I脚外接石英晶体就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,晶振CRY选择的是12MHz。复位电;;9C52单片机的内部有一个震荡电路,路①复位的意义 复位电路在单片机工作中仍然是不可缺少的主要部件中,单片机工作时必须处于一种确定的状态。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据。 ②复位电路原理图3-5上电复位电路图 本设计中复位电路采用的是上电复位与手动复位电路,开关未按下是上电复位电路,上精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
电复位电路在上电的瞬间,于电容上的电压不能突变,电容处于充电状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使AT89C52内部复位。开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。电路图见图图见图3-6:图3-6复位电路图 数据采集系统的选择与设计 一氧化碳传感器的选择:一氧化碳传感器选用CO/CF-1000探头组成,如下表3-1。表3-1传感器参数 名称测量范围输出分辨率响应时间仃90)湿度范围最大零点漂移(20Cto40C)长期漂移推荐负载值线性度输出一氧化碳传感器CO/CF-10000-1000ppm100±0nA/ppm ppm<50seconds 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载 〜10〜
15-90%RH10ppm<2%/每月10Q线性从传感器过来的电压信号,必须采集,滤波,放大,转换才能被MCU识别和处理。于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。然而选择多路模拟开关时必须考虑以下的几个因素:通道数量、切换速度、开关电阻和器件的封装形式。总之数据采集与硬件的选择有很大的关系。 测量电路测量电路组成。当空气被内部的采样系统接收后,产生一个与一氧化碳浓度成正比的电压信号,该电压信号经ADC0832与AT89C52单片机相连,在显示器上显示岀一氧化碳的浓度值,当超过国家规定的标准时报警。模数转换器的选择与简介于ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供CO/CF-1000一氧化碳传感器、CO/CF-1000一氧化碳传感器、ADC0832电时输入电压在0〜5V之间、工作频率精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
为250KHZ、转换时间为32微秒、般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。电路图见图3-7如下:图3-7模数转换电路图ADC0832具有以下特点:图3-7模数转换电路图ADC0832具有以下特点:①8位分辨率;②双通道A/D转换; ③输入输出电平与TTL/CMOS相兼容;④5V电源供电时输入电压在0〜5V之间;⑤工作频率为250KHZ,转换时间为32⑴;⑥一般功耗仅为15mW;⑦8P⑦8P、14P—DIP、PICC多种封装;⑧商用级芯片温宽为0°c到+70°C,工业级芯片温宽为?40°C到+85C;芯片接口说明:①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个控制命令,所需按键较少,所以本系统选择独立式按键。电路图见图3-按键电路图见图3-按键电路图独立式按键是直接用I/O口线构成的单个按键电路。每个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响。在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,所以就不需要再外接上拉电阻。 键盘抖动的消除:抖动的消除大致可以分为硬件削抖和软件削抖。硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。 外围扩充存储器的选择于考虑AT89C52单片机具有存储器的选择于考虑AT89C52单片机具有KB的程序存储器,256B的数据存储器,于考虑到本系统的数据处理与存储所需的容量,现在需要扩充存储器的容量。在应用中要保存一些参数精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
和状态,本系统选用电路图见图3-9。扩充存储电路图上拉电阻的选择AT24C128存储器。和状态,本系统选用电路图见图3-9。扩充存储电路图上拉电阻的选择AT24C128存储器。图3-9外围12在主电路图中接在P0口处有一个排阻RP1,于P0口没有内接上拉电阻,为了为P0口外接线路有确定的高电平,所以要接上排阻RP1,以确保有P0口有稳定的电平。电路连接图见图3-11。 图3-11上拉电阻电路图液晶显示器选择拉电阻电路图液晶显示器选择我们选用了AMPIRE128X64液晶显示模块,是于本系统要有显示装置完成显示功能,显示器最好能够显示数据、图形,考虑到同种LCD显示器的屏幕越大体积越大,功耗越大的特点,该型号显示器消耗电量比较低,可以满足系统要求。该类液晶显示模块采用动态的液晶驱晶共有22个引脚。如表3-3所示动,可用动,可用5V供电。AMPIRE128X64液表3-3引脚说明表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接地端程实现。本系统采用间接控精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载制方式。液晶显示电路连接原理图见图下: 14LCD按其显示方式通常可以分为断式、点字符式、点阵式等。还有黑白、多灰度、彩色显示等。 ①字符显示:字符显示比较复杂,一个字符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。开始初始开始初始化CPU初始化时钟初始化LED屏显示开机画面显示时间显示主菜单读键 图4-2主程序流程图 检测主程序程序见附录二。模数转换的设计 模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给单片机ADC0832片机ADC0832转换的流程图见下图4-3下图4-3精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
始使能芯片产生时钟信号输入通道控制字读取2字节数据字节数据校正送入指定寄存器结束图4-3数转换流程图ADC0832程图ADC0832程序见附录三。按键模块的设计 按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与MCU串行通信,然后在液晶上显示。 按键查询式的流程图见下图:图4-4按键查询式的流程图按键程序见附录四。时钟模块的设计DS1302模块主要是用于设置时间和与MCU通信经LCD显示时间。时钟模块操作流程图见下图:开始初始化保护寄存器操作向DS写入字节数向DS读取字节数开始图4-5时钟模块操作流程图时钟程序见附录五。液晶显示模块的设计LCD模块在本系统中主要起着开界面汉字显示,以及各控制效果的显示。采用直接访问方式。液晶显示的操作流程图见下图4-6。 图精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
4-6液晶显示的操作流程图 液晶程序见附录六。 225系统仿真 ProteuslSIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: 实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 支持主流单片机系统的仿真。目前支持的单片机类型有:68000有:68000系列、;051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。 具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍ProteusISIS软件的工作环境和一些基本操作。 图5-1ISIS6Professional图标 进入ProteusISIS:双击桌面上的ISIS6Professional图标或者单击屏幕左下方的“开始程序”-“ProteuSProfessional ”—'6IBiSFessional,出现如图5-2所示屏幕,表明进入ProteusISIS集成环境。工作界面:ProteusISIS的工作界面是一种标准的 Windows界面,如图5-2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。23 图精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载5-2工作界面 完成了本系统的硬件设计和软件设计后,对其进行了总体调试并且仿真运行,使用的是proteus软件,当硬件设计和软件设计都完成的时候就可以看到虚拟的基于单片机的低功耗计数系统的运行,以下为仿真效果:小结:本系统原先打算设计开始”“时间设置”“数据存储”通讯设置”等4个基本功能,后于条件所限,并未做出全部的功能,但这次的毕业设计,收获还是很多的。今后我会进一步进完善该系统。 24结论 本一氧化碳检测仪的设计体积小,质量轻,性价比高。主要分为硬件设计和软件设计。基本实现了设计前对该系统所要求实现的功能。 软件是基于C语言编写的,具有很好的可控性、模块化和移植性。编写的思路以模块化思想,将系统的各个功能进行划分,然后对各个模块进行设计。本系统的主要模块为一氧化碳检测、A/D转换、液晶显示和时钟设置。 软件与硬件相精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载结合的仿真演示出了一氧化碳检测仪主要的工作情况。但于是电信号模拟,和真实一氧化碳检测有一定区别,而且所学知识有限,本系统实现的功能不是很健全,但在设计过程中让自己学会了很多。 25致谢 本论文是在殷强老师的悉心指导下完成的。从选题到完成,每一步都是在强老师的指导下完成的,倾注了殷老师大量的心血。在此,谨向强老师表示崇高的敬意和衷心的感谢。我的毕业课题是便携式一氧化碳检测仪的设计,是一个实际的小工程。作为一个自考本科的学生,我对实际的工程设计认识不够,经验不足,难免在设计的整体框架中,有很多的细节没有考虑。但老师给予我鼓励和很多宝贵的建议,并且悉心引导,给予我一个比较清晰的设计思路,帮助我解决了许多设计上的困难。最后还要感谢在百忙之中进行论文评审的老师们,对论文的不足之处敬请批评点。 26精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
附录27附录27程序#inelude#inelude始化CPU#include设计图检测主程序
设计图检测主程序
//调用外函数//#inelude/**********初************/voidinit_cpu()〃初始化ePu{ EA=1; }/*voidtimel(void)interrupt3using1{ TH1=(65536-50000)/256;TL1=(65536-50000)%6;TR1=1;TL1=0xb0;TMOD=Ox11;keyval=P1;结束//LCD}//初始化CPUmain_menu」nitial()初始化./7{measure_menuTMOD=Ox11;keyval=P1;结束//LCD}TR0=1;TH1=0x3e;}*//void主菜单TR0=1;TH1=0x3e;}*//void主菜单void开始测置////measure_menu[0].display=qr;main1_menu[0].menu_count=4; //有4 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载 个菜单项 ・//main1_menu[0]・display=measurearray;//定义一个”开始测量“数组//main1_menu[0].subs=NULL;main1_menu[0].children_menus=measure_menu;//当前菜单子菜单的指针main1_menu[0].parent_menus=NULL;//开了台测量函政,确认•measure_menu[0].subs=start_measure_function;//开始测量函数measure_menu[0].children_menus=NULL;measure_menu[0].parent_menus=main1_menu;measure_menu[1].menu_count=2;measure_menu[1].display=qx;//开始测量函数,取消•measure_menu[1].subs=NULL;measure_menu[1].children_menus=NULL; } //还有voidstore_menu」nitial() 、 voidtime_menu」nitial()〃voidled_menu_pro(){ max_item=menu_led->menu_count;switch(keyval){ case0: 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载 break;case1: } //向上”向下”确认”取消”键//if(shuaxin) //是否需要刷新LCD标志位.// 向 上 键 .measure_menu[1].parent_menus=main1_menu; if(user_choosen==0){}shuaxin=1; user_choosen--;break;user_choosen=max_item;TOC\o"1-5"\h\z{Clr_Scr();} } voidled_menu_show(){ led_menu_show();shuaxin=0; ucharn;max_item=menu_led->menu_count;if(max_item>=4) //菜单项为3则表示为主菜单.{ }for(n=0;n{draw_bmp(n*2,20,96,0,menu_led[n].display);}select_item(user_choosen);//标记出当前菜单项. else{ switch(temp_choosen) 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载 TOC\o"1-5"\h\z{ case 0:draw_bmp(0,20,96,0,measurearray);//“开始测量”数组//break; default: }for(n=0;nselect_item(user_choosen+1);} }draw_bmp((n+1)*2,20,32,0,menu_led[n].display); break; voidselect_item(uchar n){ draw_bmp(n*2,2,16,0,curflag);} voidstart_measure_function(void) //开始测量函数//{main_Menu(); } /* 主函数 */main() 31{ init_cpu(); Init_Clock();init_lcd(); Disp」mg(FirstPage);delay(2000); //延时//ClockMsg();Refresh();delay(2500);Clr_Scr();main_Menu(); Clr_Scr();main_menu」nitial();measure_menu」nitial(); 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载
store_menu」nitial();time_menu」nitial();communication_menu」nitial();while(1) //读键.{ keyva匸get_key();led_menu_pro();} } //适当延时防止因为不断查忙而耗费大量CUP资源//附录三源//附录三ADC0832程序#defineuintunsignedint //常量/变量定义//uchark,i,j;floatxdatalv; sbitADCS=P3;//接口定义//ADCS=P3;//接口定义////ADC0832chipseclect//其它引脚略 ucharxdatadsw[20]; //存放sprintf转换字符 32ucharxdatavalue[149];//点阵字符储存ucharcodetable={//字符查表0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0};//采集并返回 unsignedintAdc0832(unsignedchar//AD转换,返回结果intAdc0832(unsignedchar//AD转换,返回结果{channel)uchari=0; ucharj; uintdat=0;uchar 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载 ndat=O; if(channel==O)channel=2;if(channel==1)channel=3; ADDI=1;_nop_(); _nop_();ADCS=O;〃拉低CS端_nop_(); _nop_();ADCLK=1;〃拉高CLK端 _nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿1 _nop_(); _nop_();ADCLK=1;//拉高CLK端ADDI=channel&0x1; _nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿2 _nop_();33 _nop_();ADCLK=1;//拉高CLK端ADDI=(channel>>1)&0x1; _nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿3 ADDI=1;//控制命令结束_nop_(); _nop_();dat=0;for(i=0;i dat|=ADDO;〃收数据ADCLK=1; _nop_(); _nop_();ADCLK=0;//形成一次时钟脉冲_nop_(); _nop_(); dat 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载 〜31〜if(i==7)dat|=ADD0; }for(i=0;i j=j|ADDO;〃收数据ADCLK=1; _nop_(); _nop_();ADCLK=O;〃形成一次时钟脉冲_nop_(); 34_nop_(); j=j>=1;} ADCS=1;〃拉低CS端ADCLK=0;//拉低CLK端ADD0=1;〃拉高数据端,回到初始状态datreturn(dat);//returnadk}/* 点阵字符采集函数 */ voidtra(uchar*p) 〃数组dsp里面的字符查询后,再储储存到另一个显示数组value voidmain_Menu(){Clr_Scr(); //先清屏//CS2=1;CS1=0;hz_disp16(0,32,1,jiaquan); //甲//醛//测//量//数//据//存//储//••…delay(2000); do{ /*k=Adc0832(0);//ADk=Adc0832(0);//AD转换结果l=k/*; ltemp=floor(l);dsw[0]=ltemp/10;dsw[1]=ltemp; // 精选公文范文,管理类,工作总结类,工作计划类文档,感谢阅读下载 sprintf(dsw,\ // dsw[0]=1;switch(dsw[O]){ case0:sz_disp16(2,32,1,sz0); break;case1:sz_disp16(2,32,1,sz9);}switch(dsw[1]) { case0:sz_disp16(2,40,1,sz0); break;case1: sz_disp16(2,40,1,sz9); }*///sz_disp16(2,40,1,sz0); /*tra(dsw);CS2=1;CS1=0;sz_disp16(2,56,1,value);*/ }while(P1_3);}附录四按键程序#definenullkey0 //定义//
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2018年上半年全国事业单位联考C类《职业能力倾向测验》真题
- 中专妇产护理流产疼痛管理
- 中医护理核心理论与实践
- 深度解析(2026)《GBT 25442-2018旋转电机(牵引电机除外)确定损耗和效率的试验方法》
- 深度解析(2026)《GBT 24421.4-2023服务业组织标准化工作指南 第4部分:标准实施及评价》
- 患者安全与医疗质量提升
- YDT 2211-2011《800MHz2GHz cdma2000数字蜂窝移动通信网 广播多播业务(BCMCS)(第二阶段)设备测试方法 接入网(AN)》(2026年)宣贯培训
- 高中运动安全2025知识说课稿
- GBT 27021.3-2021合格评定 管理体系审核认证机构要求 第3部分:质量管理体系审核与认证能力要求专题研究报告
- FZT 12039-2013《喷气涡流纺粘纤纯纺及涤粘混纺本色纱》(2026年)宣贯培训
- 绿色供应链管理政策与操作规程
- 全媒体运营师题库(附参考答案)
- MOOC 孙子兵法-湖南大学 中国大学慕课答案
- 二十世纪的中国宗族研究
- 2024年上海市消防救援总队消防文员招聘笔试参考题库附带答案详解
- JBT 10205.2-2023 液压缸 第2部分:缸筒技术规范 (正式版)
- (完整版)xx中学“双积双评”积分入团实施方案
- 洪水影响评价报告示范文本
- 英语图表类作文课件
- DoCare重症监护临床信息系统方案
- 【知识产权】知识竞赛试题及答案
评论
0/150
提交评论