版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
...wd......wd......wd...單片機(jī)控制的LCD漢字顯示電路設(shè)計(jì)摘要近年來,隨著電子行業(yè)的開展,單片機(jī)的應(yīng)用越來越廣泛,基于單片機(jī)的電子電路的設(shè)計(jì)也越來越多。所以,單片機(jī)在電子教學(xué)中越來越普遍。本設(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ī)開發(fā)板,基于此開發(fā)板設(shè)計(jì)出LCD模塊顯示電路。之后,編寫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簡介及開展 11.4AVR單片機(jī) 22方案論證 22.1方案一 22.2方案二 32.3方案三 33主要模塊簡介 33.1ATMEGA8簡介 33.2LCD12864模塊簡介 43.2.1KXM12864主要技術(shù)參數(shù)和性能 43.2.2KXM12864外形尺寸圖 53.2.3KXM12864液晶顯示指令系統(tǒng) 63.2.412864液晶顯示動(dòng)態(tài)指標(biāo)及術(shù)語 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寫數(shù)據(jù)函數(shù) 185.2.4寫指令函數(shù) 195.2.5初始化函數(shù) 205.2.6顯示函數(shù) 205.3程序調(diào)試中的注意問題 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ì)以來,電子行業(yè)發(fā)生著翻天覆地的變化。電子行業(yè)的開展推動(dòng)著社會(huì)的開展,因此,世界各國也大力開展電子行業(yè)。其中,在電子行業(yè)中,顯示器產(chǎn)業(yè)是其中尤為重要的產(chǎn)業(yè)之一。然而,在顯示器產(chǎn)業(yè)中,LCD技術(shù)是最重要的技術(shù)之一。眾所周知,單片機(jī)像是電子行業(yè)中發(fā)揮著巨大作用的精靈。它的能耗小、價(jià)格低廉,在簡單的電子實(shí)驗(yàn)方面的應(yīng)用非常廣泛,在教育教學(xué)中深受廣闊電子教育工作者的喜愛。1.1課題背景在電子行業(yè)中,LCD已被公認(rèn)為是媒體時(shí)代的關(guān)鍵器件,它的低功耗、體積小、易于實(shí)現(xiàn)畫面顯示及優(yōu)良的全色顯示性能等特點(diǎn),使其在現(xiàn)代社會(huì)中得到了廣泛的應(yīng)用??梢哉f,LCD是本世紀(jì)初最有活力的電子產(chǎn)品之一。與此同時(shí),單片機(jī)的應(yīng)用領(lǐng)域也非常廣泛,大到導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,小到廣泛使用的智能IC卡,比方學(xué)校中使用的校園一卡通等,這些都離不開單片機(jī)。因此,通過使用單片機(jī)可以使我們完成很多令我們意想不到的事情。所以,本著理論與實(shí)踐相結(jié)合的原那么,本設(shè)計(jì)以單片機(jī)為核心控制器件控制LCD顯示模塊,通過硬件和軟件的共同配合實(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簡介及開展液晶顯示器是一種采用了液晶控制透光度技術(shù)來實(shí)現(xiàn)色彩的顯示器。眾所周知,即使長時(shí)間觀看LCD顯示屏幕也不會(huì)對(duì)眼睛造成傷害,這主要是因?yàn)長CD顯示器沒有輻射,畫面圖像很穩(wěn)定。LCD可分為段位式LCD、字符式LCD和點(diǎn)陣式LCD。其中,段位式LCD和字符式LCD只能用于字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求;而點(diǎn)陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實(shí)現(xiàn)屏幕上下左右滾動(dòng)、動(dòng)畫、分區(qū)開窗口、反轉(zhuǎn)、閃爍等功能,用途十分廣泛。奧地利植物學(xué)家F·Reinetzer在一百多年前發(fā)現(xiàn)了液晶。然而,到20世紀(jì)60年代,液晶才逐漸被人類關(guān)注。1961年,F(xiàn)·Heimeier發(fā)現(xiàn)了液晶的動(dòng)態(tài)散射相變等一系列的液晶電光效應(yīng)。由此,美國RCA公司成功研制了一系列數(shù)字、字符的顯示器件以及液晶顯示的鐘表、駕駛臺(tái)顯示器等實(shí)用產(chǎn)品。1968年,日本當(dāng)時(shí)正在興起開發(fā)電子產(chǎn)品的產(chǎn)業(yè),將大規(guī)模集成電路與液晶相結(jié)合,開發(fā)了一系列電子產(chǎn)品。從此,日本電子產(chǎn)業(yè)蓬勃開展,這也是日本微電子產(chǎn)業(yè)聞名世界的起因?,F(xiàn)代液晶顯示模塊具有低電壓、微功耗、易彩色化、被動(dòng)顯示等特點(diǎn),是主流的顯示技術(shù)之一。1.4AVR單片機(jī)1997年,ATMEL發(fā)揮自己的技術(shù)特長,研發(fā)出了全新配置,采用精簡指令集的新型單片機(jī),即AVR單片機(jī)。其中,ATMEGA8是ATMEL公司在2002年第一季度推出的一款新型高檔單片機(jī)。與MCS-51單片機(jī)不同的是,AVR單片機(jī)采用Harvard構(gòu)造,在前一條指令執(zhí)行的時(shí)候就取出下一條指令,而且它的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是分開組織和尋址的。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í)過,對(duì)該型號(hào)單片機(jī)的構(gòu)造和如何控制都比較熟悉。本次課題設(shè)計(jì)需要+5V電源為單片機(jī)及液晶顯示器提供電壓,所以,需要設(shè)計(jì)一個(gè)直流穩(wěn)壓電源來提供所需的+5V電壓。結(jié)合模擬電子技術(shù)根基所學(xué)知識(shí),我了解到,直流穩(wěn)壓電源又分為線性穩(wěn)壓電源和開關(guān)型穩(wěn)壓電源。然而,對(duì)于穩(wěn)定性要求不高的電子電路,整流、濾波后的直流電壓即可以作為供電電壓。而且我們?cè)谀M電子技術(shù)中學(xué)習(xí)過整流、濾波電路的理論知識(shí),還曾做過一個(gè)基于整流、濾波電路的直流穩(wěn)壓電源的實(shí)物,所以電源電路設(shè)計(jì)擬采用三端口穩(wěn)壓器7805及整流橋電路來搭建電路以獲得+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í)過MCS-51系列的單片機(jī),有了單片機(jī)的使用的根基,就應(yīng)該舉一反三,所以,我決定挑戰(zhàn)性地使用AVR單片機(jī)來完成本次畢業(yè)設(shè)計(jì)。ATmega8L單片機(jī)我曾在以前的開放性試驗(yàn)中接觸過,了解到該型號(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),方案二無論是在實(shí)現(xiàn)的難易程度,還是在性能的優(yōu)越程度上都比方案一更佳。2.3方案三經(jīng)過查閱有關(guān)點(diǎn)陣式液晶顯示器的資料,我發(fā)現(xiàn)了另一類型的點(diǎn)陣式液晶顯示器即LCD12864模塊,該模塊自帶中文字庫,如果使用該模塊來完成本次設(shè)計(jì)將會(huì)更易控制,也會(huì)使程序更加精簡。當(dāng)LCD工作在并行工作狀態(tài)時(shí),LCD1602會(huì)占用了CPU的很多引腳,這會(huì)降低系統(tǒng)的性價(jià)比。而LCD12864模塊不同,它僅使用幾根數(shù)據(jù)線,就可以完成數(shù)據(jù)的通信。所以,我決定采用LCD12864模塊即KXM12864作為本設(shè)計(jì)的顯示設(shè)備。3主要模塊簡介3.1ATMEGA8簡介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與A/D轉(zhuǎn)換器的電源,不用ADC時(shí),應(yīng)將其接VCC。AREF為模擬基準(zhǔn)輸入復(fù)用引腳,不使用,那么懸空。表一ATmega8的端口引腳配置DDRXnPORTXnPUD(SFIOR中)I/O上拉電阻說明00X輸入關(guān)閉高阻態(tài)010輸入翻開被外部電路拉低時(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模塊簡介3.2.1KXM12864主要技術(shù)參數(shù)和性能本設(shè)計(jì)采用帶中文字庫的圖形點(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)。它含有國標(biāo)一級(jí)、二級(jí)簡體中文字庫。內(nèi)部有8192個(gè)漢字,所以,常用的漢字在該字庫中均能找到。它還含有16*8個(gè)ASCII碼字符。其電源電壓寬為+3.0~+6.5V,即工作電壓在此范圍之間。工作溫度為-20℃~+70℃,當(dāng)超過其工作溫度,液晶模塊那么會(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)開關(guān)控制字為0FH,去除屏幕控制字為01H,模式設(shè)置控制字為06H。當(dāng)MCU向該模塊寫資料時(shí),應(yīng)當(dāng)使RS=1,RW=0。這樣,就可以向該模塊寫入指令和數(shù)據(jù)。之后,即可顯示漢字。3.2.412864液晶顯示動(dòng)態(tài)指標(biāo)及術(shù)語表二并行接口模塊說明:管腳號(hào)管腳名稱電平管腳功能描述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ù)被寫到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式〔見注釋〕16NC-空腳17RESETH/L復(fù)位端18NC-LCD驅(qū)動(dòng)電壓輸出端19BLAVDD背光源正端〔+5V〕20BLKKVSS背光源負(fù)端*注釋:如在實(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電壓。之后,通過一個(gè)RS232電平轉(zhuǎn)換電路來實(shí)現(xiàn)PC機(jī)電平到單片機(jī)電平的轉(zhuǎn)換。最后,通過對(duì)ATMEGA8編寫程序來控制LCD12864模塊顯示漢字。其中,該單片機(jī)的時(shí)鐘信號(hào)是通過內(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)過變壓器降壓后,又經(jīng)過整流器整流,再經(jīng)三端口穩(wěn)壓器7805穩(wěn)壓,產(chǎn)生+5V電壓,給整個(gè)電路提供5v的直流電壓。其中通過對(duì)焊接好的硬件用萬用表進(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來防止發(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引腳為LCD的三態(tài)數(shù)據(jù)線,直接接單片機(jī)的I/O口;第15引腳為模式控制引腳,因?yàn)椴⑿卸丝趥魉蛿?shù)據(jù)較為快捷且簡單易控,所以本設(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ī)電平為TTL電平為0~5V。要實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的串行通信,必須通過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)過MAX232芯片進(jìn)展轉(zhuǎn)換,最后從T_I1和R_O1輸出信號(hào)進(jìn)過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)是通過內(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ì)于ATMEGA8的焊接,必須使用尖頭烙鐵,且焊接溫度設(shè)定在270°C左右。焊接完成后,必須要檢測(cè)各引腳是否焊接正確、有無虛焊等。具體方法是,先使用放大鏡檢查引腳焊接有無虛焊、連焊,再用萬用表的電阻檔檢查相鄰引腳是否短路。檢測(cè)方法為將量程開關(guān)撥至電阻檔上,再將萬用表的兩個(gè)表筆分別放在兩引腳上,如果短路,那么會(huì)發(fā)出蜂鳴的響聲,否那么,為不短路。最后,進(jìn)展通電檢查,使用PROGISP軟件對(duì)芯片進(jìn)展查空,如果結(jié)果為查空成功,那么說明芯片焊接正常。最后,就是LCD12864模塊的焊接。該模塊一共有20個(gè)引腳,分別按照電路圖的連接逐個(gè)進(jìn)展焊接。設(shè)計(jì)中,我在焊接ATMEGA8芯片時(shí),將芯片的兩個(gè)引腳短路,但經(jīng)檢查后將多余的錫去除,最后芯片焊接正常。按照上面的電路圖,再逐一進(jìn)展焊接,之后,硬件焊接完成。最后一步是進(jìn)展硬件調(diào)試,我在調(diào)試中又發(fā)現(xiàn)了虛焊與短路的問題,一是ATMEGA8相鄰兩個(gè)管腳連在了一起,后經(jīng)烙鐵撥離后正常;二是LCD的兩個(gè)引腳虛焊,致使LCD插電后不亮。最后找到對(duì)應(yīng)的引腳,重新焊接后正常。我認(rèn)為,在焊接過程中最容易出現(xiàn)虛焊和短路的現(xiàn)象,所以在焊接時(shí)需要認(rèn)真、細(xì)心。同時(shí),也要有技巧性的焊接。比方,對(duì)焊錫的使用,使用焊錫的多少要適當(dāng),太多容易短路,太少容易虛焊。為防止短路,還可以用烙鐵在焊接處涂抹適量的松香,以到達(dá)絕緣的目的。但是,建議在檢測(cè)沒有短路之后再涂抹松香,否那么,如果出現(xiàn)問題,那么不容易修改。4.4方案擴(kuò)展方案擴(kuò)展系統(tǒng)框圖:圖4.4方案擴(kuò)展系統(tǒng)框圖此擴(kuò)展方案是在原來的設(shè)計(jì)的根基上參加按鍵模塊。通過把按鍵直接與單片機(jī)I/O口連接,可以使單片機(jī)根據(jù)檢測(cè)按下的不同的按鍵來顯示不同的效果。具體做法是,編寫按鍵掃描程序,判斷哪個(gè)鍵按下,同時(shí),要編寫按鍵消抖程序,以防錯(cuò)判。之后,編寫程序根據(jù)按下的鍵來執(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顯示開/關(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í)間的長短不僅能決定該LCD模塊能否成功初始化,還決定了人眼能不能看到穩(wěn)定的顯示。在本設(shè)計(jì)中有兩個(gè)延時(shí)程序,以滿足不同延時(shí)時(shí)間的需要。而且,第二個(gè)延時(shí)程序的延時(shí)時(shí)間比第一個(gè)延時(shí)程序延時(shí)時(shí)間長。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í)沒有使用某個(gè)整體的I/O口,只是使用了其中某個(gè)I/O口的一局部。所以傳送地址數(shù)據(jù)時(shí),不能整體傳送,只能逐位傳送。而本設(shè)計(jì)中,又需屢次使用數(shù)據(jù)傳送。所以為了簡便起見,那么寫了一個(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寫數(shù)據(jù)函數(shù)由3.2.4中的8位并行時(shí)序圖及RS、RW功能設(shè)定示意圖知,RS為高電平時(shí),表示寫數(shù)據(jù)。當(dāng)RW為低電平時(shí),表示MPU寫資料到模塊。當(dāng)E為低電平時(shí),延時(shí)一會(huì)兒,向I/O口準(zhǔn)備數(shù)據(jù),到E為高電平時(shí),沒有變化。再當(dāng)E為高電平后,延時(shí)一會(huì)兒,令E為低電平,那么數(shù)據(jù)寫入完全。最后使RW為高電平,RS為低電平,指令書寫完成。voidwrite_12864dat(unsignedchara){PORTC|=0x01;//0000,0001rs=1PC0=1寫數(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寫指令函數(shù)由3.2.4中的8位并行時(shí)序圖及RS、RW功能設(shè)定示意圖知,RS為低電平時(shí),表示寫指令。當(dāng)RW為低電平時(shí),表示MPU寫資料到模塊。當(dāng)E為低電平時(shí),延時(shí)一會(huì)兒,向I/O口準(zhǔn)備數(shù)據(jù),到E為高電平時(shí),沒有變化。再當(dāng)E為高電平后,延時(shí)一會(huì)兒,令E為低電平,那么數(shù)據(jù)寫入完全。最后使RW為高電平,RS為低電平,指令書寫完成。voidwrite_12864com(unsignedcharb){PORTC&=0xfe;//1111,1110rs=0PC0=0寫指令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初始化流程圖可知,先翻開電源,等待大于40ms,再進(jìn)展復(fù)位操作。本設(shè)計(jì)是直接將復(fù)位端接高電平。之后寫入控制字,進(jìn)展功能設(shè)定。接著延時(shí)等待,再進(jìn)展顯示開關(guān)控制字設(shè)定,其中D=1、整體顯示ON,C=1、游標(biāo)ON,B=1、游標(biāo)位置ON。之后,進(jìn)展清屏設(shè)置。最后,進(jìn)展模式選擇設(shè)置,初始化過程完畢。voidinitinal(void){delay2(20);write_12864com(0x30);//寫控制字30Hdelay1(4);write_12864com(0x30);//寫控制字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)加一,將漢字地址送入寫指令和寫數(shù)據(jù)函數(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);//“誰〞write_12864dat(0xad);delay2(20);write_12864dat(0xd6);//“知〞write_12864dat(0xaa);delay2(20);write_12864dat(0xc5);//“盤〞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)試中的注意問題1、數(shù)據(jù)類型要正確,頭文件要包含iom8v.h和macros.h。2、延時(shí)函數(shù)的使用。在初始化及顯示函數(shù)中,延時(shí)時(shí)間要適當(dāng)長些,以正常穩(wěn)定地顯示漢字。所以,在編寫程序時(shí),我編寫了兩個(gè)延時(shí)函數(shù),以供不同延時(shí)時(shí)間的需要。同時(shí),在進(jìn)展LCD顯示時(shí),我發(fā)現(xiàn)每個(gè)漢字顯示時(shí),同樣要較長時(shí)間的延時(shí)間隔,以到達(dá)觀察清晰的效果。3、PORTB和PORTC均為輸出,所以應(yīng)將DDRX相應(yīng)位設(shè)為1,即翻開PORTB和PORTC端口。4、邏輯運(yùn)算符號(hào)不能出錯(cuò),‘&’表示按位與的運(yùn)算,‘&&’表示和運(yùn)算。我在編寫程序時(shí),將write函數(shù)中的‘&’寫成了‘&&’,導(dǎo)致程序編譯時(shí)正確,但將程序?qū)懭胄酒瑫r(shí),LCD卻不能顯示漢字。5、值得提出的是,當(dāng)硬件焊接完成,程序編寫完成后,將程序下載到單片機(jī)上時(shí),LCD并沒有出現(xiàn)預(yù)期的結(jié)果,即并沒有顯示漢字。這時(shí),當(dāng)初步檢查了程序和硬件焊接均無誤后,繼續(xù)下載程序,但仍然不顯示漢字。所以,就用了一個(gè)測(cè)試函數(shù)來測(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ù)后,用萬用表分別測(cè)試ATMEGA8的PC3、PC4、PC5、PB0、PB1、PB2、PB3、PB4是否均為高電平;之后再修改上述函數(shù)將相應(yīng)端口的位置為0,再用萬用表分別測(cè)試ATMEGA8的PC3、PC4、PC5、PB0、PB1、PB2、PB3、PB4是否均為低電平。通過測(cè)試,發(fā)現(xiàn)將ATMEGA8的第23引腳和第24引腳相連了,經(jīng)過撥離后,執(zhí)行該函數(shù),并進(jìn)展硬件檢測(cè),得出結(jié)果ATMEGA8焊接最終正常。再次進(jìn)展下載程序,但LCD仍然沒有顯示漢字。之后,又進(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è)過RS、RW、E均無焊接錯(cuò)誤,且延時(shí)函數(shù)無誤,接著,執(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í)行,那么使用萬用表測(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)了問題。經(jīng)仔細(xì)檢查程序,發(fā)現(xiàn)將write函數(shù)中的‘&’寫成了‘&&’,導(dǎo)致程序編譯時(shí)正確,但將程序?qū)懭胄酒瑫r(shí),LCD卻不能顯示漢字。經(jīng)過改正后,重新向ATMEGA8中下載程序,結(jié)果LCD顯示出漢字,程序調(diào)試成功。6實(shí)物與實(shí)測(cè)效果展示6.1實(shí)物展示圖6.1(a)硬件實(shí)物圖圖6.1〔b〕AVR開發(fā)板實(shí)物圖6.2實(shí)測(cè)效果展示圖6.2顯示漢字結(jié)論本設(shè)計(jì)主要是設(shè)計(jì)一個(gè)微處理器控制的點(diǎn)陣式液晶顯示器的控制電路。所以,經(jīng)過認(rèn)真分析和結(jié)合以前所學(xué)知識(shí),我采用ATMEGA8作為MPU來控制KXM12864模塊顯示漢字。在本次設(shè)計(jì)中,經(jīng)過屢次調(diào)試與檢錯(cuò),最終實(shí)現(xiàn)了顯示漢字的功能。本設(shè)計(jì)要實(shí)現(xiàn)的功能并不復(fù)雜。簡而言之,就是使用一個(gè)單片機(jī)來控制LCD液晶模塊顯示漢字。然而,我認(rèn)為本設(shè)計(jì)較為復(fù)雜之處就是硬件電路的焊接。其中最重要的就是ATMEGA8芯片的焊接,由于該芯片是貼片式的,以前接觸較少,所以焊接時(shí)發(fā)生了短路及虛焊等錯(cuò)誤。其次就是LCD模塊的20個(gè)引腳的焊接,由于這些引腳相鄰間隔小,導(dǎo)致焊接出現(xiàn)短路情況。然而,經(jīng)過改正,焊接正常。之后,就是AVR開發(fā)板的其它電路元件的焊接,由于之前做過焊接的實(shí)驗(yàn),所以,這局部焊接較熟練。最后,就是軟件設(shè)計(jì),該局部采用C語言設(shè)計(jì),由于實(shí)現(xiàn)功能較為簡單,因此,設(shè)計(jì)時(shí)也較易完成??陀^地說,本設(shè)計(jì)較為容易,雖然實(shí)現(xiàn)了最基本的顯示漢字的功能,但并沒有更多的展示出單片機(jī)對(duì)LCD模塊控制的效果。這樣,本設(shè)計(jì)給人的感覺較為單一,不能豐富多彩的展示單片機(jī)對(duì)LCD模塊控制的優(yōu)勢(shì)。所以,為了更多地展示出單片機(jī)的強(qiáng)大功能,可以給單片機(jī)增加輸入設(shè)備如按鍵等,增加文字和字符的顯示效果,如滾動(dòng)、閃爍等。這樣可以根據(jù)按鍵按下的鍵來顯示相應(yīng)的效果。同時(shí),還需要編寫相應(yīng)的程序來實(shí)現(xiàn)這些效果。感言當(dāng)我的硬件焊接完成,同時(shí)軟件調(diào)試成功,當(dāng)將程序下載到單片機(jī)上,LCD模塊顯示出漢字時(shí),我覺得很有成就感。因?yàn)?,終于憑借著自己的努力,我完成了本次畢業(yè)設(shè)計(jì)的實(shí)物制作局部。雖然,這個(gè)過程中出現(xiàn)了這樣或那樣的問題,但是經(jīng)過認(rèn)真分析和改正都順利地解決了。畢業(yè)設(shè)計(jì)接近尾聲,我感觸很多?;叵氘?dāng)初,當(dāng)剛看到畢業(yè)設(shè)計(jì)題目時(shí),我有一些迷茫,不知從何處開場(chǎng)做起。但是,當(dāng)詢問了指導(dǎo)教師后,我對(duì)該題目有了初步的認(rèn)識(shí)。之后,就結(jié)合以前所學(xué)知識(shí),對(duì)該設(shè)計(jì)進(jìn)展認(rèn)真分析。最后確定使用ATMEGA8單片機(jī)作為微控制器來控制KXM12864模塊顯示漢字來詮釋本課題。當(dāng)我真正開場(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ì)電路板的焊接。雖然,在以前的課程中都做過焊接的實(shí)驗(yàn),但是由于動(dòng)手能力不強(qiáng),對(duì)于硬件焊接,仍然比較困難。但在教師的幫助下,我最終完成了硬件的焊接工作。接著就是編寫程序,由于要實(shí)現(xiàn)的功能較為簡單,所以,這一局部很快就完成了。但是當(dāng)我將程序下載到單片機(jī)時(shí),那么沒有出現(xiàn)預(yù)期的結(jié)果。所以就開場(chǎng)對(duì)硬件和軟件進(jìn)展調(diào)試,最終發(fā)現(xiàn)設(shè)計(jì)的硬件和軟件方面均存在問題。改正后,那么出現(xiàn)了正確的結(jié)果。因此,我認(rèn)為,其實(shí)按部就班地做設(shè)計(jì)并不困難,困難的是當(dāng)沒有出現(xiàn)預(yù)期結(jié)果時(shí)怎樣找到用來發(fā)現(xiàn)問題、分析問題和解決問題的方法。比方,在程序編寫中測(cè)試函數(shù)的編寫和測(cè)試,這就是我用來發(fā)現(xiàn)問題的方法。經(jīng)過本設(shè)計(jì),我更加明白了發(fā)現(xiàn)問題、分析問題和解決問題重要性。同時(shí),經(jīng)過本設(shè)計(jì),提高了我的動(dòng)手能力和編程能力,使我對(duì)軟件和硬件的結(jié)合有了更進(jìn)一步的理解。還有,這次畢業(yè)設(shè)計(jì),鍛煉了我的耐心,使我明白了當(dāng)設(shè)計(jì)沒有到達(dá)預(yù)期結(jié)果時(shí),應(yīng)該沉著、冷靜地檢查、分析、調(diào)試,不能急躁。只有這樣,才能最快速地發(fā)現(xiàn)和解決問題、完成設(shè)計(jì)。所以,綜上所述,我從本次畢業(yè)設(shè)計(jì)中受益匪淺。致謝畢業(yè)設(shè)計(jì)完成了,我感觸很多。首先,感謝我的畢業(yè)設(shè)計(jì)的指導(dǎo)教師的指導(dǎo)。在本次設(shè)計(jì)中,指導(dǎo)教師給予了我很大的幫助。從硬件的焊接到軟件的調(diào)試。首先,是AVR單片機(jī)開發(fā)板的焊接,在該開發(fā)板設(shè)計(jì)過程中,教師給予我們很多指導(dǎo)。從芯片的選擇到具體的電路的設(shè)計(jì),還有開發(fā)板的元件和電路布局等,教師都給予了我們很多建議。同時(shí),我也感謝我的同學(xué),在本次設(shè)計(jì)中,由于我和幾位同學(xué)使用的單片機(jī)一樣,所以在單片機(jī)開發(fā)板上有些不懂的問題,我就問同學(xué),他們都認(rèn)真給我解答。當(dāng)然,對(duì)于本次畢業(yè)設(shè)計(jì)的順利完成,我還要感謝我親愛的母校,感謝學(xué)校能給我們提供做設(shè)計(jì)的實(shí)驗(yàn)室,能讓我們更好地完成設(shè)計(jì)。要想完成一個(gè)畢業(yè)設(shè)計(jì),需要大學(xué)四年的知識(shí)的綜合應(yīng)用。比方,本次畢業(yè)設(shè)計(jì)用到了模擬電子技術(shù)、數(shù)字電子技術(shù)、電路分析、單片機(jī)原理、C語言程序設(shè)計(jì)、Protel軟件的使用等方面的專業(yè)知識(shí)。這些知識(shí)的獲得都來源于我的這些專業(yè)課程的教師們。所以,我很感謝我親愛的教師們對(duì)我們的辛勤的培養(yǎng)。正是因?yàn)橛辛私處焸兊男燎谂囵B(yǎng),才有了我現(xiàn)在所掌握的專業(yè)知識(shí),才可以使我能夠順利完成本次畢業(yè)設(shè)計(jì)。不僅如此,教師們?cè)诮虝?huì)我們知識(shí)的同時(shí),還以身作那么地教會(huì)了我們對(duì)待學(xué)問的態(tài)度。教師們的言傳身教使我們懂得了更多的學(xué)習(xí)和做人方面的道理。這些不僅催促著我在以后的學(xué)習(xí)中,更加努力地學(xué)習(xí)專業(yè)知識(shí),還成為了我以后人生道路上的指路明燈,指引著我將來能更好、更穩(wěn)地前行。所以,在此,我想我親愛的教師們表達(dá)我深深的敬意。參考文獻(xiàn)[1]肖看,李群芳.單片機(jī)原理、接口及應(yīng)用[M].北京:清華大學(xué)出版社,2010.9.[2]沈文,Eaglelee,詹衛(wèi)前.AVR單片機(jī)C語言開發(fā)入門指導(dǎo)[M].北京:清華大學(xué)出版社,2003.[3]童詩白,華成英.模擬電子技術(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]谷樹忠,閆勝利.Protel2004實(shí)用教程:原理圖與PCB設(shè)計(jì)[M].北京:電子工業(yè)出版社,2005.[8]郭強(qiáng).點(diǎn)陣式液晶顯示器[J].電子技術(shù)應(yīng)用,1989年12期.[9]李長林.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]劉永智,楊開愚等.液晶顯示技術(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GB-T 37716-2019信息技術(shù) 學(xué)習(xí)、教育和培訓(xùn) 電子課本與電子書包術(shù)語》專題研究報(bào)告
- 河北省石家莊欒城中學(xué)2026屆語文高三第一學(xué)期期末檢測(cè)試題含解析
- 英語專業(yè)女生就業(yè)前景
- 2026屆赤峰市重點(diǎn)中學(xué)語文高三第一學(xué)期期末學(xué)業(yè)水平測(cè)試模擬試題含解析
- 2026屆重慶市萬州區(qū)高三語文第一學(xué)期期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 委托劃轉(zhuǎn)稅協(xié)議書
- 凡科營銷方案(3篇)
- 國考面試協(xié)議書
- 口才比賽營銷方案(3篇)
- 木方加工合同范本
- 酒店行業(yè)的信息安全培訓(xùn)方法
- 塑料制品行業(yè)財(cái)務(wù)工作年度績效報(bào)告
- 皮膚科護(hù)理中的振動(dòng)按摩在皮膚病管理中的應(yīng)用
- 20以內(nèi)進(jìn)位加法100題(精心整理6套-可打印A4)
- 腸內(nèi)營養(yǎng)考評(píng)標(biāo)準(zhǔn)終
- 2023屆高考專題復(fù)習(xí):小說專題訓(xùn)練群體形象與個(gè)體形象(含答案)
- 項(xiàng)目全周期現(xiàn)金流管理培訓(xùn)
- 生物化學(xué)實(shí)驗(yàn)智慧樹知到答案章節(jié)測(cè)試2023年浙江大學(xué)
- 等腰三角形復(fù)習(xí)課教案
- GB/T 39741.1-2021滑動(dòng)軸承公差第1部分:配合
- GB/T 19228.3-2012不銹鋼卡壓式管件組件第3部分:O形橡膠密封圈
評(píng)論
0/150
提交評(píng)論