《智能充電器》word版.doc
理工學(xué)院畢 業(yè) 設(shè) 計學(xué)生姓名: 李艷峰 學(xué) 號: 08L0802305 專 業(yè): 自動化 題 目: 便攜式自動恒壓充電器設(shè)計 指導(dǎo)教師: 李瑋(副教授) 評閱教師: 2012 年 月 目 錄1 引言1.1 課題研究背景1.2 國內(nèi)外發(fā)展情況1.3 為何需要實現(xiàn)充電器的智能化1.4 充電電池特性及其充電方式1.5 方案論證與比較1.6 主要芯片選擇1.7 模數(shù)轉(zhuǎn)換器2 硬件電路主要芯片2.1 單片機AT89S522.2 AD轉(zhuǎn)換芯片ADC089093 硬件電路的設(shè)計3.1 電源電路的設(shè)計3.2 數(shù)據(jù)采樣與轉(zhuǎn)換電路3.3 充、放電與維護電路3.4 延時與報警電路3.5 顯示電路3.6 上位機通信模塊3.7 溫度傳感電路4 單片機軟件設(shè)計4.1 軟件功能4.2 用C語言開發(fā)的單片機4.3 系統(tǒng)程序流程圖5 安裝與調(diào)試結(jié)論致謝參考文獻摘 要為了解決鋰離子電池和鎳氫/鎳鎘電池的充電問題,設(shè)計了一種以AT89S52單片機為核心的通用智能充電器,介紹了智能充電器的工作原理、設(shè)計特點和三種充電模式,詳細討論了系統(tǒng)的硬件構(gòu)成及軟件實現(xiàn)方法。由于采用了高性能的微控制器及高分辨率的A/D轉(zhuǎn)換電路,保證了充電器具有很高的精度。關(guān)鍵詞:單片機 A/D轉(zhuǎn)換 智能充電器 硬件構(gòu)成Abstract The reference design is developed for the charge of Li-ion and NiMH/NiCd battery pack based on AT89S52 single-chip computer . The work principle and design characteristics and three charge mode are introduced, then the hardware structure and the implement of software are analyzed in detail. With the high performance of microcontroller and high resolution A/D convert circuit ,the design can guarantee high accuracy.Keywords: Single-chip computer A/D convert Intelligent battery charger Hardware structure1 引言11 課題研究背景隨著便攜式設(shè)備日新月異的發(fā)展,電源技術(shù)已經(jīng)越來越多的得到人們的重視。為適應(yīng)在通信、生物醫(yī)學(xué)和軍事等領(lǐng)域?qū)Ρ銛y式電源的新要求,智能電池作為微電子技術(shù)與傳統(tǒng)電池技術(shù)結(jié)合的產(chǎn)物應(yīng)運而生,智能充電器也以其維護簡單、充電效率高、擴展能力強和使用壽命長等特點,迅速成為各種電子設(shè)備充電電源的首選。面向未來戰(zhàn)爭向小規(guī)模、數(shù)字化發(fā)展的趨勢,為了滿足軍隊的機動性和快速反應(yīng)能力的需求,智能電池必將在未來戰(zhàn)爭中發(fā)揮重要作用,能夠為智能電池提供完善管理的智能充電器的研究必將成為充電電源系統(tǒng)研究的新熱點1。據(jù)有關(guān)部門透露,發(fā)達國家已經(jīng)有相關(guān)產(chǎn)品裝備部隊,我國也已經(jīng)制定了在國防等重要領(lǐng)域推廣該技術(shù)應(yīng)用的計劃。而目前我軍移動通信電臺所配備的電源系統(tǒng)多是上世紀(jì)八十年代的產(chǎn)品,隨著電力電子技術(shù)的飛速發(fā)展和數(shù)字化技術(shù)的全面介入,這種電源系統(tǒng)存在的問題已經(jīng)日益凸現(xiàn):(1)不具備對智能電池的充電功能,擴展性差;(2)故障率高,而且維修困難,經(jīng)常影響作戰(zhàn)訓(xùn)I練的正常進行;(3)對同類電池充電缺乏自適應(yīng)性,充電控制策略落伍,導(dǎo)致了電池的壽命短、效率低和可維護性差:(4)體積大,效率低,對電網(wǎng)污染大,不能滿足電磁兼容等要求目前,市場上賣得最多的是旅行充電器,但是嚴(yán)格從充電電路上分析,只有很少部分充電器才能真正意義上被稱為智能充電器,隨著越來越多的手持式電器的出現(xiàn),對高性能、小尺寸、輕重量的電池充電器的需求也越來越大。電池技術(shù)的持續(xù)進步也要求更復(fù)雜的充電算法以實現(xiàn)快速、安全地充電,因此,需要對充電過程進行更精確地監(jiān)控(例如對充、放電電流、充電電壓、溫度等的監(jiān)控),以縮短充電時間,達到最大的電池容量,并防止電池?fù)p壞。因此,智能型充電電路通常包括了恒流恒壓控制環(huán)路、電池電壓監(jiān)測電路、電池溫度檢測電路、外部顯示電路(LED或LCD顯示)等基本單元。其框圖1如下:電源轉(zhuǎn)換裝置外部電源LED顯示裝置智能單元時間控制溫度控制電壓控制電流控制電 池圖(1) 智能充電器基本框圖鉛酸蓄電池是目前世界上廣泛使用的一種化學(xué)電源,該產(chǎn)品具有良好的可逆性,電壓特性平穩(wěn),使用壽命長,適用范圍廣,原材料豐富(且可再生使用)及造價低廉等優(yōu)點而得到了廣泛的使用。是社會生產(chǎn)經(jīng)營活動中不可缺少的產(chǎn)品。但是,若使用不當(dāng),其壽命將大大縮短。影響鉛酸蓄電池壽命的因素很多,而采用正確的充電方式,能有效延長蓄電池的使用壽命。研究發(fā)現(xiàn):電池充電過程對電池壽命影響最大,放電過程的影響較少。也就是說,絕大多數(shù)的蓄電池不是用壞的,而是“充壞”的。由此可見,一個好的充電器對蓄電池的使用壽命具有舉足輕重的作用。而且,傳統(tǒng)充電器的充電策略比較單一,只能進行簡單的恒壓或者恒流充電,以致充電時間很長,充電效率降低。另外,充電即將結(jié)束時,電池發(fā)熱量很大,從而造成電池極化,影響電池壽命。針對上述問題,設(shè)計了一種智能充電器,盡量延長鉛酸蓄電池的使用壽命。12 國內(nèi)外發(fā)展情況隨著電子技術(shù)的高速發(fā)展,電子系統(tǒng)的應(yīng)用領(lǐng)域越來越廣泛,功能越來越強大,對電源系統(tǒng)的要求也越來越高。為了適應(yīng)電設(shè)備科技發(fā)展的需要,充電電源的研究已經(jīng)向高頻化、集成化、智能化和綠色化方向發(fā)展,電磁兼容(EMC)、智能化程度和自適應(yīng)性等新的要求也在不斷提出。為了實現(xiàn)高功率密度,改善電源的動態(tài)性能,就必須提高電源系統(tǒng)的工作頻率3。提高主功率變換器件的開關(guān)速度,可明顯減少磁性變壓器材料和大電解電容體積、重量等,這也使得開關(guān)器件的研制工作從改進電壓、電流的二維體系發(fā)展到提高頻率的三維體系。集成化是電源系統(tǒng)的一個重要發(fā)展方向,主要包括構(gòu)成MOSFET大功率器件的元件微型化、密集化以及MOSFET的集成化,把小功率的MOsFET集成在單片IC中,使系統(tǒng)控制、驅(qū)動、保護、檢測和末級功率放大集成為一體4。智能化主要體現(xiàn)在對電池的充電算法和對環(huán)境的自適應(yīng)性方面,一個新型的充電系統(tǒng)要能自動識別被充電電池的類別,根據(jù)電池的參數(shù)以及環(huán)境溫度等自適應(yīng)地生成充電曲線,以最佳的方式完成快速充電工作。綠色化包括兩層含義:首先是顯著節(jié)電,因為發(fā)電是造成環(huán)境污染的重要原因,發(fā)電容量的節(jié)約意味著對環(huán)境污染的減少;其次是這些電源不能(或少)對電網(wǎng)產(chǎn)生污染5。同時,新型充電系統(tǒng)還應(yīng)該能滿足對智能電池的充電要求。智能電池是上世紀(jì)后期才出現(xiàn)的新型電池6,它由蓄電池組、控制模塊和相應(yīng)的顯示模塊組成。它包含了能夠測量、計算和儲存關(guān)于電池內(nèi)部化學(xué)成分和電量狀態(tài)數(shù)據(jù)的內(nèi)部電子部件,“電量計量”的信息經(jīng)由系統(tǒng)管理總線(sMBus)傳送給器件內(nèi)部的充電電路、報警電路和關(guān)閉電路。智能電池的優(yōu)點是:(1)具有行業(yè)統(tǒng)一的智能電池系統(tǒng)標(biāo)準(zhǔn),能利用SMBus總線和外部設(shè)備(智能充電器或主機)進行數(shù)字通信,實時交換電池的各種信息(剩余容量、電壓、溫度等),以便使外部設(shè)備進行相關(guān)處理;(2)具有化學(xué)獨立性,本身具有完整的保護功能,如過充電保護、過放電保護、短路保護和過熱保護等,從而降低了故障率。憑借強大完善的電源管理功能,智能電池正在成為市場主流。根據(jù)DarnelCom公司調(diào)研數(shù)據(jù)顯示,智能電池的市場增長率為22,預(yù)計2005年全球銷量達到120萬支7。從發(fā)展眼光看,這種新型電池最終要取代傳統(tǒng)電池,一統(tǒng)寬廣的電池市場,包括通信、動力、儀表、航空、航天和軍事等各個領(lǐng)域。對數(shù)字化智能充電器的研究,國外起步較早。目前,發(fā)達國家已經(jīng)將該技術(shù)應(yīng)用于軍事、探險和科學(xué)考察等特殊領(lǐng)域,其向民用領(lǐng)域的技術(shù)轉(zhuǎn)化工作也已經(jīng)開始。國外一些公司已經(jīng)推出了一系列的智能充電管理芯片,譬如,針對智能電池的MAXl535A、MAX8713和LTC4100等控制芯片,針對鎳鎘鎳氫電池充電的TEAll00TEAll01和MAX2003等控制芯片,針對鋰離子電池充電的FAN7563、FAN7564、LM3420和BQ2054等控制芯片,以及主要用于鎳鎘鎳氫、鋰離子電池充電的BQ2000系列控制芯片等8。這些芯片的問世,在很大程度上促進了數(shù)字化智能充電器的普及,但是在應(yīng)用中這些芯片往往存在著適應(yīng)外部環(huán)境能力差、功能單一、擴展性不強等問題9,并且沒有一種解決方案可以兼顧智能電池和傳統(tǒng)電池組,無法滿足本文涉及項目的特殊需要。較之于國外的發(fā)展情況,我國幾乎不具備智能電池IC生產(chǎn)能力,對數(shù)字化智能充電器的研究也才flUNU起步,該技術(shù)的應(yīng)用在國內(nèi)尚處于薄弱環(huán)節(jié)10。隨著智能電池在國內(nèi)的日益普及,與之配套的智能充電器也已經(jīng)成為國內(nèi)電源行業(yè)研究的新熱點,其技術(shù)生命力和應(yīng)用前景將非常廣闊。13 為何需要實現(xiàn)充電器的智能化充電器的實現(xiàn)方式不同會導(dǎo)致充電效果多元化。由于充電器多采用大電流的快速充電法,在電池充滿后如果不及時停止會使電池發(fā)燙,過度的充電會嚴(yán)重?fù)p害電池的壽命。一些低成本的充電器采用電壓比較法,為了防止過充,一般充電到90%就停止大電流快充,而采用小電流涓流補充充電。手機電池的使用壽命和單次使用時間與充電過程密切相關(guān)。鋰電池是手機最為常用的一種電池,它具有較高的能量重量比、 能量體積比、 具有記憶效應(yīng),可重復(fù)充電多次,使用壽命較長,價格也越來越低。 鋰電池對于充電器的要求比較苛刻,需要保護電路。 為了有效利用電池容量,需將鋰電池充電至最大電壓,但是過壓充電會造成電池?fù)p壞, 這就要求較高的控制精度。另外, 對于電壓過低的電池需要進行預(yù)充,充電器最好帶有熱保護和時間保護,為電池提供附加保護。一部好的充電器不但能在短時間內(nèi)將電量充足,而且還可以對電池起到一定的維護作用,修復(fù)由于使用不當(dāng)造成的記憶效應(yīng),即容量下降(電池活性衰退)現(xiàn)象。 設(shè)計比較科學(xué)的充電器往往采用專用充電控制芯片配合單片機控制的方法。 專用的充電芯片具備業(yè)界公認(rèn)較好的V 檢測,可以檢測出電池充電飽和時發(fā)出的電壓變化信號, 比較精確地結(jié)束充電工作,通過單片機對這些芯片的控制,可以實現(xiàn)充電過程的智能化,例如, 在充電后增加及時關(guān)斷電源、 蜂鳴報警和液晶顯示等功能。充電器的智能化可以縮短充電的時間,同時能夠維護電池,延長電池使用壽命。14 充電電池特性及其充電方式電池充電是通過逆向化學(xué)反應(yīng)將能量存儲到化學(xué)系統(tǒng)里實現(xiàn)的,由于使用的化學(xué)物質(zhì)的不同,電池的特性也不同,其充電的方式也不大一樣。電池的安全充電 現(xiàn)代的快速充電器( 即電池可以在小于3 個小時的時間里充滿電,通常是一個小時) 需要能夠?qū)卧妷骸⒊潆婋娏骱碗姵販囟冗M行精確地測量,在充滿電的同時避免由于過充電造成的損壞。充電方法 SLA 電池和鋰電池的充電方法為恒定電壓法要限流; NiCd 電池和NiMH 電池的充電方法為恒定電流法,且具有幾個不同的停止充電的判斷方法。最大充電電流 最大充電電流與電池容量(C) 有關(guān)。最大充電電流往往以電池容量的數(shù)值來表示。例如,電池的容量為750 mAh,充電電流為750 mA,則充電電流為1C (1 倍的電池容量)。若涓流充電時電流為C/40,則充電電流即為電池容量除以40。過熱 電池充電是將電能傳輸?shù)诫姵氐倪^程。能量以化學(xué)反應(yīng)的方式保存了下來。但不是所有的電能都轉(zhuǎn)化為了電池中的化學(xué)能。一些電能轉(zhuǎn)化成了熱能,對電池起了加熱的作用。當(dāng)電池充滿后,若繼續(xù)充電,則所有的電能都將轉(zhuǎn)化為電池的熱能。在快速充電時這將使電池快速升溫,若不及時停止充電就會造成電池的損壞。因此,在設(shè)計電池充電器時,對溫度進行監(jiān)控并及時停止充電是非常重要的?,F(xiàn)代消費類電器主要使用如下四種電池: 密封鉛酸電池 (SLA) 鎳鎘電池 (NiCd) 鎳氫電池(NiMH) 鋰電池(Li-Ion)在正確選擇電池和充電算法時需要了解這些電池的背景知識。密封鉛酸電池(SLA) 密封鉛酸電池主要用于成本比空間和重量更重要的場合,如UPS和報警系統(tǒng)的備份電池。SLA 電池以恒定電壓進行充電,輔以電流限制以避免在充電過程的初期電池過熱。只要電池單元電壓不超過生產(chǎn)商的規(guī)定( 典型值為2.2V), SLA 電池可以無限制地充電。鎳鎘電池(NiCd) NiCd 電池目前使用得很普遍。它的優(yōu)點是相對便宜,易于使用;缺點是自放電率比較高。典型的NiCd 電池可以充電1000 次。失效機理主要是極性反轉(zhuǎn)。在電池包里第一個被完全放電的單元會發(fā)生反轉(zhuǎn)。為了防止損壞電池包,需要不間斷地監(jiān)控電壓。一旦單元電壓下降到1.0V 就必須停機。NiCd 電池以恒定電流的方式進行充電。鎳氫電池(NiMH) 在輕重量的手持設(shè)備中如手機、手持?jǐn)z象機,等等鎳氫電池是使用最廣的。這種電池的容量比NiCd 的大。由于過充電會造成NiMH 電池的失效,在充電過程中進行精確地測量以在合適的時間停止是非常重要的。和NiCd 電池一樣,極性反轉(zhuǎn)時電池也會損壞。NiMH 電池的自放電率大概為20%/ 月。和NiCd 電池一樣,NiMH 電池也為恒定電流充電。鋰電池 (Li-Ion) 和本文中所述的其他電池相比,鋰電池具有最高的能量/ 重量比和能量/ 體積比。鋰電池以恒定電壓進行充電,同時要有電流限制以避免在充電過程的初期電池過熱。當(dāng)充電電流下降到生產(chǎn)商設(shè)定的最小電流時就要停止充電。過充電將造成電池?fù)p壞,甚至爆炸。鎳氫/鎳鎘電池充電模式這2種鎳類電池具有相似的充電特性曲線,因而可以用一樣的充電算法。這2種電池的主要充電控制參數(shù)為-V和溫度對鎳氫鎳鎘電池由預(yù)充電到標(biāo)準(zhǔn)充電轉(zhuǎn)換的判據(jù)為:單節(jié)電池電壓水平0.61V;電池溫度-50oC 電池飽和充電的判據(jù)為:電池電壓跌落或接近零增長 V= 615 mV節(jié);電池最高溫度max50;電池溫度上升率d/dt 1.0min。由于溫度的變化容易受環(huán)境影響,因而實際用于判別充電各階段的變量主要為V、max,其中對V的檢測需要有足夠的AD分辨率和較高的電流穩(wěn)定度-V的測量與A/D分辨率、充電電流的穩(wěn)定性與電池內(nèi)阻之間有以下關(guān)系:當(dāng)電池內(nèi)阻等于50(接近飽和充電)時,充電電流=1200mA,電流漂移等于5%,單節(jié)電池的最高充電電壓為1.58V,則此時電流漂移可能引起的電池電壓變化為3 mV。 在鋰離子電池充電采樣時,測量到的電壓是電池的在線電壓,一般在線電壓要高于靜態(tài)電壓(與內(nèi)阻有關(guān))在充電器設(shè)計中,對鋰離子電池充電各階段轉(zhuǎn)換判斷的測量參數(shù)只有在線電壓,電壓采樣偏差小于 0.05 V智能充電器設(shè)置了一種自適應(yīng)充電模式,在這種模式下,對未知型號的電池或放入某種電池后而未按相應(yīng)的鍵,則充電器自動轉(zhuǎn)入自適應(yīng)充電模式此時充電器將提供一種公共算法對電池進行預(yù)充電,并對其進行型號識別判斷,然后轉(zhuǎn)入相應(yīng)的充電模式,顯示相應(yīng)的型號具體做法為:檢測充電電池電壓的變化率,并判斷是否檢測到有V。如果檢測到電池電壓V特別高,且無V,則轉(zhuǎn)入鋰離子電池充電模式,否則進入鎳類電池充電模式15 方案論證與比較1電源模塊(1)方案一 普通電源:市電經(jīng)過電源變壓器將高壓交流電轉(zhuǎn)化成低壓交流電,再通過整流濾波,將交流電轉(zhuǎn)化為直流電,濾除整流輸出的剩余交流成分,最后輸出穩(wěn)定的直流電壓。它具有輸出電壓穩(wěn)定、波紋小等優(yōu)點,但是電壓范圍小,效率低。(2)方案二 開關(guān)電源:市電進入電源,首先要經(jīng)過扼流圈和電容,濾除高頻雜波和同相干擾信號。然后再經(jīng)過電感線圈和電容,進一步濾除高頻雜波。接下來再經(jīng)過由4個二極管組成的全橋電路整流(也有半橋等其他電路),和大容量的濾波電容濾波后,電流才由高壓交流電轉(zhuǎn)換為高壓直流電。經(jīng)過了交直轉(zhuǎn)換后,電流就進入了整個電源最核心的部分:開關(guān)電路。開關(guān)電路主要由兩個開關(guān)管組成,通過它們的輪流導(dǎo)通和截止,便將直流電轉(zhuǎn)換為高頻率的脈動直流電。接下來,再送到高頻開關(guān)變壓器上進行降壓。經(jīng)過高頻開關(guān)變壓器降壓后的脈動電壓,同樣要使用二極管和濾波電容進行整流和濾波,此外還會有1、2個電感線圈與濾波電容一起濾除高頻交流成分。最后成為設(shè)備所需要的較為純凈的低壓直流電。它是近代普遍推廣的穩(wěn)壓電源,具有效率高、電壓范圍寬,輸出電壓相對穩(wěn)定等特點。所以,本設(shè)計選取方案二。2充電方法恒壓充電法:充電電源的電壓在全部充電時間里保持恒定的數(shù)值,隨著蓄電池端電壓的逐漸升高,電流逐漸減少。與恒流充電法相比,其充電過程更接近于最佳充電曲線。用恒定電壓快速充電,如圖2所示。由于充電初期蓄電池電動勢較低,充電電流很大,隨著充電的進行,電流將逐漸減少,因此,只需簡易控制系統(tǒng)。這種充電方法電解水很少,避免了蓄電池過充。但在充電初期電流過大,對蓄電池壽命造成很大影響,且容易使蓄電池極板彎曲,造成電池報廢。鑒于這種缺點,恒壓充電很少使用,只有在充電電源電壓低而電流大時采用。充電電壓充電電流U/i0T圖(2) 恒壓充電法曲線16 主要芯片選擇單片機AT89S52,它是美國ATMEL公司生產(chǎn)的低電壓,高性能COMS 8位單片機,片內(nèi)含4KB的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128B的隨機存取數(shù)據(jù)存儲器(RAM),同時片內(nèi)置通用8位中央處理器(CPU)和FLASH存儲單元,全面兼容標(biāo)準(zhǔn)的MCS-51指令系統(tǒng),可適用于眾多的控制領(lǐng)域.17 模數(shù)轉(zhuǎn)換器模數(shù)轉(zhuǎn)換器 ,即A/D轉(zhuǎn)換器,或簡稱ADC,通常是指一個將模擬信號轉(zhuǎn)變數(shù)字信號為的電子元件。通常的模數(shù)轉(zhuǎn)換器是將一個輸入電壓信號轉(zhuǎn)換為一個輸出的數(shù)字信號。由于數(shù)字信號本身不具有實際意義,僅僅表示一個相對大小。故任何一個模數(shù)轉(zhuǎn)換器都需要一個參考模擬量作為轉(zhuǎn)換的標(biāo)準(zhǔn),比較常見的參考標(biāo)準(zhǔn)為最大的可轉(zhuǎn)換信號大小。而輸出的數(shù)字量則表示輸入信號相對于參考信號的大小。模數(shù)轉(zhuǎn)換器最重要的參數(shù)是轉(zhuǎn)換的精度,通常用輸出的數(shù)字信號的位數(shù)的多少表示。轉(zhuǎn)換器能夠準(zhǔn)確輸出的數(shù)字信號的位數(shù)越多,表示轉(zhuǎn)換器能夠分辨輸入信號的能力越強,轉(zhuǎn)換器的性能也就越好。ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換器、逐次逼近。ADC0809芯片有28條引腳,采用雙列直插式封裝。1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。2)具有轉(zhuǎn)換起??刂贫?。3)轉(zhuǎn)換時間為100s(時鐘為640kHz時),130s(時鐘為500kHz時)4)單個+5V電源供電5)模擬輸入電壓范圍0+5V,不需零點和滿刻度校準(zhǔn)。6)工作溫度范圍為-40+85攝氏度7)低功耗,約15mW。2 硬件電路主要芯片21 單片機AT89S522.1.1 單片機簡介AT89S52 8位單片機是MSC-51系列產(chǎn)品的升級版,有世界著名半導(dǎo)體公司ATMEL在購買MSC-51設(shè)計結(jié)構(gòu)后,利用自身優(yōu)勢技術(shù)(掉電不丟數(shù)據(jù))閃存生產(chǎn)技術(shù)對舊技術(shù)進行改進和擴展,同時使用新的半導(dǎo)體生產(chǎn)工藝,最終得到成型產(chǎn)品。與此同時,世界上其他的著名公司也通過基本的51內(nèi)核,結(jié)合公司自身技術(shù)進行改進生產(chǎn),推廣一批如51F020等高性能單片機。AT89S52片內(nèi)集成256字節(jié)程序運行空間、8K字節(jié)Flash存儲空間,支持最大64K外部存儲擴展。根據(jù)不同的運行速度和功耗的要求,時鐘頻率可以設(shè)置在0-33M之間11。片內(nèi)資源有4組I/O控制端口、3個定時器、8個中斷、軟件設(shè)置低能耗模式、看門狗和斷電保護。可以在4V到5.5V寬電壓范圍內(nèi)正常工作。不斷發(fā)展的半導(dǎo)體工藝也讓該單片機的功耗不斷降低。同時,該單片機支持計算機并口下載,簡單的數(shù)字芯片就可以制成下載線,僅僅幾塊錢的價格讓該型號單片機暢銷10年不衰。根據(jù)不同場合的要求,這款單片機提供了多種封裝,本次設(shè)計根據(jù)最小系統(tǒng)有時需要更換單片機的具體情況,使用雙列直插DIP-40的封裝。2.1.2 引腳說明AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工 作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏 輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。 當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0不具有內(nèi)部上拉電阻。 在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗 時,需要外部上拉電阻。P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.1分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。 在flash編程和校驗時,P1口接收低8位地址字節(jié)。引腳號第二功能:P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7 SCK(在系統(tǒng)編程用)P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR) 時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。 在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗時,P3口也接收一些控制信號。端口引腳 第二功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時/計數(shù)器0)P3.5 T1(定時/計數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲器寫選通)P3.7 RD(外部數(shù)據(jù)存儲器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。22 AD轉(zhuǎn)換芯片ADC089092.2.1 內(nèi)部結(jié)構(gòu)ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時電路組成2.2.2 外部特性(引腳功能)ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖所示。下面說明各引腳功能。IN0IN7:8路模擬量輸入端。2-12-8:8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路ALE:地址鎖存允許信號,輸入,高電平有效。START: A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。EOC: A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。REF(+)、REF(-):基準(zhǔn)電壓。Vcc:電源,單一+5V。GND:地。工作過程首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。轉(zhuǎn)換數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時傳送給單片機進行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因為只有確認(rèn)完成后,才能進行傳送。為此可采用下述三種方式。(1)定時傳送方式對于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時間作為一項技術(shù)指標(biāo)是已知的和固定的。例如ADC0809轉(zhuǎn)換時間為128s,相當(dāng)于6MHz的MCS-51單片機共64個機器周期。可據(jù)此設(shè)計一個延時子程序,A/D轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進行數(shù)據(jù)傳送。(2)查詢方式A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號,例如ADC0809的EOC端。因此可以用查詢方式,測試EOC的狀態(tài),即可確認(rèn)轉(zhuǎn)換是否完成,并接著進行數(shù)據(jù)傳送。(3)中斷方式把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進行數(shù)據(jù)傳送。首先送出口地址并以信號有效時,OE信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機接受。3 硬件電路的設(shè)計31 電源電路的設(shè)計本設(shè)計中脈寬調(diào)制器(PWM)UC3842是開關(guān)電源的核心。它能產(chǎn)生頻率固定而占空比可調(diào)的控制電壓,通過改變開關(guān)功率管的通斷狀態(tài),來調(diào)節(jié)輸出電壓的高低,實現(xiàn)穩(wěn)壓目的。例如由于某種原因V0升高時,就改變控制電壓占空比,使斬波后的電壓平均值下降,導(dǎo)致V0下降,使V0趨于穩(wěn)定,反之亦然。UC3842的工作溫度是0+70,最高輸人電壓為30V,最大輸出電流為1A,能驅(qū)動雙極型功率管或VMOS管。(1)結(jié)構(gòu)、功能、工作原理UC3842 采用固定工作頻率脈沖寬度可控調(diào)制方式,共有8 個引腳,各腳功能如下:腳是誤差放大器的輸出端,外接阻容元件用于改善誤差放大器的增益和頻率特性;腳是反饋電壓輸入端,此腳電壓與誤差放大器同相端的2.5V 基準(zhǔn)電壓進行比較,產(chǎn)生誤差電壓,從而控制脈沖寬度;腳為電流檢測輸入端, 當(dāng)檢測電壓超過1V時縮小脈沖寬度使電源處于間歇工作狀態(tài);腳為定時端,內(nèi)部振蕩器的工作頻率由外接的阻容時間常數(shù)決定,f=1.72/(RTCT);腳為公共地端;腳為推挽輸出端,內(nèi)部為圖騰柱式,上升、下降時間僅為50ns 驅(qū)動能力為1A ;腳是直流電源供電端,具有欠、過壓鎖定功能,芯片功耗為15mW;腳為5V 基準(zhǔn)電壓輸出端,有50mA 的負(fù)載能力。是一種型性能優(yōu)良的電流控制型脈寬調(diào)制芯片。該調(diào)制器單端輸出,能直接驅(qū)動雙極型的功率管或場效應(yīng)管。其主要優(yōu)點是其管腳效應(yīng)少,外圍電路簡單,電壓調(diào)整率可達0.01%,工作頻率高達500KHz,啟動電流小于1mA,正常工作電流為5mA,并可利用高頻變壓器實現(xiàn)與電網(wǎng)的隔離。該芯片集成了振蕩器、具有高溫補償?shù)母咴鲆嬲`差放大器、電流檢測比較器、圖騰柱輸出電流、輸入和基準(zhǔn)欠電壓鎖定電路以及PWM鎖存器電路。(2)主要參數(shù)的確定由UC3842構(gòu)成的開關(guān)電源屬于單端反激變換器式。其工作頻率盡管可達500KHZ,但受制作工藝、開關(guān)功率管頻率特性等因素的限制,通常將f0設(shè)計在幾十千赫以下。使VMOS管時,f0約等于40KHZ,用雙極型開關(guān)功率管時,f0約等于20KHZ為宜,當(dāng)電路起振后,用示波器從UC3842的第4腳可觀察到幅度約為1.5V,周期為25us的鋸齒波。計算脈沖信號最大占空比DMAX 當(dāng)電網(wǎng)電壓在220V土20%范圍內(nèi)變化時,對應(yīng)于176264V。經(jīng)全波整流后的直流輸人電壓VImin 240V,VImix360V。單端反激式開關(guān)電源中所產(chǎn)生的反向電動勢e170v。線圈漏感造成的尖峰電壓VL100V,因為VImix+e+VL630V。故開關(guān)功率管應(yīng)能承受630v以上的高壓。計算脈沖信號最大占空比:計算初級線圈的電感量L1:高頻變壓器初級線圈的電感量,由下式確定:將開關(guān)電源效率=70%,VImin=240V,=41.5%,=35W,=40一并代人式,則=2.48Mh。設(shè)滿載時峰值電流為,在進行短路保護時的過載電流為,有公式:不難求出 1.0A;=1.3在初級線圈儲存的電能為:確定初級線圈的匝數(shù):在初級線圈的安匝數(shù),與所儲存的電能甲之間存在下述關(guān)系式:確定自饋線圈的匝數(shù)N2,次級線圈的匝數(shù)N3、N4、N5:確定N1后,利用下式可以計算出N2、N3、N4、和N5圖3 電源電路由上面的公式可以計算出N1為55匝,采用單股0.5mm高強度漆包線;N2為7匝,采用單股0.5mm高強度漆包線;N3為8匝,采用雙股0.5mm高強度漆包線并聯(lián)后繞制而成,其輸出電壓為22V。N4為6匝,采用五股0.5mm高強度漆包線并聯(lián)后繞制而成,其輸出電壓為16V。N5為4匝,采用單股0.5mm高強度漆包線,其輸出電壓為9V,經(jīng)7805穩(wěn)壓后輸出5V電壓12。由UC3842構(gòu)成的開關(guān)電源電路如圖(3)所示。其基本工作原理是:交流輸人電壓經(jīng)過整流濾波電路變成直流電壓V1,再被開關(guān)功率管斬波和高頻變壓器降壓,得到高頻矩形波電壓最后經(jīng)過整流、濾波獲得所需要的直流輸出電壓。圖中C1和L1為電源噪聲濾波器,T為高頻變壓器,開關(guān)功率管選用IRFPG50型VMOS管。剛開機時,220V交流電壓首先經(jīng)過C1和L1濾掉射頻干擾,再經(jīng)過橋式整流和濾波,產(chǎn)生約+300V的直流電壓,然后經(jīng)R1降壓后向UC3842提供16V的啟動電壓。C2是濾波電容。進人正常狀態(tài)后,自饋線圈N2上的高頻電壓經(jīng)過D2、C4整流濾波,就作為UC3842的正常工作電壓。R14是斜坡補償電阻。取R15=10u、C15=4700PF時,開關(guān)頻率501.8/R15C1550KHZ、C14是消噪電容,R18為過流檢測電阻。R16是VMOS管的柵極限流電阻。由D3、C5、R2構(gòu)成吸收回路,用以吸收尖峰電壓。D2,D3選用快恢復(fù)二極管。D4,D5,D8為輸出級的整流管,采用肖特基二極管,以滿足高頻、大電流整流之需要。32 數(shù)據(jù)采樣與轉(zhuǎn)換電路圖(4)數(shù)據(jù)采樣與轉(zhuǎn)換電路數(shù)據(jù)采樣與轉(zhuǎn)換電路的工作過程如圖(4)所示:由于ADC0809的時鐘頻率不高于640KHZ,單片機的時鐘頻率為22.118MHZ,所以將單片機的時鐘頻率經(jīng)74LS293八分頻后再提供給ADC0809使用,由74LS293的8腳輸出至ADC0809的10腳CLOCK。數(shù)據(jù)采樣是利用AD0809模數(shù)轉(zhuǎn)換芯片,對所需的四個點IN_0、IN_1、IN_2、IN_3的電壓值采樣,對采樣值分別經(jīng)過26、27、28和1端口輸入ADC0809進行AD轉(zhuǎn)換。由于AD0809采樣值不能超過5V,所以經(jīng)過了電阻分壓。首先由單片機P2.6和P2.7輸入2位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通4路模擬輸入IN-0、IN-1、IN-2和IN-3之一到比較器。START上升沿將逐次逼近寄存器復(fù)位13。下降沿啟動AD轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到AD轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。當(dāng)EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就由D0D7輸出給單片機了14。33 充、放電與維護電路圖(5)充、放電與維護電路接TL431的1腳如圖(5)所示,單片機AT89S52的P1.5,P1.6,P1.7口經(jīng)過延時電路后控制充電電池的3個階段。電路上電后,由軟件控制檢測電池內(nèi)阻,并判斷其在電池的哪個階段。確定后,例如在維護階段,通過控制P3_4,來調(diào)節(jié)R26的變化,來調(diào)節(jié)TL431電流的變化。通過光藕合器來反饋到芯片UC3842,如圖(3)所示。調(diào)節(jié)后,來控制輸出的變化,由電壓器來調(diào)節(jié)輸出電壓的變化,以此來調(diào)節(jié)電壓的變化。從而達到三個階段的轉(zhuǎn)換。34 延時與報警電路當(dāng)單片機開始工作的一瞬間,各端口均輸出高電平,此時充放電路中的場效應(yīng)管Q2和Q4同時導(dǎo)通,此電路的電流將瞬間很大,容易使電路中的器件損壞,故添加如圖(6)所示的延時電路,PWIN1由單片機的P1.5端口控制,當(dāng)其輸出為高電平時,Q9導(dǎo)通。PWIN2由單片機的P1.6端口控制,當(dāng)其輸出為高電平時,Q10導(dǎo)通。PWIN3由單片機的P1.7端口控制,當(dāng)其輸出為高電平時,Q12導(dǎo)通。圖(6)延時與報警電路35 顯示電路顯示電路比較簡單,用單片機編程控制LCD1602的顯示,使LCD1602按照我們的需要顯示,編寫程序時需要嚴(yán)格按照其工作時序編寫。其外圍電路電路連接如圖(7)所示。D0D7端口接單片機P0口,由于P0端口已用于控制AD0809,為了解決端口沖突,加入74HC573鎖存器。另外的讀寫控制、使能端及數(shù)據(jù)、命令選擇端也要單獨分配單片機I/O端口控制15。圖(7)顯示電路36 上位機通信模塊該電路主要用于單片機與外部通信,輸出電池的充電及放電參數(shù),與外部電路通訊,在屏幕上顯示出電池的充電與放電過程曲線。這一過程主要由上位機程序控制,MAX232的連接電路如圖(8)所示。上位機圖(8)上位機通信電路37 溫度傳感電路圖(9)溫度傳感電路蓄電池的容量與溫度成正相關(guān)的方向,溫度每上升1度,容量就上升原來的0.8%.鉛酸蓄電池在大于40度,再升高10度,電池的壽命就降低一倍.壽命中止的主要原因:電解質(zhì)干涸,熱失控,和內(nèi)部短路等等。因此在為電池充電時要注意冬夏的溫度差異,按環(huán)境溫度調(diào)節(jié)充電的充電電壓,使蓄電池不被損壞,并且能充滿電。所以,我們專門設(shè)計了一個數(shù)字溫度傳感電路,如圖(9)所示。DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,抗干擾力更強。其一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理,檢測溫度范圍為55C+125C(67F+257F)。它可以將感應(yīng)到的溫度數(shù)值直接傳遞給單片機,單片機接到信息后通過內(nèi)部程序選擇充電參數(shù)值。4單片機軟件設(shè)計經(jīng)過前面的努力,智能充電器硬件電路的設(shè)計在本人努力下已經(jīng)完成,接下來便是根據(jù)前面的設(shè)計用軟件畫出其原理圖。PROTEL99SE是一個全32位的電路板設(shè)計軟件,使用該軟件可以容易地設(shè)計電路原理圖、畫元件圖、設(shè)計電路板圖、畫元件封裝圖和電路仿真。在這里主要用它來繪制電路原理圖。原理圖的設(shè)計步驟如下:(1)設(shè)置原理圖設(shè)計環(huán)境。其中,工作環(huán)境設(shè)置是使用Design/Options和Tool和Preferences菜單進行的,畫原理圖環(huán)境的設(shè)置主要包括圖紙大小、捕捉柵格、電氣柵格、模板設(shè)置等。(2)放置元件,將電氣和電子元件放置在圖紙上。(3)原理圖布線。元件一旦放置在原理圖上,不需要用導(dǎo)線將元件連接起來,連接時一定要符合電氣規(guī)則。(4)編輯和調(diào)整。編輯元件的屬性。包括元件名、參數(shù)、封裝圖等。調(diào)整元件和導(dǎo)線的位置等操作。(5)檢查原理圖。使用電氣規(guī)則功能(ERC)檢查原理圖的連接是否合理和正確。給出檢查報告,若有錯誤則要根據(jù)錯誤進行改正。(6)生成網(wǎng)絡(luò)表。所謂網(wǎng)絡(luò)表就是元件名、封裝、參數(shù)及元件之間的連接表,通過該表可以確認(rèn)各個元件和它們之間的關(guān)系。(7)打印原理圖41 軟件功能該軟件的目的是控制電池充電及維護終點及狀態(tài)顯示。當(dāng)電池放入該智能充電器時,我們可以人為選擇充電狀態(tài)與維護狀態(tài),然后讀入溫度傳感器環(huán)境溫度,決定電池充電或維護狀態(tài)的最終電壓。再由程序控制充電及維護I/O口電平的高低,選擇是對電池充電還是維護。在由ADC0809采樣的電壓判斷電池維護或充電的終止時刻,并由內(nèi)部程序計算出電池充電電流、充電電壓、電池內(nèi)阻等參數(shù)輸出給LCD1602,由其顯示電池狀態(tài)16。42 用C語言開發(fā)的單片機C語言是一種編譯型的結(jié)構(gòu)化程序設(shè)計語言,具有簡單的語法結(jié)構(gòu)和強大的處理功能,具有運行速度快、編譯效率高,移植性好和可讀性強等多種優(yōu)點,可以實現(xiàn)對系統(tǒng)便件的直接操作。用C語言來編寫目標(biāo)系統(tǒng)軟件,可以大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進和擴充,從而開發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng)。其優(yōu)勢如下:(1)可以大幅度加快開發(fā)進度,程序量越大,用C語言就越有優(yōu)勢。(2)無需精通單片機指令集和具體的硬件,也能夠編出符合硬件實際專業(yè)水平的程序。(3)可以實現(xiàn)軟件的結(jié)構(gòu)化編程,使得軟件的邏輯結(jié)構(gòu)變得清晰、有條理、便于開發(fā)小組計劃任務(wù)、分工合作。源程序的可讀性和可維護性都很好。(4)省去了人工分配單片機資源的工作,在匯編語言中要為每一個子程序分配單片機的資源。在使用C語言后,只要在代碼中申明一下變量的類型,編譯器就會自動分配相關(guān)資源,根本不需要人工干預(yù),從而有效地避免了人工分配單片機資源的差錯。(5)匯編語言的可移植性很差,而C語言只要將一些與硬件相關(guān)的代碼作適當(dāng)?shù)男薷?,就可以方便地移植到其它種類的單片機上。(6)C語言提供auto、static、flash等存儲類型,針對單片機的程序存儲空間、數(shù)據(jù)存儲空間及EEPROM空間自動為變量合理地分配空間,而且C語言提供復(fù)雜的數(shù)據(jù)類型,極大地增強了程序處理能力和靈活性。C編譯器能夠自動實現(xiàn)中斷服務(wù)程序的現(xiàn)場保護和恢復(fù),并且提供常用的標(biāo)準(zhǔn)函數(shù)庫,供用戶使用。并且C編譯器能自動生成一些硬件的初始化代碼。(7)對于一些復(fù)雜系統(tǒng)的開發(fā),可以通過移植(或C編譯器提供)的實時操作系統(tǒng)來實現(xiàn)。正由于C語言在系統(tǒng)開發(fā)中的優(yōu)勢,這次設(shè)計的所有程序設(shè)計都將采用C語言編寫。43 系統(tǒng)程序流程圖為了方便程序的設(shè)計,使自己在設(shè)計過程中做到思路清晰,設(shè)計起來游刃有余。這里首先畫出了程序流程圖,后面根據(jù)次流程圖具體設(shè)計程序,現(xiàn)具體分析如下:(一) 主程序流程圖這次設(shè)計課題的主要內(nèi)容是在充電器的充電過程中,采集參數(shù),進行電壓、電流、溫度的實時顯示。其主流程圖設(shè)計如下:> 0結(jié) 束充 滿?顯 示V、A、T采 樣V、A、T有鍵按下?按 鍵 調(diào) 節(jié)掃 描 按 鍵有 電 池等 待無 電 池采 集 電 池 電 壓初 始 化開 始NYNYNY主程序#include <reg52.h> #include <intrins.h>#define uint unsigned int#define uchar unsigned char#define Nop() _nop_()sbit lcd_rs_port = P21; /*定義LCD控制端口*/sbit lcd_rw_port = P22; /*定義LCD控制端口*/sbit lcd_en_port = P23; /*定義LCD控制端口*/#define lcd_data_port P0 /*定義LCD控制端口*/sbit DQ =P13; /定義DS18B20通信端口sbit a=P25;sbit b=P26;sbit ALE=P27;sbit EOC=P32;sbit ST=P20;sbit OE=P36;uint info;uchar da="000a000b000c000d000"/*1MS為單位的延時程序*/void init() /* 串口定時器外部中斷初始化 */ /TMOD = 0x21; /TH1 = 0xfd; /TL1 = 0xfd; /* 9600 */TR1 = 1; /SCON = 0x50; /* 工作在方式1*/P0=0x00;P1=0x00;P2=0x00;P3=0x00;EOC=1;ALE=0;ST=0;OE=0;void delay_1ms(uchar x) uchar j; while(x-) for(j=0;j<125;j+); void lcd_delay(uchar ms) /*LCD1602 延時*/ uchar j; while(ms-) for(j=0;j<250;j+) ; void lcd_busy_wait() /*LCD1602 忙等待*/ lcd_rs_port = 0; lcd_rw_port =