1 / 38
文档名称:

使用心得、笔记.docx

格式:docx   大小:499KB   页数:38页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

使用心得、笔记.docx

上传人:ipod0b 2019/9/30 文件大小:499 KB

下载得到文件列表

使用心得、笔记.docx

相关文档

文档介绍

文档介绍:使用心得、笔记————————————————————————————————作者:————————————————————————————————日期: 备注:这篇文章是对12864操作的具体介绍,仅限刚接触12864的新手,大神请拍砖,文章写的较散,建议先参考12864手册及控制驱动器ST7920英文手册有个初步理解之后再阅读该篇文章,将会有更深的认识。强烈建议阅读ST7920英文手册,细节内容里面有详细介绍,中文的12864也是从中译过来的。本文分三个步骤介绍12864的内部资源原理,指令集详细讲解,以及应用例子。对12864的所有操作概括起来有4种:1)、读忙状态(同时读出指针地址内容),初始化之后每次对12864的读写均要进行忙检测。2)、写命令:所有的命令可以查看指令表,后续讲解指令的详细用法。写地址也是写指令。3)、写数据:操作对象有DDRAM、CGRAM、GDRAM。4)、读数据:操作对象也是DDRAM、CGRAM、GDRAM。 对12864的学****首相要了解其内部资源,知道了它里面有哪些东西,你就可以更加方便的使用它。先介绍几个英文的名字:DDRAM:(DataDisplayRam),数据显示RAM,往里面写啥,屏幕就会显示啥。CGROM:(CharacterGenerationROM),字符发生ROM。里面存储了中文汉字的字模,也称作中文字库,编码方式有GB2312(中文简体)和BIG5(中文繁体)。笔者使用的是育松电子的QC12864B,讲解以此为例。CGRAM:(CharacterGenerationRAM),字符发生RAM,,12864内部提供了64×2B的CGRAM,可用于用户自定义4个16×16字符,每个字符占用32个字节。GDRAM:(GraphicDisplayRAM):图形显示RAM,这一块区域用于绘图,往里面写啥,屏幕就会显示啥,它与DDRAM的区别在于,往DDRAM中写的数据是字符的编码,字符的显示先是在CGROM中找到字模,然后映射到屏幕上,而往GDRAM中写的数据时图形的点阵信息,每个点用1bit来保存其显示与否。HCGROM:(HalfheightCharacterGenerationROM):半宽字符发生器,就是字母与数字,也就是ASCII码。至于ICONRAM(IRAM):貌似市场上的12864没有该项功能,笔者也没有找到它的应用资料,所以不作介绍。下面就围绕着上面列举的这列资源展开对12864的讲解:DDRAM:    笔者使用的这块12864内部有4行×32字节的DDRAM空间。但是某一时刻,屏幕只能显示2行×32字节的空间,那么剩余的这些空间呢?它们可以用于缓存,在实现卷屏显示时这些空间就派上用场了。    DDRAM结构如下所示:80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FHA0H、A1H、A2H、A3H、A4H、A5H、A6H、A7H、A8H、A9H、AAH、ABH、ACH、ADH、AEH、AFHB0H、B1H、B2H、B3H、B4H、B5H、B6H、B7H、B8H、B9H、BAH、BBH、BCH、BDH、BEH、BFH地址与屏幕显示对应关系如下:第一行:80H、81H、82H、83H、84H、85H、86H、87H第二行:90H、91H、92H、93H、94H、95H、96H、97H 第三行:88H、89H、8AH、8BH、8CH、8DH、8EH、8FH第四行:98H、99H、9AH、9BH、9CH、9DH、9EH、9FH说明:红色部分的数据归上半屏显示,绿色部分的数据归下半屏显示。一般我们用于显示字符使用的是上面两行的空间,也就是80H~8FH,90H~9FH,每个地址的空间是2个字节,也就是1个字,所以可以用于存储字符编码的空间总共是128字节。因为每个汉字的编码是2个字节,所以每个地址需要使用2个字节来存储一个汉字。当然如果将2个字节拆开来使用也可以,那就是显示2个半宽字符。    DDRAM内部存储的数据是字符的编码,可以写入的编码有ASCII码、GB2312码、BIG5码。笔者使用的12864字库貌似不太全,字符“数”都无法显示,而是显示其他字符。如果显示长篇汉字文章就不太适合吧。    DDRAM数据读写:    所有的数据读写都是先送地址,然后进行读写。对DDRAM写数据时,确保在基本指令集下(使用指令0x30开启),然后写入地址,之后连续写入两个字节的数据。读数据时,在基本指令集下先写地址,然后假读一次,之后再连续读2个字节的数据,读完之后地址指针自