找回密码
 立即注册
查看: 7308|回复: 17

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

[复制链接]

4

主题

4

回帖

105

积分

注册会员

积分
105
发表于 2023-1-31 16:44:59 | 显示全部楼层 |阅读模式
本帖最后由 STC8G1K08A 于 2023-2-1 01:56 编辑

上个月捡到一块开发版
上贴地址:https://www.stcaimcu.com/forum.p ... p;tid=89&extra=
101713bpubape7ap7jm11x.jpg
图1 开发版

利用上面的外设做了个实时时钟
101712lhdllzrl5500vbs5.jpg
图2 还是开发版

后来又给它设计了块板(嘉立创工程链接在后面)
IMG_20230131_141505.jpg
图3 自己设计的板子

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

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

运行图片:
001.JPG
图4 时钟样式1 大字体
上下键可切换菜单

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

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

006.JPG
图7 确认键进入时间设置
确认键进入设置

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

008.JPG
图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版打开)
祝您使用愉快

LCD1602 数码管时钟(公开版).rar

134.34 KB, 下载次数: 1146

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-24 13:36:20

8

主题

39

回帖

342

积分

中级会员

积分
342
发表于 2023-2-2 12:09:53 | 显示全部楼层
很牛的创作!!!!!
  • 打卡等级:常住居民III
  • 打卡总天数:139
  • 最近打卡:2024-05-24 15:33:43

13

主题

52

回帖

1428

积分

金牌会员

积分
1428
发表于 2023-2-3 18:27:04 来自手机 | 显示全部楼层
LCD1602是怎么显示汉字的?
  • 打卡等级:偶尔看看III
  • 打卡总天数:45
  • 最近打卡:2025-02-14 13:39:49
已绑定手机

19

主题

273

回帖

2152

积分

金牌会员

积分
2152
QQ
发表于 2023-2-4 10:42:06 | 显示全部楼层
本帖最后由 红心A 于 2023-2-4 10:44 编辑
飞*** 发表于 2023-2-3 18:27
LCD1602是怎么显示汉字的?

1.png
1.png
https://www.stcai.com/syx
QQ:1638975601
手机:19952583876(微信同号)
  • 打卡等级:偶尔看看III
  • 打卡总天数:45
  • 最近打卡:2025-02-14 13:39:49
已绑定手机

19

主题

273

回帖

2152

积分

金牌会员

积分
2152
QQ
发表于 2023-2-4 10:45:17 | 显示全部楼层
在我们的STC8H8K64U实验箱和STC32G12K128实验箱上均匀范例程序,可以试下。
QQ:1638975601
手机:19952583876(微信同号)

4

主题

4

回帖

105

积分

注册会员

积分
105
发表于 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中的内容变化,则这几个地方也会同时变化。
至于滚动效果,算法有亿点复杂,这里不展开了,具体请看程序。

4

主题

4

回帖

105

积分

注册会员

积分
105
发表于 2023-2-5 17:16:41 | 显示全部楼层
红心A 发表于 2023-2-4 10:42
https://www.stcai.com/syx

大哥,你们那是高端的12864,我这是低端的1602,不通用的
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2023-2-5 17:21:49 | 显示全部楼层


STC8H实验箱有个简单的LCD1602的参考程序
1.png
2.png

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-01-31 17:22:42

3

主题

31

回帖

293

积分

中级会员

积分
293
发表于 2023-3-17 16:48:19 | 显示全部楼层
支持,收藏了

4

主题

18

回帖

170

积分

注册会员

积分
170
发表于 2023-3-22 16:20:06 | 显示全部楼层
收藏了:victory:
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 19:29 , Processed in 0.161206 second(s), 118 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表