嵌入式】基于STC89C52RC的51单片机学习(十)——LCD602

一、非标协议外设——LCD602显示

 LCD1602(Liquid Crystal Display)是一种工业字符型液晶,能够同时显示 16×02 32 字符(16列2行)

二、简介 

在网上看到一篇博客,讲的很详细,链接在这http://admin.guyuehome.com/42685 LCD1602屏幕简介(全网最详细教程) - 古月居LCD1602屏幕简介(全网最详细教程)icon-default.png?t=N7T8http://admin.guyuehome.com/42685

这里简单总结一下:

让lcd160显示字符其实就是在哪显示和显示什么的问题

lcd显示哪个位置时,即显示地址时,最高位必须为1

lcd1602共有16跟线其中数据和指令是共用D0-D7的,当RS为1写数据,RS为0,写地址 

每次在写之前都要读一下看看是否在忙(也就是是否在写数据或地址)

三、遇到的问题 

在写检查函数的时候,即就是文章中说的check_busy( )函数时,自己有一处没有搞明白,下面是函数

 下面是写地址的函数,我没明白的地方是,当在调用写数据和写地址时,每次都要调用检查是否忙的函数,也就是数据最高位D7是否为一,刚开始给dataShow初始化0x80,是为了能够进去判断,但是后面dataShow没有被赋值,所以它就一直在check_busy()的while循环中出不来,既然出不来,那就卡在check_busy()里了,不会向下执行,可是下板后确发现可以显示,所以自己在这块想了好久。

 后来我想通了,仔细看这块的赋值,databuffer 就是那8个数据引脚呀 !

 虽然别人给我这么说,我还是没有理解,可是后来我懂了!仔细看代码的后半段,它是在读数据呀,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值