找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7627|回复: 10
打印 上一主题 下一主题
收起左侧

基于STC15单片机的数控开关电源源程序原理图PCB文件

  [复制链接]
跳转到指定楼层
楼主
pads画的数控开关电源原理图和PCB图如下:(51hei附件中可下载工程文件)


制作出来的实物图如下:


电压调节是小数点后两位。

/分255级控制
//3个按键:1.加键 长按连加 2.减键 长按连减 3.读出预存键 长按保存当前电压

单片机源程序如下:
#include "stc15w204s.h"
#include "flash.h"
#define MAIN_Fosc                12000000        //定义主时钟

typedef unsigned long u32;  //32位无符号整型数
typedef unsigned int u16;  //16位无符号整型数
typedef unsigned char u8;  //8位无符号整型数

/*************        本地常量声明        **************/

#define        Pin0                0x01        //IO引脚 Px.0
#define        Pin1                0x02        //IO引脚 Px.1
#define        Pin2                0x04        //IO引脚 Px.2
#define        Pin3                0x08        //IO引脚 Px.3
#define        Pin4                0x10        //IO引脚 Px.4
#define        Pin5                0x20        //IO引脚 Px.5
#define        Pin6                0x40        //IO引脚 Px.6
#define        Pin7                0x80        //IO引脚 Px.7
#define        PinAll                0xFF        //IO所有引脚
/*************        本地变量声明        **************/
sbit        r7        = P3^0;
sbit        r6        = P3^1;        
sbit        r5        = P3^2;        
sbit        r4        = P3^3;        
sbit        r3        = P3^6;        
sbit        r2        = P3^7;        
sbit        r1        = P1^0;        
sbit        r0        = P1^1;        

sbit        Kai        = P1^2;        
sbit        K1        = P1^4;        
sbit        K2        = P1^5;        
sbit        K3        = P5^4;        
        
u8 KeySta[2] =  {1, 1};     //矩阵按键的当前状态
u16 KeyDownTime[2]= {0, 0};        //矩阵按键按下时间
u8 Zi=0xff;                                //


/*************        本地函数声明        **************/
void ConfigTimer2(u8 ms);
void  KeyDriver();        //按键状态处理
void  KeyAction(u8 i);
void  ShuChu();                          //数值输出到管脚

void main(void)
{
        
//IO口初始化
         P1M1 |= (Pin0+Pin1);   
        P1M0 |= (Pin0+Pin1);                       //P1.0-P1.1脚定义为开漏模式
        P3M1 |= (Pin0+Pin1+Pin2+Pin3+Pin6+Pin7);   
        P3M0 |= (Pin0+Pin1+Pin2+Pin3+Pin6+Pin7);   //P3.0-P3.7脚定义为开漏模式

        ConfigTimer2(5);          //初始化定时器ms
        EA = 1;                                  //允许全局中断
        
        Zi=eeprom_read(0) ;       // 读保存在Flash中的电压值
        ShuChu();                                  //数值输出到管脚
        _nop_ ();                                 
        _nop_ ();
        _nop_ ();                                  //等待3个指令周期
        Kai=0;                                          //开启LM2576控制端
        while (1)
        {
                 KeyDriver();                  //按键处理
        }
}

2.png (32.11 KB, 下载次数: 132)

2.png

5.png (979.19 KB, 下载次数: 122)

5.png

0L2T6(~OVW@E8RV_OU9H%@2.png (16.96 KB, 下载次数: 138)

0L2T6(~OVW@E8RV_OU9H%@2.png

数控开关电源.zip

2.58 MB, 下载次数: 163, 下载积分: 黑币 -5

评分

参与人数 2黑币 +112 收起 理由
gxx2824 + 12 赞一个!
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏19 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:207943 发表于 2020-6-16 09:52 | 只看该作者
感谢分享,学习了。能接显示屏的话感觉就完美了
回复

使用道具 举报

板凳
ID:60263 发表于 2020-7-7 10:33 | 只看该作者
感谢分享,学习了,扩展思路
回复

使用道具 举报

地板
ID:235954 发表于 2020-7-8 20:56 | 只看该作者
大佬们,给我评一下分呗
回复

使用道具 举报

5#
ID:517951 发表于 2020-11-15 17:32 | 只看该作者
不错,值得学习。51hei有你更精彩!!
回复

使用道具 举报

6#
ID:137526 发表于 2021-2-18 23:24 | 只看该作者
漂亮10086个赞
回复

使用道具 举报

7#
ID:513213 发表于 2021-2-21 00:04 | 只看该作者
感谢分享,学习了,扩展思路
回复

使用道具 举报

8#
ID:230374 发表于 2021-2-27 21:55 | 只看该作者
不错,值得学习,谢谢奉献
回复

使用道具 举报

9#
ID:789717 发表于 2021-5-30 23:35 | 只看该作者
我下载了你的压缩包,可以看一下你焊的后面吗
回复

使用道具 举报

10#
ID:789717 发表于 2021-5-30 23:48 | 只看该作者
可以提供一下元器件的参数吗
回复

使用道具 举报

11#
ID:272119 发表于 2021-6-10 20:47 | 只看该作者
这是阶段式电压选择? 用255个阶段细分FB的电压吗?没有下载楼主的附件,看状态是这样,这确实又是一个新颖的思路就是有点费IO,IO不够可以考虑用LS164做扩展,那设置的时候需要先屏蔽跳动.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表