基于单片机的酒精浓度测试系统设计 - 图文 下载本文

重庆理工大学毕业论文 基于单片机的酒精浓度测试系统设计

连上一个晶振,再和两个电容并联后接地,组成并联谐振电路[8]。电容的选择根据需要的振幅来决定,晶振则一般为12MHZ。通过这样单片机内部产生一个和外部晶振一样的振荡,这个振荡的产生标志着振荡电路的完成。 方式二:外部时钟方式

如果采用外部时钟方式,此时要把XTAL1接到外部始终提供电路,XTAL2接地。这种情况一般是当整个单片机系统已经有时钟源或则在多机系统中取得时钟上的同步。

本方案采用内部时钟方式。如下图3.2

图3.2 晶振电路

3.1.2 复位电路

复位电路是为了保证在开始和需要重置时使整个单片机系统重新启动的装置。复位后不管是CPU还是各部件都处于确定的初始状态,它们会再次从这个初始状态工作。51单片机的复位信号是从RST处得到的,RST端信号进入施密特触发器最终获得这个信号。一般来说如果在RST引脚得到一个高电平,并且这个高电平维持的时间在两个机器周期以上,那么CPU就会相应这个指令,对单片机进行系统复位[9]。单片机系统的复位方式有:手动按钮复位和上电复位。复位电路如图3.3

图3.3 复位电路

11

重庆理工大学毕业论文 基于单片机的酒精浓度测试系统设计

手动按钮复位

手动复位不同于上电复位,但是原理都是使RST得到高电平,所以应该在这上面即一个高电平。为了方便控制,一般要在其中增加一个按钮来控制平常的正常工作。 上电复位

上电复位时使RESET处于高电平,而且保持高电平一段时间。因为这一点接地,所以在接地的作用下这一点会慢慢由高点平变为低电平。而且由于RESET变为低,所以单片机复位。一般来说这个一段时间为2个机器周期。

3.2 数据采集设计

本设计的数据的采集由MQ-3酒精传感器完成,传感器得到的数据是电子信号,必须通过放大,滤波,采集,转换才能被MCU识别和处理。所以数据采集由MQ-3酒精传感器和ADC0832完成,最后将数据传给MCU。 3.2.1 MQ-3酒精传感器

MQ-3是现在使用的酒精传感器,它是一个电阻传感器,检测的酒精浓度是以电信号传送出去的。在本设计中主要需要将该仪器通上5V电源,并在GND接地,OUT用来输出测试浓度。

MQ-3作为一款酒精传感器是有自己的特点的,首先是测试气体是比较灵敏的,而且在响应方面具有快速反应性。并且由于它比较简单的结构,它的使用期限和稳定性是可以得到保证的。

在使用过程中最主要的是需要通过它检测的电压得到酒精的浓度,这其中有一个关系,电压每升高1V时,相应的气体浓度就会升高200ppm。这是编程过程中最需要注意的一个环节。

3.2.2 A/D转换器

ADC0832一共有8端口,与单片机连接的则一般只有4个端口,为CS、CLK、DO、DI。

在很多情况下DO端与DI端并不是同时有效的,在DO端使用的时候DI端一般是待机状态,所以将上述两个端口可以接在一起,共用一根数据线。CS表示使能端,当需要芯片工作时不要把它置为低电平,因为这个时候芯片禁用[10]。在芯片禁用时,CLK 和DO/DI并没有工作任务,此时他们不管接高电平还是接低电平都无所谓。反之

12

重庆理工大学毕业论文 基于单片机的酒精浓度测试系统设计

芯片要工作时,CS必须要给低电平,直到工作结束。由于Proteus仿真软件没有MQ3酒精传感器,因此用滑动变阻器代替电信号作为输入。如下图3.4

图3.4 A/D转换器

3.3 按键设计

按键设置主要分为独立式和行列式(矩阵式)两种。

独立式键盘顾名思义就是每个按键都是独立的,这个独立指的是相互不影响连接到单片机的I/O 口,而单片机的I/O 口不需要使用外部中断之内的编程,只需要输入口即可读取按键。这种独立式键盘可以连接上拉电阻或者是下拉电阻,这并不影响数据的读取,只需要判读输入口的电平。由于独立式键盘简单的结构,所以对于单片机的编程就变得简单了。但是由于每一个按键都必须接上一个I/O 口,在按键较少的情况下还是能够使用足够的I/O 口,但是如果一旦按键变得比较多的话,单片机就不会有足够的I/O 口来供按键使用,所以一般这是就会使用行列式结构。

行列式键盘则不像独立式键盘那样直接与单片机的I/O 口相接,顾名思义行列式即行列要相交的地方而不相同,接的不是I/O 口而是上一个按键,按键和按键相连。假设我们只有A+B个I/O口,如果使用独立式键盘则也只有A+B个按键,而我们把A个I/O接上A个按键当作行线,而另为B个I/O口接上B个按钮当作列线,一共则可以得到A×B个按键[11],可以大大增减按键数量。

13

重庆理工大学毕业论文 基于单片机的酒精浓度测试系统设计

由于本方案只有两个按键来控制设定值的增减,所以选用简单的独立式键盘结构。如下图3.5

图3.5 按键设置

3.4 液晶显示设计

本方案使用LCD1602来显示数据,因为LCD1602与51单片机相连有以下几个优点: (1)显示质量高

由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不象阴极射线管显示器(CRT)那样需要不断刷新亮点。因此,液晶显示器画质高而且绝对不会闪烁,把眼睛疲劳降到最低。 (2)数字式接口

液晶显示器都是数字式的,不像阴极射线管彩显采用模拟接口。也就是说,使用液晶显示器,显卡再也不需要像往常那样把数字信号转化成模拟信号再行输出了。理论上,这会使色彩和定位都更加准确完美。 (3)体积小、重量轻

传统的阴极射线管显示器,后面总是拖着一个笨重的射线管。液晶显示器突破了这一限制,给人一种全新的感觉。传统显示器是通过电子枪发射电子束到屏幕,因而显像管的管颈不能做得很短,当屏幕增加时也必然增大整个显示器的体积。而液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示目的,即使屏幕加大,它的体积也不会成正比的增加,而且在重量上比相同显示面积的传统显示器要轻得多[12]。

14

重庆理工大学毕业论文 基于单片机的酒精浓度测试系统设计

(4)功耗低

传统的显示器内部由许多电路组成,这些电路驱动着阴极射线显像管工作时,需要消耗很大的功率,而且随着体积的不断增大,其内部电路消耗的功率肯定也会随之增大。相比而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比传统显示器也要小得多[13]。

这次的功能仅仅是通过LCD1602来显示单片机发送的数据,所以将D0-D7直接接到P0口,用来接收数据如图3.6

图3.6 LCD1602与单片机的连接

VSS与VEE和VDD接高电平,RS作为命令/数据端口接上P2.7。RS的两个状态为选择命令和选择数据,低为选择命令,高为选择数据。读/写端RW则接P2.6,它也是两个状态,为低时向LCD1602写入命令或数据;为高时,从LCD1602读取状态或数据[14]。

15