目录
一、资源说明
单片机型号 |
测试条件 |
模块名称 |
代码功能 |
STC89C52RC |
1.晶振11.0592M |
COG12864模块(不带字库) |
COG12864模块显示图片 文字 字符串 |
STM32F103C8T6 |
|
COG12864模块(不带字库) |
二、基本参数
1.参数
2.引脚说明
COG12864
COG12864模块 |
引脚说明 |
ROM_IN |
字库 IC 接口(SI)(此处无字库芯片) |
ROM_OUT |
字库 IC 接口(SO)(此处无字库芯片) |
ROM_SCK |
字 库 IC 接 口 (SCLK) (此处无字库芯片) |
ROM_CS |
字库 IC 接口(CS#)(此处无字库芯片) |
LEDA |
背光电源 |
VSS |
GND引脚接电源地,如果外接电源,一般必须共地 |
VDD |
VCC电源引脚,根据版本接5V或3.3V |
SCLK |
串行时钟 |
SDA |
串行数据 |
RS |
寄存器选择信号 |
RESET |
复位 |
CS |
片选 |
三、通信协议说明
SPI时序
写数据和命令时序:
代码:
//SPI写一个字节
void SPI_SendByte(uint8_t byte)
{
uint8_t counter;
for(counter=0;counter<8;counter++)
{
SPI_SCK=0;
if((byte&0x80)==0)
{
SPI_SDA=0;
}
else SPI_SDA=1;
byte=byte<<1;
SPI_SCK=1;
SPI_SCK=0;
}
}
//写命令到LCD12864
void LCD_send_cmd(uint8_t o_command)
{
SPI_DC=0;
SPI_CS=0;
SPI_SendByte(o_command);
SPI_CS=1;
//SPI_DC_1;
}
//写一个字节数据到LCD12864
void LCD_send_data(uint8_t o_data)
{
SPI_DC=1;
SPI_CS=0;
SPI_SendByte(o_data);
SPI_CS=1;
}
四、部分代码说明
1.接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC89C52RC+COG12864模块
sbit SPI_SCK =P1^0; // SCL/SCK
sbit SPI_SDA =P1^1; // SDA/MOSI
sbit SPI_DC =P1^2; // DC/RS
sbit SPI_RST =P1^3; // RES/RST
sbit SPI_CS =P1^4; // CS
1.2、STM32F103C8T6+COG12864模块
//SCL//DO//SCK
#define LCD12864G_SCK_APBxClock_CMD RCC_APB2PeriphClockCmd
#define LCD12864G_SCK_CLK RCC_APB2Periph_GPIOA
#define LCD12864G_SCK_PORT GPIOA
#define LCD12864G_SCK_PIN GPIO_Pin_0
//SDA//DI
#define LCD12864G_SDA_APBxClock_CMD RCC_APB2PeriphClockCmd
#define LCD12864G_SDA_CLK RCC_APB2Periph_GPIOA
#define LCD12864G_SDA_PORT GPIOA
#define LCD12864G_SDA_PIN GPIO_Pin_1
//DC/RS引脚
#define LCD12864G_RS_APBxClock_CMD RCC_APB2PeriphClockCmd
#define LCD12864G_RS_CLK RCC_APB2Periph_GPIOA
#define LCD12864G_RS_PORT GPIOA
#define LCD12864G_RS_PIN GPIO_Pin_2
//RST引脚
#define LCD12864G_RST_APBxClock_CMD RCC_APB2PeriphClockCmd
#define LCD12864G_RST_CLK RCC_APB2Periph_GPIOA
#define LCD12864G_RST_PORT GPIOA
#define LCD12864G_RST_PIN GPIO_Pin_3
//CS(NSS)引脚
#define LCD12864G_CS_APBxClock_CMD RCC_APB2PeriphClockCmd
#define LCD12864G_CS_CLK RCC_APB2Periph_GPIOA
#define LCD12864G_CS_PORT GPIOA
#define LCD12864G_CS_PIN GPIO_Pin_4
五、基础知识学习与相关资料下载
- STC89C52RC程序下载 直戳跳转
- STM32F103C8T6程序下载
- 串口下载 直戳跳转
- ST-LINK下载 直戳跳转
- J-LINK下载 直戳跳转
- DAP-LINK下载 直戳跳转
3.字符软件提取
PCtoLCD2013软件图形与文字提取 直戳跳转
六、字符图片提取格式
文字格式:
共阴——列行式——逆向——C51——行前后缀括号去掉(具体格式设置以此为准)
图片格式:
共阴——列行式——逆向——C51——行前后缀括号去掉(具体格式设置以此为准)
手绘图:图像模式——点开新建图像——输入长宽像素并确认——绘制图片——设置输出格式——点生成——复制数据到程序
打开BMP图:
图像模式——点开文件中打开——找到需要打开的BMP图片——设置输出格式——点生成——复制数据到程序
七、视频效果展示与程序资料获取
视频连接 直戳跳转
程序资料获取 直戳跳转
八、项目所有材料清单
STC89C52RC驱动方案 |
图片 |
STM32F103C8T6驱动方案 |
图片 |
备注 K_A04_003 |
STC89C52RC系统板X1 |
![]() |
STM32F103C8T6系统板X1 |
![]() |
1、STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电 2、杜邦线建议不用太长的 |
COG12864模块X1 |
![]() |
COG12864模块X1 | ![]() |
|
Micro USB线X1 |
![]() |
Micro USB线X2 |
![]() |
|
母母杜邦线X20根 |
![]() |
母母杜邦线X20根 |
![]() |
|
J-LINK下载器 |
![]() |
九、注意事项
- VCC GND请勿接反,接反易烧
- 显示异常时,排除接线接触不良
- LEDA可接3.3V 太亮也可接IO口 高电平亮
十、接线表格
单片机型号 |
模块 |
对应引脚(上:模块引脚 下:单片机引脚) |
|||||||
STM32F103 C8T6 |
COG12864模块 |
LEDA |
VSS |
VDD |
SCLK |
SDA |
RS |
RESET |
CS |
3.3V |
GND |
3.3\5V |
PA0 |
PA1 |
PA2 |
PA3 |
PA4 |
||
STC89C52RC |
COG12864模块 |
LEDA |
VSS |
VDD |
SCLK |
SDA |
RS |
RESET |
CS |
3.3V |
GND |
3.3\5V |
P1.0 |
P1.1 |
P1.2 |
P1.3 |
P1.4 |