📄 3310.c
字号:
#include "3310.h"
void Adelay( uchar i )
{
uchar j;
while(i--)
{
j=255;
while(j--);
}
}
/*功能:向3310LCD发送一字节数据
*性质:文件外部使用
*参数:数据,1为数据0为命令
*返回:无
*/
void WriteByte( uchar temp,bit mode)
{
uchar i=8;
LCD_CS=0;
LCD_CD=mode;
while (i--)
{
if (temp&0x80)
{
LCD_DIN=1;
}
else
{
LCD_DIN=0;
}
LCD_SCLK=0;
LCD_SCLK=1;
temp<<=1;
}
LCD_CD=1;
LCD_CS=1;
LCD_DIN=1;
}
/*功能:设置液晶的XY地址
*性质:文件外部使用
*参数:列地址,行地址
*返回:无
*/
void LCD_SetAddr( uchar x, uchar y )
{
y &= 0xf;
WriteByte((x|X_ADDR),0);//设定x坐标
WriteByte((y|Y_ADDR),0);//设定y坐标
}
/*功能:初始化3310液晶(使用扩充指令,偏置电压,使用基本指令,显示模式)
*性质:文件外部使用
*参数:无
*返回:无
*/
void LCD_Init( void )
{
LCD_RST=0;
Adelay(10);
LCD_RST=1;
LCD_CS=1;
LCD_DIN=1;
LCD_SCLK=1;
WriteByte(FUN_SET|FUN_H,MODE_CMD); //使用扩充指令
WriteByte(0xd5,MODE_CMD); //设定液晶偏置电压
WriteByte(FUN_SET,MODE_CMD); //使用基本指令
WriteByte(DISP_CONT|DISP_NORM,MODE_CMD); //设定显示模式,正常显示
}
/*功能:液晶清屏
*性质:文件外部使用
*参数:无
*返回:无
*/
void LCD_Clr( void )
{
uchar x,y;
for( y=0; y<6; y++ )
{
for( x=0; x<84; x++ )
{
LCD_SetAddr(x, y);
WriteByte( 0, MODE_DATA );
}
}
}
/*功能:液晶清屏后两行
*性质:文件外部使用
*参数:无
*返回:无
*/
void LCD_Clr2( void )
{
uchar x,y;
for( y=2; y<6; y++ )
{
for( x=0; x<84; x++ )
{
LCD_SetAddr(x, y);
WriteByte( 0, MODE_DATA );
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -