点阵液晶文本驱动程序的设计Word文档下载推荐.docx
- 文档编号:4913102
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:29
- 大小:297.37KB
点阵液晶文本驱动程序的设计Word文档下载推荐.docx
《点阵液晶文本驱动程序的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《点阵液晶文本驱动程序的设计Word文档下载推荐.docx(29页珍藏版)》请在冰点文库上搜索。
驱动程序设计部分点阵液晶模组SPLC501文本驱动程序设计方面,字符字模设计中英语字母和数字使用8*8点阵规格,汉字使用16*16点阵规格,具体控制液晶显示时将所要显示的字模数据(液晶屏上需要显示字符的字模)一次性送到液晶模组的显示RAM中。
点阵液晶文本驱动程序分为液晶模组初始化、液晶显示屏选择、LCD显示及若干控制子程序等几个子程序块。
在文本驱动程序编写完成的基础上,编写测试驱动程序通过测试驱动程序调用文本驱动程序,实现在液晶显示器件上显示文本字符。
为使编写的驱动程序具有可读性和可移植性,选择使用C语言这种可读性和可移植性好的编程语言,部分对效率要求较高的部分,可让C语言嵌入汇编来解决高时效性的代码编写问题。
最后在完成测试系统硬件的设计和驱动程序设计的基础上,通过测试驱动程序调用文本驱动程序在液晶屏上实现文本显示功能。
关键词:
SPCE061A;
SPLC501;
点阵液晶;
字符显示
Abstract
Thedot-matrixLCDmodulardisplayeriswidelyisusedasahuman-computerinterfacedeviceinthefieldofapparatusandmeter.ThisarticleisstressedonillustratingtheprincipalandfunctionsofcharacterLCDmoduleintegratedSPLC501controller.Inthisarticle,weintroduceacontrollerwithsinglechipofSPCE061AandatextdriveprogramforSPL501LCDmodulefromLingyangtechnologyLTD.
thisarticlealsointroduceSPLC501LCD’sstructureandfunctionsindetails,besideswealsopresentproposalabouthowtodesignthehardwareofmicroprocessorofSPLC501andSPCE061A.Intheaspectofsoftwaredesign,weusethemethodoffull–screen-characterinthecrystaldisplayarea,whereLatinlettersandnumbersareintheformof8*8whileChineselettersare16*16.DataofletterstobedisplayedaresendtoRAMonetime.Softwaredesigningworkincludemainprogramsandseveralsubroutinemodules,theyareLCDmoduleinitialization,LCDselection,LCDdisplayandseveralcontrolsubroutines.ThemainprogramisusedtocontrolLCDthroughpickingupdifferentsubroutines.WeuseCtodesignthesoftwareprogramasCprogramlanguageismuchmoresuperiortoassemblylanguageintheaspectofreadabilityandtransplant,besidesClanguagecansolvetheproblemsthatcodesshallbewrittenintime,anditsleadtimeisnormallyshorterthanthatofassemblylanguage.
Finishingthedriveprogramofcharacterdisplay,itwillbetestedwiththetestingprogramonthehardwarecircuitsothatdisplayalldifferentEnglishwords,numbersandChinesewordsintheLCDdisply,correctlyandelegantly.
Keywords:
SPCE061A;
SPLC501;
dot-matrixLCD;
CharacterDisplay
第一章绪论
1.1课题意义
随着科技的发展,世界已经进入“信息革命”时代,显示技术及显示器件在信息技术的发展过程中占据了十分重要的地位,液晶作为一种显示器件,以其特有的优势正广泛应用于仪器、仪表、电子设备等低功耗产品中,以往的测控仪器的显示部分大都采用LCD式液晶显示屏进行参数设定和结果显示,其显示信息量少、形式单一、人机交互性差、操作人员要求较高。
而液晶(LCD)具有功耗低、体积小、质量轻、超薄和可编程驱动等其他显示方式无法比拟的优点,不仅可以显示数字、字符,还可以显示各种图形、曲线、及汉字,并且可实现屏幕上下左右滚动、动画、闪烁、、文本特征显示等功能。
此设计主要是设计点阵液晶文本驱动程序,然后在设计的测试电路中予以测试,以完成文本显示的功能。
1.2课题内容
设计主要介绍了利用凌阳科技公司的新型SPCE061A单片机作为主芯片和凌阳SPLC501液晶模组设计点阵液晶模块文本驱动程序。
除了介绍SPCE061A单片机的工作原理和硬件电路外,还介绍了液晶显示模块SPLC501的结构和功能特点,提出SPLC501液晶模组和SPCE061A微控制器的硬件设计。
1.2.1设计的主要目标
设计主要是完成凌阳SPLC501点阵液晶模组在SPCE061A单片机上的文本驱动程序的编写,并用凌阳科技公司的新型SPCE061A单片机作为主芯片,点阵SPLC501液晶模块作为显示器件组成硬件测试电路,对完成的文本驱动程序进行了功能测试,从而实现在LCD屏上显示字符的功能
1.2.2测试系统组成
(1)测试系统硬件组成简介
此设计的目的是利用凌阳SPLC501液晶模组设计点阵液晶模块文本驱动程序。
完成驱动程序之后,用凌阳科技公司的新型SPCE061A单片机作为主芯片,内置SPLC501液晶模块连接成硬件测试电路,最后在测试电路中进行程序测试,完成LCD显示字符的功能。
测试电路硬件连接系统框图如图1所示。
晶振
复位电路
图1测试系统硬件框图
如测试系统框图(图1)所示将所要显示的字符的字模事先存放在存储器中,通过单片机的控制,将其在液晶显示屏上显示出来。
(2)测试系统软件组成简介
此设计采用的是凌阳公司的点阵的液晶模组和SPLC501驱动芯片。
此液晶模组为128*64点阵,面板采用STN(SuperTwistedNematic)超扭曲向列技术制成并且由128Segment和64Common组成,LCM非常容易通过接口被访问
SPLC501液晶显示控制驱动器集行、列驱动器和控制器于一体,并且SPLC501单芯片液晶驱动,可以直接与其他微控制器接口总线相连,微控制器可以将显示数据通过8位数据线或者串行接口写到SPLC501的显存中。
在液晶上显示整屏字符有两种方法:
一是在屏幕上制定位置单独显示;
一是将所要显示的字模数据一次性送到显示RAM中。
程序设计主要是驱动函数的编写,而此系统的驱动函数主要两大层:
底层的驱动层,中间的功能函数层
1.2.3主要内容
设计主要采用先介绍硬件后介绍软件的思路来安排论文形式,具体安排论文写作思路如下:
第二章主要内容:
测试系统硬件的设计。
根据第一章中设计的硬件测试电路系统总的方框图,将硬件电路部分分成四个大的功能部分(即SPCE061A单片机及时钟复位模块,电源电路模块,显示模块、下载调试电路),并对各部分之间为实现设计目标该如何连接加以介绍,同时对各部分器件内部结构和功能给予具体描述。
第三章主要内容:
驱动程序设计。
本章先介绍SPCE061A支持的C语言基本原理和C的相关知识,然后介绍本设计的重点内容液晶模块驱动程序的编写,即点阵液晶文本驱动程序的编写。
程序的编写主要包括初始化、驱动程序的整体结构、测试的主程序。
而驱动主要包括2大层:
底层的驱动层,中间的功能函数层。
第二章测试系统硬件的设计
在图1中已经展示了硬件测试电路的系统方框图,从图中可知硬件电路图主要有四大单元组成SPCE061A单片机及时钟复位电路、外接电源电路(Power)和显示模块及下载调试电路EZ-PROBE,本章主要按照先介绍大单元电路,再具体介绍各单元中所用到的主要器件及工作原理的顺序来对本设计的硬件测试电路进行描述。
2.1单片机及时钟复位电路
SPCE061A是设计使用的主芯片,它的外接复位电路采用低电平复位原理,晶振输入模块采用的是石英晶体振荡器,本章先介绍SPCE061A的硬件结构和工作原理,再介绍这三个模块之间的电路连接。
2.1.1SPCE061A硬件结构及工作原理简介
SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,其CPU内核采用凌阳新推出的16位μ’nSP™微处理器芯片。
它采用的是模块式集成结构,他以μ’nSP™内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件。
(1)SPCE061A硬件结构
在SPCE061A芯片内部集成了ICE仿真电路接口、FLASH程序存储器、SRAM数据存储器、通用I/O端口、定时器/计数器、中断控制、CPU时钟、模数转换器、DAC输出、通用异步串行输入输出端口、串行输入输出端口、低压电检测/低压电复位等部分。
SPCE061A结构图如图2示。
µ
’nSPTM的内核结构由总线、算术逻辑运算单元、寄存器组、中断系统及堆栈等部分组成。
对于SPCE061A来说,数据总线、地址总线和大部分控制总线都在内部。
SPCE061A是16位单片机,它具有16位的数据线和22位地址线。
由此决定其基本数据类型是16位的“字”型,而不是8位的“字节”型;
因此内存都是按“字”操作的,22位地址线最多可寻址到4M字的内存空间。
地址线中的高6位A16~A21来自SR寄存器中的6位的CS字段或是6位的DS字段,地16位A0~A15则来自内部寄存器。
通常,地址线的高6位称为内存地址的PageSelector,简称页码;
而低16位则称为内存地址的偏移量。
这里着重介绍一下寄存器组:
’nSPTM的CPU寄存器组里有8个16位寄存器,可分为通用型寄存器和专用型寄存器两大类。
通用型寄存器包括R1~R4,作为算术逻辑运算的源及目标寄存器。
专用型寄存器包括SP、BP、SR、PC,是与CPU特定用途相关的寄存器。
图2SPCE061A结构图
(2)SPCE061A片内存储器结构
SPCE061A的片内存储器映射如图3所示。
单片机的存储器有2K字的SRAM(包括堆栈区)和32K字的闪存区(FLASH)[1]。
SPCE061A的2K字的SRAM(包括堆栈区)地址范围从0x0000~0x07FF。
前64个字,即0x0000~0x003F地址范围内可采用6位直接地址寻址方法,寻访速度为2个CPU时钟周期;
其余0x0040~0x07FF地址范围内存储器的寻访速度为3个CPU时钟周期。
图3SPCE061A片内存储器结构
(3)SPCE061A堆栈
堆栈是在内存RAM区专门开辟出来的区域,按照“先进后出”原则进行数据存取,如图4所示,它主要用于子程序调用及返回和中断处理断点的保护及返回。
堆栈的最大容量范围限制在2K字,即其地址从0x07FF~0x0000。
值得注意的是堆栈的生长方向,SPCE061A系统复位后,SP初始化为0x07FF,每执行PUSH指令一次,SP指针减1。
图4堆栈
(4)SPCE061A的输入/输出接口
输入/输出接口(也可简称为I/O端口)是单片机与外设交换信息的通道。
输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。
输出端口负责向外界传送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。
’nSP™内有并行和串行两种方式的I/O口。
并行口线路成本较高,但是传输速率也较高;
与并行口相比,串行端口的传输速率较低但可以节省大量的线路成本。
SPCE061A有两个16位的通用并行I/O口:
A口和B口。
这两个端口的每一位都可通过编程单独定义成输入或输出口[1]。
A口的IOA0~IOA7作为输入端口时,具有唤醒功能,即当输入电平发生变化时,会触发CPU中断。
在电池供电、追求低耗电的应用场合,可以让CPU进入睡眠模式(利用软件控制)以降低功耗,需要时才以按键来唤醒CPU,使其进入工作状态。
例如:
手持遥控器、电子字典、PDA、计算器、无线电话等。
(5)IO端口结构
SPCE061A提供了位控制结构的I/O端口,每一位都可以单独用于数据输入或输出,每个独立的位可通过以下3种控制向量来作设定。
其中包括:
数据向量Data、属性向量Attribution、方向控制向量Direction
每3个对应的控制向量组合在一起,形成一个控制字,用来定义相对应I/O端口位的输入输出状态和方式。
例如,假设需要IOA0是下拉输入引脚,则相对应的Data、Attribution和Direction的值均被设为“0”。
如果需要IOA1是带唤醒功能的悬浮式输入引脚,则Data、Attribution和Direction的值被设为“010”。
与其它的单片机相比,SPCE061A除了每个I/O口可以单独定义其状态外,每个对应状态下的I/O端口性质电路都是内置的,在实际的电路中不需要再外接。
例:
设A口为带下拉电阻的输入端口,在连接硬件时不用再外接下拉电路。
A口和B口的Data、Attribution和Direction的设定值均在不同的寄存器里,用户在进行I/O端口设置时要特别注意这一点。
2.1.2时钟复位电路的设计
设计使用的主要器件是SPCE061A单片机,单片机要想正常工作除了要有电源电路还要有时钟复位电路。
而时钟复位电路可以分为晶振输入模块和外部按键复位电路两种,此单元的电路连接框图如图5所示
图5电路连接框图
(1)按键复位电路
复位是对系统内部的硬件初始化,按键复位电路原理是在RESET端加一个低电平脉冲,即可实现复位,因此只需给系统的RESET端外接一个低电平即可,如图6所示。
图6复位电路图7时钟电路
(2)时钟电路
单片机是按时钟一拍一拍工作的,因此CPU一定要有时钟电路。
单片机内部结构中包括选频放大器及振荡电路,当外接晶体从输入端输入振荡信号时,就形成振荡。
时钟电路有输入端和输出端引到芯片的外部。
当外接晶体时,外部还要接两个电容到地。
SPCE061A时钟电路采用晶体振荡器电路。
此晶振电路提供32.768KHz的频率,此频率经SPCE061A的内部PLL倍频电路产生系统时钟频率为24MHz。
时钟电路图如图7所示
2.2电源电路
SPCE061A单片机采用3节5号电池进行供电,其中前后两组电容用来去耦滤波,使其供给芯片的电源更加干净平滑。
为获得标准的3.3伏电压,在电路上加入SPY0029三端稳压器和两个二极管,是为了防止误将电源接反造成不必要损失而设置的。
在操作过程中千万不要将电源接反,因为反向电压超过一定值,二极管将会被损坏,达不到保护的目的。
后面的零电阻及其电源分成不同的几路是为了减少电磁干扰设置。
图8是电源部分的电路,4.5V直流电压经过SPY0029后产生3.3V给整个系统供电。
图8电源电路
2.3显示部分设计
显示部分主要介绍SPLC501液晶模组和SPCE061A的接口设计,本部分先介绍SPLC501液晶模组的硬件结构及工作原理,之后再介绍液晶模组和芯片的接口连接。
显示部分电路方框图如图9所示:
图9显示部分电路框图
2.3.1SPLC501液晶模块硬件结构及工作原理
液晶目前在人们的生活中,应用越来越普遍,如我们较熟悉的手机的显示界面,电脑笔记本的显示器,并且现在刚刚推出液晶电视等,液晶屏的优点是显示界面清晰度高且功耗低,在此为大家介绍的是凌阳公司的一款128*64点阵的液晶模组,驱动芯片采用的是凌阳SPLC501。
该液晶模组接口简单,应用方便,且可以完成很多液晶特效功能,而本次设计主要是用其进行文本显示。
SPLC501液晶模组为128*64点阵,面板采用STN(SuperTwistedNematic)超扭曲向列技术制成并且由128Segment和64Common组成,LCM(LiquidCrystalModule)非常容易通过接口被访问。
SPLC501液晶显示控制驱动器集行、列驱动器和控制器于一体,广泛应用于小规模液晶显示模块。
⑴SPLC501液晶模组硬件介绍
液晶显示器件(LCD)具有功耗低、体积小、质量轻、超薄和可编程驱动等特有的优势正广泛应用于仪器、仪表、电子设备等低功耗产品中。
SPLC501是凌阳公司研发的128*64点阵的液晶模组,该模组面板采用STN(SuperTwistedNematic)超扭曲向列技术制成并且由128Segment和64Common组成,该液晶模组接口简单,可直接与单片机相接,功能强大,能显示各种图形、曲线、及汉字。
内藏SPLC501控制其图形液晶显示模组采用的驱动控制器是台湾凌阳科技的SPLC501。
SPLC501液晶显示控制驱动器集行、列驱动器和控制器于一体,SPLC501单芯片液晶驱动可以直接与其他微控制器接口总线相连,微控制器可以将显示数据通过8位数据总线或者串行接口写到SPLC501的显存中。
SPLC501液晶模块的特点:
1、内置8580位显示RAM。
RAM中的一位数据控制液晶屏上的一个像素点的亮、暗状态。
“1”亮“0”暗。
2、具有65行驱动输出和132列驱动输出
3、可以直接与80系列和68系列微处理器相连
4、内置晶振电路,也可以外接晶振
5、工作温度范围为-40摄氏度~+85摄氏度
表1SPLC501液晶模块规格
显示模式
黄色模式STN液晶
显示格式
128*64点阵图形液晶显示
输入数据
兼容68/80系列MPU数据输入
背光
黄绿色LED
模块尺寸
72.8(长)×
73.6(宽)×
9.5(高)mm
视屏尺寸
58.84(宽)×
35.79(长)mm
点大小
0.42(宽)×
0.51(长)mm
像素尺寸
0.46(宽)×
0.56(长)mm
管脚描述:
内置SPLC501点阵式图形液晶显示模块的接口端管脚排列如图10所示
图10SPLC501管脚图
其接口端管脚描述如下表2所示。
表2SPLC501接口端管脚说明
管脚名
说明
/CS1
片选,低有效
/RES
复位脚
A0P
数据命令选择脚
R/W/WR
对于6800系列MPU的读/写信号
对于8080系列MPU的写信号
EP/RD
对于6800系列MPU的时钟信号使能脚
对于8080系列MPU的读信号
DB0—DB7
8位数据总线
VR
端口输出电压
C86
C86=‘H’选择6800MPU系列
C86=‘L’选择8080MPU系列
Vdd
逻辑电源(3.3V-5V)
Vss
地(0V)
(2)SPLC501液晶模组工作原理
(1)液晶驱动控制器SPLC501的读/写操作时序如图11所示:
图11SPLC501读/写操作时序图
(3)液晶模块的指令系统
该类液晶显示模块有显示开关、设置显示起始行、设置列地址、写显示数据、复位、V5电压内部电阻调整设置等23中显示指令,下面以与68系列MPU接口为例,对其中的几个指令加以简单介绍说明:
1显示开关指令
功能:
当显示被打开或关闭时,系统进入节电模式
EPRWP
ADP/RD/WR
DB7DB6DB5DB4DB3DB2DB1DB0
Setting
000
10101111
DisplayON
DisplayOFF
2显示初始行设置
这个指令设置了对应显示屏上首行的显示RAM行号,有规律的修改行号,可以实现滚屏功能
LineAddress
010
01000000
000001
000010
111110
111111
0
1
2
3
63
3写显示数据
将显示数据(8位)写到RAM中,显示地址自动加一。
AOPEPR/W
DB7DB6DB5DB4DB3DB2DB1DB0
显示数据
④复位
初始化显示起始行、起始列地址、起始页地址、正常输出模式,此命令不影响显示RAM中的数据。
11100010
2.3.2SPLC501液晶模块和SPCE061A的接口设计
SPLC501单芯片液晶驱动,可以直接与其他微控制器接口总线相连。
微控制器可以将显示数据通过8位数据线或者串行接口写到SPLC501的显存中。
因此,此系统的硬件接口比较简单。
本节将要介绍SPLC501与SPCE061A单片机的硬件接囗电路的设计。
SPCE061A与SPLC501硬件接口设计
SPLC501与SPCE061A单片机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 点阵 液晶 文本 驱动程序 设计