基于單片機(jī)的穩(wěn)壓電源設(shè)計(jì)原理說明_第1頁
基于單片機(jī)的穩(wěn)壓電源設(shè)計(jì)原理說明_第2頁
基于單片機(jī)的穩(wěn)壓電源設(shè)計(jì)原理說明_第3頁
基于單片機(jī)的穩(wěn)壓電源設(shè)計(jì)原理說明_第4頁
基于單片機(jī)的穩(wěn)壓電源設(shè)計(jì)原理說明_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、4 穩(wěn)壓電源設(shè)計(jì)4.1 電路分析穩(wěn)壓電路見圖 4-1 所示。三極管射極電壓是穩(wěn)壓電源的輸出電壓,可以接用電器或負(fù) 載,這個(gè)電壓值通過 TLC549( A/D,同 TLC548)數(shù)據(jù)轉(zhuǎn)換后,送往單片機(jī)處理并顯示。調(diào)整 按鍵可以改變輸入 TLC5615(D/A,同 TLC5616)的數(shù)據(jù)。 TLC5615 的輸出電壓通過運(yùn)算放大器 與實(shí)際輸出取樣電壓比較,控制三極管的電壓輸出。穩(wěn)壓電路的電壓輸出接受單片機(jī)檢測, 同時(shí)又受單片機(jī)的控制。電路在仿真時(shí),各點(diǎn)的電壓都連接有電壓表顯示。圖 1 穩(wěn)壓電路4.2 電路模塊一、A/D 轉(zhuǎn)換部分TLC549 對輸出電壓進(jìn)行采集,其操作如下:(1)cs 先為高電平。

2、 ( cs 為片選信號,為 1 時(shí),輸入脈 i/o clock 不起作用); ( 2) clock = 0( 3) cs = 0 ; cs 置底電平。 同時(shí) date_out 為高。( =1);( 4)延時(shí) 1.4us 。( setup time,cs low before first clock ); (5)開始轉(zhuǎn)化數(shù)據(jù)。因?yàn)?TLC549 是 8 位串行模數(shù)轉(zhuǎn)換器。需將 8 位數(shù)據(jù)依次串行輸 出。期間, clock 高低電平轉(zhuǎn)化一次;( 6)8 次數(shù)據(jù)轉(zhuǎn)化之后。 cs 置 1,片選無效。等待 17us 后讀出數(shù)據(jù)。二、D/A 轉(zhuǎn)換部分TLC5615為 10 位 D/A 轉(zhuǎn)換電路,其原理 T

3、LC5615的 PDF文件。輸出電壓 = (轉(zhuǎn) 換數(shù)值 /1024 ) *2* 基準(zhǔn)電壓三、顯示采用數(shù)碼管對 A/D轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行顯示,因?yàn)?TLC549 是8位 A/D,程序中需要對轉(zhuǎn) 化的數(shù)據(jù)進(jìn)行處理后才能在七段數(shù)碼管上動態(tài)顯示。 TLC549 的檢測電壓值圍為 05V, A/D 轉(zhuǎn)換后數(shù)據(jù)位 0255,應(yīng)該顯示 05,并且包含小數(shù)點(diǎn)部分。四、按鍵操作部分四個(gè)獨(dú)立的按鍵主要是對 DA 的輸入數(shù)據(jù)進(jìn)行操作的, ADD按鍵, SUB 按鍵 這些按鍵 在安下一次松開后便進(jìn)行加 1 的操作,若按鍵超過一定的時(shí)間則增加步長,使其數(shù)值能夠 快速增加,這樣就不必要達(dá)到一個(gè)電壓時(shí),一直按幾百次。SUB按

4、鍵也是如此。至于那個(gè)預(yù)讀取按鍵, 主要是用于保存你要常用的電壓值, 這樣一來你就可以在使用此電源時(shí), 不必要 每次都要按鍵調(diào)整, 可以通過讀取 AT24C04的值進(jìn)行電壓預(yù)置, 保存按鍵, 是用于保存你長 使用的電壓值,通過此次的電壓值保存,使你可以快速達(dá)到你所要求的電壓值。4.3 編程思路程序分為鍵盤處理、 D/A、 A/D 和存儲四個(gè)模塊。運(yùn)用掃描法,對鍵盤進(jìn)行掃描,有按 鍵就更改輸入 TLC5615 的數(shù)值, ADD按鍵是對數(shù)據(jù)進(jìn)行加以操做,長按的話使步進(jìn)值增大, 實(shí)現(xiàn)快加, 按鍵與按鍵同, 預(yù)讀取按鍵用于讀取 中預(yù)置的 數(shù)值,保存按鍵用于保存當(dāng)前電壓值; 顯示部分主要是對采集回來的電壓

5、進(jìn)行 處理顯示, 它主要是在定時(shí)器的中斷服務(wù)程序中顯示, 刷新顯示一次; 模塊, 通過對的串行數(shù)據(jù)輸入, 使其在輸出電壓時(shí)可控, 輸出電壓后經(jīng) ,三極管,加上負(fù)載輸出電壓,輸出電壓后,用芯片采集一 次,送數(shù)碼管顯示。4.5 程序清單主函數(shù):#include #include intrins.h#include AT24C04.h #define uchar unsigned char#define uint unsigned intLED10各個(gè)數(shù)碼管對應(yīng)的位選數(shù)uchar code0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar

6、code Bit_sel4 = 0x08,0x04,0x02,0x01 ; /據(jù) sbit DIO = P10; / 數(shù)據(jù)線 sbit CS = P11; / 片選 sbit CLK = P12; /io 口時(shí)鐘 sbit SCS = P14; sbit SDATA = P15; sbit SCLK = P13;sbit ADD = P30;sbit SUB = P31;sbit Pre_read = P32; sbit Store = P33;uint qian,bai,shi,ge; / 用于顯示數(shù)碼管的 千,百,十,個(gè) 等四位的顯示 uint val,num; /val 是用于輸入 DA

7、 的數(shù)據(jù), num 是用于判斷是不是 長按的uint cp; / 計(jì)數(shù)的變量uchar key_stat;uchar add_stat,sub_stat;uchar st_flag,pre_flag;void delay(uint x)while(x-) _nop_();/ 微妙級是延時(shí)函數(shù)/* 函數(shù)名稱: deal 函數(shù)作用:處理 AD的返回值 函數(shù)參數(shù):無 函數(shù)返回值:無void deal(uint num) /qian=num/1000; bai=num/100%10; shi=num/10%10;顯示程序/ 千,百,十,個(gè)處理ge=num%10; /* 函數(shù)名稱: TL549_AD()

8、 函數(shù)作用:返回 AD的返回值 函數(shù)參數(shù):無 函數(shù)返回值: data_ad/TLC549 處理/ 初始化,啟動uint TL549_AD()uchar i;uint data_ad = 0;CS = 1;CLK = 0;CS = 0;_nop_();for(i = 0;i 8;i+)/ 讀取采集數(shù)據(jù),讀取的是上一次采集數(shù)據(jù)CLK = 1; if(DIO)data_ad |= 0x01;CLK = 0;data_ad = data_ad 1;CS = 1;data_ad = data_ad * (500/ 256); return(data_ad);/*函數(shù)名稱: TLC5615_DA(uint

9、 da)函數(shù)作用: TLC5615_DA 將 da 轉(zhuǎn)換后模擬輸出函數(shù)參數(shù): da 函數(shù)返回值:無*/void TLC5615_DA(uint da) / TLC5615的 DA 轉(zhuǎn)換函數(shù)uchar i;da=6;SCS=0;SCLK=0;for (i=0;i12;i+) SDATA=(bit)(da&0x8000);SCLK=1;da=1;SCLK=0;SCS=1;SCLK=0;for (i=0;i= 300) val += 5;num = 0;if (ADD = 1 & add_stat = 1)val +;num = 0; add_stat = 0;if (val = 1024)val

10、= 1023;if (SUB = 0)/SUBdelay(10);if (SUB = 0) sub_stat = 1; num +;按鍵的鍵盤處理函數(shù)加大按鍵的鍵盤處理函數(shù)if (SUB = 0 & sub_stat = 1 & num = 300)val -= 5; num = 0;if (SUB = 1 & sub_stat = 1)val -; num = 0; sub_stat = 0;if (val = 4)cp = 0;deal(TL549_AD(); /TR0 = 1;/ 數(shù)碼管的位選變量/ 停止計(jì)數(shù)/ 重新載入計(jì)數(shù)器初值/ 位循環(huán)變量加 1循環(huán)顯示 1 次, j 清零P0=0x

11、ff; / 與 j 對應(yīng), P2 輸出數(shù)碼管的位選信號 switch(cp)case 0: P0 = LEDge; break;case 1: P0 = LEDshi; break;case 2: P0 = LEDbai&0x7f; break;case 3: P0 = LEDqian; break;P2 = Bit_selcp;AT24C04 的驅(qū)動:#ifndef AT24C04_10_04_07sbit ATCLK=P16;sbit SDA=P17;sbit a7=ACC7;sbit a6=ACC6;sbit a5=ACC5;sbit a4=ACC4;sbit a3=ACC3;sbit

12、a2=ACC2;sbit a1=ACC1;sbit a0=ACC0;/* *24C04 的初始化 * * */ void init_24C04()SDA=1;_nop_();ATCLK=1;_nop_();啟動 24C04void start_24C04()SDA=1; _nop_();ATCLK=1;_nop_();SDA=0;_nop_();ATCLK=0;_nop_();停止 24C04void stop_24C04()SDA=0; _nop_();ATCLK=1;_nop_();SDA=1; _nop_();* *24C04應(yīng)答void response()unsigned char

13、i;ATCLK=1;_nop_(); while(SDA=1)&(i250)i+;ATCLK=0; _nop_();* 讀取 24C04 一個(gè)字節(jié) * */unsigned char read_byte()SDA=1;ATCLK=1;a7=SDA;ATCLK=0;ATCLK=1;a6=SDA;ATCLK=0;ATCLK=1;a5=SDA;ATCLK=0;ATCLK=1;a4=SDA;ATCLK=0;ATCLK=1;a3=SDA;ATCLK=0;ATCLK=1;a2=SDA;ATCLK=0;ATCLK=1;a1=SDA;ATCLK=0;ATCLK=1;a0=SDA;ATCLK=0;SDA=1;A

14、TCLK=0;return ACC;/* 寫入 24C04 一個(gè)字節(jié) */void write_byte(unsigned char addr)ACC=addr;SDA=a7;ATCLK=1;ATCLK=0;SDA=a6;ATCLK=1;ATCLK=0;SDA=a5;ATCLK=1;ATCLK=0;SDA=a4;ATCLK=1;ATCLK=0;SDA=a3;ATCLK=1;ATCLK=0;SDA=a2;ATCLK=1;ATCLK=0;SDA=a1;ATCLK=1;ATCLK=0;SDA=a0;ATCLK=1;ATCLK=0;SDA=1;ATCLK=0;/* 寫 24C04 的數(shù)據(jù) */void write_24C04(unsigned char addr,unsigned char dat) start_24C04(); write_byte(0xa0); response();write_byte(addr);response(); write_byte(dat); response(); stop_24C04();讀 24C04 的數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論