一种可插拔的智能操作器的设计_第1页
一种可插拔的智能操作器的设计_第2页
一种可插拔的智能操作器的设计_第3页
一种可插拔的智能操作器的设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种可插拔的智能操作器的设计

1智能操作器的设计在能源、供水、电源等分布的微型计算机监控系统中,能耗、水和气体的测量主要是为了记录表中和水中产生的脉冲信号。为获得计量表的基值,需要操作人员到现场记录,并人为地输入到系统中。这是件耗时又耗人力的事情。为了解决这一问题,我们设计了一种可插拔的智能手持操作器(简称手操器),工作人员可在现场将表的基值通过手操器直接传送给监控级。该手操器还可广泛用于智能仪表及数字控制器中,作为进行参数设定修改的友好人机设备。2监控系统硬件原理图手操器采用PC10编程器壳(外型尺寸180×76×29mm),由CPU、键盘、LED显示、通讯及供电5部分组成,硬件原理图如图1所示。(1)x系列分散机单元系统采用AT89C2051单片机作为主控单元。89C2051是美国ATMEL公司推出的AT89CX系列单片机中结构最紧凑、体积最小的单片机,片内有2k字节闪烁存储器,采用电擦除,最多可擦写1000次,便于软件升级和对不同应用环境修改操作规程。除没有外部程序存储器和外部数据存储器扩展功能外(无P0、P2口),它具备80C31单片机所有功能,并有兼容性好、价格低等特点。(2)前两行为+第三行为键盘为3×5行列式,其中行占用89C2051的P1口低3位,列占用P1口高5位,前两行为0~9数字键,第三行为5个功能键。在P1.0~P1.2口线上分别增加了一个二极管(D1~D3),这种设计可以防止不同行之间发生串键时P1.0、P1.1和P1.2中两个端口间形成环流而对端口造成损坏。(3)显示驱动系统手操器用8位LED进行显示,最高位为绿色,用于显示数据类型;其余为红色,用于显示数据大小。选用了MAX7219实现对LED的驱动控制,MAX7219是一种低功耗、单电源、串行输入输出的显示驱动器,其内部包括一个BCD译码器、16位移位寄存器、多位扫描电路、段和位的驱动器以及一个用于存储每个LED段码的8×8静态RAM。MAX7219只占用89C2051的P3.3、P3.4和P3.5三条口线(分别与MAX7219的LOAD、CLK、DIN管脚相连),控制8位LED的显示,因此本显示驱动系统具有硬件结构简单、体积小的优点。MAX7219的工作方式及对LED的控制是通过向相应寄存器中写入控制字来实现的,这些寄存器分别为暂停工作寄存器、关断方式寄存器、译码方式寄存器、亮度控制寄存器、显示位数寄存器、显示状态寄存器和8个数码管驱动寄存器。CPU每次向MAX7219输出16位二进制数据,用D15(最高位)~D0(最低位)来表示,其格式为:D15~D12为任意的二进制码,D11~D8为寄存器的地址,D7~D0为写入寄存器的控制字。CPU写数据时按由高位到低位的顺序进行:P3.5用于按位输出数据;P3.4在P3.5每输出1位时应产生一个上升沿电平,MAX7219接到该上升沿后将P3.5输出的数据读入16位移位寄存器中,每读入1位数据,移位寄存器内部各位顺次向前移位;在16位数据均写入移位寄存器后,P3.3产生一个上升沿电平,该信号使MAX7219将移位寄存器中的控制字写入到相应寄存器中,并对LED进行控制。(4)ro/txd和kxd本系统采用抗雷击的SN75LBC184芯片实现RS-485串行通讯,该片内A、B引脚接有高能量瞬变干扰保护装置,能承受峰值为400W的过压瞬变。89C2051的RXD和TXD分别与75LBC184的RO和DI相连,用于发送和接收数据;89C2051的P3.7与75LBC184的DE相连,用于收发转换的方向控制。为使手操器也能适应于RS-232通讯环境,在通讯电路增加了MAX232通讯芯片,根据需要在两种通讯芯片之间进行切换。(5)电源+vd转换由于印刷电路板面积较小,很难单独配置电源,因此借用外围设备的电源,经过升压或降压芯片转化为+5V电压为各芯片供电。本系统用MAX738将外围12V降为5V。3软件方案的设计为了提高通用性,软件采用模块化结构。程序分4个模块,即键盘程序、显示程序、通讯程序和主程序。(1)关键键的读取键盘程序分为查键和键处理两部分:查键程序采用行列扫描方式,检测是否有键按下并读取键值,程序还具有防止串键、按键连发等功能;键处理程序判断按键种类并转向相应的处理程序。(2)显示模块的实现显示程序模块由显示驱动程序、功能键与显示的接口程序及与数字键结合的7位数字移位显示程序组成。a.显示驱动程序显示驱动程序包括CPU将控制字写入MAX7219内部寄存器的程序(框图如图2所示)以及多种显示效果子程序。根据工作环境的需要,通过改变MAX7219寄存器的控制字可以灵活地实现不同的显示效果,例如多位闪烁显示、1位闪烁显示、显示位数控制、显示亮度控制等。以多位闪烁显示子程序为例,可通过改变关断方式寄存器的值来实现,程序框图如图3所示。b.功能键与显示的接口程序用户不仅可以通过键盘录入数据、修改数据、控制通讯,而且操作时的状态和结果可以按不同的效果实时显示。为便于用户操作,在程序中将5个功能键设计为一键一意,并为每个功能键编制了显示的接口程序。我们将5个功能键中的3个定义为“清除”、“确认”和“通讯”键;另两个键定义为数据的特征键,按特征键则最高位色LED显示数据的特征。在输入数据时LED为闪烁显示(用户可自行选择显示效果),当确认输入正确后,按“确认”键,LED停止闪烁,将数据保存到通讯缓冲区内;如发现输入不正确,按“清除”键将数据从RAM和LED中清掉。按“通讯”键则将数据发送给监控级,显示内容见通讯程序。c.移位显示程序用户输入数据时,该程序实现了LED显示位数与输入数据位数(最多7位)一致的移位显示。我们在RAM中设计了地址指针、计数单元和输入数据的存储区,在显示移位前,指针指向第一次输入数据(最高位)所在存储单元,计数单元记录当前数据输入的个数。程序步骤为:第一步用户按数字键后,CPU将新键值顺次置入存储区,计数单元加1;第二步程序确定指针所指数据存储单元应显示在第几位数码管并取数译码显示;第三步如果当前输入数据已全部显示则执行第四步,否则指针指向下一位数据所在存储单元重复第二步骤;第四步指针重新指向数据最高位所在单元并结束。(3)通讯故障的自诊断和显示故障是制定通讯程序规范的基础上的电路设计规范通讯采用89C2051单片机的通讯模式3,波特率为9600b/s。89C2051的P3.7需要预先设置,来选择本次通讯是发送还是接收数据。另外,程序可对通讯中的4种故障进行自诊断,并显示故障类型。4种故障分别为:显示ERROR1,表示与上位机握手失败;显示ERROR2,表示与上位机握手成功,但发送数据后上位机没有响应;显示ERROR3,表示校验和不正确;显示ERROR4,表示本次输入数据的大小超出规定的范围。程序框图如图4所示。(4)用户体验模块的实现主程序除对89C2051的PSW、定时器、通讯方式及MAX7219进行初始化外,其余部分可根据用户的需要通过调用上述3个模块来实现。4模块化通讯软件综上所述不难看出,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论