近红外光谱仪中单色光控制器的软件设计
一单色光控制器主程序设计
单色光控制器主程序主要作用是:
(l)接收上位主控机传送的各种命令、参数等。
(2)根据接收命令对控制器中AD9852的输出频率进行改变。
(3)根据所选频率选择不同的匹配网络。
(4)对接收的命令、参数给予应答。
由于上位主控机和单色光控制器之间的通讯,一般情况下是不同步的,要想正确地进行通讯,一般采用两种方式:查询方式和中断方式。如果选用查询方式时,单色光控制器的CPU常处在对通讯信息的查询中,CPU的利用率比较低,对单色光控制器的正确工作带来一定影响;采用中断通讯方式,单色光控制器和其它工作可以同时进行,CPU的利用率高,能满足单色光控制器的实际需要,故在与上位机通讯时采用中断方式(包括串行发送和串行接收)。
当单色光控制器接收到上位机发送的一切命令、参数后,单色光控制器主要的工作是根据参数、命令对AD9852输出频率进行修改、匹配网络的选择、单色光控制器多种参数修改等。这样,在工作J顷序上是有前有后的,不是同时发生的。因此,为了使设计变得简单,采用顺序操作以及各种状态查询比较的方法。
综上所述,单色光控制器的主程序完成对单色光控制器的所有操作,中断服务程序完成上位控制机与单色光控制器之间的通讯操作。单色光控制器的主程序流程图如图1所示。串行中断服务程序流程图如图2所示:
二单色光控制器中串行通讯程序设计
在单色光控制器中,串行通讯采用中断方式。为了方便操作,在设计中,采用了两个独立的缓冲区,分别为接收数据缓冲区recbuf,长度为sizerec和发送数据缓冲区sendbuf,长度为sizesend。这两个缓冲区分别有两个指针即read一rec、认厅ite一rec、read一send、write一send,对这两个缓冲区操作采用队列方式,即先进先出,后进后出。串行通讯时接收数据,加入recbuf缓冲区中,同时认厅lte一rec指针加“l”;发送数据时,从sendbuf中,取出数据发送,同时read一send指针加“1”在主程序中可以读recbuf中数据,同时read.rec指针加‘,1’,,向sendbuf中存放数据,明对te.send指针加“1”,这必然要求队列必须是循环队列,即指针加到一定值时(即队列量必须归零,判断队列中有无数据只需要判断缓冲区两指针是否相等即可。在程序设计时,一般不需要判断缓冲区是否满,这是因为两种缓冲设置的容量一般情况一定满足需要。
单色光控制器中串行中断服务程序流程图如图3所示:
三单色光控制器中DDS读写程序设计
相关文章
- 2023-05-19便携式多功能涡流仪的研制
- 2023-12-10超临界压力下CO2流体的性质研究
- 2023-02-20高精度超声波测距系统
- 2023-09-08隔振系统阻尼特性研究
- 2021-11-07TouchWin触摸屏TP和PLC在搅拌楼生产控制中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。