基于DSP的液晶模塊的顯示原理
extern ioport uint poac000;//數(shù)據(jù)寫入地址
extern ioport uint poac001;//指令寫入地址
#define LCDCMD poac001//指令寫入端口地址
#define LCDDATA portc000//寫參數(shù)及顯示數(shù)據(jù)地址
系統(tǒng)硬件上電復(fù)位后,首先完成DSP的初始化,然后根據(jù)用戶系統(tǒng)的需要對(duì)控制器的各項(xiàng)指令代碼及其參數(shù)進(jìn)行設(shè)置,以完成液晶模塊的參數(shù)(如液晶的行數(shù)、列數(shù)、掃描頻率、光標(biāo)的位置等)以及顯示方式等一系列過(guò)程的初始化。在MPU操作SED1335及其控制的液晶顯示模塊時(shí),必須首先寫入SYSTEM SET 40H指令。如果該指令設(shè)置出現(xiàn)錯(cuò)誤,則顯示必定不正常。液晶模塊軟件初始化設(shè)計(jì)的流程圖如圖2所示。
F206初始化程序如下:
asm(“clrc cnf“);
asm(“l(fā)dp #Oh”);
abm(“setc INTM”);
設(shè)置液晶控制器的系統(tǒng)指令及參數(shù)的程序如下:
typedef unsigned int uint;
uint SYSTAB[8]={0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00); //系統(tǒng)設(shè)置指令參數(shù)
uint SCROLLTAB[10]={0,0,Oxf0,0xb0,0x04,0xf0}; //SCROLL指令參數(shù)
void command(uint m)
{
LCDCMD=m; //向1335中寫入指令代碼
}
void data(uint n)
{
LCDDATA=n; //向1335中寫入數(shù)據(jù)及指令參數(shù)
}
評(píng)論