目录
一、资源说明
单片机型号 | 测试条件 | 模块名称 | 代码功能 |
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 |