点阵液晶显示实验报告

  • 格式:doc
  • 大小:431.24 KB
  • 文档页数:27

单片机实验 课程名称:点阵液晶汉字显示实验 授课班级:10自动化三班 任课教师:*** 计划学时:32学时 实验组员:张腾耀 梁钦 赵福亮 秦菱蔚 郑欢 王聪慧 第 2 页 共 27 页

摘 要 本文介绍了PROTEUS与Keil联调开发51系列单片机应用系统的方法以及基于PROTEUS环境下的12864液晶显示的仿真设计。将Keil C开发的程序用Proteus设计的仿真电路中交互运行调试的方法,设计12864的液晶显示汉字图像。在基于PROTEUS环境下的12864液晶显示的仿真设计中,使用51芯片控制,然后显示在12864显示屏上,最多可显示4行每行8个汉字,并且可以通过按键随时改变12864显示屏上的内容。通过Proteus环境下的温度报警器的仿真实验证明,在PROTEUS环境下可以完成单片机系统的硬件设计和软件调试,测试系统的性能,在实际应用中可以降低设计成本,缩短开发周期,提高效率。

关键词:Proteus;仿真;单片机;12864 第 3 页 共 27 页

目录 第一章 绪论 1.1实验任务和要求……………………………………………………………..1 1.2 基于Proteus的12864显示的研究……………………………………….1 . 1.3 实验方案及原理…………………………………………………………..1 第二章 点阵液晶汉字显示的硬件部分 2.1程序流程图………………………………………………………………….2 2.2硬件电路图……………………………………………………………. 2.3芯片12864的简介……………………………………………………… 第三章 点阵液晶汉字显示的软件部分 3.1 Keil简介……………………………………………………………………. 3.2 Proteus简介………………………………………………………………. 3.3 Proteus与Keil软件联合仿真的建立……………………………………. 第四章 结论 4.1实验总结……………………………………………………………………. 附录1:点阵液晶汉字显示的源程序 第 4 页 共 27 页

第一章 绪论 1.1 实验任务和要求 用LCD128x64点阵液晶显示器显示指定汉字,最多可以显示4行、8个/行汉字,通过键盘可以随时改变显示的内容。准备汉字字库不少于50个汉字。

1.2 基于Proteus的12864显示的研究 Proteus是基于SPICE3F5仿真引擎的混合电路仿真软件,不仅能够仿真模拟、数字电路以及模数混合电路,更具特色的是PROTEUS能够仿真基于单片机的电子系统。PROTEUS不但完全支持MCS-51及其派生系列单片机的设计系统,另外也能仿真基于AVR和PIC系列的单片机系统。PROTEUS软件可提供的模拟和数字、交流和直流等元器件库多达30多个,共计数千种元器件。此外,对于元件库中没有的器件,使用者也可依照需要自己创 建。在软件调试方面,PROTEUS自身只带汇编编译器,不支持C语言,但可以与Keil C51集成开发环境连接,将用汇编和C语言编写的程序编译好之后,可以立即进行软、硬件结合的系统仿真,像使用仿真器一样来调试程序[1]。 我们使用Proteus软件从元器件的选取到连线直至电路的调试、分析和软件的编译都是在计算机中完成,即所有的工作先在虚拟环境中进行。因此,在原理图的设计阶段就可以对设计进行评估,验证所设计电路是否达到设计要求的技术指标,还可以通过改变元器件参数使整个电路性能达到最优化,以节省设计时间与经费,提高设计效率与质量。

1.3 实验方案及原理 12864点阵液晶显示模块由128*64个液晶显示点组成的一个128列*64行的阵列。每个显示点对应一位二进制数,1表示亮,0表示灭。要显示某个图形或汉字将相应的点阵信息写入到相应的存储单元中,并处理好显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。我们使用的液晶显示模块由两片列驱动器构成,也就是说12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择,如选择做半屏,则选择01,右半屏则选择10.每一屏又分为4页,每页4列。显示汉字则只需写出相应的地址然后查表即可显示出。 第 5 页 共 27 页

第二章 点阵液晶汉字显示的硬件部分 2.1程序流程图

2.2硬件电路图 开始 初始化 延时 开左半屏 显示左半屏上部分显示左半屏下部分开右半屏 显示右半屏上部分显示右半屏下部分有键按下 除抖动 确认按键 读入按键内容,屏蔽其他按键

设置按键和数量

初始化

返回 第 6 页 共 27 页 2.3芯片12864的简介 12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵

液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。 管脚号 管脚名称 LEVER 管脚功能描述 1 VSS 0 电源地 2 VDD +5.0V 电源电压 3 V0 - 液晶显示器驱动电压 4 D/I(RS) H/L D/I=“H”,表示DB7∽DB0为显示数据 D/I=“L”,表示DB7∽DB0为显示指令数据 5 R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0 R/W=“L”,E=“H→L”数据被写到IR或DR 第 7 页 共 27 页

6 E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0 R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 7 DB0 H/L 数据线 8 DB1 H/L 数据线 9 DB2 H/L 数据线 10 DB3 H/L 数据线 11 DB4 H/L 数据线 12 DB5 H/L 数据线 13 DB6 H/L 数据线 14 DB7 H/L 数据线 15 CS1 H/L H:选择芯片(右半屏)信号 16 CS2 H/L H:选择芯片(左半屏)信号 17 RET H/L 复位信号,低电平复位 18 VOUT -10V LCD驱动负电压 19 LED+ - LED背光板电源 20 LED- - LED背光板电源 表1:12864LCD的引脚说明 在使用12864LCD前先必须了解以下功能器件才能进行编 1. 指令寄存器(IR) IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E信号下降沿的作用下,指令码写入IR。 2.数据寄存器(DR) DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。 3.忙标志:BF BF标志提供内部工作情况。BF=1表示模块在内部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。 利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。 4.显示控制触发器DFF 第 8 页 共 27 页

此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY OFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。 DDF的状态是指令DISPLAY ON/OFF和RST信号控制的。 5.XY地址计数器 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表示显示非选择。DDRAM与地址和显示位置的关系见DDRAM地址表。 7.Z地址计数器 Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。 Z地址计数器可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。

第 9 页 共 27 页

第三章 点阵液晶汉字显示的软件部分 3.1 Keil简介 Keil[11]是由美国Keil Software公司出品的单片机开发工具,它是目前最流行的单

片机开发工具之一,该软件平台主要包括:C51交叉编译器、A51宏汇编器、BL51连接/重定位器、LIB51库管理器、OH51 Intel HEX格式文件转换器、RTX-51实时操作系统以单片机软件仿真Dscope 51,它将项目管理、源代码编译、程序调试等集成到一个功能强大的Windows 32平台中,支持51汇编、PLM和C语言的混合编程,功能强大、界面友好、易学易用。Proteus是由英国Labcenter公司开发的EDA工具软件,它同其他EDA工具软件一样,能进行原理图编辑、PCB自动及手动布线和电路仿真,而它的特点就在于其强大的仿真功能,不仅可以仿真模拟、数字电路,还可以仿真可编程器件,如单片机、PLD等 使用独立的Keil仿真器时,注意事项 : 1.仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 2.仿真器上的复位按钮只复位仿真芯片,不复位目标系统。

3.仿真芯片的31脚(EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的EA引脚接至低电平)的目标系统中使用。 Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

3.2 Proteus简介 Proteus[6]软件是来自英国Labcenter electronics公司的EDA工具软件,是一个电

子设计的教学平台、实验平台和创新平台,涵盖了电工电子实验室、电子技术实验室、单片机应用实验室等的全部功能。它是一种组合了高级原理布图、混合模式SPICE仿真、PCB设计以及自动布线进行完整的电子设计的软件。采用Proteus仿真软件进行虚拟单片机实验,可以仿真单片机及其外围器件电路,可用来仿真51系列、AVR、PIC等常用的MCU及其外围电路,具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可以自行实验、实验过程