基于FM12232A液晶顯示控制實驗
1. 實驗目的(1)學習及掌握FM12232A LCD模塊工作原理。 (2)學習及掌握單片機與FM12232A接口電路連接。 (3)學習及掌握單片機控制FM12232A顯示程序的設計方法。 2. 實驗設備(1)ZY15MCU12BC2單片機實驗開發(fā)裝置一臺。 (2)PC 系列微機及相關(guān)軟件。 3. 實驗內(nèi)容及要求(1)同實驗一。 (2)同實驗一。 (3)FM12232A LCD顯示器內(nèi)部結(jié)構(gòu)及原理。 點陣式液晶顯示模塊FM12232A具有功耗低、供應電壓范圍寬、顯示信息量大、壽命長、不產(chǎn)生電磁輻射污染等特點,廣泛應用于移動通信、儀器儀表、家用電器等領域。 FM12232A模塊由一塊12232 LCD顯示屏(由左、右半屏6116組成)、2片SED1520列驅(qū)動芯片(分別驅(qū)動左、右顯示屏)以及控制電路構(gòu)成,其中控制電路包括:指令寄存器(IR)、數(shù)據(jù)寄存器(DR)、忙標志(BF)、顯示控制觸發(fā)器(DFF)、顯示RAM(DD RAM)、XY地址計數(shù)器等單元。FM12232A顯示屏有16個行驅(qū)動輸出和61個列驅(qū)動輸出,驅(qū)動占空比可設置為1/16或1/32,并可外接驅(qū)動IC擴展驅(qū)動。FM12232A模塊具有與68系列或80系列相適配的MPU接口功能,并有專用的指令集,可完成文本顯示或圖形顯示。圖4-20為FM12232A模塊邏輯結(jié)構(gòu)圖。 圖4-20 FM12232A模塊內(nèi)部邏輯結(jié)構(gòu)圖 【指令寄存器(IR):】存儲CPU寫入的指令碼。當A0 = 0時,CPU寫入的指令碼存入IR中。 【數(shù)據(jù)寄存器(DR):】存儲CPU寫入的顯示數(shù)據(jù)8位點陣碼。當A0 = 1時,DR中8位點陣碼寫入對應的DD RAM單元,并且DD RAM的Y地址計數(shù)器自動加1指向下一個單元,DR和DDRAM之間的傳送是FM12232A模塊內(nèi)部自動執(zhí)行的。 【忙標志(BUSY):】 BUSY為FM12232A工作狀態(tài)標志。BUSY = 1 ,F(xiàn)M12232A為內(nèi)部操作狀態(tài),此時FM12232A禁止接收外部指令和數(shù)據(jù);BUSY = 0 ,F(xiàn)M12232A為準備狀態(tài),此時FM12232A允許接收外部指令和數(shù)據(jù)。 【顯示控制觸發(fā)器(DFF):】DFF觸發(fā)器用于控制FM12232A顯示屏的開、關(guān)。DFF = 0,F(xiàn)M12232A開顯示屏,此時DDRAM中顯示碼送入顯示屏顯示;DFF = 1,F(xiàn)M12232A關(guān)顯示屏。 【顯示RAM(DD RAM):】顯示RAM 為DD RAM結(jié)構(gòu),主要功能為存儲左、右兩個顯示屏顯示數(shù)據(jù)的點陣碼, DD RAM共有4頁×8行×80列(只有前61列有效) = 2560位(320字節(jié))RAM緩沖區(qū),每一列包含的8行對應一個點陣碼字節(jié),RAM中1位二進制數(shù)值控制顯示屏上一個像素點的亮與暗,“1”控制像素點亮、“0”控制像素點暗。DD RAM單元地址與點陣碼顯示位置關(guān)系見表4-1 DD RAM地址表。 表4-1 DD RAM地址表 【XY地址計數(shù)器:】XY地址計數(shù)器為9位計數(shù)器,作為DD RAM的地址指針。其中高3位為X地址計數(shù)器,用作DD RAM的頁指針(0~7),僅用0~3;低6位為Y地址計數(shù)器,用作DD RAM的列指針(0~63)僅用0~60。 【Z地址計數(shù)器:】Z地址計數(shù)器為6位計數(shù)器,用于顯示行掃描同步,Z地址計數(shù)器具有循環(huán)計數(shù)功能,F(xiàn)M12232A復位后,Z地址計數(shù)器值為0。 (4)FM12232A 內(nèi)部指令格式描述。 FM12232A 有專用的指令集,共有14條指令,指令包括控制信號A 0、 和8位命令字,其格式描述如下: ⒈ 顯示開關(guān)控制指令(DISPLAY ON/OFF): 功能:該指令用于開/關(guān)屏幕顯示,指令執(zhí)行時不改變DD RAM中的內(nèi)容,也不影響內(nèi)部狀態(tài)。由D值確定,D = 0,開顯示(DISPLAY ON);D = 1,關(guān)顯示(DISPLAY OFF)。 開顯示指令碼:AFH;關(guān)顯示指令碼:AEH。如果在顯示關(guān)閉的狀態(tài)下選擇靜態(tài)驅(qū)動模式,那么內(nèi)部電路將處于安全模式。 ⒉ 設置顯示起始行指令(Display start line set): 功能:執(zhí)行該命令后,所設置的行將顯示在屏幕的第1行。起始行由A 4 ~ A 0指定,范圍:00000 ~ 11111(0 ~ 31)。可以是0 ~ 31范圍內(nèi)任意一行。 行地址計數(shù)器具有循環(huán)計數(shù)功能,用于顯示行掃描同步,當掃描完一行后自動加一。 起始行指令碼:C0H ~ DFH。 ⒊ 設置顯示頁地址指令(Page Address set): 功能:該指令用于設置DD RAM頁地址。當CPU要對DD RAM進行讀寫操作時,首先要設置頁地址和列地址。本指令不影響顯示。 DD RAM的頁地址,由A 1 A 0指定,范圍:00 ~ 11(0 ~ 3)。 頁地址指令碼:B8H ~ BBH。 ⒋ 設置顯示列地址指令(Column Address set)(Y地址): 功能:該指令用于設置DD RAM中的列地址,列地址由A 6 ~ A 0指定,范圍:000000 ~ 1001111(0 ~ 79),列地址指令碼:00H ~ 4FH。當CPU要對DD RAM進行讀、寫操作前,首先要設置頁地址和列地址。執(zhí)行讀、寫命令后,列地址會自動加1,直到達到50H才會停止,但頁地址不變。 ⒌ 讀狀態(tài)指令(Status Read): 功能:該指令用于檢測模塊內(nèi)部狀態(tài)。 BUSY為忙信號位:BUSY = 1,內(nèi)部操作狀態(tài),禁止接收外部指令和數(shù)據(jù); BUSY = 0,空閑狀態(tài),允許接收外部指令和數(shù)據(jù)。 ADC為顯示方向位:ADC = 0,反向顯示;ADC = 1,正向顯示。 ON/OFF顯示屏開/關(guān)狀態(tài)位:ON/OFF = 0,打開顯示屏,ON/OFF = 1,關(guān)閉顯示屏。 RST復位狀態(tài)位:RST = 0,正常工作;RST = 1,模塊內(nèi)部復位初始化狀態(tài),此時禁止接收外部指令或數(shù)據(jù)。 ⒍ 寫顯示數(shù)據(jù)指令(Write Display Data): 功能:該指令將8位點陣碼數(shù)據(jù)寫入DD RAM對應單元,D7 ~ D0為8位點陣碼數(shù)據(jù),指令執(zhí)行后,列(Y)地址自動加1,所以可以連續(xù)將點陣碼數(shù)據(jù)寫入DD RAM而不用重新設置列地址。 ⒎ 讀顯示數(shù)據(jù)指令(Read Display Data): 功能:該指令讀出由頁地址和列地址指定的DD RAM單元內(nèi)8位點陣碼數(shù)據(jù),D7 ~ D0為DD RAM對應單元的8位點陣碼。當“讀-修改-寫”模式關(guān)閉時,每執(zhí)行一次讀指令,列地址自動加1,因此,可以連續(xù)從DD RAM讀出數(shù)據(jù)而不用設置列地址。 注意:設置完列地址后,首次讀顯示數(shù)據(jù)前必須執(zhí)行一次空的“讀顯示數(shù)據(jù)”操作。這是因為設置完列地址后,第一次讀數(shù)據(jù)時,出現(xiàn)在數(shù)據(jù)總線上的數(shù)據(jù)是列地址而不是要讀出的點陣碼數(shù)據(jù)。 ⒏ 設置列序方向指令(ADC Select): 功能:該指令設置DD RAM中的列地址與段驅(qū)動輸出的對應關(guān)系,由D值確定。 設置D = 0時,正向;D = 1時,反向。 列序正向顯示指令碼:A0H ;列序反向顯示指令碼:A1H。 ⒐ 設置占空比指令(Duty Ratio Select): 功能:該指令設置驅(qū)動占空比,由D值確定。 設置D = 1時,占空比為1/32;D = 0時,占空比為1/16。 設置驅(qū)動占空比指令碼:A9H (1/32),A8H(1/16)。 ⒑ 靜態(tài)驅(qū)動開/關(guān)設置指令(Static Drive On/Off Select): 功能:該指令設置驅(qū)動方式,由D值確定。 D = 0,正常驅(qū)動顯示;D = 1,靜態(tài)驅(qū)動顯示。 在靜態(tài)顯示時,執(zhí)行關(guān)、閉顯示指令,內(nèi)部電路將被置為安全模式。 設置正常驅(qū)動顯示指令碼:A4H ;設置靜態(tài)驅(qū)動顯示指令碼:A5H。 ⒒ “讀-修改-寫”模式設置指令(Read Modify Write Select): 功能:執(zhí)行該指令以后,每執(zhí)行一次寫數(shù)據(jù)指令列地址自動加1;但執(zhí)行讀數(shù)據(jù)指令時列地址不會改變。這個狀態(tài)一直持續(xù)到執(zhí)行“END”指令。 注意:在“讀-修改-寫”模式下,除列地址設置指令之外,其他指令照常執(zhí)行。 設置“讀-修改-寫”模式指令碼:E0H。 ⒓ END指令: 功能:該指令關(guān)閉“讀-修改-寫”模式,并把列地址指針恢復到打開“讀-修改-寫”模式前的位置。 設置END指令碼:EEH。 ⒔ 復位指令(Reset): 功能:該指令使模塊內(nèi)部初始化。 初始化內(nèi)容:① 設置顯示初始行為第1行; ②頁地址設置為第3頁。 復位指令對顯示RAM沒有影響。設置復位指令碼:E2H。 ⒕ 安全模式設置指令(Power Save set): 功能:該指令為雙命令。 設置安全模式(低功耗模式)的方法:① 關(guān)閉顯示(指令碼:AEH);② 打開靜態(tài)顯示(指令碼:A5H)。 關(guān)閉安全模式的方法:① 打開顯示(指令碼:AFH);② 關(guān)閉靜態(tài)顯示(指令碼:A4H)。 安全模式下的內(nèi)部狀態(tài): ① 停止LCD驅(qū)動;② Segment和Common輸出Vdd電平;③ 停止晶體震蕩并禁止外部時鐘輸入,晶振輸入OSC2引腳處于不確定狀態(tài);④ 顯示數(shù)據(jù)和內(nèi)部模式不變。 (5)FM12232A 外部引腳及工作參數(shù)。 FM12232A模塊外部引腳及功能描述見表4-2所示: 表4-2 FM12232A引腳及功能描述表 | | | | | | | | | | | | | | | LCD外接負電壓(接10K可調(diào)電阻到Vss) | | | | 數(shù)據(jù)/命令選擇信號, A0=“H”,數(shù)據(jù)線DB7~ DB0為顯示數(shù)據(jù)信號 A0=“L”,數(shù)據(jù)線DB7~ DB0為命令字/狀態(tài)字 | | | | | | | | | | | | 讀/寫選通信號,  =“L”,寫操作 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
FM12232A模塊特性參數(shù)描述如表4-3所示: 表4-3 FM12232A特性參數(shù)描述表 | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | |
| | | | | |
|
| | | | |
| | | | |
|
| | | | |
|
| | | | | |
| | | | |
| | | | | | | | | | | | A0、  | | | | | |
| | | | | | | | | | | | | | | | |
| | | | | |
| | | | | |
| | | | | | | | | | | |
| | | | |
| | | | | |
|
(6)FM12232A LCD顯示器接口。 FM12232A模塊接口信號包括:8位三態(tài)數(shù)據(jù)總線D7 ~ D0、片選信號 和 、讀寫控制信號 、數(shù)據(jù)/命令選擇信號A0等,ZY15MCU12BC2單片機實驗開發(fā)裝置中單片機通過可編程并行接口芯片8255A實現(xiàn)對FM12232A模塊的顯示驅(qū)動控制,圖4-21為FM12232A與8255A的接口電路圖。 根據(jù)圖4-21電路可知,單片機通過可編程并行接口芯片8255A的PA和PC端口控制FM12232A工作。PA口接FM12232A數(shù)據(jù)總線DB7~DB0(圖中為D7~D0),輸出顯示數(shù)據(jù)點陣碼以及讀、寫FM12232A狀態(tài)/命令字;PC口接FM12232A相關(guān)控制信號:PC2接 引腳:PC2 =“0”,寫操作。PC6、PC3接片選信號 和 引腳:PC6 =“0”,PC3 =“0”,控制2片SED1520驅(qū)動左、右顯示屏顯示。PC7接A0引腳:PC7 =“1”,數(shù)據(jù)線DB7~ DB0為顯示數(shù)據(jù)信號; 圖4-21 FM12232A與8255A接口電路圖 PC7 =“0”,數(shù)據(jù)線DB7~ DB0為命令字/狀態(tài)字。PC4接RES引腳:PC4 =“1”,F(xiàn)M12232A外部復位操作。因此,設置8255A工作在方式1,PA、PC端口為輸出口,8255A工作方式字為#80H,由實驗箱電路圖4.2可知,8255A芯片A口、B口、C口和命令口地址分別為:BFFCH、BFFDH、BFFEH和BFFFH。 FM12232A LCD顯示器接口軟件初始化: 根據(jù)上述介紹,F(xiàn)M12232A初始化操作步驟如下: MOV DPTR,#0BFFFH ;8255A控制端口 MOV A,#80H ;寫入方式字:#80H, MOVX @DPTR,A ② 設置FM12232A 外部復位操作,引腳RES為高電平,PC4 =“1”, MOV A,#0 000100 1H ;PC4 =“1”,RES =“1”, MOVX @DPTR,A ③ 設置FM12232A 引腳A0 為低電平,PC7 =“0”, MOV A,#0 000111 0H ;PC7 =“0”,A0 =“0”, MOVX @DPTR,A ④ 設置 和 引腳低電平,PC6 =“0”,PC3 =“0”, MOV DPTR,#0BFFFH ;PC6和PC3送脈沖信號 MOV A,#0 000110 1H ;PC6 =“1”, =“1”, MOVX @DPTR,A NOP MOV A,#0 000110 0H ;PC6 =“0”, =“0”, MOVX @DPTR,A NOP MOV A,# 0 000110 1H ;PC6 =“1”, =“1”, MOVX @DPTR,A NOP MOV A,#0 000011 1H ;PC3 =“1”, =“1”, MOVX @DPTR,A NOP MOV A,#0 000110 0H ;PC6 =“0”, =“0”, MOVX @DPTR,A NOP MOV A,#0 000011 0H ;PC3 =“0”, =“0”, MOVX @DPTR,A NOP ⑤ 8255A的PA口寫入復位指令碼:#E2H MOV DPTR,#0BFFCH ;8255A 芯片PA端口 MOV A,#0E2H ;寫入復位指令碼:#E2H, MOVX @DPTR,A ⑥ 8255A的PA口寫入開顯示指令碼:#AFH 重復執(zhí)行③、④步操作 MOV A,#0AFH ;寫入開顯示指令碼:#AFH MOVX @DPTR,A ⑦ 清屏操作 MOV R4,#04H ;顯示屏有4頁 MOV R3,#00H ;設置頁地址初值 LOOP: MOV COM_BUF,#0B8H ; 頁地址字為B8H MOV A,COM_BUF ORL A,R3 ;修改頁地址 MOV COM_BUF,A LCALL WLIQ ;設置A0引腳低電平, 和 引腳低電平, ;向8255A的PA口寫入頁地址命令字B8H, MOV COM_BUF,#00H ;設置列地址初值為0 LCALL WLIQ ;設置A0引腳低電平, 和 引腳低電平, ;向8255A的PA口寫入列地址命令字00H, MOV 43H,#3dH NET1: MOV DAT_BUF,#00H ;清屏點陣數(shù)據(jù)全部為00H LCALL WDAT ;設置A0引腳高電平, 和 引腳低電平, ;向8255A的PA口寫入清屏數(shù)據(jù)00H, DJNZ 43H,NET1 ;延時 INC R3 ;指向下一頁 DJNZ R4,LOOP 編寫實驗程序,實現(xiàn)單片機控制FM12232A顯示字符及漢字。 將漢字“湖北眾友科技公司,感謝您使用該產(chǎn)品”顯示在FM12232A液晶顯示屏上。 (7)實驗程序流程圖如圖4-22所示。 圖4-22 FM12232A實驗程序流程圖 (8)實驗程序(略)。ZY12232.ASM。 (9)在μVision3開發(fā)平臺上輸入程序,編譯、連接程序。 (10)調(diào)試、運行程序。 ⒈ 打開仿真器與實驗箱電源,初始化8255A,設置8255A工作在方式0,PA、PC端口為輸出口,向8255A控制口寫方式字#80H。 ⒉ 測試8255A的PC口狀態(tài),向8255A控制口寫C口置位/復位字: #0FH ~ #00H,檢查PC7 ~ PC0狀態(tài)與寫入控制字是否一致,如有故障,應及時排除。 ⒊ 將程序斷點設置在BK1、BK2處,當程序運行后在BK1處暫停時,液晶屏應為全屏暗,繼續(xù)運行至BK2處時,屏幕顯示“湖北眾友科技公司,感謝您使用該產(chǎn)品”。 ⒋ 改變字庫表點陣碼,顯示其他漢字。 ⒌ 改變頁地址,移動顯示屏漢字位置。 (11)實驗結(jié)束,拆除接線,將一切整理復原。 4. 實驗預習要求(1)認真閱讀、理解實驗指導書并領會本次實驗目的要求與實驗內(nèi)容。 (2)仔細閱讀FM12232A模塊控制原理、結(jié)構(gòu)、引腳、接口信號及內(nèi)部指令字等內(nèi)容。 (3)仔細閱讀FM12232A顯示實驗程序。 5. 實驗報告要求(1)按實驗順序,記錄并分析實驗數(shù)據(jù)。 (2)實驗程序框圖,實驗程序清單。 (3)寫出實驗結(jié)果、實驗體會及對實驗的改進意見。
word格式的選題資料下載地址:
http://www.zg4o1577.cn/bbs/dpj-93744-1.html
|