📄 lcd12232_drv.c
字号:
/*********************************************************************************************************
** Small RTOS(51)
** The Real-Time Kernel(For Keil c51)
**
** (c) Copyright 2002-2002, 许守才
** All Rights Reserved
**
** V1.20.0
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名:
**创 建 人: 许守才
**最后修改日期: 2004年8月31日
**描 述:
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人:
** 版 本:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
** 修改人:
** 版 本:
** 日 期:
** 描 述:
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
sbit P_cs=P1^0;
sbit P_clk=P1^1;
sbit P_dat=P1^2;
#define WR_COMMAND 0x00
#define WR_DATA 0x01
#define RD_STAUSTE 0x02
#define RD_DATA 0x03
void wr_command(uchar dat )
{
P_dat=1;
P_clk=0;
P_clk=1; //d0
P_clk=0
P_clk=1; //d1
P_clk=0;
P_clk=1; //d2
P_clk=0;
P_clk=1; //d3
P_clk=0;
P_clk=1; //d4
P_clk=0;
P_dat=0;
P_clk=1;
P_clk=0;
P_clk=1;
P_clk=0;
P_clk=1;
P_clk=0;
ACC=dat;
for(dat=4;dat>0;dat--)
{
CY=ACC & 0x08;
P_dat=CY;
P_clk=1;
P_clk=0;
}
for(dat=4;dat>0;dat--)
{
P_dat=0;
P_clk=1;
P_clk=0;
}
for(dat=4;dat>0;dat--)
{
CY=ACC & 0x08;
P_dat=CY;
P_clk=1;
P_clk=0;
}
for(dat=4;dat>0;dat--)
{
P_dat=0;
P_clk=1;
P_clk=0;
}
}
void wr_data(uchar dat )
{
P_dat=1;
P_clk=0;
P_clk=1; //d0
P_clk=0
P_clk=1; //d1
P_clk=0;
P_clk=1; //d2
P_clk=0;
P_clk=1; //d3
P_clk=0;
P_clk=1; //d4
P_clk=0;
P_dat=0;
P_clk=1; //d5
P_clk=0;
P_dat=1;
P_clk=1; //d6
P_clk=0;
P_dat=0;
P_clk=1; //d7
P_clk=0;
ACC=dat;
for(dat=4;dat>0;dat--)
{
CY=ACC & 0x08;
P_dat=CY;
P_clk=1;
P_clk=0;
}
for(dat=4;dat>0;dat--)
{
P_dat=0;
P_clk=1;
P_clk=0;
}
for(dat=4;dat>0;dat--)
{
CY=ACC & 0x08;
P_dat=CY;
P_clk=1;
P_clk=0;
}
for(dat=4;dat>0;dat--)
{
P_dat=0;
P_clk=1;
P_clk=0;
}
}
void delay_us( uint i )
{
for(;i>0;i--);
}
void delay_ms(uint i)
{
for(;i>0;i--)
delay_us(1000);
}
void Lcd_init(void)
{
wr_command(0x30);
delay_us(100);
wr_command(0x30);
delay_us(100);
wr_command(0x0c);
delay_us(100);
wr_command(0x01);
delay_ms(10);
wr_command(0x06);
delay_us(100);
}
void Lcd_hanzi( uchar x,uchar y,char *p )
{
if( x>1 || y>6 )return;
wr_command(0x80+(x<<4)+y);
delay_us(100);
wr_command(*p);
delay_us(100);
wr_command(*(p+1));
delay_us(100);
}
void main( void )
{
Lcd_init();
Lcd_hanzi(0,0,"许");
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -