【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设计,视频分享,技术交流。

相关推荐
是大强10 分钟前
DSP 和 MCU 的区别
单片机·嵌入式硬件
墨着染霜华18 分钟前
Java实战:封装Redis非阻塞分布式锁,彻底解决表单重复提交主键冲突
java·redis·分布式
尽兴-18 分钟前
超越缓存:Redis Stack 如何将 Redis 打造成全能实时数据平台
数据库·redis·缓存·redis stack
Zevalin爱灰灰18 分钟前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(三)
单片机·物联网·嵌入式·esp8266
weixin_4607838726 分钟前
STM32CubeMX配置ST25R3911B外设指南
stm32·单片机·嵌入式硬件
m0_5557629027 分钟前
STM32H743 USB FS 内部 IP DMA 问题分析
stm32·嵌入式硬件·tcp/ip
一个有温度的技术博主27 分钟前
Redis系列七:Java客户端Jedis的入门
java·数据库·redis
霖霖总总28 分钟前
[Redis小技巧21]从 Binlog 到缓存:Canal + Redis 同步架构全解
redis·缓存
傻啦嘿哟28 分钟前
Python操作Redis:高效缓存设计与实战
redis·python·缓存
LSL666_40 分钟前
Redis值数据类型——sorted set
数据库·redis·缓存·数据类型