基于单片机的可调直流电源设计
我给你一个0~10可调的吧。我刚做的 图貌似出不来了 北京交通大搭历学 思源0702 设计要求及技术指标 数控直流稳压电源 (2)输出电压Vo=±12V,最大输出电流Iomax=1A (3)输出纹波电压ΔVop-p≤5mV 可控部分: • 1)输出电压:0~9.9V步进可调,调整步距0.1V。 • 2)输出电流:≤500mA。 • 3)精度谨漏:静态误差≤1%FSR,纹波≤10mV。 • 4)显示:输出电压用LED数码管显示。 • 5)电压调整:由“+”、“-”两键分别控制输出电压步进增减。 数显、控制部分: 查阅网上的数显可控直流稳压电源资料,得到以下电路图: 这种方案不仅对变压器要求高,而且使用了7块芯片,连接复杂,其中参数选择有多处错误。我们决定应用其原理,从新设计一套方案。 电路图如下: 此电路由6部分组成: (1) 正负12V直流稳压输出 (2) 数字电路供电电源 (3) 单片机控制系统 (4) D/A转换及其输出 (5) 数字显示 (6) 负反馈可控直流输出 一、正负祥枝烂12V直流稳压输出 电路图及仿真结果如下:(带1千欧负载) 交流信号: 二、数字电路供电电源 通过正12V直流稳压电源与两个大电阻分压,得到4V参考电压,在通过电压跟随器为数字电路供电。 其中所选电阻为 电压跟随器为LM324 三、单片机控制系统 包括最小系统及各引脚引线。单片机:STC12C4051AD,20引脚DIP封装,与AT89C2051通用。11.059MHz晶体振荡。 程序原理:设置电压初始值为5.1V,由P1口的低7位输出,连接到DAC0832的高8位地址,最低位接电源。然后连接DAC0832的选片线到单片机P3.7口,由P3.7口输出负跳变,实现DAC的数据锁存。由于单片机指令周期过短,小于DAC0832的最小负跳变时间间隔。加入de1延时,使芯片输出正确的模拟电压。 按加号键加0.1V,按减号键减0.1V,按键扫描时间间隔0.2秒。 完成DA转换后输出BCD码,输入数显部分。 程序原码: org 0000h st: mov r0,#33h ;初始电压为参考电压的一半 ljmp st1 ss: call de ;扫描,等待按键 jnb p3.4,i0 jnb p3.5,i1 sjmp ss i0:inc r0 ;r0加一,并调用st1 cjne r0,#100,st1 dec r0 ljmp st1 i1:cjne r0,#0,i11 ;r0减一,并调用st1 ljmp st1 i11: djnz r0,st1 ljmp ss st1:mov a,r0 ;输出的函数 mov p1,r0 clr p3.7 call de1 ;等待芯片接受数据 setb p3.7 mov b,#10 div ab mov r1,b rl a rl a rl a rl a add a,r1 mov p1,a ljmp ss de: mov r7,#200 a3: mov r1,#250 a2: mov r2,#2 a1: djnz r2,a1 djnz r1,a2