STC8G1K08A 发表于 2023-1-31 16:44:59

LCD1602高刷滚动显示汉字(89C52RC)

本帖最后由 STC8G1K08A 于 2023-2-1 01:56 编辑

上个月捡到一块开发版
上贴地址:https://www.stcaimcu.com/forum.php?mod=viewthread&tid=89&extra=

图1 开发版

利用上面的外设做了个实时时钟

图2 还是开发版

后来又给它设计了块板(嘉立创工程链接在后面)

图3 自己设计的板子

第一次设计那么紧凑的板子,出了各种各样的问题,例如:
DS1302芯片有问题,内部RAM无法使用;
LCD1602乱码;
伪劣晶振达不到40MHz;
74HC245封装不对等等。
修修补补用了一个月(其实大部分时间在摸鱼)
送给朋友两块,反馈还不错(开不了机)
但是自己的这块稳定运行了半个月,
所以是时候把程序放出来了(在最后)

///////////////////////////////////////////////////////*分割线*///////////////////////////////////////////////////////

运行图片:

图4 时钟样式1 大字体
上下键可切换菜单


图5 时钟样式1 小字体
数字滑动刷新


图6 温湿度 汉字滚动显示
左键可切换副屏显示内容(温湿度→日期→时间)


图7 确认键进入时间设置
确认键进入设置


图8 按右键进入闹钟设置(最多8个)
左键开启/关闭闹钟,确认键设置时间


图9 闹钟响 数码管闪烁
可按任意键关闭闹钟

IO口使用情况:
P0      数码管段选(必须加上拉电阻)
P1      LCD1602数据端
P2.0~P2.2      接74HC138作数码管位选
P2.3~P2.5      DS1302实时时钟
P2.6      接S8550驱动有源蜂鸣器
P2.7      DHT11温湿度传感器
P3.0~P3.4      五向按键
P3.5~P3.7      LCD1602控制端

演示视频地址:https://www.bilibili.com/video/BV1Bs4y1s7QJ/
工程文件地址:https://oshwhub.com/cv90_105/LCD1602shu-ma-guan-shi-zhong

程序代码(请用keil5 c51版打开)
祝您使用愉快

飞龙在天 发表于 2023-2-2 12:09:53

很牛的创作!!!!!

飞哥 发表于 2023-2-3 18:27:04

LCD1602是怎么显示汉字的?

芯征程 发表于 2023-2-4 10:42:06

本帖最后由 红心A 于 2023-2-4 10:44 编辑

飞哥 发表于 2023-2-3 18:27
LCD1602是怎么显示汉字的?


https://www.stcai.com/syx

芯征程 发表于 2023-2-4 10:45:17

在我们的STC8H8K64U实验箱和STC32G12K128实验箱上均匀范例程序,可以试下。

STC8G1K08A 发表于 2023-2-4 11:06:31

本帖最后由 STC8G1K08A 于 2023-2-4 11:09 编辑

飞哥 发表于 2023-2-3 18:27
LCD1602是怎么显示汉字的?
需要用到1602的CGRAM。
众所周知,将光标定位到屏幕左上角需发送命令0x80,左下角则是0xC0,那么除了显示地址,其它地址是干什么用的呢?
0x40~0x7F这64个字节就是CGRAM部分。64个字节分为8份,每份可储存一个自定义字模。
由于1602每个分块有5x8个像素,所以8个字节就能表示一个自定义字模。
总共8个字模,第一个0x40~0x47,第二个0x48~0x4F……第八个0x78~0x7F。
如果要存入第一个字模,先发命令0x40,再连续发8个数据,就能写入第一个CGRAM。
存入字模后,发送命令定位光标(如0x80)到屏幕上,再发送数据0x00即可显示第一个字模。
第二个就是0x01,第三个0x02,以此类推,第八个是0x07。
值得一提的是,CGRAM可以在屏幕上多处同时显示,如果CGRAM中的内容变化,则这几个地方也会同时变化。
至于滚动效果,算法有亿点复杂,这里不展开了,具体请看程序。

STC8G1K08A 发表于 2023-2-5 17:16:41

红心A 发表于 2023-2-4 10:42
https://www.stcai.com/syx

大哥,你们那是高端的12864,我这是低端的1602,不通用的

神农鼎 发表于 2023-2-5 17:21:49



STC8H实验箱有个简单的LCD1602的参考程序



mxdyeah 发表于 2023-3-17 16:48:19

支持,收藏了

yyds 发表于 2023-3-22 16:20:06

收藏了:victory:
页: [1] 2
查看完整版本: LCD1602高刷滚动显示汉字(89C52RC)