一种微机记录仪软件的设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种微机记录仪软件的设计

一种微机记录仪软件的设计   【摘 要】本文介绍一种微机记录仪的软件设计,详细介绍了微机记录仪软件设计的运用依据,根据微机记录仪特点设计各种接口及应用。主要包括程序设计、数据采集、存储程序、运算程序、显示程序、数据处理程序、通讯程序等。本设计完全满足微机记录仪标准规定的各项指标,完全能适应工业现场使用环境的需要。   【关键词】单片机;数据采集;通信接口;数据处理   1 系统软件的方案设计   对于一般的控制系统的软件指的是它的全部程序,包括系统软件和应用软件两大类,在本设计中运用到的都是应用软件,包括上位机用到的微机记录仪分析系统和下位机各种的监控程序,根据各功能模块的不同,监控程序主要有以下几个构成:   (1)数制变化程序-在数据分析中,要将A/D采集的二进制数据转换为可以处理的浮点数以及可以显示的BCD等。   (2)运算程序-实现数据分析的加、减、乘、除、开方和函数运算。   (3)数字滤波程序―用于对数据筛选处理,尽量保证数据的有效性。   (4)工程测量程序―在数据显示时有些信号必须要进行标度转换后才能显示。   (5)查表程序―由于系统涉及到很多种热电偶、热电阻信号,必须通过查表来确定对应的温度值。   (6)报警程序―按要求微机记录仪系统设计中必须带有报警输出功能。   (7)数据采集程序―完成数据采集。   (8)通讯程序―将数据通过USB接口传输到优盘或通过RS485通讯方式传输到中央控制室。   (9)还有根据用户需要设计各种控制算法程序,比如PID程序。   2 系统主要软件结构设计   系统通过软件流程来完成设定任务,CPU通过对接口电路确定工作方式、选择功能、发送特定信息来控制外部设备完成规定任务。接口软件的特点就是其和硬件的紧密结合。系统软件的设计主要有5部分:程序设计、数据采集、存储程序、运算程序、显示程序、数据处理程序、通讯程序。   2.1.1 主程序设计   图1 主程序流程图   本设计主程序主要完成的目的有:将系统初始化,定义单片机的I/O控制寄存器,芯片配置寄存器,中断控制寄存器定义等。   2.1.2 数据采集程序   系统将A/D采样设计为外部中断处理程序,并且设置为中断最高级别就是保证采集记录为重要地位。AD采集流程如图2:   图2 A/D采集流程图   2.1.3 数据处理程序   具体的流程图3:   图3 数据处理流程图   2.1.4 通讯程序   本系统的通讯系统包括RS485通讯和USB接口与优盘之间的通讯。   串口和上位机之间的通讯,设置为中断法通讯即当控制中心计算机发出对微机记录仪进行通讯命令请求的时候,CPU在没有其他高级中断在执行的情况下,中断当前正在执行的程序,来响应控制中心计算机的通讯要求。和USB之间的通讯设置为移位寄存器方式即有CPU在扫描到有键盘输入命令后,在没有任何中断程序执行的情况下,立即进行将历史数据存入优盘的工作。   和上位机的通讯波特率在本系统中设置了2400,4800,9600和19200四种通讯特率。用户根据自己的实际情况可以选择不同的波特率进行通讯。   由于单片机的波特率由16位寄存器(BAUD_REG)中的内容决定,具体的公式在前面已经讲过,在实际运用时BAUD_REG取值的最高位为1,表示选用XTAL1作为频率源,低15位才是计算的波特率值。   设置好工作方式和波特率后在单片机中还必须明确一下几点:   使用串口发送数据时,首先要将IOC1.5设置为1,表示选择了TXD/P2.0引脚的TXD功能,在接收的候,应将SP_CON寄存器REN设置为1,即选择RXD/P2.1。   波特率寄存器BAUD_REG在片内特殊功能寄存器(SFR)区域内虽然用同一个字节地址(0EH)表示,但实际上它是16位寄存器。因此,在设计串口波特率时,应将波特率常数用字节传送指令分两次写入片内0EH单元中。   直接读SP_SATAT寄存器时,TI和RI标志读出后都会被清除,为了避免这一点,可对其进行间接读出,例如先把寄存器中的内容拷贝到某个通用的寄存器中,然后在判断此寄存器中TI和RI对应状态位的值即可。   串口发送和接收中断共用一个中断向量,因此进入中断服务程序后要进一步的测试SP_SATAT寄存器的内容,确定系统是需要发送还是接收。   进行USB接口程序的通讯时首先要从新对单片机进行串口设置,将串口方式设置为0,即串口既可以送出数据又可接收数据。   ORB IOC1,#20H ; 选择P2.0引脚的TXD功能。   LDB BAUD_REG,#01H ;波特率低字节。   LDB BAUD_REG,#80H;波特率的高字节,波特率设置为1.5Mbps。

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档