资源描述
水工闸位测控系统设计
摘 要
本设计的内容是基于RS-485网络的水工闸位测控器的设计。它主要通过对闸位开度与上下游水位的实时监控,实现对闸门的自动控制,系统兼有就地控制与远程控制两种模式。
该测控器以C8051F020为核心元件,通过各类传感器采集现场信息,并能对相关状况进行相应的处理。系统通过控制电机的转动来驱动闸门的起闭,通过传感器实时监控闸门内外水位及各闸门的开度和运行状态信息,并能够在当地显示以上信息。并且具有当地设定闸门开度参数,闸门开度上、下限参数的功能。系统通过RS-485网络定时发送实时水位信息,闸门状态,上位机可以通过RS-485网络监控中心远程修改参数。同时系统具有故障报警与越限报警的功能。系统的各参数测量范围为:控制闸门开度在0~3m,误差不大于正负5mm;监控上下游水位为0~5m。
关键字:C8051F020,RS-485网络
Abstract
It is a design that based on the RS-485 network to monitor and control of the hydraulic gate. It is mainly through the real-time monitoring of the gate-opening and the water level downstream to control the gate automatically. There are two control modes in the control system: locally control and remotely control.
The monitoring and controling system makes C8051F020 as the core components. Through collecting information from various types of sensors at the scene, it can make the appropriate treatment relevant to the situation. The system drives the starting and closure of the gate by controlling the rotation of the Motor, makes real-time monitoring on the water level inside and outside the gates opening and information of operation state by sensor and is able to display more information locally. It also can set parameters of gate opening and the minimum locally. The system regularly sends information of real-time water level and gate status through the RS-485 network. At the sametimes, PC can amend parameters through the RS-485 remote network monitoring centre. And the system owns failure alarm and limited alarm. The range for each parameter is liked that: the opening of control gate is in 0 ~ 3 m; error is not more than plus or minus 5 mm; monitoring water levels on the lower reaches is 0 ~ 5 m.
Key word:C8051F020,The RS-485 network
目 录
目 录 III
1.绪论 1
1.1设计背景与研究意义 1
1.2设计的主要工作 1
1.3设计中拟解决的技术难题 2
1.4主要技术指标 2
2.方案设计 3
2.1系统总体结构及其功能 3
2.2方案设计 4
2.21方案一 4
2.22方案二 4
2.23方案三 5
2.3方案论证 5
2.4 方案确定 6
3.系统的硬件结构 8
3.1单片机及其外围电路 8
3.1.1微处理器C8051F020 8
3.1.1.2 C8051F020介绍 8
3.2.2. 8279总体介绍 10
3.2.2.2 8279的工作方式 11
3.2.2.3 8279的命令字及其格式 12
3.2.2.4 8279的状态字及其格式 16
3.2.2.5 8279数据输入/输出格式 16
3.3 LED显示 17
3.4 调理电路 18
3.5译码电路 19
3.6 RS485模块的介绍 19
3.6.3 上下位机间的通信过程 20
3.6.4 接口电路 20
3.6.5 MAX485接口芯片 21
3.7水位传感器 22
3.7.1水位传感器的选型 22
3.7.2水位传感器介绍 22
3.8 看门狗电路 23
3.8.1看门狗电路的选型 23
3.8.2 MAX1232介绍 23
3.8.3与单片机连接 24
3.9 报警电路的设计 25
4 系统的软件设计思想及编程实现 26
4.1系统软件设计思想 26
4.2系统主程序与中断程序 26
4.3.通信程序设计 31
4.4硬件驱动程序设计 34
结论 35
致 谢 38
附录 I
1.绪论
1.1设计背景与研究意义
地球上的水,尽管数量巨大,而能直接被人们生产和生活利用的,却少得可怜。人类真正能够利用的淡水资源是江河湖泊和水情中的一部分,约占地球总水量的0.26%。全球普遍存在着淡水资源短缺的问题,21世纪水资源正在变成一种宝贵的稀缺资源,水资源问题已不仅仅是资源问题,更成为关系到国家经济、社会可持续发展和长治久安的重大战略问题。
我国是一个水资源短缺的国家,水资源时空分布不均。近年来我国连续遭受严重干旱,旱灾发生的频率和影响范围扩大,持续时间和遭受的损失增加。我国水资源面临的形势十分严峻:水资源衰减严重;水情超采严重,带来许多环境问题;水污染严重,水生态环境恶化,用水安全受到威胁。针对这些问题,需要在技术、管理、政策等方面采取有力措施加以解决。其中,技术是根本,先进的水位监测设施可以为水资源的科学管理提供宝贵的数据资源,有助于指导水资源的合理开发与利用。
尽管我国的水文自动测报系统的建设和技术有了巨大的进步,但较国外先进水平而言,自动化发展较滞后,且存在着区域发展不平衡的问题。东南沿海地区起步较早,水情监测系统自动化程度较高,而内陆地区较为落后。所以从总体来说,我国在水情监测技术上与西方发达家还存在着很大的差距。
目前,我国大部分地区的水情监测网的建立还不够合理和完善,水情监测项目也不全面,监测方式很多为人工方式。因此,有必要采用自动化技术促进水情监测系统的发展。
在我国,关于水情信息的自动采集与处理技术己比较成熟,但在水情数据的远程传输方面主要集中在利用公用电话网,数传电台实现数据的远程传输。关于利用RS485网络实现数据的远程传输多为理论性研究,有关将这项技术应用于水情监测系统的研究很少。随着RS485网络技术的日趋成熟,利用RS485网络传输技术实现水闸水位信息的远程自动监测已成为可能。
1.2设计的主要工作
整个水工闸位测控器的设计主要是以为微控制器为核心,将由液位传感器采集的模拟信号,进行A/D转换,经微控制器处理,通过RS485网络向远端的上位机发送。
设计主要工作:
1)控制电机的转动,驱动闸门的起闭;
2)实时监控闸门内外水位及各闸门的开度和运行状态信息,并能够在当地显示以上信息;
3)具有当地设定闸门开度参数,闸门开度上,下限参数的功能
4) 根据监控中心的需要,通过RS-485网络定时发送实时水位信息,闸门状态;
5)可以通过RS-485网络监控中心远程修改参数;
6)具有故障报警与越限报警的功能;
7)按照MODBUS协议生成数据包。
1.3设计中拟解决的技术难题
1).合理设计整体电路,保证系统运行的可靠性、稳定性;
2).结合本设计的实际,研究RS485网络的通信协议及该网络的可靠性和有效性;
3).由于功能较多,因而编制程序需要仔细考虑,保证各程序模块执行流畅,维护方便。
1.4主要技术指标
本系统所实现的主要技术指标如下:
1)各参数测量范围为:
控制闸门开度在0~3m,误差不大于正负5mm;
监控上下游水位为0~5m;
2)实时采集周期不大于1分钟;
2.方案设计
2.1系统总体结构及其功能
设计总体结构如图2-1所示。水位监测中心包括装有数据库系统和监测中心软件的上位PC机,其功能是接收来自各个被测站点的水位信息,并将接收到的水位信息存储,也可远程修改监测终端参数,如修改接收信息用户手机号和修改采集周期与水位校正偏差的功能。本系统为RS485网络水工闸位测控器的设计,它主要由上位pc机和下位机通过RS485网络建立联系,上位pc机可通过远程来监测和控制下位机,下位机可通过键盘来键入闸位的初始值。下位机主要通过单片机来控制闸门的开启,电源的管理,处理通过传感器的检测的数值,判断其是否正常工作,若不能正常则判断后报警,其下位机的检测主要是闸位、水位的实时检测,通过转换成可识别的信息后通过单片机处理定时发送数据给上位机,为了保证电动机的正常工作进行电压电流的实时监测,以防止电机过电压过流欠电压等情况,这些监测数据经过单片机处理,再通过RS485模块转换发送给上位机,实现远程监控,上位机也可以发送数据给下位机,也通过RS485模块发送到下位机,从而实现控制下位机,在现场还可以通过键盘来设置闸门的开度,若是发现数据错误,经过确认后可报警。
图2.1.1设计总体结构图
测控终端分布于各个被测站点。对于不同的被测站点,测控终端能够实现水位数据的采集、计算、存储与现场显示,并可通过RS485总线现监控中心上位机发送水位信息。
2.2方案设计
2.21方案一
方案一采用工业控制计算机,组态系统和可编程、控制器(PLC)等组成-分布式计算机控制系统,它能实现闸门自动控制,实时监测系统各设备的运行和故障报警,指明故障部位和性质,使于尽快排除故障。系统采用了高可靠性的控制部件和软件容错技术,使系统具有抗干优、抗雷击、远程控制能力和多重保护功能;具有友好的中文操用界面和动态图形画面,使于有效地控管水闸和船闸体等全性。
系统电路原理图如下图所示。
组态系统
RS485网络
电 源
水位传感器
A/D转换
PLC控制器
显示
图2.1.2 方案一系统电路原理图
2.22方案二
监测站的传感器将水位这一物理量转换成模拟电信号传输至微控制器,微控制器对电信号进行A/D转换、计算,存储,并同时显示在显示屏上。当需要发送水位信息时,微控制器通过RS485网络将水位数据送至监控中心的上位PC机。
当监测中心需要向监测站发送指令信息时,监测中心将待发指令按规定的格式送至与之相连的微控制器,微控制器对收到的指令信息进行判断,然后完成相应的操作。
系统终端电路原理图如图2-3所示。
串行接口电路
复位芯片
时钟芯片
RS485网络
电源
水位传感器
A/D转换
微处理器
显示
图2.1.3方案二系统电路原理图
2.23方案三
方案三中下位机以 C8051F020单片机为测控器的核心,来控制闸门的开启,电源的管理,处理通过传感器的检测的数值,水位的实时检测,通过转换成可识别的信息后通过单片机处理定时发送数据给上位机,为了保证电动机的正常工作进行电压电流的实时监测,以防止电机过电压过流欠电压等情况,再通过RS485模块转换发送给上位机,实现远程监控。键盘显示电路是基于8279芯片的电路,8279 是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动显示功能。电流检测则采用LCTA11CE-50A/50m芯片电流互感器,电压检测采用电压互感器LCTV51CF-220V/0.5V,液位检测采用TC401系列 感应式数字液位传感器。报警电路采用声光报警。上位机也可以发送数据给下位机,也通过RS485模块发送到下位机,从而实现控制下位机,在现场还可以通过键盘来设置闸门的开度,若是发现数据错误,经过确认后可报警。
系统终端电路原理图如图2.2.3所示。
2.3方案论证
方案一是使用传感器将水水位转换成模拟电信号,将其进行A/D转换、计算,并同时显示在显示屏上,然后通过PLC控制器,和组态系统将需要发送水位信息通过RS485网络发送至监控中心的上位PC机,系统具有较高的性能,但技术较难,系统复杂,经济造价高。
方案二和方案三都是才用单片机作为测控器的处理器,有传感器采集信息,进行信号转换,但方案三的单片机比方案二的单片机功能强大,其内置有AD转换和较大的存储单元,并且性能优越,可靠性高;与方案二相比,方案三电路结构简单,但方案二造价较低。
8051F020 单 片 机
液 位 传 感 器
继 电 器 装 置
电压电流传感器
RS-485转化模块
声 光 报 警
LED 显 示
键盘输入
电 源
上位机
RS485
变送器
变送器
变送器
图2.2.3 方案三系统电路原理图
2.4 方案确定
在综合考虑三个方案的优缺点后,本设计最终选择方案三。
与系统相关的技术方案包括:电源方案、模拟量采集方案、处理器的选择及、串口通讯方案、显示方案、设置键盘方案的选择方案等。
1. 电源方案:本设计中的电源主要有三种:、+5V与正负15V。+5V的电源是供给各种集成器件使用的;而+15V的电源是供给水位传感器,运算放大器以及电压电流传感器的器件使用的。
2. 模拟量采集方案:由于本系统的C8051F020单片机内置有A/D转换功能,且具有8个模拟转换通道、转换速度快、性能稳定等特点,基本能够满足本系统的需要。
3. 处理器的选择及存储器的扩展方案:考虑到系统的实际技术要求,要采用以下的单片机和外部存储器的选型方案:单片机采用美Cygnal公司的C8051F020单片机;由于该芯片内置有较大的存储空间,故本设计不进行存储器的扩展。
4. 串口通讯方案:本监控模块需要通过RS485网络收发数据,由于单片机的工作电平为5V,而PC机RS-232串口电平为-15V到+15V,要实现单片机和上位机通讯,中间需要通过电平转换。电平转换芯片选用比较常用的串口电平转换芯片MAX1232,串口通信接口芯片选用MAX485。
5. 显示方案:译码器采用74LS138,驱动器采用BIC8708,将输入的BCD码数据转换为8段显示码输出到LED上显示。
6. 看门狗芯片选择方案:由于系统中的单片机C8051F020具有片内VDD监控器,看门狗定时器故本设计不需进行此项方案选择。
7. 设置键盘的方案选择:本设计采用INTEL8279 可编程的键盘、显示接口芯片,它既具有按键处理功能,又具有自动显示功能,内部有键盘FIFO (先进先出对站) / 传感器、双重功能的64BRAM ,键盘控制部分可控制8 ×8 = 64 个按键或控制8 ×8阵列方式的传感器。该芯片能自动消除键抖动并具有双键锁定保护功能。显示器RAM 容量为16×8 ,即显示器最大配置可达16 位LED 数码显示。它在单片机系统中应用广泛。
3.系统的硬件结构
多通道综合采集系统以C8051F020单片机为核心,主要由以下几部分组成:数据的采集、LED显示和数据通讯三部分。传感器输出的电流信号经过放大转换后,送至C8051F020内部的A/D转换器中,在单片机内部完成模数转换、数据存储、数据处理的工作,最后送到LED显示,同时经过RS-485接口送至计算机,由上位机进行实时监控。
3.1单片机及其外围电路
3.1.1微处理器C8051F020
3.1.1.1微处理器的选型
由于系统需24小时连续工作,因此设计必须尽可能降低对电能的消耗。所以本系统采用低功耗芯片C8051F020来满足系统低功耗性能的要求。
3.1.1.2 C8051F020介绍
C8051F020 器件是完全集成的混合信号系统级MCU 芯片,具有64 个数字I/O 引脚。下面列出了一些主要特性:
1) 高速、流水线结构的8051兼容的CIP-51内核(可达25MIPS)
2) 硬件实现的SPI、SMBus/I2C和两个UART串行接口
3) 片内看门狗定时器、VDD监视器和温度传感器
4) 真正8位500ksps的ADC,带PGA和8通道模拟多路开关
5) 具有5个捕捉/比较模块的可编程计数器/定时器阵列
6) 硬件实现的SPI、SMBus/I2C和两个UART串行接口
具有片内VDD 监视器、看门狗定时器和时钟振荡器的C8051F020/1/2/3 是真正能独立作的片上系统。所有模拟和数字外设均可由用户固件使能/禁止和配置。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051 固件。片内JTAG 调试电路允许使用安装在最终应用系统上的产品MCU 进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用JTAG 调试时,所有的模拟和数字外设都可全功能运行。每个MCU 都可在工业温度范围(-45℃到+85℃)内用2.7V-3.6V 的电压工作。端口I/O、/RST 和JTAG 引脚都容许5V 的输入信号电压。C8051F020/2 为100 脚TQFP 封装见下图
图3.11C8051F020引脚图
C8051F020 系列MCU 对CIP-51 内核和外设有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。扩展的中断系统向CIP-51 提供22 个中断源(标准8051 只有7 个中断源),允许大量的模拟和数字外设中断微控制器。一个中断驱动的系统需要较少的MCU 干预,因而有更高的执行效率。在设计一个多任务实时系统时,这些增加的中断源是非常有用的。MCU 可有多达7 个复位源:一个片内VDD 监视器、一个看门狗定时器、一个时钟丢失检测器、一个由比较器0 提供的电压检测器、一个软件强制复位、CNVSTR 引脚及/RST 引脚。/RST 引脚是双向的,可接受外部复位或将内部产生的上电复位信号输出到/RST 引脚。除了VDD 监视器和复位输入引脚以外,每个复位源都可以由用户用软件禁止;使用MONEN 脚使能/禁止VDD 监视器。在一次上电复位之后的MCU 初始化期间,WDT 可以永久性使能。MCU 内部有一个独立运行的时钟发生器,在复位后被默认为系统时钟。如果需要,时钟源可以在运行时切换到外部振荡器,外部振荡器可以使用晶体、陶瓷谐振器、电容、RC 或外部时钟源产生系统时钟。时钟切换功能在低功耗系统中是非常有用的,它允许MCU 从一个低频率(节电)外部晶体源运行,当需要时再周期性地切换到高速(可达16MHz)的内部振荡器。
图3.12 片内时钟和复位电路
3.2.2. 8279总体介绍
3.2.2.1 8279的介绍
图3.21 8279芯片图
本设计采用8279作为键盘的核心器件。8279是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。8279内部有键盘FIFO(先进先出堆栈)传感器,双重功能的8*8=64B RAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示RAM容量为16*8,即显示器最大配置可达16位LED数码显示。
(1)数据线
DB0→DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令。
(2)地址线
CS=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片内数据地址,故8279芯片占用2个端口地址。
(3)控制线
CLK:8279的时钟输入线。
IRQ:中断请求输出线,高电平有效。
/RD、/WR:读、写输入控制线。
SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。
RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。
SHIFT:来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的状态,该位状态控制键盘上/下档功能。在传感器方式和选通方式中,该引脚无用。
CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0---RL7的数据存入FIFO RAM中。
OUTA0---OUTA3:通常作为显示信号的高4位输出线。
OUTB0---OUTB3:通常作为显示信号的低4位输出线。
/BD:显示熄灭输出线,低电平有效。当/BD=0时将显示全熄灭。
3.2.2.2 8279的工作方式
8279有三种工作方式:键盘方式、显示方式和传感器方式。
(1) 键盘工作方式
8279在键盘工作方式时,可设置为双键互锁方式和N键循回方式。 双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入FIFO RAM中。 N键循回方式:一次按下任意个键均可被识别,按键值按扫描次序被送入FIFO RAM中。
(2) 显示方式
8279的显示方式又可分为左端入口和右端入口方式。
显示数据只要写入显示RAM,则可由显示器显示出来,因此显示数据写入显示RAM的 顺序,决定了显示的次序。 左端入口方式即显示位置从显示器最左端1位(最高位)开始,以后显示的字符逐个向右顺序排列;右端入口方式即显示位置从显示器最右端1位(最低位)开始,已显示的字符逐个向左移位。但无论左右入口,后输入的总是显示在最右边。
(3) 传感器方式
传感器方式是把传感器的开关状态送入传感器RAM中。当CPU对传感器阵列扫描时,一旦发现传感器状态发生变化就发出中断请求(IRQ置1),中断响应后转入中断处理程序。
3.2.2.3 8279的命令字及其格式
8279的各种工作方式都要通过对命令寄存器的设置来实现。8279共有8种命令,通过这些命令设置工作寄存器,来选择各种工作方式。命令寄存器共8位,格式为:
3.2.2 寄存器格式
如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,由命令寄存器高3位D7---D5决定。D7---D5三位的状态可组合出8种形式,对应8类命令。另一部分为命令的具体内容,由D4---D0决定。每种特征所代表的命令如表3.1所示 ,下面详细说明各种命令中,D4---D0各位的设置方法,以便确定各种命令字。
(1) 键盘/显示命令
分别如表3.2.3和表3.2.4所示。
D7 D6 D5 代表的命令类型
0 0 0 键盘/显示命令
0 0 1 时钟变成命令
0 1 0 读FIFO/.传感器RAM命令
0 1 1 读显示器RAM命令
1 0 0 写显示命令
1 0 1 显示静止/熄灭命令
1 1 0 清除命令
1 1 1 结束中断/出错方式设置命令
表3.2.3 8279命令特征表
特征位D7 D6 D5=000
D4、D3两位用来设定4种显示方式,D2---D0三位用以设定8种键盘/显示扫描方式。
D4
D3
显示方式
0
0
8个字符显示,左端入口方式
0
1
16个字符显示,左端入口方式
1
0
8个字符显示,右端入口方式
1
1
16个字符显示,右端入口方式
表3.2.4 显示方式
D2
D1
D0
键盘、显示扫描方式
0
0
0
编码扫描键盘,双键锁定
0
0
1
译码扫描键盘,双键锁定
0
1
0
编码扫描键盘,N键轮回
0
1
1
译码扫描键盘,N键轮回
1
0
0
编码扫描传感器矩阵
1
0
1
译码扫描传感器矩阵
1
1
0
选通输入,编码显示扫描
1
1
1
选通输入,译码显示扫描
表3.2.5 键盘/显示扫描方式
表3.2.3中所谓译码扫描指扫描代码直接由扫描线SL0---SL3输出,每次只有1位是低电平(4选1)。所谓编码扫描是指扫描代码经SL0---SL3外接译码器输出。
由于键盘最大8*8=64个键,由SL0---SL2接3---8译码器,译码器的8位输出作为键盘扫描输出线(列线),RL0---RL7为输入线(行线)。
8279最多驱动16位显示器,故可由SL0---SL3接4---16译码器,译码器的16位输出作为显示扫描输出线(16选1),决定第几位显示。显示字段码由OUTA0---OUTA3和OUTB0---OUTB3输出。表3.1、表3.2、表3.3三个表相互组合可得到各种键盘显示命令。
(2) 时钟编程命令 特征位D7 D6 D5=001
D4---D0用来设定分频系数,分频系数范围在0---31之间。用单片机的ALE端接8279的CLK端,但ALE端输出的脉冲频率比8279所需工作时钟频率(100KHz)高出很多,通过设置分频系数就可使8279得到所需的时钟频率。
(3) 读FIFO/传感器RAM命令。 特征位D7 D6 D5=010
D2---D0为8279中FIFO及传感器RAM的首地址。
D3 无效位。
D4 控制RAM地址自动加1位:D4=1时,CPU读完一个数据,RAM地址自动加1,准备
读下一个单元数据;D4=0时,CPU读完一个数据,地址不变。
(4) 读显示RAM命令 特征位D7 D6 D5=011
D4=1 RAM地址自动加1,D4=0不加1。
D3---D0为显示RAM中的地址
(5) 写显示RAM命令 特征位D7 D6 D5=100。
D4是地址自动加1控制,D4=1,地址自动加1;D4=0,地址不加1。D3---D0是欲写入的RAM地址,若连续写入则表示RAM首地址。命令格式同读显示RAM。
(6) 显示器禁止写入/熄灭命令
特征位D7 D6 D5=101
D4:无用位。
D3:禁止A组显示RAM写入,D3=1,禁止。
D2:禁止B组显示RAM写入,D2=1,禁止。
D1:A组显示熄灭控制。D1=1,熄灭;D1=0,恢复显示。
D0:B组显示熄灭控制。D0=1,熄灭;D0=0,恢复显示。
利用该命令可以控制A、B两组显示器,哪组继续显示,哪组被熄灭。
例:假设A、B两组灯均已被点亮,现在希望A组灯继续亮,B组灯熄灭,确定其命令字。
分析:根据命令格式,A组灯继续亮应禁止A组RAM再写入其他数据,故D3=1;B组显示熄灭D0=1,除特征位外其余位设为“0”。故其控制命令字为D7---D0=10101001B=A9H。
(7) 清除(显示RAM和FIFO中的内容)命令
特征位D7 D6 D5=110
D0为总清除特征位,D0=1把显示RAM和FIFO全部清除。
D1=1清除FIFO状态,使中断输出线复位,传感器RAM的读出地址清0。
D4---D2:设定清除显示RAM的方式,如表3.4所示。
D4
D3
D2
清除方式
1
0
X
将全部显示RAM清为0
1
1
0
将显示RAM置为20H(A组=0010,B组=0000)
1
1
1
将显示RAM置为FFH
0
D0=0,不清除;D0=1 扔按上述方式清除
表3.25 清除显示方式
(8) 结束中断/出错方式设置命令 特征位D7 D6 D5=111
D4=1时(其D3---D0位任意)有两种不同作用。
第一:在传感器方式,用此命令结束传感器RAM的中断请求。
因为在传感器工作方式时,每当传感器状态发生变化,扫描电路自动将传感器状态写 入传感器RAM,同时发出中断申请,即将IRQ置高电平,并禁止再写入传感器RAM。中断响应后,从传感器RAM读走数据进行中断处理,但中断标志IRQ的撤除分两种情况。若读RAM地址自动加1标志位为“0”,中断响应后IRQ自动变低,撤消中断申请;若读RAM地址自动加1标志位为“1”,中断响应后IRQ不能自动变低,必须通过结束中断命令来撤消中断请求。
第二:在设定为键盘扫描N键轮回方式时作为特定错误方式设置命令。
在键盘扫描N键轮回工作方式,又给8279写入结束中断/错误方式命令,则8279将 以一种特定的错误方式工作,即在8279消抖周期内,如果发现多个按键同时按下,则将FIFO状态字中错误特征位置“1”,并发出中断请求阻止写入FIFO RAM。
根据上述8种命令可以确定8279的工作方式。在8279初始化时把各种命令送入命令 地址口,根据其特征位可以把命令存入相应的命令寄存器,执行程序时8279能自动寻址相应的命令寄存器。
3.2.2.4 8279的状态字及其格式
状态字显示出8279的工作状态。状态字和8种命令字共用一个地址口。当A0=1时,从8279命令/状态口地址读出的是状态字。状态字各位意义如下:
D7:D7=1表示显示无效,此时不能对显示RAM写入。
D6:D6=1表示至少有一个键闭合;在特殊错误方式时有多键同时按下错误。
D5:D5=1表示FIFO RAM已满,再输入一个字则溢出。
D4:D4=1表示FIFO RAM中已空,无数据可读。
D3:D3=1表示FIFO RAM中数据已满。
D2---D0:FIFO RAM中数据个数。
显然,状态字主要用于键盘和选通工作方式,以指示FIFO RAM中的字符数及有无错误发生。
3.2.2.5 8279数据输入/输出格式
对8279输入/输出数据不仅要先确定地址口,而且数据存放也要按一定格式,其格式在键盘和传感器方式有所不同。
(1) 键盘扫描方式数据输入格式
键盘的行号、列号及控制键位置如下:
表3.2.6 键盘行列控制键
D7:控制键 “CNTL”状态。
D6:控制键 “SHIFT”状态。
D5 D4 D3:被按键所在列号(由SL0---SL2)状态确定)。
D2 D1 D0:被按键所在行号(由RL0---RL7)状态确定)。
(2) 传感器方式及选通方式数据输入格式
此种方式8位输入数据为RL0---RL7的状态。格式如下:
表3.2.7 传感器8位格式
3.2.2.6 8279译码和编码方式
8279的内、外译码由键盘/显示命令字的最低位D0选择决定。
D0=1选择内部译码,也称为译码方式,SL0—SL3每时刻只能有一位为低电平。此时8279只能接4位显示器和4×8矩阵式键盘。
D0=0选择内部编码,也称为编码方式,SL0—SL3为计数分频式波形输出,显示方式可外接4—16译码器驱动16位显示器。键盘方式可接3—8译码器,构成8×8矩阵式键盘。
3.2.8 16位显示器示意图
3.3 LED显示
3.3.1显示的选型
根据设计要求,监控终端必须具有当地显示水位的功能,因此要设计一个显示器。由于八段式LED具有结构简单、抗干扰能力强、功耗小等特点,本设计选用其作为显示器。但由于八段式LED不能译码,所以还需选择一个译码锁存器,本设计中采用Intel8279。
3.3.2介绍
LED显示器在许多的数字系统中作为显示输出设备,使用非常广泛。它的结构是由发光二极管构成a、b、c、d、e、f和g七段,并且每个LED还有一个发光段dp,一般用于表示小数点,所以将LED称为八段数码管。
LED内部的所有发光二极管有共阴极接法和共阳极接法两种,即将LED内部所有二极管阴极或阳极接在一起并通过com引脚引出,并将每一发光段的另一端分别引出到对应的引脚。通过点亮不同的LED字段,可显示数字0,1,┅,9和A,B,C,D,E,F等不同的字符及自定义一些段发光代表简单符号。
Intel8279是带锁存器的COMS型译码驱动器,可以将输入的BCD码数据转换为7段显示码输出。
3.4 调理电路
3.4.1调理电路用途
由于传感器输出的是电流信号,不能直接由A/D转换芯片直接处理,因此需要对电流信号进行调理,才能介入A/D转换芯片,将其转换为数字信号。
3.4.2调理电路原理
首先由传感器输出4ma~20ma的电流信号,通过一个利用同相放大电路,把电阻R1产生的输入电压变为标准输出电压。该同相放大电路的放大倍数为: A=1+R4/R3,取R3=100kΩ、R4=150kΩ、R1=200Ω,则0~10mA输入对应的0~5V的电压输出,取R3=100kΩ、R4=25kΩ、R1=200Ω,R2=200Ω、R5=20kΩ,C=20uF, 则4~20mA的电流输入则对应1~5V的电压输出。电容用来滤波,电阻R5用做输出限幅。
3.4.3与单片机连接
调理电路如下图所示。
图3.4.1 数据采集电路
3.5译码电路
3.5.1译码电路用途
本系统根据设计需要扩展了多个不同芯片,包括数据存储器、时钟芯片、A/D转换芯片等。这种情况下单片机工作时,关键是如何准确无误地选中所需要的芯片,所以必须设计译码电路,使系统能够正常工作。
3.5.2译码电路原理
单片机选择某一扩展芯片的过程简称选片。选片方法在电路形式上有两种:一种叫线选法,另一种叫译码法。
线选法是把单片机高位地址线分别与多个扩展芯片的片选端连通,控制选择各条线的电平,以达到选片目的。线选法优点是接线简单,适用于扩展芯片较少的场合,缺点是芯片地址不连续,地址空间利用率低。
译码法是通过译码电路决定扩展芯片地址的方法。译码电路常选用集成译码芯片如74LS138。
本系统采用线选法与译码法相结合的方式来实现译码电路。
3.6 RS485模块的介绍
3.6.1 RS485 总线基本特性
根据RS485 工业总线标准,RS485 工业总线为特性阻抗120Ω的半双工通讯总线,其最大负载能力为32 个有效负载(包括主控设备与被控设备)
3.6.2 RS485 总线传输距离
当使用0.56mm(24AWG)双绞线作为通讯电缆时,根
展开阅读全文