版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)</p><p> 題目 128*64點(diǎn)陣LCD的顯示 </p><p> 院系 信息學(xué)院 </p><p> 專(zhuān)業(yè) 通信工程 </p><p> 姓名 XXX </p&g
2、t;<p> 學(xué)號(hào) XXXXX </p><p> 指導(dǎo)老師 XXX </p><p> 報(bào)告日期 2009.09.10 </p><p> 1. 題目:128*64點(diǎn)陣LCD的顯示</p><p><b> 2. 原理簡(jiǎn)述&l
3、t;/b></p><p> 12864點(diǎn)陣液晶顯示模塊(LCM)就是由128*64個(gè)液晶顯示點(diǎn)組成的一個(gè)128列*64行的陣列。每個(gè)顯示點(diǎn)對(duì)應(yīng)一位二進(jìn)制數(shù),1表示亮,0表示滅。存儲(chǔ)這些點(diǎn)陣信息的RAM稱(chēng)為顯示數(shù)據(jù)存儲(chǔ)器。要顯示某個(gè)圖形或漢字就是將相應(yīng)的點(diǎn)陣信息寫(xiě)入到相應(yīng)的存儲(chǔ)單元中。圖形或漢字的點(diǎn)陣信息當(dāng)然由自己設(shè)計(jì),問(wèn)題的關(guān)鍵就是顯示點(diǎn)在液晶屏上的位置(行和列)與其在存儲(chǔ)器中的地址之間的關(guān)系。<
4、/p><p> 由于多數(shù)液晶顯示模塊的驅(qū)動(dòng)電路是由一片行驅(qū)動(dòng)器和兩片列驅(qū)動(dòng)器構(gòu)成,所以12864液晶屏實(shí)際上是由左右兩塊獨(dú)立的64*64液晶屏拼接而成,每半屏有一個(gè)512*8 bits顯示數(shù)據(jù)RAM。左右半屏驅(qū)動(dòng)電路及存儲(chǔ)器分別由片選信號(hào)CS1和CS2選擇。(少數(shù)廠商為了簡(jiǎn)化用戶(hù)設(shè)計(jì),在模塊中增加譯碼電路,使得128*64液晶屏就是一個(gè)整屏,只需一個(gè)片選信號(hào)。)</p><p> 顯示點(diǎn)在
5、64*64液晶屏上的位置由行號(hào)(line,0~63)與列號(hào)(column,0~63)確定。512*8 bits RAM中某個(gè)存儲(chǔ)單元的地址由頁(yè)地址(Xpage,0~7)和列地址(Yaddress,0~63)確定。每個(gè)存儲(chǔ)單元存儲(chǔ)8個(gè)液晶點(diǎn)的顯示信息。</p><p> 為了使液晶點(diǎn)位置信息與存儲(chǔ)地址的對(duì)應(yīng)關(guān)系更直觀關(guān),將64*64液晶屏從上至下8等分為8個(gè)顯示塊,每塊包括8行*64列個(gè)點(diǎn)陣。每列中的8行點(diǎn)陣信息
6、構(gòu)成一個(gè)8bits二進(jìn)制數(shù),存儲(chǔ)在一個(gè)存儲(chǔ)單元中。(需要注意:二進(jìn)制的高低有效位順序與行號(hào)對(duì)應(yīng)關(guān)系因不同商家而不同)存放一個(gè)顯示塊的RAM區(qū)稱(chēng)為存儲(chǔ)頁(yè)。即64*64液晶屏的點(diǎn)陣信息存儲(chǔ)在8個(gè)存儲(chǔ)頁(yè)中,每頁(yè)64個(gè)字節(jié),每個(gè)字節(jié)存儲(chǔ)一列(8行)點(diǎn)陣信息。因此存儲(chǔ)單元地址包括頁(yè)地址(Xpage,0~7)和列地址(Yaddress,0~63)。</p><p><b> 應(yīng)用系統(tǒng)的基本原理</b>
7、</p><p> 外圍設(shè)備器件工作原理</p><p> 12864點(diǎn)陣型LCD簡(jiǎn)介</p><p> 12864是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及128×64全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示8×4個(gè)(16×16點(diǎn)陣)漢字。</p><p> 表1:12864LCD的
8、引腳說(shuō)明</p><p> 在使用12864LCD前先必須了解以下功能器件才能進(jìn)行編程。12864內(nèi)部功能器件及相關(guān)功能如下:</p><p> 1. 指令寄存器(IR)</p><p> IR是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對(duì)應(yīng)。當(dāng)D/I=0時(shí),在E信號(hào)下降沿的作用下,指令碼寫(xiě)入IR。</p><p> 2.?dāng)?shù)據(jù)寄存器(DR)&
9、lt;/p><p> DR是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對(duì)應(yīng)。當(dāng)D/I=1時(shí),在下降沿作用下,圖形顯示數(shù)據(jù)寫(xiě)入DR,或在E信號(hào)高電平作用下由DR讀到DB7∽DB0數(shù)據(jù)總線。DR和DDRAM之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動(dòng)執(zhí)行的。</p><p><b> 3.忙標(biāo)志:BF</b></p><p> BF標(biāo)志提供內(nèi)部工作情況。BF=1表示
10、模塊在內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù)。BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。</p><p> 利用STATUS READ指令,可以將BF讀到DB7總線,從檢驗(yàn)?zāi)K之工作狀態(tài)。</p><p> 4.顯示控制觸發(fā)器DFF</p><p> 此觸發(fā)器是用于模塊屏幕顯示開(kāi)和關(guān)的控制。DFF=1為開(kāi)顯示(DISPLAY OFF),DDRAM的
11、內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示(DISPLAY OFF)。</p><p> DDF的狀態(tài)是指令DISPLAY ON/OFF和RST信號(hào)控制的。</p><p><b> 5.XY地址計(jì)數(shù)器</b></p><p> XY地址計(jì)數(shù)器是一個(gè)9位計(jì)數(shù)器。高3位是X地址計(jì)數(shù)器,低6位為Y地址計(jì)數(shù)器,XY地址計(jì)數(shù)器實(shí)際上是作為DDRAM的
12、地址指針,X地址計(jì)數(shù)器為DDRAM的頁(yè)指針,Y地址計(jì)數(shù)器為DDRAM的Y地址指針。</p><p> X地址計(jì)數(shù)器是沒(méi)有記數(shù)功能的,只能用指令設(shè)置。</p><p> Y地址計(jì)數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫(xiě)入后,Y地址自動(dòng)加1,Y地址指針從0到63。</p><p> 6.顯示數(shù)據(jù)RAM(DDRAM)</p><p> DDRAM
13、是存儲(chǔ)圖形顯示數(shù)據(jù)的。數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示非選擇。DDRAM與地址和顯示位置的關(guān)系見(jiàn)DDRAM地址表。</p><p><b> 7.Z地址計(jì)數(shù)器</b></p><p> Z地址計(jì)數(shù)器是一個(gè)6位計(jì)數(shù)器,此計(jì)數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當(dāng)一行掃描完成,此地址計(jì)數(shù)器自動(dòng)加1,指向下一行掃描數(shù)據(jù),RST復(fù)位后Z地址計(jì)數(shù)器為0。<
14、;/p><p> Z地址計(jì)數(shù)器可以用指令DISPLAY START LINE預(yù)置。因此,顯示屏幕的起始行就由此指令控制,即DDRAM的數(shù)據(jù)從哪一行開(kāi)始顯示在屏幕的第一行。此模塊的DDRAM共64行,屏幕可以循環(huán)滾動(dòng)顯示64行。</p><p> 12864LCD的指令系統(tǒng)及時(shí)序</p><p> 該類(lèi)液晶顯示模塊(即KS0108B及其兼容控制驅(qū)動(dòng)器)的指令系統(tǒng)比較
15、簡(jiǎn)單,總共只有七種。其指令表如表2所示:</p><p> 表2:12864LCD指令表</p><p> 各功能指令分別介紹如下。</p><p><b> 顯示開(kāi)/關(guān)指令 </b></p><p> 當(dāng)DB0=1時(shí),LCD顯示RAM中的內(nèi)容;DB0=0時(shí),關(guān)閉顯示。</p><p>
16、 2、顯示起始行(ROW)設(shè)置指令</p><p> 該指令設(shè)置了對(duì)應(yīng)液晶屏最上一行的顯示RAM的行號(hào),有規(guī)律地改變顯示起始行,可以使LCD實(shí)現(xiàn)顯示滾屏的效果。</p><p> 3、頁(yè)(PAGE)設(shè)置指令</p><p> 顯示RAM共64行,分8頁(yè),每頁(yè)8行。</p><p> 4、列地址(Y Address)設(shè)置指令</p
17、><p> 設(shè)置了頁(yè)地址和列地址,就唯一確定了顯示RAM中的一個(gè)單元,這樣MPU就可以</p><p> 用讀、寫(xiě)指令讀出該單元中的內(nèi)容或向該單元寫(xiě)進(jìn)一個(gè)字節(jié)數(shù)據(jù)。</p><p><b> 5、讀狀態(tài)指令</b></p><p> 該指令用來(lái)查詢(xún)液晶顯示模塊內(nèi)部控制器的狀態(tài),各參量含義如下:</p>
18、<p> BUSY:1-內(nèi)部在工作0-正常狀態(tài)</p><p> ON/OFF:1-顯示關(guān)閉0-顯示打開(kāi)</p><p> RESET:1-復(fù)位狀態(tài)0-正常狀態(tài)</p><p> 在BUSY和RESET狀態(tài)時(shí),除讀狀態(tài)指令外,其它指令均不對(duì)液晶顯示模塊產(chǎn)生作用。</p><p> 在對(duì)液晶顯示模塊操作之前要查詢(xún)BUSY狀態(tài)
19、,以確定是否可以對(duì)液晶顯示模塊進(jìn)行操作。</p><p><b> 6、寫(xiě)數(shù)據(jù)指令</b></p><p><b> 讀數(shù)據(jù)指令 </b></p><p> 讀、寫(xiě)數(shù)據(jù)指令每執(zhí)行完一次讀、寫(xiě)操作,列地址就自動(dòng)增一。必須注意的是,進(jìn)行讀操作之前,必須有一次空讀操作,緊接著再讀才會(huì)讀出所要讀的單元中的數(shù)據(jù)。</p&
20、gt;<p> 3. 單片機(jī)應(yīng)用系統(tǒng)軟件設(shè)計(jì)</p><p><b> 源程序</b></p><p> ;****************接口設(shè)置****************</p><p> RSEQUp1.5</p><p> RWEQUp1.4</p><p
21、> E EQUP1.3 </p><p> ;-----------------------------------------------</p><p> COUNT EQU31H</p><p> STORE EQU32H</p><p> ;---------------------------
22、--------------------</p><p><b> ORG0000H</b></p><p><b> LJMPMAIN</b></p><p><b> ORG0100H</b></p><p> ;-----------------------
23、------------------------</p><p><b> MAIN:</b></p><p> MOV SP,#5FH</p><p> LCALL DELAY1</p><p><b> NOP</b></p><p> ;*********
24、***********LCD初始化**********************</p><p> LGS0: MOVA,#34H;34H--擴(kuò)充指令操作</p><p> LCALL SEND_I</p><p> MOVA,#30H;30H--基本指令操作</p><p> LCALL SEND_I</p&
25、gt;<p> MOVA,#01H;清除顯示</p><p> LCALL SEND_I</p><p> MOVA,#06H;指定在資料寫(xiě)入或讀取時(shí),光標(biāo)的移動(dòng)方向</p><p> LCALL SEND_I ;DDRAM 的地址計(jì)數(shù)器(AC)加1</p><p> MOVA,#0CH
26、;開(kāi)顯示,關(guān)光標(biāo),不閃爍</p><p> LCALL SEND_I</p><p> ;=================================================</p><p><b> ;顯示漢字和字符</b></p><p> ;加入80ms的延時(shí),動(dòng)態(tài)顯示</p>
27、<p> ;=================================================</p><p><b> HAN_WR2:</b></p><p> LCALL CLEAR_P</p><p><b> HAN_WR2A:</b></p><p>
28、 MOVDPTR,#TAB1A;顯示漢字和字符</p><p> MOVCOUNT,#10H ;地址計(jì)數(shù)器設(shè)為16。</p><p> MOVA,#80H ;第一行起始地址</p><p> LCALL SEND_I</p><p> LCALL QUSHU</p><p&g
29、t;<b> HAN_WR2B:</b></p><p> MOVDPTR,#TAB1B;顯示漢字和字符</p><p> MOVCOUNT,#10H ;地址計(jì)數(shù)器設(shè)為16。</p><p> MOVA,#90H ;第二行起始地址</p><p> LCALL SEND_I&
30、lt;/p><p> LCALL QUSHU</p><p><b> HAN_WR2C:</b></p><p> MOVDPTR,#TAB1C;顯示漢字和字符</p><p> MOVCOUNT,#10H ;地址計(jì)數(shù)器設(shè)為16。</p><p> MOVA,#88H
31、 ;第三行起始地址</p><p> LCALL SEND_I</p><p> LCALL QUSHU</p><p><b> HAN_WR2D:</b></p><p> MOVDPTR,#TAB1D ;顯示漢字和字符</p><p> MOVCOUNT,#10
32、H ;地址計(jì)數(shù)器設(shè)為16。</p><p> MOVA,#98H ;第四行起始地址</p><p> LCALL SEND_I</p><p> LCALL QUSHU</p><p> LCALL DELAY</p><p> LCALL CLEAR_P</p>
33、<p> AJMP MAIN</p><p> ;==================================================</p><p><b> ;清屏</b></p><p> ;==================================================<
34、/p><p><b> CLEAR_P:</b></p><p> MOVA,#01H ;清屏</p><p> LCALL SEND_I</p><p> MOVA,#34H</p><p> LCALL SEND_I</p><p> M
35、OVA,#30H</p><p> LCALL SEND_I</p><p><b> RET</b></p><p> ;==================================================</p><p><b> ;查表取數(shù)據(jù)送顯示</b></p
36、><p> ;==================================================</p><p><b> QUSHU:</b></p><p><b> CLRA</b></p><p> MOVC A,@A+DPTR ;查表取數(shù)據(jù)</p
37、><p> LCALL SEND_D ;送顯示</p><p><b> INCDPTR</b></p><p> LCALL DELAY1 ;延時(shí)80ms,</p><p> DJNZ COUNT,QUSHU</p><p><b> RE
38、T</b></p><p> ;===============================================</p><p><b> ;寫(xiě)數(shù)據(jù)子程序</b></p><p> ;RS=1,RW=0,E=高脈沖,D0-D7=數(shù)據(jù)</p><p> ;=================
39、==============================</p><p><b> SEND_D:</b></p><p> LCALLCHK_BUSY ;寫(xiě)數(shù)據(jù)子程序</p><p><b> SETBRS</b></p><p> CLR RW</p&
40、gt;<p> MOV P0,A</p><p><b> SETBE</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> CLR E</p><p&
41、gt;<b> RET</b></p><p> ;===============================================</p><p><b> ;寫(xiě)指令子程序</b></p><p> ;RS=0,RW=0,E=高脈沖,D0-D7=指令碼</p><p> ;
42、===============================================</p><p><b> SEND_I:</b></p><p> LCALL CHK_BUSY</p><p><b> CLRRS</b></p><p><b> CLRRW&
43、lt;/b></p><p><b> MOVP0,A</b></p><p><b> SETB E</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p>&l
44、t;b> CLRE</b></p><p><b> RET</b></p><p> ;================================================</p><p><b> ;讀數(shù)據(jù)子程序</b></p><p> ;RS=1,R
45、W=1,E=H,D0-D7=數(shù)據(jù)</p><p> ;================================================</p><p><b> READ_D:</b></p><p> LCALL CHK_BUSY ;讀數(shù)據(jù)子程序</p><p><b> SET
46、BRS</b></p><p><b> SETBRW</b></p><p><b> SETBE</b></p><p><b> NOP</b></p><p><b> MOVA,P0</b></p>&l
47、t;p><b> CLRE</b></p><p> MOVSTORE,A</p><p><b> RET</b></p><p> ;================================================</p><p><b> ;;測(cè)忙
48、碌子程序</b></p><p> ;RS=0,RW=1,E=H,D0-D7=狀態(tài)字</p><p> ;================================================</p><p><b> CHK_BUSY:</b></p><p> MOVP0,#0FFH
49、 ;測(cè)忙碌子程序</p><p><b> CLRRS</b></p><p><b> SETBRW</b></p><p><b> SETBE</b></p><p><b> JBP0.7,$</b></p>&l
50、t;p><b> CLRE</b></p><p><b> RET</b></p><p> ;================================================</p><p><b> ;延時(shí)子程序</b></p><p>
51、 ;================================================</p><p><b> DELAY:</b></p><p> MOVR5,#16H</p><p> DEL31: MOVR6,#0FFH</p><p> DEL32: MOVR7,#0F
52、FH</p><p> HDEL33: DJNZR7,HDEL33</p><p> DJNZR6,DEL32</p><p> DJNZR5,DEL31</p><p><b> RET</b></p><p><b> DELAY1:</b><
53、/p><p> MOVR6,#200</p><p> DEL41: MOVR7,#200</p><p> DEL42: DJNZR7,DEL42</p><p> DJNZR6,DEL41</p><p><b> RET</b></p><p&g
54、t; ;***********************************************</p><p><b> TAB1:</b></p><p> TAB1A: DB '單片課程設(shè)計(jì) ' ;顯示在第一行</p><p> TAB1B: DB '指導(dǎo)老師:李燁
55、' ;顯示在第二行</p><p> TAB1C: DB ' 李想 ' ;顯示在第三行</p><p> TAB1D: DB ' AP0605414 ' ;顯示在第四行</p><p><b> END</b></p>
56、<p><b> 5、結(jié)果</b></p><p> 增加延時(shí)可以以動(dòng)態(tài)方式顯示。</p><p><b> 6、參考文獻(xiàn)</b></p><p> 《單片機(jī)課程設(shè)計(jì)指導(dǎo)》,樓然苗,北京航空航天大學(xué)出版社</p><p> 《C51單片機(jī)技術(shù)教程》,田希揮,人民郵電出版社<
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--1616點(diǎn)陣顯示實(shí)驗(yàn)
- 單片機(jī)原理與應(yīng)用課程設(shè)計(jì)---16x16點(diǎn)陣顯示
- 16乘16點(diǎn)陣顯示單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---16乘16點(diǎn)陣顯示
- 單片機(jī)課程設(shè)計(jì)--lcd12864液晶顯示
- lcd顯示設(shè)計(jì)單片機(jī)課程設(shè)計(jì)
- 單片機(jī)lcd系統(tǒng)顯示課程設(shè)計(jì)
- lcd單片機(jī)原理課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)----led點(diǎn)陣漢字顯示
- 基于單片機(jī)的led點(diǎn)陣顯示課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)lcd顯示屏設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--16x16點(diǎn)陣led電子顯示屏的設(shè)計(jì)
- 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)--點(diǎn)陣式液晶顯示屏的顯示程序設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--點(diǎn)陣顯示器報(bào)告
- 課程設(shè)計(jì)---基于單片機(jī)的lcd顯示系統(tǒng)設(shè)計(jì)
- eda課程設(shè)計(jì)--1616點(diǎn)陣顯示
- eda課程設(shè)計(jì)-- 1616點(diǎn)陣顯示
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)原理及應(yīng)用
- 單片機(jī)課程設(shè)計(jì)--帶有l(wèi)cd顯示的定時(shí)鬧鐘
- 單片機(jī)課程設(shè)計(jì)-- 單片機(jī)原理及應(yīng)用
評(píng)論
0/150
提交評(píng)論