找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7653|回復: 10
收起左側

基于STC15單片機的數(shù)控開關電源源程序原理圖PCB文件

  [復制鏈接]
ID:235954 發(fā)表于 2020-6-15 19:40 | 顯示全部樓層 |閱讀模式
pads畫的數(shù)控開關電源原理圖和PCB圖如下:(51hei附件中可下載工程文件)
1.png

制作出來的實物圖如下:
3.png 4.png

電壓調(diào)節(jié)是小數(shù)點后兩位。

/分255級控制
//3個按鍵:1.加鍵 長按連加 2.減鍵 長按連減 3.讀出預存鍵 長按保存當前電壓

單片機源程序如下:
#include "stc15w204s.h"
#include "flash.h"
#define MAIN_Fosc                12000000        //定義主時鐘

typedef unsigned long u32;  //32位無符號整型數(shù)
typedef unsigned int u16;  //16位無符號整型數(shù)
typedef unsigned char u8;  //8位無符號整型數(shù)

/*************        本地常量聲明        **************/

#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};     //矩陣按鍵的當前狀態(tài)
u16 KeyDownTime[2]= {0, 0};        //矩陣按鍵按下時間
u8 Zi=0xff;                                //


/*************        本地函數(shù)聲明        **************/
void ConfigTimer2(u8 ms);
void  KeyDriver();        //按鍵狀態(tài)處理
void  KeyAction(u8 i);
void  ShuChu();                          //數(shù)值輸出到管腳

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();                                  //數(shù)值輸出到管腳
        _nop_ ();                                 
        _nop_ ();
        _nop_ ();                                  //等待3個指令周期
        Kai=0;                                          //開啟LM2576控制端
        while (1)
        {
                 KeyDriver();                  //按鍵處理
        }
}
2.png
5.png
0L2T6(~OVW@E8RV_OU9H%@2.png

數(shù)控開關電源.zip

2.58 MB, 下載次數(shù): 163, 下載積分: 黑幣 -5

評分

參與人數(shù) 2黑幣 +112 收起 理由
gxx2824 + 12 贊一個!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:207943 發(fā)表于 2020-6-16 09:52 | 顯示全部樓層
感謝分享,學習了。能接顯示屏的話感覺就完美了
回復

使用道具 舉報

ID:60263 發(fā)表于 2020-7-7 10:33 | 顯示全部樓層
感謝分享,學習了,擴展思路
回復

使用道具 舉報

ID:235954 發(fā)表于 2020-7-8 20:56 | 顯示全部樓層
大佬們,給我評一下分唄
回復

使用道具 舉報

ID:517951 發(fā)表于 2020-11-15 17:32 | 顯示全部樓層
不錯,值得學習。51hei有你更精彩。
回復

使用道具 舉報

ID:137526 發(fā)表于 2021-2-18 23:24 | 顯示全部樓層
漂亮10086個贊
回復

使用道具 舉報

ID:513213 發(fā)表于 2021-2-21 00:04 | 顯示全部樓層
感謝分享,學習了,擴展思路
回復

使用道具 舉報

ID:230374 發(fā)表于 2021-2-27 21:55 | 顯示全部樓層
不錯,值得學習,謝謝奉獻
回復

使用道具 舉報

ID:789717 發(fā)表于 2021-5-30 23:35 | 顯示全部樓層
我下載了你的壓縮包,可以看一下你焊的后面嗎
回復

使用道具 舉報

ID:789717 發(fā)表于 2021-5-30 23:48 | 顯示全部樓層
可以提供一下元器件的參數(shù)嗎
回復

使用道具 舉報

ID:272119 發(fā)表于 2021-6-10 20:47 | 顯示全部樓層
這是階段式電壓選擇? 用255個階段細分FB的電壓嗎?沒有下載樓主的附件,看狀態(tài)是這樣,這確實又是一個新穎的思路就是有點費IO,IO不夠可以考慮用LS164做擴展,那設置的時候需要先屏蔽跳動.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表