接口/总线/驱动
1、引言
液晶显示器具有显示信息多、体积小、功耗低等特点,被广泛用于终端显示和人机接口。它与高性能的RabbitCore RCM2200型模块配合使用,可以组成高级智能化仪器。在我们开发的蓝牙无线数据接收与发送系统中,用于蓝牙设备链接信息及数据的发送和接收等相关信息的显示具有相当重要的作用。本文介绍RabbitCore RCM2200型模块与M12864-7A7实用的接口电路及软件设计。
2、 Rabbit2000及RabbitCore RCM2200简介
Rabbit2000 8位微处理器和Z80系列微处理器有相似的结构和高度的兼容性,但性能有很大的提高。它具有4个串行端口,40个通用I/O引脚,内建日历、时钟、看门狗、定时器、多级中断、双DMA通道,可外扩4MB~8MB Flash,用于数据存储。对于8位总线的微处理器,Rabbit构造了其大部分外部8位总线,并且具有简洁的指令集合,性能与许多16位处理器一样,可执行16位操作。Rabbit2000用1根接口电缆把PC串口和基于Rabbit2000的目标系统连接起来实现软件的开发,得到Dynamic C编译器的支持,这种编译器具有交互式编译程序、编辑程序和调试程序。汇编语言代码可嵌入Dynamic C代码中,或作为一个独立的功能使用。编译和调试可在不脱离Dynamic C开发环境下实现,缩短了开发时间,更易于编程。
RabbitCore RCM2200模块采用Rabbit 2000型微处理器,有256 KB的Flash及128 KB的SRAM,4个串口,26个I/O口, 10Base-T以太网口。使用RCM2200能够通过网络或Internet来控制、监测及调试嵌入式系统,有支持RCM2200的软件工具包,提供TCP/IP协议和Dynamic C系统软件。
3、 KS0108B型液晶控制器
KS0108B型液晶显示控制器多用于中小模块的图形点阵液晶显示器(日立的HD61202与其完全兼容,可直接替代),其的特点是内置64位×64位的显示存储器,显示屏上各像素点的显示状态与显示存储器的各位数据一一对应,显示存储器的数据直接作为图形显示的驱动信号,显示数据?quot;1“时,相应的像素点显示,为”0“时,相应的像素点不显示。KS0108B需要与相应的带振荡器和显示时序发动器的行驱动器KS0107B配套,才能形成一个完整的液晶驱动和控制系统。KS0108B的指令及其功能如表1所示。
4、 M12864-7A7型液晶模块的框图及引脚
M12864-7A7型液晶显示模块使用两个KS0108B作为列驱动器,使用一个KS0107B作为行驱动器,KS0[07B不与MCU联系,只要提供电源就能产生行驱动信号和各种同步信号。图1是液晶模块的结构;框图,引脚功能如表2所示。
5、 硬件接口电路
内置KS0l08B型图形点阵液晶显示模块与MCU(单片机或Rabbit2000等)的连接方式有两种:直接访问方式和间接控制方式。直接访问方式是将液晶显示模块的接口作为存储器或I/O设备直接挂在MCU总线上,MCU以访问存储器或I/O设备的方式操作液晶显示模块的工作。间接控制方式是MCU通过自身或系统中的并行接口与液晶显示模块连接,下面给出的应用采用RCM2200的并行端口中的PA口及PB,PD,PE口中的一些引脚。MCU通过对这些接口的操作达到对液晶显示模块的控制。
在图2所示电路中,以RCM2200的PA口作为数据口,PB7为RET,PD3为D/I,PD4为R/W,PD5为E,PE5为CSl和PE7为CS2等信号。V0是液晶显示器需要的负压,可通过与它相连的电位器来调节电压的大小,电压变化范围为-10V~0V,达到调节显示对比度的目的。
6、 Dynamic C源程序
6.1 程序说明
本文重点介绍显示汉字的子程序,它可以在指定位置显示指定的汉字。7个子程序分别是初始化LCD子程序、清屏子程序、,写指令子程序、写数据子程序、延时子程序、指定位置显示单个汉字和信息显示子程序。
下面给出的是图2所示的间接控制方式的一些子程序,所有的程序都是用Dynamic C 7.32TSE版本编译器编译和调试。
M12864-7A7型液晶显示模块是128×64点阵,每个汉字是16×16点阵,所以,每行可以显示8个汉字,一屏可以显示4行。整屏最多显示32个汉字。
函数中的参数pag和col表示页地址(X地址)和Y地址,*hzk为指向需显示汉字点阵的指针。其中,0《=pag《=7,col为0、16、32或48中的任一个值;由pag和col便可确定待显示汉字的位置。由表1可以知道页地址(X地址)的起始值为Oxb8(程序中已定义为Page_Add),同时显示一个汉字要跨越两页,所以页地址的计算公式为Page_Add+pag+j,0≤j≤l;而Y地址的开始值为0x40(程序中已定义为Col_Add),显示每个汉字要16列,因此,计算Y地址的公式为Col_Add+col。Y地址计算器具有自动加1功能,在每次读/写数据后自动加1,所以,在连续进行读/写数据时,不必每次都设置一次Y地址计数器。
程序开始必须先调用LCD初始化子程序,接着清屏,再视待显示的汉字在左屏还是右屏,再将液晶显示器开为左屏或右屏,然后,将数据送给液晶显示,直到32个字节的汉字完全显示;多个汉字的显示以同理进行操作。
对于多信息的显示,可以将void Msg(void)改为void Msg(flag),既通过flag的不同值来标识不同的待显示信息,然后,在实际使用中通过调用void Msg(flaS)即可实现。
7、 结束语
M12864-7A7型液晶显示器模块与RabbitCore RCM2200型模块的连接采用间接控制方式,其特点是电路简单,控制时序由软件实现,可以实现高速MCU与液晶显示模块的接口。而采用Dynamic C可以很方便地实现汇编语言要用较复杂的逻辑才能实现液晶模块的显示功能,而且,可以缩短开发和调试的时间。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !