文档介绍://PD15-PD8 对应 LCD1602 的 D7-D0
//PCO RS
//PC1 WR
//PC2 E
#includeH"
//LCD1602的命令状态
#define Set_RS() GPIO_SetBits(GPIOC,GPIO_Pin_0);// 数据
#define Reset_RS() GPIO_ResetBits(GPIOC,GPIO_Pin_0);// 命令 状态
#define Set_RW() GPIO_SetBits(GPIOC,GPIO_Pin_1); // 读
#define Reset_RW() GPIO_ResetBits(GPIOC,GPIO_Pin_1);// 写
#define Set_E() GPIO_SetBits(GPIOC,GPIO_Pin_2); // 使能
#define Reset_E() GPIO_ResetBits(GPIOC,GPIO_Pin_2);// 失能
uint8_t Buffer1[]={TGasdkkk"};
uint8_t Buffer2[]={"CDABabcdefghijkl"};
uint8_t Buffer[];
GPIOJnitTypeDef GPIO InitStructure;
void RCC_Config(void);
void GPIO Config(void);
void Busy_Wait(void);
void Write_Cmd(uint8_t Cmd);
void Write_Data(uint8_t Data);
void Write_String(uint8_t cmd,uint8_t* p);
void LCD1602_lnit(void);
void Delay(uint32_tt);
//uint8_t Read_Data(void);
int main(void)
(
RCC_Config();
GPIO_Config();
LCD1602_lnit();
Write_String(0x80,Buffer1);
Write_String(0xc0,Buffer2);
while(1);
void RCC_Config(void) (
Systemlnit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOC|RCC_APB2Periph _AFIO,ENABLE);
void GPIO_Config(void)
=GPIO Pin All;
=GPIO_Mode_Out_PP;
=GPIO_Speed_50MHz;
GPIO_lnit(GPIOD,&GPIO_lnitStructure);
=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;
GPIO_lnit(GPIOC,&GPIO_lnitStructure);
void Busy_Wait(void)
(
=GPIO Pin All;
=GPIO Mode IN FLOATING;
GPIO_lnit(GPIOD,&GPIO_lnitStructure);
Reset_RS(