ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:104.97KB ,
资源ID:6743608      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6743608.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(字符型液晶显示模块的应用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

字符型液晶显示模块的应用.docx

1、字符型液晶显示模块的应用字符型液晶显示模块的应用 字符型液晶显示模块是一类专用于显示字母、数字、符号等的点阵型液晶显示模块。之所以称字符型液晶显示模块是因为其液晶显示器件的电极图形是由若干个58或5ll点阵块组成的字符块集。每一个字符块是一个字符位,每一位都可以显示一个字符,字符位之间空有一个点距的间隔起着字符间距和行距的作用,这是其一;其二是这类模块使用的是专用于字符显示控制与驱动的IC芯片。这两种因素确定了这类模块的应用范围仅局限于字符而显示不了图形,所以称其为字符型液晶显示模块。 字符型液晶显示驱动控制器广泛应用于字符型液晶显示模块上。目前最常用的字符型液晶显示驱动控制器是HD44780

2、U,也出现使用HD667O1或HD66702等字符型液晶显示驱动控制器单片控制的字符型液晶显示模块。液晶显示驱动器为HD44100及其替代品。字符型液晶显示模块在世界上是比较通用的,而且接口格式也是比较统一的,其主要原因可能是各制造商所采用的模块控制器都是HD44780U及其兼容品,不管它的显示屏的尺寸如何,它的操作指令及其形成的模块接口信号定义都是兼容的。所以会使用一种字符型液晶显示模块,就会通晓所有的字符型液晶显示模块。本文将以香港精电公司字符型液晶显示模块为例全面叙述字符型液晶显示模块的应用。HD44780U接口部的总线操作时序图如图下:第一节 字符型液晶显示模块的软件特性 在上一节已经

3、叙述了字符型液晶显示模块电路特性,由于电路特性决定了字符型液晶员示模块的软件特性实际上就是HD44780U的软件功能。HD44780U有8条指令,指令裕时常简单。指令一览表如下表所示。 HD447800指令一格装指令名称控制信号控制代码D/I R/WD7 D6 D5 D4 D3 D2 D1 D0清屏0 00 0 0 0 0 0 0 1归home位0 00 0 0 0 0 0 1 *输入方式设置0 00 0 0 0 0 1 I/D S显示状态设置0 00 0 0 0 1 D C B光标画面滚动0 00 0 0 1 S/C R/L * *工作方式设置0 00 0 1 DL N F * *CGRAM

4、地址设置0 00 1 A5 A4 A3 A2 A1 A0DDRAM地址设置0 01 A6 A5 A4 A3 A2 A1 A0读BF和AC0 1BF AC6 AC5 AC4 AC3 AC2 AC1 AC0写数据1 0数 据读数据1 1数 据 注;“*”表示任意值,在实际应用时一般认为是“0”。 指令详细解释如下: 清屏(Clear DisPlay)格式 0000000101H 该指令完成下列功能: 将空码(20H)写入 DDRAM的全部 80个单元内; 将地址指针计数器AC清零,光标或闪烁归home位; 设置输入方式参数 ID=1,即地址指针 AC为自动加一输入方式。 该指令多用于上电时或更新全

5、屏显示内容时。在使用该指令之前要确认DDRAM的当前内容是否有用。 归home位(Return home)格式 0000001002H 该指令将地址指针计数器AC清零。执行该指令的效果有;将光标或闪烁位返回到显示屏的左上第一字符位上,即DDRAM地址00H单元位置;这是因为光标和闪烁位都是以地址指针计数器 AC当前值定位的。如果画面已滚动,则撤消滚动效果,将画面拉回到home位。 输入方式设置(Enter Mode Set)格式 000001IDS04H07H 该指令的功能在于设置了显示字符的输入方式,即在计算机读写DDRAM或CGRAM后,地址指针计数器AC的修改方式,反映在显示效果上,当写

6、入一个字符后画面或光标的移动。该指令的两个参数位 1D和 S确定了字符的输入方式。 ID表示当计算机读写 DDRAM或 CGRAM的数据后,地址指针计数器 AC的修改方式,由于光标位置也是由AC值确定,所以也是光标移动的方式。 ID0 AC为减1计数器,光标左移一个字符位。 ID1 AC为加 1计数器,光标右移一个字符位。 S 表示在写入字符时,是否允许显示画面的滚动。 S0禁止滚动。 S1允许滚动。 S1且IDO显示画面向右滚动一个字符位。 S1且ID1显示画面向左滚动一个字符位。显示状态设置(Display on/off Control)格式 00001DCB08H0FH该指令控制着画面,

7、光标及闪烁的开关。该指令有三个状态位D、C、B,这三个状态位分别控着画面,光标和闪烁的显示状态。 D画面显示状态位。当D1时为开显示,D0时为关显示。注意关显示仅是画面不 出现,而DDRAM内容不变。这与清屏指令截然不同。 C光标显示状态位。当C1时为光标显示,C0时为光标消失。光标为底线形式(5 1点阵),出现在第八行或第十一行上。光标的位置由地址指针计数器 AC确定 ,并随其变动而移动。当 AC值超出了画面的显示范围,光标将随之消失。 B闪烁显示状态位。当Bl时为闪烁启用,B0时为闪烁禁止。闪烁是指一个字符位 交替进行正常显示态和全亮显示态,闪烁频率在控制器工作频率为250kHz时为 2.

8、4Hz。闪烁位置同光标样受地址指针计数器AC的控制。 闪烁出现在有字符或光标显示的字符位时,正常显示态为当前字符或光标的显示;全亮显示态为该字符位所有点全显示。若出现在无字符或光标显示的字符位时,正常显示态为无显示,全亮显示态为该字符位所有点全显示。这种闪烁方式可以设计成块光标,如同计算机CRT上块状光标闪烁提示符的效果。 光标或画面滚动(Cursor Or Insplay Shift)格式 0001S/CR/L00 执行该指令将产生画面或光标向左或向右滚动一个字符位。如果定时间隔地执行该指令将产生画面或光标的平滑滚动。画面的滚动是在一行内连续循环进行的,也就是说一行的第一单元与最后一个单元连

9、接起来,形成了闭环式的滚动。当未开光标显示时,执行画面滚动指令时不修改地址指针计数器 AC值;有光标显示时,由于执行任意一条滚动指令时都将使光标产生位移,所以地址指针计数器AC都需要被修改。光标的滚动是在DDRAM内全程进行的,它不分是一行显示还是两行显示。如果用光标的指针地址指针计数器AC加一和减一功能来解释,就能理解光标从第1显示位左移至第80显示位,或从第80显示位右移至第1显示位原理了。光标的滚动功能可以用于搜寻需要修改的显示字符。该指令有两个参数位:SC滚动对象的选择 SCl画面滚动 SC0光标滚动RL滚动方向的选择 RLl向右滚动 RL0向左滚动 该指令与输入方式设置指令都可以产生

10、光标或画面的滚动,区别在于该指令专用于滚动功能,执行一次,显示呈现一次滚动效果;而输入方式设置指令仅是完成了一种字符输入方式的设置,仅在计算机对DDRAM等进行操作时才能产生滚动的效果。 工作方式设置(Function Set)格式 001DLNF00 该指令设置了控制器的工作方式,包括有控制器与计算机的接口形式和控制器显示驱动的占空比系数等。该指令有三个参数DL,N和F它们的作用是: DL设置控制器与计算机的接口形式。接口形式体现在数据总线长度上。 DL1设置数据总线为8位长度,即DB7DBO有效。 DL0设置数据总线为4位长度,即DB7DB4有效。在该方式下8位指令代码 和数据将按先高4位

11、后低4位的顺序分两次传输。 N设置显示的字符行数。 N0为一行字符行。 N1为两行字符行。 F设置显示字符的字体。 F0为57点阵字符体。 F1为 5 10点阵字符体。该指令可以说是字符型液晶显示控制器的初始化设置指令,也是唯一的软件复位指令。HD44780U虽然具有复位电路,但为了可靠的工作,HD44780U要求计算机在征作HD44780U时首先对其进行软件复位。也就是说在控制字符型液晶显示模块工作时首先要进行的软件复位。 CGRAM地址设置(Set CGRAM Address)格式 01A5A4A3A2A1A0 该指令将6位的CGRAM地址写入地址指针计数器AC内,随后计算机对数据的操作是

12、对 CGRAM的读写操作。 DDRAM地址设置(Set DDRAM Address)格式 1A6A5A4A3A2A1A0 该指令将 7位的DDRAM地址写入地址指针计数器AC内,随后计算机对数据的操作是对 DDRAM的读写操作。 读“忙”标志和地址指针值(Read Busy Flag and Address)格式 BFAC6AC5AC4AC3AC2AC1AC0计算机对指令寄存器通道读操作(RS0,RWl)时,将读出此格式的“忙”标志BF值和7位地址指针计数器AC的当前值。计算机随时都可以对HD44780U读“忙”操作。BP值反映HD4478OU的接口状态。计算机在对HD44780U每次操作时首

13、先都要读BF值判断HD44780U的当前接口状态,仅有在BF01时计算机才可以向HD44780U写指令代码或显示数据和从HD44780U读出显示数据。 计算机读出的地址指针计数器AC当前值可能是 DDRAM地址也可能是 CGRAM的地址,这取决于最近一次计算机向AC写入的是哪类地址。 写数据(Whte Data to CG or DD RAM) 计算机向数据寄存器通道写入数据,HD44780U根据当前地址指针计数器AC值的属性及数值将该数据送入相应的存储器内的AC所指的单元里。如果AC值为DDRAM地址指针,则认为写人的数据为字符代码并进入 DDRAM内AC所指的单元里;如果AC值为CGRAM

14、的地址指针,则认为写入的数据是自定义字符的字模数据并送入 CGRAM内 AC所指的单元里。所以计算机在写数据操作之前要先设置地址指针或人为的确认地址指针的属性及数值。在写人数据后地址指针计数器AC将根据最近设置的输入方式自动修改。由此可知,计算机在写数据操作之前要作两项工作,其一是设置或确认地址计数器AC值的属性及数值,以保证所写数据能够正确到位;其二是设置或确认输入方式,以保证连续写入数据时AC值的修改方式符合要求。 读数据(Read Data from CG or DD RAM) 在HD44780U的内部运行时序的操作下,地址指针计数器AC的每一次修改,包括新的AC值的写入,光标滚动位移所

15、引起的AC值的修改或由计算机读写数据操作后所产生的AC值的修改,HD44780U都会把当前AC所指单元的内容送到接口部数据输出寄存器内,供计算机读取。如果AC值为DDRAM地址指针,则认为接口部数据输出寄存器的数据为DDRAM内 AC所指单元的字符代码;如果 AC值为 CGRAM的地址指针,则认为数据输出寄存器的数据是CGRAM内AC所指单元的自定义字符的字模数据。 计算机的读数据是从数据寄存器通道中数据输出寄存器读取当前所存放的数据。所以计算机在首次读数据操作之前需要重新设置一次地址指针AC值,或用光标滚动指令将地址指针计数器AC值修改到所需的地址上,然后进行的读数据操作将能获得所需的数据。

16、在读取数据后地址指针计数器AC将根据最近设置的输入方式自动修改。由此可知,计算机在读数据操作之前要作两项工作,其一是设立或确认地址计数器AC值的属性及数值,以保证所读数据的正确性;其二是设置或确认输入方式,以保证连续读取数据时AC值的修改方式符合要求。第二节 应用举例初始化程序举例; ORG 0000H LJMP KKoO KKOO: LCALL WatB MOV p3,OFOH MOV RO,#03H KK01; CLR P3.0 ;RS=O CLR P3.1 ;R/W=0 MOV P1,30H SETB P3.2 ;E=1 CLR P3.2 ;E=0 LCALL WAITB DJNZ RO

17、,KK01 LCALL WAITB MOV A,38H LCALL WRCA MOV A,#08H ;OFFDSW LCALL WRCA MOV A,01H ;DELDSIP LCALL WRCA MOV A,O6H LCALL WRCA MOV A,#10H LCALL WRCA MOV A,#0CH ;ONDISP LCALL WRCA LCALL WAITB LCALL WAITBWAITA: PUSH 00H MOV RO,19HWAA00: DJNZ RO,WAA00 POP 00H RETWAITB: PUSH 00H PUSH 0lH PUSH 02H MOV RZ,01HWAB

18、03: MOV RO; #OFFHWAB01: MOV R1,OFFHWAV02; DJNZ R1,WAB02 DJNZ RO,WAB01 DJNZ R2,WAB03 POP 02H POP 01H POP 00H RETWRCA: NOP LCALL WAITA CLR P3.0 CLR P3.1 SETB P3.2 MOV P1,A CLR P3.2 RET例一:检查DMC16230的忙标志操作:将“读忙“功能编成子程序,以便以后操作时使用该子程序 RDBUSY: PUSH ACC PUSH 00H MOV RO,#12H RDSS: MOVX A, RO RLC A JC RDBS PO

19、P 00H POP ACC RET例二:清屏 操作 :此程序可用于更新显示 CLRDSP; MOV RO,#10H MOV A,#OIH ACALL RDBUSY MOVX R0,A例三:系统设置 操作:由于 DMC16230为 16位字符X 2行,故应设置成8位数据总线,显示两行 57点阵字符其程序为: SYSSET;MOV RO,#10H MOV A,38H ACALL RDBUSY MDVX RO,A例四:设置光标移动方式,自动地址为增量方式 操作: MODSET: MOV RO,10H MOV A, 06H ACALL RDBUSY MOVX RO,A例五:开启显示器,显示光标,且使光

20、标闪烁 操作: DSPON: MOV RO,#10H MOV A,#0FH ACALL RDBUSY MOVX RO,A例六:将“WELCOME TO LCD WORLD“分两行显示在LCD上然后左移至出屏幕 分析:应按以下5个步骤进行操作 建立显示缓冲区:将8031内部RAM的30H3FH作为第一杆行字符的显示缓冲区与之对应的DMC16230地址为80H8FH;将8031内部RAM的40H4FH作为第二行字符显示缓冲区,与之时应的DMC16230的地址为COHCFH 将“WELCOME TO LCD WORLD!”的ASCII码送至显示缓冲区 设置DMC16230的系统方式 将缓冲区内容送至

21、显示屏显示 将显示器内容左移16次操作软件:START MOV DPTR,#CHATAB MOVX RO,A MOV R7,#32 INC R1 MOV R1,30H DJNZ R7, DSPNDDSPBUF:CLR A MOV R7,10 MOVC A,A+DPTR DlY10 ACALL DELAY MOV R1,A DJNZ R7,DLY10 INC DPTR MOV RO,#10H INC R1 M0V, R7,#16 DJNZ R7,DSPBUF MOV A,#18H MOV A,#38H SHIFT: ACALL RDBUSY MOV RO,10H MOVX RO,A ACALL

22、RDBUSY ACALL DELAY MOVX R0,A DJNZ R7,SHIFT MOV A,01H AJMP START ACALL RDBUSY DELAY: MOV R5,OFFH MOVX RO,A DL1: MOV R6,OFFH MOV R7,16 DL2; DJNZ R6,DL2 MOV R1,#30H DJNZ R5,DL1 MOV RO,12H RETDISPIST:MOV A,R1 RDBUSY:(略) ACAL L RDBUSY CHATAB:DB 57H,45H,4CH,43H MOVX RO,A DB 4FH,4DH,45H,20H INC R1 DB 44H,4

23、FH,20H,20H DJNZ R7,DSPIST DB 20H,20H,20H,20H MOV RO:l0H DB 2OH,2OH,2OH,20H MOV A,OCOH DB 20H,4CH,43H,44H ACALL RDBUSY DB 20H,57H,4FH,52H MOVX R0,A DB 4CH,44H,2OH,21H MOV R7,16 END MOV RO,12H 例七:将中”字显示在屏幕左上角DSPIND:MOV A,R1 分析;本例关因是将中”字写入自编字库 ACALL RDBUSY CGRAM操作;START: MOV A,38H INC R1 MOV RO,10H INC

24、C DPTR ACALL RDBUSY DJNZ R7,WRCGRAM MOVX R0,A MOV RO,1OH MOV A,01M MOV A,80H ACALL RDBUSY ACALL RDBUSY MOVX R0,A MOVX RO,12H M0V A,OCH M0V A,OOH ACALL RDBUSY ACALL RDBUSY MDVX RO,A MOVX RO,A M0V DPTR,CGRAM AJMP START MOV R7,8 RDBUSY; PUSH ACC MOV R1, 4OH PUSH 00HWRCGRAM:MOV RO,#10H M0V RO,#11H MOV A

25、,R1 RDBS: MOVX A,RO ACALL RDBUSY RLC A MOVX RO,A JC RDBS CLR A POP OOH POP ACC MOVC A,ADPTR RET MOV RO,12H CGRAM: DB O4H,04H,1FH,15H ACALL RDBUSY DB 15H,IFH,04H,04H MOVX R0,A END第三节 一个完整的实例以下是一个以AT89C51为控制MCU驱动16X2字符型液晶显示器的完整的汇编语言实例,运行后液晶屏幕上显示“WELCOME! 2003”字样。在该例中,包含了驱动字符型液晶显示器所需要的子程序,在实际应用中可以直接套用和

26、调用。; *; * HD44780液晶显示模块测试程序(16X2模式)*; * BD7RC/李映超, 2003.11.7 *; *; 模块14根接线的说明:(3为对比度调整,可以直接接地); 引脚: 1 2 3 4 5 6 7 8 9 10 11 12 13 14; - - - - - - - ; 接法: 接地 +5V 接地 RS R/W E DB0-DB7 ;-;LCD第一行各个字符位置对应的地址:; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;80H 81H 82H 83H 84H 85H 86H 87H 88H 89H 8AH 8BH 8CH 8DH 8

27、EH 8FH;LCD第二行各个字符位置对应的地址:; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;COH C1H C2H C3H C4H C5H C6H C7H C8H C9H CAH CBH CCH CDH CEH CFH;-; 模块DB0-DB7分别接P0.0-P0.7,若接别的口,请把P0换为相应的口线号; 而RS、R/W、E则由以下指令定义;=;定义模块控制脚与89C51的连接,可以根据实际情况自己定义为别的口线; RS EQU P2.0 ;RS P2.0 RW EQU P2.1 ;R/W P2.1 E EQU P2.2 ;E P2.2 ORG 0000H AJMP LCD_INT;说明:使用前,必须先对液晶显示模块进行初始化。然后,先把

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1