





























1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
出信号经相关电路处理后成为处理器接受的电平范围内,监测终端软件中是每个毫秒监测次开关量输入引脚的电平,并将该电平状态以左移位的方式写入开关量状态缓冲区,上层软件通过判断开关量缓冲区的低三位全为来确定实际开关量输出高电平,这样做可以起到数据滤波的作用,避免外部干扰引起采集数据,增强软件的健壮性。
开关量采集的相关代码如下开关量所接端口接近开关所在端口号报警器所在端口号接近开关状态缓冲区数据左移位报警器状态缓冲区数据左移位基于的分布式油田原油计量和防盗系统设计接近开关缓冲区最低位写报警缓冲区最低位写模拟量采集驱动程序远程监测终端对模拟信号的采集是利用处理器自带的位模数转换器来完成的。
在远程监测终端的模拟信号采集应用中,我们为模拟数据采集开辟了个二位数组的数据缓冲区,因为微控器的可以使用通道,利用微控器的和循环扫描模式功能,将配置成每个系统时钟采样次的连续转换模式下工作。
即在对进行正确初始化之后的第个时间到来时,将采集通道上的数据,并将此数据存放入,当第个时间到来时,将采集通道上的数据,并将此数据存放入,而当第个时间到来时,将再次采集通道上的数据,并将此数据存放入中,以上过程循环进行,当数据存入数据缓冲区最后个单元后又重新从开始保存新的数据。
观察以上数据存储的规律可以知道,通道上的采集数据将依次存放于二维数组的第列,通道上的采集数据依次存放于二维数组的第列,以上数据存储规律将大大方便程序对各个通道数据的单独处理。
总之,将微控器的循环扫描模式和功能结合起来的数据采集方法,采集的数据稳定,且几乎不占用处理器额外的资源,上层软件在需要对模拟信号进行处理时,直接到指定的缓冲区取数据就可以了。
远程监测终端中应用的初始化流程如图所示。
基于的分布式油田原油计量和防盗系统设子程序退出子程序进入使能及其所在端口时钟使能时钟初始化通道所在的为模拟输入口配置并使能的通道功能配置并使能复位的校准寄存器复位校准寄存器完成开始校准校准完成启动开始运行是是否否图的初始化卡驱动程序卡有两个可选的操作模式分别是模式和模式,从本文第四章卡接口电路设计可知,本系统中采用的是模式对卡进行读写操作。
对卡的所有操作都是通过发送卡命令来完成,系统中用到的卡操作命令见表所示。
表卡操作命令命令名称命令值意义复位命令激活初始化过程命令要求卡回复的值要求卡回复的值停止卡读写操作设置次读写数据长度连续读多块数据写块数据默认是字节连续写多块数据卡在上电时自动进入总线模式,在卡的片选信号线为低电平时收到复位命令,则进入模式。
复位成功后主机可通过命令读取卡的寄存器,通过命令设置读写数据块长度,通过基于的分布式油田原油计量和防盗系统设计命令读取卡的寄存器,从寄存器中,主机可获知卡容量,支持的命令集等重要参数。
卡初始化程序流程如图所示。
子程序进入发送复位命令发送复位命令进入模式发送激活卡命令回应数据子程序退出是否图卡初始化流程图完成卡的初始化后即可对它进行数据的读写操作,卡支持单块命令和多块命令写操作,多块操作是指从指定位置开始写下去,直到卡收到个停止命令才停止。
卡对每个发送给自己的数据块都通过个应答命令确认,它为个字节长,当低位为时,表明数据块被正确写入卡。
在本系统应用中,因为具有个硬件接口,并且其接口的接收和发送可以分别使用通道和通道,在卡进入数据传输模式后,利用来读写卡数据将提高操作效率。
本系统中对卡的写操作流程图如图所示。
基于的分布式油田原油计量和防盗系统设子程序进入发送写命令设置写扇区地址卡回复发送数据起始标志设置发送数据首地址设置发送数据长度使能发送对应的通道子程序返回否是图写卡流程图远程监测终端采用了张的卡来存储采集的开关量和模拟量数据报警发生时的图片数据及系统运行的相关参数。
系统中将存储空间的卡分为个字节的存储扇区,其中第个扇区用于保存系统运行的相关参数,第至扇区空间用于保存采集的开关量和模拟量数据,程序中只有在网络不通时才会将采集的开关量和模拟量数据写入该部分扇区适当位置,卡剩下的个扇区用于保存报警设备被触发时采集的图片数据。
程序中定义个字节长度的数组对整个扇区空间进行管理,数组的元素值为零时说明对应扇区空,否则说明其中已有数据。
键盘与显示驱动程序键盘和显示是实现人机交互的主要设备,通过操作人员用键盘输入指令,实现人机对话。
本系统中采用接口的键盘显示管理芯片对键盘和显示进行管理。
键盘部分的程序处理方法是当有键被按下时,从中读出被按下键的键值,并将该键值存入键值缓冲区,同时向事件管理缓冲队列中写入个键事件以待应用层软件对按键进行处理。
显示部分程序的处理方法是当需要更新显示内容时,先将要显示的内容存入显示缓冲区,再置显示刷新标志以待主程序中刷新显示内容。
整个键盘与显示程序主要包括底层接口驱动和对寄存器操作基于的分布式油田原油计量和防盗系统设计相关函数。
因为处理器具有个硬件,利用的固件库可以方便的实现底层接口驱动,固件库中关于操作的几个函数名及功能见表所示。
表操作底层函数函数名函数功能启动总线结束总线向总线上发送数据从总线上接收数据向总线上发送器件地址检测总线上状态利用表所示的底层操作函数,就可以组成个完整的总线上数据发送和接收过程处理函数,系统应用中向有子地址器件发送接收多字节数据函数名称和功能如下。
函数名称向有子地址器件发送多字节数据函数函数功能从启动总线到发送地址子地址数据结束总线全过程。
从器件地址,子地址,发送内容是指向的内容,发送个字节。
如果返回表示操作成功,否则操作有误。
函数说明该函数操作的器件子地址是位注意使用前必须已结束总线。
,函数名称向有子地址器件读取多字节数据函数函数功能从启动总线到发送地址子地址读数据结束总线的全过程。
从器件地址,子地址,读出的内容放入指向的存储区,读个字节。
如果返回表示操作成功,否则操作有误。
注意使用前必须已结束总线。
函数说明该函数操作的器件子地址是位基于的分布式油田原油计量和防盗系统设,通过以上的向有子地址器件发送接收多字节数据函数可实现对内部寄存器的读写操作,对的读写操作主要包含内部寄存器读和写数据两个函数。
函数名称函数功能向的内部寄存器读出数据输入参数寄存器地址读出寄存器中的数据存放地址输出参数操作失败成功函数名称函数功能向的内部寄存器写入数据输入参数寄存器地址写入寄存器中的数据输出参数操作失败成功
