AVR液晶显示读忙位程序

AVR液晶显示读忙位程序,第1张

temp=PINA//读取PA口状态岁闭

while(temp&0x80==0x80)//等待,若BF不为0,即LCD忙,继续循环

{

temp=PINA//读取PA口状态

}

改为temp=PINA//读取乎斗裂PA口状销喊态

temp&=0x80while(temp==0x80)//等待,若BF不为0,即LCD忙,继续循环

{

temp=PINA//读取PA口状态 temp&=0x80

}

1,lcd1602工作原理是什么?

线段的显示

点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)隐顷=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。

字符的显示

用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同宏态位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。

汉字的显示

汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(蔽携源一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。

2,lcd1602工作原理-lcd1602的基本参数

显示容量:16×2个字符

芯片工作电压:4.5—5.5V

工作电流:2.0mA(5.0V)

模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)mm

3,lcd1602工作原理-lcd1602与单片机连接电路图

lcd1602液晶显示模块可以只用D4-D7作为四位数据分两次传送。这样的话,可以节省MCU的I/O口资源。lcd1602可以显示2行16个字符,有8为数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。

lcd1602液晶显示模块可以和单片机AT89C51直接接口,电路连接简单,如图1所示:

lcd1602和51单片机的连接图

lcd1602和51单片机的连接图

其中图中的JPBG直接接电源,第3引脚的可调电位器的两端一定要连接电源和地。P2.0,P2.1,P2.2分别是RS,R/W和E三个控制位,P0.0-P0.7是8位数据线。三个控制位详见说明,RS=0表示写或读指令,RS=1表示写数据。R/W是读写指令,R/W=1是读,R/W=0是写。E是使能端,要根据时序图去写对应的程序。

lcd1602和AT89S52单片机的连接图

此电路中,上拉电阻用4.7K的,液晶的3脚用一个10K可调电阻接地,调节液晶亮度。

4,lcd1602工作原理-lcd1602引脚图与引脚定义

lcd1602共16个管脚,但是编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W(读写选择端),E(使能信号)以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。

1602采用标准的16脚接口,

第1脚:VSS为电源地

第2脚:VCC接5V电源正极

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

第5脚:RW为读写信号线,高电平(1)时进行读 *** 作,低电平(0)时进行写 *** 作。

第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。

第7~14脚:D0~D7为8位双向数据端。

第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。

5,lcd1602工作原理-读写 *** 作指令编程表

各种液晶厂家均有提供几乎都是同样规格的lcd1602 模块或兼容模块,尽管各厂家的对其各自的产品命名不尽相同但其最初采用的LCD 控制器采用的是HD44780,在各厂家生产的1602 模块当中,基本上也都采用了与之兼容的控制IC,所以从特性上基本上是一样的当然,很多厂商提供了不同的字符颜色、背光色之类的显示模块。但是它们的读写 *** 作是一样的。

lcd1602液晶模块内部的控制器共有11条控制指令,如下表所示。

lcd1602液晶模块的读写 *** 作,屏幕和光标的 *** 作都是通过指令编程来实现的。(说明1为高电平,0为低电平)

指令1:清显示,指令码01H,光标复位到地址00H位置

指令2:光标复位,光标返回到地址00H

指令3:光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。

指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:光标或显示移位 S/C :高电平时显示移动的文字,低电平时移动光标

指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。

指令7:字符发生器RAM地址设置。

指令8:DDRAM地址设置。

指令9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。

小编推荐阅读:

lcd1602液晶显示屏介绍_lcd1602引脚功能

lcd1602在proteus中怎么找_lcd1602proteus仿真

lcd1602只亮不显示_lcd1602简单显示程序

lcd1602地址设置_LCD1602内部的控制器指令

lcd1602的封装_lcd1602的初始化程序

lcd1602的a和k是什么引脚_lcd1602与单片机的连接方法

阅读原文

你的P1口是接1602的7根数据线加一个尘孝FB位,FB位接P1^7,。整个lcd_bz()函数的功能就是读1602忙信号FB位,若忙,磨高则FB=1,result=1;若不派游稿忙,则FB=0,result=0。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12482850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存