单片机液晶显示系统的设计
2012-01-19段新燕
段新燕
(长沙职业技术学院工程系,湖南长沙 410000)
单片机液晶显示系统的设计
段新燕
(长沙职业技术学院工程系,湖南长沙 410000)
以C8051F单片机和液晶显示控制器KS0108为核心,设计了单片机控制的液晶显示系统。重点研究了图形的动态显示技术,介绍了液晶显示模块的硬件、软件特性。文中设计的电路在C8051F020单片机仿真实验系统上进行了仿真,实验结果表明,设计达到了预期目标。
单片机;液晶显示器;图形动态显示;KS0108;C8051F020
单片机液晶显示系统主要是指单片机控制的点阵型液晶显示器(LCD)所组成的显示系统。点阵型LCD不仅可显示字符、数字,还可以显示各种图形、曲线及汉字,且可以实现屏幕画面滚动、分区开窗口、反转、闪烁、位操作等功能,可以显示用户自定义的任意符号及曲线、图形等,是信息处理、信息输出的重要手段,具有广泛的应用前景。文中所阐述的单片机液晶显示系统,是在C8051F系列单片机仿真实验系统上实现的。该仿真实验系统所使用的液晶显示控制器为KS0108。
1 液晶显示控制器KS0108
KS0108是带显示存储器的液晶显示列驱动控制器。其特点是内置64×64位的显示存储器,显示屏上各像素点的显示状态与显示存储器的各位数据一一对应,显示存储器的数据直接作为图形显示在驱动信号上。显示数据为1,相应的像素点就作显示;显示数据为0,相应的像素点就不作显示。同时KS0108配备了一套显示存储器的管理电路与计算机接口电路,允许计算机直接访问显示存储器,即KS0108可以直接与计算机的总线连接。但KS0108不能独立工作,因为其本身不能生成显示时序,所以KS0108需要与相应的带振荡器和显示时序发动器的行驱动器KS0107配套才能形成一个完整的液晶驱动和控制系统。
1.1 液晶显示原理
在小规模点阵液晶显示模块上使用液晶显示驱动控制器组成液晶显示驱动控制系统是非常有益的。这使得液晶显示模块的硬件电路简单化,从而降低模块成本。但同时也提高了对软件功能的要求,许多显示功能都需要由软件编制而成。KS01087就是这类液晶显示驱动控制器的套件。
1.2 KS0108的电路特性
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电显示为黑色,这样即可显示出图形。液晶显示器具有厚度薄、适于大规模集成电路直接驱动、易于实现全彩色显示等特点,目前已广泛用于便携式电脑、数字摄像机、PDA移动通信工具等领域。
(1)KS0108的主要特性如下。内藏64×64=4 096位显示RAM,RAM中每位数据对应LCD屏上一个点的亮、暗状态。KS0108是列驱动器,具有64路列驱动输出。KS0108读、写操作时序与68系列微处理器相符,可直接与68系列微处理器接口相连。KS0108的占空比为1/48~1/64。KS0108可管理64 kB显示RAM。其中,图形方式为64 kB。字符方式为4 kB;工作温度:-20~+60℃,存储温度:-30~+70℃。
(2)KS0108的操作时序图,如图1所示。
图1 KS0108的操作时序
1.3 液晶显示模块的软件特性
了解KS0108图形液晶显示模块的电路特性后,要使用内置KS0108图形液晶显示模块还需要了解其软件特性,即KS0108的指令功能,才能较好地应用内置KS0108图形液晶显示模块。KS0108共有7条指令。KS0108的指令系统相对较为简单,以表1所示读状态指令的详细解释其功能如下。
该指令用来查询KS0108的状态,各参量含义如下。
BUSY:1-内部在工作;0-正常状态。
ON/OFF:1-显示关闭;0-显示打开。
REST:1-复位状态;0-正常状态。
在BUSY和REST状态时,除读状态指令外,其余指令均未对KS0108产生作用。在对KS0108操作之前要查询BUSY状态,以确定是否可对KS0108进行操作。
2 液晶显示模块12864的应用
内置KS0108点阵型液晶显示模块与单片机的连接方式有两种,一种为直接访问方式,另一种为间接控制方式。下面以间接控制为例,描述其硬件电路和驱动程序。
2.1 硬件电路
间接控制方式是单片机通过自身的并行接口与液晶显示模块连接。通过对接口的操作,以达到对液晶显示模块的控制。实现 KS0108液晶显示模块与C8051F020的接口电路图,如图2所示。
图2 液晶显示模块接口电路图
2.2 程序设计
(1)图形编码。一般常用点阵液晶显示模块的字模是直接从系统字库中提取的,然后经过格式上的调整和转换,可得到欲显示的字模。在设计中,所用的显示部分不是从字库中提取字模,而是采用一个字模软件来取模,将图形点阵转换为计算机内部显示缓冲单元的数据。在使用KS0108图形方式时,显示缓冲区单元与显示屏的对应关系如图3所示。
图4所示的显示格式与本身的习惯正好相反,如想在显示屏上显示10010110,则须向RAM中写入01101001。这适应人的习惯,在字模软件取模时设置字节倒序。在取模时,须设置取模参数,纵向取模、字节倒序。例如图4是128×64个像素的图形。
图3 显示缓冲区单元与显示屏的关系
图4 图形128×64个像素
(2)图形动态显示。
在图形动态显示程序设计中,以图形从左向右移动为例。图形从左向右移动实现,图形从左向右移出的思想是左右两片KS0108分开驱动,根据左边的起始列地址,推算出右边的第一列对应图形字模中数据地址。先驱动左边的KS0108列起始地址0xB8+i(0≤i<64),再驱动右边的 KS0108。当 i≥64时,不需要驱动左边KS0108,只需驱动右边的KS0108,右边的KS0108列起始地址为0xB8+i-64。
(3)程序流程。主程序和图形显示测试程序流程图分别如图5和图6所示。
图5 主程序流程图
3 系统实验仿真
系统实验是在C8051F020单片机仿真实验系统上进行的仿真。在确认连线已连接时,接通仿真实验系统电源,将拨码开关S1和S2置于ON位置。在IDE(Integrated Development Environment)中建立一个新的项目文件,将程序加到这个项目文件中,编译连接后,将程序下载到C8051F020中。打开RAM观察窗口,运行程序。程序运行时,可单步执行或在送数指令后加断点观察RAM存储单元的变化,观察结果是否正确。
图6 LCD测试流程图
C8051F020单片机仿真实验系统上的液晶显示屏的点阵是128×64点。在C8051F020系统实验箱上的液晶显示屏上,其实现了这些图形动态显示,特设计了几个显示场景,这里以从左向右移动为例;图7是用数码相机抓拍的图形动态显示效果画面。在这个场景中,图形是从左向右推出的,一直移动到显示屏最右端。仿真实验的结果完全达到了预期的设计。
图7 图形动态显示效果
4 结束语
就C8051F单片机和液晶显示控制器KS0108为核心,设计了单片机控制的液晶显示系统。重点研究了图形的动态显示技术,介绍了液晶显示模块的硬件和软件特性。所设计的电路在C8051F020单片机仿真实验系统上进行了仿真,实验结果达到了预期目标。
[1]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,1999.
[2]吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2001.
[3]徐飞.单片机接口技术及其在工业控制中的应用[M].西安:陕西电子编辑部,1991.
[4]薛栋梁.MCS-51/151/251单片机原理与应用[M].北京:中国水利水电出版社,2001.
[5]刘乐善.微型计算机接口技术及应用[M].武汉:华中科技大学出版社,2000.
[6]冀诚电子有限公司.KS0108使用手册[EB/OL].(2005-01-18)[2012-04-10]http://www.gemtech-hb.com.
Design of a Liquid Crystal Display System for the Single Chip Microcomputer
DUAN Xinyan
(Department of Engineering,Changsha Vocational and Technical Collage,Changsha 410000,China)
This article introduces the C8051F single-chip micro-computer and the LCD controller KS0108.U-sing them as the core,we have designed the single-chip micro-computer LCD system.In the thesis,we put emphasis on the technology of graphic dynamic display,and describe the LCM's hardware and software features.The circuit that we have designed is emulated in the C8051F020 single-chip micro-computer emulation experiment system.That experimental result shows that we have achieved the expected goal in the design.
single-chip micro-computer(SCM);LCD;graphic dynamic display;KS0108;C8051F020
TN873+.93
A
1007-7820(2012)08-013-04
2012-05-04
段新燕(1974—),女,讲师。研究方向:机电一体化。