- 积分
- 3537
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2014-11-13
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
项目中需要显示部分,身边正好有一块LCD1602。这一周跟大家分享一下LCD1602的使用。
开始之前先讲一下这周遇到的一些小麻烦,这几天看到有人写关于升级STlink的固件的帖子,然后我也忍不住升级一下,升级完了没感觉太大的变化,反而遇到程序下载不进去的情况。
具体现象是黄色框里的内容可以识别出来,但是红色部分认不出来。
这下让我折腾好久,曾经一度认为板子坏掉了(STlink上的小单片机发热)。
最终问题在我各种尝试下解决了。所以能用就别乱折腾,免得浪费时间。如果实在不行,多复位几次。
这块LCD1602是之前51上做毕设用的,是5V供电。这回换到3.3V单片机使用能否之前心里也没底。网上看了别人的帖子,有说外接上拉电阻什么的。如果外接上拉电阻,又得费工夫找元器件,太麻烦。年底各种事,心烦意乱,再说板子上的单片机的io是可以配置成上拉的,手册上也有写很多io口是可以耐5V电压的,所以决定按自己的理解去做。
最终搞定。
程序思路很简单,首先用Systick定时器设置延时来为LCD1602提供时序用,延时最小单位是1us,具体1602的时序可以到网上找,这里不再赘述。液晶初始化后,第一行显示固定字符,当用户按键按下后,显示第二行字符。
上图,线比较乱,将就着看吧。
这里再简单说明一下,LCD1602的几个控制i/o:RS、RW、E配置成推挽输出,提高带负载能力。8个数据i/o:配置成开漏输出同时配置成上拉,这样达到双向的目的。
接着,只需要直接把线连上就行了。具体代码就不贴了有需要去附件下载吧
|
|