第二讲 单片机C语言之12864液晶显示

您所在的位置:网站首页 液晶屏数字显示乱了 第二讲 单片机C语言之12864液晶显示

第二讲 单片机C语言之12864液晶显示

2024-07-13 15:18| 来源: 网络整理| 查看: 265

前面一讲我们焊接了C51的最小系统。这讲里我们将继续焊接上液晶显示相关电路,并分别实现用12864显示一个汉字,字符串,数字,浮点数以及可调节的电子时钟。

概念

点阵式液晶显示模块(LCD)广泛应用于单片机控制系统,比数码管、段式液晶能模块显示更多、更直观的信息,如汉字、曲线、图片等。点阵液晶显示模块集成度很高,一般都内置控制芯片、行驱动芯片和列驱动芯片,点阵数量较大的LCD还配置RAM芯片,带汉字库的LCD还内嵌汉字库芯片,有负压输出的LCD还设有负压驱动电路等。单片机读写LCD实际上就是对LCD的控制芯片进行读写命令和数据。编程驱动LCD时,不需要对LCD的结构和点阵行列驱动原理深入了解,只要理解LCD接口的定义和LCD的控制芯片的读写时序和命令就可以了。 12864LCD属于点阵图形液晶显示模块,不但能显示字符,还能显示汉字和图形,分带汉字库和不带那字库两种,价格也有差别。带汉字库的12864LCD使用起来非常方便,不需要编写复杂的汉字显示程序,只要按时序写入两个字节的汉字机内码,汉字就能显示出来了,驱动程序简单许多。本文例程就是基于带汉字库的12864液晶显示模块。DM12864M 汉字图形点阵液晶显示模块,可显示汉字及图形,内置 8192 个中文汉字(16X16 点阵)、128 个字符(8X16 点阵)及 64X256 点阵显示 RAM(GDRAM)。

12864有如下特点: 1. 128点X 64行=8192点。 2. 12864有两种工作模式。 (1)文本工作模式 整屏平均分成32个显示区(每个显示区是16X16点阵),每个显示区可显示一个中文,每个显示区可显示两个英文ASCII字符。下图为汉字显示坐标即地址。

(2)绘图工作模式

         整屏按水平方向每16个点分为一组,所以整屏共有8192/16=512组,每次可控制任意一组的16个点。图形显示坐标:水平方向 X—以字节单位,垂直方向 Y—以位为单位。

3. 12864的硬件接口

总共20个引脚。其中引脚4-14是连接到MCU的。4.5.6引脚有两种功能,分别对应不同串并驱动模式。当为串行驱动时,4.5.6分别为CS,SID,CLK,且此时8位数据并行线无效;当为并行驱动时,4.5.6分别为RS,RW,E,且此时8位并行数据线有效。而15脚则是用于选择串并模式的。

汉字显示实验 好了现在我们来显示一个汉字。首先明确思路,初始化液晶屏,切换到文本模式,设置要显示汉字的地址,写入显示汉字。新建工程,分别建立三个文件main.c, 12864.c, 12864.h。

main.c

#include "12864.h" void main() { LCD_Init(); LCD_SetAddText(0x93); LCD_WriteDat(0XC4); LCD_WriteDat(0Xe3); LCD_SetAddText(0x94); LCD_WriteDat(0XBa); LCD_WriteDat(0XC3); while(1) { } }12864.c

#include "12864.h" sbit LCDRS_CS=P3^5; sbit LCDWR_SID=P3^6; sbit LCDE_CLK=P3^7; /* 数据 0xFA 命令-地址0xF8 */ void delay(u16 x) { while(x--); } void LCD_Send8bit(u8 dat) //向LCD发送一个字节 { u8 i; for(i=0;i>7; LCDWR_SID=dat&(1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3