欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载
     

    基于单片机的LCD液晶显示器控制原理系统设计说明.doc

    • 资源ID:1091081       资源大小:2.97MB        全文页数:28页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的LCD液晶显示器控制原理系统设计说明.doc

    1 / 28摘要摘要本文围绕设计以单片机作为 LCD 液晶显示系统控制器为主线,基于单片机 8051,采用的液晶显示控制器的芯片是 SED1520,主要实现中文显示、滚屏以及左右移动功能。同时也对部分芯片和外围电路进行了介绍和设计,并附以系统结构框图加以说明,着重介绍了本系统应用的各硬件接口技术和各个接口模块的功能及工作过程,并详细阐述了程序的各个模块。本系统是以单片机的汇编语言来进行软件设计,指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。其次阐述了部分程序的流程图和实现过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。最后对我所开发的用单片机实现 LCD 液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。关键字:关键字:单片机、液晶显示、8051、SED1520、2 / 28目录目录1 绪论21.1 单片机液晶显示系统设计课题背景 21.2 开发单片机液晶显示系统的意义 21.3 课题完成的功能 32 单片机与 C8051F020 单片机实验系统42.1 单片机技术的发展特点42.2 C8051F020 单片机实验系统52.3 CIP-51TMCPU73 液晶显示控制器 KS0108103.1 KS0108 的特点 103.2 KS0108 管脚103.3 KS0108 受控引脚 113.4 KS0108 的时序4113.4.1 KS0108 与 68 系列微处理器直接接口的时序 113.4.2 复位时序 123.5 KS0108 显示 RAM 地址结构 133.6 KS0108 指令系统4134 图形动态显示154.1 图形点阵式液晶显示控制原理 154.2 液晶显示模块外部接口 154.3 图形点阵液晶显示编码规则 174.3.1 汉字编码规则 174.3.2 图形编码规则 194.4 程序流程 194.5 功能实现 205 系统实验仿真235.1 平台及操作 235.2 仿真及结果 23参考文献25致263 / 281 绪 论1.1 单片机液晶显示系统设计课题背景单片机液晶显示系统主要是指单片机以及由单片机驱动的点阵式液晶显示屏所组成的一个显示系统。液晶显示器与 CRTcathode-ray tube,阴极射线管、LED 或等离子显示器相比是一种低功耗的平面显示器件。它在车广告、在型智能广告、可视、仪表盘、空调、洗衣机和其它低功耗电子产品中得到广泛应用。老式七段 LCDLiquid Crystal Display 液晶显示屏显示的字符数量有限,只能用于简单显示,而对于比较复杂的字符、图形无法表达。然而在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字。由于物探仪器的多功能化、智能化、并且普遍采用人机对话的交互方式,需要能够显示更丰富信息和通用性较强的显示器,便于开发和应用,并要求其体积小、重量轻、功耗小。图形点阵式 LCD 不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕画面滚动、分区开窗口、反转、闪烁、位操作等功能,可以显示用户自定义的任意符号以及曲线、图形等,是信息处理、信息输出的重要手段之一,具有广泛的应用前景。1.2 开发单片机液晶显示系统的意义社会意义:液晶显示器具有功耗低、体积小、重量轻、超薄等许多其它显示器无法相比的优点。近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。液晶显示器分为字符型 LCD 显示模块和点阵型 LCD 显示模块。字符型 LCD 是一种用 57点阵图形来显示字符的液晶显示器。点阵型液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的点阵型液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字 BP 机、手机上的显示屏就是点阵型 LCD。点阵型 LCD 是现代单片机应用系统中最常用的人机交互界面之一。4 / 28现实意义:我选择的单片机液晶显示系统的开发,是基于 KS0108 液晶显示控制器,在C8051F020 单片机实验系统上实现。KS0108 是点阵型液晶显示控制器,C8051F020 单片机是美国 Silabs 公司推出的完全集成的混合信号系统芯片。利用单片机控制液晶显示系统的原理,完成单片机液晶显示系统的设计,我希望能够触类旁通,灵活应用其他型号的液晶显示控制器。将来如果有机会从事这方面的工作,要运用的液晶显示控制器不一定是 KS0108,但这次毕业设计中学到的东西为此打下了良好的基础,相信自己能做好这方面的工作。1.3 课题完成的功能所选的单片机液晶显示系统设计,是在 C8051F020 系统实验设备上实现的。C8051F020 中有藏 KS0108 控制器的液晶模块 CGM12864B。KS0108,12864 个点阵,与行控制器 KS0107 配合使用,组成液晶显示驱动控制系统。我最主要是用 KS0108 来设计图形动态显示。在显示屏上的显示点是以字节数和位数为显示单元的,单元为1的位在屏幕上反应是亮点,为0的位不亮。在字节中能够显示的位数可编程设置,围是 116。如果小于等于 8 位,则用一个字节,每个字节的低位不起显示作用。例如,设置显示单元为 6,每个字节显示 6 位,那么屏幕上的显示单元为 16 点;如果大于 8 位则用两个字节,低字节的低位不起显示作用。屏幕上同一行的显示单元从左到右地排列,对应着显示存中的地址是从高到低,同一列中的显示单元从上到下,对应显示存中的地址相差一定的值,称作行地址间隔,可用程序设置。显示存RAM,Random Access Memory 随机存储器中的地址与屏幕上的显示位置一一对应。在液晶显示屏上显示图形实际上是将对应的图形显示数据写入显示 RAM 的相应位置。显示图形首先需要将图形转换为图形字模,然后根据该图形的显示位置将图形字模写入对应的显示 RAM 区地址。在图形显示过程中,按列扫描,显示完一页后,要送一个页面地址加 1 指令,让单片机将数据传送到显示 RAM 的下一页。除了实现图形简单的整屏显示外,根据单片机编程控制灵活的特点,还可以实现图形的左右或上下滚动。实现图形左右滚屏的基本思想是让后一列的数据写住前一列的显示 RAM,直至整屏都往右移一列;实现上下滚屏的基本思想是每显示完整屏数据后,显示起始行地址加 1,再显示原整屏数据,这样就实现了上下滚屏的效果。2 单片机与 C8051F020 单片机实验系统5 / 282.1 单片机技术的发展特点1自单片机出现至今,单片机技术已走过了近 20 年的发展路程。纵观 20 年来单片机发展里程可以看出,单片机技术的发展以微处理器MPU,Microprocessor Unit技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出比微处理器更具个性的发展趋势。 单片机寿命长 一般说来,单片机开发的产品可以稳定可靠地工作 10 年、20 年;另外,与微处理器相比,单片机的长寿命表现在它不会像 386、486、586 等 MPU 一样,随着半导体技术的飞速发展,更新换代的速度越来越快,很短的时间就被淘汰出局。传统的单片机如68HC05、8051 等年龄已有十几年的历史,但产量仍是上升的,这是因为它们在其对相应应用领域的适应性强,并且与之兼容的 I/O 功能模块的扩展接口技术也层出不穷。 8 位、16 位与 32 位单片机共同发展 这是单片机技术发展的另一个动向。长期以来,单片机技术的发展是以 8 位机为主的。随着移动通信、网络技术、多媒体技术等高科技产品进入家庭,32 位单片机应用得到了长足的发展,而 16 位单片机的发展无论从品种和产量方面,近年来也有较大幅度的增长。 单片机的速度越来越快 MPU 发展中表现出来的速度越来越快是以时钟频率越来越高为标志的。而单片机则有所不同,为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺牲运算速度是单片机技术发展之追求。一些 8051 单片机兼容厂商改善了单片机的部时序,在不提高时钟频率的条件下,使运算速度提高了许多。 低电压与低功耗 自 80 年代中期以来,NMOS 工艺单片机逐渐被 CMOS互补金属氧化物半导体工艺所代替,功耗得以大幅度下降,随着超大规模集成电路技术由 3m 工艺发展1.5、1.2、0.8、0.5、0.35 进而实现了 0.2m 工艺,全静态设计使时钟频率从直流电到数十 MHz 任选,都使功耗不断下降。几乎所有的单片机都有 Wait、Stop 等省电运行方式。允许使用的电源电压围也越来越宽。一般单片机都能在 36V 围工作,对电池供电的单片机不再需要对电源采取稳压措施。低电压供电的单片机电源下限已由 2.7V 降至 2.2V、1.8V、0.9V 供电的单片机已经问世。 低噪声与高可靠性技术 为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机商家在单片机部电路中采取了一些新的技术措施。OTP 与掩膜6 / 28 OTP 是一次性写入的单片机。过去认为一个单片机产品的成熟是以投产掩膜型单片机为标志的。由于掩膜需要一定的生产周期,而 OTP 型单片机价格不断下降,使得近年来直接使用 OTP 完成最终产品制造更为流行。它较之掩膜具有生产周期短、风险小的特点。近年来,OTP 型单片机需量大幅度上扬,为适应这种需求许多单片机都采用了在片编程技术In system Programming 。未编程的 OTP 芯片可采用裸片 Bonding 技术或表面贴装技术,先焊在印刷板上,然后通过单片机上的编程线、串行数据、时钟线等对单片机编程,解决了批量写 OTP 芯片时容易出现的芯片与写入器接触不好的问题,使 OTP的裸片得以广泛应用,降低了产品的成本。编程线与 I/O 线共用,不增加单片机的额外引脚。而一些生产厂商推出的单片机不再有掩膜型,全部为有 ISP 功能的 OTP。 MTP 向 OTP 挑战 MTP 是可多次编程的意思。一些单片机厂商以 MTP 的性能、OTP 的价位推出他们的单片机,如 ATMEL AVR 单片机,片采用 FLASH,可多次编程。华帮公司生产的 8051 兼容的单片机也采用了 MTP 性能,OTP 的价位。这些单片机都使用了 ISP 技术,等安装到印刷板线路板上以后再下载程序。2.2 C8051F020 单片机实验系统2C8051F020 器件是完全集成的混合信号系统级 MCU微程序控制器芯片,具有 64个数字 I/O 引脚。下面列出了一些主要特性:高速、流水线结构的 8051 兼容的 CIP-51 核全速、非侵入式的在系统调试接口真正 12 位、100ksps 的 8 通道 ADC,带 PGA 和模拟多路开关两个 12 位 DAC,可编程更新时序64K 字节可在系统编程的 FLASH 存储器4352字节的片 RAM可寻址 64K 字节地址空间的外部数据存储器接口硬件实现的 SPI、SMBus/I2C 和两个 UART 串行接口5 个通用的 16 位定时器具有 5 个捕捉/比较模块的可编程计数器/定时器阵列片看门狗定时器、VDD 监视器和温度传感器具有片 VDD 监视器、看门狗定时器和时钟振荡器的 C8051F020 是真正能独立工作的片上系统。所有模拟和数字外设均可由用户固件配置为使能或禁止。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新 8051 固件。7 / 28片 FTAG 调试电路允许使用安装在最终应用系统上的产品 MCU 进行非侵入式、全速、在系统调试.该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用 JTAG 调试时,所有的模拟和数字外设都可全功能运行。每个 MCU 都可在工业温度围用 2.7V3.6V 的电压工作。端口CoCoI/O、/RST、和 JTAG 引脚都容许 5V 的输入信号电压。C8051020 为 100 脚 TQFP 封装。图 2.1 C8051F020 原理框架2.3 CIP-51CPUTM与 8051 完全兼容C8051F020 系列器件使用 Cygnal 的专利 CIP-51 微控制器核。CIP-51 与 MCS-51指令集完全兼容,可以使用标准 803x/805x 的汇编器和编译器进行软件开发。CIP-51TM核具有标准 8052 的所有外设部件,包括 5 个 16 位的计数器/定时器、两个全双工UART、256 字节部 RAM、128 字节特殊功能寄存器地址空间及 8/4 个字节宽的 I/O端口。速度提高CIP-51 采用流水线结构,与标准的 8051 结构相比指令执行速度有很大的提高。在一个标准的 8051 中,除 MUL 和 DIV 以外所有指令都需要 12 或 24 个系统时钟周期,最大8 / 28系统时钟频率为 1224MHz。而对于 CIP-51 核,70的指令的执行时间为 1 或 2 个系统时钟周期,只有 4 条指令的执行时间大于 4 个系统时钟周期。增加的功能C8051F202 系列 MCU 在 CIP-51 核和外设有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。扩展的中断系统向 CIP-51 提供 22 个中断源,允许大量的模拟和数字外设中断微控制器,一个中断驱动的系统需要较小的 MCU 干预,因而有更高的执行效率。在设计一个多任务实时系统时,这些增加的中断源是非常有用的。MCU 可有多达 7 个复位源:一个片 CDD 监视器、一个看门狗定时器、一个时钟丢失检测器、一个由比较器 0 提供的电压检测器、一个软件强制复位、CNVSTR 引脚及/RST引脚。MCU 部有一个独立运行的时钟发生器,在复位后被默认为系统时钟。如果需要,时钟源可以在运行时切换到外部振荡器,外部振荡器可以使用晶体、瓷谐振器、电容、RC或外部时钟源产生系统时钟。 片存储器3CIP-51 有标准的 8051 程序和数据地址配置。它包括 256 字节的数据 RAM,其中高128 字节为双映射。用间接寻址访问通用 RAM 的高 128 字节,用直接寻址访问 128 字节的 SFR 地址空间。数据 RAM 的低 128 字节可用直接或间接寻址方式访问。前 32 个字节为 4 个通用寄存器区,接下来的 16 个字节既可以按字节寻址也可以按位寻址。MCU 的程序存储器包含 64K 字节的 FLASH。该存储器以 512 字节为一个扇区,可以在系统编程,且不需要特别的编程电压。从 0 xFE00 到 0 xFFFF 的 512 字节被保留,由工厂使用。还有一个位于地址 0 x100000 x1007F 的 128 字节的扇区,该扇子区可作为一个小的软件常数表使用。图 2.2 给出了 MCU 系统的存储器结构。图 2.2 片存储器组织9 / 28JTAG 调试和边界扫描C8051F020 系列具有片 JTAG 边界扫描和调试电路,通过 4 脚 JTAG 接口并使用安装在最终应用系统中的产品器件就可以进行非侵入式、全速的在系统调试。该 JTAG 接口完全符合 IEEE1149.1 规,为生产和测试提供完全的边界扫描功能。Cygnal 的调试系统支持观察和修改存储器和寄存器,支持断点、观察点、堆栈指示器和单步执行。不需要额外的目标 RAM、程序存储器、定时器或通信通道。在调试时所有的模拟和数字外设都正常运行,以保持同步。图 2.3 给出了调试环境示意图。图 2.3 调试环境示意图可编程数字 I/O 和交叉开关该系列 MCU 具有标准 8051 的端口0、1、2 和 3 。在 C8051F020 中有 4 个附加的端口4、5、6 和 7,因此共有 64 个通用端口 I/O。这些端口 I/O 的工作情况与标准8051 相似,但有一些改进。可能最独特的改进是引入了数字交叉开关。这是一个大的数字开关网络,允许将部数字系统资源映射到 P0、P1、P2 和 P3 的端口 I/O 引脚见图 2.4 。具有标准复用数字 I/O 的微控制器不同,这种结构可支持所有的功能组合。10 / 28图 2.4 数字交叉开关原理框图可编程计数器阵列除了 5 个 16 位的通用计数器/定时器之外,C8051F020 MCU 系列还有一个片可编程计数器/定时器阵列PCA 。PCA 包括一个专用的 16 位计数器/定时器时间基准和 5 个可编程的捕捉/比较模块。时间基准的时钟可以是下面的 6 个时钟源之一:系统时钟/12、系统时钟/4、定时器 0 溢出、外部时钟输入ECI 、系统时钟和外部振荡器源频率/8。C8051F020 还有更多的优势,需要详细了解的请参考文献9。本节主要讲了单片机的特点和 C8051F020 单片机实验系统的特性。C8051F020 与8051 完全兼容,指令采用流水线结构提高了系统速度,有可编程数字 I/O 和交叉开关,增加了一些功能器件,提高了 C8051F020 整体性能。3 液晶显示控制器 KS0108KS0108是一种带有驱动输出的点阵型液晶显示控制器,它可直接与8位微处理器相连,它可与KS0107配合对液晶显示控制器进行行、列驱动,组成液晶显示驱动控制系统。3.1 KS0108 的特点.藏6464=4096位显示RAM,RAM中每位数据对应LCD屏上一个点的亮、暗状态;.KS0108是列驱动器,具有64路列驱动输出;.KS0108读、写操作时序与68系列微处理器相符,因此它可直接与68系列微处理器接口相连;.KS0108的占空比为1/481/64;.具有专用指令集,可完成文本显示或图形显示的功能设置,以及实现画面滚动、光标、闪烁和位操作等功能;.KS0108可管理64KB显示RAM。其中,图形方式为64KB;字符方式为4KB。3.2 KS0108 管脚4KS0108的管脚见图3.1所示:11 / 28图3.1 KS0108管脚图3.3 KS0108 受控引脚KS0108的引脚功能见表1表1 引脚功能引脚符号状态引脚名称功能CS1,CS2,CS3输入芯片片选端CS1和CS2低电平选通,CS3高电平选通E输入读写使能信号在E下降沿,数据被锁存写入KS0108;在E高电平时,数据被读出R/W输入读写选择信号R/W=1,为读选通;R/W=0为写选通RS也习惯叫做D/I输入数据、指令选择信号RS=1为数据操作RS=0为写指令或读状态DB0-DB7三态数据总线RST输入复位信号低电平有效,复位信号有效时,关闭液晶显示,使显示起始终不渝行为0,RST可跟MPU相连,由MPU控制;也右直接接VDD,使之不起作用。12 / 283.4 KS0108 的时序43.4.1 KS0108 与 68 系列微处理器直接接口的时序各种信号波形对照见表2:表2 信号波形MPU读时序见图3.2:图3.2 读时序MPU写时序见图3.3:图3.3 写时序13 / 283.4.2 复位时序复位后,KA0108显示关闭,显存地址归零。复位条件见表3和图3.4:表3 复位条件项目符号最小值典型值最大值单位复位时间Trs1.0微秒上升时间Tr200纳秒图3.4 复位条件3.5 KS0108 显示 RAM 地址结构KS0108中的显示RAM共有64行,64列,其结构见图3.5图3.5 显示RAM地址结构3.6 KS0108 指令系统4KS0108的指令系统比较简单,总共只有七种。现分别介绍如下:3.6.1 显示开/关指令见表4表4 显示开/关指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB014 / 280 00 0 1 1 1 1 1 1/0当DBO=1时,LCD显示RAM中的容;DBO=0时,关闭显示。3.6.2 显示起始行设置指令见表5表5 显示起始行指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 01 1 显示起始行0-63该指令设置了对应液晶屏最一行的显示RAM的行号,有规律的改变显示起始行,可以使LCD实现显示滚屏的效果。3.6.3 页设置指令见表6表6 页设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 01 0 1 1 1 页号0-7显示RAM共64行,分8页,每页8行。3.6.4 列地址设置指令见表7表7 列地址设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 1 显示列地址0-63设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以用读、写指令读出该单元中的容或向该单元写进一个字节数据。3.6.5 读状态指令见表8表8 读状态指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 0BUSY 0 ON/OFF REST 0 0 0 0该指令用来查询KS0108的状态,各参量含义如下:BUSY:1-部在工作 0-正常状态ON/OFF:1-显示关闭 0-显示打开REST: 1-复位状态 0-正常状态在BUSY和REST状态时,除读状态指令外,其它指令均不对KS0108产生作用。在对KS0108操作之前要查询BUSY状态,以确定是否可以对KS0108进行操作。3.6.6 写数据指令见表9表9 写数据指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 1 写 数 据3.6.7 读数据指令见表10表10 读数据指令15 / 28R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 1 读 显 示 数 据读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读、写操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。本节主要是介绍液晶显示控制器KS0108的特点、外部部分引脚功能、时序、显示RAM地址结构及指令集,为单片机液晶显示系统设计打下基础。4 图形动态显示4.1 图形点阵式液晶显示控制原理C8051F020实验板中使用的是置液晶显示模块CGM12864B的液晶屏。CGM12864B部没有振荡器电路,它必须由外部提供一个时序发生器作为振荡源方可工作,它由两片带有64列驱动控制器KS0108和一片带有64行驱动控制器KS0107组合而成。另外还可以附加负压发生电路。显示是以一12864 个点的液晶屏显示。图形液晶显示模块KS0108将显示区分为左右半屏,整个屏从上到下64 行分为8 页,每页8 行,页地址围为:B8HBFH。列地址围为:40H7FH。数据为纵向读写,即每页的第一行对应D0 第八行对应D7。左、右半屏由CS1、CS2选择。控制器KS0108 的指令相对简单,总共七条指令:显示开关设定3EH/ 3FH,显示起始行设定C0H /FFH,页地址设定B8H/ BFH,列地址设定40H/ 7FH状态读取,写数据,读数据。12864 点阵式液晶模块的逻辑图见图 4.14图4.1 液晶模块逻辑图16 / 284.2 液晶显示模块外部接口外部接口信号见表 11表 11 外部接口信号管脚号管脚名称LEVER管脚功能描述1Vss0电源地2Vdd+0.5V电源电压3V0液晶显示器驱动电压4D/IH/LD/I=H,表示 DB7DB0 为显示数据D/I=L,表示 DB7DB0 为显示指令数据5R/WH/LR/W=H,E=H数据被读到 DB0DB7R/W=H,E=HL数据被写到 IR 或 DR6EH/LR/W=L,E 信号下降沿锁存 DB7DB0R/W=H,E=HDDRAM 数据读到 DB7DB07DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/LH:选择芯片右半屏信号16CS2H/LH:选择芯片左半屏信号17RSTH/L复位信号,低电平复位18Vee-10VLCD 驱动负电压19LED-LED 背光板电源20LED+-LED 背光板电源12864A接口定义及其与C8051F020的接口电路图见图4.217 / 28图4.2 接口电路KS0108采用8位数据传送,间接控制方式。所谓间接控制方式就是通过单片机的并行接口与液晶显示模块直接连接,单片机通过对这些接口的操作,实现对液晶显示模块的控制,完成相应的显示,可以显示数字、字母、图形符号及自定义符号。使用LCD做数据显示,一旦数据写入LCD,数据就会一直显示在液晶屏上,不必像数码管显示那样要定时扫描才能将数据显示,其显示效果远远超过数码管显示。4.3 图形点阵液晶显示编码规则4.3.1 汉字编码规则一般地,常用点阵液晶显示模块的汉字字模是直接从中文系统汉字字库中提取的,然后经过格式上的调整和转换,可以得到欲显示的汉字字模。在毕业设计中,我用的汉字不是从字库中提取字模,而是采用了一个字模软件来取模将图形点阵转换为计算机部显示缓冲单元的数据 。字模软件的界面见图 4.3。18 / 28图 4.3 字模软件界面图这个字模软件使用起来相当简单和方便。LCD 显示模块显示中文字符串中,显示汉字1616 点阵必须使用图形方式。在使用 KS0108 图形方式时,显示缓冲区单元与显示屏的对应关系见图 4.4 所示。图 4.4 显示缓冲区单元与显示屏的关系5图 4.4 所示的显示格式与我们的习惯正好相反,如想在显示屏上显示 10010110,则须向 RAM 中写入 01101001。这适应人们的习惯,在字模软件取模时设置字节倒序,字模软件在取模的参数设置见图 4.5 所示。1616 汉字共有 32 个字节。这 32 字节存放方式见表 11 所示:表 11 32 字节存放方式117218 163219 / 28图 4.5 取模参数设置在取模时,须设置取模参数如图 4.5 所示:纵向取模、字节倒序。在对字符取模时,可以根据个人需要设置不同字体和字号。不同字体和字号,取模之后得到的对应字阵的宽和高不同,但建议最好用 1616 字阵,这是为了在显示过程中便于控制写数据。例如:取模得到湖字的编码为:/*- 文字: 湖 -*/*- 宋体 12; 此字体下对应的点阵为:宽 x 高=16x16 -*/0 x10,0 x21,0 x86,0 x60,0 x90,0 x90,0 xFF,0 x90,0 x90,0 x00,0 xFE,0 x92,0 x92,0 xFE,0 x00,0 x00,0 x04,0 xFC,0 x03,0 x00,0 x1F,0 x10,0 x10,0 x90,0 x5F,0 x30,0 x0F,0 x40,0 x80,0 x7F,0 x00,0 x00在一个字符显示过程中,扫描方式是按列扫描。4.3.2 图形编码规则图形与字符的编码规则一样。但在图形取模时,要位图文件的扩展名为 BMP,其它类型图形无法取模。位图的大小为 128*64,不能超出这个围。例如下图图 4.6取模后所得编码在附录:程序代码里 KS0108.C 部分 char code sreen3中已列出。图 4.6 位图图形转换为机字模之后,跟字符显示原理一样。在图形的上下滚动上,是将显示起始行地址在显示完本屏之后增加 1;在图形的左右移动上,相对而言要复杂得多:起始行地址不变,但由于液晶屏的列是由两块 KS0108 分左、右屏控制的,必须注意左、右屏的分开控制:当在起始列在左半屏时,先从左半屏的起始列写数据,写到左半屏的第 6420 / 28列,然后从左半屏的第一列开始写数据直到左半屏的第 64 列;当起始列在右半屏时,左半屏不需要驱动,直接从起始列中减去 64 而得到对应右半屏的第多少列,然后从右半屏的第多少列驱动。4.4 程序流程程序流程见图4.7和图4.8初始化时钟初始化定时器 0初始化 IO 口初始化 SPIO使能比较器 1使能片内参考电压使能 DAC0开中断调用显示子程序开始结束图4.7 主程序流程图实现位图左右移动静态显示文字实现位图上下滚动静态显示位图字符从右向左移动字符从上到下移动开始图4.8 LCD测试流程图21 / 284.5 功能实现LCD 初始化:void InitLCD/初始化 LCDchar i,j;LCD_RST=0;Delay1ms;LCD_RST=1;LCD_WriteCommand1;LCD_WriteCommand2;LCD_WriteCommand1; /开显示LCD_WriteCommand2;for j=0;j /清屏LCD_WriteCommand1; /清左半屏LCD_WriteCommand1;for i=0;iLCD_WriteData1;LCD_WriteCommand2; /清右半屏LCD_WriteCommand2;for i=0;iLCD_WriteData2;单个汉字显示:void LCD_Write_A_HZ /显示 16*16 点阵汉字char i;for i=0;iif LCD_WriteCommand1;LCD_WriteCommand1;LCD_WriteData1;else22 / 28LCD_WriteCommand2;LCD_WriteCommand2;LCD_WriteData2;静态显示一幅位图:void DispBmp /显示一幅位图int i,j;for j=0;j /显示位图LCD_WriteCommand1; LCD_WriteCommand1;for i=0;iLCD_WriteData1buf*64+i; LCD_WriteCommand2;LCD_WriteCommand2;for i=0;iLCD_WriteData2buf*64+i;位图上下滚动实现:Void DispBmp_Rollchar *Buffer; int i; Buffer=buf; DispBmp;for i=0;iDelay1ms; LCD_WriteCommand1;/设置起始行,实现向上滚动LCD_WriteCommand2; 位图从左到右移动实现:void DispBmp_Move /左右移动一幅位图23 / 28 int line,line0,row,eight; /显示位图for row=0;rowDelay1ms; for eight=0;eight if row LCD_WriteCommand1; LCD_WriteCommand1;for line=0;line+row LCD_WriteData1buf*64+line; LCD_WriteCommand2;LCD_WriteCommand2; for line0=0;line0+rowLCD_WriteData2buf*64+line+line0; else LCD_WriteCommand2; LCD_WriteCommand2;for line0=0;line0+row-64 LCD_WriteData2buf*64+line0; 关于汉字的上下、左右移动较简单,请参照附录:程序代码。5 系统实验仿真我们在许多地方可以看到 LCD 显示屏的应用。例如空调,车广告,可视,显示仪表盘等等,它们都是一个小型的单片机控制液晶显示系统。在日常生活中,我们也可以看到一些类似的由单片机控制的显示系统,如火车站售票大厅的候车信息显示屏,在这些屏幕上,可以显示各种不同的图形、汉字等,并且可以实现上下滚屏与左右移动等。24 / 285.1 平台及操作平台准备:在确认连线已接好时,将拨码开关 S1 和 S2 置于 ON 位置操作流程:建立一个新的项目文件,将程序加到这个项目文件中,编译连接后,将程序下载到 C8051F020 中。打开 RAM 观察窗口,运行程序。运行程序时,可单步执行或在送数指令后加断点观察 RAM 存储单元的变化,观察加法结果是否正确。5.2 仿真及结果在 C8051F020 系统实验箱上的液晶显示屏上,我实现了这些动态显示功能,特设计了以下几个显示场景:场景一:第一个场景是在液晶显示屏上静态显示位图,如图 5.1 所示:图 5.1 位图上下滚动在这个场景中,是对位图 128*64 的模仿上下滚动。场景二:第二个场景显示的容较少,只有几个字理工学院计算机与信息工程系单片机液晶显示系统设计-图形动态显示研究,是静态的显示效果如图 5.2 所示:号 图 5.2 汉字场景三第三个场景是图形动态显示模拟,它们是从左向右推出的,一直移动到显示屏最右端。具体如图 5.3 所示:图 5.3 位图右移4场景四第四个场景是静态显示一幅位图如图 5.425 / 28图 5.4 位图显示场景五这个场景是实现对字符的动态显示如图 5.5。我用的是与湘这三个汉字来模仿的。让两个字纵向排列,从右向左移动;湘字从上下落到液晶屏的底部。在这些场景中,液晶显示屏上显示的汉字,我是把它当作图形来显示的,汉字和图形的字模我是借助字模软件取模的,并没有自己去设计汉字和图形的字模。当然这样做省了不少的事,就我个人来看,把大量的时间分配在接口的编程上和如何利用 C 语言实现接口是更有价值的。图 5.5 字符串移动由于这种型号液晶屏的观察角度不同,一般采用成 45 度的角度来观察为最好,直视比较黑而且图像不明显,所以在系统仿真实验中,我没有取到最佳图形。总 结液晶显示器LCD具有图形显示功耗低、体积小、质量轻、超薄等诸多其它显示器无法比拟的优点,被广泛用于智能型仪器和低功耗电子产品中。图形点阵式 LCD 不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚动、动画、闪烁、文本特征显示等功能,用途十分广泛。本文介绍采用新华龙分司的置两片 KS0108 驱动控制器的点阵型液晶显示模块 CMG12864B 与 C8051F020 接口的性能26 / 28特点、硬件电路接口时序和接口软件编程思路及其接口调试。DSP数字信号处理系统液晶模块的使用,在硬件方面,关键要满足液晶的接口时序:在软件方面,要正确进行初始化。这样就可以随心所欲显示信息了。参考文献1朝青.单片机原理及接口技术M.:航空航天大学出版朝青.单片机原理及接口技术M.:航空航天大学,1999.3:11-67.2 吴金戌.8051 单片机实践与应用M. :清华大学,2001.9:266-293.3 秉操.单片机接口技术及其在工业控制中的应用M.:电子编辑部,1991.3:314-336.4 薛栋梁.MCS-51/151/251 单片机原理与应用M.:中国水利水电,2001.6:177-202.5 新华龙.C8051F020 单片机实验系统使用说明书.6 乐善.微型计算机接口技术及应用M.:华中科技大学,2000.4:167-177.7 应自炉.一种 8031 单片机控制的液晶汉字显示系统.五邑大学学报自然科学版,1995 第 9 卷.第 3 期.8 童长飞编著.C8051F 系列单片机开发与 C 语言编程M.:航空航天大学,2005:428-444.9 琢金, 施国君编著. C8051F高速 Soc 单片机原理及应用M.:航空航天大学,2005.11M.Morris Mano,Charles R.Kime.Logic and Computer Design Fundamentals 27 / 28Second Edition Updated.:电子工业.2002.7:391-396.12 维,郭强编著.液晶显示应用技术M.:电子工业,1999.10:54-139.13 马忠梅,籍顺心等编著.单片机的 C 语言应用程序设计第 3 版M.:航空航天大学,2003.11.致 首先,我要感我的导师*副教授。我的论文自始至终都是在*的关心和指导下完成的。从进入实验室起,*一直以他渊博的知识指导我的学习。同时,*严谨的研究作风,谦虚的工作态度也深深地感染了我,让我在毕设的路上始终能够健康成长。在此,我对*对我的培养、教育、关心和爱护表示我深深的意。 同时,我要感同实验室的同学,他们和我互相帮助,共克难关,进行了许多有益的学术探讨,给我提供

    注意事项

    本文(基于单片机的LCD液晶显示器控制原理系统设计说明.doc)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开