新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式系统的实时控制模块设计与实现

基于嵌入式系统的实时控制模块设计与实现

作者: 时间:2012-10-23 来源:网络 收藏

2 软件
2.1 主程序框架
主程序流程图如图4所示。

本文引用地址:https://www.eepw.com.cn/article/148314.htm

d.JPG


主程序是顺序结构,较为简单。主要分两部分:一是对各部分进行初始化设置,使其能够工作在正常状态。二是正常工作循环状态,当收到上位机的命令时,即进行相应的操作,无命令时则等待。对于程序而言,无限循环是必要的。
2.2 串口通信程序
串口通信程序与上位机的通信功能。具体操作中使用一个循环队列存放接收到的上位机命令,分别用头指针和尾指针指向队头和队尾,将各命令字节取出,进行相应操作。命令执行完毕(队列取空),清标志位,等待新命令。如图5所示。

e.JPG


2.3 SPI通信程序
C51采用SPI主模式与AD7707进行通信。主模式写AD7707较为简单,单片机先写1 Byte的配置数据给AD7707,其会自动将该数据放入自身的通信寄存器,随后AD7707根据该配置值确定下一步要写的寄存器及数据大小,再将单片机随后输入的数据放入指定位置。C8051F120发数据前,先根据SPICN寄存器的TXBMT位的值判断是否能够发送数据,再向自身的SPIDAT寄存器写数据即可,硬件会自动将数据发出。
主模式读AD7707较为困难。当C51已设置AD7707的通信寄存器,表明下一步操作是读AD7707的某个寄存器值后,C51向SPIDAT写任意值,之后SPI数据线(MOSI)上会串行移出数据,同时时钟线上产生串行时钟,从设备(AD7707)收到时钟,将预备的数据送到MISO线上交给C51,同时不采纳主设备发送的任意值。C51将发送的串行数据放在移位寄存器中,当最后一位收到后即移入收缓冲器,再读SPIDAT便可读出数据。
2.4 其他软件
其他软件均是根据各部分硬件的具体要求,通过向所分配的对应地址空间按序发送所需数据来相关功能。

3 结束语
文中提出以C51单片机C8051F120为核心芯片的,已成功应用于某通信测试仪器中,陔通过中断及查询等方式较好地实现了对整机的功能。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭