龙空技术网

基于单片机 无字库LCD 汉字显示 设计和仿真实例

十月华笑 146

前言:

目前各位老铁们对“单片机c语言lcd显示”大概比较讲究,兄弟们都想要了解一些“单片机c语言lcd显示”的相关资讯。那么小编在网络上收集了一些有关“单片机c语言lcd显示””的相关文章,希望看官们能喜欢,朋友们快快来学习一下吧!

/********************************************************************************************

* 函数名称:Lcd_Set_X_Y(uchar x, uchar y )

* 功 能:LCD设置x y坐标

* 入口参数:x y

* 出口参数:无

*********************************************************************************************/

void Lcd_Set_X_Y(uchar x, uchar y)

{

if( y<64 )

{ cs1=1; cs2=0; Lcd_Set_Y( y ); }

else

{ cs1=0; cs2=1; Lcd_Set_Y( y-64 ); }

Lcd_Set_X( x);

}

/********************************************************************************************

* 函数名称:Lcd_Write_Command()

* 功 能:写指令代码

* 入口参数:无

* 出口参数:无

*********************************************************************************************/

void Lcd_Write_Command(uchar temp)

{

port=temp;

rs=0;

rw=0;

e=1;

e=0;

}

/********************************************************************************************

* 函数名称:Lcd_Write_Byte()

* 功 能:写数据

* 入口参数:无

* 出口参数:无

*********************************************************************************************/

void Lcd_Write_Byte(uchar temp)

{

port=temp;

rs=1;

rw=0;

e=1;

e=0;

}

/****************************************************************************

*名称:Lcd_Character_16X8( bit bit_flag, uchar x, uchar y, uchar code *point )

*功能:显示16X8字符(字母)

*入口参数:x:0~7 y:0~127

*出口参数:

*说明:bit_flag = 1 正常显示 bit_flag = 0 黑白反相显示

****************************************************************************/

void Lcd_Character_16X8( bit bit_flag, uchar x, uchar y, uchar code *point )

{

uchar i , j,temp;

temp=y;

if( bit_flag )

{

for( i=0; i<2; i++ )

{

x+=i;

y=temp;

for( j=0;j<8;j++ )

{

Lcd_Set_X_Y( x, y ); y++;

Lcd_Write_Byte( point[ i*8 + j] );

}

}

}

else

{

for( i = 0; i < 2; i++ )

{

x += i;

y = temp;

for( j = 0; j < 8; j++ )

{

Lcd_Set_X_Y( x, y ); y++;

Lcd_Write_Byte( ~point[ i * 8 + j ] );

}

}

}

}

void Lcd_String(uchar x, uchar y, uchar *point,uchar n)

{

uchar k;

for(k=0;k<n;k++)

{

if(point[k]=='.')point[k]=58;

Lcd_Character_16X8(0,x,y,num[point[k]-48]);

y=y+8;

}

}

标签: #单片机c语言lcd显示