畢業(yè)設(shè)計(jì)(論文)基于AT89C51單片機(jī)智能充電器的電源和顯示設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于AT89C51單片機(jī)智能充電器的電源和顯示設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于AT89C51單片機(jī)智能充電器的電源和顯示設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于AT89C51單片機(jī)智能充電器的電源和顯示設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于AT89C51單片機(jī)智能充電器的電源和顯示設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 畢業(yè)設(shè)計(jì)(論文) 題目: 基于at89c51單片機(jī)智能充電器的電源和顯示設(shè)計(jì)學(xué) 院: 繼 續(xù) 教 育 學(xué) 院 助學(xué)單位:遼 寧 石 化 職 業(yè) 技 術(shù) 學(xué) 院 辦學(xué)形式: 自 學(xué) 考 試 專 業(yè): 自 動(dòng) 化 準(zhǔn)考證號(hào): 姓 名: 指導(dǎo)教師: 2011年05月30日畢業(yè)設(shè)計(jì)(論文)任務(wù)書學(xué)生姓名準(zhǔn)考證號(hào)自考班級(jí)自動(dòng)化092設(shè)計(jì)(論文)題目題目 基于at89c51單片機(jī)智能充電器的電源和顯示設(shè)計(jì)設(shè)計(jì)目的設(shè)計(jì)一個(gè)智能充電器,要認(rèn)真并準(zhǔn)確地理解有關(guān)要求,通過(guò)at89c51單片機(jī)對(duì)充電過(guò)程進(jìn)行智能控制。畢業(yè)設(shè)計(jì)(論文)的主要內(nèi)容設(shè)計(jì)基本要求使充電器可以實(shí)時(shí)采集電池的電壓和電流,并對(duì)充電過(guò)程進(jìn)行智能控

2、制。它可以自動(dòng)計(jì)算電池的已充電量和剩余的充電時(shí)間,也可以改變參數(shù)來(lái)適應(yīng)各種不同電池的充電讓系統(tǒng)能安全、正常地工作。設(shè)計(jì)成果及具體要求1.根據(jù)題目要求的性能指標(biāo),通過(guò)查閱有關(guān)資料,確定系統(tǒng)設(shè)計(jì)方案,并設(shè)計(jì)其硬件電路圖。2.畫出電路原理圖,分析主要模塊的功能,完成系統(tǒng)硬件的設(shè)計(jì),對(duì)系統(tǒng)進(jìn)行相關(guān)的調(diào)試。3.完成畢業(yè)設(shè)計(jì)。任務(wù)下達(dá)時(shí)間2011 年 月 日指導(dǎo)教師簽 字要求完成日期2011 年 月 日評(píng)閱(審)人意 見簽字:年 月 日專 業(yè)指導(dǎo)委員會(huì)意 見負(fù)責(zé)人簽字:年 月 日備 注注:此表一份,與該生畢業(yè)設(shè)計(jì)(論文)一起定裝。 基于單片機(jī)智能充電器的電源和顯示設(shè)計(jì)摘 要 電子技術(shù)的快速發(fā)展使得各種各樣

3、的電子產(chǎn)品都朝著便攜式和小型輕量化的方向發(fā)展,也使得更多的電氣化產(chǎn)品采用基于電池的供電系統(tǒng)。目前,較多使用的電池有鎳鎘、鎳氫、鉛蓄電池和鋰電池。它們的各自特點(diǎn)決定了它們將在相當(dāng)長(zhǎng)的時(shí)期內(nèi)共存發(fā)展。由于不同類型電池的充電特性不同,通常對(duì)不同類型,甚至不同電壓、容量等級(jí)的電池使用不同的充電器,但這在實(shí)際使用中有諸多不便。 本文介紹一種基于at89c51單片機(jī)的智能充電器的設(shè)計(jì)方法。該充電器可以實(shí)時(shí)采集電池的電壓和電流,并對(duì)充電過(guò)程進(jìn)行智能控制。它可以自動(dòng)計(jì)算電池的已充電量和剩余的充電時(shí)間,也可以改變參數(shù)來(lái)適應(yīng)各種不同電池的充電。系統(tǒng)中的管理電路還具有保護(hù)功能,可防止電池的過(guò)充和過(guò)放對(duì)電池造成。 本

4、系統(tǒng)是以單片機(jī)的基本語(yǔ)言匯編語(yǔ)言來(lái)進(jìn)行軟件設(shè)計(jì),指令的執(zhí)行速度快,節(jié)省存儲(chǔ)空間。為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了。使硬件在軟件的控制下協(xié)調(diào)運(yùn)作。 正文中首先簡(jiǎn)單描述系統(tǒng)硬件工作原理,且附以系統(tǒng)硬件設(shè)計(jì)框圖,并介紹了單片機(jī)微處理器的發(fā)展史,論述了本次畢業(yè)設(shè)計(jì)所應(yīng)用的各硬件接口技術(shù)和各個(gè)接口模塊的功能及工作過(guò)程;其次闡述了程序的流程和實(shí)現(xiàn)過(guò)程。本文撰寫的主導(dǎo)思想是軟、硬件相結(jié)合,以硬件為基礎(chǔ),來(lái)進(jìn)行各功能模塊的編寫。關(guān)鍵詞:?jiǎn)纹瑱C(jī) , 智能 , 充電器 abstractthe rapid development of electronic techno

5、logy 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, battery-based power supply system. currently, more use of nickel-cadmium battery, nickel hydride, lead-acid batteries and lithium ba

6、tteries. 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 ina

7、ctual 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

8、 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

9、for software design, the execution speed, to save storage space. in order to facilitate expansion and change, the software design is modular in structure, so that the logic of programming is more concise. the hardware under the control of the co-operation with the software. first, a brief descriptio

10、n of the body of the working principle of the system hardware, and attached to the system block diagram of hardware design, and describes the history of the development of single chip microprocessor, discusses the application of this graduation design technology and the various hardware interface fu

11、nctions of each interface module and work process; second section describes the process flow and implementation process. the main idea of this writing is the software and hardware combination with hardware-based, for the preparation of the functional modules. keywords: microcontroller、 smart、 charge

12、r目 錄摘 要iiabstractiii第一章緒論11.1課題背景11.2 常見充電電池特性及其充電方式21.3主要芯片的選擇31.4 液晶顯示模塊的選擇5第二章 硬件電路設(shè)計(jì)62.1液晶顯示模塊兩種訪問(wèn)方式接口電路的選擇62.2.硬件電路主要芯片82.3 lcd液晶顯示102.3.1 lcd的顯示原理102.3.2 液晶顯示控制驅(qū)動(dòng)器122.3.3 液晶顯示模塊的特點(diǎn)122.4 硬件電路設(shè)計(jì)152.4.1 充電電路的設(shè)計(jì)162.4.2 控制電路的設(shè)計(jì)172.4.3智能充電器的信息顯示18第三章 protel99的應(yīng)用簡(jiǎn)介20第四章 軟件設(shè)計(jì)224.1.用c語(yǔ)言開發(fā)單片機(jī)的優(yōu)勢(shì)224.2液晶顯

13、示漢字或字符的原理234.3 lcd模塊的指令說(shuō)明244.4 液晶顯示界面264.5 系統(tǒng)程序流程圖274.6 智能充電器的軟件設(shè)計(jì)30第五章 畢業(yè)設(shè)計(jì)總結(jié)325.1主要成果325.2 經(jīng)驗(yàn)總結(jié)和感謝32參考文獻(xiàn)34附錄一35附錄二36第一章緒論1.1課題背景如今,隨著越來(lái)越多的手持式電器的出現(xiàn),對(duì)高性能、小尺寸、重量輕的電池充電器的需求也越來(lái)越大。電池技術(shù)的持續(xù)進(jìn)步也要求更復(fù)雜的充電算法以實(shí)現(xiàn)快速、安全的充電。因此需要對(duì)充電過(guò)程進(jìn)行更精確的監(jiān)控,以縮短充電時(shí)間、達(dá)到最大的電池容量,并防止電池?fù)p壞。與此同時(shí),對(duì)充電電池的性能和工作壽命的要求也不斷地提高。從20世紀(jì)60年代的商用鎳鎘和密封鉛酸電

14、池到近幾年的鎳氫和鋰離子技術(shù),可充電電池容量和性能得到了飛速的發(fā)展。目前各種電器使用的充電電池主要有鎳鎘電池(nicd)、鎳氫電池(nimh)、鋰電池(li-ion)和密封鉛酸電池(sla)四種類型。電池充電是通過(guò)逆向化學(xué)反應(yīng)將能量存儲(chǔ)到化學(xué)系統(tǒng)里實(shí)現(xiàn)的。由于使用的化學(xué)物質(zhì)的不同,電池有自己的特性。設(shè)計(jì)充電器時(shí)要仔細(xì)了解這些特性以防止過(guò)度充電而損壞電。目前,市場(chǎng)上賣得最多的是旅行充電器,但是嚴(yán)格從充電電路上分析,只有很少部分充電器才能真正意義上被稱為智能充電器,隨著越來(lái)越多的手持式電器的出現(xiàn),對(duì)高性能、小尺寸、輕重量的電池充電器的需求也越來(lái)越大。電池技術(shù)的持續(xù)進(jìn)步也要求更復(fù)雜的充電算法以實(shí)現(xiàn)快

15、速、安全地充電,因此,需要對(duì)充電過(guò)程進(jìn)行更精確地監(jiān)控(例如對(duì)充、放電電流、充電電壓、溫度等的監(jiān)控),以縮短充電時(shí)間,達(dá)到最大的電池容量,并防止電池?fù)p壞。因此,智能型充電電路通常包括了恒流恒壓控制環(huán)路、電池電壓監(jiān)測(cè)電路、電池溫度檢測(cè)電路、外部顯示電路(led或lcd顯示)等基本單元。其框圖如下:圖1-1 智能充電器基本框圖1.2 常見充電電池特性及其充電方式電池充電是通過(guò)逆向化學(xué)反應(yīng)將能量存儲(chǔ)到化學(xué)系統(tǒng)里實(shí)現(xiàn)的,由于使用的化學(xué)物質(zhì)的不同,電池的特性也不同,其充電的方式也不大一樣。(1)電池的安全充電 現(xiàn)代的快速充電器( 即電池可以在小于3 個(gè)小時(shí)的時(shí)間里充滿電,通常是一個(gè)小時(shí)) 需要能夠?qū)卧?/p>

16、壓、充電電流和電池溫度進(jìn)行精確地測(cè)量,在充滿電的同時(shí)避免由于過(guò)充電造成的損壞。(2)充電方法 sla 電池和鋰電池的充電方法為恒定電壓法要限流; nicd 電池和nimh 電池的充電方法為恒定電流法,且具有幾個(gè)不同的停止充電的判斷方法。(3)最大充電電流 最大充電電流與電池容量(c) 有關(guān)。最大充電電流往往以電池容量的數(shù)值來(lái)表示。例如,電池的容量為750 mah,充電電流為750 ma,則充電電流為1c (1 倍的電池容量)。若涓流充電時(shí)電流為c/40,則充電電流即為電池容量除以40。(4)過(guò)熱 電池充電是將電能傳輸?shù)诫姵氐倪^(guò)程。能量以化學(xué)反應(yīng)的方式保存了下來(lái)。但不是所有的電能都轉(zhuǎn)化為了電池中

17、的化學(xué)能。一些電能轉(zhuǎn)化成了熱能,對(duì)電池起了加熱的作用。當(dāng)電池充滿后,若繼續(xù)充電,則所有的電能都將轉(zhuǎn)化為電池的熱能。在快速充電時(shí)這將使電池快速升溫,若不及時(shí)停止充電就會(huì)造成電池的損壞。因此,在設(shè)計(jì)電池充電器時(shí),對(duì)溫度進(jìn)行監(jiān)控并及時(shí)停止充電是非常重要的。現(xiàn)代消費(fèi)類電器主要使用如下四種電池: 密封鉛酸電池 (sla) 鎳鎘電池 (nicd) 鎳氫電池(nimh) 鋰電池(li-ion)在正確選擇電池和充電算法時(shí)需要了解這些電池的背景知識(shí)。密封鉛酸電池(sla) 密封鉛酸電池主要用于成本比空間和重量更重要的場(chǎng)合,如ups和報(bào)警系統(tǒng)的備份電池。sla 電池以恒定電壓進(jìn)行充電,輔以電流限制以避免在充電過(guò)程

18、的初期電池過(guò)熱。只要電池單元電壓不超過(guò)生產(chǎn)商的規(guī)定( 典型值為2.2v), sla 電池可以無(wú)限制地充電。鎳鎘電池(nicd) nicd 電池目前使用得很普遍。它的優(yōu)點(diǎn)是相對(duì)便宜,易于使用;缺點(diǎn)是自放電率比較高。典型的nicd 電池可以充電1000 次。失效機(jī)理主要是極性反轉(zhuǎn)。在電池包里第一個(gè)被完全放電的單元會(huì)發(fā)生反轉(zhuǎn)。為了防止損壞電池包,需要不間斷地監(jiān)控電壓。一旦單元電壓下降到1.0v 就必須停機(jī)。nicd 電池以恒定電流的方式進(jìn)行充電。鎳氫電池(nimh) 在輕重量的手持設(shè)備中如手機(jī)、手持?jǐn)z象機(jī),等等鎳氫電池是使用最廣的。這種電池的容量比nicd 的大。由于過(guò)充電會(huì)造成nimh 電池的失效

19、,在充電過(guò)程中進(jìn)行精確地測(cè)量以在合適的時(shí)間停止是非常重要的。和nicd 電池一樣,極性反轉(zhuǎn)時(shí)電池也會(huì)損壞。nimh 電池的自放電率大概為20%/ 月。和nicd 電池一樣,nimh 電池也為恒定電流充電。鋰電池 (li-ion) 和本文中所述的其他電池相比,鋰電池具有最高的能量/ 重量比和能量/ 體積比。鋰電池以恒定電壓進(jìn)行充電,同時(shí)要有電流限制以避免在充電過(guò)程的初期電池過(guò)熱。當(dāng)充電電流下降到生產(chǎn)商設(shè)定的最小電流時(shí)就要停止充電。過(guò)充電將造成電池?fù)p壞,甚至爆炸。1.3主要芯片的選擇 硬件電路的核心器件選用atmel公司的at89c51芯片,at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器

20、(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器。(1) 主要特性:與mcs-51 兼容 4k字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0

21、hz-24hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部ram32可編程i/o線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 (2) 振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。(3)芯片擦除: 整個(gè)perom陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ale管腳處于低電平10ms 來(lái)完成。在芯片擦操作

22、中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。1.4 液晶顯示模塊的選擇lcd顯示模塊是一種被動(dòng)顯示器,具有功耗低,顯示信息大,壽命長(zhǎng)和抗干擾能力強(qiáng)等優(yōu)點(diǎn),在低功耗的單片機(jī)系統(tǒng)中得到大量使用。液晶顯示模塊和鍵盤輸入模塊作為便攜式儀表的通用器件,在單片機(jī)系統(tǒng)的開發(fā)過(guò)程中也可以作為常用的程序和電路模塊進(jìn)

23、行整體設(shè)計(jì)。液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就顯示黑色,這樣即可顯示出圖形。在單片機(jī)系統(tǒng)中使用液晶顯示模塊作為輸出器件有以下優(yōu)點(diǎn):(1) 顯示質(zhì)量高液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度,恒定發(fā)光,因此液晶顯示器畫質(zhì)高而且不會(huì)閃爍。(2) 數(shù)字式接口液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單。(3) 體積小,重量輕(4) 功率消耗小液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)ic上,因此耗電量比其它顯示器要小得多。第二章 硬件電路設(shè)計(jì)經(jīng)過(guò)前面對(duì)充電器原理、液晶模塊等的總體了解和掌握以及對(duì)各種元器件和電路圖的分析和比較后,現(xiàn)在就可以開

24、始進(jìn)入硬件電路的設(shè)計(jì)了。在本章里,首先將介紹一下液晶模塊訪問(wèn)方式的兩種接口電路,然后對(duì)lcd顯示電路原理圖作一個(gè)詳細(xì)的介紹,接著介紹充電電路中所用到的各種芯片和元器件的原理和一些功能. 2.1液晶顯示模塊兩種訪問(wèn)方式接口電路的選擇單片機(jī)與液晶顯示模塊之間的連接方式分為直接訪問(wèn)方式和為間接控制方式兩種。如圖2-1和圖2-2所示,其中左為單片機(jī),右為液晶顯示模塊。 (一) 直接訪問(wèn)方式pd0pd1pd2pd3pd4pd5pd6pd7rdwep2.3p2.2p2.1p2.0db0db1db2db3db4db5db6db7gndvccv0e/csa/csbr/wd/i10k 數(shù)據(jù)總線 gnd +5v電

25、位器 負(fù)電源 1 32 74ls00a11a10a9a8mpu 圖2-1 直接訪問(wèn)方式電路圖 lcm接口直接訪問(wèn)方式就是將液晶顯示模塊的接口作為存儲(chǔ)器或i/o設(shè)備直接掛在單片機(jī)總線上,單片機(jī)以訪問(wèn)存儲(chǔ)器或i/o設(shè)備的方式操作液晶顯示模塊的工作。直接訪問(wèn)方式的接口電路如圖2-1所示,在圖中,單片機(jī)通過(guò)高位地址a11控制csa,a10控制csb,以選通液晶顯示屏上各區(qū)的控制器;同時(shí)用地址a9作為r/w信號(hào)控制數(shù)據(jù)總線的數(shù)據(jù)流向;用地址a8作為d/i信號(hào)控制寄存器的選擇,e(使能)信號(hào)由rd和we共同產(chǎn)生,這樣就實(shí)現(xiàn)了單片機(jī)對(duì)液晶顯示模塊的電路邊接。電位器用于顯示對(duì)比度的調(diào)節(jié)。(二)間接控制方式 p

26、1.7 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.0 p3.4 p3.3 p3.2 p3.1 p3.0db7db6db5db4db3db2db1db0/csa/csber/wd/ivccv0gnd電位器+5v10k 負(fù)電源 gndmpu lcm接口圖2-2 間接控制方式電路圖間接控制方式是單片機(jī)通過(guò)自身的或系統(tǒng)中的并行接口與液晶顯示模塊連接。單片機(jī)通過(guò)對(duì)這些接口的操作,以達(dá)到對(duì)液晶顯示模塊的控制。這種方式的特點(diǎn)就是電路簡(jiǎn)單,控制時(shí)序由軟件實(shí)現(xiàn),可以實(shí)現(xiàn)高速單片機(jī)與液晶顯示模塊的接口。電路圖如圖2-2所示。在圖中以 p1口作為數(shù)據(jù)口,p3.4為csa,p3.3為csb,p

27、3.2為使能端,p3.1為r/w和p3.0為d/i信號(hào)。電位器用于顯示對(duì)比度的調(diào)節(jié)。通過(guò)比較再結(jié)合本次設(shè)計(jì)的實(shí)際條件,由于at89c51芯片有wr、rd管腳,為了使電路簡(jiǎn)單且方便軟件實(shí)現(xiàn),所以最終決定采用直接控制的方式來(lái)設(shè)計(jì)lcd顯示電路。2.2.硬件電路主要芯片1 at89c51主要引腳功能:(1).管腳說(shuō)明:vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p

28、0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸

29、出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示:口管腳 備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部

30、中斷1)p3.4 t0(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ale脈沖。如想

31、禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無(wú)效。 /psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。/ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電

32、源(vpp)。(2)xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來(lái)自反向振蕩器的輸出。2.3 lcd液晶顯示2.3.1 lcd的顯示原理液晶顯示器是一種功耗極低的顯示器。隨著液晶顯示技術(shù)的發(fā)展,lcd顯示器的規(guī)格眾多,其專用驅(qū)動(dòng)芯片也相互配套,使lcd在控制和儀表系統(tǒng)中廣泛應(yīng)用提供了極大的方便。根據(jù)lcd顯示原理的不同,常見和常用的lcd可以分為字符型lcd和點(diǎn)陣型lcd兩種。不同的顯示原理使得這兩種lcd的指令系統(tǒng)、接口和功能等是不相同的,各有優(yōu)缺點(diǎn),但結(jié)合到本次設(shè)計(jì)的實(shí)際要求,經(jīng)過(guò)比較還是選用點(diǎn)陣型lcd。現(xiàn)就點(diǎn)陣型lcd的顯示原理、模塊特點(diǎn)等做一簡(jiǎn)要介紹。要想在

33、液晶模塊上顯示一個(gè)漢字或字符,需要3個(gè)最基本的控制操作:分別向3個(gè)控制器寫指令代碼、寫顯示數(shù)據(jù)和讀顯示數(shù)據(jù)。這里要特別引起注意的是完成這3項(xiàng)操作的前提條件是ks0108b控制器處于準(zhǔn)備好的狀態(tài),即busy=0,由模塊的軟件特性知道,當(dāng)busy=1時(shí),系統(tǒng)的接口電路處于被封鎖的狀態(tài),是不能接受除讀狀態(tài)指令外的任何操作的。因此在訪問(wèn)控制器之前,一定要判斷控制器的當(dāng)前狀態(tài)。具體到軟件設(shè)計(jì)時(shí),則需設(shè)計(jì)一判忙程序,在判斷busy=0后,再往下進(jìn)行操作。在本模塊中,每個(gè)漢字的大小是1616點(diǎn)陣,而每個(gè)字符的大小是816點(diǎn)陣,即字符的寬度為漢字的1/2。它們都是以二維數(shù)組的格式存放在rom中。向液晶模塊顯示

34、一個(gè)漢字的過(guò)程就是:由液晶屏顯示區(qū)的指定字符行的指定列開始,連續(xù)輸出該字符對(duì)應(yīng)的字符庫(kù)中的16個(gè)列數(shù)據(jù),如果是顯示字符,則輸出8個(gè)列數(shù)據(jù)即可。上面已經(jīng)介紹到,mgls-19264液晶模塊中液晶屏顯示區(qū)為19264點(diǎn)陣,其中,它們的每8個(gè)像素行組成一頁(yè),整個(gè)顯示區(qū)共分為8頁(yè),每64列為一個(gè)區(qū),這樣,它就有左、中、右3個(gè)區(qū),它的顯示區(qū)示意圖如下:左區(qū) 中區(qū) 右區(qū)0 1 2 62 63 64 65 127128 129 191db0db7db0db7 圖2-3液晶屏顯示區(qū)示意圖液晶模塊顯示字符是從上到下,從左到右進(jìn)行顯示的。假設(shè)定義從最左上角開始顯示,則先從上到下顯示第0頁(yè)的第一列,依次從左向右開始

35、顯示。mgls-19264lcm的顯示部分為左、中、右3個(gè)區(qū),可以由cs片選的取值分別進(jìn)行控制,其接口的片選定義如下:表2-1 mgls的片選定義表cs1cs2選中區(qū)域 0 0 左區(qū) 0 1 中區(qū) 1 0 右區(qū) 1 1 未選 有了上面的知識(shí),就可以編寫顯示界面這一塊程序。由于每個(gè)漢字或字符在圖中位置是固定的,只要定義了相應(yīng)的選區(qū)及x、y地址,就可以顯示出具體的位置。用lr來(lái)表示漢字的區(qū)域,當(dāng)lr=0,表示左區(qū);lr=1,表示中區(qū);lr=2,表示右區(qū)。x表示頁(yè)面,y表示列地址。則(lr.x.y)就可以定義出這個(gè)字在屏上的實(shí)際位置。以第一行的“智”字為例,這個(gè)字位于模塊的左區(qū),則lr=0;它位于第

36、一頁(yè)和第二頁(yè),則x=0;它位于列地址的48-63字節(jié),y=48,那么“智”就可以通過(guò)(0.0.48)精確地表示出它的位置。這里要注意的是每個(gè)漢字占用的行地址是兩頁(yè),如“智”字占的就是x0和x1,即第二行的漢字其x=2而不是1。因此,第二行的“電”就應(yīng)該表示為(0.2.0),其它字符依此設(shè)計(jì)即可。2.3.2 液晶顯示控制驅(qū)動(dòng)器hd61202及其兼容液晶顯示控制器是一種帶有驅(qū)動(dòng)輸出的圖形液晶顯示控制器,而在小規(guī)模點(diǎn)陣液晶顯示模塊上使用液晶顯示驅(qū)動(dòng)器組成液晶顯示驅(qū)動(dòng)控制系統(tǒng)是非常有益的,這將使液晶顯示模塊的硬件電路簡(jiǎn)單化,從而降低模塊的成本,同時(shí)也提高了對(duì)軟件功能的要求。許多顯示功能如光標(biāo)、字符庫(kù)、

37、閃爍都需要由軟件編制而成。hd61203和hd61202就是這類液晶顯示驅(qū)動(dòng)控制器套件。之所以稱它們?yōu)樘准且驗(yàn)閔d61203和hd61202必須配套使用,通常有12864和19264兩種規(guī)格。其特點(diǎn)如下:1內(nèi)藏64*64=4096位顯示ram,ram中每位數(shù)據(jù)對(duì)應(yīng)lcd屏上的一個(gè)點(diǎn)的亮、暗狀態(tài)。2hd61202及其兼容控制器是列驅(qū)動(dòng)器,具有64路列驅(qū)動(dòng)輸出。3hd61202及其兼容控制驅(qū)動(dòng)器讀、寫時(shí)序與68系列微處理妻相符,因此它可直接與68系列微處理器借口相聯(lián)。4hd61202及其兼容控制器的占空比為1/321/64。2.3.3 液晶顯示模塊的特點(diǎn)mgls-12864圖形液晶顯示模塊的驅(qū)動(dòng)

38、和控制系統(tǒng)是由一片ks0107b或兼容驅(qū)動(dòng)器( hd61203 )作為行驅(qū)動(dòng)器和兩片ks0108b或兼容驅(qū)動(dòng)器(hd61203) 作為列驅(qū)動(dòng)器組成的。它的主要技術(shù)參數(shù)及其供電特點(diǎn)如下:(1) 電源:dc+5v,模塊內(nèi)自帶用于lcd驅(qū)動(dòng)的負(fù)壓電路。(2) 顯示內(nèi)容:12864全屏幕點(diǎn)陣。(3) 指令形式:七種指令。(4) 接口形式:與控制器采用8位數(shù)據(jù)總線和8位控制線相連。(5) 工作環(huán)境:10+50。(6) 模塊應(yīng)用有三種電源:邏輯電源、液晶驅(qū)動(dòng)電壓、背光電壓。(7) 本次選用的模塊是雙電源供電(vdd/v0),需要提供一個(gè)液晶驅(qū)動(dòng)電壓,用以調(diào)節(jié)對(duì)比度,接在液晶模塊的v0引腳上,由于液晶的對(duì)比

39、度會(huì)隨著溫度的變化而相應(yīng)變化,所以其液晶顯示驅(qū)動(dòng)電壓值應(yīng)隨著溫度作相應(yīng)的調(diào)整,這里采用了一個(gè)電位器,調(diào)整電壓值。(8) 背光供電為3.8-4.1v的支流電源,選用電源太大不僅增加功耗,更有可能損壞背光燈和縮短模塊的使用壽命。mgls-12864的邏輯電路圖如下:hd61202 *lcd: vgls-12864128x64 dots64hd61202 (1) hd61202 (2)6464vddvssv0/csa/csbdb0db7d/ir/we圖2-4 mgls-12864的邏輯電路圖mgls-12864液晶顯示模塊一共有20個(gè)引腳,它的接口定義如下:表2-2 mgls-12864的接口電路序

40、號(hào)符號(hào)狀態(tài)功能d7三態(tài)數(shù)據(jù)總線d6三態(tài)數(shù)據(jù)總線d5三態(tài)數(shù)據(jù)總線4d4三態(tài)數(shù)據(jù)總線5d3三態(tài)數(shù)據(jù)總線6d2三態(tài)數(shù)據(jù)總線7d1三態(tài)數(shù)據(jù)總線8d0三態(tài)數(shù)據(jù)總線9e輸入r/w=“l(fā)”,e的下降沿鎖存數(shù)據(jù)線r/w=“h”,e為“h”時(shí),數(shù)據(jù)由控制器輸出至數(shù)據(jù)線10r/w輸入r/w=“l(fā)”,e=“h”數(shù)據(jù)由控制器輸出數(shù)據(jù)線r/w=“h”,e的下降沿,數(shù)據(jù)由數(shù)據(jù)線輸入到控制器11d/i輸入d/i=“l(fā)”,表示db7db0為顯示數(shù)據(jù)d/i=“h”,表示db7db0為顯示指令12v0液晶顯示器驅(qū)動(dòng)電壓13vcc電源正14gnd電源地15cs1輸入片選信號(hào)16cs2輸入片選信號(hào)17voutlcd負(fù)壓驅(qū)動(dòng)電壓18r

41、et輸入復(fù)位信號(hào)19led+顯示模塊背光電源20led-顯示模塊背光電源2.4 硬件電路設(shè)計(jì) 該電路主要由充電電路、充放電控制電路、顯示和接口電路組成,圖1所示是其電路組成框圖。充放電控制電路充電電路充放電控制電路充放電控制電路充放電控制電路充電電路 圖2-5 智能充電器的組成原理圖2.4.1 充電電路的設(shè)計(jì)電池充電有恒壓、恒流兩種充電方式,事實(shí)上,恒壓、恒流源電路也是充電電路的主要組成部分。由于各種電池對(duì)充電電壓和充電電流的要求不同,因此,實(shí)現(xiàn)智能充電必須根據(jù)各種電池的自身要求來(lái)調(diào)整充電電壓和充電電流的大小。這里選擇bq2054集成電路作為恒壓、恒流源模塊來(lái)對(duì)電池進(jìn)行充電。為了保證電池的安全

42、,當(dāng)電池電壓和溫度超過(guò)設(shè)定的極限值時(shí),bq2054將禁止對(duì)電池進(jìn)行充電。而當(dāng)電池電壓小于低電壓閥值時(shí),bq2054將用恒流方式進(jìn)行充電。圖2所示是該智能充電器的恒壓恒流電路原理圖。圖2中的gb+、gb-分別連接充電電池的正極和負(fù)極,以為充電電池提供充電電流的通道。數(shù)字電位器max5434通過(guò)串行數(shù)據(jù)總線和控制電路進(jìn)行通信,以確定電位器的阻值,并改變電池電壓分配網(wǎng)絡(luò)的比值,從而改變bq2054中bat腳的輸入電壓,以便bq2054根據(jù)bat腳電壓的大小來(lái)改變對(duì)電池的充電電壓,最終達(dá)到對(duì)電池進(jìn)行恒流、恒壓充電的目的。2.4.2 控制電路的設(shè)計(jì) 圖3所示是該充電器的充放電控制電路。圖中,將pwmct

43、l連接到bq2054的mod輸出腳,便可用mod輸出的脈沖信號(hào)控制三極管的導(dǎo)通和關(guān)閉,從而改變充電電流的大小。24 v電源是充電電路的外部輸入電源,可用來(lái)提供充電電流。gb+連接到充電電路的電池正極,其電壓就是充電電池的電壓,當(dāng)電池電壓沒有達(dá)到設(shè)定電壓時(shí),充電電路將以恒流方式對(duì)其進(jìn)行充電。當(dāng)電池電壓達(dá)到設(shè)定充電電壓后,充電電壓保持恒定不變,而充電電流逐漸減少,進(jìn)入相應(yīng)的恒壓充電階段。 該充電器的主控電路中的ccs,dcs,vs-bat分別是用于采集電池充電電流,放電電流,充電電壓的端口,它們經(jīng)過(guò)濾波放大后和at89c51的ad轉(zhuǎn)換腳相連接,并經(jīng)過(guò)轉(zhuǎn)換判斷電池的充放電狀態(tài)后,可對(duì)電池的充放電作出

44、相應(yīng)的控制,這些判斷和控制都是由軟件來(lái)完成的。主要是通過(guò)采集充電電路中的led1led3等三個(gè)輸出口的電平高低,并根據(jù)它們的高低電平狀態(tài)組合控制電池的充電狀態(tài)。xtall、xtal2是at89c51和智能電池之間虛擬的異步串行通訊總線的時(shí)鐘線和數(shù)據(jù)線,at89c51的內(nèi)部定時(shí)器2可提供模擬異步串行通訊總線的控制時(shí)鐘。e-chg是充電控制使能端口,可在滿足充電條件并設(shè)定充電方式后置其為高電平,以啟動(dòng)充電電路對(duì)電池的充電,反之,當(dāng)出現(xiàn)過(guò)溫、過(guò)電流、過(guò)電壓、充電故障或充電滿狀態(tài)時(shí),該端為低電平,以關(guān)斷充電電路。e-dsg是放電使能控制端口,當(dāng)檢測(cè)到鎳鉻電池沒有放電完畢時(shí),at89c51就把e-dsg

45、置為高電平,啟動(dòng)放電電路對(duì)鎳鉻電池進(jìn)行放電,直到放電完畢,則把其置為低電平,關(guān)閉放電電路并對(duì)鎳鉻電池進(jìn)行充電。sda和scl是at89c51的異步串行通訊總線的數(shù)據(jù)線和時(shí)鐘線,它們和顯示電路中at89c51的sda和scl相連接,以使at89c51作為從機(jī)和at89c51進(jìn)行通訊,從而把電池的各種信息(結(jié)構(gòu)參數(shù)和實(shí)時(shí)參數(shù))傳輸?shù)絘t89c51上,再由液晶顯示器進(jìn)行顯示。兩個(gè)跳線是at89c51作為從機(jī)和at89c51進(jìn)行通訊時(shí)的地址選擇信號(hào),它們可連接或斷開輸入到端口的信號(hào),它們的組合狀態(tài)00,01,10,11分別代表從機(jī)的地址00,01,10,11,以便主機(jī)和從機(jī)通訊時(shí)發(fā)出地址信號(hào),之后從機(jī)

46、通過(guò)查詢作出回應(yīng),并向主機(jī)發(fā)送信息。2.4.3智能充電器的信息顯示以at89c51為核心構(gòu)成的信息顯示模塊可通過(guò)i2c總線與4路充電管理部分的at89c51進(jìn)行通訊。當(dāng)系統(tǒng)采集到電池的實(shí)時(shí)參數(shù)和結(jié)構(gòu)參數(shù)后,即可通過(guò)lcd進(jìn)行中文模式的信息顯示(要顯示的漢字和字符字庫(kù)存儲(chǔ)在24c16中,at89c51通過(guò)i2c總線對(duì)其進(jìn)行調(diào)用);同時(shí)利用at89c51的txd、rxd口線提供給rs232接口,從而完成與pc管理計(jì)算機(jī)的相連,最終完成對(duì)電池的集散式管理。第三章 protel99的應(yīng)用簡(jiǎn)介經(jīng)過(guò)前面的努力,智能充電器硬件電路的設(shè)計(jì)在本人及同組人的共同努力下已經(jīng)完成,接下來(lái)便是根據(jù)前面的設(shè)計(jì)用軟件畫出其

47、原理圖并生成板。protel99se是一個(gè)全32位的電路板設(shè)計(jì)軟件,使用該軟件可以容易地設(shè)計(jì)電路原理圖、畫元件圖、設(shè)計(jì)電路板圖、畫元件封裝圖和電路仿真。在這里主要用它來(lái)繪制電路原理圖和生成印制電路板。原理圖的設(shè)計(jì)步驟如下:(1) 設(shè)置原理圖設(shè)計(jì)環(huán)境。其中,工作環(huán)境設(shè)置是使用design/options和tool和preferences菜單進(jìn)行的,畫原理圖環(huán)境的設(shè)置主要包括圖紙大小、捕捉柵格、電氣柵格、模板設(shè)置等。(2) 放置元件,將電氣和電子元件放置在圖紙上。(3) 原理圖布線。元件一旦放置在原理圖上,不需要用導(dǎo)線將元件連接起來(lái),連接時(shí)一定要符合電氣規(guī)則。(4) 編輯和調(diào)整。編輯元件的屬性。包

48、括元件名、參數(shù)、封裝圖等。調(diào)整元件和導(dǎo)線的位置等操作。 本次設(shè)計(jì)所用的主要元件屬性如下:表3-1主要元件表說(shuō)明編號(hào)封裝元件名稱 單片機(jī)u1dip-40at89c51lcdj2dip-20lcd模塊電阻raxial0.3res2電容crad0.1cap鎖存器u5dip-2074ls245npn三極管qto462n2222a晶體xxtal-1xtal通用運(yùn)放u2a,u2bdip8lm358(5) 檢查原理圖。使用電氣規(guī)則功能(erc)檢查原理圖的連接是否合理和正確。給出檢查報(bào)告,若有錯(cuò)誤則要根據(jù)錯(cuò)誤進(jìn)行改正。(6) 生成網(wǎng)絡(luò)表。所謂網(wǎng)絡(luò)表就是元件名、封裝、參數(shù)及元件之間的連接表,通過(guò)該表可以確認(rèn)各

49、個(gè)元件和它們之間的關(guān)系。(7) 打印原理圖。對(duì)電路板的設(shè)計(jì)主要分為以下幾個(gè)步驟;(1) 使用原理圖編輯器設(shè)計(jì)原理圖,進(jìn)行電氣檢查(erc)并生成原理圖的網(wǎng)絡(luò)表。(2) 進(jìn)入電路板(pcb)環(huán)境,使用電路向?qū)Т_定電路板的層數(shù)、尺寸等電路板參數(shù)。(3) 使用design/netlist菜單,調(diào)入網(wǎng)絡(luò)表。由于在前面的元件封裝不規(guī)范,這里面出現(xiàn)了許多錯(cuò)誤,通過(guò)請(qǐng)教老師及自己的不懈努力,花了數(shù)天的時(shí)間才全部改了出來(lái)。(4) 布置元件,就是將元件合理地分布在電路板上。自動(dòng)布置元件或人工布置元件,多次布置直到自己滿意為止。人工布線是畫電路板的基礎(chǔ),但比較耗時(shí)和費(fèi)力,另外由于自身經(jīng)驗(yàn)的不足,只得先采用自動(dòng)布線

50、,在此基礎(chǔ)上作了適當(dāng)?shù)男薷摹?5) 完成修飾等工作,完成整個(gè)電路板的設(shè)計(jì)。接下來(lái)是焊接的工作,這部分相對(duì)來(lái)說(shuō)并不陌生,在大二時(shí)曾進(jìn)行過(guò)電子課程的實(shí)習(xí),主要就是完成收音機(jī)的焊接。雖然以后接觸得比較少,但通過(guò)幾天的練習(xí),還是基本圓滿地完成了任務(wù)。焊接通常要求:焊點(diǎn)接觸良好,尤其避免虛焊的產(chǎn)生;焊點(diǎn)要有足夠的機(jī)械強(qiáng)度以保證被焊點(diǎn)不致滑落;焊點(diǎn)表面應(yīng)美觀,有光澤。這塊板子面積不算大(約90cm70cm),元器件引腳多,看起來(lái)很密集。從焊下來(lái)的結(jié)果來(lái)看,焊點(diǎn)還可以,也算比較美觀,最關(guān)鍵的是沒有短路的情況發(fā)生。焊接完成后,整個(gè)硬件電路原理、繪制原理路、焊接等工作已全部完成,下面轉(zhuǎn)到軟件部分的設(shè)計(jì)。第四章

51、軟件設(shè)計(jì)由于本人主要負(fù)責(zé)設(shè)計(jì)軟件部分,而本人之前對(duì)c語(yǔ)言這門課的學(xué)習(xí)不是非常的精通,因此在著手本章之前本人對(duì)c語(yǔ)言以及at89c51單片機(jī)與c語(yǔ)言編程方面的書籍做了認(rèn)真仔細(xì)的回顧、學(xué)習(xí)和再研究,這樣才對(duì)下面設(shè)計(jì)工作的開展打下了基礎(chǔ)。在本章里,本人將先介紹c語(yǔ)言開發(fā)的優(yōu)勢(shì),然后介紹lcd的顯示原理、模塊的軟件特性等,接下來(lái)便是最主要的整個(gè)程序的設(shè)計(jì)。4.1.用c語(yǔ)言開發(fā)單片機(jī)的優(yōu)勢(shì)c語(yǔ)言是一種編譯型的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,具有簡(jiǎn)單的語(yǔ)法結(jié)構(gòu)和強(qiáng)大的處理功能,具有運(yùn)行速度快、編譯效率高,移植性好和可讀性強(qiáng)等多種優(yōu)點(diǎn),可以實(shí)現(xiàn)對(duì)系統(tǒng)便件的直接操作。用c語(yǔ)言來(lái)編寫目標(biāo)系統(tǒng)軟件,可以大大縮短開發(fā)周期,且明

52、顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而開發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng)。其優(yōu)勢(shì)如下:(1) 可以大幅度加快開發(fā)進(jìn)度,程序量越大,用c語(yǔ)言就越有優(yōu)勢(shì)。(2) 無(wú)需精通單片機(jī)指令集和具體的硬件,也能夠編出符合硬件實(shí)際專業(yè)水平的程序。(3) 可以實(shí)現(xiàn)軟件的結(jié)構(gòu)化編程,使得軟件的邏輯結(jié)構(gòu)變得清晰、有條理、便于開發(fā)小組計(jì)劃任務(wù)、分工合作。源程序的可讀性和可維護(hù)性都很好。(4) 省去了人工分配單片機(jī)資源的工作,在匯編語(yǔ)言中要為每一個(gè)子程序分配單片機(jī)的資源。在使用c語(yǔ)言后,只要在代碼中申明一下變量的類型,編譯器就會(huì)自動(dòng)分配相關(guān)資源,根本不需要人工干預(yù),從而有效地避免了人工分配單片機(jī)資源的差錯(cuò)。(5) 匯編

53、語(yǔ)言的可移植性很差,而c語(yǔ)言只要將一些與硬件相關(guān)的代碼作適當(dāng)?shù)男薷模涂梢苑奖愕匾浦驳狡渌N類的單片機(jī)上。(6) c語(yǔ)言提供auto、static、flash等存儲(chǔ)類型,針對(duì)單片機(jī)的程序存儲(chǔ)空間、數(shù)據(jù)存儲(chǔ)空間及eeprom空間自動(dòng)為變量合理地分配空間,而且c語(yǔ)言提供復(fù)雜的數(shù)據(jù)類型,極大地增強(qiáng)了程序處理能力和靈活性。c編譯器能夠自動(dòng)實(shí)現(xiàn)中斷服務(wù)程序的現(xiàn)場(chǎng)保護(hù)和恢復(fù),并且提供常用的標(biāo)準(zhǔn)函數(shù)庫(kù),供用戶使用。并且c編譯器能自動(dòng)生成一些硬件的初始化代碼。(7) 對(duì)于一些復(fù)雜系統(tǒng)的開發(fā),可以通過(guò)移植(或c編譯器提供)的實(shí)時(shí)操作系統(tǒng)來(lái)實(shí)現(xiàn)。正由于c語(yǔ)言在系統(tǒng)開發(fā)中的優(yōu)勢(shì),這次設(shè)計(jì)的所有程序設(shè)計(jì)都將采用c語(yǔ)言編寫,且通過(guò)iccavr編譯器操作avr的硬件資源。4.2液晶顯示漢字或字符的原

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論