STM8学习笔记(三):GPIO操作
主要是各种液晶吧,手上正好有1602的液晶,12864的液晶,主控芯片是s6b0108的
不带字库,还有上次买的一个2.4寸的TFT彩屏,320*240的,主控芯片是ILI9325的
因为之前用51和STM32都驱动过,所以这次就没写什么,只是简单的移植了
下面只是最简单的底层驱动
/*************************TFT*************************/
/*************************************************************
函数名称:LCD_Write_Cmd
功 能:写命令函数
参 数:DH:高八位
DL:低八位
返 回 值:无
说 明:无
*************************************************************/
void LCD_Write_Cmd(unsigned char DH,unsigned char DL)
{
LCD_CS0;
LCD_RS0;
GPIO_Write(LCD_DataBus,0xff);
GPIO_Write(LCD_DataBus,DH);
LCD_RW0;
LCD_RW1;
GPIO_Write(LCD_DataBus,0xff);
GPIO_Write(LCD_DataBus,DL);
LCD_RW0;
LCD_RW1;
LCD_CS1;
}
/*************************************************************
函数名称:LCD_Write_Data
功 能:写数据函数
参 数:DH:高八位
DL:低八位
返 回 值:无
说 明:无
*************************************************************/
void LCD_Write_Data(unsigned char DH,unsigned char DL)
{
LCD_CS0;
LCD_RS1;
GPIO_Write(LCD_DataBus,0xff);
GPIO_Write(LCD_DataBus,DH);
LCD_RW0;
LCD_RW1;
GPIO_Write(LCD_DataBus,0xff);
GPIO_Write(LCD_DataBus,DL);
LCD_RW0;
LCD_RW1;
LCD_CS1;
}
/*********************12864*****************************/
void LCD_WriteCmd(u8 Dat)
{
LCD_RS0;
LCD_RW0;
delayus(1);
LCD_ENABLE1;
delayus(1);
GPIO_Write(LCD_DataBus,0xff);
GPIO_Write(LCD_DataBus,Dat);
delayus(1);
LCD_ENABLE0;
delayus(1);
}
void LCD_WriteData(u8 Dat)
{
LCD_RS1;
LCD_RW0;
delayus(1);
LCD_ENABLE1;
delayus(1);
GPIO_Write(LCD_DataBus,0xff);
GPIO_Write(LCD_DataBus,Dat);
delayus(1);
LCD_ENABLE0;
delayus(1);
}
/*******************1602********************/
/******************************************************************/
/* 写入命令函数 */
/******************************************************************/
void LCD_WriteCmd(unsigned char cmd)
{
LCD_DelayMs(5);//操作前短暂延时,保证信号稳定
LCD_EA_L;
LCD_RS_L;
LCD_RW_L;
LCD_EA_H;
GPIO_Write(LCD_BUS,cmd);
LCD_EA_L;
}
/******************************************************************/
/* 写入数据函数 */
/******************************************************************/
void LCD_WriteData(unsigned char dat)
{
LCD_DelayMs(5); //操作前短暂延时,保证信号稳定
LCD_EA_L;
LCD_RS_H;
LCD_RW_L;
LCD_EA_H;
GPIO_Write(LCD_BUS,dat);
LCD_EA_L;
LCD_RS_L;
}
/*************************************************************
STM8学习笔记GPIO操 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)