t6963c驱动程序-驱动代码

时间:2012-04-25来源:网络
; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">StartAddr=lin*LineChar + column; //定位起始行

for(i=0;i16;i++)
{
OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24);
OutPortCom2( HZTable[hzcode][i*2], 0xc0); //左半部 地址加一
OutPortCom2( HZTable[hzcode][i*2+1], 0xc4); //右半部 字模地址加一

StartAddr=StartAddr + LineChar;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
//显示一个汉字(16*16点阵)
//lin:行(0-7), column: 列(0-7)
//hzcode: 汉字代码(自定义的)
void ShowHZD(unsigned char lin,unsigned char column,unsigned int hzcode)
{
unsigned char i,j;
unsigned int StartAddr;

StartAddr=lin*LineChar*16 +column; //定位起始行

for(i=0;i35;i++)
{
OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24); //定位当前操作位置
for(j=0;j5;j++) OutPortCom2( HZTable[hzcode][i*5+j], 0xc0); //显示当前一行

StartAddr=StartAddr + LineChar;
}
}

////////////////////////////////////////////////////////////////////////////////////////////
/*-----------------------------------------------------------------------------------*/
//显示一行字符串(汉字,字母混排,一行16字节)
//lin:行
//lineheadaddr: 此行汉字代码区首地址
void ShowLine(unsigned char lin,unsigned char column,unsigned char linehead[])
{
unsigned char i,j;
unsigned char byte;
unsigned int hzcode;

for( i= column,j=0; i column+14 ; )
{ byte=linehead[j];
if(byte 0x80) //字母
{
ShowChar(lin, i , byte);
i=i+1;j=j+1;
}
else // byte >= 0x80(汉字)
{
byte=byte 0x7f; //最高位置0,即:减去0x8000
hzcode=byte*256 + linehead[j+1]; //加低8位,组合成整型数地址
ShowHZ( lin,i,hzcode);
i=i+2;j=j+2;
}
}
}

/*-----------------------------------------------------------------------------------*/
//显示一屏汉字
//pageheadaddr:此屏汉字代码地址区首地址
void ShowPage(unsigned char lin,unsigned char column1,unsigned char pagehead[][14])
{
unsigned char i;
for(i=0;i 4 ;i++)
ShowLine((lin+i*20),column1,pagehead[i]); //1行8个汉字,16字节
}

/*----------------------------------------------------------------------------------------------------*/
//反显一个字符
//lin:行(0-7), column: 列(0-15)
void ReverseShowChar(unsigned char lin,unsigned char column)
{
unsigned char i;
unsigned char dat;
unsigned int StartAddr;

StartAddr=lin*LineChar +column; //定位起始行

for(i=0;i16;i++)
{
OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24); //set address
OutPortCom1( 0xc5 ); //数据一次读,地址不变
dat=InPortData(); //读入数据
dat=~dat; //取反
OutPortCom2( dat, 0xc4); //送回

StartAddr=StartAddr+ LineChar;
}
}


/*----------------------------------------------------------------------------------------------------*/
//反显一个汉字
//lin:行(0-7), column: 列(0-15)
void ReverseShowHZ(unsigned char lin,unsigned char column)
{
ReverseShowChar(lin,column);
ReverseShowChar(lin,column+1);
}
/*----------------------------------------------------------------------------------------------------*/
//反显一行汉字
//lin:行(0-7)
void ReverseShowLine(unsigned char lin)
{
unsigned char column;
for(column=0; column ColumnChar; column++) ReverseShowChar(lin,column);
}


//////////////////////////////////////////////////////////////////////////////////////
void ShowPicture(unsigned char Startline,unsigned char Startcolumn,unsigned char LineWidth,unsigned char ColumnWidth,unsigned int address)
{
unsigned char i,j;
unsigned int StartAddr;

StartAddr=Startline*LineChar + Startcolumn; //定位起始位置

1 2 3 4

关键词: t6963c 驱动程序 驱动代码

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版