2025-11-08 06:19:57
想隐藏LCD12864的光标,得先搞懂光标是怎么来的。这玩意儿是靠显示器的特定区域闪烁实现的,比如每行末尾那两个像素点。关掉它的话,要么改显示数据,要么调整光标偏移量。具体操作得看型号,有的直接改寄存器,有的得清屏再重绘。
为啥是这个办法?因为LCD12864的显示缓存是分页的,光标位置由SCON寄存器控制。比如128x64的屏,光标占两行8个点,每行偏移量是0x20。关光标得把SCON的0x01位清零,或者把显示页地址跳过光标区域。比如用指令0x80设置页地址,再写0x40跳过末尾两行。数据手册里写着“关闭光标时,DDRAM地址偏移量需增加0x20”,所以清屏后重绘能直接覆盖光标区域。测试时发现,关光标后对比度调高0.5档,显示更干净。但有些屏改了缓存地址后,换页会闪退光标,得配合循环写屏。
本题链接: