LCD1602液晶显示器
lcd1602中文资料

LCD1602中文资料1. 简介LCD1602是一种常见的液晶显示模块,它具有两行,每行可以显示16个中文字符或32个英文字母字符。
它广泛应用于数字仪表、电子产品、家电控制、智能家居等领域。
2. 主要特点•显示容量:LCD1602可以同时显示两行,每行可以显示16个中文字符或32个英文字母字符。
•分辨率:每个字符由5 x 8个像素点组成。
•背光控制:可通过控制背光开关来控制显示背光。
•低功耗:LCD1602使用低功耗驱动电路,非常适合电池供电的应用。
•接口简单:LCD1602使用标准的I2C接口进行通信,方便与各种微控制器连接。
3. 硬件连接LCD1602的硬件连接非常简单,只需要将其的VCC引脚连接到3.3V或5V电源,GND引脚连接到地,SDA引脚连接到I2C总线的数据线,SCL引脚连接到I2C总线的时钟线。
以下是连接示意图:SDA ———————————> I2C总线数据线SCL ———————————> I2C总线时钟线VCC ———————————> 3.3V或5V电源GND ———————————> 地4. 软件驱动使用LCD1602显示中文需要相应的软件驱动。
以下是使用Python编写的一个简单的LCD1602驱动代码示例:import smbus2import time# LCD1602的I2C地址ADDRESS =0x27# LCD1602的控制命令LCD_COMMAND =0x80LCD_DATA =0x40def lcd_init():# 初始化LCD1602bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, 0x38) # 设置显示模式为2行,5 x 8个像素点bus.write_byte(ADDRESS, 0x0c) # 打开显示,关闭光标bus.write_byte(ADDRESS, 0x06) # 设置光标移动方向为从左到右bus.write_byte(ADDRESS, 0x01) # 清屏def lcd_write(ch):# 向LCD1602写入字符bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, LCD_DATA)bus.write_byte(ADDRESS, ord(ch))def lcd_display(text):# 在LCD1602上显示文本bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, LCD_COMMAND) for ch in text:bus.write_byte(ADDRESS, ord(ch))# 使用示例lcd_init() # 初始化LCD1602lcd_display('Hello, World!') # 在LCD1602上显示文本5. 示例应用使用LCD1602显示中文可以应用于各种场景,以下是一个使用LCD1602显示温湿度的示例应用:import smbus2import Adafruit_DHT# LCD1602的I2C地址ADDRESS =0x27# LCD1602的控制命令LCD_COMMAND =0x80LCD_DATA =0x40def lcd_init():# 初始化LCD1602bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, 0x38) # 设置显示模式为2行,5 x 8个像素点bus.write_byte(ADDRESS, 0x0c) # 打开显示,关闭光标bus.write_byte(ADDRESS, 0x06) # 设置光标移动方向为从左到右bus.write_byte(ADDRESS, 0x01) # 清屏def lcd_write(ch):# 向LCD1602写入字符bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, LCD_DATA)bus.write_byte(ADDRESS, ord(ch))def lcd_display(text):# 在LCD1602上显示文本bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, LCD_COMMAND)for ch in text:bus.write_byte(ADDRESS, ord(ch))# 使用示例lcd_init() # 初始化LCD1602while True:# 读取温湿度数据humidity, temperature = Adafruit_DHT.read_ret ry(Adafruit_DHT.DHT11, 4)# 在LCD1602上显示温湿度数据lcd_display(f'温度:{temperature}℃湿度:{hu midity}%')time.sleep(2)6. 总结LCD1602是一种常见的液晶显示模块,可以显示中文和英文字符。
lcd1602简介

LCD1602简介1. 什么是LCD1602?LCD1602是一种基于液晶显示技术的字符型显示模块,它可以显示16x2个字符。
它广泛应用于嵌入式系统、自动化设备和电子产品等领域,是一款非常常见的显示模块。
2. LCD1602的特性•显示能力强:LCD1602能够显示16列2行共32个字符,每个字符由5x8个像素点组成。
•低功耗:LCD1602的功耗非常低,适合长时间运行的场景。
•用户友好:LCD1602的显示效果清晰,易于阅读,界面简洁直观。
•简易控制:LCD1602的控制方式简单,只需要几条数据线和几个控制信号即可进行基本的显示操作。
3. LCD1602的工作原理LCD1602由一个液晶显示器和一个控制电路板组成。
液晶显示器由16个字符和每个字符5x8的像素点组成,通过液晶分子的电场调整能够控制像素点的亮度。
控制电路板则负责根据用户的指令控制液晶显示器的显示内容。
LCD1602的控制电路采用了并行通信的方式,需要通过几个控制信号和一个数据总线来进行通信。
控制信号包括使能信号(E),读写信号(RW)和数据/命令选择信号(RS)。
数据总线则用于传输数据和命令。
控制LCD1602的步骤大致如下: 1. 发送初始化命令:初始化LCD1602的内部寄存器。
2. 发送显示命令:控制LCD1602显示内容的相关参数,如显示模式、光标设置等。
3. 发送数据:将需要显示的字符数据发送给LCD1602。
4. LCD1602的应用领域由于LCD1602具有简单易用的特点,它被广泛应用于各种嵌入式系统、自动化设备和电子产品中。
一些常见的应用领域包括:•工业自动化:LCD1602可以作为工业设备的人机界面,用于显示设备的状态、参数等信息。
•家电控制:LCD1602可以作为家电设备的显示屏,用于显示时间、温度、湿度等信息。
•智能家居:LCD1602可以作为智能家居系统的控制界面,用于显示和操作系统的各种功能。
•教育培训:LCD1602可以作为教学实验平台的显示模块,用于展示实验结果和相关信息。
lcd1602显示原理

lcd1602显示原理
LCD1602显示原理是利用液晶技术实现显示的一种方法。
它由16行2列的字符组成,每个字符由5×8的点阵组成。
在每个字符的背后都有一个液晶单元,通过控制液晶单元来控制字符的显示。
液晶单元是由两片平行的玻璃衬底组成,中间夹着液晶材料。
当没有电场作用在液晶材料上时,液晶材料呈现出类似于玻璃的透明状态。
而当有电场作用在液晶材料上时,液晶材料会发生变化,变得无法透过光线,从而产生黑色或其他颜色。
LCD1602显示原理是通过控制电压的加减来改变液晶单元的透明度,从而实现字符的显示。
当给液晶单元加上电压时,液晶材料会对光产生影响,使得光无法透过。
而当断开电压时,液晶材料会恢复透明状态,光可以透过。
通过对每个字符的液晶单元施加适当的电场,就可以实现字符的显示。
控制LCD1602显示的电路通常由驱动芯片和控制器组成。
驱动芯片负责产生所需的电场,控制器负责发送命令和数据到驱动芯片。
通过控制器发送特定的命令和数据,就可以让驱动芯片产生适当的电场,从而实现字符的显示。
总之,LCD1602显示原理是通过控制液晶单元的透明度来实现字符的显示,通过电压的加减来改变液晶单元的状态,从而产生黑色或其他颜色,最终完成字符的显示。
lcd1602显示原理,LCD1602液晶显示器的分类有哪些?

lcd1602 显示原理,LCD1602 液晶显示器的分类有哪
些?
LCD1602 是一种工业字符型液晶,能够同时显示16x02 即32 个字符。
LCD1602 液晶显示原理LCD1602 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
1602 液晶也叫1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7 或者5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD 是指显示的内容为16X2,即可以显示两行,每行16 个字符液晶模块(显示字符和数字)。
市面上字符液晶大多数是基于
HD44780 液晶芯片的,控制原理是完全相同的,因此基于HD44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
lcd1602中文资料

1602LCD液晶显示器(资料)1.1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块.下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器实物如图1:图1。
1602字符型液晶显示器实物图2. 1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图2所示:图2. 1602LCD尺寸图1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4。
5—5。
5V工作电流:2.0mA(5。
0V)模块最佳工作电压:5.0V字符尺寸:2。
95×4。
35(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3所示:编号符号引脚说明编号符号引脚说明1 VSS电源地9 D2数据2 VDD电源正极10D3 数据3 VL 液晶显示偏压11 D4 数据4 RS 数据/命令选择12D5 数据5 R/W读/写选择13 D6 数据6 E 使能信号14 D7 数据7 D0 数据15 BLA背光源正极写指令输入RS=L,R/W=L,D0-D7=指令码,E=高输出无脉冲读数据输入RS=H,R/W=H,E=H 输出D0—D7=数据输出无写数据输入RS=H,R/W=L,D0-D7=数据,E=高脉冲读写操作时序如图3和图4所示:图3. 读操作时序图4.写操作时序4. 1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图5是1602的内部显示地址。
lcd1602工作原理

lcd1602工作原理
LCD1602是一种液晶显示模块,通常由16列2行的字符所组成。
它的工作原理可由以下几个方面来解释。
1. 液晶材料:LCD1602使用的是液晶材料,这是一种特殊的
有机化合物。
液晶能够根据外界电场的作用而改变自身的光学特性。
2. 偏光片和调整器:LCD1602包含两片偏光片,它们的交叠
方向垂直,通过交叠方向的改变可以控制光通过的方向。
此外,还有一片调整器,用于控制入射光的方向。
3. 透明导电层:LCD1602的背板上涂覆了一层透明导电层,
通常为氧化锡。
这层导电层可以在施加电场时改变其透明度。
4. 导电液晶:在透明导电层上涂覆了一层液晶材料,这层液晶就是所谓的导电液晶。
当导电液晶受到电场的作用时,其分子排列会发生改变,影响光的穿透能力。
5. 字符控制和驱动芯片:LCD1602内部集成了字符控制和驱
动芯片,负责接收用户输入的字符信号,并将相应的字符显示在液晶屏上。
驱动芯片通过控制电场的强弱来改变液晶的穿透特性,从而显示出不同的字符。
6. 外部电路:为了控制LCD1602的显示内容,需要通过外部
电路来提供相应的输入信号。
外部电路通常由微控制器等设备来控制,它们会向LCD1602发送特定的命令和数据信号,以
控制显示的内容和位置。
总结来说,LCD1602的工作原理是通过控制液晶材料在外界电场作用下的取向变化来控制光的穿透特性,最终显示出相应的字符。
这个过程涉及到液晶材料、偏光片、导电层、控制芯片等多个组件的协同工作。
单片机lcd1602工作原理

单片机lcd1602工作原理单片机LCD1602工作原理。
LCD1602是一种常见的字符型液晶显示屏,广泛应用于各种嵌入式系统中,如单片机开发、工业控制、仪器仪表等领域。
它具有显示内容丰富、功耗低、体积小等特点,因此备受青睐。
下面将介绍LCD1602的工作原理,帮助大家更好地理解和应用这种显示设备。
首先,LCD1602由液晶显示模块和驱动电路两部分组成。
液晶显示模块是由若干个液晶单元组成的矩阵结构,每个液晶单元可以显示一个字符。
而驱动电路则负责控制液晶单元的显示内容和显示位置。
在LCD1602中,液晶单元的显示原理是利用液晶分子在电场作用下的定向排列来改变光的透过性,从而实现显示效果。
当液晶单元受到电压作用时,液晶分子会发生定向排列,改变光的透过性,使得背光光源透过液晶单元时呈现出不同的亮暗状态,从而形成字符或图形的显示。
而驱动电路则是通过控制液晶单元的偏置电压和驱动信号来实现显示内容和显示位置的控制。
一般来说,液晶显示模块的每个像素点都需要对应的驱动电路来控制,而LCD1602的驱动电路则是将一些像素点组合在一起,形成字符显示。
在实际应用中,单片机通过与LCD1602连接的数据总线和控制总线来向LCD1602发送显示数据和控制指令,从而实现对LCD1602的控制。
单片机将需要显示的字符数据发送给LCD1602,同时发送控制指令来控制显示位置、显示模式等参数,从而实现对LCD1602的灵活控制。
总的来说,LCD1602的工作原理是通过液晶显示模块和驱动电路的协同工作,利用液晶分子的定向排列来改变光的透过性,从而实现字符显示。
而单片机则通过与LCD1602连接的数据总线和控制总线来实现对LCD1602的控制。
希望通过本文的介绍,能够帮助大家更好地理解和应用LCD1602,为嵌入式系统的开发和应用提供帮助。
51单片机lcd1602工作原理

51单片机lcd1602工作原理一、概述1、单片机简介51单片机是一种广泛应用于嵌入式系统的微型计算机,具有周期定时器、数据存储器和输入输出等功能。
其体积小,功耗低,适用于各种微型控制系统。
2、LCD1602简介LCD1602是一种常见的字符型液晶显示器模块,具有16x2的字符显示区域,可以显示16个字符x2行。
它具有低功耗、高对比度、显示清晰等特点,广泛应用于各种电子产品中。
二、LCD1602的原理1、LCD1602的工作原理概述LCD1602的工作原理是利用触电效应,通过控制电场来改变液晶分子的排列方向,从而实现显示功能。
其原理涉及液晶材料、电极、控制信号等方面。
2、液晶材料液晶材料是LCD1602的显示主体,主要由有机分子组成,能够对电场敏感。
当电场变化时,液晶分子会发生排列变化,从而改变光的透射情况。
3、电极LCD1602的电极主要由透明的ITO材料组成,用于施加电场。
通过不同的电压信号,可以改变液晶分子的排列方向,进而控制显示状态。
4、控制信号51单片机通过控制LCD1602的数据口和控制口,向其发送控制信号和数据信号,从而控制液晶显示的内容和状态。
具体的控制信号包括使能信号、读写信号、数据信号等。
三、LCD1602的工作原理分析1、初始化在使用LCD1602之前,首先需要对其进行初始化。
初始化过程主要包括设置显示模式、清屏、光标设置等操作。
通过向LCD1602发送特定的指令,可以实现初始化操作。
2、数据传输51单片机通过并行方式向LCD1602发送数据,数据主要包括要显示的字符、控制信息等。
在发送数据时,需要依次发送高四位和低四位数据,并通过控制信号进行确认。
3、显示控制LCD1602支持多种显示模式和显示控制功能,可以实现光标显示、字符闪烁、显示移动等功能。
通过向LCD1602发送相应的指令,可以实现这些显示控制功能。
四、LCD1602的应用1、嵌入式系统LCD1602广泛应用于各种嵌入式系统中,用于显示系统状态、调试信息、用户交互界面等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验11:1602液晶显示屏显示(字符型液晶显示器)字符型液晶显示器用于数字、字母、符号并可显示少量自定义符号。
这类液晶显示器通常有16根接口线,下表是这16根线的定义。
字符型液晶接口说明编号符号引脚说明编号符号引脚说明1 Vss 电源地 9 D2 数据线22 Vdd 电源正 10 D3 数据线33 VL 液晶显示偏压信号 11 D4 数据线44 RS 数据/命令选择端 12 D5 数据线55 R/W 读/ 写选择端 13 D6 数据线66 E 使能信号 14 D7 数据线77 D0 数据线0 15 BLA 背光源正极8 D1 数据线1 16 BLK 背光源负极(本学习板配的内部已经接地)下图是字符型液晶显示器与单片机的接线图。
这用了P0口的8根线作为液晶显示器的数据线,用P20、P21、P22做为3根控制线。
字符型液晶显示器与单片机的接线图字符型液晶显示器的使用,字符型液晶显示器一般采用HD44780芯片做为控制器的。
1.字符型液晶显示器的驱动程序这个驱动程序适用于1602型字符液晶显示器,1) 初始化液晶显示器命令(RSTLCD)设置控制器的工作模式,在程序开始时调用。
参数:无。
2) 清屏命令(CLRLCD)清除屏幕显示的所有内容参数:无3) 光标控制命令(SETCUR)用来控制光标是否显示及是否闪烁参数:1个,用于设定显示器的开关、光标的开关及是否闪烁。
4) 写字符命令(WRITECHAR)在指定位置(行和列)显示指定的字符。
参数:共有3个,即行值、列值及待显示字符,分别存放在XPOS、YPOS和A中。
其中行值与列值均从0开始计数,A中可直接写入字符的符号,编译程序自动转化为该字符的ASCII值。
5) 字符串命令(WRITESTRING)在指定位置显示指定的一串字符。
参数:共有3个,即行值、列值和R0指向待显示字符串的内存首地址,字符串须以0结尾。
如果字符串的长度超过了从该列开始可显示的最多字符数,则其后字符被截断,并不在下行显示出来。
以下是驱动源程序;**************************************************;连线图:; DB0---DPROT.0 DB4---DPROT.4 RS-------------P2.0; DB1---DPROT.1 DB5---DPROT.5 RW-------------P2.1; DB2---DPROT.2 DB6---DPROT.6 E--------------P2.2; DB3---DPROT.3 DB7---DPROT.7 VLCD接1K电阻到GND*;系统晶振为11.0592;**************************************************RS BIT P2.0RW BIT P2.1E BIT P2.2DPORT EQU P0XPOS EQU R1 ;列方向地址指针YPOS EQU R2 ;行方向地址指针CUR EQU R3 ;设定光标参数NoDisp EQU 0 ;无显示NoCur EQU 1 ;有显示无光标CurNoFlash EQU 2 ;有光标但不闪烁CurFlash EQU 3 ;有光标且闪烁WriteString:MOV A,@R0JZ WS_RETCALL WriteCharMOV A,XPOSCJNE A,#15,WS_1 ;如果XPOS中的值未到15(可显示的最多位)JMP WS_RETWS_1:INC R0INC XPOSJMP WriteStringWS_RET:RET;光标设置命令SetCur:MOV A,CURJZ S_1 ;参数为0,转关显示DEC AJZ S_2 ;参数为1,转开显示,但无光标DEC AJZ S_3 ;参数为2,转开显示且有光标,无闪烁DEC AJZ S_4 ;参数为3,转开显示,光标闪烁JMP S_RET ;否则返回S_1:MOV A,#00001000B ;关显示CALL LCDWCJMP S_RETS_2:MOV A,#00001100B ;开显示但无光标CALL LCDWCJMP S_RETS_3:MOV A,#00001110B ;开显示有光标但不闪烁CALL LCDWCJMP S_RETS_4:MOV A,#00001111B ;开显示有光标且闪烁CALL LCDWCS_RET:RET;清屏命令ClrLcd:MOV A,#01HCALL LCDWCRET;在指定的行与列显示指珲的字符,xpos,行,ypos,列 A,待显示字符WriteChar:CALL LCDPOSCALL LCDWDRET;系统资源一个堆栈WaitIdle: ;正常读写操作之前必须检测LCD控制器状态PUSH ACCMOV DPORT,#0FFHCLR RSSETB RWSETB ENOPW_1:MOV A,DPORTANL A,#80HJZ W_2JMP W_1W_2:CLR EPOP ACCRET;系统资源 aLcdWd: ;写字符子程序CALL WAITIDLESETB RSCLR RWMOV DPORT,A ;以A为数据传递SETB ENOPCLR ERET;系统资源 aLcdWc: ;送控制字子程序(检测忙信号)CALL WaitIdleLcdWcn: ;送控制字子程序(不检测忙信号)CLR RSCLR RWMOV DPORT,ASETB ENOPCLR ERET;系统资源:一个堆栈LCDPOS: ;设置第(XPOS,YPOS)个字符的DDRAM地址PUSH ACCMOV A,XPOSANL A,#0FH ;X位置范围(0到15)MOV XPOS,AMOV A,YPOSANL A,#01H ;Y位置范围(0到1)MOV YPOS,ACJNE A,#00,LPS_LAY ;(第一行)X: 第0----15个字符 MOV A,XPOS ; DDRAM: 0----0FHJMP LPS_LAXLPS_LAY:MOV A,XPOS ;(第二行)X: 第0----15个字符 ADD A,#40H ;DDRAM: 40----4FHLPS_LAX:ORL A,#80H ;设置DDRAM地址CALL LCDWCPOP ACCRET;系统资源 aRSTLCD:MOV R6,#15 ;如果使用12M或以下晶振,此数值不必改,如用24M晶振,须用30CALL DELAY ;延时15毫秒MOV A,#38HCALL LCDWCNMOV R6,#5 ;延时5毫秒,如晶振频率高于12M,加大该值CALL DELAYCALL LCDWCNMOV R6,#5 ;延时5毫秒,如晶振频率高于12M,加大该值CALL DELAYCALL LCDWCNMOV A,#38H ;显示模式设置CALL LCDWCMOV A,#08H ;显示关闭CALL LCDWCMOV A,#01H ;显示清屏CALL LCDWCMOV A,#06H ;显示光标移动位置CALL LCDWCMOV A,#0CH ;显示开及光标设置CALL LCDWCRET;系统资源:r4,r5,r6DELAY:D_1: MOV R5,#25 ;延时子程序(1MS)D_2: MOV R4,#20DJNZ R4,$DJNZ R5,D_2DJNZ R6,D_1 ;R6用作参数传递RETEND该驱动程序占用资源:A、R0、R4、R5和R6。
2.字符型液晶显示器驱动程序的应用参考程序:显示”Welcome!MCUEU ”RS bit P2.0RW bit P2.1E bit P2.2DPORT EQU P0XPOS EQU R1 ;列方向地址指针 YPOS EQU R2 ;行方向地址指针CUR EQU R3 ;设定光标参数NoDisp EQU 0 ;无显示 NoCur EQU 1 ;有显示无光标CurNoFlash EQU 2 ;有光标但不闪烁CurFlash EQU 3 ;有光标且闪烁ORG 0000HJMP STARTORG 30HSTART:MOV SP,#5FHCALL RSTLCDMOV 20H,#'W'MOV 21H,#'e'MOV 22H,#'l'MOV 23H,#'c'MOV 24H,#'o'MOV 25H,#'m'MOV 26H,#'e'MOV 27H,#'!'MOV 28H,#'M'MOV 29H,#'C'MOV 2AH,#'U'MOV 2BH,#'E'MOV 2CH,#'U'MOV 2DH,#' 'MOV 2EH,#0MOV Cur,#CurFlashCALL SETCURMOV R0,#20HMOV r1,#1MOV r2,#0CALL WRITESTRINGJMP $;测试主程序到此结束WriteString:MOV A,@R0JZ WS_RETCALL WriteCharMOV A,XPOSCJNE A,#15,WS_1 ;如果XPOS中的值未到15(可显示的最多位)JMP WS_RETWS_1:INC R0INC XPOSJMP WriteStringWS_RET:RET;光标设置命令SetCur:MOV A,CURJZ S_1 ;参数为0,转关显示DEC AJZ S_2 ;参数为1,转开显示,但无光标DEC AJZ S_3 ;参数为2,转开显示且有光标,无闪烁DEC AJZ S_4 ;参数为3,转开显示,光标闪烁JMP S_RET ;否则返回S_1:MOV A,#00001000B ;关显示CALL LCDWCJMP S_RETS_2:MOV A,#00001100B ;开显示但无光标CALL LCDWCJMP S_RETS_3:MOV A,#00001110B ;开显示有光标但不闪烁CALL LCDWCJMP S_RETS_4:MOV A,#00001111B ;开显示有光标且闪烁CALL LCDWCS_RET:RET;清屏命令ClrLcd:MOV A,#01HCALL LCDWCRET;在指定的行与列显示指珲的字符,xpos,行,ypos,列 A,待显示字符WriteChar:CALL LCDPOSCALL LCDWDRET;系统资源一个堆栈WaitIdle: ;正常读写操作之前必须检测LCD控制器状态PUSH ACCMOV DPORT,#0FFHCLR RSSETB RWSETB ENOPW_1:MOV A,DPORTANL A,#80HJZ W_2JMP W_1W_2:CLR EPOP ACCRET;系统资源 aLcdWd: ;写字符子程序CALL WAITIDLESETB RSCLR RWMOV DPORT,A ;以A为数据传递SETB ENOPCLR ERET;系统资源 aLcdWc: ;送控制字子程序(检测忙信号)CALL WaitIdleLcdWcn: ;送控制字子程序(不检测忙信号)CLR RSCLR RWMOV DPORT,ASETB ENOPCLR ERET;系统资源:一个堆栈LCDPOS: ;设置第(XPOS,YPOS)个字符的DDRAM地址PUSH ACCMOV A,XPOSANL A,#0FH ;X位置范围(0到15)MOV XPOS,AMOV A,YPOSANL A,#01H ;Y位置范围(0到1)MOV YPOS,ACJNE A,#00,LPS_LAY ;(第一行)X: 第0----15个字符MOV A,XPOS ; DDRAM: 0----0FHJMP LPS_LAXLPS_LAY:MOV A,XPOS ;(第二行)X: 第0----15个字符ADD A,#40H ;DDRAM: 40----4FHLPS_LAX:ORL A,#80H ;设置DDRAM地址CALL LCDWCPOP ACCRET;系统资源 aRSTLCD:MOV R6,#15 ;如果使用12M或以下晶振,此数值不必改,如用24M晶振,须用30CALL DELAY ;延时15毫秒MOV A,#38HCALL LCDWCNMOV R6,#5 ;延时5毫秒,如晶振频率高于12M,加大该值CALL DELAYCALL LCDWCNMOV R6,#5 ;延时5毫秒,如晶振频率高于12M,加大该值CALL DELAYCALL LCDWCNMOV A,#38H ;显示模式设置CALL LCDWCMOV A,#08H ;显示关闭CALL LCDWCMOV A,#01H ;显示清屏CALL LCDWCMOV A,#06H ;显示光标移动位置CALL LCDWCMOV A,#0CH ;显示开及光标设置CALL LCDWCRET;系统资源:r4,r5,r6DELAY:D_1: MOV R5,#25 ;延时子程序(1MS)D_2: MOV R4,#20DJNZ R4,$DJNZ R5,D_2DJNZ R6,D_1 ;R6用作参数传递RETEND下载 (37.77 KB)2009-7-23 20:37 收藏分享评分。