毕业设计---水位检测仪系统.doc
文本预览下载声明
目 录
第1节 引 言……………………………………………………………………… 1
1.1 设计背景……………………………………………………………………1
1.2 系统功能说明………………………………………………………………1
第2节 硬件设计基本原理与实现方法……………………………………………2
2.1 水位检测与数据采集…………………………………………………… 2
2.2 数码管LED显示…………………………………………………………4
2.2.1 相关芯片简介………………………………………………………4
2.2.2 显示部分工作原理…………………………………………………5
第3节 系统软件设计……………………………………………………………8
3.1 初始化程序………………………………………………………………8
3.2 TMR1中断服务程序……………………………………………………9
3.3 数据转换子程序…………………………………………………………10
3.4 TMR0中断服务程序……………………………………………………11
3.5 程序清单…………………………………………………………………13
第4节 结束语……………………………………………………………………22
参考文献 ……………………………………………………………………………22
水位检测仪系统
第1节 引 言
水位检测和显示仪表装置在工业上有着广泛的应用。本设计采用的是一种低成本的数码管显示驱动方案。在对成本较敏感的小型系统中,该方案有着一定的参考价值。
1.1 设计背景
键盘和显示器是单片机系统中人机对话不可缺少的一部分。在许多智能仪表的设计中,多用LED数码管来显示。这是因为LED数码管驱动简单,成本较低并且能适应恶劣的环境。用于数码管显示驱动的芯片有很多种,常见的有MAX7219、MAX7221、ZLG7290、IMC7218B以及8279等。这些专用芯片使用方便、功能教强,但价格偏高。本设计中采用的循环扫描的方式,充分利用单片机快速的处理能力对各显示单元分时选通,只需普通的串行移位芯片,就可以达到显示驱动的目的。这种方法对单片机的CPU占用率相对较高,不适宜于CPU任务繁忙的场合,但是对那些功能相对简单,CPU相对空闲的中小型系统非常实用,能够大大降低系统成本。
1.2 系统主要功能
该装置对偏离零点的水位进行检测,然后将带符号的水位值(低于或高于零点)用数码管显示出来,并通过双色发光二极管LED阵列对水位高度进行模拟显示。整个装置主要包含水位检测和显示两个部分,现将每部分功能说明如下:
(1)水位检测:在0mm、±10mm、±25mm、±50mm、±80mm、±120mm、±160mm、±240mm共15点基础上,检测水位偏离零点的大小。
(2)水位显示:将上一步检测结果用数码显示出来,显示值以比实际水位小的最 近点为准,例如:水位实际高度为35mm,则数码管显示25mm。同时,用15个竖直排列的双色LED阵列直观的模拟当前水位高度,当水位没有达到某点相应的LED显示红色,达到或超过则显示绿色。当水位低于-240mm时报警灯显示绿色,高于+240mm时报警灯显示红色,当水位恢复正常值时报警灯熄灭。
第2节 硬件设计基本原理与实现方法
2.1 水位检测与数据采集
本设计采用电接点水位检测方法,在每一个预定水位检测点处,将两个电极安装在容器壁,使其一端能够与没过该点的水充分接触,另一端引出到容器外面同检测电路相连,两个电极等高度并间隔一定距离。当水位没有达到该检定点时,两个电极间电阻为无穷大;而一旦水位上升到该点高度,则两个电极同时没于水中,由于水的导电性,两个电极导通。通过检测两个电极是否导通就可以检测水位的高度了。对15 个检测点相应有15个检测通道,本设计运用了两片8通道的多路开关CD4051,对各通道循环检测来实现数据采集。
CD4051是一种双向8通道的多路开关,可以8路选通输入,1路输出;也可1路输入,8路选通输出。通过3为数据位A、B、C进行通道选择。禁止输入输出端INH可以禁止和允许工作。CD4051具有低接通电阻和低关断电流的特点,其引脚定义如图2.1所示,真值表如表2.1所示。
IN/OUT
VDD 1 0 3 A B C
16 15 14 13 12 11 10 9
0
1 2
显示全部