资源描述:
《基于STM32 LCD12864驱动程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、STM32LCD12864驱动程序(头文件)(2012-05-2921:25:08)转载▼标签:杂谈#ifndefLCD12864_H#defineLCD12864_H#defineLCD_CONTROLGPIOD//默认LCD12864的控制口在PD口#defineLCD_DATAPORTGPIOD//默认LCD12864的数据口在PD口#defineLCD_RESET_PinGPIO_Pin_12//默认LCD12864的复位引脚连接到PD.12也可不用#defineLCD_RS_PinGPIO_Pin_13//默认LCD12864RS--PD.13#defineLCD_RW_PinGPI
2、O_Pin_14//默认LCD12864RW--PD.14#defineLCD_EN_PinGPIO_Pin_15//默认LCD12864E--PD.15#defineLCD_CONTROL_CLOCKRCC_APB2Periph_GPIOD//默认LCD12864的控制口时钟#defineLCD_DATAPORT_CLOCKRCC_APB2Periph_GPIOD//默认LCD12864的数据口时钟#defineLCD_RS_1LCD_CONTROL->BSRR&=~LCD_RS_Pin;LCD_CONTROL->BSRR
3、=LCD_RS_Pin//RS置高电平#defineLCD_RS_0
4、LCD_CONTROL->BRR&=~LCD_RS_Pin;LCD_CONTROL->BRR
5、=LCD_RS_Pin//RS置低电平#defineLCD_RW_1LCD_CONTROL->BSRR&=~LCD_RW_Pin;LCD_CONTROL->BSRR
6、=LCD_RW_Pin//RW置高电平#defineLCD_RW_0LCD_CONTROL->BRR&=~LCD_RW_Pin;LCD_CONTROL->BRR
7、=LCD_RW_Pin//RW置低电平#defineLCD_EN_1LCD_CONTROL->BSRR&=~LCD_EN_Pin;LCD_CONTROL->BSRR
8、=LCD_E
9、N_Pin//EN置高电平#defineLCD_EN_0LCD_CONTROL->BRR&=~LCD_EN_Pin;LCD_CONTROL->BRR
10、=LCD_EN_Pin//EN置低电平#defineLCD_RESET_0LCD_CONTROL->BRR=LCD_RESET_Pin//复位#defineLCD_RESET_1LCD_CONTROL->BSRR=LCD_RESET_Pin//复位脚拉高#defineDATAOUTLCD_DATAPORT->ODR&=0xff00;LCD_DATAPORT->ODR//数据输出寄存器#defineDATAINLCD_DATAPORT->IDR//
11、数据输入寄存器#defineLCD_BF((DATAIN)&0x0080)//忙状态voidLCD_delayus(unsignedlongn);//延时n(us)voidLCD_delayms(unsignedlongn);//延时n(ms)voidLCD_WriteInitcmd(uint8_tinitcmd);//写初始化命令voidLCD_WaitLaisure(void);//一直等待到LCD内部操作完成,变为空闲状态voidLCD_Writecmd(uint8_tcmd);//写命令到LCD12864voidLCD_WriteByte(uint8_tbyte);//写一字节数据到L
12、CD12864voidLCD_pos(uint16_tpos);//LCD显示位置设置voidLCD_Setpos(uint16_trow,uint16_tcol);//设定LCD12864的显示地址,根据习惯voidLCD_DispChar(charch);//显示一个字符voidLCD_Setpos_DispChar(uint16_trow,uint16_tcol,charch);//在指定位置显示一个字符voidLCD_DispString(charstr[]);//显示一个字符串,显示位置需提前设定//在指定位置显示一个字符串voidLCD_Setpos_DispString(uint
13、16_trow,uint16_tcol,charstr[]);voidLCD_Dispnum(uint32_tnum);//显示一个不超过8位的整数,显示位置需提前设置//在指定位置显示一个不超过8位的整数voidLCD_Setpos_Dispnum(uint16_trow,uint16_tcol,uint32_tnum);voidLCD_DispDecimal(uint32_tnum,uint1