开封市中仪流量仪表有限公司
阅读:179发布时间:2021-12-27
智能电磁流量计软件系统的开发
3_3.1开发环境
MCS5l是世界范围内的8位控制器架构之一,虽然现在单片机的主流市场已不是Mcs5l系列单片机,但McS51系列单片机在工业控制、仪器仪表、计算机、通信、家用电器等许多领域都有着极为广泛的应用,在应用技术上已经很成熟,在国内外已有许多的产品开发范例,且具有价格便宜、体积小巧、功耗低等的特点,适于做工业产品的开发应用。Mcs5l是一种8位微处理器,但与目前的16位甚至32位的微控制器相比,8 位微处理器实现结构简单,代码密度高,内置频率达12洲z的时钟电路,用于产生整个单片机运行的脉冲时序,其指令集简单易懂,许多指令可直接访问I/O 引脚,便于迅速操作(位操作)外围设备。从结构上说,Mcs5l包含处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,分别说明如下;
1.处理器(cPu)
处理器(c})u)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cPu负责控制、指挥和调度整个单元系统协调的工作, 完成运算和控制输入输出功能等操作。
2.数据存储器(RAM)
McS5l内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,用户能使用的R栅只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表,专用寄存器只能用于存放控制指令数据,用户只能访问, 而不能用于存放用户数据;
3.程序存储器(ROM)
MCs5l有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
4.定时/计数器(ROM)
Mcs5l有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
5.并行输入输出(I/O)口
Mcs51有4组8位I/O口(PO、P1、P2或P3),用于对外部数据的传输。
6.全双工串行口
Mcs51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用;另外,外部程序与数据存储器的寻址范围可达到64K。
7.中断系统
Mcs5l具备较完善的中断功能,有5个中断源,包括2个外中断、2个定时/ 计数器中断和一个串行中断,每个中断源的优先级是可编程的,可满足不同的控制要求,并具有2级的优先级别选择。
3.3.2开发工具
本文软件开发采用的编程语言是汇编语言。汇编语言虽然是一种层次非常低的语言,仅仅高于直接手工编写二进制的机器指令码,但作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。使用汇编语言编程,优点是速度快,运行效率高,可直接对硬件内部进行控制,汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:
1.能够直接访问与硬件相关的存储器或I/O端口;
2.能够不受编译器的限制,对生成的二进制代码进行*的控制;
3.能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;
4.能够根据特定的应用对代码做的优化,提高运行速度;
5.能够限度地发挥硬件的功能。
转换器软件代码与硬件的关系非常密切,所以即使使用汇编语言编写的代码非常难懂、开发效率很低,但基于汇编语言的上述优点,能够很好扬长避短,限度地发挥硬件的性能,所以采用汇编语言。3-3_3各模块的开发
1.MCS51资源的分配
对于电磁流量计信号转换器系统来说,有三个系统的输入:外部采集信号、外部触发按钮、用户对键盘的操作。比较这三个输入,系统对于外部采集的信号和外部触发按钮的响应具有高实时性的要求,相对而言,对用户操作键盘的响应的实时}萝靼瞧北辩硎二黻t鞋辫烨S5T实际开发环境j聃Fs5 T只有两个中断源接][; 键盘的响应可眨通过键盘扫描的方式来实现,因此,将设计实时响应外部信号的采集和外部触发按钮的动作作为两个中断源的触发源。另外,对中断处理存在优先级的问题,在本系统中,毫无疑问,对外部信号的采集优先级高于外部触发按钮的优先级,因此本系统设计将电极信号和参考信号设为中断1的中断源, 系统每lOms就对外部进行一次采样;中断0设为中断1的8分频,每秒钟对外部进行大约12次采样,迅速反应系统外部状态,以及进行系统自诊断处理,中断1 的优先级高于中断0的优先级。
2.程序的开发
软件系统所包含的模块包括采集信号模块、系统自诊断模块、系统保护模块、系统检测模块、系统日志模块、系统算法实现模块、显示模块、用户操作处理模块、外部触发处理模块、数据模块。根据MCS51开发环境,分成中断处理模块、主程序模块、采样模块、键盘操作处理模块、数据处理模块、串行EEPROM操作模块来实现软件系统的功能。各程序模块完成的任务及程序流程框图如下;
1.中断处理模块
中断0程序完成系统的自诊断、处理外部触发动作以及计算累计流量这些任务。诊断系统的工作状态,处理各种异常事件,给系统报警,异常事件包括电极电压过大或者过小、参考电压过大或者过小、A/D采样饱和、上限报警、下限报警、累计流量溢出;外部触发动作,是指外部系统调零、外部触发累计流量复位。中断程序0程序框图如图3.15所示。图3.16 MCS51主程序流程图Fig.3.16 Main program flow chart for MCS51
3.采样模块的开发
采样模块主要完成对外部信号的采集这一任务,分别采集电极信号、参考信号盼波峰和波谷,采样流程框图如图3.17图3.18所示:Fig.3.18 AIDC program flow chartII
4.键盘操作模块的开发
键盘操作主要完成按键的确认这一任务。本键盘采用的是4×4矩阵式接口方式,本系统采用扫描法实现按键的确认。此方法分两步进行:步,识别键盘有无按键被按下;第二步,如果有键被按下,识别出具体的按键。
识别键盘有无按下的方法:让所有的行线均置为低电平,检查各列线电平是否有变化,如果有变化,则说明有键按下,如果没有变化,则说明没有键按下。识别具体按键的方法:逐列置低电平,其余各列置为高电平,检查各行线的电平的变化,如果某行线为低电平,则可确定该行该列交叉点处的键被按下。处理按键的识别过程要考虑两点问题:去按键抖动和防按键粘连。去抖动一般采用软件延时的方法,防粘连一般是通过逻辑判断设标志位的解决措施。按键确认的流程框图如下所示:图3.19键值确认流程图Fig.3.19 Check the key flow chart
5.EEPROM操作模块的开发
EEPROM操作模块主要完成从EEPROM读取数据和把数据写到EEPROM的任务。根据所使用的EEPROM的使用规则,EEPROM操作程序流程如下图所示:羞起始位“I“ ◆ 送操作码◆ E次送操作地址t 《次送操作数据图3.20 EEPROM操作流程Fig.3.20 EEPROM operation flow chart
6.显示模块
显示模块完成数据的显示和系统菜单的显示这两个任务。数据的显示比较简单,系统菜单的显示则由于系统具有比较多的菜单选项而显得略为复杂,其程序流程框图如下所示: 开始工按键的确认冒标志付查找数据表格,确定显示入口程序地址显示菜单烹结束图3.21显示程序流程框图Fig.3.21 Display program flow chart
7.数据处理模块
数据处理模块完成的任务主要包括将采集进来的数据进行加、减、乘、除的运算以及进行数据码制之间的转换。在本系统中,在运算时使用的数据格式是二MUVC A.@A+DP’I’R MOV DPL.A POP ACC MOV DPH.A CLR A JMP @A十DPTR
本系统的NVRAM容量为255B,可以存储255个参数,由于本系统的参数种类比较繁杂,数量却不是很多,所以对该NVR埘的数据存储作如下设计:比较独立的参数,比如最小流量报警(Min alarm)、流量报警(Max alarm)、掉电次数(Main interrupt)等等参数存储在NVRAM的前半部分,与运算要用到的变量参数以及运算过程中产生的中间变量存储在NVRAM的后半部分,以阻尼系数为例, 与阻尼系数相关的在运算过程中需要用到的中间变量,都存储在该变量的后续的存储空间内。所有的参数都对应一个固定的存储位置,如表3.1所示表3.1NvRAM存储参量对应表存储地址参量含义01H 最小流量报警02H 流量报警03II 掉电次数04H 出错标志70H.74H 阻尼系数75H-79H 阻尼系数中间变量95H一99H 计算瞬时流量中间变量AOH-A5H 瞬时流量
EEPROM的容量为128B,本系统EEPROM内记录的是该转换器的一些基本参数, 如最小流量报警、流量报警、一次仪表的管径、阻尼系数、脉冲宽度等等, 由于这部分参数数量不是很巨大,本系统设计一个数据表格,每个参数对应一个固定的存储位置,以方便参数的改写与查找。另外,当用户修改在EEPROM内存储的参数时,EEPROM内的参数也会作相应的修改。扩展阅读:开封中仪流量仪表有限公司专业生产电磁流量计、孔板流量计、涡街流量计、文丘里流量计、V锥流量计、V型锥流量计、喷嘴流量计、插入式电磁流量计、智能电磁流量计、分体式电磁流量计、一体式电磁流量计、标准孔板流量计、标准孔板、一体化孔板流量计、标准喷嘴流量计、长径喷嘴流量计、标准喷嘴、长径喷嘴、插入涡街流量计、智能涡街流量计,更多信息请访问开封中仪网站:
仪表网 设计制作,未经允许翻录必究 .
请输入账号
请输入密码
请输验证码
请输入你感兴趣的产品
请简单描述您的需求
请选择省份