基于單片機(jī)的液晶顯示設(shè)計(jì)畢業(yè)設(shè)計(jì).doc_第1頁(yè)
基于單片機(jī)的液晶顯示設(shè)計(jì)畢業(yè)設(shè)計(jì).doc_第2頁(yè)
基于單片機(jī)的液晶顯示設(shè)計(jì)畢業(yè)設(shè)計(jì).doc_第3頁(yè)
基于單片機(jī)的液晶顯示設(shè)計(jì)畢業(yè)設(shè)計(jì).doc_第4頁(yè)
基于單片機(jī)的液晶顯示設(shè)計(jì)畢業(yè)設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩64頁(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)介

蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)材料 畢業(yè)設(shè)計(jì)(論文)課題:12864液晶顯示的設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過(guò)的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說(shuō)明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)校可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。作者簽名: 日 期: 目 錄摘 要3前 言4第一章 緒 論11.1 單片機(jī)選型11.2 LCD方案論證11.3 LCD顯示原理11.4 設(shè)計(jì)要求1第二章 硬件電路設(shè)計(jì)22.1. 硬件系統(tǒng)結(jié)構(gòu)圖22.2 AT89S52單片機(jī)最小系統(tǒng)設(shè)計(jì)22.2.1 AT89S52單片機(jī)22.2.2 電源電路設(shè)計(jì)32.2.3 時(shí)鐘電路設(shè)計(jì)32.2.4 復(fù)位電路設(shè)計(jì)42.3 AMPIRE128*64LCD簡(jiǎn)介42.3.1主要參數(shù)42.3.2 主要指令代碼52.3.3 寫操作時(shí)序52.3.4 讀操作時(shí)序52.4 LCD與單片機(jī)接口62.5 電路設(shè)計(jì)圖6第三章 系統(tǒng)軟件設(shè)計(jì)63.1 總體流程圖63.2 12864LCD程序73.3 程序清單及注釋10第四章 仿真調(diào)試和結(jié)果分析104.1 仿真步驟104.2 仿真結(jié)果及分析12第五章 取模軟件的使用方法145.1 PCtoLCD2002取模軟件的使用方法145.2 畔畔字模提取軟件的使用方法17總 結(jié)18致 謝19參 考 文 獻(xiàn)20附錄A 程序清單與解釋21附錄B 電路設(shè)計(jì)圖63摘 要本文設(shè)計(jì)主要介紹了以AT89S52單片機(jī)為控制設(shè)備,AMPIRE128*64液晶顯示器為顯示設(shè)備,實(shí)現(xiàn)的一個(gè)可以顯示靜態(tài)漢字、動(dòng)態(tài)漢字、字符、圖片以及由多個(gè)圖片形成的簡(jiǎn)單動(dòng)畫的液晶顯示設(shè)計(jì)。通過(guò)設(shè)置PCtoLCD2002取模軟件和畔畔字模提取軟件的相關(guān)參數(shù)值,再根據(jù)AMPIRE128*64LCD的指令表及程序設(shè)計(jì)等提取所要用的漢字、字符、圖片程序送往液晶顯示器顯示,并可做一些靈活的動(dòng)態(tài)顯示變換,提升顯示效果。本文在KEIL軟件下,采用的是C語(yǔ)言進(jìn)行軟件設(shè)計(jì),C語(yǔ)言使用助記符、符號(hào)、和數(shù)字等來(lái)表示指令的程序語(yǔ)言,容易理解和記憶且通用性強(qiáng),設(shè)計(jì)方便。利用Proteus軟件進(jìn)行仿真和驗(yàn)證系統(tǒng)的正確性。 關(guān)鍵詞:?jiǎn)纹瑱C(jī)、AMPIRE128*64LCD顯示、Proteus 前 言畢業(yè)設(shè)計(jì),要求學(xué)生更多的完成軟硬件結(jié)合的動(dòng)手實(shí)踐方案,解決目前學(xué)生課程設(shè)計(jì)過(guò)程中普遍存在的缺乏動(dòng)手能力的現(xiàn)象。而單片機(jī)設(shè)計(jì)的目的與任務(wù)是訓(xùn)練學(xué)生綜合運(yùn)用已學(xué)課程“單片機(jī)工程項(xiàng)目應(yīng)用技術(shù)”的基本知識(shí),獨(dú)立進(jìn)行單片機(jī)應(yīng)用技術(shù)和開發(fā)工作,掌握單片機(jī)程序設(shè)計(jì)和應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測(cè)。在單片機(jī)應(yīng)用系統(tǒng)中,良好的人機(jī)界面是不可缺少的重要組成部分,用戶可通過(guò)人機(jī)界面獲取系統(tǒng)運(yùn)行狀態(tài)及一些過(guò)程參數(shù),方便用戶操作。在通常情況下,人機(jī)界面用兩種方法實(shí)現(xiàn),一種是用普通的數(shù)碼管LED實(shí)現(xiàn),LED顯示器價(jià)格低廉,發(fā)光強(qiáng)度高,機(jī)械性能好,在普通單片機(jī)系統(tǒng)中應(yīng)用較為廣泛;另一種則是液晶顯示。本設(shè)計(jì)使用的是AMPIRE128*64LCD。隨著社會(huì)的發(fā)展,越來(lái)越多的地方需要應(yīng)用顯示功能,例如,各種數(shù)字顯示儀器中的顯示、廣告屏、數(shù)碼產(chǎn)品等。傳統(tǒng)的數(shù)碼管顯示已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足各行各業(yè)的需求?;趩纹瑱C(jī)LCD顯示是一種用單片機(jī)來(lái)控制的顯示系統(tǒng),它不僅能顯示各種數(shù)字、字母,還能顯示各種字體的漢字以及一些簡(jiǎn)單的圖像和動(dòng)畫,使用起來(lái)極為便利,只要通過(guò)對(duì)單片機(jī)寫入一定的程序來(lái)控制LCD的顯示即可完成,根據(jù)程序的不同而產(chǎn)生不同效果以滿足各種需求。本設(shè)計(jì)采用AT89S52模擬仿真,大致要求為:設(shè)計(jì)12864液晶顯示與單片機(jī)的顯示接口電路,顯示簡(jiǎn)單的靜態(tài)/動(dòng)態(tài)漢字,圖片以及由多個(gè)圖片組成的簡(jiǎn)單動(dòng)畫。64第一章 緒 論1.1 單片機(jī)選型此設(shè)計(jì)是通過(guò)單片機(jī)來(lái)控制LCD來(lái)顯示一些要求的漢字、字符、圖片及簡(jiǎn)單動(dòng)畫等。單片機(jī)種類繁多,由于上課著重介紹了51系列的單片機(jī),故對(duì)此類型的單片機(jī)比較熟悉,故在此設(shè)計(jì)中選用的單片機(jī)為AT89S52,方便操作和進(jìn)一步學(xué)習(xí)加深。1.2 LCD方案論證方案一:使用LCD1602成本低,程序控制簡(jiǎn)單,但它只能顯示16*2個(gè)半寬字型符,不能顯示漢字,比較單調(diào)。方案二:LCD128*64硬件上提供8位,4位并行接口及串行接口供選擇,64*16位字符顯示RAM,2M位中文字型ROM,總共提供8192個(gè)中文字型(16*16點(diǎn)陣),16K位半寬字型ROM,總共提供126個(gè)西文字型(16*8點(diǎn)陣),64*16位字符產(chǎn)生RAM。在軟件上提供文字與圖形混合顯示、畫面清除、顯示移位、反白顯示等功能,相對(duì)于LCD1602來(lái)說(shuō)功能豐富且由于AMPIRE128*64LCD能夠顯示的資料比較容易得到,又比較通俗易懂,便于快速上手。綜合以上方案,決定選用AMPIRE128*64LCD用來(lái)作為顯示。1.3 LCD顯示原理LCD由兩塊玻璃板構(gòu)成,厚約1mm,其間由包含有液晶材料的5m均勻間隔隔開。因?yàn)橐壕Р牧媳旧聿⒉话l(fā)光,所以在顯示屏兩邊都設(shè)有作為光源的燈管,而在液晶顯示屏背面有一塊背面板(或稱勻光板)和反光膜,背光板是由熒光物質(zhì)組成的可以發(fā)射光線,其作用主要是提供均勻的背景光源。背光板發(fā)出的光線在穿過(guò)第一層偏振過(guò)濾層之后進(jìn)入包含成千上萬(wàn)液晶液滴的液晶層。液晶層中的液滴都被包含在細(xì)小的單元格結(jié)構(gòu)中,一個(gè)或多個(gè)單元格構(gòu)成屏幕上的一個(gè)像素。在玻璃板與液晶材料之間是透明的電極,電極分為行和列,在行與列的交叉點(diǎn)上,通過(guò)改變電壓而改變液晶的旋光狀態(tài),液晶材料的作用類似于一個(gè)個(gè)曉得光閥。在液晶材料周邊是控制電路部分和驅(qū)動(dòng)電路部分。黨LCD中的電極產(chǎn)生電場(chǎng)時(shí),液晶分子就會(huì)產(chǎn)生扭曲,從而將穿越其中的光線進(jìn)行有規(guī)則的折射,然后經(jīng)過(guò)第二層過(guò)濾層的過(guò)濾在屏幕上顯示出來(lái)。1.4 設(shè)計(jì)要求 在本次課題研究中我將參考從各個(gè)方面收集到的文獻(xiàn),博取其精華。研究方法則是采用單片機(jī)設(shè)計(jì)LCD顯示,通過(guò)初始化12864LCD,并設(shè)定各個(gè)漢字、字符、圖片的地址信息,以研究AMPIRE128*64LCD的工作原理及設(shè)計(jì)。研究的設(shè)計(jì)要求包括以下方面:1、通過(guò)LCD將所設(shè)定的漢字、圖片等顯示在外;2、漢字可做簡(jiǎn)單的移動(dòng)變換等;3、可以顯示一些圖片;4、利用圖片做出簡(jiǎn)單的動(dòng)畫效果;5、單片機(jī)C程序編程語(yǔ)言。第二章 硬件電路設(shè)計(jì)2.1. 硬件系統(tǒng)結(jié)構(gòu)圖此設(shè)計(jì)控制系統(tǒng)由AT89S52單片機(jī)芯片、LCD顯示電路、電源電路、復(fù)位電路、晶體振蕩電路組成。 單片機(jī) LCD顯示器 電源電路 復(fù)位電路晶振電路 圖2.1 總設(shè)計(jì)框圖2.2 AT89S52單片機(jī)最小系統(tǒng)設(shè)計(jì) 單片機(jī)最小系統(tǒng)主要由單片機(jī)AT89S52、電源電路、復(fù)位電路、時(shí)鐘電路組成。2.2.1 AT89S52單片機(jī) AT89S52主要功能特性: 一個(gè)8位微處理器 256字節(jié)的數(shù)據(jù)存儲(chǔ)器和32個(gè)特殊功能寄存器,用于存放可讀/寫的數(shù)據(jù) 8K字節(jié)的內(nèi)部快閃程序存儲(chǔ)器,用于存放程序、原始數(shù)據(jù)或表格 3個(gè)16位定時(shí)/計(jì)時(shí)器,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可用作定時(shí)器 4個(gè)8位可編程的輸入/輸出(I/O)并行端口,每個(gè)端口既可做輸入,也可做輸出 一個(gè)全雙工異步串行口(UART)串行通道,用于數(shù)據(jù)的串行通信 6個(gè)中斷源,2個(gè)優(yōu)先級(jí) 可尋址各64KB的外部程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器空間 有位尋址功能 片內(nèi)振蕩器即內(nèi)部時(shí)鐘電路,石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為32MHz 可降至0Hz靜態(tài)邏輯操作,具有支持2種軟件,可選擇節(jié)電工作方式,即休閑方式及掉電方式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 在線編程(ISP)功能 內(nèi)部集成看門狗計(jì)時(shí)器 雙數(shù)據(jù)指示器 電源關(guān)閉標(biāo)記 全新的加密算法 向下完全兼容MCS-51全部子系列產(chǎn)品,兼容MCS-51指令系統(tǒng)2.2.2 電源電路設(shè)計(jì)單片機(jī)所使用的電源根據(jù)實(shí)際需要設(shè)計(jì),這里將220v電壓轉(zhuǎn)變?yōu)?5v電壓。如下圖,利用橋式整流電路將220v電壓降壓整流,然后經(jīng)過(guò)電容濾波,LM7805穩(wěn)壓電路,最后轉(zhuǎn)為+5v直流電壓。穩(wěn)壓二極管VD3的作用有兩個(gè):一個(gè)是降低集成穩(wěn)壓電路7805(U1)的輸入電壓;二是防止總線斷電時(shí),電容C5上所存儲(chǔ)的電荷向總線釋放。電容C8、C9是濾波電容,7805是+5V的集成穩(wěn)壓電路,C10、C11是去耦電容,發(fā)光二極管VD4是電源指示燈,R13是VD4的限流電阻。圖2.2 +5v直流電路2.2.3 時(shí)鐘電路設(shè)計(jì)單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時(shí),電路簡(jiǎn)單,所得到的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)際使用中常采用這種方式。圖2.3振蕩電路圖2.2.4 復(fù)位電路設(shè)計(jì)單片機(jī)在啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位,它的作用是使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。MCS-51系列單片機(jī)本身,一般不能自動(dòng)進(jìn)行復(fù)位,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。復(fù)位電路的作用就是使單片機(jī)在上電時(shí)能夠復(fù)位或運(yùn)行出錯(cuò)時(shí)進(jìn)行復(fù)位狀態(tài)。圖2.2按鍵與上電復(fù)位電路2.3 AMPIRE128*64LCD簡(jiǎn)介本系統(tǒng)采用液晶顯示模塊AMPIRE128X64,為單色LCD。屏幕分為兩半控制,控制引腳為CS1和CS2,數(shù)據(jù)通過(guò)移位寄存器輸入。圖2.3 AMPIRE128*64外形圖管腳一共18個(gè)。CS1左半屏片選端,CS2右半屏片選端;VCC、GND就是VCC、GND,沒啥好說(shuō)的;V0液晶顯示驅(qū)動(dòng)電壓,在網(wǎng)上找的仿真實(shí)例中有的這個(gè)腳就懸空,我是通過(guò)一個(gè)電位器接到VCC;RS數(shù)據(jù)指令選擇信號(hào),H為數(shù)據(jù),L為指令,有的資料上也叫D/I,我估計(jì)是DATA和INSTRUCTIONS這兩個(gè)單詞的縮寫;R/W讀寫選擇信號(hào),H為讀,L為寫,這肯定是READ和WRITE的縮寫。E為L(zhǎng)CD使能端,R/W為L(zhǎng)時(shí),E信號(hào)下降沿鎖存DB7-DB0;R/W為H時(shí),E為H,DDRAM數(shù)據(jù)讀到DB7-DB0,如果只寫不讀的話可以接地處理。DB0-DB7數(shù)據(jù)傳輸端口。RST復(fù)位信號(hào),不過(guò)還沒弄明白是怎么回事,參考一些資料后接VCC處理。-VOUT估計(jì)和V0差不多,液晶顯示驅(qū)動(dòng)電壓。2.3.1 主要參數(shù)表2-1主要參數(shù)顯示容量:128*64點(diǎn)陣模塊最佳工作電壓:5.0V工作電壓:4.85.2V點(diǎn)尺寸:0.48*0.48 mm工作電流:5.1mA(5.0V)工作溫度:-2060背光源顏色:黃綠儲(chǔ)存溫度:-3070背光源電流:140mA2.3.2 主要指令代碼表2-2 指令代碼指令碼功能3EH關(guān)顯示3FH開顯示指令碼功能0C0H設(shè)置顯示初始行指令碼功能0B8H+頁(yè)碼(07)設(shè)置數(shù)據(jù)地址頁(yè)指針40H+列碼(063)設(shè)置數(shù)據(jù)地址列指針2.3.2 寫操作時(shí)序(時(shí)序參數(shù)均為NS級(jí),單片機(jī)為US級(jí),故不用考慮延時(shí))圖2.4 寫操作時(shí)序圖2.3.4 讀操作時(shí)序(時(shí)序參數(shù)均為NS級(jí),單片機(jī)為US級(jí),故不用考慮延時(shí))圖2.5 讀操作時(shí)序圖2.4 LCD與單片機(jī)接口表2-3 引腳簡(jiǎn)介編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VCC電源地10DB3Data I/O2VDD電源正極(+5V)11DB4Data I/O3V0LCD偏壓輸入12DB5Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)13DB6Data I/O5R/W讀寫控制信號(hào)(H/L)14DB7Data I/O6E使能信號(hào)15CS1片選IC1信號(hào)7DB0Data I/O16CS2片選IC2信號(hào)8DB1Data I/O17RTS復(fù)位端(H:正常工作,L:復(fù)位)9DB2Data I/O18VEELCD驅(qū)動(dòng)負(fù)壓輸出 2.5 電路設(shè)計(jì)圖 見附錄第三章 系統(tǒng)軟件設(shè)計(jì)3.1 總體流程圖基于單片機(jī)的12864液晶顯示軟件設(shè)計(jì)主要由顯示子程序、讀出并處理12864LCD顯示程序等組成。為了充分發(fā)揮AT89S52優(yōu)越的性能價(jià)格比,系統(tǒng)軟件采用C語(yǔ)言編寫以增強(qiáng)系統(tǒng)的實(shí)時(shí)性。在設(shè)計(jì)上盡量做到硬件“軟化”,使系統(tǒng)硬件設(shè)計(jì)得到簡(jiǎn)化。開 始LCD初始化檢測(cè)忙信號(hào)左寫指令子程序左寫數(shù)據(jù)子程序右寫指令子程序右寫數(shù)據(jù)子程序清屏程序結(jié) 束延時(shí)程序LCD顯示圖3.1總體流程圖3.2 12864LCD程序void init(void) /*左邊屏初始化 l_wcode(0x3f); /*屏幕開顯示 l_wcode(0xc0); l_wcode(0xb8);/*第一頁(yè)開始 l_wcode(0x40); /*第一列開始 r_wcode(0x3f); /*右邊屏初始化 r_wcode(0xc0); r_wcode(0xb8); r_wcode(0x40); void checkbusy(void) /*忙檢測(cè)函數(shù)* E=1; RS=0; /命令 RW=1; /寫 P0=0xff; ACC=P0; while(!busy);void l_wcode(char l_code) /*左寫命令函數(shù) checkbusy(); P2=0xf2;/1111 0010;E=1,RW=0,RS=0,CS2=1,CS1=0 P0=l_code; E=1; E=0; void l_wdata(char l_data) /*左寫數(shù)據(jù)顯示 checkbusy(); P2=0xf6;/1111 0110;E=1,RW=0,RS=1,CS2=1,CS1=0 P0=l_data; E=1; E=0; void r_wcode(char r_code)/*右命令函數(shù) checkbusy(); P2=0xf1;/1111 0001;E=1,RW=0,RS=0,CS2=0,CS1=1 P0=r_code; E=1; E=0; void r_wdata(char r_data)/*右數(shù)據(jù)函數(shù) checkbusy(); P2=0xf5;/1111 0101;E=1,RW=0,RS=1,CS2=0,CS1=1 P0=r_data; E=1; E=0;void show()/*顯示從四個(gè)角回到中間*圖片 ywei=0xb8;end=0xba; over=0xbe; for(lshu=0x40,you=0x70;lshu0x71;lshu=lshu+0x17,you=you-0x17) k=0;for(i=ywei;i0;j-) l_wdata(tab2k+);/j=16是為了顯示一個(gè)字的控制 r_wcode(i); r_wcode(you); for(j=16;j0;j-) r_wdata(tab2k+); k=k+32; k=32; for(fan=over;fan0;j-) l_wdata(tab2k+); r_wcode(fan); r_wcode(you); for(j=16;j0;j-) r_wdata(tab2k+); k=k+32; over-; if(lshu=0x60) /*if為真是四個(gè)字匯聚后的稍長(zhǎng)延時(shí)時(shí)間 delay(800); else delay(500);clean();ywei=ywei+0x01; /*為每次控制移動(dòng)的增量(頁(yè)數(shù))end=end+0x01;if(end=0xbe) break; void delay(int ms) /*延時(shí)函數(shù) int f,n; for(f=ms;f0;f-) for(n=110;n0;n-);void clean() /*清屏函數(shù)for(i=0xb8;i0;j-) l_wdata(0x00); for(i=0xb8;i0;j-) r_wdata(0x00); 3.3 程序清單及注釋 見附錄第四章 仿真調(diào)試和結(jié)果分析4.1 仿真步驟第一步 在Proteus中畫好電路圖在Proteus中新建空白文件保存,從元件庫(kù)中選取并放置元器件和電源、地終端,按原理圖連好線。第二步 電氣檢測(cè)電路設(shè)計(jì)完成后,單擊工具欄中電氣檢查按鈕“”,會(huì)跳出檢查結(jié)果窗口,如圖4-1所示。窗口前面是一些文本信息,完成接著是電氣檢查結(jié)果列表。若有錯(cuò),會(huì)有詳細(xì)說(shuō)明。當(dāng)規(guī)則檢查出現(xiàn):NETLIST GENERATED OK NO ERC ERRORD FOUND ,表示通過(guò)檢查。圖4-1 電氣檢測(cè)窗口第三步 加載目標(biāo)代碼文件和設(shè)置時(shí)鐘頻率將兩種方法得到的目標(biāo)代碼文件心夢(mèng).hex 加載到單片機(jī)中。在ISIS編輯區(qū)中雙擊單片機(jī),則彈出如圖4-2所示的加載目標(biāo)代碼文件和設(shè)置時(shí)鐘頻率的窗口。單擊在Program File欄右則“”的按鈕,彈出文件列表,將心夢(mèng).hex文件加載到AT89S52芯片中。圖4-2加載目標(biāo)代碼文件和設(shè)置時(shí)鐘頻率第四步 仿真點(diǎn)擊仿真按鈕中的運(yùn)行按鈕,啟動(dòng)系統(tǒng)仿真。此程序是自己找的一個(gè)關(guān)于12864液晶顯示的程序。我在調(diào)試的過(guò)程中發(fā)現(xiàn)這個(gè)程序還有些不完善的地方,離我的設(shè)計(jì)目標(biāo)還是有一定的差距。因此我開始對(duì)此程序進(jìn)行修改,盡量的使其適合我的設(shè)計(jì)目標(biāo)。在程序編譯部分,我使用的是KEIL軟件,對(duì)程序進(jìn)行編譯調(diào)試最后生成HEX文件,以便把其下載在芯片之中,最后成功的生成HEX文件。KEIL軟件的使用課件可以見附件。4.2 仿真結(jié)果及分析1)仿真運(yùn)行后,清屏,首先顯示寬為16,高位32的字符3,2,1以及小圖片。圖4.3動(dòng)態(tài)字符圖2)分別顯示下面三幅128*64的圖片。 圖4.4顯示圖片圖3)顯示從四個(gè)角落回到中間的四個(gè)16*16的圖像。 圖4.4動(dòng)態(tài)圖形圖圖像由16點(diǎn)陣所得,分別通過(guò)左/右旋轉(zhuǎn)90度得到程序。圖4.5單個(gè)圖形圖4)顯示由12幅圖片構(gòu)成的簡(jiǎn)單動(dòng)畫,其實(shí)就是將延時(shí)時(shí)間縮成很短,造成視覺上的效果就成了連續(xù)的動(dòng)作,形成了動(dòng)畫。 圖4.6簡(jiǎn)單動(dòng)畫圖5)顯示一個(gè)一個(gè)的出現(xiàn)漢字,控制想要的字?jǐn)?shù),最終形成完整的句子。圖4.7動(dòng)態(tài)字符圖6)顯示延時(shí)時(shí)間較長(zhǎng)的兩幅圖片。圖4.8顯示圖片圖7)先顯示靜態(tài)的漢字,然后上半部分變換,最后顯示移動(dòng)的結(jié)束語(yǔ)over 圖4.9動(dòng)靜態(tài)漢字圖第五章 取模軟件的使用方法5.1 PCtoLCD2002取模軟件的使用方法1)參數(shù)設(shè)置 本次課程設(shè)計(jì)的點(diǎn)陣格式是陰碼,取模方式為列行式,取模走向是逆向(地位在前),自定義格式為C51格式,最好將行前綴與行后綴的“”去掉,像素大小為8。圖5.1 PCtoLCD2002取模軟件的參數(shù)設(shè)置圖2)漢字及字符的取模圖如下: 本次的課程設(shè)計(jì),需要將字模的上下行分開輸入,否則漢字的上下部分將會(huì)分開,排列成左右形式。圖5.2 PCtoLCD2002取模軟件的漢字取模圖圖5.3字模顯示效果圖3)圖形的取模圖如下:切記打開的圖片,保存格式為單色位圖.bmp,尺寸大小不可超過(guò)128*64。否則取模軟件中打開的圖片將會(huì)顯示不出來(lái)。圖5.4 PCtoLCD2002取模軟件的圖片取模圖圖5.5圖片顯示效果圖5.2 畔畔字模提取軟件的使用方法將所想要顯示的16*16的圖形在點(diǎn)陣中點(diǎn)出來(lái),可左右旋轉(zhuǎn)90度得出另外四個(gè)方向的圖形,當(dāng)從四個(gè)角落匯合至中間時(shí),能拼湊出不同效果。方法如圖所示:圖5.6 16點(diǎn)陣圖形取模圖圖5.7 16點(diǎn)陣圖形顯示效果圖總 結(jié)本次設(shè)計(jì)雖然沒有特別的復(fù)雜,但是由于初次涉及這樣的設(shè)計(jì),沒有任何的經(jīng)驗(yàn),過(guò)程還是倍感吃力的。首先就是LCD的選擇,因?yàn)橹皼]有學(xué)習(xí)過(guò)這樣的器件,算是一個(gè)新的概念,所以認(rèn)識(shí)不全,有些不知所措。其次就是軟件的編寫,要得到正確的漢字以及圖片的地址信息,花費(fèi)了較長(zhǎng)時(shí)間才找到相匹配的取模軟件。然后研究如何獲取正確的參數(shù),其中圖片的取模就很令我苦惱,最后在老師的輔導(dǎo)下才得以提取正確。程序有了之后,再進(jìn)行相關(guān)的變換,最終得到新穎的效果。在這次的設(shè)計(jì)過(guò)程中雖然嘗到了設(shè)計(jì)的困難,但是更重要的是讓我感受到了它的魅力,不知不覺的就想要做出更多的花樣,特別是成功仿真后,著實(shí)有一種成就感。在此次過(guò)程中不僅鞏固了我對(duì)Word及單片機(jī)的使用,同時(shí)也讓我對(duì)LCD顯示以及取模軟件有了一個(gè)較為清晰的了解,彌補(bǔ)了我的一個(gè)盲區(qū),使我有了知識(shí)和精神雙方面的收獲,相信這將是一次有意義的設(shè)計(jì)。致 謝畢業(yè)論文,談不上多深研究,攀不上多少學(xué)術(shù),寫一點(diǎn)略懂的事情,盡一點(diǎn)微薄的力氣。在此論文最終完成之際,向所有關(guān)心和幫助過(guò)我的同學(xué)和朋友表示深深感謝!感謝他們?yōu)槲姨峁┑膸椭?,使我的畢業(yè)設(shè)計(jì)能順利完成。 每一位老師的悉心教導(dǎo)都是我完成這篇論文的基礎(chǔ)。衷心感謝我的指導(dǎo)老師吳振磊老師,從畢業(yè)設(shè)計(jì)的開始到畢業(yè)論文的最終定稿,給了我細(xì)心的指導(dǎo)和幫助。您嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,開闊的思維,淵博的知識(shí)深深感染了我,讓我終生受用。在此,我向我的指導(dǎo)老師致以誠(chéng)摯的謝意和深深的敬意。從他那里我不僅僅是收獲了學(xué)術(shù)方面的知識(shí),更重要的是學(xué)會(huì)了治學(xué)嚴(yán)謹(jǐn)?shù)膽B(tài)度。以后我一定會(huì)更加努力的完善。參 考 文 獻(xiàn)1俞錫存,曹國(guó)華,單片機(jī)原理及接口技術(shù)M.西安電子科技大學(xué)出版社,2004年2張志良,單片機(jī)原理及控制技術(shù)(第2版).北京:機(jī)械工業(yè)出版社,2005年3陳堂敏、黃英,單片機(jī)工程項(xiàng)目應(yīng)用技術(shù)4余永權(quán),MCS-51系列單片機(jī)實(shí)用接口技術(shù)M.北京:北京航空航天大學(xué)出版,1993年5王守中,51單片機(jī)開發(fā)入門與典型實(shí)例.北京:人民郵電出版社,2007年8月6 薛小鈴,劉志群,賈俊榮,單片機(jī)接口模塊應(yīng)用與開發(fā)實(shí)例詳解,北京航空航天大學(xué)出版社,2010年1月7/forum.php?mod=viewthread&tid=1836&extra=page%3D3%26filter%3Dtypeid%26typeid%3D3%26typeid%3D3Proteus仿真社區(qū) 附錄A 程序清單與解釋主程序:本程序漢字取模即掃描方式是從左到右、從上到下的原則、縱向八點(diǎn)下高位。 *#include#include#define uchar unsigned char#define uint unsigned intsbitE=P24;sbitRW=P23;/RW 為 1- 寫; 0- 讀sbitRS=P22;/RS 為 0 命令; 1 數(shù)據(jù)sbitCS2=P21;/ 片選 1 低電平有效,控制右半屏sbitCS1=P20;/ 片選 1 低電平有效,控制左半屏sbitbusy=P07;uchar i,j,lshu=0x40,you=0x40,ywei,end,over,fan;uint k=0,h,m,y;void init(void); /函數(shù)聲明void checkbusy(void);void l_wcode(char l_code); /左寫命令void l_wdata(char l_data); /左寫數(shù)據(jù)void r_wcode(char r_code); /右寫命令void r_wdata(char r_data); /右寫數(shù)據(jù)void clean(); /清屏 void delay(int ms); /延時(shí)void init(void) /*左邊屏初始化 l_wcode(0x3f); /*屏幕開顯示 l_wcode(0xc0); l_wcode(0xb8);/*第一頁(yè)開始 l_wcode(0x40); /*第一列開始 r_wcode(0x3f); /*右邊屏初始化 r_wcode(0xc0); r_wcode(0xb8); r_wcode(0x40); void checkbusy(void) /*忙檢測(cè)函數(shù)* E=1; RS=0; /命令 RW=1; /寫 P0=0xff; ACC=P0; while(!busy);void l_wcode(char l_code) /*左寫命令函數(shù) checkbusy(); P2=0xf2;/1111 0010;E=1,RW=0,RS=0,CS2=1,CS1=0 P0=l_code; E=1; E=0; void l_wdata(char l_data) /*左寫數(shù)據(jù)顯示 checkbusy(); P2=0xf6;/1111 0110;E=1,RW=0,RS=1,CS2=1,CS1=0 P0=l_data; E=1; E=0; void r_wcode(char r_code)/*右命令函數(shù) checkbusy(); P2=0xf1;/1111 0001;E=1,RW=0,RS=0,CS2=0,CS1=1 P0=r_code; E=1; E=0; void r_wdata(char r_data)/*右數(shù)據(jù)函數(shù) checkbusy(); P2=0xf5;/1111 0101;E=1,RW=0,RS=1,CS2=0,CS1=1 P0=r_data; E=1; E=0; void show()/*顯示從四個(gè)角回到中間*圖片 ywei=0xb8;end=0xba; over=0xbe; for(lshu=0x40,you=0x70;lshu0x71;lshu=lshu+0x17,you=you-0x17) k=0;for(i=ywei;i0;j-) l_wdata(tab2k+);/j=16是為了顯示一個(gè)字的控制 r_wcode(i); r_wcode(you); for(j=16;j0;j-) r_wdata(tab2k+); k=k+32; /*上面顯示* k=32; for(fan=over;fan0;j-) l_wdata(tab2k+); r_wcode(fan); r_wcode(you); for(j=16;j0;j-) r_wdata(tab2k+); k=k+32; over-; if(lshu=0x60) /*if為真是四個(gè)字匯聚后的稍長(zhǎng)延時(shí)時(shí)間 delay(800); else delay(500);clean();ywei=ywei+0x01; /*為每次控制移動(dòng)的增量(頁(yè)數(shù))end=end+0x01;if(end=0xbe) break; /*下面顯示*void show_123() /*顯示321zhu* k=0;for(h=4;h0;h-) /*基本思想是完整顯示一個(gè)數(shù)后、稍作適當(dāng) for(i=0xba;i0;j-) /數(shù)的左半邊 l_wdata(tabek+); r_wcode(i);

溫馨提示

  • 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)論