另外:我的东西是用STM32做的,整个工程文件我就不上传了,这个屏的驱动网上也很多,我把我用的这部分贴上来!这个也是根据网上的资料修改的,非本人原创,可以正常使用!
/********************************************************************
* 名称 :
* 功能 : 引脚定义
* 输入 : 无
* 输出 : 无
***********************************************************************/
void LCD_DATA(unsigned char i) //LCD数据端
{
GPIO_WriteBit(GPIOC, GPIO_Pin_4, (BitAction)i);
}
void LCD_CS(unsigned char i) //LCD片选端
{
GPIO_WriteBit(GPIOA, GPIO_Pin_5, (BitAction)i);
}
void LCD_WR(unsigned char i) //LCD写
{
GPIO_WriteBit(GPIOA, GPIO_Pin_7, (BitAction)i);
}
/********************************************************************
* 名称 :
* 功能 : 引脚定义
* 输入 : 无
* 输出 : 无
***********************************************************************/
void delay(unsigned int a)
{
int i,j;
for(i=0; i<=a; i++)
for(j=0;j<=80;j++);
}
/********************************************************************
* 名称 :
* 功能 : 引脚定义
* 输入 : 无
* 输出 : 无
***********************************************************************/
void WRcmd_LCD(uchar Cmd_LCD)
{
uint temp1,i;
temp1=Cmd_LCD;
temp1=(temp1<<1)|0x800;
LCD_CS(0);
for(i=0;i<12;i++)
{
delay(6);
LCD_WR(0);
LCD_DATA((temp1>>(11-i))&0x01);
LCD_WR(1);
delay(6);
}
LCD_WR(1);
LCD_DATA(1);
delay(6);
LCD_CS(1);
}
/********************************************************************
* 名称 :
* 功能 : 引脚定义
* 输入 : 无
* 输出 : 无
***********************************************************************/
void WRDat_LCD(uchar Add_LCD,uchar Data_LCD)
{
uint temp2,i;
temp2=Add_LCD;
temp2=temp2|0x140;
LCD_CS(0);
for(i=0;i<9;i++)
{
delay(6);
LCD_WR(0);
LCD_DATA((temp2>>(8-i))&0x01);
LCD_WR(1);
delay(6);
}
for(i=0;i<4;i++)
{
delay(6);
LCD_WR(0);
LCD_DATA((Data_LCD>>i)&0x01);
LCD_WR(1);
delay(6);
}
LCD_WR(1);
LCD_DATA(1);
delay(6);
LCD_CS(1);
}
/********************************************************************
* 名称 :
* 功能 : 引脚定义
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Init_LCD(void)
{
delay(200);
WRcmd_LCD(0x29);//初始化定义
delay(6);
WRcmd_LCD(0x18);//RC工作方式
delay(6);
WRcmd_LCD(0x01);//开振荡器
delay(6);
WRcmd_LCD(0x03);//开显示
}
/********************************************************************
* 名称 :
* 功能 : 引脚定义
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Clear_LCD(void)
{
uchar i;
for(i=0;i<32;i++)
{
WRDat_LCD(i,0);
delay(6);
}
}