您所在位置: 网站首页 / (精品word)51单片机仿真lcd1602.doc / 文档详情
(精品word)51单片机仿真lcd1602.doc 立即下载
2024-09-09
约4.1千字
约10页
0
193KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

(精品word)51单片机仿真lcd1602.doc

(精品word)51单片机仿真lcd1602.doc

预览

免费试读已结束,剩余 5 页请下载文档后查看

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(精品word)51单片机仿真lcd1602
(精品word)51单片机仿真lcd1602
(精品word)51单片机仿真lcd1602
51单片机仿真实例六十三、字符液晶LCD1602显示单个字符实例
1、字符液晶LCD1602显示字符的过程:
使用1602型液晶显示字符必须解决三个问题:代县字符ASCII标准妈的产生;液晶显示模式的设置;字符显示位置的指定.
1)字符ASCII标准码产生
常用字符的标准ASCII码无需人工产生,在程序中定义字符常量或字符串常量时,C语言在编译后会自动产生其标准ASCII码。职演讲澄澄的标准ASCII码通过单片机的IO口送入数据线使用存储器(DDRAM),内部控制线路就会自动将字符传送到显示器上。
2)液晶显示模式的设置
要让液晶显示字符,必须对有无光标、光标的移动方向、光标是否闪烁及字符的移动方向等进行设置。这样才能获得所需的显示效果。1602液晶显示模式的设置是通过控制指令对内部的控制器进行控制而实现的。常用的控制指令需要查询液晶的数据手册获得。
3)字符显示位置的指定
想要在液晶的某一位置显示特定的字符,则必须指定其显示位置,显示位置的地址需要查询1602型LCD内部地址获得。
2、1602型LCD的读写操作
LCD是一个慢速显示器件,所以在写每一条指令之前一定要先读取LCD的忙碌状态(当然也可以通过加入一个比较长的延时时间来避开液晶的忙状态,但是这种方法并不合理)。如果LCD正忙于处理其他指令,就需要等待处理结束;如果不忙,再执行写操作。为此,1602型液晶专门设了一个忙碌标志位BF,该位位于从1602读取的8位数据的最高位,如果BF为0,表示LCD处于空闲状态,反之则处于忙碌状态。
3、1602液晶显示一个字符的操作过程为:读状态—-写指令—-写数据—-自动显示。
1)读状态
要将待显字符写入液晶模块,首先就要检测LCD是否忙碌,只有在LCD处于空闲状态的时候,才能够将待显字符写入
2)写指令
写指令包括写显示模式控制指令和写入地址.
3)写数据
写数据实际上是将待显字符的标准ASCII码写入LCD的数据显示存储器(DDRAM)
4)自动显示
数据写入液晶模块后,字符产生器(CGROM)将自动读出字符的字形点阵数据,并将字符显示在液晶屏上,这个过程由LCD自动完成,无需人工干预
4、1602液晶的初始化过程
使用1602液晶显示字符之前,需要对其显示模式进行初始化设置,过程如此下:
1)延时15ms,给液晶一段反应时间
2)写指令0x38H,尚未开始工作,所以这里不需要检测忙信号,将液晶的显示模式设置为“16*2显示,5*7点阵,8位数据接口”
3)延时5ms
4)写指令,不需要检测忙信号
5)延时5ms
6)写指令,不需要检测忙信号
7)延时5ms(连续设置3次,确保设置成功)
8)以后每次写指令,读/写数据操作都要检测忙信号

5、在keilc51中新建工程ex51,编写如下程序代码,编译并生成ex51.hex文件
//用LCD显示字符’A’#include<reg51。h〉//包含单片机寄存器的头文件#include〈intrins.h〉//包含_nop_()函数定义的头文件sbitRS=P2^0;//寄存器选择位,将RS位定义为P2.0引脚sbitRW=P2^1;//读写选择位,将RW位定义为P2.1引脚sbitE=P2^2;//使能信号位,将E位定义为P2.2引脚sbitBF=P0^7;//忙碌标志位,,将BF位定义为P0.7引脚/*****************************************************函数功能:延时1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒***************************************************/voiddelay1ms(){unsignedchari,j;for(i=0;i〈10;i++)for(j=0;j〈33;j++);}/*****************************************************函数功能:延时若干毫秒入口参数:n***************************************************/voiddelay(unsignedcharn){unsignedchari;for(i=0;i<n;i++)delay1ms();}/*****************************************************函数功能:判断液晶模块的忙碌状态返回值:result。result=1,忙碌;result=0,不忙****************
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

(精品word)51单片机仿真lcd1602

文档大小:193KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用