K_A04_002 基于单片机驱动LCD12864模块显示图片 文字

发布于:2022-11-13 ⋅ 阅读:(399) ⋅ 点赞:(0)

一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

LCD12864模块

LCD12864模块显示图片 文字 

STM32F103C8T6

  1. 晶振8M
  2. 系统时钟72M

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); 
		

}

五、基础知识学习与相关资料下载

  1. STC89C52RC程序下载 直戳跳转
  2. STM32F103C8T6程序下载
    1. 串口下载                直戳跳转 
    2. ST-LINK下载             直戳跳转
    3. J-LINK下载              直戳跳转
    4. DAP-LINK下载            直戳跳转
  3. 字符软件提取

         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下载器

九、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 显示异常时,排除接线接触不良
  3. 显示中文时候注意字符串格式 中文占用两个字节 所以字符位置开始要在偶数位置
  4. 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

本文含有隐藏内容,请 开通VIP 后查看