彭建英 單同坤 雷立云
[摘 要]隨著單片機技術的快速發展,其越來越多的應用到各個電子領域,以單片機為核心設計的直流電源可以解決很多傳統的直5流電源功能簡單,難于控制,不方便調節等缺點。本數控直流穩壓電源系統采用AT89C51單片機為主控模塊,由DAC0832數模轉換模塊輸出電壓,然后由放大電路對模擬電壓進行放大,以達到我們所要求輸出的值。
[關鍵詞]單片機 DAC0832 放大電路
[中圖分類號]G633 [文獻標識碼]A [文章編號]1007-9416(2009)12-0010-02
數控電源是從80年代才真正的發展起來的,期間系統的電力電子理論開始建立。這些理論為其后來的發展提供了一個良好的基礎。在以后的一段時間里,數控電源技術有了長足的發展。但其產品存在數控程度達不到要求、分辨率不高、功率密度比較低、可靠性較差的缺點。因此數控電源主要的發展方向,是針對上述缺點不斷加以改善。單片機技術及電壓轉換模塊的出現為精確數控電源的發展提供了有利的條件。新的變換技術和控制理論的不斷發展,各種類型專用集成電路、數字信號處理器件的研制應用,到90年代,己出現了數控精度達到0.05V的數控電源,功率密度達到每立方英寸50W的數控電源[1]。
1 系統框圖和工作原理
系統框圖如圖1所示,主要由單片機組成的控制電路,DAC0832組成的數模轉換電路,按鍵電路和數碼管顯示電路等組成。

系統工作原理:利用單片機對按鍵輸入值進行判斷鍵值處理并送入數碼管顯示,然后將數據送入DAC0832進行數模轉換并經過放大電路輸出。
2 系統設計
2.1 系統硬件接口電路設計
系統硬件接口電路見圖2所示,單片機P1口與U2 74HC573和U3 74HC573的D0-D7相接相連,P2口與矩陣鍵盤的行列相接,P0口與DAC0832的數據端D10-D17相接,P3.0 與U2的LE相連,P3.1 與U3的LE相連,U2的Q0-Q7接數碼管的段碼A、B、C、D、E、F、G、DP,U3的Q0、Q1接數碼管的位選段1、2,DAC0832的輸出電流接運算放大器U2:A[1]。

2.2 軟件設計
2.2.1軟件流程圖
程序流程圖見圖3,程序開始進行鍵盤掃描,然后獲得鍵值送數碼管顯示,再經DA0832數模轉換獲得與輸入鍵值相對應的模擬輸出電壓值[2]。
2.2.2接口程序
部分程序源碼:
sbit dula1=P3^0;
sbit wela1=P3^1;
sbit key1=P2^3;
sbit key2=P3^4;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0,};
uchar code tablexianshi[]={0x17,0x31,0x4b,0x65,0x7f,0x99,0xb3,0xcd,0xe6,0xff,};
uchar num,temp,aa;
uchar keyscan();
void display(uchar aa);

void main()
{dula1=1;P1=0;dula1=0;wela1=1;P1=0xfd;wela1=0;P0=0;while(1)}
{display(keyscan());}
3 仿真與調試
系統利用PROTEUS和KEILC軟件進行仿真和調試,且結果準確。仿真圖見圖2所示。圖中數碼管顯示的是鍵盤輸入值5V電壓,由運放U2:A將DAC0832的電流值轉換為電壓值為-2.5v,再由放大電路放大2倍,由Volts B測得的是輸出直流電壓值4.98V,其中存在0.02V的誤差。
本設計利用AT89C51作為主控芯片來控制DAC0832產生直流電壓信號,經輸出采樣電路的電流/電壓轉換、放大,輸出穩定的直流電流。系統中用鍵盤進行數值設定,用數碼管進行顯示。整個系統可編程,使得系統的靈活性大大的增加,由于運算放大器具有很大的電源電壓抑制化,可以大大減小輸出端的紋波電壓。
[參考文獻]
[1] 謝維成.單片機原理與應用及C51程序設計[M].北京:清華大學出版社,2006.
[2] 馬忠梅.單片機原理的C語言應用程序設計[M].北京:北京航空航天大學出版社,2003.
[項目基金]
基于ARM-Linux 的嵌入式系統應用研究,湖南省教育廳科技項目支助;編號:07C446