基于单片机的酒精浓度检测仪毕业设计论文
干柠檬片的功效与作用-
摘
要
p>
本文研究设计了一种用于公共场所具有检测及超限报警功能的酒精浓度智能测试仪。
其设计方案基于
89C51
单片机,
MQ3
酒精浓度传感器。系统将传感器输出信号通过
A/D
转
换电路调理后,经由单片机进行数据处理,最后由<
/p>
LCD
显示酒精浓度值。从而让驾车的人
知道自己该在什么情况下可以开车,这是一个在现代生活很实用。
经过大量的验证,基于单片机的酒精浓度监测仪检测仪比传统的机械检测仪或酒精计
灵敏,监测精度高,准确方便,可靠性好,扩展简单,控制功能强大。对超出阀值进行声
光报警,直观准确。所以基于单片机的酒精浓度监测仪的研究具有一定的价值。
关键词:
酒精浓度传感器
单片机
数模转换
硬件设计
数码管显示
Abstract
This paper
studies has been designed for public inspection
and overrun alarm function with
the
alcohol concentration intelligent tester. Its
design scheme based on 89C51, MQ3 alcohol
concentration sensor. System will
sensor output signal through the A/D circuit
recuperation, data
processing by MCU,
finally by LCD display alcohol chroma value. So
let the people know what
oneself should
drive in what circumstances can drive, this is a
very practical in modern life.
After a
great deal of verification, based on SCM alcohol
concentration monitor detector
than
traditional mechanical detector or alcohol plans,
monitoring high precision, sensitivity, good
dependability, precise convenient
extended simple, control powerful functions.
Beyond the value
of acousto-optic
alarm, intuitive accurate. So based on SCM alcohol
concentration monitor
research has
certain value.
.
Keywords:
Alcohol
concentration sensor
microcontroller
digital-to-
analog
Hardware
design
Digital pipe display
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文)
,是我个人在指导教
师的指导下进行的研究工作及取得的成果。
尽我所知,
除文中
特别加
以标注和致谢的地方外,
不包含其他人或组织已经发表或
公布过的研
究成果,
也不包含我为获得
及其它教育机构的学位或学历
而使用过的材料。对本研究提供过
帮助和做出过贡献的个人或集体,
均已在文中作了明确的说明并表示了谢意。
作
者
签
名:
日
期:
指导教师签名:
日
期:
使用授权说明
本人完全了解
大学关于
收集、保存、使用毕业设计(论
文)的规定,即:按照学校要求提交毕业设计(论文)的
印刷本和电
子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供
目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制
手段
保存论文;
在不以赢利为目的前提下,
学校可以公布论文的部分
或全部内容。
作者签名:
日
期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研
究所取得的研究
成果。除了文中特别加以标注引用的内容外,本论
文不包含任何其他个人或集体已经发表
或撰写的成果作品。对本文
的研究做出重要贡献的个人和集体,均已在文中以明确方式标
明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年
月
日
学位论文版权使用授权书
本学位论文
作者完全了解学校有关保留、使用学位论文的规定,
同意学校保留并向国家有关部门或机
构送交论文的复印件和电子
版,
允许论文被查阅和借阅。本人授
权
大学可以将本
学位论文的全部或部分内容编入有关数据库进行检
索,可以采用影
印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年
月
日
导师签名:
日期:
年
月
日
目
录
第一章.绪论
.
................................................ .................................................. ................................ I
一.酒精浓度检测仪的背景
.
..........................................
..................................................
.............. I
二.酒精浓度检测仪现状及发展趋势
.
......................................
..................................................
. II
三.本课题实现目标
.<
/p>
........................................
..................................................
..........................
I
II
四.本章小结
.
................................................ .................................................. ..............................
I
II
第二章
设计方案和元器件选择
.
............................................ .................................................. ....
I
V
一.设计方案
.
................................................ .................................................. ..............................
I
V
二.元器件选择
.
< br>............................................... .................................................. ............................
V
1.
单片机的选择
< br>.
...................................
..................................................
.........................................
V
2.
传感器
.
......................................
..................................................
.............................................. VII
3.
数模转换器
.
....................................
..................................................
..........................................
I
X
24C02
存储器
< br>.
...................................
..................................................
.....................................
X
5
.
LCD
显
示
.
..............
..................................................
..................................................
.................
X
I
三.本章小结
.
................................................ .................................................. ............................ XII
第三章
硬件设计
.
..................................................
..................................................
...................
X
IV
一.硬件设计原理
.
..............................................
..................................................
.....................
X
IV
二.硬件设计的外围电路
.
...........................................
..................................................
............. XV
1.
晶振电路
.
.....................................
..................................................
........................................... XV
2.
复位电路
.
.....................................
..................................................
........................................ XVII
3.
报警设计
.
.....................................
..................................................
....................................... XVIII
4.
电源电路
.
.....................................
..................................................
............................................ XX
5.
信号调制电路
< br>.
...................................
..................................................
.....................................
X
XI
6.A/D
转换设计
.
..................................
..................................................
.................................... XXII
7.
外围扩充存储器电路
.
................................
..................................................
........................
X
XIV
三.本章小结
.
................................................ .................................................. ........................
X
XIV
第四章
系统软件的设计
.
< br>............................................... .................................................. ......XXVII
一.主程序
.
.................................................
..................................................
..........................XXVII
二.
A/D
转换模块程序流程图
.
....................................
..................................................
.........
X
XIX
三.按键程序流程图
.
.............................................
..................................................
................ XXX
四.液晶显示程序流程图
.
...........................................
..................................................
.........
X
XXI
五.本章小结
.
................................................ .................................................. ..................... XXXIII
第五章
本设计总结与展望
.
..............................................
..................................................
. XXXIII
参考文献
.
p>
.........................................
..................................................
..................................... XXXV
致
谢
.
...
..................................................
..................................................
....................... XXXVIII
附
录
.
...
..................................................
..................................................
..........................
XXXIX
1
.主程序
.
......................................
..................................................
.....................................
XXXIX
2
.液晶显示程序
< br>.
...................................
..................................................
.............................. XLVII
3
.存储程序
.
.....................................
..................................................
..........................................
L
II
4
.
AD
转换程序
.
.....................................
..................................................
...............................
L
VIII
第一章.绪论
检测仪向更迅速更快捷发展,方便携带等要求发展。传统的机械检测仪或酒
精计一般
灵敏度和准确度也比较低或者检测方法难,同时单片机既有通用计算机
的基本部件,又不
同于计算机。有体积小,实时快速的对外部事件做出响应,迅
速采集大量数据,做出逻辑
判断与推理后实现被控对象的参数调整与控制,且能
满足检测仪的设计要求,所以基于单
片机的酒精浓度检测仪的开发有很大意义。
一.酒精浓度检测仪的背景
以对气体
中酒精含量进行检测的设备有五种基本类型,即:燃料电池型(电
化学)
、半导体型、红外线型、气体色谱分析型、比色型。但由于价格和使用方便
的原
因,常用的只有燃料电池型(电化学型)和半导体型两种。
燃
料电池可以直接把可燃气体转变成电能,而不产生污染,酒精传感器只是
燃料电池的一个
分支。燃料电池酒精传感器采用贵金属白金作为电极,在燃烧室
内充满特种催化剂,使进
入燃烧室内的酒精充分燃烧转变为电能,也就是在两个
电极上产生电压,电能消耗在外接
负载上,此电压与进入燃烧室内气体的酒精浓
度成正比。
I
与半
导体型相比,燃料电池型呼气酒精测试仪具有稳定性好,精度高,抗干
扰性好的优点。但
是由于燃料电池酒精传感器的结构要求非常精密,制造难度相
当大。
从传感器技术发展的角度看,根据使用传感器原理的不同,常见的气体检测
仪器仪表各自有适用气体及应用领域,新技术新产品正在成为未来气体检测仪器
仪表的主流,现在的酒精浓度检测仪都是采用可替代吹管,酒精仪从传统的机械
检测或酒精计到现在的利用传感器和单片机位核心技术的酒精浓度检测仪式在技
术上是一
大突破,大大提高了检测酒精的精确度。
二.酒精浓度检测仪现状及发展趋势
根据使用传感器原理的不同,常见的气体检测仪器仪表各自有适用气体及应
用领域,新技
术新产品正在成为未来气体检测仪器仪表的主流,如今的酒精浓度
检测仪都是采用可替代
吹管,酒精仪从传统的机械检测或酒精计到现在的利用传
感器和单片机位核心技术的酒精
浓度检测仪式在技术上是一大突破,大大提高了
检测酒精的精确度,更能满足市场的需求
。
但是当前大部分一般的酒精浓度检测仪价格较低的灵敏度并
不是很强,准确
度高的一般售价也比较昂贵,并且大多只是对结果进行预警、低报、高报
三限报
警点设置,
所以在
LED
显示酒精浓度数值上应实现普及,
得到准确的浓度数值。
同
时很多其他气体会可能会对其影响,从而影响准确度。所以在传感器的腐蚀
性以
及排除其他干扰的能力值得提升。
现在大多都是检测气体浓
度或液体浓度的检测,
最好是能解决一个检测仪同时检测气体和液体两种不同状态的酒精
浓度。
II
三.本课题实现目标
本论文主要完成酒精浓度检测仪软件设计,设计内容包括:
A/D
转换器程序、
控制程序、超标报警、键盘检测、数据显示等。
系统采用单片机为控制核心,以实现便携式酒精浓度检测仪的基本控制功<
/p>
能。系统主要功能内容包括:数据处理、超标报警。本系统设计采用功能模块化
的设计思想,设计器件简介和选择;电路的设计和调试。
硬件设计部分主要包括:
MCU
、
A/D
、
LCD
、外围扩展数据<
/p>
RAM
等芯片的选择。
四.本章小结
如今各个地方对安全意
识增强,对检测的精度高,准确度高,携带方便要求。
再加上气体传感器的发展,单片机
具有受集成限制,
片内储存量较小,可靠性好,
扩展简单,控制
功能强等特点,基于单片机的酒精浓度检测仪的研究和开发生产
具有十分广泛的现实市场
和潜在的市场需求。
本章主要从单片机和传感器以及基于单片
机的酒精浓度监测仪的研究背景,
国内外现状及其发展趋势,本设计所要实现的目标三个
方面作出的阐述。其中最
重要的是本设计所要实现的目标,其次是基于单片机的酒精浓度
检测仪的发展趋
势。
III
第二章
设计方案和元器件选择
通过对单片机
和传感器的了解,在智能仪表上的优势有很多,耗能小、准确
度高、超强集成化、以及稳
定性能等等,注定了单片机在各个领域的应用。所以
在酒精浓度检测的设计中也选择了单
片机作为控制核心。同时需要的部件包扩酒
精浓度传感器、数模转换器、、
LED
显示器、键盘以及声音报警。无需其他计算
机
,用户就可以进行交互工作,完成数据的采集、储存、计算、分析等过程。该
仪器电路简
单,软件功能完善,灵敏度高,工作性能好,并且具有尺寸小、方便
携带、低功耗、低成
本等优点。
一.
设计方案
由酒精浓度测试仪对待测气体(液体)进行检测,气体传感器是将一种气体
体积分时转
化成对应电信号的转换器。探测头通过气体传感器的对气体样品进行
处理,通常包括滤除
杂质和干燥气体、干燥或制冷处理,样品抽吸,甚至对样品
进行化学处理,以便化学传感
器进行更快的测量。转换成输出电压信号。然后以
单片机为核心的控制:定时进行各个功
能模块的自诊断,并对外界的异常情况做
出快速处理。对无法解决的问题,应及时切换到
后背装置或报警。具有完善的输
入输出通道和实时控制能力:
对
生产过程进行检测和控制,
有多种信号需要传送,
因此要求系统
配备完善的模拟量和数字量输入输出通道和完善的中断系统和处理
功能。信号采集处理、
声光报警电路以及显示、键盘、
PC
接口电路。测试仪进行
p>
气体检测的基本步骤是单片机采集酒精传感器的响应信号,并且进行转换,模数
IV
转换就是用于快
速,高精度的对输入信号采样编码,然后转化成数字量储存在数
据储存器中,然后单片机
通过特定的算法进行气体浓度的识别,同时和所设值进
行对比,超出则报警同时显示浓度
数值,没超出只显示浓度数。并且将结果输出
到
LCD
显示屏幕上。
二.元器件选择
1.
单片机的选择
< br>本系统采用单片机为控制核心。我们选择单片机
STC89C51
为控制核心;主
要基于考虑
STC89C51
是无法解密低功耗
,
超低价高速,高可靠强抗静
电,强抗干
扰
,
功能强大的单片机。<
/p>
STC89C51
有
< br>40
个引脚,
32
个外部双向输
入
/
输出(
I/O
)端口,同时内含
2
个外中断口,
3
个
16
位可编程定时计数器
,2
个全双工串行通信口,
2
< br>个读写口线,
片内振荡器及时钟电路,
89C5X
p>
可以按照常规方法进行编程,也可以在线编程。
同时
STC89C51
可降至
0Hz
的静态逻辑操作,
并支持两种软件可选的节电工作模式。
空闲
方式停止
CPU
的工作,但允许
RAM
,定时
/
计数器,串行通信口及中断系
统继
续工作。掉电方式保存
RAM
中的
内容,但振荡器停止工作并禁止其他所有部件工
作直到下一个硬件复位。其将通用的微处
理器和
Flash
存储器结合在一起,特别
是可反复擦写的
Flash
存储器可有效地降低开发本。<
/p>
STC
单片机有
PDIP
、
PQFP/TQFP
及
PL
CC
等三种封装形式,以适应不同产品的需求。
[1]
STC89C51
单片机单片机引脚功能(如图
2.1
)
:
V
•<
/p>
Vcc
:电源电压
•
GND
:地
图
2.1
单片机引脚图
STC89C51
是的低电压,高性
能
CMOS 8
位单片机,片内含
8K
bytes
的可反复
擦写的只读程序存储器
(PEROM)
和
256K bytes
< br>的随机存取数据存储器,器件采用
高密度,
非易失性存储
技术生产,
与标准
MCS-51
指令系
统及
8051
产品引脚兼容,
片内置通
用
8
位中央处理器和
FLASH
存储单元,功能强大,
STC89C51
单片
机适合
于许多较为复杂控制应用场合
。
[3]
VI
主要性能参数:
< br>•
8K
字节可重擦写
FLASH
闪存存储器
•
1000
次写
/
擦循环
•时钟频率:
0Hz
—<
/p>
24MHz
•三级加密存储器
•
256
字节内部
R
AM
•
32
个可编程
I/O
口线
•
p>
3
个
16
位定时<
/p>
/
计数器
•
6
个中断源
•可编程串行
UART
通道
•低功耗的空闲和掉电模式
•片内振荡器和时钟电路
2.
传感器
气体传感器是气体检测系统的核心,通常安装在探测头内。从本质上讲,气
体传感器是一
种将某种气体体积分数转化成对应电信号的转换器。探测头通过气
体传感器对气体样品进
行调理,
通常包括滤除杂质和干扰气体、
干燥或制冷处理、
p>
样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快速地测量
。在
选择传感器的时候,一定要考虑到稳定性、灵敏度、选择性和抗腐蚀性,本系统
选择
MQ3
型酒精传感器。
MQ3
酒精传感器是
气敏传感器,其具有很高的灵敏度、
[2]
VII
良好的选择性、长期的使用
寿命和可靠的稳定性
。
MQ3
p>
型气敏传感器由微型
Al2O3
、陶瓷管和
SnO2
敏感层、测量电极和加热
器
构成的敏感元件固定在塑料或者不锈钢的腔体内,加热器为气敏元件的工作提
供了必要的
工作条件。传感器的标准回路有两部分组成:其一为加热回路;其二
为信号输出回路,<
/p>
它可以准确反映传感器表面电阻的变化。
传感器表面电阻
RS
的
变化,是通过与其串联的负载电阻
p>
RL
上的有效电压信号
VRL
输出面获得的
。
二者之间的关系表述为:
RS/RL=(VC
-
VRL)/VRL
p>
,其中
VC
为回路电压,
10V
。负
载电阻
RL
p>
可调为
0.5
~
2
00K
,
加热电压
Uh
为
5V
。
上述这些参数使得
传感器输出
电压为
0
~
5V
。
MQ3
型气敏传感器
的结构和外形如图所示,标准回路如图所示。
为了使测量的精度达到最高,误差最小,需
要找到合适的温度,一般在测量前需
要将传感器预热
20s
p>
。
[6]
[4]
图
2.2 MQ3
的结构和外形
VIII
图
2.3 MQ3
标准回路
3.
数模转换器
实现
A/D
转换的基本方法很多,有计数法、逐次逼近法、
双斜积分法和并行
转换法。由于逐次逼近式
A/D
转换具有速度,分辨率高等优点,而且采用这种方
法的
ADC
芯片成本低,所以我们采用逐次逼近式
A/D
转换器。逐次逼近型
ADC
包
< br>括
1
个比较器、一个模数转换器、
1
个逐次逼近寄存器(
SAR
)和<
/p>
1
个逻辑控制单
元
。逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成
1
位转换,依次类推
,
转换完成后,输出二进制数。
这类型
ADC
的分辨率和采样速率
是相
互牵制的。优点是分辨率低于
12
位时,价格较低,采样速率也
很好。
ADC0832
模数转换器具
有
8
位分辨率、双通道
A/D
转换、输入输出电平与
TTL/CMOS
相兼容
、
5V
电源供电时输入电压在
0
~
5V
之间、工作频率为
250KHZ
、
转换时间为
32
微秒、一般功耗仅为
15MW
等优点,
适合本系统的应用,所以我们
采用
ADC0832
为模数转换器件。
ADC0832
具有以下特点:
•
8
位分辨率;
•
双通道
A
/D
转换;
•
输入输出电平与
< br>TTL/CMOS
相兼容;
•
5V
电源供电时输入电压在
0~5V
之间;
•
工作频率为
250KHZ
,转换时间为
32
μ<
/p>
S
;
[5]
IX
•
一般功
耗仅为
15mW
;
•
8P
、
1
4P
—
DIP
(双列直插)
、
PICC
多种封装;
•
商用级芯片温宽为
0
度
to +70
度,工业
级芯片温宽为
−
40
度
to
+85
度;
芯片接口说明:
•
CS_
片选使能,低电平芯片使能。
•
CH0
模拟输入通道
0
,或作为
IN+/-
使
用。
•
CH1
< br>模拟输入通道
1
,或作为
IN+
/-
使用。
•
GND
芯片参考
0
电位(地)
。
•
DI
数据信号输入,选择通道控制。
•
DO
数据信号输出,转换数据输出。
•
CLK
芯片时钟输入。
•
Vcc/REF
电源输入及参考电压输入(复用)
。
24C02
存储器
< br>在本设计中使用的是
24C02
存储芯片,是电可擦除的
PROM
,
8
个引脚功能及
两线串行接口。
电压允许范围
1.8V~5V
。
串行
E2PRO
M
是基于
I2C-BUS
的存储器件
,
遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪
器仪表及工业自动化控制中得到大量的应用。在一般单片机系统中,
2
4C02
数据
受到干扰的情况是很少的,
基本的读写功能外,
还对地址功能以及
WP
引脚保护功
能进行了全面的检测,发现一种
ATMEL
(激光印字)以及
XICOR
牌号的<
/p>
24C02
具
X
有全面的符合
< br>I2C
总线协议的功能,
而有些牌号
24C02
要么没有
WP
引脚保护
功能,
要么没有器件地址功能(即
2
片
24C02
不能共用一个
I2C
p>
总线)
,有些甚至两种
功能均无。所以说一
些同样功能型号的电子器件在兼容性上往往会带来意想不到
的问题,值得引起注意。
p>
5
.
LCD
p>
显示
液晶显示模块与计算机的接口电路有
两种方式。它与单片机的接口方法分为
直接访问方式和间接控制方式。
< br>
直接访问方式是把液晶模块作为存储器或
I/O
设备直接接在单片机的总线
上,单片机以访问存储器或
I/O
设备的方式操作液晶显示模块的工作。间接控制
方式则不使用单片机的数据系统,而是利用它的
I
/
0
口来实现与显示模块的联
系。
< br>即将液晶显示模块的数据线与单片机的
P0
口连接作为数
据总线,
另外三根时
序控制信号线通常利用单片机的
P2
口中未被使用的
I
/
O
口来控制。这种访问方
式不占用存储
器空间,
它的接口电路与时序无关,其时序完全靠软件编程实现
。
LCD1602
字符型液晶显示模
块是一种专门用于显示字母、数字、符号等点阵
式
LCD
,目前常用
16
×
1
,
16
×
2<
/p>
,
20
×
2
p>
和
40
×
2
行等的液晶显示模块,模块组
件内部主要由
L
CD
显示屏、控制器、列驱动器和偏压产生电路构成。
1602
液晶显示屏采用标准的
16
脚接口,其中各接口的功能如下表(
2-1
)所
示:
引脚
号
1
2
引脚名
VSS
VDD
电平
输入
/
输出
引脚说明
电源地
电源正极
(+5V)
[7]
XI
3
4
VL
RS
0/1
输入
液晶显示偏压信号
数据
/
命令选择端,
0
:输入指
令,
1
:
输入数据
读
/
写选择端,
0
:向
LCD
写入指令或
p>
数据,
1
:从
LC
D
读取信息
使能信号,
1
时读取信息,
1
→
0(
下降
沿
)
执行指令
数据总线
(
最低位
)
数据总线
数据总线
数据总线
数据总线
数据总线
数据总线
数据总线
< br>(
最高位
)
LCD
背光电源正极
LCD
背光电源负极
5
R/W
0/1
输入
6
7
8
9
10
11
12
13
14
15
16
E
D0
D1
D2
D3
D4
D5
D6
D7
BLA
BLK
1
→
0
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
+VCC
接地
输入
输入
/
输出
输入
/
输出
输入
/
输出
输入
/
输出
输入
/
输出
输入
/
输出
输入
/
输出
输入
/
输出
表
2-1
LCD1602
的
16
管脚功能
三.本章小结
本章对本文设计的主要部件进行介绍,了解了相关部件的组成以及基本结构
基本工作原理,让我们对每个模块清楚其工作方式,工作步骤,以及工作原理。
各个元器件的作用功能后对本设计的分析,需要哪些元器件,具体到什么型号,
下面是
对各个元器件的选择,在元器件选择生起到指导作用,以及更好的发挥各
XII
个部件的功能作用。
根据对元器件的
选择基本了解到本设计以单片机为核心,由酒精浓度测试仪
对待测气体(液体)进行检测
,转换成输出电压信号,以单片机
STC89C51
为核心
p>
的控制、信号采集处理、声光报警电路以及显示、键盘、
PC
接口电路。测试仪进
行气体检测的基本步骤是单片机采集酒精传感器的
响应信号,并且进行转换,储
存在数据储存器中,然后单片机通过特定的算法进行气体浓
度的识别,并且将结
果输出到
LCD
显
示屏幕上。
XIII
第三章
硬件设计
基于单片机酒精浓度检测仪
的硬件设计部分。首先,我们必须了解它的硬件
设计原理。其次,需要弄清楚它的总体构
成及具体的外围电路。最后,根据其原
理框图和具体的外围电路得到完整的硬件总电路图
。
一.硬件设计原理
由酒精传感器对待测气体(液体)进行检测,转换成输出电压信号,仪单片
机
为核心的控制、信号采集处理、声光报警电路以及显示、键盘、
PC
接口电路。
测试仪进行气体检测的基本步骤是单片机采集酒精传感器的响应信号,并
且进行
转换,储存在数据储存器中,然后单片机通过特定的算法进行气体浓度的识别,<
/p>
同时将分析的值与设定值进行对比,对超出设定值进行报警,并且将结果输出到
LED
显示屏幕上。
本
系统由酒精传感器,数模转换器,单片机,键盘,声音报警以及
LCD
< br>显示等部
分组成,在这次的整体设计中详细涉及下面几个方面
,
其原理框图如:图
3.1:
XIV
传感器
外部存储器
信号调制
液晶显示器
A/D
单片机
按
键
图
3.1
单片机与
< br>LCD
、键盘及声音报警电路的电路连接图
二.硬件设计的外围电路
1.
晶振电路
单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的
时间次序称
作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时
间基准,
89c51
的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟
方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组
合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机
< br>
XV
内,此方式常用于多
片
89C51
单片机同时工作,以便于各单片机的同步,一般要
求外部信号高电平的持续时间大于
20ns.
< br>且为频率低于
12MHz
的方波。
对于
CHMOS
工艺的单片机,外部时钟要由
XTAL1
端引入,而
XTAL2
端应悬空
。
本系统中为了尽量降低功耗的原则,采用了内部时钟方式。
[8]
图
3.2
晶振电路图
< br>在
89C51
单片机的内部有一个震荡电路,只要在单片
机的
XTAL1
和
XTAL2
引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉
< br>冲信号,图中电容器
C1
和
C2
稳定频率和快速起振,电容值在
5
—<
/p>
30pF
,典型值
是
22pF
,晶振
CYS
选择的是<
/p>
12MHz
。
XVI
2.
复位电路
单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条
程序和如何
开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误
动作,导致严重事故
的发生;内部一些控制寄存器(专用寄存器)内容不确定可
能导致定时器溢出、程序尚未
开始就要中断及串口乱传向外设发送数据。因此,
任何单片机在开始工作前,都必须进行
一次复位过程,使单片机处于一种确定的
状态
。
当在
89C51
单片机的<
/p>
RST
引脚引入高电平并保持
2
个机器周期时,单片机内
部就执行复位操作(若该引脚持续保持高电平,
单片机就处于循环复位状态)
。
实际
应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与
按键均有效的复位
,上电复位,要求接通电源后,单片机自动实现复位操作。常
用的上电复位,上电瞬间<
/p>
RST
引脚获得高电平,随着电容
C1<
/p>
的充电,
RST
引脚的
< br>高电平将逐渐下降。
本设计中复位电路采用的是开关复
位电路,开关
S9
未按下是上电复位电路,
上电复位电路在上电的瞬间,
由于电容上的电压不能突变,电容处于充电
(导通)
状态,故
RST
脚的电压与
VCC
相同。随着电容的充电,
RST
脚上的电压才慢慢下
降。选择合理的充电常数,就能
保证在开关按下时是
RST
端有两个机器周期以上
的高电平从而使
STC89C51
内部复位。开关按
下时是按键手动复位电路,
RST
端通
过电阻与
VCC
电源接通,通过电阻的分压就可以实现单片机的
复位。
[9]
XVII
p>
图
3.3
复位电路图
RST
引脚的高电平只要能保持
足够的时间(
2
个机器周期)
,单片机
就可以进
行复位操作。该电路典型的电阻和电容参数为:晶振为
12MHz
时,
C1
为
10uF
:
R4
为
8.2
3.
报警设计
在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,
供操作人员参考,了解系统的工作状况。但对于某些紧急状态,比如系统检测到
的错误状态等,为了使操作人员不至于忽视,及时采取措施,往往还需要有某种
更能引
人注意,提起警觉的报警信号。这种报警信号通常有三种类型:一是闪光
报警,因为闪动
的指示灯更能提醒人们注意;二是鸣音报警,发出特定的音响,
作用于人的听觉器官,易
于引起和加强警觉;三是语音报警,不仅能起到报警作
用,还能直接给出警报种类的信息
。其中,前两种报警装置因硬件结构简单,软
件编程方便,常常在单片机应用系统中使用
;而语音报警虽然警报信息较直接,
但硬件成本高,结构较复杂,软件量也增加。闪光报
警
XVIII
实现单频音报警的接口电路比较简单,只要当值高于警报值的
时候给一个低
电频就能驱动二极管发光
,
简单易懂。
以下为报警电路接线图见图
3.4
图
3.4
报警电路图
这一章比较具体的说明了
系统硬件设计的内容,通过模块化的设计思想,把
一个复杂的单片机系统按照功能划分成
一个个单独的电路模型,分别进行设计,
最后在集成到一起。这种方法对于设计复杂的单
片机系统很有效。大大提高系统
设计的效率与质量
[11]
p>
。
XIX
4.
电源电路
在本次设计中,需要一个比较大的电压源和一个
5V
的单片机
供电源,为了
实现便携式,
设用一个
9
V
的电压源,
一般
6
< br>节电池和一个
9V
的电池都可以提供,
< br>因而需要一个电压转换吧
9V
转换成
5V
。
工作原理如图
4.11
p>
低压层直流稳压电源
电路原理图。该电路是由基准电压、
电压放大和电流放大等
3
个环节组成。其中,
p>
基准电压产生,按图中电路连接,当通过
R0
的电流在
0
.
5~10 mA
时可获得稳定
的
2
.
5 V
基准输出。
XX
p>
图
3.5
低压层电路原理图
输出电压的具体数值由运算放大器
UA
确定,采用同相放大器的优越性在于
其输入阻抗极大,可很好地将
TL431
输出的
2
.<
/p>
5
V
电压与后级电路隔离,使其
不受负载变化的影响;运放与电阻
R3
和
p>
R2
组成比例放大环节,
可对基准电压按<
/p>
要求进行比例放大输出,但输出电压最大不能超过运放的电源电压。
5.
信号调制电路
图
3.6
信号调制放大电路
图
3.6
是酒精传感器电极信号调理电
路
采集
到的信号都会很弱,
首先将信
号经过二阶有源滤波电路以后,经
过
3
级放大电路,同相和反相放大电路构成一
< br>级和二级,互相抵消了零度漂移和失调,后面的差动放大电路构成第三极,将差
分
出入转换为单端输出。
XXI
6.A/D
转换设计
正常情况下
ADC0832
与单片机
的接口应为
4
条数据线,
分别是
CS
、
CLK
、
p>
DO
、
DI
。但由
于
DO
端与
DI
端在通信时并未同时有效并与单片机的接口是双向的,所
以电路设计时可以将
DO
和
DI
并联在一
根数据线上使用。
当
ADC0832
未
工作时其
CS
输入端应为高电平,此时芯片禁用,
CLK
和
DO/DI
的
电平可任意。当要进行
A/D
转换时,须先将
< br>CS
使能端置于低电平并且保持低电平直到转换完全结束
[12]
。
此时芯片开始转换工作,同时由处理器向芯片时钟输
入端
CLK
输入时钟脉冲,
DO/D
I
端则使用
DI
端输入通道功能选择的
数据信号。
在第
1
个时钟脉冲的下沉
之
前
DI
端必须是高电平,表示启始信
号。在第
2
、
3
个脉冲下沉之前
DI
端应输入
2 <
/p>
位数据用于选择通道功能
.
如图
3.7
3.7
模数转换电路图
本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入
以及和<
/p>
LCD
连接显示运行状态和运行结果。键盘分为:独立式和矩阵式
两类,每
一类按其编码方法又可以分为编码和非编码两种。由于本系统只有
+
、
-
、设置、
XXII
确认
4
个控
制命令,
所需按键较少,
所以本系统选择独立式按键。
电路图见图
3.8
3.8
按键电路图
独立式按键是直接用
I/O
口线构成的单个按键电路。每个独立式按键占有一
根
I/O
口线。各根
I/O
口线之间
不会相互影响键盘抖动的消除:抖动的消除大致
可以分为硬件削抖和软件削抖
[14]
。
①硬件削抖
是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,
经过削抖电路后使按键的
电平信号只有两种稳定状态。
②软件削抖的基本原理是当检测
出键盘闭合时,先执行一个延时子程序产生
数毫秒的延时,
待接
通时的前沿抖动消失后再判别是否有健按下。
当按键释放时,
也
要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。
③
由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件
XXIII
延时削抖的方法。
7.
外围扩充存储器电路
基于
STC85C51
单片机具有
4KB
的程序存储器(
ROM
)
,
256B
的数据存储器
(
RAM
)
,由于考虑到
本系统的数据处理与存储所需的容量,现在需要扩充存储器
的容量。
在应用中要保存一些参数和状态,
据了解基于
EEPROM
的存储芯片是一种
很好的选择
图
3.9
外围扩充存储电路图
[15]
。我们选定了
AT24C02
存储器。电路图
见图
3.9
:
三.本章小结
本章主要介绍了硬件设
计的原理及具体外围电路。
二者紧密联系,
不可分割。
我们只有了解了基于单片机的酒精浓度检测仪原理之后,我们才可能联想设计出
< br>它的原理框图,从而确定它是由主控芯片、电源输入部分、键盘输入部分、复位
XXIV
部分、晶振部分、显示部
分、报警部分等组成大的。然后,设计各个具体部分的
电路以实现其对应的功能
[16]
。最后,将具体的外围电路和
STC8
9C51
单片机的对
应引脚连接起来,以完成本设计
XXV
VCC
U4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
+
_
U1
1
2
3
4
CS
VCC
CH0
p>
CLK
CH1
DI
GND
DO
8
105
< br>106
107
S1
S2
1
2
3
4
5
6
7
8
< br>9
10
11
12
13
14
15
16
17
18
19
20
U3
80C51
p1.0
VCC
p1.1
P0.0/AD0
p1.2
P0.1/AD1
p1.3
P
0.2/AD2
p1.4
P0.3/AD3
MOSI/P1.5
P0.4/AD4
MISO/P1.6
P0.5/AD5
SCK/P1.7
P
0.6/AD6
RST
P0.7/AD7
RXD/P3.0
EA/VPP
TXD/P3.1
ALE/PROG
INT0/P3.2
PESN<
/p>
INT1/P3.3
P2.7/A15
T
0/P3.4
P2.6/A14
T1/P3.5
P2.5/A13
WR/P3.6
P2.4/A12<
/p>
RD/P3.7
P2.3/A11
XTA
L2
P2.2/A10
XTAL1
P2
.1/A9
GND
P2.0/A8
PD
IP
AT89S51
C1
40
39
38
37
36
p>
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
确
认
设
置
S4
U2
I2C
SDA
SCL
TRIG
6
5
p>
7
U5
SCL
A0
SDA
A1
WP
A2
AT24C02
1
2
3
D1
R7
10k
LED
Q1
PNP
X
2
22pF
C3
VCC
S5
SW-PB
R5
1k
p>
4
Q1
B
F
B
A
F
A
VC
R3
10k
E
R4
CRYSTAL
C2
10k
22pF
U?
3
10K
4
2.5K
5K<
/p>
4
6
2
U?
p>
3
6
2
EL217
0
10K
7
5K
5K
EL2170
10K
10K
p>
6
U?
3
2
5K
2.5
EL2170
100K
C
33K
180K
C
33K
4
U?
p>
3
6
2
EL217
0
XXVI
7
7
S3
GND
VCC
VO
RS
RW
< br>E
DB0
DB1
DB2
DB3
DB4
DB5
D
B6
DB7
BG VCC
BG GND
LS1
SPEAK
vc
VH
3.10
硬件设计部分
第四章
系统软件的设计
< br>对于单片机的开发应用中,逐渐引入了高级语言,
C
语言
就是其中的一种。
汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见
的有
C
语
言、汇编语言。汇编语言的机
器代码生成效率高,控制性好,但就是移植性不高。
C
语言编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处
理器都支持
C
编译器,这样意味着处理器也能很快上手。且具
有良好的模块化、
容易阅读、维护等优点,且编写的模块程序易于移植。基于
C
语言和汇编语言的
优缺点,本系统采用
C
语言编写方法
[17]
。
软件编写的主体思路是将系统按功能模块化划分,然后根
据模块要实现的功
能写各个子程序。整个软件程序的编写采用查询式方式编写的。
程序编写包括主程序,液晶显示程序,存储程序,
< br>AD
转换程序和时钟程序。
详情见附录
< br>
一.主程序
主程序实现的功
能:与硬件相结合实现便携式酒精浓度检测仪的各个功能。
主要是检测与显示,数据存储
。功能子函数的调用。见图
4.1
XXVII
首先开启启动按钮,启
动单片机和显示器,同时对单片机内部进行初始化,
紧接着初始化显示屏,初始化完毕后
显示开机画面显示主菜单,然后对键盘的读
入。
XXVIII
读键
结束
图
4.1
主程序流程图
二.
< br>A/D
转换模块程序流程图
⑴模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为
< br>MCU
能够处理的数字信号,并传送给
MCU
。
A/D
芯片的数据
CS
口,连接
51
单片机的
P3.1
口,
CLK
接
P3.2
,
D1
和<
/p>
D0
接
P3.3
口。
工作时序如下所示:
ADC0
832
有
8
只引脚,
< br>CH0
和
CH1
为模拟输入端,
CS
为
片选引脚,只有
CS
置低才能对
ADC0832
进行配置和启动转换。
CLK
为
AD
C0832
的
时钟输入端。
CS
在整个转换过程中都必须为低,当
CS
为低时
,在数据输入端
DI
(数据输入端)加一个高电平,接着在
p>
CLK
上加一个时钟,
DI
上的逻辑
1
就会使
ADC08
32
的
DI
脱离高阻态,
然后通道配置数据伴随着时钟通过
DI
端移入多路器
,
当最后一位数据移入多路器时,
,
D
I
变为高阻态,在这以前
DO
(数据输
出端)都
为高阻态。在经过一个时钟,
DO
脱离高阻态,从而启动转换。接着从处理器接收
时钟信号,
每经过一个时钟,
转换后的数据就会从高位到低位依次从
DO<
/p>
移出,
经
过
8<
/p>
个时钟后,
数据又以从低位到高位的形式从
DO
移出
(也是每个时钟移一位)
。
当最后一位数据移出时转换完成。当
CS
从低变为高时,
ADC0832
内部所有寄存器
清零。如想要进行下一次转换,
CS
必须做一个从高
到低的跳变,后跟着地此配置
数据重复上面的过程。
⑵
ADC0832
转换的流程图见下图
4.2
XXIX
开始
使能芯片
输
入
通
道
控
制<
/p>
读取
2
字节数据
字节数据校正
送入指定寄存
结束
图
4.2
数转换流程图
三.按键程序流程图
⑴按键时显现人
机对话的一个控制按钮,通过按键的操作,对系统进行发送
操作指令,后经与
MCU
串行通信,然后在液晶上显示。
⑵按键查询式的流程图见下图(图
4.3
)
p>
:
按键的四个键分别接
P1.0,P1.1,P1.2,P1.3,
由于
P1
口具有上拉电阻,
所以不
在需要加上拉
电阻进行电压的放大。
XXX
N
开始
按键程序入口
按键按下?
Y
调用延时程序
N
按键释
放?
Y
键值传送
结束
图
4.3
按键查询式的流程图
四.液晶显示程序流程图
LCD
p>
模块在本系统中主要起着开界面汉字显示,以及各控制效果的显示。采
用直接访问方式。液晶显示的操作流程图见下图
4.4
:
p>
XXXI
开始
入口
读状态字
否
忙
?
是
写指令
代码
/
显示数据
读显示数据
结束
图
4.4
液晶显示的操作流程图
在
LCD1602
液晶上显示相应的读写数据。在液晶上显示的格式如下:
XXXII
C
W
0
R
2
:
0
A
1
D
0
D
R
E
R
S
E
S
A
:
D
0
:
X
0
0
1
1
0
五.本章小结
本章主要介绍了软件设
计的主程序流程图、
A/D
转换模块程序流程图、按键
程序流程图。液晶显示程序流程图,我们只有充分理解了各个流程图以后,才能
< br>运用汇编语言完成本设计的软件系统编程。最终,完成此次设计。
第五章
本设计总结与展望
由于检测仪向更迅
速更快捷发展,方便携带等要求发展。传统的机械检测仪
或酒精计一般灵敏度和准确度也
比较低或者检测方法难。
工厂企业到居民家庭,酒精泄露的检
测,食品加工,酿酒等需要监控空气中
酒精浓度的场合监控以及对酒后驾车的检测,对居
民的人身和财产安全都十分重
要且必不可少的,现如今,
由于人
们安全意识增强,
对环境安全性和生活适性
< br>要
求提高。人们对检测的精度高,准确度高,携带方便等等要求。再加上气体传感
器向低功耗、多功能、集成化方向的发展,单片机具有受集成限制,片内储存量
XXXIII
较
小,可靠性好,扩展简单,控制功能强等特点,因此,基于单片机的酒精浓度
检测仪的研
究和开发生产具有十分广泛的现实市场和潜在的市场需求。针对目前
的现状,该系统设计
遵守体积小,质量轻,性价比高的原则
[19]
。
便携式酒精浓度检测仪的设计主要分为硬件设计和软件设计。根据设计前对
该系统所要实现功能的要求,综合考虑我们采用
STC89C5
1
单片机为控制核心。
首先要了解系
统所要实现的功能;其次根据功能去选择相应的硬件资源;再
次将一个大的系统进行模块
化划分,然后逐一去攻破。最后把所有模块进行优化
整合,便得到了一个完整的系统。基
于这样的思路,完成了便携式酒精浓度检测
仪的基本设计
[20
]
。
软件是用
C
语言相编写的,
具有很好的编写语言的优点,
具有很好的可控性、
模块化和移植性。编写的思路就是模块化的思想,将系统
的各个功能进行划分,
然后对各个模块进行设计。本系统的主要模块为传感检测、
A/D
转换、液晶显示
和时钟设置。
此本设计采用传感器检测酒精浓度时输出的模拟信号,经
AD0832
转换输入
单片机,从而从液晶显示上显
示出来。通过对本次毕业设计
[23]
,我学习了很多在
大学遗漏的知识,让我在以后的工作中,更加的得心应手。
XXXIV
参考文献
[1]
何立民
.
单片机高级教程应用与设计
[M] .
< br>北京
:
北京航空航天大学出版
[2]
郑义
,
陈俊
.
用
AT89C52
和
TLC1543
实现数据采集系统
[J].
电子世界
,2004
[3]
郑学坚
.
< br>微型计算机原理及应用
.2006.
[4]
李维提
.
郭强.
《液
晶显示应用技术》
北京:电子工业出版社,
< br>2000
.
[5]
王幸之
.AT89
系列单片机原理与接口技术
,
2004.
[6]
何希才
p>
.
传感器及其应用。北京:国防工业出版社,
2001.
[7]
北京精电蓬远显示技术有限公司.<
/p>
内藏
KS0108B/HD61202
控
制器图形液晶显
示模块使用手册.
[8]
王幸之
.AT89
系列单片机原理与接口技术
[M].
北京:<
/p>
北京航空航天大学出版
社,
2004.
[9]
华成英
.
童诗白
.
《模拟电子技术基础第三版》
北京
:
高等教
育出版社
, 2004.
[10]
孙传友
.
< br>温控系统原理与设计。北京:北京航空航天大学出版社,
2002
[11]
林德杰
.
< br>电气测试技术。北京:机械工业出版社,
1993.
[12]
纪宗南
.
< br>单片机外围器件使用手册—输入通道器件分册
[M].
北
京:北京航空
航天大学出版社,
2005.
[13]
贾伯年
.
< br>传感器技术,南京:东南大学出版社,
2000.
XXXV
[14]
郑学坚
.
周斌
.
微型计算机原理及应用
[M].
北京:清华大学出
版社,
2006.
[15]
徐爱钧
.
彭爱华
.
《
单片机高级语言
C51
应用程序设计》
〔
M
〕
.
北京
工业出版
社,
1999.
[16]
马忠梅等
.
《单片机的
C
语言应用程序设计》
北京
:
北京航空航天大学出版
社,
1997.
[17]
赵阳
< br>.
电磁兼容工程入门教程
[M]
.
北京:
机械工业出版社,
2009
.
[18]
卢丽君
.
基于
TLC1543
的单片机多路采样监测系统的
设计
[J].
仪器仪表与
分析监测,<
/p>
2007.
[19] Italian Conference
on Sensors and Microsystems Di Natale, C.
Proceedings of the
7th Italian
Conference :sensors and microsystems : Bologna,
Italy, 4-6 February 2002
[M]. Singapore
;River Edge, N.J. :World Scientific,c2002.
[20] Power Integrations
TOPSwitch-HX Product Application Guide[J]
.
2007
,
05
,
02
.
[21]. LanJiChang C51 completely study
manual microcontroller [M].beijing: chemical
industry press, 2009.
[22] some fai, single-chip
microcomputer principle and application, chemical
industry
press, 2010,8
[23] Italian Conference on Sensors and
Microsystems Di Natale, C. Proceedings of the
7th Italian Conference :sensors and
microsystems : Bologna, Italy, 4-6 February 2002
[M]. Singapore River Edge, N.J. :World
Scientific,c2002.
XXXVI
XXXVII
致
谢
p>
我的这篇毕业论文的完成,我首先要向在论文写作中给予我悉心关怀、鼓
励和指导的老师致以深深的敬意和谢意
.
老师一丝不苟的钻
研精神
,
严谨求实的治
学态度
,
执着忘我的工作作风
,
独树一帜的思维方式
,
使学生受益匪浅
,
并终身难忘
.
应当归功于指导老师
闵佳园。她无论是资料整理还是在论文的撰写等各个方面都
给予了大量的指导和帮助,令
我不但完成了论文,也学到了许多书本上学不到的
知识,受益匪浅,特致以深深的感谢。
同时也要感各位同学的帮助。
四年的大学生活不知不觉中就要
结束了,在这段难忘的生活中,有我许多美
好的回忆。我的心中,除了不舍,还是不舍<
/p>
,
我想,有许多人是我要用一辈子去铭
记
的。
.
XXXVIII
1
.主程序
#include
#include
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
录
XXXIX
附
//
键盘
sbit k0=P1^0;
sbit k1=P1^1;
sbit k2=P1^2;
sbit k3=P1^3;
//
变量
bit flg=0;
//
数组
uchar
M_time[]={
时间
uchar
M_Detect[]={
检测
uchar
M_Storage[]={
存储
uchar stor[4];
//
以定义函数
void initial_lcd1602(void);
void delays1(uint n)
{
}
/*************
**
子程序
***********************
*/
void chang_h(void)
{
while(n--);
XL
int g;
if(k0==0)
{for(g=0;g<20;){delays1(100);g++;}
if(k0==0)
{wr_data[4]=readtimeR[4]+1;
if(wr_data[4]>0x23)wr_data[4]=0x00;
}
}
if(k1==0)
{for(g=0;g<20;){delays1(100);g++;}
if(k1==0)
{wr_data[4]=readtimeR[4]-1;
if(readtimeR[4]==0x00)wr_data[4]=0x00;
}
}
}
/*************
**************************/
void
chang_m(void)
DS1302_init();
showdata();
Display_List_Char(1,0,lcd_time);
XLI