找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5668|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)數(shù)控電源1602

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
1、基本要求
1)輸出電范圍02000mA;
2可按鍵設(shè)置輸出電壓值值,要求輸出電壓與給定值偏差的絕對(duì)值≤給定值的1+10 mA
3具有+”、“-”步進(jìn)調(diào)整功能,步進(jìn)0.1V;
4三極管作調(diào)整輸出,實(shí)現(xiàn)最低電壓輸出0V
5)紋波電壓≤10mV
本電源主要由數(shù)控部分和穩(wěn)流輸出部分組成
1.數(shù)控部分
數(shù)控部分主要有數(shù)字電路構(gòu)成,它要完成鍵盤控制,LCD1602液晶顯示輸出的電壓值,短路保護(hù)等功能。因此采用STC89C51單片機(jī)作為整機(jī)的控制單元,通過改變TLC5615的輸入數(shù)字量來改變輸出電壓值,從而使輸出功率管的基極電壓發(fā)生變化,間接地改變輸出電流的大小。采用軟件方法來解決數(shù)據(jù)的預(yù)置以及電電壓的步進(jìn)控制,使系統(tǒng)硬件更加簡(jiǎn)潔,各類功能易于實(shí)現(xiàn),能很好地滿足題目的要求。
2. 穩(wěn)流輸出部分
    這部分是將控制部分送來的電流控制字?jǐn)?shù)據(jù)轉(zhuǎn)換成穩(wěn)定電流輸出。電壓控制電路采用數(shù)控的方式,利用單片機(jī)送出數(shù)字量,經(jīng)過D/A轉(zhuǎn)換轉(zhuǎn)變成模擬信號(hào),再送到大功率三極管進(jìn)行放大。單片機(jī)系統(tǒng)實(shí)時(shí)對(duì)輸出電流進(jìn)行監(jiān)控,采用數(shù)字方式作為反饋調(diào)整環(huán)節(jié),由程序控制調(diào)節(jié)功率管的輸出電壓恒定。




部分代碼:
uchar code tab1[]={"Welcome to use  "};         //固定字符
uchar code tab2[]={"adj power supply"};                //固定字符
uchar code tab3[]={"Voltage:     . V"};                //固定字符
uchar code tab4[]={"                "};                //固定字符
uchar code tab5[]={"Short circuit!!!"};                //固定字符
uchar code tab6[]={"Please restart!!"};                //固定字符
//延時(shí)函數(shù),后面經(jīng)常調(diào)用
void delay(uint xms)//延時(shí)函數(shù),有參函數(shù)
{
        uint x,y;
        for(x=xms;x>0;x--)
         for(y=121;y>0;y--);
}
/********液晶寫入指令函數(shù)與寫入數(shù)據(jù)函數(shù),以后可調(diào)用**************/
/*在這個(gè)程序中,液晶寫入有關(guān)函數(shù)會(huì)在DS1302的函數(shù)中調(diào)用,所以液晶程序要放在前面*/
void write_1602com(uchar com)//****液晶寫入指令函數(shù)****
{
        RS=0;//數(shù)據(jù)/指令選擇置為指令
        RW=0; //讀寫選擇置為寫
        P0=com;//送入數(shù)據(jù)
        delay(1);
        EN=1;//拉高使能端,為制造有效的下降沿做準(zhǔn)備
        delay(1);
        EN=0;//en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令
}
void write_1602dat(uchar dat)//***液晶寫入數(shù)據(jù)函數(shù)****
{
        RS=1;//數(shù)據(jù)/指令選擇置為數(shù)據(jù)
        RW=0; //讀寫選擇置為寫
        P0=dat;//送入數(shù)據(jù)
        delay(1);
        EN=1; //en置高電平,為制造下降沿做準(zhǔn)備
        delay(1);
        EN=0; //en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令
}
void lcd_init()//***液晶初始化函數(shù)****
{
        uchar p;
        write_1602com(0x38);//設(shè)置液晶工作模式,意思:16*2行顯示,5*7點(diǎn)陣,8位數(shù)據(jù)
        write_1602com(0x0c);//開顯示不顯示光標(biāo)
        write_1602com(0x06);//整屏不移動(dòng),光標(biāo)自動(dòng)右移
        write_1602com(0x01);//清顯示
        write_1602com(0x80);//日歷顯示固定符號(hào)從第一行第1個(gè)位置之后開始顯示
        for(p=0;p<16;p++)
        {
                write_1602dat(tab1[p]);//向液晶屏寫日歷顯示的固定符號(hào)部分
        }
        write_1602com(0xc0);//時(shí)間顯示固定符號(hào)寫入位置,從第2個(gè)位置后開始顯示
        for(p=0;p<16;p++)
        {
                write_1602dat(tab2[p]);//寫顯示時(shí)間固定符號(hào),兩個(gè)冒號(hào)
        }
        delay(1000);
        write_1602com(0x80);//日歷顯示固定符號(hào)從第一行第1個(gè)位置之后開始顯示
        for(p=0;p<16;p++)
        {
                write_1602dat(tab3[p]);//向液晶屏寫日歷顯示的固定符號(hào)部分
        }
        write_1602com(0xc0);//時(shí)間顯示固定符號(hào)寫入位置,從第2個(gè)位置后開始顯示
        for(p=0;p<16;p++)
        {
                write_1602dat(tab4[p]);//寫顯示時(shí)間固定符號(hào),兩個(gè)冒號(hào)
        }

}


QQ截圖20190510100419.png (6.54 KB, 下載次數(shù): 91)

QQ截圖20190510100419.png

QQ截圖20190510100612.png (72.61 KB, 下載次數(shù): 103)

QQ截圖20190510100612.png

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
chenyj + 20 很給力!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:380985 發(fā)表于 2019-7-16 07:37 來自手機(jī) | 只看該作者
很好,學(xué)習(xí)參考的好資料
回復(fù)

使用道具 舉報(bào)

板凳
ID:380985 發(fā)表于 2019-7-16 07:39 來自手機(jī) | 只看該作者
坑人,大家別下了
回復(fù)

使用道具 舉報(bào)

地板
ID:436177 發(fā)表于 2019-10-25 09:37 來自手機(jī) | 只看該作者
樓主,有沒有PCB。
回復(fù)

使用道具 舉報(bào)

5#
ID:436177 發(fā)表于 2019-10-25 09:37 來自手機(jī) | 只看該作者
還有能發(fā)個(gè)仿真的壓縮包嗎?
回復(fù)

使用道具 舉報(bào)

6#
ID:816313 發(fā)表于 2020-9-12 16:10 | 只看該作者
能發(fā)下程序嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表