AT89C51数控多路直流稳压电源
组8位显示数据。这样5位L E D 只需设4个锁存器(74L S273)。键盘电路设置于P 1 口,为典型的4×4中断扫描键盘。
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 引入。 键扫描译码程序。将0~9、小数点,以及其它按键译成对应00H ~0F H 的十六进制码。显示译码程序。将键码缓冲区的内容译成七段码并存入相应的显示缓冲区。 D /A 译码程序。将键码缓冲区的内容译成对应的12位D /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 与其它外围电路独立供电。D A C 采用高稳定性的基准电源为参考电压,面板电源开关可设计成仅切断输出回路的供电电源。还要注意选择特性较理想的、功率适当的晶体管,加装大小适当的散热片。这样,一般不需太多调试就能获得成功。因此,本电源推广容易,可望获得广泛的应用。
- 新型电荷泵DC/DC变换器(06-09)
- 低成本DC/DC转换器34063的应用(06-11)
- 高可靠MCU电源设计(06-12)
- 基于Multisim的直流稳压电源设计(06-21)
- UC3842电流控制型脉宽调制开关稳压电源研究(06-27)
- 如何看懂电源电路图(06-28)