【51单片机】【protues仿真】基于51单片机数控直流稳压电源系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、数码管显示输出电压值

2、滑动电阻调节输出电压

3、电压输出范围0-15V,步进值1

二、使用步骤

基于51单片机的数控直流稳压电源是一种通过数字控制实现电压调节的智能化电源系统,其核心设计结合了单片机控制、D/A转换、稳压电路。

三、硬件资源

1、51单片机核心模块

2、按键模块

3、数模转换模块

4、放大电路模块

5、模数转换模块

6、数码管显示模块

四、软件设计

#include<reg51.h>

#include<absacc.h>

#define dac0832 XBYTE[0X7fff]

unsigned char code shu[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

float s;

sbit ALE=P3^0;

sbit START=P3^1;

sbit EOC=P3^2;

sbit OE=P3^3;

sbit SHCP=P2^0;

sbit DS=P2^1;

sbit STCP=P2^2;

sbit P11=P3^5;

sbit P12=P3^7;

sbit clk=P2^6;

unsigned char j,k,m,n,i,a;

unsigned int b;

void delay(unsigned char t)

{ while(t--);

}

void display()

{

j=0x01;

for(i=0;i<8;i++)

{ if((shu[m]&j)==0)

{ DS=0;}

else {DS=1;}

SHCP=1;

SHCP=0;

j<<=1;

}

P12=0;

P11=1;

STCP=0;

STCP=1;

delay(200);

j=0x01;

for(i=0;i<8;i++)

{ if((shu[n]&j)==0)

{ DS=0;}

else {DS=1;}

SHCP=1;

SHCP=0;

j<<=1;

}

P11=0;

P12=1;

STCP=0;

STCP=1;

delay(200);

}

void main()

{

P2=0X87;

TMOD=0X20;

TH1=0X06;

TL1=0X06;

EA=1;

ET1=1;

TR1=1;

while(1)

{

ALE=1;

ALE=0;

START=1;

START=0;

while(EOC==0);

OE=1;

k=P1;

a=P1;

b=a*6;

m=b/1000;

n=b%1000/100;

dac0832=k;

display();

}

}

五、实验现象

演示视频:

相关推荐
云山工作室22 分钟前
基于单片机的三相逆变电源设计
单片机·嵌入式硬件·毕业设计·毕设
Pocker_Spades_A2 小时前
【C语言数据结构】第2章:线性表(2)--线性表的顺序存储结构
c语言·数据结构
国科安芯2 小时前
ASP3605电源芯片关键指标测试说明
功能测试·单片机·嵌入式硬件·pcb工艺
代码村新手3 小时前
C语言-字符函数和字符串函数
c语言·开发语言
SundayBear3 小时前
LVGL 开发指南:从入门到精通的嵌入式 GUI 实战心法
单片机·嵌入式·lvgl
Yupureki5 小时前
从零开始的C++学习生活 3:类和对象(中)
c语言·c++·学习·visual studio
弘毅 失败的 mian5 小时前
利用 VsCode + EIDE 进行嵌入式开发(保姆级教程)
经验分享·笔记·vscode·stm32·单片机·嵌入式硬件·eide
凤年徐6 小时前
【C++】string类
c语言·开发语言·c++
小龙报6 小时前
《KelpBar海带Linux智慧屏项目》
linux·c语言·vscode·单片机·物联网·ubuntu·学习方法
沐欣工作室_lvyiyi6 小时前
基于单片机的环境监测智能报警系统的设计(论文+源码)
单片机·嵌入式硬件·物联网·毕业设计