3系统软硬件设计
下位机软件设计主要可分为数据采集模块、通信模块、键盘及LCD控制模块、开关量输出控制模块。限于篇幅只介绍数据采集模块的具体实现方式。ARM微控制器应用轮询方式进行模拟量和开关量的采集。通过设置定时器/计数器0中断,每次中断时间20毫秒,用于模拟量(AI)采样定时;定时器/计数器1中断,中断时间250毫秒,每次中断时扫描开关量输入(DI)状态.主程序开始时进行定时/计数器0,定时/计数器1,AD,DI等的初始化,初始化主要是设置定时器的中断方式(设置定时器0溢出中断,定时器1比较中断),外部中断INT0,INT1中断方式(INT0下降沿产生异步中断请求,INT1上升沿产生异步中断请求);AD,DI处于可以接收模拟量和开关量的状态,然后程序进入循环状态,等待上位机控制信息的到来,如果有控制信息到来便把相应的标志位置 1,主程序跳转到相应的服务程序产生相应操作。
l 定时器0中断服务程序
定时器0中断主要完成模拟量的数据采集与平均值计算,其程序流程图如图2所示,具体为:定时器0中断时间为20毫秒,用于AD采样计时;当AD采样次数满 15次后判断采样结束标志,如果采样结束则计算平均值然后在LCD上进行显示后,产生AD中断,最后中断返回。
l 定时器1中断服务程序
定时器1主要完成扫描开关量输入状态,其中断程序流程图如图3所示.具体为:中断时间为250毫秒,如果有开关量输入,则置开关量输入标志为1,然后中断返回。