版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 西 安 工 業(yè) 大 學(xué) 課 程 設(shè) 計 報 告 PAGE 43 嵌入式系統(tǒng)開發(fā)發(fā)與應(yīng)用課程程設(shè)計 班 級: 00906155 學(xué) 號: XXXXXXXXXXXX 姓 名: XXX 指導(dǎo)老師: 郭郭軍團 計算機科科學(xué)與技術(shù)系系 20122年11月15日TOC o 1-3 h u HYPERLINK l _Toc10918 前言 PAGEREF _Toc10918 1 HYPERLINK l _Toc1411 1.系統(tǒng)設(shè)計 PAGEREF _Toc1411 1 HYPERLINK l _Toc28595 1.1涉及的軟軟硬件簡介 PAGEREF _Toc28595 1 HYPERLINK l _
2、Toc9401 1.1.1 PProteuus 7.88簡介 PAGEREF _Toc9401 1 HYPERLINK l _Toc16146 1.1.2 RRVDS簡介介 PAGEREF _Toc16146 1 HYPERLINK l _Toc18233 1.1.3 芯芯片LPC22106簡介介 PAGEREF _Toc18233 1 HYPERLINK l _Toc24287 1.2.1 LLCD特點 PAGEREF _Toc24287 2 HYPERLINK l _Toc9868 1.2.2 LLCD顯示簡簡介 PAGEREF _Toc9868 3 HYPERLINK l _Toc175
3、3 1.2.3 LLCD顯示流流程圖 PAGEREF _Toc1753 3 HYPERLINK l _Toc22121 1.2.4 LLCD相關(guān)參參數(shù) PAGEREF _Toc22121 4 HYPERLINK l _Toc4866 1.3 Prroteuss仿真電路 PAGEREF _Toc4866 8 HYPERLINK l _Toc9547 1.3.1 PProteuus仿真元件件清單 PAGEREF _Toc9547 8 HYPERLINK l _Toc30822 1.3.2 PProteuus仿真電路路圖截圖 PAGEREF _Toc30822 8 HYPERLINK l _Toc3
4、1390 1.44 程序代碼碼分模塊介紹紹 PAGEREF _Toc31390 8 HYPERLINK l _Toc29963 2.實驗(測試試)結(jié)果 PAGEREF _Toc29963 18 HYPERLINK l _Toc26487 3.總結(jié) PAGEREF _Toc26487 199 HYPERLINK l _Toc31819 參考文獻 PAGEREF _Toc31819 200 HYPERLINK l _Toc1526 后附資料 PAGEREF _Toc1526 211前言近年來,隨著計計算機技術(shù)及及集成電路技技術(shù)的發(fā)展,嵌嵌入式技術(shù)日日漸普及,在在通訊、網(wǎng)絡(luò)絡(luò)、工控、醫(yī)醫(yī)療、電子等等
5、領(lǐng)域發(fā)揮著著越來越重要要的作用。嵌嵌入式系統(tǒng)無無疑成為當(dāng)前前最熱門最有有發(fā)展前途的的IT應(yīng)用領(lǐng)領(lǐng)域之一。液晶顯示器以其其微功耗、體體積小、顯示示內(nèi)容豐富、超超薄輕巧的諸諸多優(yōu)點,在在袖珍式儀表表和低功耗應(yīng)應(yīng)用系統(tǒng)中得得到越來越廣廣泛的應(yīng)用。通通過顯示器同同步顯示元器器件的狀態(tài)可可以更深刻地地理解控制的的原理。通過Proteeus模擬AARM7芯片片設(shè)計,可以以增強我們的的自學(xué)能力和和思考能力,掌掌握科學(xué)研究究的方法,提提高信息檢索索的能力以及及獲取與時俱俱進知識的能能力。同時,使使我們深刻學(xué)學(xué)習(xí)了ARMM的相關(guān)知識識,增強對實實際電路的感感性認(rèn)識,提提高了分析問問題,處理問問題的能力。運用Ke
6、il編編譯C語言,連連接生成Heex文件和AAxf文件。使使用PROTTEUS 77.8SP22仿真,選用用ARM7 LPC21106 芯片片和LCD11602,導(dǎo)導(dǎo)入Hex或或文件,然后后進行軟件仿仿真調(diào)試。1.系統(tǒng)設(shè)計 1.11涉及的軟硬硬件簡介 設(shè)計中軟軟件主要用到到了模型仿真真軟件Prooteus和和編譯套件RRVDS(RRealViiew Deeveloppment Suitee),硬件主主要采用了NNXP公司的的LPC21106微控制制器。 1.1.1 Prooteus 7.8簡介介Proteuss軟件是英國國Labceenter electtroniccs公司出版版的EDA工工具
7、軟件。它它不僅具有其其它EDA工工具軟件的仿仿真功能,還還能仿真單片片機及外圍器器件。它是目目前最好的仿仿真單片機及及外圍器件的的工具。雖然然目前國內(nèi)推推廣剛起步,但但已受到單片片機愛好者、從從事單片機教教學(xué)的教師、致致力于單片機機開發(fā)應(yīng)用的的科技工作者者的青睞。PProteuus是世界上上著名的EDDA工具(仿仿真軟件),從從原理圖布圖圖、代碼調(diào)試試到單片機與與外圍電路協(xié)協(xié)同仿真,一一鍵切換到PPCB設(shè)計,真真正實現(xiàn)了從從概念到產(chǎn)品品的完整設(shè)計計。是目前世世界上唯一將將電路仿真軟軟件、PCBB設(shè)計軟件和和虛擬模型仿仿真軟件三合合一的設(shè)計平平臺,其處理理器模型支持持8051、HHC11、PPI
8、C10/12/166/18/224/30/DsPICC33、AVVR、ARMM、80866和MSP4430等。在在編譯方面,它它也支持IAAR、Keiil和MPLLAB等多種種編譯器。在Proteuus繪制好原原理圖后,調(diào)調(diào)入已編譯好好的目標(biāo)代碼碼文件:*.hex(或或者*.axxf),可以以在Protteus的原原理圖中看到到模擬的實物物運行狀態(tài)和和過程。Prroteuss不僅可將許許多單片機實實例功能形象象化,也可將將許多單片機機實例運行過過程形象化。前前者可在相當(dāng)當(dāng)程度上得到到實物演示實實驗的效果,后后者則是實物物演示實驗難難以達到的效效果。它的元元器件、連接接線路等卻和和傳統(tǒng)的單片片機
9、實驗硬件件高度對應(yīng)。這這在相當(dāng)程度度上替代了傳傳統(tǒng)的單片機機實驗教學(xué)的的功能,例:元器件選擇擇、電路連接接、電路檢測測、電路修改改、軟件調(diào)試試、運行結(jié)果果等。 1.1.2 RVDDS簡介RealVieew Devvelopmment SSuite(RRVDS)是是ARM公司司繼SDT與與ADS1.2之后主推推的新一代開開發(fā)工具。RRVDS集成成的RVCTT是業(yè)內(nèi)公認(rèn)認(rèn)的能夠支持持所有ARMM處理器,并并提供最好的的執(zhí)行性能的的編譯器。RRealViiew Deevelopper Suuite 支支持所有 AARM 系列列核心,并與與眾多第三方方實時操作系系統(tǒng)及工具商商合作簡化開開發(fā)流程。RVD
10、S包含有有四個模塊: (1)IDE:RVDS中中集成了Ecclipsee IDE,用用于代碼的編編輯和管理。支支持語句高亮亮和多顏色顯顯示,以工程程的方式管理理代碼,支持持第三方Ecclipsee功能插件。 (2)RVCTT:RVCTT是業(yè)界最優(yōu)優(yōu)秀的編譯器器,支持全系系列的ARMM和XSCAALE架構(gòu),支支持匯編、CC和C+。 (3)RVD:是RVDSS中的調(diào)試軟軟件,功能強強大,支持FFlash燒燒寫和多核調(diào)調(diào)試,支持多多種調(diào)試手段段,快速錯誤誤定位。 (4)RVISSS:是指令令集仿真器,支支持外設(shè)虛擬擬,可以使軟軟件開發(fā)和硬硬件開發(fā)同步步進行,同時時可以分析代代碼性能,加加快軟件開發(fā)發(fā)
11、速度。RVDS具有代代碼小執(zhí)行效效率高、支持Linnux操作系系統(tǒng)、調(diào)試功能強強大、可虛擬外設(shè)設(shè)等優(yōu)點,同時還還具有內(nèi)容豐豐富的在線文文檔。 1.1.3 芯片LLPC21006簡介LPC21066/21055/21044 包含一個個支持仿真的的ARM7TTDMI-SS CPU、與與片內(nèi)存儲器器控制器接口口的ARM77 局部總線線、與中斷控控制器接口的的AMBA高高性能總線(AAHB)和連連接片內(nèi)外設(shè)設(shè)功能的VLLSI外設(shè)總總線(VPBB ,ARMMAMBA 總線的兼容容超集)。LLPC21006/21005/21004 將ARRM7TDMMI-S配置置為小端(llittlee-endiian
12、)字字節(jié)順序。 AHB外設(shè)分配配了2M 字字節(jié)的地址范范圍,它位于于 4G字節(jié)節(jié)ARM存儲儲器空間的最最頂端。每個個 AHB外外設(shè)都分配了了16k 字字節(jié)的地址空空間。LPCC2106/2105/2104 的外設(shè)功能能(中斷控制制器除外)都都連接到VPPB 總線。AAHB到VPPB 的橋接接將VPB 總線與AHHB總線相連連。VPB 外設(shè)也分配配了2M 字字節(jié)的地址范范圍,從3.5GB 地地址點開始。每每個VPB 外設(shè)在VPPB 地址空空間內(nèi)都分配配了16k 字節(jié)地址空空間。 它擁有以下特性性:ARM7TDMMI-S處理理器 128k字節(jié)片片內(nèi)Flassh程序存儲儲器,具有IISP 和IIAP
13、 功能能。 Flash編程程時間:1mms 可編程程512 字字節(jié),扇區(qū)擦擦除或整片擦擦除只需4000ms 。 64/32/116K 字節(jié)節(jié)靜態(tài)RAMM(LPC22106/22105/22104) 向量中斷控制器器 仿真跟蹤模塊,支支持實時跟蹤蹤 RealMonnitor模模塊支持實時時調(diào)試 標(biāo)準(zhǔn)ARM測試試/ 調(diào)試接接口,兼容現(xiàn)現(xiàn)有工具 極小封裝:TQQFP48 (77mm2) 雙UART,其其中一個帶有有完全的調(diào)制制解調(diào)器接口口 I2C 串行接接口 SPI 串行接接口 兩個定時器,分分別具有4 路捕獲/ 比較通道 多達6 路輸出出的PWM 單元 實時時鐘 看門狗定時器 通用I/O 口口 C
14、PU 操作頻頻率可達600MHz 雙電源 CPU 操作作電壓范圍:1.65VV1.955V(1.88V 8.3%) I/O 電壓壓范圍:3.0V3.6V(3.3V 10%) 兩個低功耗模式式:空閑和掉掉電 通過外部中斷將將處理器從掉掉電模式中喚喚醒 外設(shè)功能可單獨獨使能/ 禁禁止,實現(xiàn)功功耗最優(yōu)化 片內(nèi)晶振的操作作頻率范圍:10MHzz25MHHz 片內(nèi)PLL 允允許CPU 以最大速度度運行,可以以在超過整個個晶振操作頻頻率范圍的情情況下使用。由于擁有以上特特性,LPCC2106適適用于nteernet 網(wǎng)關(guān)、串行行通信協(xié)議轉(zhuǎn)轉(zhuǎn)換器、訪問問控制、工業(yè)業(yè)控制、醫(yī)療療設(shè)備及其它它各種類型的的應(yīng)用。
15、 1.2 LCD顯示示原理和初始始化流程圖 1.2.1 LCD特點在日常生活中,我我們對液晶顯顯示器并不陌陌生。液晶顯顯示模塊已作作為很多電子子產(chǎn)品的通過過器件,如在在計算器、萬萬用表、電子子表及很多家家用電子產(chǎn)品品中都可以看看到,顯示的的主要是數(shù)字字、專用符號號和圖形。在在單片機的人人機交流界面面中,一般的的輸出方式有有以下幾種:發(fā)光管、LLED數(shù)碼管管、液晶顯示示器。發(fā)光管管和LED數(shù)數(shù)碼管比較常常用,軟硬件件都比較簡單單,在前面章章節(jié)已經(jīng)介紹紹過,在此不不作介紹,本本章重點介紹紹字符型液晶晶顯示器的應(yīng)應(yīng)用。 在單片機系統(tǒng)中中應(yīng)用晶液顯顯示器作為輸輸出器件有以以下幾個優(yōu)點點:顯示質(zhì)量高由于
16、液晶顯示器器每一個點在在收到信號后后就一直保持持那種色彩和和亮度,恒定定發(fā)光,而不不像陰極射線線管顯示器(CCRT)那樣樣需要不斷刷刷新新亮點。因因此,液晶顯顯示器畫質(zhì)高高且不會閃爍爍。數(shù)字式接口液晶顯示器都是是數(shù)字式的,和和單片機系統(tǒng)統(tǒng)的接口更加加簡單可靠,操操作更加方便便。體積小、重量輕輕液晶顯示器通過過顯示屏上的的電極控制液液晶分子狀態(tài)態(tài)來達到顯示示的目的,在在重量上比相相同顯示面積積的傳統(tǒng)顯示示器要輕得多多。功耗低相對而言,液晶晶顯示器的功功耗主要消耗耗在其內(nèi)部的的電極和驅(qū)動動IC上,因因而耗電量比比其它顯示器器要少得多。 1.2.22 LCD顯顯示簡介 液晶顯示原原理液晶顯示的原理理
17、是利用液晶晶的物理特性性,通過電壓壓對其顯示區(qū)區(qū)域進行控制制,有電就有有顯示,這樣樣即可以顯示示出圖形。液液晶顯示器具具有厚度薄、適適用于大規(guī)模模集成電路直直接驅(qū)動、易易于實現(xiàn)全彩彩色顯示的特特點,目前已已經(jīng)被廣泛應(yīng)應(yīng)用在便攜式式電腦、數(shù)字字?jǐn)z像機、PPDA移動通通信工具等眾眾多領(lǐng)域。 液晶顯示器器的分類液晶顯示的分類類方法有很多多種,通??煽砂雌滹@示方方式分為段式式、字符式、點點陣式等。除除了黑白顯示示外,液晶顯顯示器還有多多灰度有彩色色顯示等。如如果根據(jù)驅(qū)動動方式來分,可可以分為靜態(tài)態(tài)驅(qū)動(Sttatic)、單單純矩陣驅(qū)動動(Simpple Maatrix)和和主動矩陣驅(qū)驅(qū)動(Acttiv
18、e MMatrixx)三種。液晶顯示器各各種圖形的顯顯示原理:線段的顯示點陣圖形式液晶晶由MN個個顯示單元組組成,假設(shè)LLCD顯示屏屏有64行,每每行有1288列,每8列列對應(yīng)1字節(jié)節(jié)的8位,即即每行由166字節(jié),共1168=1128個點組組成,屏上66416個個顯示單元與與顯示RAMM區(qū)10244字節(jié)相對應(yīng)應(yīng),每一字節(jié)節(jié)的內(nèi)容和顯顯示屏上相應(yīng)應(yīng)位置的亮暗暗對應(yīng)。例如如屏的第一行行的亮暗由RRAM區(qū)的0000H00FH的的16字節(jié)的的內(nèi)容決定,當(dāng)當(dāng)(000HH)=FFHH時,則屏幕幕的左上角顯顯示一條短亮亮線,長度為為8個點;當(dāng)當(dāng)(3FFHH)=FFHH時,則屏幕幕的右下角顯顯示一條短亮亮線;
19、當(dāng)(0000H)=FFH,(0001H)=00H,(0002H)=00H,(00EEH)=000H,(000FH)=000H時,則則在屏幕的頂頂部顯示一條條由8段亮線線和8條暗線線組成的虛線線。這就是LLCD顯示的的基本原理。字符的顯示用LCD顯示一一個字符時比比較復(fù)雜,因因為一個字符符由68或或88點陣陣組成,既要要找到和顯示示屏幕上某幾幾個位置對應(yīng)應(yīng)的顯示RAAM區(qū)的8字字節(jié),還要使使每字節(jié)的不不同位為“11”,其它的的為“0”,為為“1”的點點亮,為“00”的不亮。這這樣一來就組組成某個字符符。但由于內(nèi)內(nèi)帶字符發(fā)生生器的控制器器來說,顯示示字符就比較較簡單了,可可以讓控制器器工作在文本本
20、方式,根據(jù)據(jù)在LCD上上開始顯示的的行列號及每每行的列數(shù)找找出顯示RAAM對應(yīng)的地地址,設(shè)立光光標(biāo),在此送送上該字符對對應(yīng)的代碼即即可。漢字的顯示漢字的顯示一般般采用圖形的的方式,事先先從微機中提提取要顯示的的漢字的點陣陣碼(一般用用字模提取軟軟件),每個個漢字占322B,分左右右兩半,各占占16B,左左邊為1、33、5右右邊為2、44、6根根據(jù)在LCDD上開始顯示示的行列號及及每行的列數(shù)數(shù)可找出顯示示RAM對應(yīng)應(yīng)的地址,設(shè)設(shè)立光標(biāo),送送上要顯示的的漢字的第一一字節(jié),光標(biāo)標(biāo)位置加1,送送第二個字節(jié)節(jié),換行按列列對齊,送第第三個字節(jié)直到322B顯示完就就可以LCDD上得到一個個完整漢字。1.2.
21、3 LLCD顯示流流程圖LCD顯示流程程圖如下圖所所示:1.2.4 LLCD相關(guān)參參數(shù)1602LCDD的基本參數(shù)數(shù)及引腳功能能1602LCDD分為帶背光光和不帶背光光兩種,基控控制器大部分分為HD444780,帶帶背光的比不不帶背光的厚厚,是否帶背背光在應(yīng)用中中并無差別,兩兩者尺寸差別別如下圖所示示:1602LCDD主要技術(shù)參參數(shù):顯示容量:162個個字符芯片工作電壓:4.555.5V工作電流:2.0mAA(5.0VV)模塊最佳工作電電壓:5.0V字符尺寸:2.954.35(WH)mmm引腳功能說明1602LCDD采用標(biāo)準(zhǔn)的的14腳(無無背光)或116腳(帶背背光)接口,各各引腳接口說說明如下
22、表所示:編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSSS為地電源。第2腳:VDDD接5V正電電源。第3腳:VL為為液晶顯示器器對比度調(diào)整整端,接正電電源時對比度度最弱,接地地時對比度最最高,對比度度過高時會產(chǎn)產(chǎn)生“鬼影”,使用時可可以通過一個個10K的電電位器調(diào)整對對比度。第4腳:RS為為寄存器選擇擇,高電平時時選擇數(shù)據(jù)寄寄存器、低電電平時選擇指指令寄存器。第5腳:R
23、/WW為讀寫信號號線,高電平平時進行讀操操作,低電平平時進行寫操操作。當(dāng)RSS和R/W共共同為低電平平時可以寫入入指令或者顯顯示地址,當(dāng)當(dāng)RS為低電電平R/W為為高電平時可可以讀忙信號號,當(dāng)RS為為高電平R/W為低電平平時可以寫入入數(shù)據(jù)。第6腳:E端為為使能端,當(dāng)當(dāng)E端由高電電平跳變成低低電平時,液液晶模塊執(zhí)行行命令。第714腳:D0D77為8位雙向向數(shù)據(jù)線。第15腳:背光光源正極。第16腳:背光光源負(fù)極。1602LCDD的指令說明明及時序1602液晶模模塊內(nèi)部的控控制器共有111條控制指指令,如下表所示:序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回
24、000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制制0000001DCB5光標(biāo)或字符移位位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯貯器地址0001字符發(fā)生存貯器器地址8置數(shù)據(jù)存貯器地地址001顯示數(shù)據(jù)存貯器器地址9讀忙標(biāo)志或地址址01BF計數(shù)器地址10寫數(shù)到CGRAAM或DDRRAM)10要寫的數(shù)據(jù)內(nèi)容容11從CGRAM或或DDRAMM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容容1602液晶模模塊的讀寫操操作、屏幕和和光標(biāo)的操作作都是通過指指令編程來實實現(xiàn)的。(說說明:1為高高電平、0為為低電平)指令1:清顯示示,指令碼001H,光標(biāo)標(biāo)復(fù)位到地址址00H位置置。
25、指令2:光標(biāo)復(fù)復(fù)位,光標(biāo)返返回到地址000H。指令3:光標(biāo)和和顯示模式設(shè)設(shè)置 I/DD:光標(biāo)移動動方向,高電電平右移,低低電平左移 S:屏幕上上所有文字是是否左移或者者右移。高電電平表示有效效,低電平則則無效。指令4:顯示開開關(guān)控制。 D:控制整整體顯示的開開與關(guān),高電電平表示開顯顯示,低電平平表示關(guān)顯示示 C:控制制光標(biāo)的開與與關(guān),高電平平表示有光標(biāo)標(biāo),低電平表表示無光標(biāo) B:控制光光標(biāo)是否閃爍爍,高電平閃閃爍,低電平平不閃爍。指令5:光標(biāo)或或顯示移位 S/C:高高電平時移動動顯示的文字字,低電平時時移動光標(biāo)。指令6:功能設(shè)設(shè)置命令 DDL:高電平平時為4位總總線,低電平平時為8位總總線 N
26、:低低電平時為單單行顯示,高高電平時雙行行顯示 F: 低電平時時顯示5x77的點陣字符符,高電平時時顯示5x110的點陣字字符。指令7:字符發(fā)發(fā)生器RAMM地址設(shè)置。指令8:DDRRAM地址設(shè)設(shè)置。指令9:讀忙信信號和光標(biāo)地地址 BF:為忙標(biāo)志位位,高電平表表示忙,此時時模塊不能接接收命令或者者數(shù)據(jù),如果果為低電平表表示不忙。指令10:寫數(shù)數(shù)據(jù)。指令11:讀數(shù)數(shù)據(jù)。 與HD447780相兼容容的芯片時序序表如下所示示:讀狀態(tài)輸入RS=L,R/W=H,EE=H輸出D0D7=狀狀態(tài)字寫指令輸入RS=L,R/W=L,DD0D7=指令碼,EE=高脈沖輸出無讀數(shù)據(jù)輸入RS=H,R/W=H,EE=H輸出D
27、0D7=數(shù)數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,DD0D7=數(shù)據(jù),E=高脈沖輸出無讀寫操作時序如如下圖所示:讀操作時序圖寫操作時序圖1602LCDD的RAM地地址映射及標(biāo)標(biāo)準(zhǔn)字庫表液晶顯示模塊是是一個慢顯示示器件,所以以在執(zhí)行每條條指令之前一一定要確認(rèn)模模塊的忙標(biāo)志志為低電平,表表示不忙,否否則此指令失失效。要顯示示字符時要先先輸入顯示字字符地址,也也就是告訴模模塊在哪里顯顯示字符,下下圖所示為11602的內(nèi)內(nèi)部顯示地址址。例如第二行第一一個字符的地地址是40HH,那么是否否直接寫入440H就可以以將光標(biāo)定位位在第二行第第一個字符的的位置呢?這這樣不行,因因為寫入顯示示地址時要求求最高位D77恒
28、定為高電電平1所以實實際寫入的數(shù)數(shù)據(jù)應(yīng)該是0010000000B(440H)+1100000000B(880H)=1110000000B(CC0H)。在對液晶模塊的的初始化中要要先設(shè)置其顯顯示模式,在在液晶模塊顯顯示字符時光光標(biāo)是自動右右移的,無需需人工干預(yù)。每每次輸入指令令前都要判斷斷液晶模塊是是否處于忙的的狀態(tài)。1602液晶模模塊內(nèi)部的字字符發(fā)生存儲儲器(CGRROM)已經(jīng)經(jīng)存儲了1660個不同的的點陣字符圖圖形,如圖110-58所所示,這些字字符有:阿拉拉伯?dāng)?shù)字、英英文字母的大大小寫、常用用的符號、和和日文假名等等,每一個字字符都有一個個固定的代碼碼,比如大寫寫的英文字母母“A”的代碼是
29、0010000001B(441H),顯顯示時模塊把把地址41HH中的點陣字字符圖形顯示示出來,我們們就能看到字字母“A”1602LCDD的一般初始始化(復(fù)位)過過程延時15mS寫指令38H(不不檢測忙信號號)延時5mS寫指令38H(不不檢測忙信號號)延時5mS寫指令38H(不不檢測忙信號號)以后每次寫指令令、讀/寫數(shù)數(shù)據(jù)操作均需需要檢測忙信信號寫指令38H:顯示模式設(shè)設(shè)置寫指令08H:顯示關(guān)閉寫指令01H:顯示清屏寫指令06H:顯示光標(biāo)移移動設(shè)置寫指令0CH:顯示開及光光標(biāo)設(shè)置 1.3 Protteus仿真真電路 使用Prooteus進進行仿真電路路設(shè)計,下面面依次介紹仿仿真細(xì)節(jié)。 1.3.1
30、1 Protteus仿真真元件清單元件名稱規(guī)格型號單位數(shù)量ARM7芯片LPC21066片1LCD16022LM016L個1瓷片電容CAP-ELEEC個1電源+3.3V個1電源+1.8V個1電阻10K歐姆只2 1.3.22 Protteus仿真真電路圖截圖圖 1.4 程程序代碼分模模塊介紹實驗的C語言程程序代碼如下下所示(附注注釋):/main.c/* File: mainn.c* 功能:向LLCD輸出HHelloWWorld*/#includde cconfigg.h#definee rs (18)#definee rw (19)#definee en (1100)#definee busyy
31、 (17)uint8 ttxt=HellloWorrld;/* 名稱:ChhkBusyy()* 功能:檢查查總線是否忙忙*/void ChhkBusyy()IODIR=0 x7000;while(1)IOCLRR=rs;IOSETT=rw;IOSETT=en;if(!(IOPINN & buusy)bbreak;IOCLRR=en;IODIR=0 x7fff;/* 名稱:WrrOp()* 功能:寫函函數(shù)*/void WrrOp(uiint8 ddat)ChkBussy();IOCLR=rs;/全部清清零IOCLR=rw;IOCLR=0 xff;/先清零零IOSET=dat;/再送數(shù)數(shù)IOSET
32、=en;IOCLR=en;/* 名稱:WrrDat()* 功能:寫數(shù)數(shù)據(jù)函數(shù)*/void WrrDat(uuint8 dat)ChkBussy();IOSET=rs;IOCLR=rw;IOCLR=0 xff;/先清零零IOSET=dat;/再送數(shù)數(shù)IOSET=en;IOCLR=en;/* 名稱:lccd_iniit()* 功能:lccd初始化函函數(shù)*/void lccd_iniit(voiid)WrOp(00 x38);WrOp(00 x06);/光標(biāo)加加1WrOp(00 x0c);/開顯示示/* 名稱:DiisTextt()* 功能:顯示示文本函數(shù)*/void DiisTextt(uintt
33、8 adddr,uinnt8 *pp)WrOp(aaddr);while(*p !=0)WrDatt(*(p+);/* 名稱:maain()* 功能:顯示示文本*/int maain(vooid) lcdd_initt();IODIR=0 x7fff;/設(shè)置為為輸出IOCLR=0 x7fff;DisTexxt(0 x886,txtt);while(1);/LPC21106.h/* Exteernal Interrruptss */* 外部中斷斷控制寄存器器 */#definee EXTIINT (*(volaatile unsiggned cchar *) 0 xEE01FC1140)/外部中
34、中斷標(biāo)志寄存存器#definee EXTWWAKE (*(volaatile unsiggned cchar *) 0 xEE01FC1144)/外部中中斷喚醒,是是否從處理器器掉電中喚醒醒/* SMemmory mmappinng conntrol. */* 內(nèi)存reemap控制制寄存器 */#definee MEMMMAP (*(volaatile unsiggned llong *) 0 xEE01FC0040)/選擇讀讀取向量的不不同地址/* Phasse Loccked LLoop (PLL) */* PLL控控制寄存器 */#definee PLLCCON (*(volaatile
35、 unsiggned cchar *) 0 xEE01FC0080)/PLLL控制位保持持寄存器#definee PLLCCFG (*(volaatile unsiggned cchar *) 0 xEE01FC0084)/PLLL配置值保持持寄存器#definee PLLSSTAT (*(volaatile unsiggned sshort*) 0 xEE01FC0088)/控制和和配置信息讀讀回寄存器#definee PLLFFEED (*(volaatile unsiggned cchar *) 0 xEE01FC008C)/使能控控制和配置/* Poweer Conntrol */*
36、功率控制制寄存器 */#definee PCONN (*(volaatile unsiggned cchar *) 0 xEE01FC00C0)/功率控控制(空閑模模式或掉電模模式)#definee PCONNP (*(volaatile unsiggned llong *) 0 xEE01FC00C4)/外設(shè)功功率控制/* VPB Dividder */* VLSII外設(shè)總線(VVPB)分頻頻寄存器 */#definee VPBDDIV (*(volaatile unsiggned cchar *) 0 xEE01FC1100)/VPBB時鐘設(shè)置/* Memoory Acccelerrato
37、r Modulle (MAAM) */* 存儲器加加速模塊 */#definee MAMCCR (*(volaatile unsiggned cchar *) 0 xEE01FC0000)/控制#definee MAMTTIM (*(volaatile unsiggned cchar *) 0 xEE01FC0004)/定時控控制/* Vecttored Interrrupt Contrrollerr (VICC) */* 向量中斷斷控制器(VVIC)的特特殊寄存器 */#definee VICIIRQStaatus (*(volaatile unsiggned llong *) 0 xFFF
38、FFF0000)/IRQQ狀態(tài)#definee VICFFIQStaatus (*(volaatile unsiggned llong *) 0 xFFFFFF0004)/FIQQ狀態(tài)#definee VICRRawInttr (*(volaatile unsiggned llong *) 0 xFFFFFF0008)/所有中中斷的狀態(tài)#definee VICIIntSellect (*(volaatile unsiggned llong *) 0 xFFFFFF000C)/中斷選選擇#definee VICIIntEnaable (*(volaatile unsiggned llong *)
39、 0 xFFFFFF0010)/中斷使使能#definee VICIIntEnCClr (*(volaatile unsiggned llong *) 0 xFFFFFF0014)/中斷使使能清零#definee VICSSoftInnt (*(volaatile unsiggned llong *) 0 xFFFFFF0018)/軟件中中斷#definee VICSSoftInntCleaar (*(volaatile unsiggned llong *) 0 xFFFFFF001C)/軟件中中斷清零#definee VICPProtecction (*(volaatile unsiggne
40、d llong *) 0 xFFFFFF0020)/保護使使能#definee VICVVectAdddr (*(volaatile unsiggned llong *) 0 xFFFFFF0030)/向量地地址#definee VICDDefVecctAddrr (*(volaatile unsiggned llong *) 0 xFFFFFF0034)/默認(rèn)地地址#definee VICVVectAdddr0 (*(volaatile unsiggned llong *) 0 xFFFFFF1100)/向量地地址#definee VICVVectAdddr1 (*(volaatile un
41、siggned llong *) 0 xFFFFFF1104)#definee VICVVectAdddr2 (*(volaatile unsiggned llong *) 0 xFFFFFF1108)#definee VICVVectAdddr3 (*(volaatile unsiggned llong *) 0 xFFFFFF110C)#definee VICVVectAdddr4 (*(volaatile unsiggned llong *) 0 xFFFFFF1110)#definee VICVVectAdddr5 (*(volaatile unsiggned llong *) 0 x
42、FFFFFF1114)#definee VICVVectAdddr6 (*(volaatile unsiggned llong *) 0 xFFFFFF1118)#definee VICVVectAdddr7 (*(volaatile unsiggned llong *) 0 xFFFFFF111C)#definee VICVVectAdddr8 (*(volaatile unsiggned llong *) 0 xFFFFFF1120)#definee VICVVectAdddr9 (*(volaatile unsiggned llong *) 0 xFFFFFF1124)#definee
43、VICVVectAdddr10 (*(volaatile unsiggned llong *) 0 xFFFFFF1128)#definee VICVVectAdddr11 (*(volaatile unsiggned llong *) 0 xFFFFFF112C)#definee VICVVectAdddr12 (*(volaatile unsiggned llong *) 0 xFFFFFF1130)#definee VICVVectAdddr13 (*(volaatile unsiggned llong *) 0 xFFFFFF1134)#definee VICVVectAdddr14
44、(*(volaatile unsiggned llong *) 0 xFFFFFF1138)#definee VICVVectAdddr15 (*(volaatile unsiggned llong *) 0 xFFFFFF113C)#definee VICVVectCnntl0 (*(volaatile unsiggned llong *) 0 xFFFFFF2200)/向量控控制#definee VICVVectCnntl1 (*(volaatile unsiggned llong *) 0 xFFFFFF2204)#definee VICVVectCnntl2 (*(volaatile
45、unsiggned llong *) 0 xFFFFFF2208)#definee VICVVectCnntl3 (*(volaatile unsiggned llong *) 0 xFFFFFF220C)#definee VICVVectCnntl4 (*(volaatile unsiggned llong *) 0 xFFFFFF2210)#definee VICVVectCnntl5 (*(volaatile unsiggned llong *) 0 xFFFFFF2214)#definee VICVVectCnntl6 (*(volaatile unsiggned llong *) 0
46、 xFFFFFF2218)#definee VICVVectCnntl7 (*(volaatile unsiggned llong *) 0 xFFFFFF221C)#definee VICVVectCnntl8 (*(volaatile unsiggned llong *) 0 xFFFFFF2220)#definee VICVVectCnntl9 (*(volaatile unsiggned llong *) 0 xFFFFFF2224)#definee VICVVectCnntl10 (*(volaatile unsiggned llong *) 0 xFFFFFF2228)#defin
47、ee VICVVectCnntl11 (*(volaatile unsiggned llong *) 0 xFFFFFF222C)#definee VICVVectCnntl12 (*(volaatile unsiggned llong *) 0 xFFFFFF2230)#definee VICVVectCnntl13 (*(volaatile unsiggned llong *) 0 xFFFFFF2234)#definee VICVVectCnntl14 (*(volaatile unsiggned llong *) 0 xFFFFFF2238)#definee VICVVectCnntl
48、15 (*(volaatile unsiggned llong *) 0 xFFFFFF223C)/* Geneeral PPurposse Inpput/Ouutput (GPIOO) */* 通用并行行IO口的特特殊寄存器 */#definee IOPIIN (*(volaatile unsiggned llong *) 0 xEE00280000)#definee IOSEET (*(volaatile unsiggned llong *) 0 xEE00280004)#definee IODIIR (*(volaatile unsiggned llong *) 0 xEE0028000
49、8)#definee IOCLLR (*(volaatile unsiggned llong *) 0 xEE0028000C)/* Pin Conneect Bllock */* 管腳連接接模塊控制寄寄存器 */#definee PINSSEL0 (*(volaatile unsiggned llong *) 0 xEE002C0000)#definee PINSSEL1 (*(volaatile unsiggned llong *) 0 xEE002C0004)/* Univversall Asynnchronnous RReceivver Trransmiitter 0 (UAART0)
50、 */* 通用異步步串行口0(UART00)的特殊寄寄存器 */#definee U0RBBR (*(volaatile unsiggned cchar *) 0 xEE000C0000)#definee U0THHR (*(volaatile unsiggned cchar *) 0 xEE000C0000)#definee U0IEER (*(volaatile unsiggned cchar *) 0 xEE000C0004)#definee U0IIIR (*(volaatile unsiggned cchar *) 0 xEE000C0008)#definee U0FCCR (*(v
51、olaatile unsiggned cchar *) 0 xEE000C0008)#definee U0LCCR (*(volaatile unsiggned cchar *) 0 xEE000C000C)#definee U0LSSR (*(volaatile unsiggned cchar *) 0 xEE000C0014)#definee U0SCCR (*(volaatile unsiggned cchar *) 0 xEE000C001C)#definee U0DLLL (*(volaatile unsiggned cchar *) 0 xEE000C0000)#definee U
52、0DLLM (*(volaatile unsiggned cchar *) 0 xEE000C0004)/* Univversall Asynnchronnous RReceivver Trransmiitter 1 (UAART1) */* 通用異步步串行口1(UART11)的特殊寄寄存器 */#definee U1RBBR (*(volaatile unsiggned cchar *) 0 xEE00100000)#definee U1THHR (*(volaatile unsiggned cchar *) 0 xEE00100000)#definee U1IEER (*(volaatil
53、e unsiggned cchar *) 0 xEE00100004)#definee U1IIIR (*(volaatile unsiggned cchar *) 0 xEE00100008)#definee U1FCCR (*(volaatile unsiggned cchar *) 0 xEE00100008)#definee U1LCCR (*(volaatile unsiggned cchar *) 0 xEE0010000C)#definee U1MCCR (*(volaatile unsiggned cchar *) 0 xEE00100010)#definee U1LSSR (
54、*(volaatile unsiggned cchar *) 0 xEE00100014)#definee U1MSSR (*(volaatile unsiggned cchar *) 0 xEE00100018)#definee U1SCCR (*(volaatile unsiggned cchar *) 0 xEE0010001C)#definee U1DLLL (*(volaatile unsiggned cchar *) 0 xEE00100000)#definee U1DLLM (*(volaatile unsiggned cchar *) 0 xEE00100004)/* I2C
55、(8/166 bit data bus) */* 芯片間總總線(I2CC)的特殊寄寄存器 */#definee I2COONSET (*(volaatile unsiggned llong *) 0 xEE001C0000)#definee I2STTAT (*(volaatile unsiggned llong *) 0 xEE001C0004)#definee I2DAAT (*(volaatile unsiggned llong *) 0 xEE001C0008)#definee I2ADDR (*(volaatile unsiggned llong *) 0 xEE001C000C)#
56、definee I2SCCLH (*(volaatile unsiggned llong *) 0 xEE001C0010)#definee I2SCCLL (*(volaatile unsiggned llong *) 0 xEE001C0014)#definee I2COONCLR (*(volaatile unsiggned llong *) 0 xEE001C0018)/* SPI (Seriial Peeripheeral IInterfface) */* SPI總總線接口的特特殊寄存器 */#definee SPI_SPCR (*(volaatile unsiggned cchar
57、 *) 0 xEE00200000)#definee SPI_SPSR (*(volaatile unsiggned cchar *) 0 xEE00200004)#definee SPI_SPDR (*(volaatile unsiggned cchar *) 0 xEE00200008)#definee SPI_SPCCRR (*(volaatile unsiggned cchar *) 0 xEE0020000C)#definee SPI_SPINTT (*(volaatile unsiggned cchar *) 0 xEE0020001C)/* Timeer 0 */* 定時器00的
58、特殊寄存存器 */#definee T0IRR (*(volaatile unsiggned llong *) 0 xEE00040000)#definee T0TCCR (*(volaatile unsiggned llong *) 0 xEE00040004)#definee T0TCC (*(volaatile unsiggned llong *) 0 xEE00040008)#definee T0PRR (*(volaatile unsiggned llong *) 0 xEE0004000C)#definee T0PCC (*(volaatile unsiggned llong *)
59、 0 xEE00040010)#definee T0MCCR (*(volaatile unsiggned llong *) 0 xEE00040014)#definee T0MRR0 (*(volaatile unsiggned llong *) 0 xEE00040018)#definee T0MRR1 (*(volaatile unsiggned llong *) 0 xEE0004001C)#definee T0MRR2 (*(volaatile unsiggned llong *) 0 xEE00040020)#definee T0MRR3 (*(volaatile unsiggne
60、d llong *) 0 xEE00040024)#definee T0CCCR (*(volaatile unsiggned llong *) 0 xEE00040028)#definee T0CRR0 (*(volaatile unsiggned llong *) 0 xEE0004002C)#definee T0CRR1 (*(volaatile unsiggned llong *) 0 xEE00040030)#definee T0CRR2 (*(volaatile unsiggned llong *) 0 xEE00040034)#definee T0CRR3 (*(volaatil
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 十借款合同范例
- 房屋全款協(xié)議合同范例
- 天津濱海汽車工程職業(yè)學(xué)院《水墨藝術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 卡車維修合同范例
- 雙方自愿離婚合同范例
- 消防隱患租房合同范例
- 檔案仿真合同范例
- 醫(yī)學(xué)心理倫理學(xué)測試題(附答案)
- 輻射安全考核核醫(yī)學(xué)??荚囶}+答案
- 公司貨款欠款合同范例
- 現(xiàn)代藥物制劑與新藥研發(fā)智慧樹知到答案章節(jié)測試2023年蘇州大學(xué)
- 肺結(jié)核的學(xué)習(xí)課件
- 心肺復(fù)蘇術(shù)最新版
- 2023-2024學(xué)年貴州省貴陽市小學(xué)數(shù)學(xué)六年級上冊期末自測提分卷
- GB/T 9115.2-2000凹凸面對焊鋼制管法蘭
- 永久避難硐室安裝施工組織措施
- 元旦節(jié)前安全教育培訓(xùn)-教學(xué)課件
- 芯片工藝流程課件1
- 化工原理設(shè)計-苯-氯苯分離過程板式精餾塔設(shè)計
- 新教材人教A版高中數(shù)學(xué)選擇性必修第一冊全冊教學(xué)課件
- IEC60335-1-2020中文版-家用和類似用途電器的安全第1部分:通用要求(中文翻譯稿)
評論
0/150
提交評論