一、资源说明
单片机型号 |
测试条件 |
模块名称 |
代码功能 |
STC89C52RC |
1.晶振11.0592M |
LCD12864模块 |
LCD12864模块显示图片 文字 |
STM32F103C8T6 |
|
LCD12864模块 |
二、基本参数
1、参数
2、引脚说明
LCD12864模块 |
引脚说明 |
GND |
GND引脚接电源地,如果外接电源,一般必须共地 |
VDD |
VCC电源引脚,根据版本接5V或3.3V |
V0 |
LCD 驱动电压输入端(此处客不接直接用背面电位器) |
RS |
指令/数据选择信号 |
RW |
读写选择信号 |
E |
使能信号 |
DB0 |
数据 0 |
DB1 |
数据 1 |
DB2 |
数据 2 |
DB3 |
数据 3 |
DB4 |
数据 4 |
DB5 |
数据 5 |
DB6 |
数据 6 |
DB7 |
数据 7 |
PSB |
并/串行接口选择:H-并行;L-串行 |
NC |
空脚 |
RST |
复位 低电平有效 |
VOUT |
倍压输出脚 (VDD=+3.3V 有效) |
A |
LED+ 5V或3.3V |
K |
LED- GND |
三、通信协议说明
写时序:
写命令代码:
//传送数据或者命令,当DI=0是,传送命令,当DI=1,传送数据.
void TransferData(char data1,bit DI)
{
WRD=0;
RS=DI;
delay(1);
LCD_Date=data1;
E=1;
delay(1);
E=0;
}
四、部分代码说明
1、接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC89C52RC+LCD12864模块
#define LCD_Date P0
sbit RS = P2^6;
sbit WRD = P2^5;
sbit E = P2^7;
sbit PSB = P3^2;
sbit RES = P3^3;
1.2、STM32F103C8T6+LCD12864模块
void LCD1602_GPIO_Config(void)
{
/*定义一个GPIO_InitTypeDef类型的结构体*/
GPIO_InitTypeDef GPIO_InitStructure;
/*开启LED相关的GPIO外设时钟*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
//LCD_E引脚初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//LCD_RW引脚初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//LCD_RS引脚初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//LCD_PSB引脚初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//LCD_RST引脚初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//D0-D7引脚初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
五、基础知识学习与相关资料下载
- STC89C52RC程序下载 直戳跳转
- STM32F103C8T6程序下载
- 串口下载 直戳跳转
- ST-LINK下载 直戳跳转
- J-LINK下载 直戳跳转
- DAP-LINK下载 直戳跳转
字符软件提取
PCtoLCD2013软件图形与文字提取 直戳跳转
六、字符图片提取格式
图片格式:共阴——逐行式——顺向——C51——行前后缀括号去掉
手绘图:图像模式——点开新建图像——输入长宽像素并确认——绘制图片——设置输出格式——点生成——复制数据到程序
打开BMP图:图像模式——点开文件中打开——找到需要打开的BMP图片——设置输出格式——点生成——复制数据到程序
七、视频效果展示与程序资料获取
视频连接 直戳跳转
程序资料获取 直戳跳转
八、项目所有材料清单
STC89C52RC驱动方案 |
图片 |
STM32F103C8T6驱动方案 |
图片 |
备注 K_A02_006 |
STC89C52RC系统板X1 |
![]() |
STM32F103C8T6系统板X1 |
![]() |
1、STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电 2、杜邦线建议不用太长的 |
LCD12864模块X1 |
![]() |
LCD12864模块X1 |
![]() |
|
Micro USB线X1 |
![]() |
Micro USB线X2 |
![]() |
|
母母杜邦线X20根 |
![]() |
母母杜邦线X20根 |
![]() |
|
J-LINK下载器 |
![]() |
九、注意事项
- VCC GND请勿接反,接反易烧
- 显示异常时,排除接线接触不良
- 显示中文时候注意字符串格式 中文占用两个字节 所以字符位置开始要在偶数位置
- LCD12864背光调节默认可不外接电位器 可调背面电位器
十、接线表格
单片机型号 |
模块 |
对应引脚(上:模块引脚 下:单片机引脚) |
|||||||||
STM32F103 C8T6 |
LCD12864模块 |
GND |
VDD |
VO |
RS |
RW |
E |
D0 |
D1 |
D2 |
D3 |
GND |
5V |
不接 |
PA8 |
PA12 |
PA11 |
PA0 |
PA1 |
PA2 |
PA3 |
||
D4 |
D5 |
D6 |
D7 |
PSB |
NC |
RST |
VOUT |
A |
K |
||
PA4 |
PA5 |
PA6 |
PA7 |
PB6 |
不接 |
PB7 |
不接 |
3.3V |
GND |
||
STC89C52RC |
LCD12864模块 |
GND |
VDD |
VO |
RS |
RW |
E |
D0 |
D1 |
D2 |
D3 |
GND |
5V |
不接 |
P2.6 |
P2.5 |
P2.7 |
P0.0 |
P0.1 |
P0.2 |
P0.3 |
||
D4 |
D5 |
D6 |
D7 |
PSB |
NC |
RST |
VOUT |
A |
K |
||
P0.4 |
P0.5 |
P0.6 |
P3.2 |
P3.2 |
不接 |
P3.3 |
不接 |
5V |
GND |