本方案主控采用STM8S207C8T6,1.7寸128*64LCD显示屏,LCD驱动芯片采用UC1701(可兼容ST7565),字库显示采用高通GT20L16S1Y字库芯片, 以实现LCD界面上的显示。详细资料及代码可查看附件。
以下分别是STM8S207C8T6,UC1701和GT20L16S1Y在原理图中的模块电路。
原理图是依据datasheet中的阐述所绘制,其中主控电路是使用了stm8s207c8t6芯片绘制的最小系统,显示屏部分是根据设置BM0和BM1来选择总线模式绘制的电路。这里我使用了SPI总线模式。而字库芯片本身就是SPI总线模式通信,直接根据规格书的电路例子使用即可。完成了电路部分,知道了总线模式,再结合数据手册就可以对改设备编写程序代码了。首先是LCD液晶屏的驱动,要液晶屏显示你想要的数据,主要是LCD初始化成功,下面是LCD初始化程序,根据指令列表编写的程序代码:
初始化显示屏之前必须对引脚的模式进行相对应的配置
显示驱动成功后则接着是对字库芯片的文字数据获取进行编程调试,以下是获取GB2312文字的函数代码
PCB实物图
实际效果图
以下有三个界面,分别是门禁显示,行驶记录仪和一个图形页面。文字显示采用GT20L16S1Y字库芯片,这款芯片包含最常用的GB2312汉字,字型符合国家标准。
门禁界面中的数字采用字库芯片内的24点阵不等宽时钟体字库。
图形LOGO可存储至字库芯片中的64K可擦写空间。