顯示模塊軟件開發(fā)首先要對控制LCD的T6963C的寄存器進行初始化,設(shè)置LCD的特性。其初始化包括:
(1)設(shè)置文本和圖形緩沖區(qū)的起始地址和寬度、屏幕每行的字節(jié)數(shù)。其軟件設(shè)計主要依據(jù)表1指令來實現(xiàn):
表1 T6963C控制指令
計2.jpg)
?
部分軟件代碼如下所示:
IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DB_BASE,0xff);
IOWR _ ALTERA _ AVALON _ PIO _ DATA(LCD_CS_BASE,0);
IOWR _ ALTERA _ AVALON _ PIO _ DATA( LCD _ WR _ BASE ,0 );
IOWR _ ALTERA _AVALON_PIO_DATA(LCD_CD_BASE,0);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,參數(shù)數(shù)據(jù)1);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,參數(shù)數(shù)據(jù)2);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,指令);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,1);//
IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);//
(2)設(shè)置系統(tǒng)的字符和圖形之間按"或"功能顯示,其軟件設(shè)計主要依據(jù)指令80H來實現(xiàn),部分軟件代碼如下所示。
IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DB_BASE,0xff);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,0);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,0);IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,80H);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,1);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);
2.2 LCD滾屏設(shè)計
定時間、定間隔地修改文本顯示區(qū)與圖形顯示區(qū)首地址將會產(chǎn)生顯示畫面滾動顯示效果。軟件實現(xiàn)如下:
Delay(自行設(shè)定延時時間);
alt_u32Text_stadd;
alt_u8Text_stadd_newL,Text_stadd_newH;//調(diào)整后的文本顯示區(qū)低8位地址和高8位地址
Text_stadd_new=文本區(qū)地址高8位×256+文本區(qū)地址低8位+0x14//0x14表示每行可顯示30個字符
Text_stadd_newL=Text_stadd_new/256;
Text_stadd_newH=Text_stadd_new%256;
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,Text_stadd_newL);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,Text_stadd_newH);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,40H)。
圖形顯示區(qū)首地址的調(diào)整方法同文本區(qū)的調(diào)整方法相同。
3 結(jié)論
本文闡述基于NIOSⅡ嵌入式處理器控制LCD的硬件設(shè)計方案和軟件設(shè)計方法,充分體現(xiàn)了NIOSⅡ嵌入式處理器在LCD設(shè)計中的靈活性。
評論