12 段式LCD接口原理
作者:
MingXiao
12.1 概述
专门用来输出LCD显示信号的引脚与IO复用

12.2 原理
存在专用显存单元,将需要显示的信号写入专用内存单元即可显示
静态模式
显示原理与51不同,在COM0模式,使用时钟信号与LCD段电压差来显示

显存单元如下

当前选通COM0,不用管其他的bit,只看COM0的位置,图中红框表示控制一个数码管的内存
在连续的内存单元91h ~ 94h中依次写入01h, 11h, 10h, 01h可以显示数字5
二复用模式
此时内存单元的表示有点区别,但是用法一样

此时只需要两个内存单元就能够表示一个数字,在91h, 92h中写入03h, 23h显示数字5
复用的模式越大,占用的管脚就越少,利用率大
12.3 代码解读
已经封装好了显示函数
void LCDSEG_SetDigit(int pos, int value); // 在第pos位上显示数字value
// 1<=pos<=6, 0<=value<=15, 但显示为16进制
void LCDSEG_DispalyNumber(int32_t num, int dppos);
// 显示num,用dppos表示小数点位置
// 0<=num<=999999(6个管子), 0<=dppos<=3,为0表示不显示小数点