![單片機(jī)控制的LCD漢字顯示電路設(shè)計(jì)(獨(dú)家完整版)_第1頁(yè)](http://file4.renrendoc.com/view/3edcc08eae22d01359d46563f2b748ff/3edcc08eae22d01359d46563f2b748ff1.gif)
![單片機(jī)控制的LCD漢字顯示電路設(shè)計(jì)(獨(dú)家完整版)_第2頁(yè)](http://file4.renrendoc.com/view/3edcc08eae22d01359d46563f2b748ff/3edcc08eae22d01359d46563f2b748ff2.gif)
![單片機(jī)控制的LCD漢字顯示電路設(shè)計(jì)(獨(dú)家完整版)_第3頁(yè)](http://file4.renrendoc.com/view/3edcc08eae22d01359d46563f2b748ff/3edcc08eae22d01359d46563f2b748ff3.gif)
![單片機(jī)控制的LCD漢字顯示電路設(shè)計(jì)(獨(dú)家完整版)_第4頁(yè)](http://file4.renrendoc.com/view/3edcc08eae22d01359d46563f2b748ff/3edcc08eae22d01359d46563f2b748ff4.gif)
![單片機(jī)控制的LCD漢字顯示電路設(shè)計(jì)(獨(dú)家完整版)_第5頁(yè)](http://file4.renrendoc.com/view/3edcc08eae22d01359d46563f2b748ff/3edcc08eae22d01359d46563f2b748ff5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
...wd......wd......wd...單片機(jī)控制的LCD漢字顯示電路設(shè)計(jì)摘要近年來(lái),隨著電子行業(yè)的開(kāi)展,單片機(jī)的應(yīng)用越來(lái)越廣泛,基于單片機(jī)的電子電路的設(shè)計(jì)也越來(lái)越多。所以,單片機(jī)在電子教學(xué)中越來(lái)越普遍。本設(shè)計(jì)介紹的是以ATMEGA8單片機(jī)為核心的液晶顯示屏控制系統(tǒng)。該設(shè)計(jì)詳細(xì)闡述了其工作原理、基本功能框圖、主要設(shè)計(jì)方法及工作流程。本設(shè)計(jì)提出了一種能實(shí)時(shí)控制顯示內(nèi)容的基于單片機(jī)的液晶顯示屏控制系統(tǒng)設(shè)計(jì)方案,給出了該單片機(jī)的硬件電路和軟件程序,最終顯示出漢字的結(jié)果。具體方法是首先設(shè)計(jì)并焊接出一個(gè)AVR單片機(jī)開(kāi)發(fā)板,基于此開(kāi)發(fā)板設(shè)計(jì)出LCD模塊顯示電路。之后,編寫(xiě)LCD模塊初始化程序和顯示程序。最后下載程序到單片機(jī),LCD顯示出漢字。關(guān)鍵詞:Atmega8控制LCD12864顯示TitleThecontrolcircuitdesignofthedot-matrixliquidcrystaldisplaycontrolledbythemicroprocessorAbstractInrecentyears,withthedevelopmentoftheelectronicsindustry,theapplicationoftheMicrocontrollerUnitisbecomingmoreandmorewidely,also,thereismoreandmoreelectroniccircuitdesignbasedontheMicrocontrollerUnit.Therefore,theMicrocontrollerUnitusingintheelectronicteachingisbecomingmorecommon.ThisdesignintroducestheliquidcrystaldisplaycontrolsystembasedontheATMEGA8microcontroller.Thisdesignelaboratedonitsworkingprinciple,thebasicfunctionalblockdiagram,maindesignmethodsandworkingprocess.ThisdesignputsforwardtoadesignschemebasedontheMicrocontrollerUnit,whichcancontroltheshowingcontentoftheLCDscreencontrollingsystemattherealtime.Thespecificmethodis
that,firstlyweshoulddesignandweldintoanAVRMicrocontrollerdevelopmentboardandthendesignaLCDmoduledisplaycircuitbasedonthedevelopmentboard.Afterthat,writetheLCDmoduleinitializationprogramanddisplayingprogram.Atlast,downloadtheprogramtotheMCU,andtheLCDwillshowtheChinesecharacters.KeywordsATMEGA8controlLCD12864displaying目次摘要 IAbstract II目次 III1概述 11.1課題背景 11.2設(shè)計(jì)要求 11.3LCD簡(jiǎn)介及開(kāi)展 11.4AVR單片機(jī) 22方案論證 22.1方案一 22.2方案二 32.3方案三 33主要模塊簡(jiǎn)介 33.1ATMEGA8簡(jiǎn)介 33.2LCD12864模塊簡(jiǎn)介 43.2.1KXM12864主要技術(shù)參數(shù)和性能 43.2.2KXM12864外形尺寸圖 53.2.3KXM12864液晶顯示指令系統(tǒng) 63.2.412864液晶顯示動(dòng)態(tài)指標(biāo)及術(shù)語(yǔ) 74硬件設(shè)計(jì) 94.1設(shè)計(jì)流程圖及設(shè)計(jì)思路 94.2各模塊電路設(shè)計(jì) 104.2.1電源電路 104.2.2LCD12864模塊控制電路 114.2.3RS232電平轉(zhuǎn)換電路 124.2.4時(shí)鐘電路 134.3硬件焊接與調(diào)試 144.4方案擴(kuò)展 145軟件設(shè)計(jì) 165.1LCD12864模塊初始化流程 16 165.2局部程序代碼 175.2.1軟件延時(shí) 175.2.2端口輸出函數(shù) 185.2.3寫(xiě)數(shù)據(jù)函數(shù) 185.2.4寫(xiě)指令函數(shù) 195.2.5初始化函數(shù) 205.2.6顯示函數(shù) 205.3程序調(diào)試中的注意問(wèn)題 236實(shí)物與實(shí)測(cè)效果展示 276.1實(shí)物展示 276.2實(shí)測(cè)效果展示 28結(jié)論 29感言 30致謝 31參考文獻(xiàn) 32附錄A 33硬件原理圖〔基于protel99se〕 33附錄B 34程序代碼 34附錄C 40元器件規(guī)格清單 401概述自20世紀(jì)以來(lái),電子行業(yè)發(fā)生著翻天覆地的變化。電子行業(yè)的開(kāi)展推動(dòng)著社會(huì)的開(kāi)展,因此,世界各國(guó)也大力開(kāi)展電子行業(yè)。其中,在電子行業(yè)中,顯示器產(chǎn)業(yè)是其中尤為重要的產(chǎn)業(yè)之一。然而,在顯示器產(chǎn)業(yè)中,LCD技術(shù)是最重要的技術(shù)之一。眾所周知,單片機(jī)像是電子行業(yè)中發(fā)揮著巨大作用的精靈。它的能耗小、價(jià)格低廉,在簡(jiǎn)單的電子實(shí)驗(yàn)方面的應(yīng)用非常廣泛,在教育教學(xué)中深受廣闊電子教育工作者的喜愛(ài)。1.1課題背景在電子行業(yè)中,LCD已被公認(rèn)為是媒體時(shí)代的關(guān)鍵器件,它的低功耗、體積小、易于實(shí)現(xiàn)畫(huà)面顯示及優(yōu)良的全色顯示性能等特點(diǎn),使其在現(xiàn)代社會(huì)中得到了廣泛的應(yīng)用??梢哉f(shuō),LCD是本世紀(jì)初最有活力的電子產(chǎn)品之一。與此同時(shí),單片機(jī)的應(yīng)用領(lǐng)域也非常廣泛,大到導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,小到廣泛使用的智能IC卡,比方學(xué)校中使用的校園一卡通等,這些都離不開(kāi)單片機(jī)。因此,通過(guò)使用單片機(jī)可以使我們完成很多令我們意想不到的事情。所以,本著理論與實(shí)踐相結(jié)合的原那么,本設(shè)計(jì)以單片機(jī)為核心控制器件控制LCD顯示模塊,通過(guò)硬件和軟件的共同配合實(shí)現(xiàn)在128×64點(diǎn)陣液晶屏上顯示漢字、字符等的功能,本系統(tǒng)由ATMEGA8單片機(jī)和點(diǎn)陣式液晶顯示屏模塊構(gòu)成。1.2設(shè)計(jì)要求系統(tǒng)硬件設(shè)計(jì):系統(tǒng)選用ATMEGA8單片機(jī)作為主控和處理設(shè)備,LCD12864模塊作為輸出設(shè)備。系統(tǒng)軟件設(shè)計(jì):微控制器處理和LCD模塊顯示局部的程序設(shè)計(jì)。1.3LCD簡(jiǎn)介及開(kāi)展液晶顯示器是一種采用了液晶控制透光度技術(shù)來(lái)實(shí)現(xiàn)色彩的顯示器。眾所周知,即使長(zhǎng)時(shí)間觀(guān)看LCD顯示屏幕也不會(huì)對(duì)眼睛造成傷害,這主要是因?yàn)長(zhǎng)CD顯示器沒(méi)有輻射,畫(huà)面圖像很穩(wěn)定。LCD可分為段位式LCD、字符式LCD和點(diǎn)陣式LCD。其中,段位式LCD和字符式LCD只能用于字符和數(shù)字的簡(jiǎn)單顯示,不能滿(mǎn)足圖形曲線(xiàn)和漢字顯示的要求;而點(diǎn)陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線(xiàn)及漢字,并且可以實(shí)現(xiàn)屏幕上下左右滾動(dòng)、動(dòng)畫(huà)、分區(qū)開(kāi)窗口、反轉(zhuǎn)、閃爍等功能,用途十分廣泛。奧地利植物學(xué)家F·Reinetzer在一百多年前發(fā)現(xiàn)了液晶。然而,到20世紀(jì)60年代,液晶才逐漸被人類(lèi)關(guān)注。1961年,F(xiàn)·Heimeier發(fā)現(xiàn)了液晶的動(dòng)態(tài)散射相變等一系列的液晶電光效應(yīng)。由此,美國(guó)RCA公司成功研制了一系列數(shù)字、字符的顯示器件以及液晶顯示的鐘表、駕駛臺(tái)顯示器等實(shí)用產(chǎn)品。1968年,日本當(dāng)時(shí)正在興起開(kāi)發(fā)電子產(chǎn)品的產(chǎn)業(yè),將大規(guī)模集成電路與液晶相結(jié)合,開(kāi)發(fā)了一系列電子產(chǎn)品。從此,日本電子產(chǎn)業(yè)蓬勃開(kāi)展,這也是日本微電子產(chǎn)業(yè)聞名世界的起因?,F(xiàn)代液晶顯示模塊具有低電壓、微功耗、易彩色化、被動(dòng)顯示等特點(diǎn),是主流的顯示技術(shù)之一。1.4AVR單片機(jī)1997年,ATMEL發(fā)揮自己的技術(shù)特長(zhǎng),研發(fā)出了全新配置,采用精簡(jiǎn)指令集的新型單片機(jī),即AVR單片機(jī)。其中,ATMEGA8是ATMEL公司在2002年第一季度推出的一款新型高檔單片機(jī)。與MCS-51單片機(jī)不同的是,AVR單片機(jī)采用Harvard構(gòu)造,在前一條指令執(zhí)行的時(shí)候就取出下一條指令,而且它的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是分開(kāi)組織和尋址的。AVR單片機(jī)內(nèi)部有三種不同性能和用途的存儲(chǔ)器Flash、EEPROM和RAM。2方案論證2.1方案一根據(jù)本課題內(nèi)容,本設(shè)計(jì)擬采用MCS-51單片機(jī)控制液晶顯示器顯示漢字。MCS-51型號(hào)的單片機(jī)我曾在單片機(jī)原理、接口及應(yīng)用的必修課中學(xué)習(xí)過(guò),對(duì)該型號(hào)單片機(jī)的構(gòu)造和如何控制都比較熟悉。本次課題設(shè)計(jì)需要+5V電源為單片機(jī)及液晶顯示器提供電壓,所以,需要設(shè)計(jì)一個(gè)直流穩(wěn)壓電源來(lái)提供所需的+5V電壓。結(jié)合模擬電子技術(shù)根基所學(xué)知識(shí),我了解到,直流穩(wěn)壓電源又分為線(xiàn)性穩(wěn)壓電源和開(kāi)關(guān)型穩(wěn)壓電源。然而,對(duì)于穩(wěn)定性要求不高的電子電路,整流、濾波后的直流電壓即可以作為供電電壓。而且我們?cè)谀M電子技術(shù)中學(xué)習(xí)過(guò)整流、濾波電路的理論知識(shí),還曾做過(guò)一個(gè)基于整流、濾波電路的直流穩(wěn)壓電源的實(shí)物,所以電源電路設(shè)計(jì)擬采用三端口穩(wěn)壓器7805及整流橋電路來(lái)搭建電路以獲得+5V電壓。本次設(shè)計(jì)要求采用點(diǎn)陣式液晶顯示器,我想用LCD1602作為顯示設(shè)備。2.2方案二當(dāng)我查閱了有關(guān)資料,我就發(fā)現(xiàn)了另一型號(hào)的單片機(jī),即AVR單片機(jī)。結(jié)合所學(xué)的有關(guān)51系列單片機(jī)的知識(shí)以及對(duì)AVR單片機(jī)資料的查閱,我了解到,相比之下,AVR單片機(jī)比51系列單片機(jī)具有更加優(yōu)良的性能。最重要的是,AVR單片機(jī)能夠更高效的執(zhí)行程序代碼。而且,我認(rèn)為,既然已經(jīng)學(xué)習(xí)過(guò)MCS-51系列的單片機(jī),有了單片機(jī)的使用的根基,就應(yīng)該舉一反三,所以,我決定挑戰(zhàn)性地使用AVR單片機(jī)來(lái)完成本次畢業(yè)設(shè)計(jì)。ATmega8L單片機(jī)我曾在以前的開(kāi)放性試驗(yàn)中接觸過(guò),了解到該型號(hào)單片機(jī)芯片內(nèi)部集成了較大容量的存儲(chǔ)器和豐富的硬件接口電路,適合于本次畢業(yè)設(shè)計(jì)。而且,AVR單片機(jī)的價(jià)格又與低檔單片機(jī)的價(jià)格相差不大。所以考慮到以上幾點(diǎn),我決定對(duì)方案一進(jìn)展改進(jìn),確定使用單片機(jī)ATmega8L。相比而言,方案二在方案一的根基上做了很大的改進(jìn),方案二無(wú)論是在實(shí)現(xiàn)的難易程度,還是在性能的優(yōu)越程度上都比方案一更佳。2.3方案三經(jīng)過(guò)查閱有關(guān)點(diǎn)陣式液晶顯示器的資料,我發(fā)現(xiàn)了另一類(lèi)型的點(diǎn)陣式液晶顯示器即LCD12864模塊,該模塊自帶中文字庫(kù),如果使用該模塊來(lái)完成本次設(shè)計(jì)將會(huì)更易控制,也會(huì)使程序更加精簡(jiǎn)。當(dāng)LCD工作在并行工作狀態(tài)時(shí),LCD1602會(huì)占用了CPU的很多引腳,這會(huì)降低系統(tǒng)的性?xún)r(jià)比。而LCD12864模塊不同,它僅使用幾根數(shù)據(jù)線(xiàn),就可以完成數(shù)據(jù)的通信。所以,我決定采用LCD12864模塊即KXM12864作為本設(shè)計(jì)的顯示設(shè)備。3主要模塊簡(jiǎn)介3.1ATMEGA8簡(jiǎn)介Atmega8的數(shù)據(jù)吞吐率高達(dá)1MIPS/MHz,可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。芯片圖:圖3.1ATMEGA8芯片圖由上圖可知,該芯片有PORTB、PORTC和PORTD三個(gè)I/O口。其中,PD0、PD1為串行口復(fù)用腳,PD2、PD3為外部中斷輸入復(fù)用引腳,PD4、PD5為定時(shí)器輸入復(fù)用引腳。PC0~PC5為模數(shù)轉(zhuǎn)換輸入復(fù)用引腳,PC6為復(fù)位復(fù)用引腳。PB6、PB7為外部時(shí)鐘信號(hào)輸入復(fù)用引腳。AVCC為端口A(yíng)與A/D轉(zhuǎn)換器的電源,不用ADC時(shí),應(yīng)將其接VCC。AREF為模擬基準(zhǔn)輸入復(fù)用引腳,不使用,那么懸空。表一ATmega8的端口引腳配置DDRXnPORTXnPUD(SFIOR中)I/O上拉電阻說(shuō)明00X輸入關(guān)閉高阻態(tài)010輸入翻開(kāi)被外部電路拉低時(shí)輸出電流011輸入關(guān)閉高阻態(tài)10X輸出關(guān)閉輸出低電平〔漏電流〕11X輸出關(guān)閉輸出高電平〔源電流〕DDRX為端口方向存放器,當(dāng)DDRX的某一位置1時(shí),相應(yīng)端口的引腳作為輸出使用。PORTX為端口數(shù)據(jù)存放器,當(dāng)引腳作為輸出使用時(shí),PORTX的數(shù)據(jù)由相應(yīng)引腳輸出。3.2LCD12864模塊簡(jiǎn)介3.2.1KXM12864主要技術(shù)參數(shù)和性能本設(shè)計(jì)采用帶中文字庫(kù)的圖形點(diǎn)陣液晶顯示器模塊,即使用KXM12864作為顯示設(shè)備。該顯示器模塊是一種圖形點(diǎn)陣式液晶顯示器,能顯示4行8列〔16*16點(diǎn)陣〕共32個(gè)漢字,也可以顯示字符、圖形等。它主要由行驅(qū)動(dòng)器和列驅(qū)動(dòng)器組成,分辨率為128*64,指的是橫向有128個(gè)點(diǎn),縱向有64個(gè)點(diǎn)。它含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)。內(nèi)部有8192個(gè)漢字,所以,常用的漢字在該字庫(kù)中均能找到。它還含有16*8個(gè)ASCII碼字符。其電源電壓寬為+3.0~+6.5V,即工作電壓在此范圍之間。工作溫度為-20℃~+70℃,當(dāng)超過(guò)其工作溫度,液晶模塊那么會(huì)反響很慢,或者顯示錯(cuò)誤。3.2.2KXM12864外形尺寸圖了解KXM12864的外形尺寸,可以在做產(chǎn)品時(shí)更好地規(guī)劃設(shè)計(jì)產(chǎn)品的布局。3.2.3KXM12864液晶顯示指令系統(tǒng)根據(jù)該指令表,可以對(duì)該LCD顯示模塊進(jìn)展初始化操作。其中,當(dāng)RS=0,RW=1,功能設(shè)定控制字為30H,如果設(shè)置D、C、B均為1,那么顯示狀態(tài)開(kāi)關(guān)控制字為0FH,去除屏幕控制字為01H,模式設(shè)置控制字為06H。當(dāng)MCU向該模塊寫(xiě)資料時(shí),應(yīng)當(dāng)使RS=1,RW=0。這樣,就可以向該模塊寫(xiě)入指令和數(shù)據(jù)。之后,即可顯示漢字。3.2.412864液晶顯示動(dòng)態(tài)指標(biāo)及術(shù)語(yǔ)表二并行接口模塊說(shuō)明:管腳號(hào)管腳名稱(chēng)電平管腳功能描述1VSS0V電源地2VCC+5V電源正3V0-比照度〔亮度〕調(diào)整4RS(CS〕H/LRS=“H〞,表示DB7——DB0為顯示數(shù)據(jù)RS=“L〞,表示DB7——DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H〞,E=“H〞,數(shù)據(jù)被讀到DB7——DB0R/W=“L〞,E=“H→L〞,DB7——DB0的數(shù)據(jù)被寫(xiě)到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線(xiàn)8DB1H/L三態(tài)數(shù)據(jù)線(xiàn)9DB2H/L三態(tài)數(shù)據(jù)線(xiàn)10DB3H/L三態(tài)數(shù)據(jù)線(xiàn)11DB4H/L三態(tài)數(shù)據(jù)線(xiàn)12DB5H/L三態(tài)數(shù)據(jù)線(xiàn)13DB6H/L三態(tài)數(shù)據(jù)線(xiàn)14DB7H/L三態(tài)數(shù)據(jù)線(xiàn)15PSBH/LH:8位或4位并口方式,L:串口方式〔見(jiàn)注釋〕16NC-空腳17RESETH/L復(fù)位端18NC-LCD驅(qū)動(dòng)電壓輸出端19BLAVDD背光源正端〔+5V〕20BLKKVSS背光源負(fù)端*注釋?zhuān)喝缭趯?shí)際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC〞用焊錫短接。圖3.2.4(a)8位并行連接時(shí)序圖圖3.2.4〔b〕RS、RW功能設(shè)定示意圖4硬件設(shè)計(jì)4.1設(shè)計(jì)流程圖及設(shè)計(jì)思路晶振晶振變壓器ATMEGA8SWITCHMPMAX232PC機(jī)整流器7805JUMPJUMPLCD12864圖4.1硬件電路框圖本設(shè)計(jì)的設(shè)計(jì)流程如上圖所示,首先要設(shè)計(jì)出一個(gè)+5V的直流穩(wěn)壓電源為該電路提供+5V電壓。之后,通過(guò)一個(gè)RS232電平轉(zhuǎn)換電路來(lái)實(shí)現(xiàn)PC機(jī)電平到單片機(jī)電平的轉(zhuǎn)換。最后,通過(guò)對(duì)ATMEGA8編寫(xiě)程序來(lái)控制LCD12864模塊顯示漢字。其中,該單片機(jī)的時(shí)鐘信號(hào)是通過(guò)內(nèi)部振蕩方式獲得。4.2各模塊電路設(shè)計(jì)4.2.1電源電路圖4.2.1〔a〕直流穩(wěn)壓電路原理圖4.2.1〔b〕直流穩(wěn)壓電源電路圖本設(shè)計(jì)首先需要設(shè)計(jì)一個(gè)+5V的直流穩(wěn)壓電源。如上圖所示,220V電源經(jīng)過(guò)變壓器降壓后,又經(jīng)過(guò)整流器整流,再經(jīng)三端口穩(wěn)壓器7805穩(wěn)壓,產(chǎn)生+5V電壓,給整個(gè)電路提供5v的直流電壓。其中通過(guò)對(duì)焊接好的硬件用萬(wàn)用表進(jìn)展測(cè)試,測(cè)得從變壓器端經(jīng)變壓后的交流電壓為+9.36V,再經(jīng)整流橋電路整流得到方向不變、大小隨時(shí)間變化的脈動(dòng)電壓,再經(jīng)濾波電容C1濾去其交流分量,得到比較平滑的直流電壓。其中,C1的值取得大一些,有利于減小輸出端的波紋電壓。之后,經(jīng)三端口穩(wěn)壓器7805穩(wěn)壓后得到更加穩(wěn)定的直流電壓。最后,使用C2來(lái)防止發(fā)生意外跳變時(shí),電壓輸出產(chǎn)生大的跳變,以此提高電源抗瞬間脈沖沖擊干擾的能力。4.2.2LCD12864模塊控制電路圖4.2.2LCD控制模塊電路圖如上圖所示,采用ATMEGA8對(duì)LCD12864模塊進(jìn)展控制,其中,LCD12864模塊使用的是KXM12864,根據(jù)該型號(hào)液晶顯示器的特點(diǎn),設(shè)計(jì)如下。該液晶顯示器共有20個(gè)引腳,由3.2.4中的表二知,LCD12864第1引腳VSS應(yīng)接電源地;第2引腳接電源正VCC;第3引腳為比照度調(diào)整,在此可不接;第4、5、6引腳為控制信號(hào)直接接單片機(jī)的I/O口;從第7引腳到第14引腳為L(zhǎng)CD的三態(tài)數(shù)據(jù)線(xiàn),直接接單片機(jī)的I/O口;第15引腳為模式控制引腳,因?yàn)椴⑿卸丝趥魉蛿?shù)據(jù)較為快捷且簡(jiǎn)單易控,所以本設(shè)計(jì)是基于8位并行端口設(shè)計(jì),因此,直接接VCC高電平;第16引腳,懸空;第17引腳為復(fù)位端,接高電平VCC;第18引腳,不接;第19、20引腳分別為背光源正和背光源負(fù),因此,分別接電源正VCC和電源地。4.2.3RS232電平轉(zhuǎn)換電路圖4.2.3〔a〕RS232電平轉(zhuǎn)換電路MAX232芯片可將PC機(jī)的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換為+5v單電源電平。RS232電平為-10~+10V,單片機(jī)電平為T(mén)TL電平為0~5V。要實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的串行通信,必須通過(guò)MAX232進(jìn)展電平轉(zhuǎn)換,因?yàn)镻C機(jī)串口采用的是RS232電平,而單片機(jī)采用的卻是TTL電平,如果不進(jìn)展電平轉(zhuǎn)換,單片機(jī)跟PC機(jī)的串口就不能進(jìn)展直接通信。如上圖所示,從RS232端口輸出的信號(hào)經(jīng)過(guò)MAX232芯片進(jìn)展轉(zhuǎn)換,最后從T_I1和R_O1輸出信號(hào)進(jìn)過(guò)ADC3和ADC4模數(shù)轉(zhuǎn)換成+5V的TTL電平到達(dá)ATMEGA8芯片。MAX232的芯片圖及管腳圖如下所示:圖4.2.3〔b〕MAX232芯片圖及管腳圖4.2.4時(shí)鐘電路圖4.2.4時(shí)鐘電路圖該單片機(jī)時(shí)鐘信號(hào)是通過(guò)內(nèi)部振蕩方式獲得,在引腳XTAL1和XTAL2上外接一個(gè)8MHz的晶振,即可構(gòu)成內(nèi)部振蕩方式。當(dāng)外接一個(gè)8MHz的晶振后,就可以構(gòu)成自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。其中,電容C_JT1和電容C_JT2起著穩(wěn)定振蕩頻率、快速起振的作用。4.3硬件焊接與調(diào)試本設(shè)計(jì)中的重點(diǎn)是AVR單片機(jī)實(shí)驗(yàn)板的制作。其中,ATMEGA8的焊接是十分重要的。因?yàn)樵撔酒琴N片式芯片,而且引腳數(shù)目較多,且引腳間距很小,所以不很容易焊接。對(duì)于A(yíng)TMEGA8的焊接,必須使用尖頭烙鐵,且焊接溫度設(shè)定在270°C左右。焊接完成后,必須要檢測(cè)各引腳是否焊接正確、有無(wú)虛焊等。具體方法是,先使用放大鏡檢查引腳焊接有無(wú)虛焊、連焊,再用萬(wàn)用表的電阻檔檢查相鄰引腳是否短路。檢測(cè)方法為將量程開(kāi)關(guān)撥至電阻檔上,再將萬(wàn)用表的兩個(gè)表筆分別放在兩引腳上,如果短路,那么會(huì)發(fā)出蜂鳴的響聲,否那么,為不短路。最后,進(jìn)展通電檢查,使用PROGISP軟件對(duì)芯片進(jìn)展查空,如果結(jié)果為查空成功,那么說(shuō)明芯片焊接正常。最后,就是LCD12864模塊的焊接。該模塊一共有20個(gè)引腳,分別按照電路圖的連接逐個(gè)進(jìn)展焊接。設(shè)計(jì)中,我在焊接ATMEGA8芯片時(shí),將芯片的兩個(gè)引腳短路,但經(jīng)檢查后將多余的錫去除,最后芯片焊接正常。按照上面的電路圖,再逐一進(jìn)展焊接,之后,硬件焊接完成。最后一步是進(jìn)展硬件調(diào)試,我在調(diào)試中又發(fā)現(xiàn)了虛焊與短路的問(wèn)題,一是ATMEGA8相鄰兩個(gè)管腳連在了一起,后經(jīng)烙鐵撥離后正常;二是LCD的兩個(gè)引腳虛焊,致使LCD插電后不亮。最后找到對(duì)應(yīng)的引腳,重新焊接后正常。我認(rèn)為,在焊接過(guò)程中最容易出現(xiàn)虛焊和短路的現(xiàn)象,所以在焊接時(shí)需要認(rèn)真、細(xì)心。同時(shí),也要有技巧性的焊接。比方,對(duì)焊錫的使用,使用焊錫的多少要適當(dāng),太多容易短路,太少容易虛焊。為防止短路,還可以用烙鐵在焊接處涂抹適量的松香,以到達(dá)絕緣的目的。但是,建議在檢測(cè)沒(méi)有短路之后再涂抹松香,否那么,如果出現(xiàn)問(wèn)題,那么不容易修改。4.4方案擴(kuò)展方案擴(kuò)展系統(tǒng)框圖:圖4.4方案擴(kuò)展系統(tǒng)框圖此擴(kuò)展方案是在原來(lái)的設(shè)計(jì)的根基上參加按鍵模塊。通過(guò)把按鍵直接與單片機(jī)I/O口連接,可以使單片機(jī)根據(jù)檢測(cè)按下的不同的按鍵來(lái)顯示不同的效果。具體做法是,編寫(xiě)按鍵掃描程序,判斷哪個(gè)鍵按下,同時(shí),要編寫(xiě)按鍵消抖程序,以防錯(cuò)判。之后,編寫(xiě)程序根據(jù)按下的鍵來(lái)執(zhí)行相應(yīng)的特殊的顯示效果,如滾動(dòng)、閃爍等顯示效果。5軟件設(shè)計(jì)5.1LCD12864模塊初始化流程POWERON上電POWERON上電延時(shí)>37msRESETLOW→HIGHFUNCTIONSET功能設(shè)定控制字30HRSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011X0XX延時(shí)>100usFUNCTIONSET功能設(shè)定控制字30HRSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011X0XX延時(shí)>37usDISPLAYON/OFFCONTROL顯示開(kāi)/關(guān)控制字0FHRSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB延時(shí)>100usDISPLAYCLEAR去除屏幕控制字:01HRSDISPLAYCLEAR去除屏幕控制字:01HRSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001延時(shí)>10msENTRYMODELSET進(jìn)入模式設(shè)置控制字:06HRSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DSINITIALIZATIONEND初始化完畢5.2局部程序代碼5.2.1軟件延時(shí)延時(shí)程序是本設(shè)計(jì)中很重要的一局部,因?yàn)檠訒r(shí)時(shí)間的長(zhǎng)短不僅能決定該LCD模塊能否成功初始化,還決定了人眼能不能看到穩(wěn)定的顯示。在本設(shè)計(jì)中有兩個(gè)延時(shí)程序,以滿(mǎn)足不同延時(shí)時(shí)間的需要。而且,第二個(gè)延時(shí)程序的延時(shí)時(shí)間比第一個(gè)延時(shí)程序延時(shí)時(shí)間長(zhǎng)。voiddelay1(unsignedintt){unsignedintj;for(;t>0;t--)for(j=19;j>0;j--);}voiddelay2(unsignedintt){unsignedintj;for(;t>0;t--)for(j=6425;j>0;j--);}5.2.2端口輸出函數(shù)由于本設(shè)計(jì)中從ATMEGA8單片機(jī)中的I/O口輸出數(shù)據(jù)時(shí)沒(méi)有使用某個(gè)整體的I/O口,只是使用了其中某個(gè)I/O口的一局部。所以傳送地址數(shù)據(jù)時(shí),不能整體傳送,只能逐位傳送。而本設(shè)計(jì)中,又需屢次使用數(shù)據(jù)傳送。所以為了簡(jiǎn)便起見(jiàn),那么寫(xiě)了一個(gè)從I/O口輸出8位數(shù)據(jù)的write函數(shù),以供傳送數(shù)據(jù)使用。voidwrite(unsignedcharz){if((z&0x01)==0x01)PORTC|=0x08;//0000,1000PC3=1elsePORTC&=0xf7;//1111,0111PC3=0if((z&0x02)==0x02)PORTC|=0x10;//0001,0000PC4=1elsePORTC&=0xef;//1110,1111PC4=0if((z&0x04)==0x04)PORTC|=0x20;//0010,0000PC5=1elsePORTC&=0xdf;//1101,1111PC5=0if((z&0x08)==0x08)PORTB|=0x01;//0000,0001PB0=1elsePORTB&=0xfe;//1111,1110PB0=0if((z&0x10)==0x10)PORTB|=0x02;//0000,0010PB1=1elsePORTB&=0xfd;//1111,1101PB1=0if((z&0x20)==0x20)PORTB|=0x04;//0000,0100PB2=1elsePORTB&=0xfb;//1111,1011PB2=0if((z&0x40)==0x40)PORTB|=0x08;//0000,1000PB3=1elsePORTB&=0xf7;//1011,1111PB3=0if((z&0x80)==0x80)PORTB|=0x10;//0001,0000PB4=1elsePORTB&=0xef;//1110,1111PB4=0}5.2.3寫(xiě)數(shù)據(jù)函數(shù)由3.2.4中的8位并行時(shí)序圖及RS、RW功能設(shè)定示意圖知,RS為高電平時(shí),表示寫(xiě)數(shù)據(jù)。當(dāng)RW為低電平時(shí),表示MPU寫(xiě)資料到模塊。當(dāng)E為低電平時(shí),延時(shí)一會(huì)兒,向I/O口準(zhǔn)備數(shù)據(jù),到E為高電平時(shí),沒(méi)有變化。再當(dāng)E為高電平后,延時(shí)一會(huì)兒,令E為低電平,那么數(shù)據(jù)寫(xiě)入完全。最后使RW為高電平,RS為低電平,指令書(shū)寫(xiě)完成。voidwrite_12864dat(unsignedchara){PORTC|=0x01;//0000,0001rs=1PC0=1寫(xiě)數(shù)據(jù)PORTC&=0xfd;//1111,1101rw=0PC1=0PORTC&=0xfb;//1111,1011e=0PC2=0delay1(1);write(a);PORTC|=0x04;//0000,0100e=1PC2=1delay1(10);PORTC&=0xfb;//1111,1011e=0PC2=0delay1(2);PORTC|=0x02;//0000,0010rw=1PC1=1PORTC&=0xfe;//1111,1110rs=0PC0=0}5.2.4寫(xiě)指令函數(shù)由3.2.4中的8位并行時(shí)序圖及RS、RW功能設(shè)定示意圖知,RS為低電平時(shí),表示寫(xiě)指令。當(dāng)RW為低電平時(shí),表示MPU寫(xiě)資料到模塊。當(dāng)E為低電平時(shí),延時(shí)一會(huì)兒,向I/O口準(zhǔn)備數(shù)據(jù),到E為高電平時(shí),沒(méi)有變化。再當(dāng)E為高電平后,延時(shí)一會(huì)兒,令E為低電平,那么數(shù)據(jù)寫(xiě)入完全。最后使RW為高電平,RS為低電平,指令書(shū)寫(xiě)完成。voidwrite_12864com(unsignedcharb){PORTC&=0xfe;//1111,1110rs=0PC0=0寫(xiě)指令PORTC&=0xfd;//1111,1101rw=0PC1=0PORTC&=0xfb;//1111,1011e=0PC2=0delay1(1);write(b);PORTC|=0x04;//0000,0100e=1PC2=1delay1(10);PORTC&=0xfb;//1111,1011e=0PC2=0delay1(2);PORTC|=0x02;//0000,0010rw=1PC1=0PORTC&=0xfe;//1111,1110rs=0PC0=0}5.2.5初始化函數(shù)要使LCD12864模塊顯示漢字,必須對(duì)該模塊進(jìn)展初始化。由圖5.1初始化流程圖可知,先翻開(kāi)電源,等待大于40ms,再進(jìn)展復(fù)位操作。本設(shè)計(jì)是直接將復(fù)位端接高電平。之后寫(xiě)入控制字,進(jìn)展功能設(shè)定。接著延時(shí)等待,再進(jìn)展顯示開(kāi)關(guān)控制字設(shè)定,其中D=1、整體顯示ON,C=1、游標(biāo)ON,B=1、游標(biāo)位置ON。之后,進(jìn)展清屏設(shè)置。最后,進(jìn)展模式選擇設(shè)置,初始化過(guò)程完畢。voidinitinal(void){delay2(20);write_12864com(0x30);//寫(xiě)控制字30Hdelay1(4);write_12864com(0x30);//寫(xiě)控制字30Hdelay1(4);write_12864com(0x0f);//DCB均為一delay1(4);write_12864com(0x01);//清屏設(shè)置01Hdelay2(20);write_12864com(0x06);//模式設(shè)置06Hdelay1(10);}5.2.6顯示函數(shù)RAM在液晶中的地址為80H~9FH,地址指針自動(dòng)加一,將漢字地址送入寫(xiě)指令和寫(xiě)數(shù)據(jù)函數(shù),即可顯示漢字。本顯示函數(shù)功能是顯示一首古詩(shī)?鋤禾?。voiddisplay(void){write_12864com(0x80);//RAM區(qū)首地址,第一行首地址write_12864dat(0xb0);//“〞write_12864dat(0xa0);delay2(20);write_12864dat(0xb3);//“鋤〞write_12864dat(0xfa);delay2(20);write_12864dat(0xba);//“禾〞write_12864dat(0xcc);delay2(20);write_12864dat(0xc8);//“日〞write_12864dat(0xd5);delay2(20);write_12864dat(0xb5);//“當(dāng)〞write_12864dat(0xb1);delay2(20);write_12864dat(0xce);//“午〞write_12864dat(0xe7);delay2(20);write_12864dat(0x2c);//“,〞delay2(40);write_12864com(0x90);//第二行首地址write_12864dat(0xb0);//“〞write_12864dat(0xa0);delay2(20);write_12864dat(0xba);//“汗〞write_12864dat(0xba);delay2(20);write_12864dat(0xb5);//“滴〞write_12864dat(0xce);delay2(20);write_12864dat(0xba);//“禾〞write_12864dat(0xcc);delay2(30);write_12864dat(0xcf);//“下〞write_12864dat(0xc2);delay2(20);write_12864dat(0xcd);//“土〞write_12864dat(0xc1);delay2(20);write_12864dat(0x2e);//“。〞delay2(40);write_12864com(0x88);//第三行首地址write_12864dat(0xb0);//“〞write_12864dat(0xa0);delay2(20);write_12864dat(0xcb);//“誰(shuí)〞write_12864dat(0xad);delay2(20);write_12864dat(0xd6);//“知〞write_12864dat(0xaa);delay2(20);write_12864dat(0xc5);//“盤(pán)〞write_12864dat(0xcc);delay2(20);write_12864dat(0xd6);//“中〞write_12864dat(0xd0);delay2(20);write_12864dat(0xb2);//“餐〞write_12864dat(0xcd);delay2(20);write_12864dat(0x2c);//“,〞delay2(40);write_12864com(0x98);//第四行首地址write_12864dat(0xb0);//“〞write_12864dat(0xa0);delay2(20);write_12864dat(0xc1);//“粒〞write_12864dat(0xa3);delay2(20);write_12864dat(0xc1);//“粒〞write_12864dat(0xa3);delay2(20);write_12864dat(0xbd);//“皆〞write_12864dat(0xd4);delay2(20);write_12864dat(0xd0);//“辛〞write_12864dat(0xc1);delay2(20);write_12864dat(0xbf);//“苦〞write_12864dat(0xe0);delay2(20);write_12864dat(0x2e);//“。〞delay2(40);}5.3程序調(diào)試中的注意問(wèn)題1、數(shù)據(jù)類(lèi)型要正確,頭文件要包含iom8v.h和macros.h。2、延時(shí)函數(shù)的使用。在初始化及顯示函數(shù)中,延時(shí)時(shí)間要適當(dāng)長(zhǎng)些,以正常穩(wěn)定地顯示漢字。所以,在編寫(xiě)程序時(shí),我編寫(xiě)了兩個(gè)延時(shí)函數(shù),以供不同延時(shí)時(shí)間的需要。同時(shí),在進(jìn)展LCD顯示時(shí),我發(fā)現(xiàn)每個(gè)漢字顯示時(shí),同樣要較長(zhǎng)時(shí)間的延時(shí)間隔,以到達(dá)觀(guān)察清晰的效果。3、PORTB和PORTC均為輸出,所以應(yīng)將DDRX相應(yīng)位設(shè)為1,即翻開(kāi)PORTB和PORTC端口。4、邏輯運(yùn)算符號(hào)不能出錯(cuò),‘&’表示按位與的運(yùn)算,‘&&’表示和運(yùn)算。我在編寫(xiě)程序時(shí),將write函數(shù)中的‘&’寫(xiě)成了‘&&’,導(dǎo)致程序編譯時(shí)正確,但將程序?qū)懭胄酒瑫r(shí),LCD卻不能顯示漢字。5、值得提出的是,當(dāng)硬件焊接完成,程序編寫(xiě)完成后,將程序下載到單片機(jī)上時(shí),LCD并沒(méi)有出現(xiàn)預(yù)期的結(jié)果,即并沒(méi)有顯示漢字。這時(shí),當(dāng)初步檢查了程序和硬件焊接均無(wú)誤后,繼續(xù)下載程序,但仍然不顯示漢字。所以,就用了一個(gè)測(cè)試函數(shù)來(lái)測(cè)試該單片機(jī)是否焊接正確。該函數(shù)為:Voidtest(void){DDRB=0XFF;DDRC=0XFF;PORTC|=0x08;//0000,1000PC3=1//PORTC&=0xf7;//1111,0111PC3=0PORTC|=0x10;//0001,0000PC4=1//PORTC&=0xef;//1110,1111PC4=0PORTC|=0x20;//0010,0000PC5=1//PORTC&=0xdf;//1101,1111PC5=0PORTB|=0x01;//0000,0001PB0=1//PORTB&=0xfe;//1111,1110PB0=0PORTB|=0x02;//0000,0010PB1=1//PORTB&=0xfd;//1111,1101PB1=0PORTB|=0x04;//0000,0100PB2=1//PORTB&=0xfb;//1111,1011PB2=0PORTB|=0x08;//0000,1000PB3=1//PORTB&=0xf7;//1011,1111PB3=0PORTB|=0x10;//0001,0000PB4=1//PORTB&=0xef;//1110,1111PB4=0}執(zhí)行該函數(shù)后,用萬(wàn)用表分別測(cè)試ATMEGA8的PC3、PC4、PC5、PB0、PB1、PB2、PB3、PB4是否均為高電平;之后再修改上述函數(shù)將相應(yīng)端口的位置為0,再用萬(wàn)用表分別測(cè)試ATMEGA8的PC3、PC4、PC5、PB0、PB1、PB2、PB3、PB4是否均為低電平。通過(guò)測(cè)試,發(fā)現(xiàn)將ATMEGA8的第23引腳和第24引腳相連了,經(jīng)過(guò)撥離后,執(zhí)行該函數(shù),并進(jìn)展硬件檢測(cè),得出結(jié)果ATMEGA8焊接最終正常。再次進(jìn)展下載程序,但LCD仍然沒(méi)有顯示漢字。之后,又進(jìn)展了對(duì)RS,RW,E引腳的檢測(cè)。檢測(cè)函數(shù)為:Voidtest2(void){DDRB=0XFF;DDRC=0XFF;PORTC|=0x01;//0000,0001rs=1PC0=1PORTC&=0xfd;//1111,1101rw=0PC1=0PORTC&=0xfb;//1111,1011e=0PC2=0PORTC&=0xfe;//1111,1110rs=0PC0=0PORTC|=0x02;//0000,0010rw=1PC1=0PORTC|=0x04;//0000,0100e=1PC2=1}檢測(cè)方法同上,檢測(cè)結(jié)果為焊接正確。鑒于以上檢測(cè),那么對(duì)initial函數(shù)進(jìn)展檢測(cè)。由于initial函數(shù)中先執(zhí)行延時(shí)函數(shù),之后執(zhí)行了write_12864com函數(shù),那么進(jìn)入write_12864com函數(shù)檢測(cè),而該函數(shù)在執(zhí)行了RS=0,RW=0和E=0后,又執(zhí)行了延時(shí)函數(shù),上面已檢測(cè)過(guò)RS、RW、E均無(wú)焊接錯(cuò)誤,且延時(shí)函數(shù)無(wú)誤,接著,執(zhí)行write函數(shù)。于是進(jìn)展write函數(shù)檢測(cè),檢測(cè)函數(shù)為:Voidtest3(void){DDRB=0XFF;DDRC=0XFF;Write_12864com(0x30);}voidwrite_12864com(unsignedcharb){PORTC&=0xfe;//1111,1110rs=0PC0=0PORTC&=0xfd;//1111,1101rw=0PC1=0PORTC&=0xfb;//1111,1011e=0PC2=0delay1(1);/*PORTC|=0x04;//0000,0100e=1PC2=1delay1(10);PORTC&=0xfb;//1111,1011e=0PC2=0delay1(2);PORTC|=0x02;//0000,0010rw=1PC1=0PORTC&=0xfe;//1111,1110rs=0PC0=0*/}如果上述函數(shù)正確執(zhí)行,那么使用萬(wàn)用表測(cè)得的結(jié)果應(yīng)為:PC0=0、PC1=0、PC2=0、PC3=0、PC4=0、PC5=0、PB0=0、PB1=1、PB2=1、PB3=0、PB4=0。然而,發(fā)現(xiàn)測(cè)得的結(jié)果與預(yù)期結(jié)果不同,所以發(fā)現(xiàn)了問(wèn)題。經(jīng)仔細(xì)檢查程序,發(fā)現(xiàn)將write函數(shù)中的‘&’寫(xiě)成了‘&&’,導(dǎo)致程序編譯時(shí)正確,但將程序?qū)懭胄酒瑫r(shí),LCD卻不能顯示漢字。經(jīng)過(guò)改正后,重新向ATMEGA8中下載程序,結(jié)果LCD顯示出漢字,程序調(diào)試成功。6實(shí)物與實(shí)測(cè)效果展示6.1實(shí)物展示圖6.1(a)硬件實(shí)物圖圖6.1〔b〕AVR開(kāi)發(fā)板實(shí)物圖6.2實(shí)測(cè)效果展示圖6.2顯示漢字結(jié)論本設(shè)計(jì)主要是設(shè)計(jì)一個(gè)微處理器控制的點(diǎn)陣式液晶顯示器的控制電路。所以,經(jīng)過(guò)認(rèn)真分析和結(jié)合以前所學(xué)知識(shí),我采用ATMEGA8作為MPU來(lái)控制KXM12864模塊顯示漢字。在本次設(shè)計(jì)中,經(jīng)過(guò)屢次調(diào)試與檢錯(cuò),最終實(shí)現(xiàn)了顯示漢字的功能。本設(shè)計(jì)要實(shí)現(xiàn)的功能并不復(fù)雜。簡(jiǎn)而言之,就是使用一個(gè)單片機(jī)來(lái)控制LCD液晶模塊顯示漢字。然而,我認(rèn)為本設(shè)計(jì)較為復(fù)雜之處就是硬件電路的焊接。其中最重要的就是ATMEGA8芯片的焊接,由于該芯片是貼片式的,以前接觸較少,所以焊接時(shí)發(fā)生了短路及虛焊等錯(cuò)誤。其次就是LCD模塊的20個(gè)引腳的焊接,由于這些引腳相鄰間隔小,導(dǎo)致焊接出現(xiàn)短路情況。然而,經(jīng)過(guò)改正,焊接正常。之后,就是AVR開(kāi)發(fā)板的其它電路元件的焊接,由于之前做過(guò)焊接的實(shí)驗(yàn),所以,這局部焊接較熟練。最后,就是軟件設(shè)計(jì),該局部采用C語(yǔ)言設(shè)計(jì),由于實(shí)現(xiàn)功能較為簡(jiǎn)單,因此,設(shè)計(jì)時(shí)也較易完成。客觀(guān)地說(shuō),本設(shè)計(jì)較為容易,雖然實(shí)現(xiàn)了最基本的顯示漢字的功能,但并沒(méi)有更多的展示出單片機(jī)對(duì)LCD模塊控制的效果。這樣,本設(shè)計(jì)給人的感覺(jué)較為單一,不能豐富多彩的展示單片機(jī)對(duì)LCD模塊控制的優(yōu)勢(shì)。所以,為了更多地展示出單片機(jī)的強(qiáng)大功能,可以給單片機(jī)增加輸入設(shè)備如按鍵等,增加文字和字符的顯示效果,如滾動(dòng)、閃爍等。這樣可以根據(jù)按鍵按下的鍵來(lái)顯示相應(yīng)的效果。同時(shí),還需要編寫(xiě)相應(yīng)的程序來(lái)實(shí)現(xiàn)這些效果。感言當(dāng)我的硬件焊接完成,同時(shí)軟件調(diào)試成功,當(dāng)將程序下載到單片機(jī)上,LCD模塊顯示出漢字時(shí),我覺(jué)得很有成就感。因?yàn)?,終于憑借著自己的努力,我完成了本次畢業(yè)設(shè)計(jì)的實(shí)物制作局部。雖然,這個(gè)過(guò)程中出現(xiàn)了這樣或那樣的問(wèn)題,但是經(jīng)過(guò)認(rèn)真分析和改正都順利地解決了。畢業(yè)設(shè)計(jì)接近尾聲,我感觸很多。回想當(dāng)初,當(dāng)剛看到畢業(yè)設(shè)計(jì)題目時(shí),我有一些迷茫,不知從何處開(kāi)場(chǎng)做起。但是,當(dāng)詢(xún)問(wèn)了指導(dǎo)教師后,我對(duì)該題目有了初步的認(rèn)識(shí)。之后,就結(jié)合以前所學(xué)知識(shí),對(duì)該設(shè)計(jì)進(jìn)展認(rèn)真分析。最后確定使用ATMEGA8單片機(jī)作為微控制器來(lái)控制KXM12864模塊顯示漢字來(lái)詮釋本課題。當(dāng)我真正開(kāi)場(chǎng)硬件設(shè)計(jì)圖的設(shè)計(jì)時(shí),發(fā)現(xiàn)我對(duì)Protel99se軟件的使用已經(jīng)生疏。所以,我又重新查看了有關(guān)該軟件使用的資料。之后,發(fā)現(xiàn)本設(shè)計(jì)就是對(duì)各科知識(shí)的綜合應(yīng)用,其中主要使用了模擬電子技術(shù)和單片機(jī)原理方面的知識(shí)。當(dāng)電路圖設(shè)計(jì)出之后,就是對(duì)電路板的焊接。雖然,在以前的課程中都做過(guò)焊接的實(shí)驗(yàn),但是由于動(dòng)手能力不強(qiáng),對(duì)于硬件焊接,仍然比較困難。但在教師的幫助下,我最終完成了硬件的焊接工作。接著就是編寫(xiě)程序,由于要實(shí)現(xiàn)的功能較為簡(jiǎn)單,所以,這一局部很快就完成了。但是當(dāng)我將程序下載到單片機(jī)時(shí),那么沒(méi)有出現(xiàn)預(yù)期的結(jié)果。所以就開(kāi)場(chǎng)對(duì)硬件和軟件進(jìn)展調(diào)試,最終發(fā)現(xiàn)設(shè)計(jì)的硬件和軟件方面均存在問(wèn)題。改正后,那么出現(xiàn)了正確的結(jié)果。因此,我認(rèn)為,其實(shí)按部就班地做設(shè)計(jì)并不困難,困難的是當(dāng)沒(méi)有出現(xiàn)預(yù)期結(jié)果時(shí)怎樣找到用來(lái)發(fā)現(xiàn)問(wèn)題、分析問(wèn)題和解決問(wèn)題的方法。比方,在程序編寫(xiě)中測(cè)試函數(shù)的編寫(xiě)和測(cè)試,這就是我用來(lái)發(fā)現(xiàn)問(wèn)題的方法。經(jīng)過(guò)本設(shè)計(jì),我更加明白了發(fā)現(xiàn)問(wèn)題、分析問(wèn)題和解決問(wèn)題重要性。同時(shí),經(jīng)過(guò)本設(shè)計(jì),提高了我的動(dòng)手能力和編程能力,使我對(duì)軟件和硬件的結(jié)合有了更進(jìn)一步的理解。還有,這次畢業(yè)設(shè)計(jì),鍛煉了我的耐心,使我明白了當(dāng)設(shè)計(jì)沒(méi)有到達(dá)預(yù)期結(jié)果時(shí),應(yīng)該沉著、冷靜地檢查、分析、調(diào)試,不能急躁。只有這樣,才能最快速地發(fā)現(xiàn)和解決問(wèn)題、完成設(shè)計(jì)。所以,綜上所述,我從本次畢業(yè)設(shè)計(jì)中受益匪淺。致謝畢業(yè)設(shè)計(jì)完成了,我感觸很多。首先,感謝我的畢業(yè)設(shè)計(jì)的指導(dǎo)教師的指導(dǎo)。在本次設(shè)計(jì)中,指導(dǎo)教師給予了我很大的幫助。從硬件的焊接到軟件的調(diào)試。首先,是AVR單片機(jī)開(kāi)發(fā)板的焊接,在該開(kāi)發(fā)板設(shè)計(jì)過(guò)程中,教師給予我們很多指導(dǎo)。從芯片的選擇到具體的電路的設(shè)計(jì),還有開(kāi)發(fā)板的元件和電路布局等,教師都給予了我們很多建議。同時(shí),我也感謝我的同學(xué),在本次設(shè)計(jì)中,由于我和幾位同學(xué)使用的單片機(jī)一樣,所以在單片機(jī)開(kāi)發(fā)板上有些不懂的問(wèn)題,我就問(wèn)同學(xué),他們都認(rèn)真給我解答。當(dāng)然,對(duì)于本次畢業(yè)設(shè)計(jì)的順利完成,我還要感謝我親愛(ài)的母校,感謝學(xué)校能給我們提供做設(shè)計(jì)的實(shí)驗(yàn)室,能讓我們更好地完成設(shè)計(jì)。要想完成一個(gè)畢業(yè)設(shè)計(jì),需要大學(xué)四年的知識(shí)的綜合應(yīng)用。比方,本次畢業(yè)設(shè)計(jì)用到了模擬電子技術(shù)、數(shù)字電子技術(shù)、電路分析、單片機(jī)原理、C語(yǔ)言程序設(shè)計(jì)、Protel軟件的使用等方面的專(zhuān)業(yè)知識(shí)。這些知識(shí)的獲得都來(lái)源于我的這些專(zhuān)業(yè)課程的教師們。所以,我很感謝我親愛(ài)的教師們對(duì)我們的辛勤的培養(yǎng)。正是因?yàn)橛辛私處焸兊男燎谂囵B(yǎng),才有了我現(xiàn)在所掌握的專(zhuān)業(yè)知識(shí),才可以使我能夠順利完成本次畢業(yè)設(shè)計(jì)。不僅如此,教師們?cè)诮虝?huì)我們知識(shí)的同時(shí),還以身作那么地教會(huì)了我們對(duì)待學(xué)問(wèn)的態(tài)度。教師們的言傳身教使我們懂得了更多的學(xué)習(xí)和做人方面的道理。這些不僅催促著我在以后的學(xué)習(xí)中,更加努力地學(xué)習(xí)專(zhuān)業(yè)知識(shí),還成為了我以后人生道路上的指路明燈,指引著我將來(lái)能更好、更穩(wěn)地前行。所以,在此,我想我親愛(ài)的教師們表達(dá)我深深的敬意。參考文獻(xiàn)[1]肖看,李群芳.單片機(jī)原理、接口及應(yīng)用[M].北京:清華大學(xué)出版社,2010.9.[2]沈文,Eaglelee,詹衛(wèi)前.AVR單片機(jī)C語(yǔ)言開(kāi)發(fā)入門(mén)指導(dǎo)[M].北京:清華大學(xué)出版社,2003.[3]童詩(shī)白,華成英.模擬電子技術(shù)根基[M].北京:高等教育出版社,2006.5.[4]楊志毅.直流穩(wěn)壓電源中電容器的作用[J].河南科技,1988年11期.[5]王聰敏,李少娟等.直流穩(wěn)壓電源的設(shè)計(jì)[J].西安郵電學(xué)院學(xué)報(bào),2011年11月.[6]李維諟,郭強(qiáng),周云仙.液晶顯示應(yīng)用手冊(cè)[M].北京:電子工業(yè)出版社,2002.[7]谷樹(shù)忠,閆勝利.Protel2004實(shí)用教程:原理圖與PCB設(shè)計(jì)[M].北京:電子工業(yè)出版社,2005.[8]郭強(qiáng).點(diǎn)陣式液晶顯示器[J].電子技術(shù)應(yīng)用,1989年12期.[9]李長(zhǎng)林.AVR單片機(jī)應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2005.9.[10]金鐘夫.AVRATmega128單片機(jī)C程序設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.[11]丁化成.AVR單片機(jī)應(yīng)用設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2002.5.[12]劉永智,楊開(kāi)愚等.液晶顯示技術(shù)[M].成都:電子科技大學(xué)出版社,2000.[13]周明德.微機(jī)原理和應(yīng)用計(jì)算機(jī)系統(tǒng)[M].北京:清華大學(xué)出版社,2007.附錄A硬件原理圖〔基于protel99se〕附錄B程序代碼#include<iom8v.h>#include<macros.h>voiddelay1(unsignedintt){unsignedintj;for(;t>0;t--)for(j=19;j>0;j--);}voiddelay2(unsignedintt){unsignedintj;for(;t>0;t--)for(j=6425;j>0;j--);}voidwrite(unsignedcharz){if((z&0x01)==0x01)PORTC|=0x08;//0000,1000elsePORTC&=0xf7;//1111,0111if((z&0x02)==0x02)PORTC|=0x10;elsePORTC&=0xef;//1110,1111if((z&0x04)==0x04)PORTC|=0x20;//0010,0000elsePORTC&=0xdf;//1101,1111if((z&0x08)==0x08)PORTB|=0x01;elsePORTB&=0xfe;//1111,1110if((z&0x10)==0x10)PORTB|=0x02;//0000,0010elsePORTB&=0xfd;//1111,1101,if((z&0x20)==0x20)PORTB|=0x04;elsePORTB&=0xfb;//1111,1011,if((z&0x40)==0x40)PORTB|=0x08;//,0100,0000elsePORTB&=0xf7;//1011,1111,if((z&0x80)==0x80)PORTB|=0x10;elsePORTB&=0xef;//1110,1111,}voidwrite_12864dat(unsignedchara){PORTC|=0x01;//0000,0001,rs=1PORTC&=0xfd;//1111,1101,rw=0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 知識(shí)產(chǎn)權(quán)和保密合同協(xié)議書(shū)
- 多維遙感技術(shù)應(yīng)用合作協(xié)議
- 企業(yè)文化與品牌形象塑造合同
- 物流公司聘用駕駛員勞動(dòng)合同
- 雙方協(xié)商培育樹(shù)苗合同書(shū)
- 挖機(jī)買(mǎi)賣(mài)合同書(shū)樣本
- 場(chǎng)食品安全協(xié)議書(shū)
- 招投標(biāo)合作代理協(xié)議
- 資源租賃合同
- 汽車(chē)租賃行業(yè)車(chē)輛使用期間損失免責(zé)協(xié)議
- 2025年度劇本殺劇本版權(quán)授權(quán)與收益分成合同
- 2025年春季學(xué)期學(xué)校工作計(jì)劃及安排表
- 2025年一種板式過(guò)濾膜裝置項(xiàng)目投資可行性研究分析報(bào)告
- BMS基礎(chǔ)知識(shí)培訓(xùn)
- 水刀除銹施工方案
- 質(zhì)保管理制度
- 醫(yī)院培訓(xùn)課件:《靜脈采血法并發(fā)癥的預(yù)防及處理》
- 2024新版《藥品管理法》培訓(xùn)課件
- 浙江省杭州市2024年中考英語(yǔ)真題(含答案)
- 《陸上風(fēng)電場(chǎng)工程設(shè)計(jì)概算編制規(guī)定及費(fèi)用標(biāo)準(zhǔn)》(NB-T 31011-2019)
- 2024初中數(shù)學(xué)課程標(biāo)準(zhǔn)測(cè)試題(含答案)精華版
評(píng)論
0/150
提交評(píng)論