|
LCD12232_E2=0; _nop_(); LCD12232_A0=1; LCD12232_RW=0; LCD12232_E2=1; _nop_(); LCD12232_DATA=i; _nop_(); LCD12232_E2=0; _nop_(); }</P><P>/*--------------------------------------------------------------------------------------------------*/ //顯示8*8點陣 //字模被豎著切分 //lin:行(0-3), column: 列(0-14) //address : 字模區(qū)首地址 void Show88(unsigned char lin,unsigned char column,unsigned int address) { unsigned char i,j;</P><P> if( column > 14) return;</P><P></P><P> if( column < 7 ) //8*8點陣都在左屏(Master) { OutMI( 0xB8 | lin); //設(shè)置顯示行 OutMI( column*8 ); //設(shè)置顯示列 for(i=0; i<8 ; i++ ) { OutMD( CBYTE[address+i] ); } } if( column == 7) //8*8點陣,前6個在左屏(Master),后兩個在右屏(Slave) { OutMI( 0xB8 | lin); //設(shè)置顯示行 OutMI( column*8 ); //左屏 for(i=0; i<6 ; i++ ) { OutMD( CBYTE[address+i] ); }</P><P> OutSI( 0xB8 | lin); //設(shè)置顯示行 OutSI( 0 ); //右屏 for(i=0; i<3 ; i++ ) { OutSD( CBYTE[address+i+5] ); } } if( column > 7) //8*8點陣都在右屏(Slave) { OutSI( 0xB8 | lin); //設(shè)置顯示行 OutSI( column*8-61 ); for(i=0; i<8 ; i++ ) { OutSD( CBYTE[address+i] ); } } }</P><P>/*------------------------------------------------------------------------------------------------*/ //顯示8*16字符 //旋轉(zhuǎn)90度:字模被豎著切分 //lin:行(0-3), column: 列(0-15) //character:字符代碼(標準ASCII碼) void ShowChar(unsigned char lin,unsigned char column,unsigned char character) { lin=lin<<1; Show88(lin ,column,ASCII816[character-0x20] ); Show88(lin+1,column,ASCII816[character-0x20]+8 ); } /*----------------------------------------------------------------------------------------------*/ //顯示一個漢字 //旋轉(zhuǎn)90度:字模被豎著切分 //lin:行(0-3), column: 列(0-7) //hzcode: 漢字代碼(自定義的) //uchar code HZtable void ShowHZ(unsigned char lin,unsigned char column,unsigned int hzcode) { lin=lin<<1; //lin*2 Show88(lin,column,HZTable[hzcode]); Show88(lin,column+1,HZTable[hzcode]+8); Show88(lin+1,column,HZTable[hzcode]+16); Show88(lin+1,column+1,HZTable[hzcode]+24); } ////////////////////////////////////////////////////////////////////////</P><P> /*------------------------------------------------------------------------------ 調(diào)用方式:void LcdIni(void) 函數(shù)說明:12232點陣液晶初始化,開機后僅調(diào)用一次。 ------------------------------------------------------------------------------*/ void InitLCD(void) { OutMI(0XE2);OutSI(0XE2);//復位 OutMI(0XAE);OutSI(0XAE);//POWER SAVE OutMI(0XA4);OutSI(0XA4);//動態(tài)驅(qū)動 OutMI(0XA9);OutSI(0XA9);//1/32占空比 OutMI(0XA0);OutSI(0XA0);//時鐘線輸出 OutMI(0XEE);OutSI(0XEE);//寫模式 OutMI(0XC0);OutMI(0X00);//顯示起始行為0,列地址為0 OutSI(0XC0);OutSI(0X00);//顯示起始行為0,列地址為0 OutMI(0XAF);OutSI(0XAF); //開顯示 ClearScreen(); }</P><P>/*------------------------------------------------------------------------------ 調(diào)用方式:void clrscr(void) 函數(shù)說明:清屏 ------------------------------------------------------------------------------*/
|