1、基于单片机的LCD流动字幕摘 要人们生活节奏的不断加快,电子产品层出不穷,使我们的生活更加方便,快捷。在电子行业中,越来越多的产品开始重视人机信息交换的输入输出设备。为了能更方便、快捷的获得信息,流动显示屏的应用便逐渐的流行了起来。在显示器领域,由球面的CRT 到纯平 CRT,由纯平 CRT 到如今主流的 LCD 液晶显示,而 LCD字幕滚动显示更是得到广泛应用。本文详细介绍了LCD流动字幕的工作原理以及实现过程,选择了合适的80C51单片机,以及LCD2864芯片;给出了单片机控制系统总体设计方案,设计过程,组成,列出了具体的硬件电路图;概述了LCD的显示方式,以及汉字的显示方法。采用C语言
2、实现了字幕显示、延时、滚动等控制功能。关键词:80C51单片机,LCD12864,LCD滚动字幕The LCD mobile caption based on SCMAbstractWith the speed up of the lifes pace. The new electric produce constantly change. make ours living more conveniently and quickly. In the industry of electronics. more and more product are paying attention to ma
3、n-machine information exchange input and output decices. In order to be more convenient and fast access to information, the mobile display applications will gradually popular up. In the display area by the spherical surface of the CRT to flat the CRT by the LCD now mainstream, flat CRT display, LCD
4、subtitles scroll display is widely used.This paper describes the working principle and the implementation process of the LCD flow subtitles, choose the 80C51 microcontroller, and LCD2864 chip; given a single chip control system design plan, the design process, composition, lists the specific hardwar
5、e circuit diagram; an overview ofthe LCD display, and display of Chinese characters. C language subtitles, delay, scrolling and other control functions.Keywords: 80C51,LCD12864,LCD rolling subtitles目录摘 要IABSTRACTII第一章 绪 论1第1.1节 课题的研究背景和意义1第1.2节 LCD显示器的发展史及趋势1第1.3节 LCD12864的原理及应用概述21.3.1 LCD的应用21.3.2
6、 LCD的主要参数21.3.3 LCD的分类41.3.4 LCD 的工作原理41.3.5 LCD12864的特点5第二章 LCD流动字幕总体系统设计6第2.1节 系统总体设计6第2.2节 LCD12864的控制要求9第三章 单片机控制的LCD流动字幕的硬件系统10第3.1节80C51单片机的硬件系统103.1.1中央处理器(CPU)103.1.2 80C51的内部结构113.1.3时钟电路及CPU工作时序11第3.2节LCD12864显示器的硬件系统12第3.3节 LD12864的显示13第3.4节 系统总体的硬件连接图以及工作原理14第四章 基于单片机的LCD流动字幕软件系统18第4.1节
7、LCD12864的基本指令18第4.2节 LCD16*16点阵字模19第4.3节 LCD显示程序214.3.1 LCD端口定义程序214.3.2 LCD清屏程序214.3.3 初始化程序224.3.4 延时程序224.3.5 写程序22小 结24参考文献25致 谢26附 录27流程图37III南师大泰州学院电力工程学院基于单片机的LCD流动字幕第一章 绪 论第1.1节 课题的研究背景和意义在信息科技高速发展的时代,信息产品层不断更新。LCD流动字幕的出现使人们的生活更加多姿多彩。亮丽实用的广告牌可以给我们的生活添加光彩,可以给店铺招揽生意。传统的广告牌都是固定的汉字,并且时间长了会掉色,使汉字
8、模糊难认,这给我们的生活带来很多的不便。尤其是到了晚上,传统的广告牌就失去了作用。因此我们需要一种造价低廉、使用方便、可以发光、可以方便改变汉字且比较耐用的电子显示广告牌。第1.2节 LCD显示器的发展史及趋势我们平时所说的LCD它的英文全名是Liquid Crystal Display,直接翻译成中文就是液态晶体显示器,简称液晶显示器。液晶是一种几乎完全透明的物质。它的分子排列决定了光线穿透液晶的路径。20世纪初,人们发现液晶充电会改变它们的分子排列,继而造成光线的扭曲或折射,由此引发了人们发明液晶显示设备的念头。液晶显示技术最早于1968年问世,不过真正运用在产品上还是在1973年。SHA
9、RP公司在生产的小型计算器上首次采用LCD,它所采用的是扭转型液晶显示技术,画面反应时间较慢,且输出的光线亮度不高,所以称为“被动式”。这一类液晶显示器对动、静态影像的显示表现都不好。在其后的10年间,液晶显示器技术发展的十分缓慢,当1985年东芝公司推出全球第一台笔记本时,液晶显示器立即与笔记本电脑融为一体,频繁的出现。但是那时的液晶显示器色彩单一,亮度很低,用户所能看到是没有亮度的黑白显示屏。一年后,(STN)液晶显示器出现了,STN是“Super twisted nematic”的缩写,从字面上我们就可以知道这是改进增强型。STN的出现首次让LCD出现了色彩,STN主要应用于一些显示屏尺
10、寸较大,要求不高的产品。1989年,在东芝公司的努力下,第一台彩色的DSTN显示器正式应用在笔记本电脑中,这次革新让笔记本电脑用户所面对的黑白世界瞬间进入了真正的色彩世界。DSTN是Dual Scan Tortuosity Nomograph的缩写,中文又称“双重扫描被动式”。尽管实现了彩色输出,DSTN显示器依然存在着许多令人无法忍受的局限性,由于视角狭小、图像品质差、分辨率和彩色深度低等缺点,DSTN显示只能提供EGA(640*350)分辨率,显示出16种色彩。1994年,东芝公司又推出了专门为笔记本电脑设计的TFT液晶显示屏,并且迅速登上时代的舞台,成为当今IT业界的主流。TFT液晶即薄
11、膜场效益晶体管液晶,是有源矩阵类型液晶显示器中的一种,其具有更高的对比度、更丰富的色彩和更新频率更快等特性,俗称“真彩”。相对于DSTN而言,TFT液晶主要特点是为每个像素配置一个半导体开关器件,其加工工艺类似于大规模集成电路。由于每个像素都可以通过点脉冲直接控制,因而每个节点都相对独立,并可以进行连续控制。这样设计方法不仅提高了显示屏的反应时间,同时在灰度控制上也可以做到非常精确,这就是TFT色彩较DSTN更为逼真的原因。近几年,随着TFT液晶显示器在响应时间、对比度、亮度、可视角度方面有了很大的进步,进一步拉近了与传统CRT显示器的差距。目前,液晶显示器的响应时间都在50ms以下,亮度在2
12、00cd/ms左右,可视度达到120度以上。第1.3节 LCD12864的原理及应用概述1.3.1 LCD的应用 在信息技术告诉发展的时代液晶显示器无处不在。在我们的日常生活中,在工业控制中,在娱乐场所里液晶显示器发挥着重要的作用。LCD主要应用于电脑的显示屏,随着电子技术的发展越来越多的手写手机也大量使用 LCD做显示屏,还有一些广告牌、标语栏等也都用LCD来显示。LCD的显示屏在我们的日常信息的传播中占重要的低位。1.3.2 LCD的主要参数(1)对比度LCD制造时选用的控制IC、滤光片和定向膜等配件与面板的对比度有关,对一般用户而言,对比度能够达到 350:1 就足够了,但在专业领域这样
13、的对比度平还不能满足用户的需求。相对CRT显示器轻易达到500:1甚至更高的对比度而言,只有高档液晶显示器才能达到如此程度。对比度是很重要的,可以说是选取液晶的一个比亮点更重要的指标。(2) 亮度LCD是一种介于固态与液态之间的物质,本身是不能发光的,需借助要额外的光源才行。因此,灯管数目关系着液晶显示器亮度。最早的液晶显示器只有上下两个灯管,发展到现在普及型的最低也是四灯,高端的是六灯。四灯管设计分为三种摆放形式:一种是四个边各有一个灯管,但缺点是中间会出现黑影,解决的方法就是由上到下四个灯管平排列的方式。最后一种是“U”型的摆放形式,其实是两灯变相产生的两根灯管。六灯管设计实际使用的是三根
14、灯管,厂商将三根灯管都弯成“U”型,然后平行放置,以达到六根灯管的效果。亮度也是一个比较重要的指标,越亮的液晶给人很远一看,就从一排液晶墙中脱颖而出,我们在CRT中经常见到的高亮技术都是通过加大阴罩管的电流,轰击荧光粉,产生更亮的效果,这样的技术,一般是以牺牲画质和显示器的寿命来换取的,所有采用此类技术的产品在缺省状态下都是普亮的。LCD显示亮度的原理和CRT不一样,他们是靠面板后面的背光灯管的亮度来实现的。所以灯管要设计的多,发光才会均匀。把三管弯成了“U”型,变成了所谓的六根,这样的六灯管设计,加上灯管发光本身就很强,面板就看到很亮,但所有高亮的面板都会有一个致命伤,屏会漏光,漏光是指在全
15、黑的屏幕下,液晶不是黑的,而是发白发灰。所以好的液晶不要一味的强调亮度,而是要多强调对比度。(3)信号响应时间响应时间指的是液晶显示器对于输入信号的反应速度,也就是液晶由暗转亮或由亮转暗的反应时间,通常是以毫秒(ms)为单位。要说清这一点我们还要从人眼对动态图像的感知谈起。人眼存在“视觉残留”的现象,高速运动的画面在人脑中会形成短暂的印象。动画片、电影等一直到现在最新的游戏正是应用了视觉残留的原理,让一系列渐变的图像在人眼前快速连续显示,便形成动态的影像。人能够接受的画面显示速度一般为每秒24张,这也是电影每秒24帧播放速度的由来,如果显示速度低于这一标准,人就会明显感到画面的停顿和不适。按照
16、这一指标计算,每张画面显示的时间需要小于40ms。这样,对于液晶显示器来说,响应时间40ms就成了一道坎,低于40ms的显示器便会出现明显的画面闪烁现象,让人感觉眼花。要是想让图像画面达到不闪的程度,则就最好要达到每秒60帧的速度。用一个很简单的公式算出相应反应时间下的每秒画面数如下: 响应时间 30ms=1/0.030=每秒约显示33帧画面响应时间 25ms=1/0.025=每秒约显示40帧画面 响应时间 16ms=1/0.016=每秒约显示63帧画面 响应时间 12ms=1/0.012=每秒约显示83帧画面 响应时间 8ms=1/0.008=每秒约显示125帧画面 响应时间 4ms=1/0
17、.004=每秒约显示250帧画面 响应时间 3ms=1/0.003=每秒约显示333帧画面 响应时间 2ms=1/0.002=每秒约显示500帧画面 响应时间 1ms=1/0.001=每秒约显示1000帧画面 通过上面的内容我们了解到了响应时间与画面帧数的关系。由此看来响应时间是越短越好。 (4)可视角度LCD的可视角度是一个让人头疼的问题,当背光源通过偏极片、液晶和取向层之后,输出的光线便具有了方向性。也就是说大多数光都是从屏幕中垂直射出来的,所以从某一个较大的角度观看液晶显示器时,便不能看到原本的颜色,甚至只能看到全白或全黑。为了解决这个问题,制造厂商们也着手开发广角技术,到目前为止有三种
18、比较流行的技术,分别是:N+FILM IPS(IN-PLANE -SWITCHING) 和 MVA(MULTI-DOMAIN VERTICAL ALIGNMENT)。TNFILM这项技术就是在原有的基础上,增加一层广视角补偿膜。这层补偿膜可以将可视角度增加到150度左右,是一种简单易行的方法,在液晶显示器中大量的应用。不过这种技术并不能改善对比度和响应时间等性能,也许对厂商而言,TN+FIL并不是最佳的解决方案,但它的确是最廉价的解决方法。IPS(IN-PLANE SWITCHING,板内切换)技术,号称可以让上下左右可视角度达到更大的170度。IPS技术虽然增大了可视角度,但采用两个电极驱动
19、液晶分子,需要消耗更大的电量,这会让液晶显示器的功耗增大。此外这种方式驱动液晶分子的响应时间会比较慢。MVA(MULTI-DOMAIN VERTICAL ALIGNMEN,多区域垂直排列)技术,原理是增加突出物来形成多个可视区域。液晶分子在静态的时候并不是完全垂直排列,在施加电压后液晶分子成水平排列,这样光便可以通过各层。MVA技术将可视角度提高到160度以上,并且提供比IPS和TN+FILM更短的响应时间。1.3.3 LCD的分类液晶显示器按照控制方式不同可分为被动矩阵式LCD及主动矩阵式 LCD两种。段码式显示和点阵式显示。段码是最早最普通的显示方式,比如计算器,电子表这些。点阵式的有如
20、MP3,手机屏,数码相框这些高档消费品等。1. 被动矩阵式LCD被动矩阵式LCD在亮度及可视角方面受到较大的限制,反应速度也较慢。由于画面质量方面的问题,使得这种显示设备不利于发展为桌面型显示器,但由于成本低廉的因素,市场上仍有部分的显示器采用被动矩阵式LCD。被动矩阵式 LCD又可分为TN-LCD(Twisted Nematic-LCD,扭曲向列LCD)、LCD(Super TN-LCD,超扭曲向列LCD)和 DSTN-LCD(Double layer STN-LCD,双层超扭曲向列LCD)。2.主动矩阵式LCD目前应用比较广泛的主动阵式LCD也称TF-LCD(Tin Film Transi
21、stor-LCD,薄膜晶体管LCD)。液晶显示器是在画面中的每个像素内建晶体管,可使亮度更明亮,色彩更丰富及更宽广的可视面积。与CRT显示器相比,LCD显示器的平面显示技术体现为较少的零件、占据较少的桌面及耗电量较小,但CRT技术较为稳定成熟。1.3.4 LCD 的工作原理从液晶显示器的结构来看,无论是笔记本电脑还是桌面系统,采用的LCD显示屏都是由不同部分组成的分层结构。LCD由两块玻璃板构成,厚约1mm,其间由包含有液晶材料的5m均匀间隔隔开。因为液晶材料本身并不发光,所以在显示屏两边都设有作为光源的灯管,而在液晶显示屏背面有一块背光板(或称匀光板)和反光膜。背光板是由荧光物质组成的,可以
22、发射光线,其作用主要是提供均匀的背景光源。背光板发出的光线在穿过第一层偏振过滤层之后进入包含成千上万液晶液滴的液晶层。液晶层中的液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。在玻璃板与液晶材料之间是透明的电极,电极分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。在液晶材料周边是控制电路部分和驱动电路部分。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。液晶显示技术也存在弱点和技术瓶颈,与CRT显示器相比亮度、画面均匀度、可视角度和反
23、应时间上都存在明显的差距。其中反应时间和可视角度均取决于液晶面板的质量,画面均匀度和辅助光学模块有很大关系。1.3.5 LCD12864的特点LCD12864点阵液晶显示屏有三种控制器,分别是KS0107(KS0108)、T6963C和ST7920,三种控制器主要区别是:KS0107(KS0108)不带任何字库、T6963C带ASCII码,ST7920带国标二级字库(8千多个汉字),本文选用的是不带字库的KS0107(KS0108)控制器,因为这样显示汉字的时候就可以选择自己喜欢的字体。MPIRE128*64是由KS0108驱动的。与带字库的液晶不同,此块液晶含有两个液晶驱动器。一块驱动器控制
24、64*64个点,左右显示,由引脚CS1和CS2控制。下图就是128*64点阵型的LCD内部逻辑结构图图2-1 内部逻辑电路图第二章 LCD流动字幕总体系统设计第2.1节 系统总体设计本系统需要实现分两步走:第一步解决在LCD液晶显示器上显示汉字,借助字模生成软件产生16*16点阵的汉字代码;第二步解决汉字的滚动功能。可以通过改变行的显示地址来让字幕上下滚动,也可以通过改变列地址实现汉字的左右移动1。本系统采用的是改变行来实现汉字的向上移动。系统组要有以下几部件和电路。1、单片机:采用80C51单片机控制液晶显示屏显示字幕。它采用了CMOS技术,与MCS-51系列的单片机相比集成度高、速度快、功
25、耗低。它主要由以下几部分组成:1) 中央处理器(CPU)单片机中央处理器和通用为处理器基本相同,只是增设了“面向对象”的处理功能。如为处理器、查表、多种跳转、乘除发运算状态检测、中断处理等,增强了实时性。2) 存储器目前微型计算机和单片机的存储主要有两种结构,机哈佛(Harvard)结构和普林斯顿(Princeton)结构。所谓哈佛结构,是将程序存储器和数据存储器截然分开,分别寻址的结构;而普林斯顿结构,则是将程序和数据共用一个存储空间的结构。80C51系列单片机采用的是哈佛结构。3) I/O接口80C51单片机内部有四个八位的I/O并行接口,不仅可以灵活的用作输入或输出,而且还具有多种功能。
26、还有一个全双工的串行口,以实现单片机和其他设备间的串行通信。该串行口还可以作为移位器使用。4) 时钟电路80C51单片机内部有时钟电路,但石英晶体和微调电容需外接,时钟电路为单片机产生式的脉冲序列。5) 中断80C51共有5个中断源,即外部中断2个,定时器、计数器中断2个,串行口中断1个2。全部中断源分为两个优先级,优先级的高低通过编程来实现。6) 时器、计数器80C51共有2个16位的定时器/计数器,以实现精确的定时或对外部时间的计数功能。下面是80C51单片机的引脚图以及引脚功能表。图1-1 80C51 引脚图 表1-1 各引脚功能表P0.0-P0.7漏极开路的双向I/O口,作地址和数据总
27、线分时复用P1.0-P1.7P1口是准双向I/O口,用做输入低位字节地址P2.0-P2.7P2口也是准双向I/O口,接收高位字节地址P3.0-P3.7P3口也是准双向I/O口,其输出锁存器应由程序置1,P3口可以驱动4个LSTTL负载ALE/地址锁存器允许信号片外程序选通信号,低电平有效/ 访问外部程序存储器选通信号RSTRST抚慰输入信号,高电平有效XTAL1、XTAL2用于外接石英晶体和微调电容VCC、VSSVCC电源 、VSS接地2.复位电路:复位电路时有外部复位电路来实现的。复位电路通常采用上电自动复位和按钮复位两种方式。本设计中所用到的是上电按钮复位。3.时钟电路:单片机的外接时钟电
28、路,通过外接石英晶体实现。4.电源电路:电源是通过二极管D1后经过C1,C2滤波后由LM2576稳定后提供稳定的5V电压通过时发光二极管亮。5.显示模块:LCD12864LCD12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示84个(1616点阵)汉字。12864内部功能器件及相关功能如下:1) 令寄存器(IR)IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E信号下降沿的作用下,指令码写入IR。2) 据寄存器(DR)DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降沿作用下,图形显示
29、数据写入DR,或在E信号高电平作用下由DR读到DB7DB0数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。3) 标志:BFBF标志提供内部工作情况。BF=1表示模块在内部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。利用STATUS READ指令,可以将BF读到DB7总线,从而检验模块工作状态。4) 示控制触发器DFF此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。DDF的状态是指令DISPLAY ON/OFF和RST信号控
30、制的。5) Y地址计数器XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。X地址计数器是没有记数功能的,只能用指令设置。Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。6) 示数据RAM(DDRAM)DDRAM是存储图形显示数据的。数据为1表示显示选择,数据为0表示显示非选择。7) 地址计数器Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下
31、一行扫描数据,RST复位后Z地址计数器为0。Z地址计数器可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。第2.2节 LCD12864的控制要求LCD12864显示模块时应注意以下几点:1、在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。2、示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符
32、位置。3、字符编码为2字节时,应先写入高位字节,再写入低位字节。4、块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。5、RE”为基本指令集与扩充指令集的选择控制位。当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。第三章 单片机控制的LCD流动字幕的硬件系统第3.1节80C51单片机的硬件系统MCS-51单片机是美国Intel公司开发的高档的8位单片
33、机系列,是在我国应用最为广泛的单片机系列。80C51单片机是第三代单片机的代表,它包括Intel公司发展MCS-51系列的新一代产品,如8XC152、80C51/FB等,还包括ATMEL、Philips、Siemens等公司推出的以80C51为核心的大量各具特色的且与MCS-51兼容的单片机。3.1.1中央处理器(CPU)中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。中央处理器从功能上可分为运算器、控制器两部分。(1)运算器运算器由运算逻辑单元ALU、累加器ACC、暂存寄存器、B寄存器、程序状态标志寄存器PSW以及BCD码运算修正电路等组成。1、算逻辑单元ALU。ALU功能十
34、分强大,不仅可以对8位变量进行逻辑“与”、“或”、“异或”、循环求补、清零等基本操作,还可以进行加、减、乘、除等基本运算,并具有数据传输、程序转移等功能。2、加器ACC。累加器ACC(简称累加器A)为一个8位寄存器,它是CPU中使用最频繁的寄存器。大部分单操作指令的操作数取自累加器A,很多双操作数指令的一个操作数取自累加器A。加、减、乘和除等算术运算结果都存放在累加器A或AB寄存器中。变址寻址方式中累加器被作为变址寄存器使用。3、寄存器。B寄存器是8位寄存器,主要用于乘除指令中。4、序状态字。程序状态字PSW是一个逐位定义的8位标志寄存器,它保存指令执行结果的特征信息,以供程序的查询、判别。(
35、2)控制器在80C51单片机中,控制器电路包括程序计数器PC、程序地址寄存器、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、条件转移逻辑电路、缓冲器以及定时控制电路等。1、序计数器PCPC是中央控制器中最基本的寄存器,是一个独立的16位计数器,其内容为将要执行的指令地址,寻址范围可达64KB。2、据指针DPTR数据指针是80C51中一个功能比较特殊的16位寄存器。主要是作片外数据存储寻址用的地址寄存器(间址寻址),DPTR也可以作为访问程序存储器的基址寄存器3。3.1.2 80C51的内部结构80C51单片机的内部结构如下图所示。它主要有一下几部分组成:1个8位的中央处理器;KB的E
36、PROM/ROM;128B的RAM;32条I/O线;2个定时器/计数器;1个具有5个中断源、2个优先级的中断嵌套结构;用于多处理机通信、I/O口扩展的全双工通用异步接收发送器(UART);特殊功能寄存器(SFR);1个片内震荡器和时钟电路。这些部件通过内部总线连接起来,构成一个完整的微型计算机4。图3-1 CPU内部结构图3.1.3时钟电路及CPU工作时序1) 钟电路单片机芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。时钟电路为单片机产生工作时所需的时钟脉冲序列,而时序电路所研究的是指令执行中各信号之间相互的关系。单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应
37、在唯一的时钟信号控制下严格地按时序进行工作。80C51单片机时钟电路,时钟信号可由内部振荡方式或外部振荡方式得到。内部振荡方式,在80C51芯片内部由一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端引脚为XTAL2,只需要在片外通过XTAL1和XTAL2引脚跨接晶体振荡器和在引脚与地之间加接微调电容,形成反馈电路,振荡器即可工作。2) PU工作时序 振荡周期、时钟周期、机器周期、指令周期5。第3.2节LCD12864显示器的硬件系统液晶屏上如何显示一些汉字或图画,这也许是所有LCD12864初学者都最先思考的一个问题。在数字电路中,所有数据都是由0和1保存的,同样LCD也利用了这一
38、方法。在点阵LCD上显示的只有两种颜色,因此可利用0和1来表示这两种颜色。假设空格是由16*16个0组成的,在显示16*16的字体时,将其中某些点置为1便可在视觉上形成一个汉字,这些二进制数称为代位码。而这些由0和1转换而成的16进制数据便是字模。不同的汉字有不同的字模,相同的汉字不同的字体也有不同的字模。而将字模设为16*16像素是因为这样基本可以将汉字显示清楚准确,更高像素则更为清楚准确,但是却更多地占用了LCD的面积。与汉字不同的是,一个字符只需要16*8的像素便即可。如何将这16*16或者16*8个0、1保存下来也是是初学者所需要了解的,假设要在LCD12864屏幕上准确正确的显示出汉
39、字,则需要将16*16的汉字分为两行,每行由16列组成,这16列每列存8个点,用2位16进制数(8位二进制数)表示这8个点,16个16进制数可表示1行,32个16进制数则能表示整个汉字。通过LCD12864,则可将这些字模信息还原成汉字或图像。 LCD12864的管脚共有20个之多,但是连接的电路并不复杂。但是需要注意的是LCD的电源共有2组,一组是用于驱动LCD显示,另一组用于背光显示。可将这两组连在一起或者背光电源省略。另外有个输入管脚V0需要接入LCD调整电压来调节对比度。通常刚使用液晶时的问题是由此引起的,对比度过高于或过低均会使屏幕无法正常显示。它可接至10K-20K电位器的调整端,
40、电位器两端分别接至VDD与VEE。目前市场上某些LCD12864的对比度可由单片机操作其寄存器调节,可根据不同的条件进行选择。其余的端口均连接至单片机。下面是LCD12364的引脚图以及引脚功能表。图3-2 LCD12864引脚图表3-1 LCD12864 引脚功能管脚名称LEVER管脚功能描述VSS0电源地VDD+5.0V电源电压V0-液晶显示器驱动电压D/I(RS)H/LD/I=“H”,表示DB7DB0为显示数据D/I=“L”,表示DB7DB0为显示指令数据R/WH/LR/W=“H”,E=“H”数据被读到DB7DB0R/W=“L”,E=“HL”数据被写到IR或DREH/LR/W=“L”,E
41、信号下降沿锁存DB7DB0R/W=“H”,E=“H”DDRAM数据读到DB7DB0DB0H/L数据线DB1H/L数据线DB2H/L数据线DB3H/L数据线DB4H/L数据线DB5H/L数据线DB6H/L数据线DB7H/L数据线CS1H/LH:选择芯片(右半屏)信号CS2H/LH:选择芯片(左半屏)信号RETH/L复位信号,低电平复位VOUT-10VLCD驱动负电压LED+-LED背光板电源LED-LED背光板电源第3.3节 LD12864的显示使用LCD12864时,要显示文字必须先设置LCD显示器行、列、页的首地址。LCD12864共有8页、64行以及64列。通过改变这些首地址可以实现需要的
42、功能。通过设置屏幕显示的起始行实现屏幕的上下滚动功能可循环设置这一地址,也可直接设置行地址来控制字体上下的位置。开头空两格则可设置列地址来完成,可将列地址设置32。而这一行文字的其余列的列地址并不需要手动设置,LCD中的Y地址计数器可自动加1。对应页地址计数的还有X地址计数器与对应行地址计数的Z地址计数器。XY地址计数器是一个9位计数器,高3位是X地址计数器,低6位为Y地址计数器,是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。而这里的DDRAM是存储图形显示数据的,用于存储单片机送入的点阵信息6。图3-3显示控制图第3.4节 系统总体的硬件
43、连接图以及工作原理由P0口控制DB0-CB7的数据输入口,当空闲时向LCD12864里写入程序或数据。由P22、P21控制片选口。P26控制时能端。当使能端从1-0时实现锁屏显示。P23控制复位信号,低电平时复位。P25控制R/W口。当R/W=“H”,E=“H”则数据被读到DB7-DB0。当R/W=“L”,E=“HL”则数据被写到IR或DR。P24控制D/I口。当D/I=“H”,则DB7-DB0为显示数据。当D/I=“L”,则DB7-DB0为显示指令数据7。图3-4 系统总接线图 图3-5 复位电路复位电路是由外部复位电路来实现的。复位电路通常采用上电自动复位和按钮复位两种方式。本设计中所用到
44、的是上电按钮复位13。图3-6 时钟电路时钟电路:外接晶体以及电容C2和C3构成并联谐振电路,接在放大器的反馈回路中。对外界电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。晶体可在1.2MHZ-12MHZ之间任选,电容C5和C6 的典型值在20Pf-100pF之间选择,但在60Pf-70pF时振荡器具有较高的频率稳定性。典型值通常选择30pF左右,但本电路采用33pF。在设计印刷电路版时,晶体或陶瓷振荡器和电容应尽可能安装的与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。为了提高温度的稳定性,应采用温度稳定性能好的
45、NPO高频电容14。图3-7 上拉电阻上拉电阻RP1:因为P0口是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。图3-8 电源电路本装置的电源是通过二极管D1后经过C1,C4滤波后由LM2576稳定后提供稳定的5V电压通过时发光二极管亮15。 第四章 基于单片机的LCD流动字幕软件系统第4.1节 LCD12864的基本指令1、显示开/关设置 CODE: 表4-1显示开/关设置R/WD/1DB7DB6DB5DB4DB3DB2DB1DB0LLLLHHHHHH功能:设置屏幕显示开/关。DB0=H,开显示;DB0=L,关显示。不影响显示RAM(DDRAM)中的内容。 2、设置显示起始行 CODE: 表4-2设置显示起始行R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0LLHH行地址(0-63)功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。 3、设置页地址 CODE: 表4-3设置页地址R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0LLHLHH