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

相关推荐
JavaLearnerZGQ14 分钟前
我的Redis笔记2【分布式缓存】
redis·笔记·缓存
清风66666620 分钟前
基于单片机的燃气热水器智能控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
youcans_2 小时前
【动手学STM32G4】(2)STM32G431之外部中断—按键控制
stm32·单片机·嵌入式硬件·外部中断
短剑重铸之日2 小时前
《7天学会Redis》特别篇: Redis分布式锁
java·redis·分布式·后端·缓存·redission·看门狗机制
Smart-佀2 小时前
FPGA入门:CAN总线原理与Verilog代码详解
单片机·嵌入式硬件·物联网·算法·fpga开发
与光同尘 大道至简2 小时前
ESP32 小智 AI 机器人入门教程从原理到实现(自己云端部署)
人工智能·python·单片机·机器人·github·人机交互·visual studio
小北方城市网2 小时前
SpringBoot 全局异常处理与接口规范实战:打造健壮可维护接口
java·spring boot·redis·后端·python·spring·缓存
Mr__Miss3 小时前
Redis网络模型
数据库·redis·面试
老李的森林3 小时前
嵌入式开发--无刷电机FOC控制--用定时器事件驱动ADC采样
stm32·单片机·嵌入式硬件·foc·无刷电机
亲爱的非洲野猪3 小时前
Apigee Hybrid 数据存储架构详解:Redis与数据库的精确分工
数据库·redis·架构