《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于DSP和ST7920的液晶顯示模塊的實現

基于DSP和ST7920的液晶顯示模塊的實現

2008-04-18
作者:潘 敏,焦生杰,翁寅生

  摘 要: 提出了一種基于DSP和ST7920控制模塊進行液晶顯示的實現方法,介紹了液晶顯示控制器ST7920的性能特點,給出了DSP與液晶顯示屏LM3303A-B硬件接口設計、軟件設計" title="軟件設計">軟件設計程序流程以及詳細的液晶顯示程序。設計的該顯示模塊能夠應用于工程機械上。
  關鍵詞: DSP ST7920 液晶顯示屏 接口


  DSP是一種適合于數字信號處理的實時高速的高性能微處理器,已廣泛應用于自動控制、圖像處理、通信技術、網絡設備、儀器、儀表和家電領域。液晶顯示屏以其顯示直觀、便于操作的特點被用作各種便攜式系統的顯示終端。傳統液晶大多用單片機控制,而單片機的數字信號處理能力遠低于DSP芯片,使得其應用范圍受到限制。基于此,本文選用TOPWAY公司生產的、以ST7920為控制芯片的128×64點陣3.3V簡體中文字庫的LM3303A-B型圖形液晶,介紹了一種基于DSP和ST7920的液晶顯示屏的設計。
1 ST7920控制器介紹
  LM3303A-B型液晶顯示屏是香港TOPWAY公司采用臺灣銘創電子公司生產的ST7920控制器的液晶顯示屏。它由128×64點陣構成、接口方便(3.3V)、設計簡單、功耗低、價格便宜,可用于各種設備的顯示終端[1]
  ST7920支持8位、4位并行或2線、3線串行兩種接口方式" title="接口方式">接口方式,帶有ZMB的中文字型" title="字型">字型CGROM,該字庫ROM中含有8192個16×16點陣的中文字型,可利用代碼簡單方便地顯示漢字。16KB的半寬字型HCGROM,提供了126個168點陣的ASCII字符庫,便于英文和其他常用字符顯示。64×16位元" title="位元">位元的字型產生CGRAM,用戶可以根據需要構造生僻字。64×26位元的繪圖GDRAM,方便構造圖形。控制器具有繪圖及文字畫面混合顯示功能。另外,控制器提供基本指令與擴充指令命令,功能強大。
2 DSP與液晶顯示屏硬件接口設計
  由于LM3303A-B具有串/并行多種接口方式,針對DSP外圍I/O豐富且處理速度快的特點選用8位并行的接口方式,這種方式下雖然接線多,但是速度比串行要快得多,所以將PSB引腳接高電平。
  DSP 與LM3303A-B之間的接口電路如圖1所示。由于LM3033A-B是3.3V簡體中文圖形液晶,所以DSP與液晶之間不用電平轉換。其中DSP 的IOPE0~IOPE7用作數據接口,與LCD模塊的數據線DB0~DB7相連,完成與LM3303A-B 間的數據傳送;IOPF0與RS相連,決定是數據(RS=0)還是命令(RS=1);IOPF1與R/W相連,決定是寫入(RW=0)還是讀出(RW=1); IOPF2與E相連,工作狀態使能。IOPD0與/RST相連用于復位。VDD接+3.3V輸入電源。A與K引腳間的電壓為顯示屏內部發光二極管提供電壓,使其產生背光;參考文獻[1]中要求調節顯示屏的對比度是在V0與VOUT之間串接一個電位器,但在實際應用中無法實現,而是采用V0直接接+5V的上拉電阻且空出VOUT,可以有效地調節顯示對比度。


3 DSP控制液晶顯示屏的軟件設計
  從程序的可移植性和通用性方面考慮,選擇C語言進行軟件模塊的設計實現。這里通過液晶顯示屏的初始化過程以及如何顯示文本和一幅圖畫來具體說明DSP控制液晶顯示屏的軟件設計。
3.1 軟件設計程序流程
  DSP要控制液晶顯示屏系統運行,首先應將系統接通電源,系統自動復位。復位后進行系統初始化、液晶初始化。在初始化完畢后,系統可以通過控制器發出的指令調用相關函數,完成相應的顯示功能。其主程序流程圖如圖2所示。


3.2 系統及液晶初始化
  系統初始化禁止所有可屏蔽中斷,并關總中斷,在進行關鍵設置時不允許發生中斷,以免產生干擾。允許符號位擴展,將B0配置為數據存儲空間。設置IOPE0~IOPE7為LCD數據接口。
  液晶初始化需首先進行復位清屏,如果液晶顯示屏正常工作,便可寫命令到LCD。其中用到用戶定義的函數LCD_WriteCommand(uchar cmdcode)和函數LCD_Busy(),其作用分別為寫命令到LCD和判斷ST7920內部是否處于忙碌狀態。這里值得注意的是,當ST7920在接受指令前,DSP必須先確認ST7920內部處于非忙碌狀態,即讀取BF標志位時BF需為0,方可接受新的指令。
3.3 ST7920的讀寫時序
  在軟件設計過程中,只有產生符合ST7920的讀寫時序后才能對液晶正確操作,否則液晶顯示屏不會有任何輸出。
  本系統中的DSP主頻為30MHz,相對而言,液晶屬于慢速的外設,所以在讀寫子程序中應該插入一些延時等待。根據圖3和圖4中的時序圖可以編寫以下讀寫子程序(其中為了提高  程序的可移植性與可讀性,在程序開頭都用了宏定義,限于篇幅在此不再給出):


void LCD_WriteCommand(uchar cmdcode)//寫命令到LCD
{
  clr_LCD_RS;
  clr_LCD_RW;
  clr_LCD_E;

  LCD_Out_Data(cmdcode);
  set_LCD_E;
  Delay(10);
  clr_LCD_E;
  Delay(100);
  set_LCD_RW;
}
void LCD_WriteData(uchar lcddata)//寫數據到LCD
{
  set_LCD_RS;
  clr_LCD_RW;
  clr_LCD_E;

  LCD_Out_Data(lcddata);
  set_LCD_E;

  Delay(10);
  clr_LCD_E;
  Delay(100);
  set_LCD_RW;
}
/*忙判別*/
void LCD_Busy(void)
{
  clr_LCD_RS;
  set_LCD_RW;
  clr_LCD_E;
  for(;;)    //若液晶空閑則停止等待
{
    if(!(LCD_In_Data&0x80) )break;
}
  set_LCD_E;
  Delay(10);
  clr_LCD_E;
  Delay(100);
  clr_LCD_RW;
}
3.4 液晶顯示程序設計
  液晶初始化完成后,可調用函數void dis_txt()進行文本的寫入與顯示。詳細代碼如下(其中函數void dis_hz(char*s)用來顯示字符串):
void dis_hz(char*s)//顯示文本字符串
{  while(*s>0)
{LCD_WriteData(*s++);Delay(10);}
void dis_txt()//DDRAM
{
  LCD_Busy();
  LCD_WriteCommand(0x01);//清屏
  LCD_WriteCommand(0x82);//設定DDRAM地址為0x82
  dis_hz(″TOPWAY″);//字母數字直接送ASCII即可
  LCD_WriteCommand(0x90);//設定DDRAM地址為0x90
  dis_hz(″LM3033 測試程序″);
  LCD_WriteCommand(0x89);//設定DDRAM地址為0x89
  dis_hz(″TMS320LF2407A″);
  LCD_WriteCommand(0x9A);//設定DDRAM地址為0x9A
  dis_hz(″實驗系統″);
}
  液晶顯示屏顯示圖片,調用void Disp_Img(uchar*img)函數,先完成地址歸位和清屏等相關工作,其后的關鍵功能代碼實現如下:
  LCD_WriteCommand(0x34);//選擇8位數據流,擴充指令,繪圖顯示關
  LCD_Busy();
   for(y=0;y<32;y++)
   {
    for(x=0;x<8;x++)
    {
      LCD_WriteCommand(0x80+y);//先將垂直的位元組坐標(Y)寫入GDRAM
      LCD_WriteCommand(0x80+x);//再將水平坐標(X)寫入GDRAM
      LCD_WriteData(img [j++]);//將D15~D8寫入到RAM中
      LCD_WriteData(img [j++]);//將D7~D0寫入到RAM中
    }
    LCD_WriteCommand(0x36);//選擇8位數據流,擴充指令,繪圖顯示開
    Delay (30);
   }
  本文對基于DSP和ST7920液晶顯示模塊" title="液晶顯示模塊">液晶顯示模塊的實現方法進行了探討,對顯示模塊ST7920進行了有效的控制, 所應用程序均在TMS320LF240x系列的軟件編譯環境CCS V2.0下調試通過。液晶顯示屏能夠正常顯示連續的漢字、字符以及圖形,性能穩定。與同類型的其他圖形點陣液晶顯示模塊相比,其硬件電路結構簡單、方式靈活、對于其他型號的接口芯片也有參考價值。該顯示模塊能夠應用于工程機械上。
參考文獻

[1] LM3033A-0B LCD Module User Manual[Z].Shenzhen Top-way Technology Co.,Ltd.
[2] 劉和平.TMS320LF240xDSP C語言開發應用[M].北京航空 航天大學出版社,2005.
[3] 李敏,孟臣.串行接口中文圖形點陣液晶顯示模塊的應用[J].中國電子網,2004.
[4] 王鑫,傅豐林,陳健.一種基于DSP控制的液晶顯示屏的設計及實現[J].集成電路應用,2003,(5):64-66.
[5] 范艷開,張怡,趙芙蓉.基于DSP的液晶模塊的顯示原理及實現[J].集成電路應用,2004,(6):74-76.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产专区在线 | 操操操日日日 | 国产视频二区在线观看 | 毛片在线视频在线播放 | 在线成人tv天堂中文字幕 | 日韩一级欧美一级 | 中文字幕视频在线观看 | 能在线观看的一区二区三区 | www日本黄色 | 国产肥老妇视频∵ | 久久久国产精品免费 | 久久合| 九九热在线视频播放 | 国产成人v视频在线观看 | 午夜dj免费高清在线观看影院 | 国产大片中文字幕 | 50岁老女人毛片一级亚洲 | 毛片又大又粗又长又硬 | 麻豆国产 | 激情免费网站 | 狠狠夜夜| 第一福利在线导航 | 国产麻豆精品一区二区 | 波多野结衣资源在线观看 | 成人久久18免费网站入口 | 国产黄在线观看免费观看软件视频 | 成人黄色免费网址 | xxx.国产| 欧美日韩国产一区二区三区不卡 | 日韩色视| 91视频免费入口 | 成 人 亚洲 综合天堂 | 亚洲国产精品久久久久久 | 成年人午夜免费视频 | 2021国产精品自在拍在线播放 | 欧美午夜大片 | 美女羞羞视频网站 | 亚洲va欧美va国产va天堂影 | 精品久久中文久久久 | 91精品国产免费久久久久久青草 | 高h喷水荡肉爽文np欲 |