返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

 单片机教程 栏目导航   第一页..单片机入门教程    第二页..单片机c语言   第三页..红外遥控和步进电机    第四页..单片机问答

本文介绍的直流稳压电源采用了89C51,配合D/A转换器件DAC0808和LM317三端稳压块实
现电压连续可调(精度为:0.06V)。同时能通过LED数码管显示相应的电压值,直观、可靠、
实用!电路结构简单,非常适合初学者制作。


一、工作过程:
通电复位,电路进入初始状态:LED数码管显示1.5,稳压电源输出1.5V电压。按SW3电压向上增加,按SW2电压向下递减,按SW1关掉电源输出同时显示“OF”字样。电源处于待机状态。按任意鍵即可重新开机。由于在实际使用中经常用到的电压只有1.5v、3v、4.2v,5v,6v,8.4v,12v等电压值,所以本文附带的程序也只预设了上述七种电压值。
二、工作原理:
DAC0808是具有16个引脚的双列直插式8位D/A转换器件。其引脚功能分别为:1脚为空,2脚为GND,3脚为VEE,4脚为DAC输出引脚,5-12脚为数据输入引脚,13脚为VCC,14脚为基准电压(VREF+),15脚为基准电压(VREF-),16脚为COMPENSATION。当数据输入量全为0时,其4脚输出电压最低,接近零;当数据输入量全为1时,其4脚输出电压最高,电压值由基准电压VREF决定。因此,基准电
压的精度决定了D/A转换的精度。
本文所用的基准电压为15V,而数据输入量在00H-FFH之间变化,即D/A输出的电压有256种。从而不难算出本电源的精度=15V÷256=0.05859V≈0.06V。假如我们想要6V的直流电压,数据输入量=6V÷0.06V=100,注意这里的100是十进制的,单片机不能识别十进制数据,所以要把十进制转换成二进制或十六进制(转换时可用WINDOWS自带的科学计算器进行)。100转换成十六进制后为64H。只要给DAC0808输入64H,就能输出6V的电压(注意:理论值和实践值有所出入,具体运用时要适当的调节数据输入量),该电压经运放TL082后再去推动LM317,由LM317输出我们需要的电压值,实现了电压数控调节。
三、保护电路:
保护电路由89C51的P2.4,R10和R11组成,R11的作用是预先给P2.4一个高电位。当某种原因(如短路,过流)使得输出电压降低至一定值时,P2.4端电位也随之降低。程序立即检测到P2.4这一变化,并立刻通过继电器关闭电源输出。直至原因排除才能再次开机;V3采用PNP型管是为了防止在单片机复位前,LM317失控的电压输出到用电器上。
四、安装与调试:
图中的正负15V、5V由黑白电视机的变压器经整流稳压后取得。运放TL082可以用NE5532、4558等常见的型号代替。LM317发热量较大,散热片要尽可能的做大些。在确认接线无误后就可试机。若一开机即自动关机,同时显示“OF”,这说说明P2.4电压太低。正常值应在1.5V以上。发现这种情况可以适当的调节R11和R10的大小直至P2.4的电压正常。


用89C51做直流稳压电源原理图

部分源程序:
org 00h ;开始
MOV P1,#00H;开机电压置0
SETB p2.5;关掉输出,防止开机瞬间电压过高损坏用电器。
SETB P3.7
SETB P3.6
SETB P3.5
SETB P3.4
start:
V15:;1.5伏
LCALL DELAY2;防按鍵抖动
MOV P1,#03H;1.5V数据量
CLR P2.5;闭合继电器开关,输出电压
B1:
MOV P0,#01111001B;显示1和小数点
SETB P2.6
CLR P2.7
LCALL delay
MOV P0,#00010010B;显示5
CLR P2.6
SETB P2.7
LCALL delay
JNB P2.4,S1;检测是否短路,过流。
JB P3.6,T;减键
JB P3.7,V3;增键
JB P3.5,s1;关机
JMP B1
T:LJMP V12;因为程序太长,不能直接转移,所以要用长调用命令!
S1:LJMP STOP;因为程序太长,不能直接转移,所以要用长调用命令!
V3:;3伏
LCALL DELAY2
MOV P1,#1bH;3V数据量
B2:
MOV P0,#11000000B;显示0
clr P2.6
CLR P2.7
LCALL delay
MOV P0,#10110000B;显示3
CLR P2.6
SETB P2.7
LCALL delay
JNB P2.4,S2;检测是否短路,过流。
JB P3.5,s2;关机
JB P3.6,V15;减
JB P3.7,V42;增
JMP B2
S2:LJMP STOP

12个经典单片机程序设计实例:

闪烁LED小灯主程序图

数码管时钟电路的主程序

单键学习型遥控器的设计

15路电器遥控器的设计

自行车里程/速度计的设计

自动往返行驶小汽车的设计

遥控小汽车的设计

数码管时钟电路的设计

8*8点阵LED字符显示器的设计

8路输入模拟信号数值显示电路的设计

8路输入模拟信号数值显示电路程序

单键学习型遥控器的程序

如果对本文有疑问,请到论坛提问 编辑:51单片机学习网 @ 2009-10-20校对 中国开发板最佳品牌  版权:部分由编辑摘引,权利属原著作人