LCD12864串口模式操作

本文记录了使用STM32F103RCT6核心板通过串行模式操作LCD12864的过程,包括硬件连接、开发环境配置和代码实现。在实践中,需要注意文件编码格式对汉字显示的影响,以及反白显示的限制。通过阅读ST7920手册和实验,可以深入理解LCD12864的串口操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LCD12864串口模式操作

非转载,仅为个人经验记录。如需转载请注明出处;若有侵权,请管理告知删帖。

  1. 准备工作
    a、硬件及文档
  • LCD12864(控制器型号ST7920);
  • STM32F103RCT6核心板;
  • 杜邦线若干;
  • STM32F1标准固件库V3.5;
  • ST7920中文、英文版手册;

b、开发环境

  • MDK V5.0

c、硬件连接
LCD16284 ----------------> STM32F103RCT6核心板
GND -------------------------> GND
VCC -------------------------> 5V
V0 自己接一个5Ω可调电阻到LCD的Vout
RS ---------------------------> GPIOA_Pin0这几根线参考lcd12864头文件
EN ---------------------------> GPIOA_Pin1
RW ---------------------------> GPIOA_Pin2

  1. 代码

usr_lcd12864.h

#ifndef _USR_LCD12864_H
#define _USR_LCD12864_H

#include <stdint.h> 

// 引脚及对应连接
// LCD -> STM32F103RCT6
// CS  -> GPIOA_Pin0
// SCL -> GPIOA_Pin1
// SDA -> GPIOA_Pin2
#define LCD12864_CS_PIN     GPIO_Pin_0
#define LCD12864_CS_PORT    GPIOA
#define LCD12864_CS_RCC     RCC_APB2Periph_GPIOA

#define LCD12864_SCL_PIN    GPIO_Pin_1
#define LCD12864_SCL_PORT   GPIOA
#define LCD12864_SCL_RCC    RCC_APB2Periph_GPIOA

#define LCD12864_SDA_PIN    GPIO_Pin_2
#define LCD12864_SDA_PORT   GPIOA
#define LCD12864_SDA_RCC    RCC_APB2Periph_GPIOA

// 指令预览
#define DISPLAYCLEAR        0x01
#define RETURNHOME          0x02
#define ENTRY_MODE          0x04
#define DISPLAY_CONTROL     0x08
#define CURSOR_DISPLAY      0x10
#define FUNCTION_SET        0x20
#define CGRAM_ADDR          0x40
#define DDRAM_ADDR          0x80
#define STANDBY_MODE        0x01
#define SCROLL_CGRAM_ADDR   0x02 
#define REVERSE             0x04
#define EXTENDED_FUNCTION   0x20
#define SCROLL_ADDR         0x40
#define GDRAM_ADDR          0x80

// 引脚操作声明
#define CS_SET()     LCD12864_CS_PORT->BSRR=LCD12864_CS_PIN 
#define CS_RESET()   LCD12864_CS_PORT->BRR=LCD12864_CS_PIN
#define SCL_SET()    LCD12864_SCL_PORT->BSRR=LCD12864_SCL_PIN 
#define
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值