摘要:本文介紹了一種經過實際應用的使用單片機80c31和sed1335液晶控制器控制lcd顯示模塊的軟硬件設計,為設計各種便攜式系統的顯示前端提供了一種參考。
關鍵詞:單片機 sed1335 lcd 液晶顯示器
韓國三星320×240lcd lcd模塊是一款低價位高品質的lcd模塊,具有高分辨率(點為0.27mm×0.27mm)、高對比度fstn、高可靠性、低功耗、低價格等優(yōu)點,特別適用于數控機床、pda、掌上電腦、游戲機等產品。 sed1335是日本seikoepson公司出品的液晶顯示控制器,在同類產品中是功能很強。其特點為:有較強功能的i/o緩沖器;指令功能豐富;四位數據并行發(fā)送;圖形和文本方式混合顯示。
sed1335指令集 sed1335有13條指令,多數指令帶有參數,參數值由用戶根據所控制的液晶顯示模塊的特征和顯示的需要來設置。指令表如表1所示。 sed1335液晶控制板是用于mpu系統與液晶模塊之間的控制接口板,接收來自mpu系統的指令與數據,并產生相應的時序及數據控制模塊的顯示。a0為lcd控制器寄存器選擇輸入,類似于通常字符點陣lcd模塊的rs或d/i。mpu把指令代碼寫入指令輸入緩沖器內(即a0=1),指令的參數數據則隨后通過數據輸入緩沖器(a0=0)寫入。帶有參數指令代碼的作用之一就是選通相應的參數寄存器,除sleepin、csrdir、csrr和mread外任一條指令的執(zhí)行都產生在附屬參數的輸入完成之后。mpu可用寫入新參數與余下的舊參數有效地組合成新的參數,需要注意的是所寫參數的順序不能改變,也不能省略。 表1 sed1335指令集
功能 |
指令 |
代碼 |
說明 |
參數量 |
系統控制 |
system set |
40h |
初始化,顯示窗口空閑操作 |
8 |
|
sleep in |
53h |
|
- |
顯示操作 |
disp on/off |
59h/58h |
設置開關,設置顯示方式 |
1 |
|
scroll |
44h |
設置顯示區(qū)域,卷動 |
10 |
|
csrform |
5dh |
設置光標形狀 |
2 |
|
|
|
|
|
硬件接口電路 一般sed1335控制板有一跳線,用來選擇mpu是mcs51或mc68000單片機。此處硬件設計采用單片機80c31控制sed1335來完成對液晶顯示模塊的控制,接口電路圖如圖1所示。 80c31外擴32k的27256 eeprom,用以存儲程序及顯示資料。lcd的八位數據d0~d7接到80c31的外部數據總線p0.0-p0.7上,lcd的片選cs接80c31的p2.7(a15),lcd的a0接80c31的p2.0(a8),所以lcd的口地址為0xxxxxx0xxxxxxxxb或0xxxxxx1xxxxxxxxb,v0為lcd的對比度調節(jié),接一個20k的電位器中間抽頭,當向vee方向調時,lcd對比度增大,向vdd方向調時,lcd對比度減小。
軟件 seed1335的程序設計非常簡潔方便,其流程是: 在硬件系統上電復位后,軟件根據液晶模塊的參數(如液晶的行數、列數、掃描頻率等)和需要的顯示方式設置各個指令的參數來初始化系統,之后就可以由單片機把數據直接送給sed1335的顯示緩存,sed1335就可以控制液晶顯示。如果在后面需要改變顯示的形式(如使原來靜止的圖片翻轉),只要對應表1中的指令改變相應指令的參數,然后重新輸入數據即可改變顯示的方式。 設置系統命令參數或送數據給顯緩的方法是:先將指令代碼送到sed1335的命令口地址,然后把該指令的參數送到數據口地址后即可把數據送到數據口地址。語法如下: mov dptr,#xxxxh;xxxxh為命令口或數據口地址 mov a,#xxh;xxh為指令代碼、代碼參數、數據 movx @dptr,a 軟件初始化就是根據表1中提供的指令集設置一些有關lcd的參數,以便lcd能正確顯示圖文信息。對80c31而言,所有對lcd操作的指令均為訪外部i/o指令movx。例如,要顯示320×240的黑白位圖,先將位圖反色,把bmp.hex和程序一起燒錄到27256中,位圖存放在1000h開始的地址。針對320×240lcd點陣三層圖形疊加顯示初始化程序如下。 init: mov dptr,#0101h;命令40h參數設置,#0101h為命令口地址 mov a,#40h movx @dptr,a;把命令代碼送給命令口地址 mov a,#30h mov dptr,#0000h;#0000h為數據口
摘要:本文介紹了一種經過實際應用的使用單片機80c31和sed1335液晶控制器控制lcd顯示模塊的軟硬件設計,為設計各種便攜式系統的顯示前端提供了一種參考。 關鍵詞:單片機 sed1335 lcd 液晶顯示器
韓國三星320×240lcd lcd模塊是一款低價位高品質的lcd模塊,具有高分辨率(點為0.27mm×0.27mm)、高對比度fstn、高可靠性、低功耗、低價格等優(yōu)點,特別適用于數控機床、pda、掌上電腦、游戲機等產品。 sed1335是日本seikoepson公司出品的液晶顯示控制器,在同類產品中是功能很強。其特點為:有較強功能的i/o緩沖器;指令功能豐富;四位數據并行發(fā)送;圖形和文本方式混合顯示。
sed1335指令集 sed1335有13條指令,多數指令帶有參數,參數值由用戶根據所控制的液晶顯示模塊的特征和顯示的需要來設置。指令表如表1所示。 sed1335液晶控制板是用于mpu系統與液晶模塊之間的控制接口板,接收來自mpu系統的指令與數據,并產生相應的時序及數據控制模塊的顯示。a0為lcd控制器寄存器選擇輸入,類似于通常字符點陣lcd模塊的rs或d/i。mpu把指令代碼寫入指令輸入緩沖器內(即a0=1),指令的參數數據則隨后通過數據輸入緩沖器(a0=0)寫入。帶有參數指令代碼的作用之一就是選通相應的參數寄存器,除sleepin、csrdir、csrr和mread外任一條指令的執(zhí)行都產生在附屬參數的輸入完成之后。mpu可用寫入新參數與余下的舊參數有效地組合成新的參數,需要注意的是所寫參數的順序不能改變,也不能省略。 表1 sed1335指令集
功能 |
指令 |
代碼 |
說明 |
參數量 |
系統控制 |
system set |
40h |
初始化,顯示窗口空閑操作 |
8 |
|
sleep in |
53h |
|
- |
顯示操作 |
disp on/off |
59h/58h |
設置開關,設置顯示方式 |
1 |
|
scroll |
44h |
設置顯示區(qū)域,卷動 |
10 |
|
csrform |
5dh |
設置光標形狀 |
2 |
|
|
|
|
|
硬件接口電路 一般sed1335控制板有一跳線,用來選擇mpu是mcs51或mc68000單片機。此處硬件設計采用單片機80c31控制sed1335來完成對液晶顯示模塊的控制,接口電路圖如圖1所示。 80c31外擴32k的27256 eeprom,用以存儲程序及顯示資料。lcd的八位數據d0~d7接到80c31的外部數據總線p0.0-p0.7上,lcd的片選cs接80c31的p2.7(a15),lcd的a0接80c31的p2.0(a8),所以lcd的口地址為0xxxxxx0xxxxxxxxb或0xxxxxx1xxxxxxxxb,v0為lcd的對比度調節(jié),接一個20k的電位器中間抽頭,當向vee方向調時,lcd對比度增大,向vdd方向調時,lcd對比度減小。
軟件 seed1335的程序設計非常簡潔方便,其流程是: 在硬件系統上電復位后,軟件根據液晶模塊的參數(如液晶的行數、列數、掃描頻率等)和需要的顯示方式設置各個指令的參數來初始化系統,之后就可以由單片機把數據直接送給sed1335的顯示緩存,sed1335就可以控制液晶顯示。如果在后面需要改變顯示的形式(如使原來靜止的圖片翻轉),只要對應表1中的指令改變相應指令的參數,然后重新輸入數據即可改變顯示的方式。 設置系統命令參數或送數據給顯緩的方法是:先將指令代碼送到sed1335的命令口地址,然后把該指令的參數送到數據口地址后即可把數據送到數據口地址。語法如下: mov dptr,#xxxxh;xxxxh為命令口或數據口地址 mov a,#xxh;xxh為指令代碼、代碼參數、數據 movx @dptr,a 軟件初始化就是根據表1中提供的指令集設置一些有關lcd的參數,以便lcd能正確顯示圖文信息。對80c31而言,所有對lcd操作的指令均為訪外部i/o指令movx。例如,要顯示320×240的黑白位圖,先將位圖反色,把bmp.hex和程序一起燒錄到27256中,位圖存放在1000h開始的地址。針對320×240lcd點陣三層圖形疊加顯示初始化程序如下。 init: mov dptr,#0101h;命令40h參數設置,#0101h為命令口地址 mov a,#40h movx @dptr,a;把命令代碼送給命令口地址 mov a,#30h mov dptr,#0000h;#0000h為數據口
熱門點擊
推薦技術資料
| |