一个关于12864的显示问题,程序如下其中页左移1位和行*8是什么意思啊,看不懂,账号没什么悬赏分意思意思

2025-01-04 00:52:23
推荐回答(1个)
回答1:

12864有左半屏和右半屏之分,它们是两个独立的64*64屏幕组合到一起的;
按汉字结构来定义,1个汉字16*16;,半个屏可以显示4*4个汉字;

按屏幕的物理结构来定义,半个屏幕分64行*64列;
由于屏幕每次只能接收8bit的数据,又将屏幕划分8行*8列;这里划分行也称为页(page 0-page 7),起始页地址为0xB8 ;这里划分的列,第一列地址为0x40;

输入汉字代码之前,需要定位;
page=page<<1;等号右边的page(按汉字来划分的) 取值0,1,2,3;当左移一位相对,等号左边的page(屏幕物理结构上)取值:0,2,4,6,这几个数正是你要选择输入汉字代码的行的起始位置;

row=row*8 ,等号右边的row的 取值应该0,2,4,6;必须为8的整数倍,是屏幕的物理结构规定的。你可以尝试将row的值为8,系统会默认回到0列,进行定位;

定位完成后,再进行汉字代码的输入,它输入都是有规律。
具体你还是要看12864的datasheet。