基于单片机的甲醛检测仪论文 联系客服

发布时间 : 星期一 文章基于单片机的甲醛检测仪论文更新完毕开始阅读d3293936df80d4d8d15abe23482fb4daa58d1dfc

单片机对ADC0832 的控制原理:

正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,

(4)测量量程

本系统的量程为0-10ppm。由于我所使用的是8位ADC0832,所以本系统的精度为:10ppm/256=0.039ppm。 3.2.5 按键选择与简介

⑴本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果。键盘分为:独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。由于本系统只有UP、DOWN 、OK 、CANCEL 4个控制命令,所需按键较少,所以本系统选择独立式按键。电路图见图3.7:

16

图3.7 按键电路图

⑵独立式按键是直接用I/O口线构成的单个按键电路。每个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响。在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,(AT89C52 .P1口内部接有上拉电阻)所以就不需要再外接上拉电阻。

⑶键盘抖动的消除:抖动的消除大致可以分为硬件削抖和软件削抖。 ①硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。

②软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。

③由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。

3.2.6 外围扩充存储器

基于AT89C52单片机具有8KB的程序存储器(ROM),256B的数据存储器(RAM),由于考虑到本系统的数据处理与存储所需的容量,现在需要扩充存储器的容量。在应用中要保存一些参数和状态,据了解基于EEPROM的存储芯片是一种很好的选择。我们选定了AT24C128存储器。电路图见图3.8:

17

图3.8 外围扩充存储电路图 3.2.7 时钟芯片选择与简介

因为此系统需要记录测量发生的时间,所以需要时钟芯片来记录不同人在不同时间的监测数据,因此我们在系统中加入了时钟芯片。对时钟芯片的要求首先是低功耗,其次是编程简单,缩短程序开发时间,实际上也就缩短了系统用于实际生产所用的开发周期以及成本,在本系统,我们选择了DS1302时钟芯片。

⑴我们时钟电路选择的芯片是 DS1302,其内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机通信。而通信时,仅需要3个口线:(1)RES(复位),(2)I/O数据线,(3)SCLK(串行时钟)。时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。其工作时功耗很低,广泛应用于电话,传真,便携式仪器等产品领域。

⑵ DS1302主要性能有:时实时钟能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年的调整能力;读/写时钟或RAM数据时,有单字节和多字节传送两种方式;与DS1202/TTL兼容。

⑶ DS1302引脚概述:X1,X2:振荡源,外接32。768KHZ晶振;SCLK:串行时钟输入端。

⑷ 日历、时钟寄存器与控制字对照表、日历、时钟寄存器命令字、取值范围以及各位内容对照表。见表3-4。

表3-4 时钟控制字对照表

18

寄存器名 写操作 秒寄存器 分寄存器 时寄存器 80H 82H 84H 命令字 读操作 81H 83H 85H 取值 范围 7 6 各位内容 5 4 3~0 00~59 00~59 01~12 00~23 CH 0 12/24 0 10SEC 10MIN 10/(A/P) HR SEC MIN HR 日寄存器 86H 87H 01~28,29、30、31 0 0 10DATE DATE 月寄存器 周寄存器 年寄存器 写保护寄存器 慢充电寄存器 88H 8AH 8CH 8EH 90H 89H 8BH 8DH 8FH 91H 01~12 01~07 01~99 0 0 0 0 0 0 10M 0 MONTH DAY YEAR 10YEAR WP TCS 0 TCS 0 TCS 0 0 TCS DDRRS S S S 时钟突发寄存器 BEH BFH ⑸DS1302数据输入/输出时序

数据输入是在输入写命令字的8个SCLK周期之后,在接下来的8个SCLK周期中的每个脉冲的上升沿输入数据,数据从0位开始。如果有额外的SCLK周期,它们将被忽略。

数据输出是在输出命令字的8个SCLK周期之后,在接下来的8个SCLK周期中的每个脉冲的下降沿输出数据,数据从0位开始。需要注意的是,第一个数据位在命令字节的最后一位之后的第一个下降沿被输出。只要RST保持高电平,如果有额外的SCLK周期,将重新发送数据字节,即多字节传送。其电路图见图3.9:

19