【正文】
因此, AT89C51 證明是下一代充電器的完美控制芯片。單片機的可擦除只讀存儲器可以反復擦除 100次。接下來便 是查閱相關的文獻資料, 我 C語言由于當時學的不是很精通,所以我用了兩周左右的時間對 C 語言重新學習了一遍,這也為后面的實際編程打了下了基礎。在整個過程中,該電路將始終實時檢測電池信息,若有異常情況發(fā)生,則立即利用中斷信號終止正在進行的充電或者放電過 程,關斷充放電回路,同時進行報警并提示報警原因。如果電池電壓在充電終止電壓和放電終止電壓之間,說明電池既可充電也可放電。完成這 3項工作都必須保證控制器處于不忙的情況下,這就必須有一個判忙子程序,其流程圖如下: 圖 43 判忙程序流程圖 (三 )顯示程序流程圖 根據(jù)上面采用的方法設置漢字的初始值 (lr、 X、 Y),當顯示完第一列的 8 字節(jié)以后,跳到第二列又從上往下顯示。 液晶顯示界面 本著簡單明了的基本思想前面提到,結(jié)合液晶顯示模塊的相關知識,設計出如下界面: 圖 41 LCD 界面顯示 這次設計采用的液晶顯示模塊本是由北京精電公司所造的圖形式的MGLS12864 芯片,其用一片 KS0107B 或兼容驅(qū)動器 ( HD61203 )作為行驅(qū)動器和三片 KS0108B 或兼容驅(qū)動器 (HD61203) 作為列驅(qū)動器組成的。 遼寧石油化工大學繼續(xù)教育學院論文 26 6. 寫數(shù)據(jù)指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 寫 數(shù) 據(jù) 該操作將 8 位數(shù)據(jù)寫入先前已確定的顯示存儲器的單元內(nèi)。該指令規(guī)定了以后的讀/寫操作將在哪一個頁面上進行。 HD61202 有 64 行顯示的管理能力,該指令中 L5~L0 為顯示起始行的地址,取值在 0~3FH( 1~64 行 )范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對應的顯示存儲器的行地址。 D 位為顯示開/關控制位。 在指令設置和數(shù)據(jù)讀寫時要注意狀態(tài)字中的 BUSY 標志。 ON/OFF 表示當前的顯示狀態(tài)。狀態(tài)字為一字節(jié),其中僅有 3 位有效位,它們是: BUSY 表示當前 HD61202 接口控制電路運行狀態(tài)。這里采用的 LCD是北京精電蓬遠顯示技術公司生產(chǎn)的 MGLS 系列圖形液晶顯示模塊,其 內(nèi)藏KS0108B/HD61202 控制器。 ( 2 ) 字符的顯示 用 LCD顯示一個字符時比較復雜,因為一個字符由 6*8或 8*8點陣組成,既要找到和顯示屏上某幾個位置對應的顯示 RAM區(qū)的 8字節(jié),還要使每字節(jié)的不同的位為“ 1”,其它的為“ 0”,為“ 1”的點亮,為“ 0”的不亮,這樣一來就組成某個字符。把這樣的液晶置于兩個偏振片之間,改變偏振片相對位置就可以得到白底黑子或黑底白字的顯示形式。 正由于 C語言在系統(tǒng)開發(fā)中的優(yōu)勢,這次設計的所有程序設計都將采用 C語言編寫,且通過 ICCAVR 編譯器操作 AVR 的硬件資源。 (6) C 語言提供 auto、 static、 flash 等存儲類型,針對單片機的程序存儲空間、數(shù)據(jù)存儲空間及 EEPROM 空間自動為變量合理地分配空間,而且 C語言提供復雜的數(shù)據(jù)類型,極大地增強了程序 處理能力和靈活性。源程序的可讀性和可維護性都很好。用 C語言來編寫目標系統(tǒng)軟件,可以大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進和擴充,從而開發(fā)出大規(guī)模、高性能的應用系統(tǒng)。 焊接完成后,整個硬件電路原理、繪制原理路、焊接等工 作已全部完成,下面轉(zhuǎn)到軟件部分的設計。雖然以后接觸得比較少,但通過幾天的練習,還是基本圓滿地完成了任務。自動布置元件或人工布置元件,多次布置直到自己滿意為止。 (2)進入電路板 (PCB)環(huán)境,使用電路向?qū)Т_定電路板的層數(shù)、尺寸等電路板參數(shù)。 (6) 生成網(wǎng)絡表。調(diào)整元件和導線的位置等操作。元件一旦放置在原理圖上,不需要用導線將元件連接起來,連接時一定要符合電氣規(guī)則。原理圖的設計步驟如下: (1) 設置原理圖設計環(huán)境。當系統(tǒng)采集到電池的實時參數(shù)和結(jié)構參數(shù)后,即可通過 LCD 進行中文模式的信息顯示 (要顯示的漢字和字符字庫存儲在 24C16 中, AT89C51 通過I2C總線對其進行調(diào)用 );同時利用 AT89C51 的 TXD、 RXD 口線提供給 RS232 接口,從而完成與 PC 管理計算機的相連,最終完成對電池的集散式管理。 EDSG 是放電使能控制端口,當檢測到鎳鉻電池沒有放電完畢時, AT89C51 就把 EDSG 置為高電平,啟動放電電路對鎳鉻電池進行放電,直到放電完畢,則把其置為低電平,關閉放電電路并對鎳鉻電池進行充電。 該充電器的主控電路中的 CCS, DCS, VSBAT 分別是用于采集電池充電電流,放 遼寧石油化工大學繼續(xù)教育學院論文 18 電電流,充電電壓的端口,它們經(jīng)過濾波放大后和 AT89C51 的 AD 轉(zhuǎn)換腳相連接,并經(jīng)過轉(zhuǎn)換判斷電池的充放電狀態(tài)后,可對電池的充放電作出相應的控制,這些判斷和控制都是由軟件來完成的。圖中,將 PWMCTL 連接到 bq2054 的MOD 輸出腳,便可用 MOD 輸出的脈沖信號控制三極管的導通和關閉,從而改變充電電流的大小。 圖 2 所示是該智能充電器的恒壓恒流電路原理圖。由于各種電池對充電電壓和充電電流的要求不同,因此,實現(xiàn)智能充電必須根據(jù)各種電池的自身要求來調(diào)整充電電壓和充電電流的 大小。 (7) 本次選用的模塊是雙電源供電( VDD/V0),需要提供一個液晶驅(qū)動電壓,用以調(diào)節(jié)對比度,接在液晶模塊的 V0引腳上,由于液晶的對比度會隨著溫度的變化而相應變化,所以其液晶顯示驅(qū)動電壓值應隨著溫度作相應的調(diào)整,這里采用了一個電位器,調(diào)整電壓值。 (3) 指令形式:七種指令。 4. HD61202及其兼容控制器的占空比為 1/32~1/64。之所以稱它們?yōu)樘准且驗?HD61203和 HD61202必須配套使用,通常有 12864和 19264兩種規(guī)格。因此,第二行的“電”就應該表示為 (),其它字符依此設計即可。 X表示頁面, Y 表示列地址。假設定義從最左上角開始顯示,則先從上到下顯示第 0頁的第一列,依次從左向右開始顯示。 在本模塊中,每個漢字的大小是 16 16 點陣,而每個字符的大小是 8 16 點遼寧石油化工大學繼續(xù)教育學院論文 11 陣,即字符的寬度為漢字的 1/2。 要想在液晶模塊上顯示一個漢字或字符,需要 3個最基本的控制操作:分別向3 個控制器寫指令代碼、寫顯示數(shù)據(jù)和讀顯示數(shù)據(jù)。隨著液晶顯示技術的發(fā)展, LCD顯示器的規(guī)格眾多,其專用驅(qū)動芯片也相互配套,使 LCD在控制和儀表系統(tǒng)中廣泛應 用提供了極大的方便。在 FLASH 編程期間,此引腳也用于施加 12V編程電源( VPP)。在由外部程序存儲器取指期間,每個機器周期兩次 /PSEN 有效。此時, ALE只有在執(zhí)行 MOVX,MOVC 指令是 ALE 才起作用。在平時, ALE 端以不變的頻率遼寧石油化工大學繼續(xù)教育學院論文 10 周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。 RST:復位輸入。 P3 口: P3口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4個 TTL門電流。這是由于內(nèi)部上拉的緣故。 P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入, P1口被外部下拉為低電平時,將輸出電流,這 是由于內(nèi)部上拉的緣故。當 P1 口的管腳第一次寫 1 時,被定義為高阻輸入。 通過比較再結(jié)合本次設計的實際條件,由于 AT89C51 芯片有 WR、 RD 管腳, 為了 使電路簡單且方便軟件實現(xiàn),所以最終決定采用 直 接控制的方式來設計 LCD 顯示電路。這種方式的特點就是電路簡單,控制時序由軟件實現(xiàn),可以實現(xiàn)高速單片機與液晶顯示模塊的接口。直接訪問方式的接口電路如圖 21 所示,在圖中,單片機通過高位地址 A11 控制 CSA,A10控制 CSB,以選通液晶顯示屏上各區(qū)的控制器;同時用地址 A9 作為 R/W 信號控制數(shù)據(jù)總線的數(shù)據(jù)流向;用地址 A8作為 D/I 信號控制寄存器的選擇, E(使能 )信號由 RD 和 WE 共同產(chǎn)生,這樣就實現(xiàn)了單片機對液晶顯示模塊的電路邊接。 遼寧石油化工大學繼續(xù)教育學院論文 6 第二章 硬件電路設計 經(jīng)過前面對充電器原理、液晶模塊等的總體了解和掌握以及對各種元器件和電路圖的分析和比較后,現(xiàn)在就可以開始進入硬件電路的設計了。液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就顯示黑色,這樣即可顯示出圖形。但 RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。 (3)芯片擦除: 整個 PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE管腳處于低電平 10ms 來完成。該反向放大器可以配置為片內(nèi)振蕩器。5 個中 斷源 三級程序存儲器鎖定 4K 字節(jié)可編程閃爍存儲器 該器件采用 ATMEL 高密度非易失存儲器制造技術制造,與工業(yè)標準的 MCS51 指令集和輸出管腳相兼容。過充電將造成電池損壞,甚至爆炸。和 NiCd 電池一樣, NiMH 電池也為恒定電流充電。這種電池的容量比 NiCd 的大。為了防止損壞電池包,需要不間斷地監(jiān)控電壓。它的優(yōu)點是相對便宜,易于使用;缺點是自放電率比較高。 密封鉛酸電池 (SLA) 密封鉛酸電池主要用于成本比空間和重量更重要的場合,如 UPS和報警系統(tǒng)的備份電池。當電池充滿后,若繼續(xù)充電,則所有的 電能都將轉(zhuǎn)化為電遼寧石油化工大學繼續(xù)教育學院論文 3 池的熱能。 (4)過熱 電池充電是將電能傳輸?shù)诫姵氐倪^程。 (3)最大充電電流 最大充電電流與電池容量 (C) 有關。因此,智能型充電電路通常包括了恒流/恒壓控制環(huán)路、電池電壓監(jiān)測電路、電池溫度檢測電路、外部顯示電路 (LED或 LCD 顯示 )等基本單元。由于使用的化學物質(zhì)的不同,電池有自己的特性。 與此同時, 對充電電池的性能和工作壽命的要求也不斷地提高。 關鍵詞: 單片機 , 智能 , 充電器 遼寧石油化工大學繼續(xù)教育學院論文 III Abstract The rapid development of electronic technology makes a wide range of electronic products are moving in the direction of small lightweight portable and development, but also makes more use of electric products, batterybased power supply system. Currently, more use of nickelcadmium battery, nickel hydride, leadacid batteries and lithium batteries. Determined by the characteristics of their own they will coexist for a long period of development. Due to different characteristics of different types of battery charging, usually of different types, or even different voltage, battery capacity of the different levels of the charger, but inactual use a lot of inconvenience. This article describes the AT89C51 microcontroller based smart charger design. The battery charger can be collected in real time voltage and current, and the intelligent control of charging process. It can automatically calculate the amount of the battery is charged and the remaining charging time, you can also change the parameters to adapt to different battery charging. Management system also has a protection circuit to prevent battery overcharge and over discharge the battery cause. This system is the basic language of the microcontroller assembly language for