第八章 LCD编程



《第八章 LCD编程》由会员分享,可在线阅读,更多相关《第八章 LCD编程(53页珍藏版)》请在文档大全上搜索。
1、LCD,LCM 介绍介绍LCM1602LCM1602 编程步骤编程步骤8.1 8.28.3第八章 LCD 编程自定义字符自定义字符 及其及其 显示方法显示方法8.4()8 8.1 .1 LCDLCD,LCM LCM 介绍介绍1、什么是 LCD、LCM2、LCD模块 分类STM32F10 xLCD:Liquid Crystal Display,液晶显示器背光:液晶是一种介于固态与液态之间的物质,本身不能发光,需要借助额外的光源才行。在液晶显示屏背面,需要有背光。LCM:Liquid Crystal Display Module,LCD模块1、什么是 LCD、LCM:v严格地说,1602,1286
2、4都应该称为 LCD模块STM32F10 x2、LCD模块 分类:段码型点阵型段码型显示的产品:例如计算器、电子表字符点阵型图形点阵型字符点阵型的产品:例如LCM1602图形点阵型的产品:例如LCM12864STM32F10 x段码液晶叫法起源于早期液晶显示屏开始应用之时,主要是替代LED数码管(由7个笔段组成,仅能显示数字09),产品如计算器、电子表等,显示内容均为数字,也较简单。段码型:STM32F10 x 段码式液晶,最普遍的,类似数码管的“8”字段,一个“8”字由7个笔段组成,也就是7个液晶像素。只能这7个笔段显示,或不显示。 STM32F10 x “米”字型 段式液晶的“8”字由15
3、个像素组成。 STM32F10 x 当然段式液晶的笔段可以做成任意形状,只要驱动芯片的驱动能力许可。比如公司的logo,其它图案,文字等等。段式液晶材料制作,价格低廉。段式液晶的驱动成本也很低廉STM32F10 x字符点阵型 和 图形点阵型产品 的区别:(i)字符点阵型 :STM32F10 x(ii)图形点阵型 :STM32F10 xSTM32F10 x字符点阵型 和 图形点阵型产品 的区别:(i)字符点阵型:整个屏虽然是由点阵构成。但整个屏被分成若干个小区域(例如1602:被分成16*2=32个区域),每个小区域显示1个字符,该小区域是由很少的点阵来显示,(例如1602:该小区域是由5*7点
4、阵构成)。所以,通常字符(点阵)型只用来显示数字、字母,不用来显示汉字、图形。但是,若要用字符点阵型,显示汉字、图形也可:处理方法-用2个或更多个小区域来显示汉字、图形。(ii)图形点阵型:它是由许多等间隔的点,围成的一个大的点阵列构成。例如LCM12864是由128*64个点构成。8 8. .2 2 LCM1602LCM1602 1、LCM1602简介2、LCM1602各引脚的定义3、LCM1602 与 单片机 的连接图4、LCM1602控制器 控制时序5、LCM1602控制器 指令和状态字6、LCM1602的4种存储器类型STM32F10 xn LCM1602为字符型(点阵式)LCD模块。
5、n字符型液晶显示模块是一种专门用于显示字母、数字、符号等的点阵式液晶显示模块。n但是,通过自定义,也可显示简单的汉字和图形。nLCM1602的每一个显示的字符(或字母、数字等)是由5*7或5*11点阵组成。n每个点阵字符(5*7或5*11点阵)之间有一个间隔,起到字符间距和行间距的作用。1、LCM1602简介STM32F10 xSTM32F10 x正面反面STM32F10 x2、LCM1602各引脚的定义STM32F10 xSTM32F10 x3、LCM1602 与 单片机 的连接图(1)LCM1602 与 MCS51单片机 的连接图(2)LCM1602 与 STM32单片机 的连接图STM3
6、2F10 xnLCM与STC89C52的连接图,如右图所示:(1)LCM1602 与 MCS51单片机 的连接图lLCM1602有八个数据引脚(D0D7)与STC89C52相连,用于接收指令和数据;lSTC89C52通过LCM1602的RS,RW和E这三个端口控制LCM模块。P22P22STM32F10 x(2)LCM1602 与 STM32单片机 的连接图原理图-LCM1602 与 STM32单片机 的连接图.pptSTM32F10 xn写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码输出:无n读状态 输入:RS=L,RW=H,E=H输出:DB0DB7=状态n写数据 输
7、入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据输出:无n读数据 输入:RS=H,RW=H,E=H输出:DB0DB7=数据(从LCD读数据,一般无必要)状态状态指令指令4 4、LCM1602LCM1602控制器控制时序:控制器控制时序:数据数据数据数据LCM1602的控制器,(控制驱动电路为HD44780/KS0066),其控制时序如下:STM32F10 x5 5、LCLCM M16021602控制器指令和状态字控制器指令和状态字工作方式工作方式设置指令:设置指令: DL:设置数据总线宽度,一般设置为 1;DL=1:数据总线宽度为 8 位,即 DB7DB0 有效; DL=0:数据总线
8、宽度为 4 位,即 DB7DB4 有效。N:设置显示字符的行数,1602 LCD一般都设置为 1;N=0:为一行字符; N=1:为两行字符;F:设置显示字符的点阵,一般设置为 0;F=0:为 5X7点阵字符体; F=1:为 5X11 点阵字符体;1这位,很多的数据参考手册都写错了STM32F10 x显示状态显示状态设置指令:设置指令:该指令控制着画面、光标和闪烁的开与关。D:画面显示控制位; D=1 为显示开, D=0 为显示关;该指令仅影响显示屏的开关,并不影响显存中的数据。 C:光标显示控制位;C=1 光标显示;C=0 光标不显示。B:光标闪烁闪烁显示控制位;B=1 光标闪烁启动;B=0
9、光标闪烁关闭;STM32F10 x光标光标或或画面画面滚动滚动设置指令:设置指令:S/C (Screen/Cursor):滚动对像的选择 S/C=1 画面滚动 S/C=0 光标滚动R/LR/L(Right/LeftRight/Left):滚动方向的选择 R/L=1 向右滚动 R/L=0 向左滚动 S/C R/L 设定情况 0 0 光标左移 1 格,且 AC 值减 1 0 1 光标右移 1 格,且 AC 值加 1 1 0 显示器上画面(即字符和光标全部)左移一格1 1 显示器上画面(即字符和光标全部)右移一格STM32F10 x写或读一个字符后,写或读一个字符后, 光标光标或或画面画面滚动滚动设
10、置指令设置指令:I/DI/D(Increase/DecreaseIncrease/Decrease): I/D=0 I/D=0 当当写或读一个字符后,光标写或读一个字符后,光标左左移移1 1格格,ACAC自动减一;自动减一; I I/ /D=1 D=1 当当写或读一个字符后,光标写或读一个字符后,光标右右移移1 1格格,ACAC自动增一;自动增一; S S(shiftshift):设置):设置写或读一个字符后写或读一个字符后,是否允许,是否允许画面平移画面平移S = 1S = 1:当写或读一个字符后,:当写或读一个字符后,允许允许画面画面平移平移; S = 0S = 0:当写或读一个字符后,:
11、当写或读一个字符后,画面不动画面不动。例如,S=1:当写或读一个字符后,整屏显示(I/D=1)左移或者右移(I/D=0)一格。达到光标不移动而屏幕移动的效果。S=0S=0:当写或读一个字符后,整屏显示不移动。当当I/D=1I/D=1,光标光标右右移移1 1格格,ACAC自动增一自动增一;当当I/D=0I/D=0,光标光标左左移移1 1格,格,ACAC自动减一自动减一。STM32F10 x清屏清屏指令:指令: 功能: 清除液晶显示器,即将 DDRAM 的内容全部填入空白的 ASCII 码 20H; 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为 0。 STM32F10