首页 » 技术文章 » AT89C51数控多路直流稳压电源

AT89C51数控多路直流稳压电源

作者:  时间:2011-07-26 20:02  来源:EDN

  3 系统软件设计

  本软件设计通过合理安排中断和划分各功能模块,设置统一的状态字,有效克服了系统的功能多、状态转换复杂给软件设计带来的困难。系统软件流程图,如图3所示。

  3.1 状态字设计

  状态字(SB )占用一个字节,有效位为5位。状态字通道被启动后,控制指定的设备完成规定的操作,同时,通道在执行对外围设备控制的过程中,要记录通道与设备执行情况,为此系统在主存中安排另一个固定单元,用于存放这些被记录状态,有

  S B .0 = 1,表示处于巡回显示状态, SB .0 = 0,无意义;

  S B .1 = 1,表示处于定点显示状态, SB .0 = 0,无意义;

  S B .2 = 1,表示处于电压设定状态, SB .0 = 0,无意义;

  S B .3 = 1,表示电压设定值有误, SB .3 = 0,表示电压设定值正确;

  S B .4 = 1,表示电压非首次数字设定,SB .4 = 0,表示电压首次数字设定。

  3.2 各功能处理模块

  主程序。进行系统初始化设定(I/O 口、定时、中断、状态字、各数据缓冲区等初始化),等待中断。定时中断服务程序。输出电压的稳定性是稳压器最重要的指标。考虑到采样-保持器输出有一缓慢的下降速率(当L F 398保持电容为0.1 μF 时,下降速率约200 V ·m in- 1 ),故需定时对其进行保持和电压刷新。本服务程序完成各路电压值刷新和显示。中断申请由定时/计数器T 0 提出,每隔130 m s 中断一次,中断服务级为最高级。 键盘中断服务程序。根据键码和当前状态字,跳转相应的功能处理程序,中断由IN T 0 引入。 键扫描译码程序。将09、小数点,以及其它按键译成对应00H 0F H 的十六进制码。显示译码程序。将键码缓冲区的内容译成七段码并存入相应的显示缓冲区。 D /A 译码程序。将键码缓冲区的内容译成对应的12D /A 二进制数码,并存入相应的D /A 数据缓冲区(一路输出占2 B )。显示子程序。根据路数,将该路数据缓冲区的内容与屏蔽字相或后,送对应数管。错程识别序1.在电压设定状态,判定键入数字码后,键码缓冲区数据格式的错误,恢复键入前的状态并给出相应标志(SB .3)。错程识别序2.在电压设定状态,判定键入键、键后,键码缓冲区数据格式的错误恢复键入前的状态,并给出相应标志(S B .3)。

  3.3 数据缓冲区设定

  互方之一定义用于数据交换的底层内存分配机制。另一方总是使用已公布的接口来分配或释放缓冲区,从而避免潜在的不一致。这种模型需要双方都坚持一个可能与软件基本功能无关的编程约定,而且在一般情况下,这个编程约定可能使代码更加不可重用。

  驱动数据交换的那一方将负责管理操作 —— 当该方充当数据提供者时,这是一个相对适当的方案。 然而,当该方充当数据使用者时,事情就变得棘手了。为避免去发现数据大小,数据使用者可以分配一个任意大小的缓冲区。如果该数据缓冲区没有足够大,就必须对数据提供者发出多次调用。因此这种方法需要围绕该交互调用编写额外的循环代码,以备多次调用之需。

  (1 D /A 数据缓冲区。存放各路输出的D /A 值二进制码,每路占2 B ,12 B .2 键码缓冲区。在电压设定状态,存储键入的数值码(包括小数点),一键码用4位二进制数表示。故每路占2 B ,12 B .3 显示缓冲区。 存储各路输出电压显示七段码(含路数、输出极性、电压大小),每路占4 B ,24 B .4 键码备份缓冲区。进入电压设定状态时,程序将复制当前路键码缓冲区的内容并存入此区,共2 B .5 显示备份缓冲区。进入电压设定状态时,程序将复制当前路显示缓冲区的内容并存入此区,共4 B .

  除了上述困难之外,安全性也证明是传统方法存在的问题:传统缓冲区管理方案无法容易地防止恶意用户刻意改写数据缓冲区,从而导致程序异常。考虑到所有这一切,设计一个适当的数据缓冲区接口就势在必行!

  4 结束语

  本文将单片机控制回路与无静差的电压输出回路有机结合,构成一款新式多路数字可调功率直流稳压电源,非常适合一般教学和科研使用。单片机、D A C 与其它外围电路独立供电。DAC 采用高稳定性的基准电源为参考电压,面板电源开关可设计成仅切断输出回路的供电电源。还要注意选择特性较理想的、功率适当的晶体管,加装大小适当的散热片。这样,一般不需太多调试就能获得成功。因此,本电源推广容易,可望获得广泛的应用。

相关推荐

AT89C51数控多路直流稳压电源

稳压电源  数据锁存器  2011-09-21

一种单端反激式隔离开关稳压电源的设计及应用

稳压电源  隔离开关  2011-09-09

稳压电源自动测试系统设计

稳压电源  自动测试  2011-09-05

数字化控制在直流稳压电源中的应用设计

稳压电源  LED  2011-08-19

AT89C51数控多路直流稳压电源

稳压电源  2011-07-26

一种新颖的单端反激式隔离开关稳压电源的设计及应用

在线研讨会
焦点