基于ARM7的LCD顯示_第1頁
基于ARM7的LCD顯示_第2頁
基于ARM7的LCD顯示_第3頁
基于ARM7的LCD顯示_第4頁
基于ARM7的LCD顯示_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙XIAN TECHNOLOGICAL UNIVERSITY 課程設(shè)計(jì)報(bào)告課程名稱 基于 ARM7 的 LCD 顯示系統(tǒng)的 設(shè)計(jì)與實(shí)現(xiàn) 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 成 績: 2015 年 12 月 9 日西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙 目錄目錄 1 系統(tǒng)背景及實(shí)驗(yàn)?zāi)康?11.1 嵌入式系統(tǒng)背景介紹.11.2 實(shí)驗(yàn)?zāi)康?12.總體設(shè)計(jì).13.詳細(xì)設(shè)計(jì).2 3.1 芯片介紹.23.1.1 芯片 LPC2106 簡介.23.1.1.1 LPC2106 的特性.23.1.2 芯片 LM016L 簡介.33.1.2.1 液晶顯示原

2、理.33.1.2.2 LCD 相關(guān)參數(shù).33.2 軟件選擇.63.2.1 Proteus Version 7.5 簡介.63.2.2 RealView MDK 簡介.63.2.2.1 RealView MDK 的特點(diǎn).63.3 系統(tǒng)設(shè)計(jì).73.3.1 電路設(shè)計(jì).73.3.1.1 Proteus 創(chuàng)建工程步驟.73.3.1.2 元件選擇.83.3.1.3 電路效果圖.103.3.2 程序設(shè)計(jì).113.3.2.1 RealView MDK 創(chuàng)建工程過程.11 3.3.2.2 程序設(shè)計(jì)流圖.133.3.2.3 功能函數(shù).133.3.2.4 主函數(shù).153.4 設(shè)計(jì)結(jié)果.173.4.1 編譯結(jié)果.17

3、3.4.2 設(shè)計(jì)效果.17西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙4 實(shí)驗(yàn)總結(jié).17 附錄.18西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 0 頁1 1 系統(tǒng)背景簡介系統(tǒng)背景簡介1.1 嵌入式系統(tǒng)背景介紹 近年來,隨著計(jì)算機(jī)技術(shù)及集成電路技術(shù)的發(fā)展,嵌入式技術(shù)日漸普及,在通訊、網(wǎng)絡(luò)、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。嵌入式系統(tǒng)無疑成為當(dāng)前最熱門最有發(fā)展前途的 IT 應(yīng)用領(lǐng)域之一。 液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。通過顯示器同步顯示元器件的狀態(tài)可以更深刻地理解控制的原理。 通過 Proteus 模擬 ARM7 芯片設(shè)

4、計(jì),可以增強(qiáng)我們的自學(xué)能力和思考能力,掌握科學(xué)研究的方法,提高信息檢索的能力以及獲取與時(shí)俱進(jìn)知識(shí)的能力。同時(shí),使我們深刻學(xué)習(xí)了 ARM 的相關(guān)知識(shí),增強(qiáng)對(duì)實(shí)際電路的感性認(rèn)識(shí),提高了分析問題,處理問題的能力。 運(yùn)用 Keil 編譯 C 語言,連接生成 Hex 文件,使用 PROTEUS 7.8SP2 仿真,選用 ARM7 LPC2106 芯片和 LM016L,導(dǎo)入 Hex 文件,然后進(jìn)行軟件仿真調(diào)試。1.2 實(shí)驗(yàn)?zāi)康?了解基于 ARM7 核的 LPC2106 的管腳功能和特點(diǎn),掌握 I/O 控制寄存器的設(shè)置方法; 2掌握 ARM7 應(yīng)用系統(tǒng)編程開發(fā)方法,能用 C 語言編寫應(yīng)用程序;3. 在實(shí)驗(yàn)箱

5、環(huán)境下完成 LCD 顯示程序的設(shè)計(jì)2 2 總體設(shè)計(jì)總體設(shè)計(jì) 本課程設(shè)計(jì)采用了 LPC2106 ARM 嵌入式處理器和 LM016L 液晶顯示模塊,在實(shí)現(xiàn)軟件商使用了 Proteus Version 7.5 進(jìn)行電路仿真和設(shè)計(jì),程序設(shè)計(jì)上采用RealView MDK 來設(shè)計(jì)實(shí)現(xiàn)。其系統(tǒng)結(jié)構(gòu)框圖如圖 2-1 所示圖 2-1 系統(tǒng)結(jié)構(gòu)框圖Arm 主控模塊: 采用 LPC2106 芯片,它是一種低功耗,高性能的靜態(tài) RAM(LPC2106) 西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 1 頁向量中斷控制器。 顯示模塊: 液晶顯示器的效果出眾,簡單方便。3 3 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)3.13.1 芯片介紹芯片介紹3.

6、1.1 芯片芯片 LPC2106LPC2106 簡介簡介LPC2106包含一個(gè)支持仿真的ARM7TDMI-S CPU、與片內(nèi)存儲(chǔ)器控制器接口的ARM7 局部總線、與中斷控制器接口的AMBA高性能總線(AHB)和連接片內(nèi)外設(shè)功能的VLSI外設(shè)總線(VPB ,ARMAMBA 總線的兼容超集)。LPC2106將ARM7TDMI-S配置為小端(little-endian)字節(jié)順序。 AHB 外設(shè)分配了 2M 字節(jié)的地址范圍,它位于 4G 字節(jié) ARM 存儲(chǔ)器空間的最頂端。每個(gè) AHB 外設(shè)都分配了 16k 字節(jié)的地址空間。LPC2106 的外設(shè)功能(中斷控制器除外)都連接到 VPB 總線。AHB 到

7、VPB 的橋接將 VPB 總線與 AHB 總線相連。VPB 外設(shè)也分配了 2M 字節(jié)的地址范圍,從 3.5GB 地址點(diǎn)開始。每個(gè) VPB 外設(shè)在VPB 地址空間內(nèi)都分配了 16k 字節(jié)地址空間。3.1.1.13.1.1.1 LPC2106LPC2106 的特性的特性LPC2106擁有以下多種特性:(1)ARM7TDMI-S處理器 (2)128k字節(jié)片內(nèi)Flash程序存儲(chǔ)器,具有ISP 和IAP 功能。 (3)Flash編程時(shí)間:1ms 可編程512 字節(jié),扇區(qū)擦除或整片擦除只需400ms 。 (4)64/32/16K 字節(jié)靜態(tài)RAM(LPC2106) (5)向量中斷控制器 (6)仿真跟蹤模塊,

8、支持實(shí)時(shí)跟蹤 (7)RealMonitor模塊支持實(shí)時(shí)調(diào)試 (8)標(biāo)準(zhǔn)ARM測(cè)試/ 調(diào)試接口,兼容現(xiàn)有工具 (9)極小封裝:TQFP48 (77mm2) (10)雙UART,其中一個(gè)帶有完全的調(diào)制解調(diào)器接口 (11)I2C 串行接口 (12)SPI 串行接口 (13)兩個(gè)定時(shí)器,分別具有4 路捕獲/ 比較通道 (14)多達(dá)6 路輸出的PWM 單元 (15)實(shí)時(shí)時(shí)鐘 (16)看門狗定時(shí)器 (17)通用I/O 口 (18)CPU 操作頻率可達(dá)60MHz 西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 2 頁(19)雙電源 CPU 操作電壓范圍:1.65V1.95V(1.8V 8.3%) I/O 電壓范圍:3.

9、0V3.6V(3.3V 10%) (20)兩個(gè)低功耗模式:空閑和掉電 (21)通過外部中斷將處理器從掉電模式中喚醒 (22)外設(shè)功能可單獨(dú)使能/ 禁止,實(shí)現(xiàn)功耗最優(yōu)化 (23)片內(nèi)晶振的操作頻率范圍:10MHz25MHz (24)片內(nèi)PLL 允許CPU 以最大速度運(yùn)行,可以在超過整個(gè)晶振操作頻率范圍的情況下使用。由于擁有以上特性,LPC2106適用于internet 網(wǎng)關(guān)、串行通信協(xié)議轉(zhuǎn)換器、訪問控制、工業(yè)控制、醫(yī)療設(shè)備及其它各種類型的應(yīng)用。3.1.23.1.2 芯片芯片LM016LLM016L簡介簡介3.1.2.13.1.2.1液晶顯示原理液晶顯示原理 液晶顯示的原理是利用液晶的物理特性,通

10、過電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA 移動(dòng)通信工具等眾多領(lǐng)域。3.1.2.23.1.2.2 LCDLCD 相關(guān)參數(shù)相關(guān)參數(shù)(1)LM016L LCD 主要技術(shù)參數(shù):顯示容量:162 個(gè)字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.954.35(WH)mm(2)引腳功能說明:LM016LLCD 采用標(biāo)準(zhǔn)的 14 腳(無背光)或 16 腳(帶背光)接口,各引腳接口說明如表 3-1 所示:

11、編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3V液晶顯示偏壓11D4數(shù)據(jù)西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 3 頁L4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極表 3-1 引腳接口說明表第 1 腳:VSS 為地電源。第 2 腳:VDD 接 5V 正電源。第 3 腳:VL 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影” ,使用時(shí)可以通過一個(gè) 10K 的電位器調(diào)整對(duì)比度。第 4 腳:RS 為寄存器選擇,高電平時(shí)選

12、擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第 5 腳:R/W 為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS 和 R/W 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS 為低電平 R/W 為高電平時(shí)可以讀忙信號(hào),當(dāng) RS 為高電平 R/W 為低電平時(shí)可以寫入數(shù)據(jù)。第 6 腳:E 端為使能端,當(dāng) E 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第 714 腳:D0D7 為 8 位雙向數(shù)據(jù)線。第 15 腳:背光源正極。第 16 腳:背光源負(fù)極。(3)LM016LLCD 的指令說明及時(shí)序:LM016L 液晶模塊內(nèi)部的控制器共有 11 條控制指令,如表 3-2 所示:序號(hào)指令RSR/WD7

13、D6D5D4D3D2D1D01清顯示000000012光標(biāo)返回0000001*3置輸入模式000001I/DS西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 4 頁4顯示開/關(guān)控制00001DCB5光標(biāo)或字符移位0000S/CR/L*6置功能0000DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到 CGRAM或 DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從 CGRAM 或DDRAM 讀數(shù)11讀出的數(shù)據(jù)內(nèi)容 表 3-2 控制命令表LM016L 液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。 (說明:1 為

14、高電平、0 為低電平)指令 1:清顯示,指令碼 01H,光標(biāo)復(fù)位到地址 00H 位置。指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。指令 3:光標(biāo)和顯示模式設(shè)置。 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令 4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令 5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令 6:功能設(shè)置命令 DL:高電平時(shí)為 4 位總線,低

15、電平時(shí)為 8 位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示 5x7 的點(diǎn)陣字符,高電平時(shí)顯示5x10 的點(diǎn)陣字符。指令 7:字符發(fā)生器 RAM 地址設(shè)置。指令 8:DDRAM 地址設(shè)置。指令 9:讀忙信號(hào)和光標(biāo)地址。 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令 10:寫數(shù)據(jù)。指令 11:讀數(shù)據(jù)。3.23.2 軟件選擇軟件選擇西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 5 頁3.2.13.2.1 ProteusProteus VersionVersion 7.57.5 簡介簡介Proteus 軟件是英國 Labcenter elect

16、ronics 公司出版的 EDA 工具軟件。它不僅具有其它 EDA 工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus 是世界上著名的 EDA 工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到 PCB 設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB 設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsP

17、IC33、AVR、ARM、8086 和 MSP430 等。在編譯方面,它也支持 IAR、Keil 和 MPLAB 等多種編譯器。在 Proteus 繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.hex(或者*.axf) ,可以在 Proteus 的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。Proteus 不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改

18、、軟件調(diào)試、運(yùn)行結(jié)果等。3.2.23.2.2 RealViewRealView MDKMDK 簡介簡介 RealView MDK(RealView Microcontroller Development Kit)開發(fā)套件源自德國Keil 公司,被全球超過 10 萬的嵌入式開發(fā)工程師驗(yàn)證和使用,是 ARM 公司目前最新推出的針對(duì)各種嵌入式處理器的軟件開發(fā)工具。RealView MDK 集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),融合了中國多數(shù)軟件開發(fā)工程師所需的特點(diǎn)和功能。包括 Vision 集成開發(fā)環(huán)境與 RealView 編譯器,支持 ARM7、ARM9 和最新的 Cortex-M3 核處理器,自動(dòng)配置啟動(dòng)代碼

19、,集成 Flash 燒寫模塊,強(qiáng)大的 Simulation 設(shè)備模擬,性能分析等功能。3.2.2.13.2.2.1 RealViewRealView MDKMDK 的特點(diǎn)的特點(diǎn)(1)自動(dòng)生成啟動(dòng)代碼:RealView MDK 開發(fā)工具可以幫您自動(dòng)生成完善的啟動(dòng)代碼,并提供圖形化的窗口,隨您輕松修改。無論對(duì)于初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)工程師,都能大大節(jié)省時(shí)間,提高開發(fā)效率。(2)提供軟件模擬器:RealView MDK 的設(shè)備模擬器可以仿真整個(gè)目標(biāo)硬件,包括快速指令集仿真、外部 信號(hào)和 I/O 仿真、中斷過程仿真、片內(nèi)所有外圍設(shè)備仿真等。開發(fā)工程師在無硬件的情況下即可開始軟件開發(fā)和調(diào)試,使軟硬件開發(fā)

20、同步進(jìn)行,大大縮短開發(fā)周期。而一般的 ARM 開發(fā)工具僅提供指令集模擬器,只能支持 ARM 內(nèi)核西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 6 頁模擬調(diào)試。(3)提供性能分析器:RealView MDK 的性能分析器可以讓工程師看得更遠(yuǎn)和更準(zhǔn),它輔助您查看代碼覆蓋情況,程序運(yùn)行時(shí)間,函數(shù)調(diào)用次數(shù)等高端控制功能,指導(dǎo)您輕松的進(jìn)行代碼優(yōu)化,成為嵌入式開發(fā)高手。通常這些功能只有價(jià)值數(shù)千美元的昂貴的 Trace 工具才能提供。(4)支持 Cortex-M3:RealView MDK 支持的 Cortex-M3 核是 ARM 公司最新推出的針對(duì)微控制器應(yīng)用的內(nèi)核,它提供業(yè)領(lǐng)先的高性能和低成本的解決方案,未來幾年

21、將成為 MCU 應(yīng)用的熱點(diǎn)和主流。目前國內(nèi)只有 ARM 公司的 MDK 和 RVDS 開發(fā)工具可以支持 CortexM3 芯片的應(yīng)用開發(fā)3.33.3 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)3.3.13.3.1 電路設(shè)計(jì)電路設(shè)計(jì)3.3.1.13.3.1.1 ProteusProteus 創(chuàng)建工程創(chuàng)建工程步驟步驟打開 ISIS 7 Professional 軟件,單擊鼠標(biāo)左鍵新建 New File(From Default Template)如圖 3-1 工程新建顯示位置框圖所示。圖 3-1 工程新建顯示位置框圖然后點(diǎn)擊保存 Save Design,如圖 3-2 工程保存顯示位置框圖所示。圖 3-2 工程保存顯示位置框

22、圖彈出對(duì)話框,選擇你已經(jīng)建好的文件夾,在這里我的文件夾已經(jīng)建好,起的名字叫 LCD_DSN,然后再給項(xiàng)目起個(gè)名字也叫 LCD_DSN,最后點(diǎn)擊確定。如圖3-3 保存位置選擇框圖所示西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 7 頁圖 4-3 保存位置選擇框圖3.3.1.23.3.1.2 元件選擇元件選擇現(xiàn)在就可以進(jìn)行電路圖的制作了?,F(xiàn)在我們來畫電路圖,先點(diǎn)擊左側(cè)的Component Mode,如圖 3-4 模塊組件框圖所示。圖 3-4 模塊組件框圖然后雙擊下方空白處,就會(huì)彈出一個(gè) Pick Devices 對(duì)話框,如圖 3-5 元器件選擇框圖所示。西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 8 頁圖 3-5

23、元器件選擇框圖然后在 Keywords 下的空格中搜索 LM016L,在右邊的窗口中雙擊相應(yīng)的LM016L 元器件,即可加入到元器件模板中。同理可加入 LPC2106 元器件。如圖3-6 元器件添加框圖所示。圖 3-6 元器件添加框圖單擊選中元器件 LM016L,在右窗體中單擊鼠標(biāo)左鍵,確定元器件想要放的位置,然后再次單擊鼠標(biāo)左鍵。元器件即可出現(xiàn)在所想要放置的位置上。同理放置元器件 LPC2106。完成后如圖 3-7 元器件擺放顯示框圖所示。西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 9 頁圖 3-7 元器件擺放顯示框圖LM016L 芯片可以用于顯示兩行,每行十六個(gè)字符,可以是字母、數(shù)字和簡單日文。芯

24、片工作電壓:4.55.5V,工作電流:2.0mA(5.0V),模塊最佳工作電壓:5.0V,字符尺寸:2.954.35(WH)mm。3.3.1.33.3.1.3 電路效果圖電路效果圖系統(tǒng)電路圖如圖 3-8 系統(tǒng)電路圖所示。圖 3-8 系統(tǒng)電路圖電路元件 LPC2106 通過 P0.0P0.10 和 LM016L 連接起來。其中,P0.0P0.7 是用來傳送數(shù)據(jù)、地址和控制信號(hào)指令,至于什么時(shí)候傳數(shù)據(jù)、地址和控制信號(hào)指令,用 P0.8P0.10 來進(jìn)行選擇。西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 10 頁3.3.23.3.2 程序設(shè)計(jì)程序設(shè)計(jì)3.3.2.13.3.2.1 RealViewRealVie

25、w MDKMDK 創(chuàng)建工程過程創(chuàng)建工程過程打開 Keil uVision4 軟件,單擊菜單項(xiàng) Project 中的 New uVision Project 項(xiàng),如圖 3-9 工程新建指示框圖所示。圖 3-9 工程新建指示框圖然后彈出對(duì)話窗 Create New Project,選擇已新建好的文件夾,文件夾名為LCD_PRO,然后再建工程名為 LCD_PRO,點(diǎn)擊保存。如圖 3-10 工程新建位置框圖所示。圖 3-10 工程新建位置框圖然后彈出對(duì)話框 Select Device For Target,選擇飛利浦公司的 LPC2106 芯片,點(diǎn)擊確認(rèn),并加載啟動(dòng)代碼。如圖 3-11 芯片仿真選擇框

26、圖所示西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 11 頁圖 4-11 芯片仿真選擇框圖注意,在完成工程的建立以后,單擊鼠標(biāo)右鍵點(diǎn)工程,選擇 Options for Target LCDTarget,在彈出的對(duì)話框中,選擇 Output 選項(xiàng)卡,將 Create HEX file 選中,并點(diǎn)擊 Select Folder for Object選擇你生成的文件所要放置的目錄中。如圖 3-12選項(xiàng)設(shè)置框圖所示。圖 3-12 選項(xiàng)設(shè)置框圖3.3.2.23.3.2.2 程序設(shè)計(jì)流程圖程序設(shè)計(jì)流程圖西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 12 頁圖 3-13 程序流程圖3.3.2.33.3.2.3 功能函數(shù)功能函數(shù)

27、在程序中我使用了幾個(gè)功能函數(shù),函數(shù)如下:函數(shù)名稱:ChkBusy(),函數(shù)主要功能:檢查總線是否忙void ChkBusy() IODIR=0 x700; /先設(shè)置方向使 P0.8P0.10 輸出,使 P0.0P0.7 輸入while(1) /循環(huán)語句IOCLR=rs;/選擇IOSET=rw;/選擇讀方式IOSET=en; if(!(IOPIN & busy)break;IOCLR=en;IODIR=0 x7ff;/*函數(shù)名稱:WrOp(),函數(shù)功能為:寫指令函數(shù)void WrOp(uint8 dat) ChkBusy();/檢查 LCD 是否繁忙IOCLR=rs;/全部清零IOCLR

28、=rw;/設(shè)置讀寫方式為讀西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 13 頁IOCLR=0 xff;/先清零IOSET=dat;/再送數(shù)IOSET=en;/使能,讓置位寄存器開始工作IOCLR=en;/使能,讓清零寄存器開始工作函數(shù)名稱:WrDat(),函數(shù)功能為:寫數(shù)據(jù)函數(shù)void WrDat(uint8 dat)ChkBusy();/檢查 LCD 是否繁忙IOSET=rs;/置位控制選擇IOCLR=rw;/清零寄存器選擇讀IOCLR=0 xff;/先清零IOSET=dat;/再送數(shù)IOSET=en;/使能,讓置位寄存器開始工作IOCLR=en;/使能,讓清零寄存器開始工作函數(shù)名稱:lcd_ini

29、t(),函數(shù)功能為:lcd 初始化函數(shù)void lcd_init(void) WrOp(0 x38);WrOp(0 x06);/光標(biāo)加 1WrOp(0 x0c);/開顯示函數(shù)名稱:DisText(),函數(shù)功能為:顯示文本函數(shù)void DisText(uint8 addr,uint8 *p) int a = 16; /定義一個(gè)變量WrOp(0 x80);/告訴 LCD 從 0 x80 地址開始while(a-)WrDat(0); /將數(shù)據(jù)重新刷一遍,清空WrOp(addr);/告訴 LCD 要寫數(shù)據(jù)的起始地址while(*p !=0)WrDat(*(p+); /從起始地址開始,將數(shù)據(jù)一個(gè)字符一個(gè)

30、字符寫入函數(shù)名稱:time(),函數(shù)功能為:延時(shí)void time() int i = 100000;for(;i = 0; i-);西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 14 頁3.3.2.43.3.2.4 主函數(shù)主函數(shù)函數(shù)名稱:main(),函數(shù)功能為:顯示文本int main(void) int i;uint8 *p= helloworld, helloworld , helloworld , helloworld , helloworld , helloworld ,helloworld ;lcd_init();IODIR=0 x7ff;/設(shè)置為輸出IOCLR=0 x7ff;while(

31、1) DisText(0 x80,p0); for(i=0;i0 x1ffff;i+); DisText(0 x80,p1); for(i=0;i0 x1ffff;i+); DisText(0 x80,p2); for(i=0;i0 x1ffff;i+); DisText(0 x80,p3); for(i=0;i0 x1ffff;i+); DisText(0 x80,p4); for(i=0;i0 x1ffff;i+); DisText(0 x80,p5); for(i=0;i0 x1ffff;i+);3.43.4 設(shè)計(jì)結(jié)果設(shè)計(jì)結(jié)果3.4.13.4.1 編譯結(jié)果編譯結(jié)果下面是對(duì)于實(shí)驗(yàn)源程序的編

32、譯結(jié)果。如圖 3-14 編譯結(jié)果顯示框圖所示。西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 15 頁圖 3-14 編譯結(jié)果顯示框圖3.4.23.4.2 設(shè)計(jì)效果設(shè)計(jì)效果設(shè)計(jì)效果是字符串進(jìn)行從左往右一個(gè)一個(gè)的先出現(xiàn)在屏幕上,并漸漸移動(dòng)到最右端,然后再一個(gè)一個(gè)的消失。并再從右向左一個(gè)一個(gè)的出現(xiàn),再移動(dòng)到最左端,并消失。然后,如此反復(fù)進(jìn)行。其效果如以下圖 3-15 所示。西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 16 頁圖 3-15 設(shè)計(jì)效果顯示框圖4.4.實(shí)驗(yàn)心得實(shí)驗(yàn)心得通過短短兩個(gè)星期的 LCD 驅(qū)動(dòng)課程設(shè)計(jì),我獲益匪淺。在課程設(shè)計(jì)的過程中,我發(fā)現(xiàn)我們專業(yè)在半個(gè)學(xué)期里所修的課程的知識(shí)點(diǎn)都僅僅是基礎(chǔ)中的基礎(chǔ),要完

33、成老師交給我們的任務(wù)還是有一些距離的,于是我上網(wǎng)搜集了許多資料,在完成方案設(shè)計(jì)和程序修改調(diào)試以后,就可初步實(shí)現(xiàn)本課題課程設(shè)計(jì)的要求。但當(dāng)我們將程序運(yùn)行后后,發(fā)現(xiàn)最初的版本并不完美,存在許多使用上的不方便與可以進(jìn)一步改進(jìn)的地方,譬如功能不全、外觀粗糙通過這次課設(shè),我發(fā)現(xiàn)了自己在課本知識(shí)上掌握的不足,同時(shí)把以前所學(xué)過的知識(shí)重新溫故,鞏固了所學(xué)的知識(shí)。我覺得這次的成功很大部分取決冷靜、耐心和細(xì)心。程序的修改,調(diào)試,編譯則離不開冷靜、耐心和細(xì)心等心理素質(zhì)。另外,這次課設(shè)的完滿結(jié)束,給了我們?nèi)蘸螽厴I(yè)設(shè)計(jì)寶貴的經(jīng)驗(yàn),使我們受益匪淺。西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 17 頁附錄附錄File: main.

34、c* 功能:向 LCD 輸出 HelloWorld*/#include config.h#define rs (18)#define rw (19)#define en (110)#define busy (17)/* 名稱:ChkBusy()* 功能:檢查總線是否忙*/void ChkBusy()IODIR=0 x700;while(1)IOCLR=rs;IOSET=rw;IOSET=en;if(!(IOPIN & busy)break;IOCLR=en;IODIR=0 x7ff;/*西安工業(yè)大學(xué)課程設(shè)計(jì)(論文)用紙第 18 頁* 名稱:WrOp()* 功能:寫指令函數(shù)*/void WrOp(uint8 dat)ChkBusy();IOCLR=rs;/全部清零IOCLR=rw;IOCLR=0 xff;/

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論