LCD1602单片机(STC51/STM32)驱动程序详解
作者:hackett
微信公众号:加班猿
一、LCD1602简介
LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。
二、LCD1602引脚
图1:引脚说明
图2:原理图
一、我们重点关注几个引脚:
-
液晶显示偏压:VL对应原理图V0引脚,作用是调整1602的显示对比度,可外接电位器进行调节对比度,上图原理图接地引脚电压为0这时候对比度最高。
-
数据/命令选择端:RS对应原理图RES引脚,引脚高电平:进行数据字节传输,引脚低电平:进行命令字节传输。
-
读/写选择端:R/W对应原理图R/W引脚,引脚高电平:对1602进行读数据,引脚低电平:对1602进行写数据,一般应用都是直接拉低只进行写数据。
-
使能信号:E对应原理图E引脚,该引脚上升沿代表对1602开始数据传输,下降沿代表数据传输结束。
-
背光控制:原理图K+引脚,该引脚高电平:背光关闭,引脚低电平:背光打开。
二、我们只需要写数据给1602显示,只看写操作时序:
2写指令跟4写数据对比可看出RW读写引脚为低电平,E为高电平,D0~D7为传输的数据是命令/数据,RS数据/命令选择端(高:数据 , 低:命令)。
三、常用的写指令如下,其他指令可去查1602的datasheet:
四、数据写入CGRAM指令:
此指令可以自定义显示一个字符,我们写地址的丝毫应该是0x40+Address
三、LCD1602驱动(11脚)
51单片机跟STM32单片机的驱动基本一致主要是引脚的配置不怎么一样,特别注意STM32驱动写指令/数据GPIO_Write(GPIOA,(GPIO_ReadOutputData(GPIOA) & 0xff00) | cmd/data)为对电平的读取再写数据,其他均与51驱动一致。
1、51单片机:LCD1602.h
2、51单片机:LCD1602.c