首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
测试测量
» 采用多单片机的液位监控仪
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
采用多单片机的液位监控仪
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2014-2-12 19:17
|
只看该作者
采用多单片机的液位监控仪
单片机
,
通用
,
监控
,
测量
,
能力
介绍把多个单片机用于一个多路液位监控系统的方法。说明用多个单片机的原因及用单片机取代I/O接口的理由,并对系统的软硬件设计、调试也做了说明。
采用单片机设计液位监控仪是很通用的做法。如果要测量的液位有很多路(16路以上),每路要求能滚动显示1年内每班、每日、每月的输入输出总量(1日3班),正常或意外停电数据不丢失,人机交互能力要强(要设置适当数量的按键及采用LCD显示),并且每路液位要求对应2路控制输出信号(液罐液体输入控制和输出控制),配置微型打印机端口,设置声音报警,所有这些无疑需要很多的I/O端口来支持,单凭一个单片机是办不到的,需要扩展I/O端口。在此设计中,笔者认为采用专用I/O扩展芯片有较多的弊端,权衡利弊,选择了用单片机来代替专用I/O接口芯片的方法。
1 专用 I/O芯片与单片机用作I/O芯片的对比
①专用I/O接口芯片的I/O口数量不比单片机多(笔者采用单片机型号为89C52);
②专用I/O接口芯片使用不灵活,几种使用方式已被芯片设计者设定,不能超出此范围变化,而单片机则受限制较小,使用起来较灵活;
③专用I/O接口芯片独立性差、智能性差,无论是接收输入信号还是输出控制信号,I/O专用芯片对信号的输入输出增色不能做出决定,必须要由单片机来做决定,仅起接力或过渡信号作用,没有监控能力,不能独立处理问题,而单片机则不然,可采用多种方式灵活处理问题;
④使用I/O扩展专用芯片就必须要熟悉它,工程技术人员一般对单片机的熟悉程度要比对它强很多,相比之下,使用它要浪费时间,再一个I/O扩展专用芯片的价格均要比单片机高,从成本核算上考虑不经济;
⑤专用I/O芯片实时性差,由于I/O扩展专用芯片仅起收发信号的作用,本身没有加工处理信号的能力,这样信号经过它来回的传递势必造成延迟,因而会出现实时性差的问题;
⑥使用单片机作I/O接口,便于软硬件设计模块化,分工清晰,给设计、调试、维护带来极大方便;
⑦使用单片机作I/O接口加强了对接口的监管力度,减轻了主单片机的负担。
2 硬件结构及分工
硬件设计共分如下几部分:单片机;A/D转换部分;控制信号输出部分;非易失性存储器(作RAM扩展);按键部分;显示部分;打印I/O端口部分;模拟开关部分。硬件结构框图如图1所示。
硬件设计中:
①单片机选用89C52,其特点是片内含有8KB ROM,不需片外扩展ROM;
②A/D转换器选用MC14433,其特点是转换精度高,抗干扰能力强,每秒可转换20次左右,因为液位变化不是很快,所以可满足监测液位变化的需要;
③控制信号输出采用单片机控制74LS373锁存器的方式,这样可通过增减锁存器个数的方式来增减控制输出端口数量;
④因每路要求能滚动显示1年内每班、每日、每月的输入输出量总量(1日3班),正常或意外停电数据不丢失,所以采用了AT29LV040A(512KB)的闪速存储器(也可采用FRAM),因89C52最多可外扩展64KB的RAM,为了保证有足够的存储空间可将AT29LV040A的A16、A17和A18地址线与1#单片机的某个端口连接,这样通过控制这3个地址线的变化就可达到使用AT29LV040A的512KB空间的目的。
⑤按键部分采用常规的非编码键盘方式即可;
⑥为了提高人机的交互能力,显示部分采用了GXM12864SL大屏幕LCD,这样屏幕上可显示自编的汉字、数字、等式及简单的图案;
⑦打印I/O端口,可根据要求进行相应的连接配置即可;
⑧模拟开关选用多片CD4051,它们与单片机配合,用于选择多路液位模拟量中的1路液位的模拟量,然后进行A/D转换。
由于选用了3个单片机,有效地解决了I/O端口不够用的问题,也使得在设计上简化了许多,只要按照常规的连接芯片方式即可,省去了很多的过渡芯片,如74LS244、74LS245、74LS73等,也使得软件设计变得简单容易。因硬件连接变得简单而且均为常规连接,所以本文没有提供详细的线路连接图。3个单片机之间的数据交换采用了串行口通信方式,如图1所示。本设计中,3个单片机采用同时复位,当然也可采用分开复位方式,但按键要增加,此种情况视要求而定。
3 软件结构设计
由于3个单片机同时复位,所以复位后3个单片机是处于并行工作状态的。1#单片机的主要工作是将所有路液位模拟量转换成数字量保存起来。它可根据键盘命令或系统默认格式将采集加工后的结果传送给2#单片机显示及3#单片机输出控制,也可根据命令只监测指定的某1路或某几路的液位变化。2#单片机的主要工作是读入键盘命令,加工处理后,向1#和3#发布命令,然后根据反馈结果在LCD上显示出来。也可根据1#单片要同采集到的数据,不断更新其显示内容。LCD显示方式可多种多样,可循环显示指定的某几路液位,或固定显示某1路液位,或循环显示某1个月的每天或某天的每班输入输出量等。每1路液体的比重、计算修正值、液位上下限高度设定等都可通过键盘输入并保存起来。也可通过键盘设定密码,防止别人或误操作破坏设定内容,键入方式应设计成无须看说明书,只要按照LCD显示上的提示进行选择即可。3#单片机的主要工作是根据键盘命令或1#单片机及时采集到的数据,发出控制信号或打印输出结果,打印输出格式可根据键盘命令进行选择。3个单片机的工作流程框图分别如图2、图3和图4所示。
3个单片机之间通过串行口,除传送正常的数据、命令外,3者之间还要进行互相监督(这是I/O扩展芯片很难做到的)。
①相互之间传送信息后一定要进行印证,也就是发送者要及时收到接收者的回执;
②3者之间定时互访,确保相安无事;
③每次上电复位除自检外,还要互检。
互相监督的目的是为提高整个系统的性能,为系统维护提供方便。1#和3#单片机上都配有2个发送二极管,用于监测指示另外两个单片机工作是否正常。2#单片机本身有LCD显示,无需发光二极管。串行通信中断服务程序、发送程序流程图及定时互访程序流程图等因比较简单没有给出。
4 调试
在一个系统中,使用多个单片机对整个系统调试确实会带来一些不便。系统中有多少个单片机最好就有多少个单片机开发装置,这对调试是有极大帮助的,因为在调试中可随时查看每个单片机的状态,但实际当中往往不会有多个,只有1个。
每个单片机的程序基本上是由两部分组成的,一部分是与其它单片机没有任何联系的独立部分,另一部分是单片机之间相互通信联系的部分(这部分程序量较小)。调试时先把单片机各自独立部分调试出来,这部分对单片机应用人员来说不会有问题。然后调试单片机相互之间的串行通信程序,先把相互之间的简单通信建立起来,相互之间能识别传递数据后,再逐步把完整的程序一步一步添加进去。在设计、编制程序时要想到如何调试,这样在编制程序时就会有意识地程序分成有效的块,调试时就可以一块一块地调试。多单片机调试方法较多,此是一孔之见。
结语
在一个液位监控系统中采用多个单片机是一种尝试,但它确实简化了系统设计,便于分工和多人投入协作,也便于产品改进更新。其最显著的效果是缩短了产品的设计、调试和生产的周期。
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议