资源简介
基于STM32的12832液晶显示驱动,包含LCD的初始化,字符显示,清屏等操作。
代码片段和文件信息
#include “stm32f10x.h“
#include “user_Config.h“
#include “SysTick.h“
//#include “ds18b20.h“
extern u8 keyval;
extern u8 flash_value;
extern u8 time_data_flag;
extern u8 flash_flag;
extern __IO u32 TimingDelay;
extern __IO uint32_t TimeDisplay;
unsigned char AC_TABLE[]={
0x800x810x820x830x840x850x860x87 //第一行汉字位置
0x900x910x920x930x940x950x960x97 //第二行汉字位置
};
void CheckBusy( void )
{
unsigned char retb;
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = LCD_DATA0|LCD_DATA1|LCD_DATA2|LCD_DATA3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //GPIO工作在输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIO_LCDDATA_C &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin =LCD_DATA4|LCD_DATA5|LCD_DATA6|LCD_DATA7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //GPIO工作在输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIO_LCDDATA_A &GPIO_InitStructure);
do{
LCD_RS_LOW;//GPIO_ResetBits(GPIO_LCDCTLlcd_rs);
LCD_RW_HIGH;//GPIO_SetBits(GPIO_LCDCTLlcd_rw);
delay_us(1);
LCD_E_HIGH;//GPIO_SetBits(GPIO_LCDCTLlcd_e);
delay_us(1);
retb=GPIO_ReadInputDataBit(GPIO_LCDDATA_ALCD_DATA7);
LCD_E_LOW;//GPIO_ResetBits(GPIO_LCDCTLlcd_e);
}
while((retb)!=0);
delay_us(1);
GPIO_InitStructure.GPIO_Pin = LCD_DATA0|LCD_DATA1|LCD_DATA2|LCD_DATA3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //GPIO工作在输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIO_LCDDATA_C &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin =LCD_DATA4|LCD_DATA5|LCD_DATA6|LCD_DATA7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //GPIO工作在输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIO_LCDDATA_A &GPIO_InitStructure);
}
void WriteCommand( unsigned char Cbyte )
{
CheckBusy();
LCD_RS_LOW;//GPIO_ResetBits(GPIO_LCDCTLlcd_rs);
LCD_RW_LOW;//GPIO_ResetBits(GPIO_LCDCTLlcd_rw);
delay_us(1);
GPIO_WriteBit(GPIO_LCDDATA_CLCD_DATA0(BitAction)((Cbyte>>0)&0x01));
GPIO_WriteBit(GPIO_LCDDATA_CLCD_DATA1(BitAction)((Cbyte>>1)&0x01));
GPIO_WriteBit(GPIO_LCDDATA_CLCD_DATA2(BitAction)((Cbyte>>2)&0x01));
GPIO_WriteBit(GPIO_LCDDATA_CLCD_DATA3(BitAction)((Cbyte>>3)&0x01));
GPIO_WriteBit(GPIO_LCDDATA_ALCD_DATA4(BitAction)((Cbyte>>4)&0x01));
GPIO_WriteBit(GPIO_LCDDATA_ALCD_DATA5(BitAction)((Cbyte>>5)&0x01));
GPIO_WriteBit(GPIO_LCDDATA_ALCD_DATA6(BitAction)((Cbyte>>6)&0x01));
GPIO_WriteBit(GPIO_LCDDATA_ALCD_DATA7(BitAction)((Cbyte>>7)&0x01));
LCD_E_HIGH;//GPIO_SetBits(GPIO_LCDCTLlcd_e);
delay_us(1);
LCD_E_LOW;//GPIO_ResetBits(GPIO_LCDCTLlcd_e);
}
void WriteData( unsigned char Dbyte )
{
CheckBusy();
LCD_RS_HIGH;//GPIO_SetBits(GPIO_LCDCTLlcd_rs);
LCD_RW_LOW;//GPIO_ResetBits(GPIO_LCDCTLlcd_rw);
delay_us(1);
G
- 上一篇:IIS PUT Scanner 1.3
- 下一篇:基于des前后端加密解密
相关资源
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
- SX1280.rar
- STM32 DS3231驱动.zip
- STM32F103C8T6+NRF24l01无线通信
- 21天学会嵌入式开发STM32.zip
- STM32 电子密码锁设计,LCD12864显示
评论
共有 条评论