【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();

}

}

五、实验现象

演示视频:

相关推荐
_Ningye2 小时前
STM32 — 2.2 新建工程
stm32·单片机·嵌入式硬件
AI+程序员在路上2 小时前
CANopen 协议:介绍、调试命令与应用
linux·c语言·开发语言·网络
森利威尔电子-2 小时前
森利威尔SL3062替代 LM3485 60V降压恒压芯片
单片机·嵌入式硬件·集成电路·芯片·电源芯片
爱编码的小八嘎3 小时前
C语言完美演绎4-4
c语言
_Ningye3 小时前
STM32 — 3.1 GPIO输出
stm32·单片机·嵌入式硬件
学嵌入式的小杨同学3 小时前
STM32 进阶封神之路(十九):ADC 深度解析 —— 从模拟信号到数字转换(底层原理 + 寄存器配置)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
青桔柠薯片4 小时前
51单片机(STC89C52RC)学习总结:从裸机编程到外设驱动
嵌入式硬件·学习·51单片机
weiyvyy4 小时前
从开发视角看硬件接口:接口开发的本质与全景图
驱动开发·单片机·嵌入式硬件·硬件工程
老李的森林4 小时前
杂谈--如何与AI高效率的对话
人工智能·stm32·嵌入式硬件·机械
Book思议-4 小时前
【数据结构实战】线性表的应用
c语言·数据结构·算法·链表