版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的一氧化碳检测仪的控制系统设计基于单片机的一氧化碳检测仪的限制系统设计摘要一氧化碳检测仪是一种用于公共场所及 室内具有检测及超限报警功能的仪器.其设计方案基于AT89C52片机,选择瑞士蒙吧波公司的CO/CF-1000 一氧化碳传感器.系统将传感器的标准信号通过AD0832为核心的A/D转换电路调理后,经单片机进行数 据处理,最后LCD显示一氧化碳浓度值 文中详细介绍了数据采集子系统、数据 处理过程以及数据显示子系统和报警电 路的设计方法和过程.系统对于采样地 点超出规定的一氧化碳容许浓度时采用 三极管驱动的单音频报警电路提醒监测 人员.同时,操作人员对于具体报警点 的上限值可以通过
2、单片机编程进行设 置.另外,该系统对浓度信号进行了信 精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 1 号补偿等处理,减少了测量误差,因此, 具有较高的测量精度,而且结构简单, 性能优良.关键词:一氧化碳检测;单片机;数据采集处理系统目录III1 前百 1一氧 化碳的危害 1一氧化碳检测仪的种 类1 课题的背景和意 义22检测仪系统总体设 计33 一氧化碳检测仪硬 件设计4硬件结构设 计4硬件选择与设 计4MCU的选择与设计4单片机最小系统的实现6数据采集系统的选择与设计模数转换的选择与设9 按键选择与设计10外围扩充存储器的选择与设计11时钟芯片选择与设计12上拉电阻的选择
3、与设计 .13液晶显示器选择与设计.14 报警电路选择与设计16 硬件设计主电路精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 3 174 软件设18软件设计18主程序模块的设18模数转换模块的设19 按键模块的设205 系统仿23 结27致28附29IV32 一氧化碳检测仪系统总体设计本论文主要完成一氧化碳检测仪软件和硬件仿真设 计,设计内容包括:A/D转换器程序、 限制程序、超标报警、键盘检测、数据 显示等.本系统采用单片机为限制核心,以实现一氧化碳检测仪的根本控 制功能.系统主要功能内容包括:数据 处理、时间设置、开始测量、超标报警、 键盘检测、自动休眠,仪器假设不进行测
4、 量操作,5分钟后自动进入休眠模式,以 降低电源消耗.本系统设计采用功能模 块化的设计思想,系统主要分为总体方 案设计、硬件和软件的设计三大局部. 根据任务书上的要求进行综合分析,总 设计方案分为以下几个步骤:硬件系统电路的设计;软件系统主程序及其相关子程序的编写; 系统电路及软 件的调试; 结论.43 一氧化碳检测仪硬件设计硬件结构设计 硬件设计局部主要 包括:单片机、A/D转换器、时钟芯片、 精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 5LCD、外围扩展数据RAM等芯片的选 择;硬件主电路设计、数据采集、模数 转换电路设计、液晶显示电路设计、外 围扩充存储器接口电路、时
5、钟电路、复 位电路、键盘接口电路等功能模块电路 设计.硬件结构框图3-1. 图3-1硬 件结构框图 硬件选择和设计AT89C52单片机的选择本系统采用AT89C52单片机.而目前世界上较为 著名的8位单片机的生产厂家和主要机型如下:美国Intel公司:MCS51系列及其增强型系列; 美国Motorola 公司:6801系列和6805系列; 美国 Atmel公司:89C51等单片机;美国Zilog 公司:Z8系歹ij及SUPER8;美国Fairchild 公司:F8系列和3870系列; 美国 Rockwell公司:6500/1系列; 美国 TI公司:TMS7000系列;NS公司:NS8070系列
6、等等.尽管单片机的品种很多,但是在我国使用最多的还是Intel 公 司 的MCS525系列单片机和美国Atmel公司的;9C52单片机MCS51系列单片机包括三个根本型031、;051、751本系统采用AT89C52单片机为限制核心.而相比之下 52型功能更为强大,ROM和RAM存储空间更大,52还兼容51指令系统.基于本系统设计内容的需要,综合考虑后,我们选择单片机ATME公司的AT89C52为限制核心;主要基于 考虑AT89C52是一个低电压,高性能CMOS位单片机,片内含KB的可反复擦写的Flash只读程序存储器和 256 bytes的随机存取数据存储器、6个中断 源;时钟频率 024M
7、Hz;器件采用高 密度、非易失性存储技术生产,并兼容 标准MCS-51指令系统,功能强大.AT89C52是美国ATMEL公司生产的低电压,高性能CMOS位单片机,片内K bytes的可反复擦写的只读程序存储器(PEROM)和256K bytes的随机存取 数据存储器,器件采用 ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及052产品引脚兼容,片内置通用位中央处理器和FLASH存储单元,功能强大,AT89C52单片机适合于许多较为复杂限制应用场合.主要性能参数:图3-2引脚图与MCS-51产品指令和引脚完全兼容;FLASH闪存存储器;K字节可重擦写1000次写/擦循环
8、;时钟频率:0Hz24MHz ;6 三级加密存储器;256字节内部RAM ; 32个可编程I/O 口线;3个16 位定时/计数器;6个中断源; 可 编程串行UART通道.单片机最小系统的设计采用AT89C52来设计一个单片机系统能运行起来的需求最小的系统,电路图见图 3-3:图3-3单片机最小系统图上图的最小单片机系统包含有晶振电路和复位电路,AT89C52芯片组成.品振电路品振电路在各种指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,AT89C52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式.本系统中采用了内部时钟方式,为了尽量降低功耗的原那么.电 路 图 见
9、 图 3-4.7图3-4晶振电路图 在9c52单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚 外接石英晶体就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电 容器C1和C2稳定频率和快速起振,晶 振CRY选择的是12MHz.复位电路复位的意义复位电路在单片机工作中仍然是不可缺少的主要部件 中,单片机工作时必须处于一种确定的 状态.端口线电平和输入输出状态不确 定可能使外围设备误动作,导致严重事 故的发生;内部一些限制存放器内容不 确定可能导致定时器溢出、程序尚未开 始就要中断及串口乱传向外设发送数据.复位电路原理图3-5上电复位电路图本设计中 复位电路采用的是上电复
10、位与手动复位 电路,开关未按下是上电复位电路,上精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 9电复位电路在上电的瞬间,于电容上的 电压不能突变,电容处于充电状态,故RST脚的电压与VCC相同.随着电容的 充电,RST脚上的电压才慢慢下降.选 择合理的充电常数,就能保证在开关按 下时是RST端有两个机器周期以上的高 电平从而使AT89C52内部复位.开关按 下时是按键手动复位电路,RST端通过 电阻与VCC电源接通,通过电阻的分压 就可以实现单片机的复位.电路图见图3-6:图3-6复位电路图数据采集系统的选择与设计一氧化碳传感器的选择: 一氧化碳传感器选用CO/CF-1000
11、探头组成,如下表 3-1 o 表3-1传感器参数名称测量范围输 出 分辨率 响应时间(T 90)湿度范 围 最大零点漂移(20 C to 40 C)长期漂 移 推荐负载值 线性度输出 一氧化碳 传感器 CO/CF-1000 0 - 1 000 ppm 10020nA/ppmppm < 50 seconds精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 10 15-90 %RH 10 ppm <2% /每月 10Q 线 性 从传感器过来的电压信号,必须采集,滤波,放大,转换才能被MCU识别 和处理.于假假设每一路都设置放大、滤 波等器件,那么本钱会很大,所以信号 的采
12、集一般用多路模拟通路进行选择.然而选择多路模拟开关时必须考虑以9下的几个因素:通道数量、切换速度、开关电阻和器件的封装形式.总 之数据采集与硬件的选择有很大的关 系. 测量电路 测量电路 组成.当空气被内部的采样系统接收后, 产生一个与一氧化碳浓度成正比的电压 信号,该电压信号经 ADC0832与 AT89C52单片机相连,在显示器上显示 出一氧化碳的浓度值,当超过国家规定 的标准时报警.模数转换器的选择与简 介 于ADC0832模数转换器具有8 位分辨率、双通道A/D转换、输入输出 电平与TTL/CMOS相兼容、5V电源供CO/CF-1000 一氧化碳传感器、ADC0832电时输入电压在05
13、V之间、工作频率为250KHZ、转换时间为32微秒、一 般功耗仅为15MW等优点,适合本系统 的应用,所以我们采用ADC0832为模数 转换器件.电路图见图3-7如下:图3-7模数转换电路图ADC0832具有以下特点:道A/D转换;8位分辨率;双通TTL/CMOS相兼容;输入电压在 0输入输出电平与5V电源供电时5V 之间;10 工作频率为250KHZ,转换时 间为32心;一般功耗仅为15mW; 8P、14P DIP、PICC 多种 封装; 商用级芯片温宽为0c到+70C,工业 级芯片温宽为40c到+85 C ;芯片接口 说明:CS_片选使能,低电平芯或作为 电位; 限制; 输出;IN+/-使
14、用;GND芯片参考0片使能;CH0模拟输入通道0,或作 为IN+/-使用;CH1模拟输入通道1,DI数据信号输入,选择通道DO数据信号输出,转换数据CLK芯片时钟输入;Vcc/REF电源输入及参考电压输入.单片机对ADC0832的限制原理: 常情况下 ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI.但于DO端与DI端在通信时并未同 时有效并与单片机的接口是双向的,所 以电路设计时可以将DO和DI并联在一根数据线上使用当ADC0832未工作时其CS输入端应为高电平,CLK和DO/DI 的电平可任意.当要进行 A/D转换时, 先将CS使能端置于低电平并且保持低 电平直到
15、转换完全结束.同时处理器向 芯片时钟输入端CLK输入时钟脉冲, DO/DI端那么使用DI端输入通道功能选择 的数据信号.测量量程 于ADC0832模数转换器的位数为8位,所以ADC0832模数转换器的精度为:10Ppm/256=.按键选择与简介本系统选择独立式按键.键盘分为:独立 式和矩阵式两类,每一类按其编码方法 又可以分为编码和非编码两种.本系统 具有人机对话功能,该功能即能随时发出各种限制命令和数据输入以及和 LCD连接显示运行状态和运行结果.于本系统只有 UP、DOWN、OK、CANCEL4个限制命令,所需按键较少,所以11本系统选择独立式按键.电路图见图3-图3-按键电路图独立式按键
16、是直接用I/O 口线构成的单 个按键电路.每个独立式按键占有一根I/O 口线.各根I/O 口线之间不会相互影 响.在此电路中,按键输入部采用低电 平有效,上拉电阻保证了按键断开时, I/O 口线有确定的高电平,所以就不需要 再外接上拉电阻.键盘抖动的消除:抖动的消除大致可以分为硬件削抖 和软件削抖.硬件削抖是采用硬件电路 的方法对键盘的按下抖动及释放抖动进 行削抖,经过削抖电路后使按键的电平 信号只有两种稳定状态.外围扩充存储器的选择于考虑AT89C52单片机具有KB的程序存储器,256B 的数据存储器,于考虑到本系统的数据处 理与存储所需的容量,现在需要扩充存 储器的容量.在应用中要保存一些
17、参数和状态,本系统选用 电路图见图3-9.扩充存储电路图上拉电阻的选择AT24C128存储器.图3-9外围12在主电路图中接在P0 口处有一个排阻RP1,于 P0 口没有内接上拉电阻,为了为P0 口外接线路 有确定的高电平,所以要接上排阻RP1,以保证有P0 口有稳定的电平.电路连接图见图3-11.拉电阻电路图图3-11上液晶显示器选择我们选用了 AMPIRE128X64液晶显示模块,是于本系统要有显示装置完成显示 功能,显示器最好能够显示数据、图形, 考虑到同种LCD显示器的屏幕越大体积 越大,功耗越大的特点,该型号显示器 消耗电量比较低,可以满足系统要求. 该类液晶显示模块采用动态的液晶驱
18、 动,可用5V供电.AMPIRE128X64液 晶共有22个引脚.如表 3-3所示表3-3引脚说明表13AMPIRE128X64液晶显示模块与计算机的接口电路有两种方式.分为直接访问 方式和间接限制方式.直接访问方式是 把液晶模块作为存储器或I/O设备直接 接在单片机的总线上,单片机以访问存 储器或I/O设备的方式操作液晶显示模 块的工作.间接限制方式那么不使用单片机的数据系统,而是利用它的I/O 口来 实与显示模块的联系.即将液晶显示模 块的数据线与单片机的Pl 口连接作为数 据总线,另外三根时序限制信号线通常 利用单片机的P3 口中未被使用的I/O 口 来限制.这种访问方式不占用存储器空
19、间,它的接口电路与时序无关,其时序 完全靠软件编管脚名称/CSA /CSBVSS VDD V0 R/S R/W E DB0-DB7 CS1 CS2 /RES VEE LED+ LED-管脚定 义片选1片选2数字地 逻辑电源+5V 比照度调节指令数据通道读写选择 使能选择数据线片选1片选2复位信 号 液晶驱动电源LED背光正电源 LED接地端程实现.本系统采用间接控 精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 16 制方式.液晶显示电路连接原理图见图下:14 LCD按其显示方式通常可以分为断式、点字符 式、点阵式等.还有黑白、多灰度、彩 色显示等.字符显示:字符显示 比较复杂
20、,一个字符16x8点阵组成,即 要找到和显示屏是某几个位置对应的RAM区的字节,再使不同的位置为 “1 其他的为“0;为1的点亮,为“0的不 亮,这样就显示出一个字符.汉字显示:汉字显示和字符显示的原理差 不多,就是一个汉字一般采用图形方式, 事先从微机中用字模软件提取要显示的 汉字的点阵码,每个汉字占 32B,分为 两局部,各16B.根据在LCD上开始显 示的行列号及每行的列数就可以找出显 示RAM的对应地址,送上汉字要显示的 第一字节,以此类推,最后送完 32B, 这样汉字就显示出来了.系统的液晶显示字体和字母的显示就是根据上述 的原理显示的,点阵码是用字模软件在 相同的设置区域找出的.然
21、后把提取的点阵码放入编写的 LCD软件程序里. 阵码获取过程简介:首先,翻开软件, 然后新建文件,由于汉字占32B所以设 置其为高度和宽度16x16.取模方式选择 C51格式在文字输入区输入汉字, 15在点阵区生成点阵码,例如在文字输入区输入 欢字,其点阵码生成如 下:图3-13点阵生成截图报警电路的选择 图3-14单频音报 警电路图图3-14报警电路接线图 在单片机应用系统中,一般的 工作状态可以通过指示灯或数码显示来 指示,供操作人员参考,了解系统的工 作状况.但对于紧急状态,比方系统检 测到的错误状态等,往往还需要有某种 更能引人注意,及时采取举措,往往还 需要有某种更能引人注意,提起警
22、觉的 报警信号.这种报警信号通常有三种类 型:一是闪光报警,由于闪动的指示灯 更能提醒人们注意;二是鸣音报警,发 出特定的音响,作用于人的听觉器官, 易于引起和增强警觉;三是语音报警,不仅能起到报警作用,还能直接给出警 报种类的信息.其中,前两种报警装置 因硬件结构简单,软件编程方便,常常 在单片机应用系统中使用;而语音报警 虽然警报信息较直接,但硬件本钱高, 结构较复杂.单频音报警实现单频音报 警的接口电路比较简单,其发音元件通 常可采用压电蜂鸣器,当在蜂鸣器两引 脚上加315V直流工作电压,就能产生 3kHZ左右的蜂鸣振荡音响.压电式蜂鸣 器,约需10mA的驱动电流,可在某端 口接上一只三
23、极管和电阻组成的驱动电 路来驱动,如图3-14所示.在图3-14中, 接三极管基极输入端,当输出高电平 “1 时,三极管导通,蜂鸣器的通电而发音, 当输出低电平“0时,三极管截止,蜂鸣 器停止发音.16硬件设计主电路图,见附录一.4软件设计软件设计结构软件设计局部主要包括:主程.序/子程序流 程的设计、功能模块程序的编写、软/硬 件结合调试与演示.主要包括以下功能模块:51驱动、检测、液晶显示、时17 钟、键盘、模数软换,软件结构 框图4-1 o 系统初始化、按键扫描 显示选择菜单测量相关设置数据处理 串行通信对软件进行处理图始显读检4-1软件结构框图 主程序模块的 设计 主程序实现的功能:与
24、硬件相 结合实现便携式一氧化碳检测仪的各个 功能.主要是检测与显示,时间调整与 显示,数据存储,功能子函数的调用, 见图4-2.化CPU初始化时钟 初始化LED屏 示开机画面显示时间显示主菜单 键 图4-2主程序流程图测主程序程序见附录二.模数转换的设计模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给单片机.ADC0832转换的流程图见以下图4-3.19 开始使能芯片产生时钟信号输入通道 限制字读取2字节数据字节数据校正送入指定存放器结束图4-3数转换流程图ADC0832程序见附录三.按键模块的设计按键时显现人机对话的一个限制按钮,通过按键的操作,
25、 对系统进行发送操作指令,后经与MCU 串行通信,然后在液晶上显示.按键查询式的流程图见以下图:20图4-4按键查询式的流程图 按键程序见附录四.时钟模块 的设计 DS1302模块主要是用于设 置时间和与MCU通信经LCD显示时间. 时钟模块操作流程图见以下图: 21 开始初始化保护存放器操作 向DS写入字节数向DS读取字节数开始 图4-5时钟模块操作流程图 时钟程序见附录五.液晶显示模块的设 计 LCD模块在本系统中主要起着 开界面汉字显示,以及各限制效果的显 示.采用直接访问方式.液晶显示的操 作流程图见以下图4-6.图4-6液晶显示的操作流程图液晶程序见附录六.22 5系统仿真 Prot
26、eusISIS是英国Labcenter公司开发的电路分析与实物仿 真软件.它运行于Windows操作系统上, 可以仿真、分析SPICE各种模拟器件和 集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合.具有模拟电路仿真、数字电路仿真、 单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI 调试器、键盘和LCD系统仿真的功能; 有各种虚拟仪器,如示波器、逻辑分析 仪、信号发生器等.支持主流单片机系统的仿真.目前支持的单片机类型 有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系歹1J、Z80系列、HC11系列以及各
27、种外围芯片.提供软件调试功能.在硬件仿真系统中 具有全速、单步、设置断点等调试功能, 同时可以观察各个变量、存放器等的当 前状态,因此在该软件仿真系统中,也精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 22 必须具有这些功能;同时支持第三方的 软件编译和调试环境,如Keil C51 uVision2等软件.具有强大的原理图绘制功能.总之,该软件是一款集单 片机和SPICE分析于一身的仿真软件, 功能极其强大.本章介绍Proteus ISIS软 件的工作环境和一些根本操作. 图 5-1 ISIS 6 Professional 图标进入Proteus ISIS :双击桌面上的IS
28、IS 6 Professional图标或者单击屏幕左下方的“开始-“程序ProteuWProfessional " - '6 ISrSfessional ,出 现如图5-2所示屏幕,说明进入 Proteus ISIS集成环境.工作界面:Proteus ISIS 的工作界面是一种标准的Windows界面,如图5-2所示.包括:标题栏、主 菜单、标准工具栏、绘图工具栏、状态 栏、对象选择按钮、预览对象方位限制 按钮、仿真进程限制按钮、预览窗口、 对象选择器窗口、图形编辑窗口.235-2工作界面完成了本系统的硬件设计和软件设计后,对其进行了总体 调试并且仿真运行,使用的是prote
29、us软 件,当硬件设计和软件设计都完成的时 候就可以看到虚拟的基于单片机的低功 耗计数系统的运行,以下为仿真效果: 小结:本系统原先打算设计 开始、“时 间设置、“数据存储通讯设置等4 个根本功能,后于条件所限,并未做出 全部的功能,但这次的毕业设计,收获 还是很多的.今后我会进一步进完善该系统.24结论本一氧化碳检测仪的设计体积小,质量轻,性价比高.主要分为硬 件设计和软件设计.根本实现了设计前 对该系统所要求实现的功能.软件是基于C语言编写的,具有很好的可控 性、模块化和移植性.编写的思路以模 块化思想,将系统的各个功能进行划分, 然后对各个模块进行设计.本系统的主 要模块为一氧化碳检测、
30、A/D转换、液 晶显示和时钟设置.软件与硬件相结合的仿真演示出了 一氧化碳检测仪主 要的工作情况.但于是电信号模拟,和 真实一氧化碳检测有一定区别,而且所 学知识有限,本系统实现的功能不是很 健全,但在设计过程中让自己学会了很 多.25致谢本论文是在殷强老师的悉心指导下完成的.从选题到完成,每一步 都是在强老师的指导下完成的,倾注了 殷老师大量的心血.在此,谨向强老师 表示崇高的敬意和衷心的感谢. 我的毕业课题是便携式一氧化碳检测仪 的设计,是一个实际的小工程.作为一 个自考本科的学生,我对实际的工程设 计熟悉不够,经验缺乏,难免在设计的 整体框架中,有很多的细节没有考虑. 但老师给予我鼓励和
31、很多珍贵的建议, 并且悉心引导,给予我一个比较清楚的 设计思路,帮助我解决了许多设计上的 困难.最后还要感谢在百忙之中进行论 文评审的老师们,对论文的缺乏之处敬 请批评点.26附录一硬件设计图27附录二检测主程序程序 #include 调用外函数/#include #include #include #include#include #include/*始化CPU*void init_cpu()初始化cPu EA=1;/*void time1(void) interrupt 3 using 1TH1=(65536-50000)/256;TL1=(65536-50000)%6;TR0=1;TR1
32、=1; TMOD=0x11; TH1=0x3c;TL1=0xb0; keyval=P1; *初始化 CPU 结束/ void/LCD主菜单void/开始测设置main_menu_initial()初鬲化力measure_menu_initial()量 厂菜一单 measure_menu0.menu_count=2;measure_menu0.display=qr;main1_menu0.menu_count=4; 有 4精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 26 个 菜 单 项.main1_menu0.display=measurearray;定义一个开始测量“数组
33、main1_menu0.subs=NULL;main1_menu0.children_menus=measure _menu; 当前菜单子菜单的指针 main1_menu0.parent_menus=NULL; 开始测量函数, 确认.measure_menu0.subs=start_measure_fun ction; 开始测量函数measure_menu0.children_menus=NULL; measure_menu0.parent_menus=main1_ menu; measure_menu1.menu_count=2; measure_menu1.display=qx;开始测量函
34、数, 取消.29 measure_menu1.subs=NULL; measure_menu1.children_menus=NULL ;还有 voidstore_menu_initial() 、 void time_menu_initial() void led_menu_pro() max_item=menu_led->menu_count; switch(keyval) case 0:break; case 1:/向上向下“确认“取消键if(shuaxin)/是否需要刷新 LCD 标志位.向 上 键.measure_menu1.parent_menus=main1_ menu;if
35、(user_choosen=0) shuaxin=1; user_choosen-; break; user_choosen=max_item; Clr_Scr(); v oidled_menu_show()led_menu_show();shuaxin=0;uchar n;max_item=menu_led->menu_count; if(max_item>=4)/ 菜单项为3那么表示为主菜单.30for(n=0;n draw_bmp(n*2,20,96,0,menu_ledn.di splay); select_item(user_choosen);标记出当前菜单项. else
36、switch(temp_choosen)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_ledn.d isplay);break;voidselect_item(ucharn)draw_bmp(n*2,2,16,0,curflag);voidstart_measure_function(void) / 开始 测量函数 main_Menu(); /*主函数*/main()31ini
37、t_cpu(); Init_Clock();init_lcd();Disp_Img(FirstPage);delay(2000); 延时 / ClockMsg(); Refresh(); delay(2500); Clr_Scr(); main_Menu();Clr_Scr();main_menu_initial(); measure_menu_initial(); 精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 29 store_menu_initial();time_menu_initial();communication_menu_initial();while(1)读键
38、.keyval=get_key();led_menu_pro(); 适当延时而止由于不断查忙而消耗大量 CUP资源/附录三 ADC0832程序#define uint unsigned int常量/变量定义/ uchar k,i,j; float xdata lv; sbitADCS =P3 ;接口定义/ADC0832chip seclect其它引脚略uchar xdata dsw20; 存放sprintf转换字符32uchar xdata value149; 点阵字符储存uchar code table= 字 符查表0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x0
39、 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0intAdc0832(unsigned char/AD转换,返回结果 channel) uchar uchar;采集并返回unsignedi=0; uchar j; uint dat=0;精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 30 ndat=0; if(channel=0)channel=2; if(channel=1)channel=3; ADDI=1;_nop_();_nop_();ADCS=0;/ 拉低 CS 端 _nop_();_nop_();ADCLK=1; 拉高 CLK 端_no
40、p_();_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 端, 态成示降沿3ADDI=1;/限制命令结束 _nop_();_nop_(); dat=0;for(i=0;
41、i dat|=ADDO;/ 收数据 ADCLK=1; _nop_();_nop_();ADCLK=0;/形成一次时钟脉冲 _nop_();_nop_();dat精选公文范文,治理类,工作总结类,工作方案类文档,感谢阅读下载 if(i=7)dat|=ADDO;for(i=0;ij=j|ADDO;/ 收数据ADCLK=1; _nop_();_nop_();ADCLK=0;/形尻一次时而脉冲_nop_();34_nop_();j=j>=1; ADCS=1;/五彳氐CS端 ADCLK=0;/拉彳氐CLK端ADDO=1;/拉高数据端,回到初始状态 dat return(dat); /return
42、ad k /*点阵字符采集函数*/voidtra(uchar *p)/数组dsp里面的字符查询后,再储储存到另一个显示数组valuevoid main_Menu() Clr_Scr(); / 先清屏 /CS2=1;CS1=0;hz_disp16(0,32,1,jiaquan);甲delay(2000);k=Adc0832(0);l=k/*;dsw0=ltemp/10;do/*醛测量数据存储 /AD 转换结果 ltemp=floor(l); dsw1=ltemp ;/sprintf(dsw,/dsw0=1;switch(dsw0)case 0:sz_disp16(2,32,1,sz0);break;case 1: sz_disp16(2,32,1,sz9); switch(dsw1) case 0: sz_disp16(2,40,1,sz0);break;case 1:sz_disp16(2,40,1,sz9); */ sz_disp16(2,40,1,sz0);/* tra(dsw);CS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《供配电技术》第1章 教案
- 综合实践的心得体会范文
- 文员的实习报告
- 青春的三分钟演讲稿范文(33篇)
- 房屋转让合同
- 少先队缅怀先烈活动方案
- DB12-T 1090-2021 1:500 1:2000基础地理信息要素数据库技术规范
- 2024年心电图机项目资金筹措计划书代可行性研究报告
- 财务报表分析 教案 项目六 财务报表综合分析
- 2023-2024学年广东省深圳市华附集团八年级(下)期中英语试卷
- 人力资源培训人力资源培训课程课件
- 倪志钦:年轻有遗憾没伤感
- 干辣椒收购合同协议书范本通用版
- 印度英文介绍 india(课堂PPT)
- 附表一pc吊装令
- 水稻栽培技术指导方案
- 物资管理系统使用手册
- 旅游线路设计实务 理论知识篇
- 最新八年级外研版英语下册课文与翻译(共20页)
- 工程地质学—地貌
- 应聘登记表(CMHR
评论
0/150
提交评论