實驗八 單片機液晶顯示實驗_第1頁
實驗八 單片機液晶顯示實驗_第2頁
實驗八 單片機液晶顯示實驗_第3頁
實驗八 單片機液晶顯示實驗_第4頁
實驗八 單片機液晶顯示實驗_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗八 單片機液晶顯示實驗 1、 實驗?zāi)康?、了解液晶顯示屏的控制原理及方法。2、了解點陣漢字的顯示原理。2、 實驗說明 1、 利用實驗上的液晶顯示屏電路,編寫程序控制顯示,輸出漢字。 2、本實驗儀采用的液晶顯示屏內(nèi)置控制器為SED1520,點陣為122x32,需要兩片SED1520組成,由E1、E2分別選通,以控制顯示屏的左右兩半屏。圖形液晶顯示模塊有兩種連接方式。一種為直接訪問方式,一種為間接控制方式。本實驗儀采用直接控制方式。 3、 實驗儀器計算機偉福實驗箱( lab2000P )4、 實驗內(nèi)容1、利用實驗上的液晶顯示屏電路,編寫程序控制顯示,輸出漢字。 2、本實驗儀采用的液晶顯示屏內(nèi)置

2、控制器為SED1520,點陣為122x32,需要兩片SED1520組成,由E1、E2分別選通,以控制顯示屏的左右兩半屏。圖形液晶顯示模塊有兩種連接方式。一種為直接訪問方式,一種為間接控制方式。本實驗儀采用直接控制方式。 3、直接控制方式就是將液晶顯示模塊的接口作為存儲器或IO設(shè)備直接掛在計算機總線上。計算機通過地址譯碼控制 E1和 E2的選通;讀寫操作信號 RW由地址線 A1控制;命令/數(shù)據(jù)寄存器選擇信號 AO由地址線 A0控制。實際電路如上圖所示。地址映射如下(地址中的X由LCD CS決定,可參見地址譯碼部分說明) 5、 思考題1、顯示自己的班級和姓名; 2、可以動態(tài)顯示,上下或者左右移動;

3、 6、 源程序修改原理及其仿真結(jié)果原程序:CWADD1 EQU 08000H ;寫指令代碼地址(E1)DWADD1 EQU 08001H ;寫顯示數(shù)據(jù)地址(E1)CRADD1 EQU 08002H ;讀狀態(tài)字地址(E1)DRADD1 EQU 08003H ;讀顯示數(shù)據(jù)地址(E1)CWADD2 EQU 08004H ;寫指令代碼地址(E2)DWADD2 EQU 08005H ;寫顯示數(shù)進地址(E2)CRADD2 EQU 08006H ;讀狀態(tài)字地址(E2)DRADD2 EQU 08007H ;讀顯示數(shù)據(jù)地址(E2)PD1 EQU 3DH ;122/2 分成左右兩半屏 122x32COLUMN E

4、QU 30HPAGE_ EQU 31H ;頁地址寄存器 D1,DO:頁地址CODE_ EQU 32H ;字符代碼寄存器COUNT EQU 33H ;計數(shù)器DIR equ 34hdtp1 equ 35hdtp2 equ 36hdtp3 equ 37hCTEMP EQU 38HCOM EQU 20H ;指令寄存器DAT EQU 21H ;數(shù)據(jù)寄存器 ORG 0 jmp main mov dptr, #0f002h mov a,#56h movx dptr,a mov a,#0 movx a,dptr JMP MAIN;-; 初始化程序INIT: MOV COM, #0E2H ;復(fù)位 LCALL P

5、RO LCALL PR3 MOV COM, #0A4H ;關(guān)閉休閉狀態(tài) LCALL PRO LCALL PR3 MOV COM, #0A9H ;設(shè)置 132占空比 LCALL PRO LCALL PR3 MOV COM, #0A0H ;正向排序設(shè)置 LCALL PRO LCALL PR3 MOV COM, #0C0H ;設(shè)置顯示起始行為第一行 LCALL PRO LCALL PR3 MOV COM, #0AFH ;開顯示設(shè)置 LCALL PRO LCALL PR3 RET;-; 清屏CLEAR: MOV R4,#00H ;頁面地址暫存器設(shè)置CLEAR1: MOV A,R4 ;取頁地址值 ORL

6、 A,#0B8H ;"或"頁面地址設(shè)置代碼 MOV COM,A ;頁面地址設(shè)置 LCALL PRO LCALL PR3 MOV COM,#00H ;列地址設(shè)置為"0" LCALL PRO LCALL PR3 MOV R3,#50H ;一頁清 80個字節(jié)CLEAR2: MOV DAT,#00H ;顯示數(shù)據(jù)為"0" LCALL PR1 LCALL PR4 DJNZ R3,CLEAR2 ;頁內(nèi)字節(jié)清零循環(huán) INC R4 ;頁地址暫存器加一 CJNE R4,#04H,CLEAR1;RAM區(qū)清零循環(huán) RET;-;1寫指令代碼子程序(E1)PRO

7、: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 ;設(shè)置讀狀態(tài)字地址PR01: MOVX A,DPTR ;讀狀態(tài)字 JB ACC.7,PR01 ;判"忙"標(biāo)志為句"0",否再讀 MOV DPTR,#CWADD1 ;設(shè)置寫指令代碼地址 MOV A,COM ;取指令代碼 MOVX DPTR,A ;寫指令代碼 POP DPH POP DPL RET;-;2.寫顯示數(shù)據(jù)子程序(E1)PR1: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 ;設(shè)置讀狀態(tài)字地址PR11: MOVX A,DPTR ;讀狀態(tài)宇 JB ACC

8、.7,PR11 ;判"忙"標(biāo)志為"0",否再讀 MOV DPTR,#DWADD1 ;設(shè)置寫顯示數(shù)據(jù)地址 MOV A,DAT ;取數(shù)據(jù) MOVX DPTR,A ;寫數(shù)據(jù) POP DPH POP DPL RET;-;3.讀顯示數(shù)據(jù)子程序(E1)PR2: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 ;設(shè)置讀狀態(tài)字地址PR21: MOVX A,DPTR ;讀狀態(tài)字 JB ACC.7,PR21 ;判"忙"標(biāo)志為"0"否,否再讀 MOV DPTR,#DRADD1 ;設(shè)置讀顯示數(shù)據(jù)地址 MOVX A,D

9、PTR ;讀數(shù)據(jù) MOV DAT,A ;存數(shù)據(jù) POP DPH POP DPL RET;-;4.寫指令代碼子程序(E2)PR3: PUSH DPL PUSH DPH MOV DPTR,#CRADD2 ;設(shè)置讀狀態(tài)字地址PR31: MOVX A,DPTR ;讀狀態(tài)字 JB ACC.7,PR31 ;判"忙"陳志為"0"否,否再讀 MOV DPTR,#CWADD2 ;設(shè)置寫指令代碼地址 MOV A,COM ;取指令代碼 MOVX DPTR,A ;寫指令代碼 POP DPH POP DPL RET;-; 5.寫顯示數(shù)據(jù)子程序(E2)PR4: PUSH DPL P

10、USH DPH MOV DPTR,#CRADD2 ;設(shè)置讀狀態(tài)字地址PR41: MOVX A,DPTR ;讀狀態(tài)字 JB ACC.7,PR41 ;判"忙"標(biāo)志為"0"否,否再讀 MOV DPTR, #DWADD2 ;設(shè)置寫顯示數(shù)據(jù)地址 MOV A,DAT ;取數(shù)據(jù) MOVX DPTR,A ;寫數(shù)據(jù) POP DPH POP DPL RET;-; 6.讀顯示數(shù)據(jù)子程序(E2)PR5: PUSH DPL PUSH DPH MOV DPTR,#CRADD2 ;設(shè)置讀狀態(tài)字地址PR51: MOVX A,DPTR ;讀狀態(tài)字 JB ACC.7,PR51 ;判&quo

11、t;忙"標(biāo)志為"0",否再讀 MOV DPTR,#DRADD2 ;設(shè)置寫顯示數(shù)據(jù)地址 MOVX A,DPTR ;讀數(shù)據(jù) MOV DAT,A ;存數(shù)據(jù) POP DPH POP DPL RET; 中文顯示子程序CCW_PR: MOV DPTR,#CCTAB ;確定字符字模塊首地址 MOV A,CODE_ ;取代碼 MOV B,#20H ;字模塊寬度為 32個字節(jié) MUL AB ;代碼×32 ADD A,DPL ;字符字模塊首地址 MOV DPL,A ;字模庫首地址代碼×32 MOV A,B ADDC A,DPH MOV DPH,A PUSH COL

12、UMN ;列地址入棧 PUSH COLUMN ;列地址入棧 MOV CODE_,#00H ;代碼寄存器借用為間址寄存器CCW_1: MOV COUNT,#10H ;計數(shù)器設(shè)置為 16 MOV A,PAGE_ ;讀頁地址寄存器 ANL A,#03H ;取頁地址有效值 ORL A,#0B8H ;"或"頁地址設(shè)置代碼 MOV COM,A ;設(shè)置頁地址 LCALL PRo LCALL PR3 POP COLUMN ;取列地址值 MOV A,COLUMN ;讀列地址寄存器 CLR C SUBB A,#PD1 ;列地址-模塊參數(shù) JC CCW_2 ;0為左半屏顯示區(qū)域(E1) MOV

13、COLUMN,A ;0為右半屏顯示區(qū)域(E2) MOV A,PAGE_ SETB ACC.3 ;設(shè)置區(qū)域標(biāo)志位。 MOV PAGE_,A ;"0"為E1,"1"為E2CCW_2: MOV COM,COLUMN ;設(shè)置列地址值 MOV A,PAGE_ ;判區(qū)域標(biāo)志以確定設(shè)置哪個控制器 JNB ACC.3,CCW_3 LCALL PR3 ;區(qū)域E2 LJMP CCW_4CCW_3: LCALL PRO ;區(qū)域E1CCW_4: MOV A,CODE_ ;取間址寄存器值 MOVC A,A+DPTR ;取漢字字模數(shù)據(jù) MOV DAT,A ;寫數(shù)據(jù) MOV A,PA

14、GE_ JNB ACC.3,CCW_5 LCALL PR4 ;區(qū)域E2 LJMP CCW_6CCW_5: LCALL PR1 ;區(qū)域E1CCW_6: INC CODE_ ;間址寄存器加一 INC COLUMN ;列地址寄存器加一 MOV A,COLUMN ;判列地址是否超出區(qū)域范圍、 CJNE A,#PD1,CCW_7CCW_7: JC CCW_8 ;未超出則繼續(xù) MOV A,PAGE_ ;超出則判是否在區(qū)域E2 JB ACC.3,CCW_8 ;在區(qū)域E2則退出 SETB ACC.3 ;在區(qū)域E1則修改成區(qū)域E2 MOV PAGE_,A MOV COM,#00H ;設(shè)置區(qū)域E2列地址為&quo

15、t;0" LCALL PR3CCW_8: DJNZ COUNT,CCW_4 ;當(dāng)頁循環(huán) MOV A,PAGE_ ;讀頁地址寄存器 JB ACC.7,CCW_9 ;判完成標(biāo)志D7位,"1"則完成退出 INC A ;否則頁地址加一 SETB ACC.7 ;置完成位為"1" CLR ACC.3 MOV PAGE_,A MOV CODE_,#10H ;間址寄存器設(shè)置為 16 LJMP CCW_1 ;大循環(huán)CCW_9: RET;-;中文字符庫CCTAB: DB 000H,004H,0e4H,024H,024H,064H,0b4H,02fH ; 南 DB

16、024H,0a4H,064H,024H,024H,0e6H,004H,000H DB 000H,000H,07fH,004H,005H,005H,005H,07fH DB 005H,005H,005H,025H,044H,03fH,000H,000H DB 000H,004H,004H,0e4H,024H,024H,025H,026H ; 京 DB 024H,024H,024H,0e4H,006H,004H,000H,000H DB 000H,020H,010H,019H,00DH,041H,081H,07fH DB 001H,001H,005H,00dH,038H,010H,000H,000

17、H DB 000H,080H,060H,0f8H,007H,00aH,028H,028H ; 偉 DB 028H,0ffH,028H,028H,028H,028H,000H,000H DB 001H,000H,000H,0fFH,000H,001H,001H,001H DB 001H,0ffH,001H,021H,041H,03fH,000H,000H DB 008H,008H,089H,0ceH,028H,018H,002H,07aH ; 福 DB 04aH,04aH,04aH,04aH,04aH,07aH,002H,000H DB 002H,001H,000H,0ffH,001H,002H

18、,0ffH,049H DB 049H,049H,07fH,049H,049H,049H,0ffH,000H;-.; 中文演示顯示程序段MAIN: LCALL INIT LCALL CLEAR MOV CTEMP,#0 MOV DIR,#0AAA: MOV PAGE_,#02H MOV COLUMN,CTEMP MOV CODE_,#00H LCALL CCW_PR MOV PAGE_,#02H MOV A,CTEMP ADD A,#10H MOV COLUMN,A MOV CODE_,#01H LCALL CCW_PR MOV PAGE_,#02H MOV A,CTEMP ADD A,#20H

19、 MOV COLUMN,A MOV CODE_,#02H LCALL CCW_PR MOV PAGE_,#02H MOV A,CTEMP ADD A,#30H;順次向后顯示,30H表示顯示在第四個位置 MOV COLUMN,A MOV CODE_,#03H ;取對應(yīng)的字模03H代表中文字庫表中的第四組數(shù)據(jù)在此對應(yīng)"8" LCALL CCW_PR MOV PAGE_,#02H MOV A,CTEMP ADD A,#40H MOV COLUMN,A MOV CODE_,#04H LCALL CCW_PR MOV PAGE_,#02H MOV A,CTEMP ADD A,#50H

20、 MOV COLUMN,A MOV CODE_,#04H LCALL CCW_PR LJMPS_DOWN;選用此句可實現(xiàn)文字循環(huán)向下滾動顯示 ;LJMP S_UP ;選用此句可實現(xiàn)文字循環(huán)向上滾動顯示 ;LJMP LEFT ;選用此句可實現(xiàn)文字循環(huán)向左滾動顯示 ;SJMP $;選用此句文字呈現(xiàn)靜態(tài)顯示 LCALL DELAY ;若刪去上述跳轉(zhuǎn)直接執(zhí)行以下程序可實現(xiàn) 文字循環(huán)向右滾動顯示 LCALL DELAY LCALL DELAY MOV A, DIR CJNE A,#0, LEFT INC CTEMP MOV A,CTEMP CJNE A,#58, AAA MOV DIR,#1 LJMP

21、AAA LEFT: DEC CTEMP MOV A,CTEMP CJNE A,#0, AAA MOV DIR,#0 LJMP AAA ;LCALL S_LEFT ;LCALL S_UP SJMP $滾動演示程序段,定時間隔地有規(guī)律地修改顯示起始行地址,將產(chǎn)生顯示畫面平滑向上或向下滾動的效果。示例程序如下:S_UP: MOV R7,#00H ;向上改動程序S_UPI: MOV A,#0C0H ;顯示起始行設(shè)置代碼 ORL A,R7 MOV COM,A LCALL PRO LCALL PR3 LCALL DELAY ;調(diào)延時子程序 INC R7 CJNE R7,#20H,S_UPI LJMP S_

22、UP;-S_DOWN: MOV R7,#1FH ;向下滾動程序 MOV COM,#0C0H ;顯示起始行設(shè)置代碼 LCALL PRo LCALL PR3 LCALL DELAY ;調(diào)延時子程序S_DOWN1: MOV A,#0C0H ;顯示起始行設(shè)置代碼 ORL A,R7 MOV COM,A LCALL PRO LCALL PR3 LCALL DELAY DJNZ R7,S_DOWN1 LJMP S_DOWN;-DELAY: MOV R6,#060H ;延時子程序 MOV R5,#00HDELAY1: NOP DJNZ R5,DELAY1 DJNZ R6,DELAY1 RET修改:分行顯示,第

23、一行顯示“高亞豪”,第二行顯示“10082208”將顯示部分的程序改為:AAA: MOV PAGE_,#02H MOV COLUMN,CTEMP MOV CODE_,#00H LCALL CCW_PR MOV PAGE_,#02H MOV A,CTEMP ADD A,#10H MOV COLUMN,A MOV CODE_,#01H LCALL CCW_PR MOV PAGE_,#02H MOV A,CTEMP ADD A,#20H MOV COLUMN,A MOV CODE_,#02H LCALL CCW_PR MOV PAGE_,#03H MOV A,CTEMP ADD A,#00H MOV COLUMN,A MOV CODE_,#03H LCALL CCW_PRM

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論