(1)显示器接口设计
设计6位LED显示器作为仪表的显示输出。8155的PB口定义为输出口,其中低四位PB0~PB3输出显示数据的BCD码,并经74LS249 BCD译码器译码后送LED的段码端,PB4作为测量结果的小数点位经驱动器后接LED的小数点发光段;PB5作为极性控制位单独控制一个发光二极管以显示测量结果的正负。8155的PC口定义为输出口,PC0~PC5分别控制6位LED的位选通,实现动态扫描方式显示。
(2)键盘接口设计
在图2所示的键盘接口中,由6个键组成键盘。8031用外部中断INTO作为键盘状态输出。在6个键中,其中两个键定义为"加一键"和"减一键"。另外4个键分别为打印键,编程键,选项键以及复位键。按下编程键后,进入编程状态,用户输入平均仪表系数。选项键用来确定显示那种流量表达方式(如体积流量、质量流量等),键盘的列扫描信号来自于PC口输出的LED位选通信号:键盘的行输入信号由键盘是否闭合得到。没键按下,键状态为开,INTO位高电平,中断不被触发;若有键按下,键状态为闭,INTO由高点平变为低电平,中断由信号下降沿触发,从而向CPU发出中断请求。CPU响应中断后读取PC口的输出状态,判断PC0~PC5输出的低电平为即可完成键扫描和键识别。
(3)打印机接口设计
采用GP一16通用智能微型打印机,自带8039单片机。它可以把8031送来的数据以字符串、数据或图形三种方式打印出来;它与仪表的接口设计如图2所示,它的8根双向三态数据线D0~D7直接与8155的PA0~PA7相连,片选信号CS与8155的片选信号公用单片机系统译码器输出的端口地址Y7,WR和RD直接与8031的WR,RD相连,其硬件设计非常简单。
2 外部存储器的扩展
(1)程序存储器EPROM的扩展
由于8031片内没有EPROM,故8031单片机需要外扩一片EPROM2764(8K字节)。在P0口送出的低8位地址时,地址由信号ALE的下降沿控制锁存到锁存器中,高5位由P2.0~P2.4提供,锁存器采用74LS373锁存器,控制端直接与ALE相连。则程序存储器读选通信号PSEN控制EPROM2764的输出允许端OE。
(2)数据存储器的扩展
MCS一51单片机内RAM为128个字节,因其容量不能满足设计要求,故本机扩展8K字节静态RAM6264一片。本机外扩展的RAM和EPROM电路如图3所示:
图3 外部存储器扩展
从图中可以看出EPROM2764与RAM6264的地址范围是相同的,但是它们的控制信号是不一样的。2764的选通信号是PSEN,而6264的读入或写入是靠RD或WR型号控制,所以不会产生数据冲突问题。
软件设计 [6]
本机软件采用模块结构,其4个主要部分分别如下。
1 主程序
主程序为本仪器的监测程序。在程序运行中,必须首先对系统进行初始化,清各工作单元,置计数器及标志位初值,自检指示灯,开中断,启动计数器等工作。仪器采用微型键盘和LED指示灯相配合,使仪器的各种功能清晰有序。
键盘子程序包括:扫描键盘子程序。其功能是寻找是否有键按下,输入键值程序;键值扫描程序;表驱动程序;通用显示子程序等。键值扫描子程序的功能是根据按键的位置一行行的扫描。表驱动程序是判断按键是哪种功能键。通用显示子程序的功能是将显示缓冲区中的字码转换成段码送入显示器中,显示各种字型。几乎所有程序中都要用到这一程序,因此称之为通用显示子程序,以便与显示功能块相区别。
2 中断服务程序
仪器的测量、转换等程序均通过中断方式同主程序相连,单片机内的两个定时器计数器作为闸门使用。因为流量频率的测量很重要,所以定时器TO被用来测评,并定为高级中断。测量测频中断服务子程序流程图如图4所示。
3 功能块程序
仪器通过键盘输入命令,可随时得到用户所需的结果,这就要用到功能程序块。功能程序块包括:显示、打印、清零等功能块。显示功能块的作用是根据用户的需要转入相应的入口参数,再经过码之转换,送至显示缓冲区中。打印程序包括打印质量流量及体积流量、瞬时流量及累计流量。
4 使用计算子程序主要包括计算流量的程序
采用的是浮点制运算子程序,这些运算子程序可直接调用。
结 论
采用上述设计的智能化涡街流量计,可让用户结合现场具体工况,通过键盘方便地输入校正系数,完成了对涡街流量计非线性修正,拓宽了涡街流量计的应用范围。
图4 TO的中断子程序框图