基于TLC5615的多路可调数控直流稳压电源,51单片机,含Proteus仿真和C代码等

设计要求

  1. 5V单电源工作;
  2. 电压输出范围为基准输入电压2倍,本设计调节范围为:0V~3.9V;
  3. 电压调整精度达0.02%;
  4. 两种调压方式:自动模式和手动模式;
  5. 3路电压输出通道,且可分别单独控制;
  6. 当电压超出设定范围时,自动报警;

TLC5615简介
TLC5615是带有缓冲基准输入(高阻抗)的10位电压输出数字-模拟转换器(DAC),DAC具有基准电压两倍的输出电压范围,且DAC是单调变化的。器件使用简单,用单5V电源工作。
基准电压VREFIN = VCC * [ R8/(R7+R8) ]
基准电压VREFIN = VCC * [ R8/(R7+R8) ]

系统概述
多路可调TLC5615数控直流电源由51单片机最小系统,3路TLC5615电压数模转换电路、数码管显示模块、4*4矩阵键盘和报警模块组成。
在这里插入图片描述
自动模式
单片机控制3路直流电压输出,数码管实时显示当前路数以及该路输出的电压值,按键控制路数的切换和电压大小的设定,报警模块则监测输出电压是否超出最高设定值(3.9V)。

数字量通过矩阵键盘输入后,经TLC5615数模芯片转换,输出模拟量直流电压,电压调整范围为0.1V。

当设定值大于3.9V时,报警模块LED灯点亮,同时数码管显示0.0,提示重新修改输入值。

手动模式
将某一路开关SW打至左边,则该路电压的输出由滑动变阻器控制。

手动模式下,电压输出不再受51单片机、数模转换芯片和矩阵键盘的控制。整个电压输出电路由滑动变阻器、运算放大器和PNP三极管组成。

系统仿真电路图
在这里插入图片描述
在这里插入图片描述
仿真结果分析

  1. 通过矩阵键盘,设置第2路通道的输出电压为2.8V,结果如下。
    在这里插入图片描述
    在这里插入图片描述
  2. 当键盘设定电压输出值为4.2V(大于3.9V)时,按下确认键后,数码管显示0.0,LED报警灯点亮,电压实际输出为0.02V≈0V。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 点击SW2,将开关打至左边,此时电压的输出由滑动变阻器控制,不再由单片机控制,本例中输出电压为1.95V。
    在这里插入图片描述
    部分C代码
void main(void)				 //主程序
{  
//	timer0_init();			//初始化定时器0
	while(1)
	{ 
		key_scan();			//调用键盘扫描函数
		TLC5615_DA_1(val_1);	//处理键盘发送过来的值
		TLC5615_DA_2(val_2);
		TLC5615_DA_3(val_3);
		switch(choice_flag)
		{
			case 1 : display(Vol_1+num_1-1);	break;
			case 2 : display(Vol_2+num_2-1);	break;
			case 3 : display(Vol_3+num_3-1);	break;
		}
		

	} 
}

void timer0_isr(void)  interrupt 1       	// timer0中断服务函数
{
                         					//数码管的位选变量
	TR0 = 0;                       		 	//停止计数
	TL0 = (65536-5000)%256;					//重新载入计数器初值
	TH0 = (65536-5000)/256; 
                              	//位循环变量加1
	if(cp >= 4)
		cp = 0; 
	switch(choice_flag)
	{
		case 1:    deal(val_1);break;
		case 2 :   deal(val_2);break;
		case 3:    deal(val_3);break;
	}
	
//	deal(5698);                       //循环显示1次,j清零
   	TR0 = 1;
//	deal(val_1);
//	delay(100);
	P0=0xff;  //与j对应,P2输出数码管的位选信号
	switch(cp)
	{
		case 0: P0 = 0xc1;break;   	
		case 1: P0 = LED[shi];break;   	
		case 2: P0 = LED[bai]&0x7f;break;
//		case 3: P0 = 0xbf;break; 	
		case 3: P0 = LED[choice_flag];break; 
	} 
	P2 = Bit_sel[cp]; 
	cp++;  	
}  

分享的资源有

(1)C程序 ;

(2)Proteus仿真文件 ;

(3)TLC5615芯片手册 ;

(4)程序设计流程图;

全套资源如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
获取多路可调TLC5615数控直流稳压电源系统设计,Proteus仿真、C程序、Visio流程图、TLC5615等参考资料。

请微信搜索关注我的公众号:交院小智

  • 0
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值