【正文】
輸出模塊 、 3V、 、 6V、 9V 的電源輸出模塊、 連續(xù)電壓電源模塊、 AT89C51 單片機(jī)、看門狗電路、顯示模塊 、 38 譯碼模塊、分頻模塊 和 鍵盤模塊 等組成。除此之外 ,系統(tǒng)還有看門電路,以防止系統(tǒng)在運(yùn)行的時(shí)候,程序跑飛。 本電路包括 下 面幾個(gè)電路。( 5)大電流切斷電路:由電阻 R1 R17 可控硅 Q1穩(wěn)壓管 D1電位器 R15 以及電阻 R14 等組成。此后,電源通過(guò) D1 R1 R13 對(duì)蓄電池進(jìn)行小電流充電。 C 211 0uQ 21N P NV i nP1.2R 21K12 3FD 21V C CR 22V C C 1 2vC 23R 22 R 23R 24C 22 V O4 06 9 圖 23 12V的電源輸出 圖 24 為 3V、 、 6V、 9V 的電源輸出,該電路的輸入和上面的是一樣的,不同的是后面的 3V、 、 6V、 9V 是有一塊 LM317 可調(diào)的穩(wěn)壓的芯片實(shí)現(xiàn)的。改變 1 腳與地之間的 阻值即可調(diào)整穩(wěn)壓電壓值。使用時(shí)選通端是不允許懸空的 。 基于單片機(jī)智能穩(wěn)壓電源設(shè)計(jì) 6 V i n2ADJ1+ V o u t3L M 3 1 7C 3 2C 3 4R 3 1C 3 1D 3 2R 3 5D 3 3Q 3 2N P NR 3 4R 3 3R 3 2R 3 B1213U 1 A4 0 6 6111012U 1 B4 0 6 6435U 1 C4 0 6 6896U 1 D4 0 6 6P1.1P1.4P1.5D 3 1P1.6P1.7R 3 6V C C 1 2 v K 3 22 3 F K 3 1D 3 4344069B4 0 6 94 0 6 9 B564069C4 0 6 94 0 6 9 C984069D4 0 6 94 0 6 9 D11104069E4 0 6 94 0 6 9 E13124069F4 0 6 94 0 6 9 FV C CR 3 7Q 3 1N P NR 3 8 R 3 9R 3 AC 3 3 V OV i n 圖 24 3V、 、 6V、 9V的電源輸出 圖 25為 ,該電路的原理是和前面一樣的,所不同的這里使用的電阻是連續(xù)可變的,所以輸出的電壓也是連續(xù)可調(diào)的。 V i n1GND2V ou t37 81 2+ C 520 .33 U+ C 540 .1UR 561 0KD 55L E DD 511 N 5 81 7V C C 1 2vBT1 2V蓄電池供電V i n1GND2V ou t37 80 5+ C 530 .33 U+ C 550 .1UR 571 0KD 56L E DD 521 N 5 81 7V C C 5 vD 531 2VD 545VQ 51N P NPFOR 51K 512 3FD 51V C CR 52C 52R 53 R 54R 55C 51 V O4 06 9 圖 26 穩(wěn)壓電源電路 AD0809 模數(shù)轉(zhuǎn)換電路設(shè)計(jì) 圖 27 中 ADC0809 是一個(gè) 8 位模擬數(shù)字轉(zhuǎn)換器件 ,其中 IN0~ IN7 一共 8 個(gè)輸入通道 ,但每次只能用其中的一個(gè) ,通道的選擇由 ADD_A、 ADD_B、 ADD_C 三根地址信號(hào)控制,本次設(shè)計(jì) 我 選用 IN_0 和 IN_1,通道的選擇可以通過(guò) ADD_A 的高低電平來(lái)區(qū)分。 AD0809 只能對(duì)電壓信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,而且輸入的電壓在 0— 5V 之間的,如果輸入的電流信號(hào),必須進(jìn)行信號(hào)轉(zhuǎn)換成 電壓信號(hào),如果輸入的電壓信號(hào)大于5V,可以通過(guò)分壓電路進(jìn)行分壓。 AT89C51 基本工作電路設(shè)計(jì) 本設(shè)計(jì)的核心是單片機(jī)電路,考慮到我 需要兩個(gè)中斷輸入,存 儲(chǔ)容量、外部接口對(duì)單片機(jī)端口的需要以及兼顧到節(jié)約成本的原則,我 選用了常用的 AT89C51單片機(jī)。其將通用的微處理器和 Flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的 Flash 存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。 基于單片機(jī)智能穩(wěn)壓電源設(shè)計(jì) 9 P03P14P25P36Q0 14Q1 13Q2 12Q3 11TC 15C E P7C E T10C L K2PE9MR17 4A L S 16 1V C C 5 vA L E 圖 29 74LS161 分頻 3分頻電路 看門狗電路設(shè)計(jì) 應(yīng)用系統(tǒng)受到干擾后,都要進(jìn)行復(fù)位,而一般 RC 電路往往不能保證系統(tǒng)的安全可靠工作,因此便出現(xiàn)了看門狗。該芯片具有監(jiān)控電路 ,如圖 所示。總共有六種狀態(tài),分別是: 1 表示當(dāng)前輸出的12V, 2 表 示當(dāng)前輸出的 3V, 3 表示當(dāng)前輸出的 , 4 表示當(dāng)前輸出的 6V, 5 表基于單片機(jī)智能穩(wěn)壓電源設(shè)計(jì) 10 示當(dāng)前輸出的 9V, 6 表示當(dāng)前輸出的 的連續(xù)可調(diào)電壓。圖 211 為 顯示 電路和 38 譯碼電路: P 1P 2P 3P 4P 5P 6P 7P 8R S T / V P D9P / R xD10P / T xD11P / I N T 012P / I N T 113P / T 014P / T 115P / W R16P / R D17X T A L 218X T A L 119G N D20P 21P 22P 23P 24P 25P 26P 27P 28P S E N29A L E / P R O G30E A / V p p31P 32P 33P 34P 35P 36P 37P 38P 39V C C40A T 8 9C 51A1B2C3G 2A4G 2B5G16Y77V C C16Y015Y114Y213Y312Y411Y510G N D8Y697 4L S 1 38DIR1A12A23A34A45A56A67A78A89GND10B811B712B613B514B415B316B217B118OE19VCC207 4H C 2 45abfcgdeD P Y[ L E D g n ]a b c d e f gD S 2a b c d e f gdpC B AD S 1a b c d e f gdpC B AD S 0X T A L 1X T A L 2V C C 5 vD1D2D3D4D5D6D7D8D1 D2 D3 D4 D5 D6 D7 D8a b c d e f gdpV C C 5 va b c d e f g a b c d e f gdp a b c d e f gdpV C C 5 vY0Y1Y2Y3Y4Y5Y6Y0Y1Y2Y3Y4Y5Y6I N T OP P P P P P P P P P P ABCV C C 5 vABCV C C 5 vA L ES W 1S W 2S W 3S W 4S W 5V C C 5 vN O TOEOEP P 圖 211 顯示 電路和 38譯碼電路 圖中通過(guò)單片機(jī)的 P0 端口向數(shù)碼管送顯示的數(shù)據(jù),通過(guò) 、 三根地址線經(jīng)過(guò) 38 譯碼器選擇顯示的位置。圖 212 為晶振電路,為單片機(jī)工作的必須的部件。電路的合成不是簡(jiǎn)單的把這些電路堆在一起,需要考慮他們之間的資源分配,主次,先后等關(guān)系。設(shè)計(jì)得不好的系統(tǒng),盡管可以工作,但很可能維護(hù)起來(lái)費(fèi)用昂貴、測(cè)試?yán)щy和不可靠,因此,設(shè)計(jì)階段是軟件開(kāi)發(fā)過(guò)程中最重要的階段。 軟件設(shè)計(jì)任務(wù) 軟件設(shè)計(jì)主要是針對(duì)硬件設(shè)計(jì)里面的控制部分的,這里指 AT89C51單片機(jī),一般的單片機(jī)均可用匯編語(yǔ)言和 C語(yǔ)言進(jìn)行編程。 軟件設(shè)計(jì)的步驟 大型的軟件設(shè)計(jì)是一個(gè)龐大的系統(tǒng)工程,需要前期的市場(chǎng)調(diào)查、需求分析,還需要各個(gè)行業(yè)的支持。 第三步:編譯,查錯(cuò),改錯(cuò)(包括語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤) 第四步:把編譯,看是否得到我 需要的結(jié)果,如果得不到結(jié)果就回到第三步,直到最 后得到我 想要的結(jié)果。 軟件設(shè)計(jì)流程 流程圖是一種傳統(tǒng)的算法表示法,它利用幾何圖形的框來(lái)代表各種不同性質(zhì)的操作,用流程線來(lái)指示算法的執(zhí)行方向。除此之外,程序設(shè)計(jì)中還設(shè)計(jì)了兩個(gè)中斷程序,一個(gè)是AD0809 模數(shù)轉(zhuǎn)換中斷,一個(gè)是電壓過(guò)低自動(dòng)充電中斷,這個(gè)兩個(gè)中斷的設(shè)計(jì)也是相對(duì)比較難的。 編寫(xiě)程序是一個(gè)相當(dāng)復(fù)雜的過(guò)程,要求編程人員具有很強(qiáng)邏輯思維,單片機(jī)初始化 關(guān)閉所有電源輸出 掃描鍵盤 是否有按鍵 是否是按鍵 2 從 AD0809 讀取電流大小 是否是按鍵 3 是否是按鍵 4 是否是按鍵 5 判斷電流超過(guò) 2A 從 AD0809 讀取電 壓 大小 送數(shù)據(jù)到 LED 數(shù)碼顯示管 輸出 — 12V 可調(diào)電壓 顯示 功能的選擇 3V/12V 的電源輸出 關(guān)閉電源輸出 是否是按鍵 1 N Y N N N N Y Y Y Y N Y N Y 基于單片機(jī)智能穩(wěn)壓電源設(shè)計(jì) 16 而且要在對(duì)整個(gè)系統(tǒng)工作原理相當(dāng)熟悉的基礎(chǔ)上面才能完成任務(wù)。中斷 0 到來(lái)標(biāo)注位 IRETFLAG EQU 21H 。12V 電壓輸出標(biāo)注位 CONTFLAG EQU 26H 。電壓的小數(shù)部分 V1 EQU 33H 。電流的整數(shù)部分 。12V 電壓輸出按鍵 CLR C MOV C, JC KEYJUMP4 CLR 。*********電壓輸出程序 ********* VOUTPUT: JNB V12VFLAG,VTJUMP1 MOV DISFLAG,01H 基于單片機(jī)智能穩(wěn)壓電源設(shè)計(jì) 18 SETB SETB CLR RET VTJUMP1: JNB VFLAG,VTJUMP2 SETB SETB CLR MOV A,VOITFLAG CJNE A,00H,VTJUMP11 MOV DISFLAG,02H 。9V 電壓輸出 SETB SETB SETB CLR VTJUMP14: RET VTJUMP2: MOV DISFLAG,06H 。中斷到,標(biāo)志位置 1 CLR 。禁止讀信號(hào) CLR EX0 POP PSW POP ACC RETI 。關(guān)所有的電源輸出 LCALL KEYSCAN JNB IRETFLAG,$ LJMP MAIN 。得到電流的小數(shù)部分的第二位 RET 。得到小數(shù)部分 RET 。顯示電流的整數(shù)部分 CLR SETB S