【Proteus仿真】【51单片机】数控稳压可调电源设计

文章目录


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使用动态数码管、按键、PCF8591 AD/DAC、LM358放大电路模块等。

主要功能:

系统运行后,系统默认输出直流5V,数码管显示输出电压值。可通过按键K1和K2调节电源输出值,步进为0.1V;按下K3键可直接输出5V。系统最大输出0-10V。


二、软件设计

c 复制代码
/*
作者:嗨小易(QQ:3443792007)

*/


//系统数据设定
void sys_data_set(void)
{
	u8 key=0;

	key=key_scan(0);
	//加
	if(key==KEY1_PRESS)
	{
		sys_ctrl.vol+=2;//0.1V步进
		if(sys_ctrl.vol>200)sys_ctrl.vol=200;		
	}
	//减
	else if(key==KEY2_PRESS)
	{
		if(sys_ctrl.vol>=2)
			sys_ctrl.vol-=2;//0.1V步进		
	}
	//5V输出
	else if(key==KEY3_PRESS)
	{
		sys_ctrl.vol=100;	
	}
	
	//DAC输出
	pcf8591_set_dac_out(sys_ctrl.vol);
}

//系统数据显示
void sys_data_show(void)
{
	u8 buf[4];
	u8 temp=sys_ctrl.vol/2;
	while(1)
	{
		//数码管显示输出电压
		buf[0]=gsmg_code[temp/100];
		buf[1]=gsmg_code[temp%100/10]|0x80;
		buf[2]=gsmg_code[temp%100%10];
		buf[3]=0X3E;//U
		smg_display(buf,1);

		break;				
	}
}


//应用控制系统
void appdemo_show(void)
{
	sys_parm_init();//系统参数初始化
	
	while(1)
	{
		sys_data_set();//系统数据设定
		sys_data_show();//系统数据显示			
	}
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619



联系作者

视频地址:https://space.bilibili.com/444388619/video

专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

相关推荐
KmSH8umpK5 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第八篇
数据库·redis·分布式
Deitymoon5 小时前
STM32——蓝牙模块双串口控制led
stm32·单片机·嵌入式硬件
callJJ6 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
iCxhust7 小时前
微机原理实践教程(C语言篇)---A001闪烁灯
c语言·开发语言·汇编·单片机·嵌入式硬件·51单片机·微机原理
KmSH8umpK7 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第七篇
数据库·redis·分布式
0xDevNull8 小时前
Linux 中 Nginx 代理 Redis 的详细教程
redis·后端
笨笨饿9 小时前
69_如何给自己手搓一个串口
linux·c语言·网络·单片机·嵌入式硬件·算法·个人开发
MiNG MENS9 小时前
nginx 代理 redis
运维·redis·nginx
智者知已应修善业10 小时前
【51单片机不用数组动态数码管显示字符和LED流水灯】2023-10-3
c++·经验分享·笔记·算法·51单片机
千月落12 小时前
Redis数据迁移
数据库·redis·缓存