收藏 分享(赏)

汉字液晶显示屏应用与实践.doc

上传人:wo7103235 文档编号:6146115 上传时间:2019-03-30 格式:DOC 页数:46 大小:2.17MB
下载 相关 举报
汉字液晶显示屏应用与实践.doc_第1页
第1页 / 共46页
汉字液晶显示屏应用与实践.doc_第2页
第2页 / 共46页
汉字液晶显示屏应用与实践.doc_第3页
第3页 / 共46页
汉字液晶显示屏应用与实践.doc_第4页
第4页 / 共46页
汉字液晶显示屏应用与实践.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、第 1 页 共 45 页汉字液晶显示屏应用与实践摘要本文介绍了基于 51 单片机的 LCD 液晶显示系统的设计,该系统用来完成对简易信号发生器信号输出状态的提示。硬件系统由单片机最小系统和液晶显示系统组成;液晶显示系统由主控模块 ST7920 和 LCD 液晶显示模块接口电路组成。介绍了常用的字符显示和汉字显示方法及程序。实现了对信号发生器发出直流、方波、正弦波和三角波不同频率以及幅值的 52 种组合的实时判断和显示。关键词:液晶显示器,AT89C51,ST7920 第 2 页 共 45 页Chinese LCD application and practiceAbstractArticle

2、51 SCM is introduced based on the LCD display system design, this system is used to perform simple signal output signal generator for the state. Hardware system by single-chip microcomputer system and minimum liquid crystal display (LCD) system, LCD display system control module by ST7920 LCD LCD mo

3、dule and interface circuit. This paper introduces some common characters and Chinese displaying methods and procedures. To realize the dc signal generator, a square, sine wave with different frequencies and the triangle and the amplitude of the combination of 52 and real-time display.Keywords: LCD,

4、AT89C51, ST79201 绪论1.1 系统背景液晶显示器件在中国已有二十余年的发展历史。二十余年来,液晶显示器件从实验室走向大规模生产集团,形成了独立的产业部门。现在,液晶显示几乎已经应用于生产,生活的各个领域,人们几乎时时处处都要与这一神奇而又普通的面孔打交道。液晶显示是集单片机技术、微电子技术、信息处理于一体的新型显示方式。由于液晶显示器具有低压低功耗,显示信息量大易于彩色化,无电磁辐射,长寿命,无污染等特点。LCD 是目前显示产业中发展速度最快,市场应用最广的显示器件,成为众多显示媒体中的佼佼者,在越来越多的领域中发挥作用,是目前显示器件中一个理想的选择。 LCD 在监控系统中的

5、应用:目前大多数监控系统自带的显示系统为 LED 数码管显示,这样显示效果比较单一,只能显示监控系统的测量值。而 LCD 液晶显示器不仅可以显示数值、汉字等,并且可以显示文本和图形。利用 LCD 和键盘实现人机交互,使监控系统独立工作成为可能。通过监控系统对现场的单回路控制器进行参数设置,对各个单回路控制器的工作进行监控。LCD 在时钟中的应用:在日常生活中我们会经常看到时间的显示,这些显示第 3 页 共 45 页大都是采用液晶显示器来显示的,而对其中的汉字无法用显示来解决。我们利用 LCD 液晶模块制成的小屏幕实现了时间的显示,显示格式为“时时:分分:秒秒” 。另外,可以增加闹钟功能,时间到

6、了则产生音乐声;还可以增加万年历显示“年月日”等多项功能。LCD 在大屏幕显示中的应用:大屏幕显示的应用范围极广,随着社会发展,公众生活的加强,人们对能够面向广大公众传递信息的显示装置越来越感到必需。使用液晶投影显示大屏幕,不仅有投影仪,指挥用大屏幕,还有液晶投影彩色电视。它可以用一个体积很小的系统装置,实现 100 英寸以上的非常漂亮的大屏幕电视显示。它与传统的显示媒体相比,具有分辨率极高,透过性好,显示内容丰富,彩色易于控制等优点。随着计算机技术及电子通信技术的发展,LCD 显示屏作为一种新的传媒工具,现已经应用到商业、军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业,

7、大到几十平方米的大屏幕,小到家庭影院用的图文显示屏,以及政府部门应用的电子黑板,证券、银行等部门用的信息数字混合屏。LCD 显示屏带来广泛的社会效益和经济效益,具有良好的发展前景。1.2 系统概述本系统的应用是针对一种基于 FPGA 的信号发生器而设计的液晶显示控制系统,分为单片机最小系统板和液晶显示屏两部分。单片机最小系统负责对输入信号的判断,从而控制液晶模块显示相应的汉字。液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其它显示器无法比拟的优点,近几年来被广泛用于单片机控制的智能仪器、仪表和低功 耗电子产品中。LCD 可分为段位式 LCD、字符式 LCD 和点阵式 LCD。其中,

8、段位式 LCD 和字符式 LCD 只能用于字符和数字的简单显示,不能满足图形曲 线和汉字显示的要求 ;而点阵式 LCD 不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚动,动画功能,分区开窗口,反 转,闪烁等功能,用途十分广泛。本文介绍了点阵式液晶显示器 12864A-1 与单片机的接口及编程的方法,同时介绍了创建字符和点阵汉字的方法,及常用的字符显示和汉字显示程序。单片机可以通过数据总线与控制信号直接采用存储器访问形式、I/O 设备访问形式控制该液晶显示模块。第 4 页 共 45 页基于 FPGA 的信号发生器根据产生信号的不同输出不同的几组信号输出给单片机

9、,单片机用 7 个 I/O 口来控制显示,其中两个 I/O 口选择波形类型,包括直流、方波、正弦波和三角波;两个 I/O 口选择频率类型,包括10Hz、50Hz、100Hz 和 500Hz;两个 I/O 口选择幅值类型,包括 1V、2V、3V 和5V;剩下的一个 I/O 口选择显示类型包括开机显示和正文显示。上下系统连接如图 1.1 所示;信号发生器波形分类如表 1.1 所示。波形选择开关初值时钟分频直流量方波正弦波三角波波形控制信号数模转换电路频率选择开关幅值选择开关F P G A单片机液晶输出图 1.1 系统之间连接图表 1.1 波形分类说明表波形开关 频率开关 幅值开关 情况0 0 0

10、0 0 0幅值为 1V 的 10HZ 直流电平0 0 0 0 0 1幅值为 2V 的 10HZ 直流电平0 0 0 0 1 0 幅值为 3V 的 10HZ 直流电第 5 页 共 45 页平0 0 0 0 1 1幅值为 5V 的 10HZ 直流电平0 1 0 0 0 0 幅值为 1V 的 10HZ 方波0 1 0 0 0 1 幅值为 2V 的 10HZ 方波0 1 0 0 1 0 幅值为 3V 的 10HZ 方波0 1 0 0 1 1 幅值为 5V 的 10HZ 方波0 1 0 1 0 0 幅值为 1V 的 50HZ 方波0 1 0 1 0 1 幅值为 2V 的 50HZ 方波0 1 0 1 1

11、 0 幅值为 3V 的 50HZ 方波0 1 0 1 1 1 幅值为 5V 的 50HZ 方波0 1 1 0 0 0 幅值为 1V 的 100HZ 方波0 1 1 0 0 1 幅值为 2V 的 100HZ 方波0 1 1 0 1 0 幅值为 3V 的 100HZ 方波0 1 1 0 1 1 幅值为 5V 的 100HZ 方波0 1 1 1 0 0 幅值为 1V 的 500HZ 方波0 1 1 1 0 1 幅值为 2V 的 500HZ 方波0 1 1 1 1 0 幅值为 3V 的 500HZ 方波0 1 1 1 1 1 幅值为 5V 的 500HZ 方波1 0 0 0 0 0 幅值为 1V 的

12、10HZ 正弦波1 0 0 0 0 1 幅值为 2V 的 10HZ 正弦波1 0 0 0 1 0 幅值为 3V 的 10HZ 正弦波1 0 0 0 1 1 幅值为 5V 的 10HZ 正弦波第 6 页 共 45 页1 0 0 1 0 0 幅值为 1V 的 50HZ 正弦波1 0 0 1 0 1 幅值为 2V 的 50HZ 正弦波1 0 0 1 1 0 幅值为 3V 的 50HZ 正弦波1 0 0 1 1 1 幅值为 5V 的 50HZ 正弦波1 0 1 0 0 0 幅值为 1V 的 100HZ 正弦波1 0 1 0 0 1 幅值为 2V 的 100HZ 正弦波1 0 1 0 1 0 幅值为 3

13、V 的 100HZ 正弦波1 0 1 0 1 1 幅值为 5V 的 100HZ 正弦波1 0 1 1 0 0 幅值为 1V 的 500HZ 正弦波1 0 1 1 0 1 幅值为 2V 的 500HZ 正弦波1 0 1 1 1 0 幅值为 3V 的 500HZ 正弦波1 0 1 1 1 1 幅值为 5V 的 500HZ 正弦波1 1 0 0 0 0 幅值为 1V 的 10HZ 三角波1 1 0 0 0 1 幅值为 2V 的 10HZ 三角波1 1 0 0 1 0 幅值为 3V 的 10HZ 三角波1 1 0 0 1 1 幅值为 5V 的 10HZ 三角波1 1 0 1 0 0 幅值为 1V 的

14、50HZ 三角波1 1 0 1 0 1 幅值为 2V 的 50HZ 三角波1 1 0 1 1 0 幅值为 3V 的 50HZ 三角波1 1 0 1 1 1 幅值为 5V 的 50HZ 三角波1 1 1 0 0 0 幅值为 1V 的 100HZ 三角波1 1 1 0 0 1 幅值为 2V 的 100HZ 三角波1 1 1 0 1 0 幅值为 3V 的 100HZ 三角波第 7 页 共 45 页1 1 1 0 1 1 幅值为 5V 的 100HZ 三角波1 1 1 1 0 0 幅值为 1V 的 500HZ 三角波1 1 1 1 0 1 幅值为 2V 的 500HZ 三角波1 1 1 1 1 0 幅

15、值为 3V 的 500HZ 三角波1 1 1 1 1 1 幅值为 5V 的 500HZ 三角波2 液晶显示模块介绍2.1 液晶显示模块概述12864A-1 汉字图形点阵液晶显示模块,采用 ST7920 控制驱动器 123,可显示汉字及图形,内置 8192 个中文汉字(16X16 点阵) 、128 个字符(8X16 点阵)及 64X256 点阵显示 RAM(GDRAM) 。主要技术参数和显示特性:电源:VDD 3.3V+5V(内置升压电路,无需负压);显示内容:128 列 64 行显示颜色:黄绿显示角度:6:00 钟直视LCD 类型:STN与 MCU 接口:8 位或 4 位并行/3 位串行配置

16、LED 背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等2.2 模块引脚说明 表 2.1 128X64 引脚说明表 456引脚号引脚名称 方向 功能说明1 VSS - 模块的电源地第 8 页 共 45 页2 VDD - 模块的电源正端3 V0 - LCD 驱动电压输入端4 RS(CS) H/L 并行的指令/数据选择信号;串行的片选信号5 R/W(SID) H/L 并行的读写选择信号;串行的数据口6 E(CLK) H/L 并行的使能信号;串行的同步时钟7 DB0 H/L 数据 08 DB1 H/L 数据 19 DB2 H/L 数据 210 DB3 H/L 数据 311 DB4 H/L

17、 数据 412 DB5 H/L 数据 513 DB6 H/L 数据 614 DB7 H/L 数据 715 PSB H/L 并/串行接口选择:H-并行;L-串行16 NC 空脚17 /RET H/L 复位 低电平有效18 NC 空脚19 LED_A - 背光源正极(LED+5V)20 LED_K - 背光源负极(LED-OV)逻辑工作电压(VDD):4.55.5V电源地(GND):0V工作温度(Ta):060(常温) / -2075(宽温)第 9 页 共 45 页2.3 接口时序模块有并行和串行两种连接方法 7(时序如下):8 位并行连接时序图MPU 写资料到模块图 2.1 MPU 写资料到模块

18、时序图MPU 从模块读出资料图 2.2 MPU 从模块读出资料时序图2.4 用户指令集表 2.2 指令表(RE=0:基本指令集)指令指令码 说明第 10 页 共 45 页RSRWDB7DB6DB5DB4DB3DB2DB1DB0清除显示0 0 0 0 0 0 0 0 0 1将 DDRAM 填满“20H”,并且设定 DDRAM 的地址计数器(AC)到“00H”地址归位0 0 0 0 0 0 0 0 1 X设定 DDRAM 的地址计数器(AC)到“00H” ,并且将游标移到开头原点位置;这个指令并不改变DDRAM 的内容进入点设定0 0 0 0 0 0 0 1I/DS指定在资料的读取与写入时,设定游

19、标移动方向及指定显示的移位显示状态开/关0 0 0 0 0 0 1 D C BD=1:整体显示 ONC=1:游标 ONB=1:游标位置 ON第 11 页 共 45 页游标或显示移位控制0 0 0 0 0 1S/CR/LX X设定游标的移动与显示的移位控制位元;这个指令并不改变 DDRAM的内容功能设定0 0 0 0 1DLX0REX XDL=1 (必须设为 1)RE=1: 扩充指令集动作RE=0: 基本指令集动作设定CGRAM地址0 0 0 1AC5AC4AC3AC2AC1AC0设定 CGRAM 地址到地址计数器(AC)设定DD0 0 1AC6AC5AC4AC3AC2AC1AC0设定 DDRA

20、M 地址到地址计数器(AC)第 12 页 共 45 页RAM地址读取忙碌标志(BF)和地址0 1BFAC6AC5AC4AC3AC2AC1AC0读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写资料到RAM1 0D7D6D5D4D3D2D1D0写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)读出R1 1D7D6D5D4D3D2D1D0从内部 RAM 读取资料(DDRAM/CGRAM/I第 13 页 共 45 页AM的值RAM/GDRAM)2.5 ST7920 寄存器读写状态表 2.3 ST7920 寄存器读写状态表R S R W功能说明0 0

21、0 11 01 1M C U 写指令到指令寄存器 ( I R )读出忙标志及地址计数器的状态M P U 写指令到数据 ( D R ) 寄存器M P U 从数据寄存器 ( D R ) 读出指令2.6 汉字显示坐标关系表 2.4 汉字显示坐标关系表X 坐标Line1 80H 81H 82H 83H 84H 85H 86H 87HLine2 90H 91H 92H 93H 94H 95H 96H 97HLine3 88H 89H 8AH 8BH 8CH 8DH 8EH 8FHLine4 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH第 14 页 共 45 页3 系统硬件设计3.1 系

22、统结构框图系统结构框图如图 3.1 所示。信号A T 8 9 C 5 1液晶屏电源复位电路复位电路图 3.1 系统结构框图单片机通过自身的 I/O 接口判断所接受的信息,然后确定这种信息所产生的信号,最终在 LCD 显示器上用汉字表达出这种信号。系统总体电路如图 3.2 所示。图 3.2 系统总体电路图第 15 页 共 45 页3.2 元器件的选择3.2.1 单片机的选择AT89C51是一种带4KB闪烁可编程可擦除只读存储器(Flash Programmable and Erasable Read Only Memory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机 8。该

23、器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容 910功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1000次写擦循环,数据保留时间为10年 11。它是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT 89C51芯片。其双列直插式的引脚 12配置如图3.3所示。图 3.3 AT89C51 芯片双列直插式的引脚配置3.2.2 隔离芯片的选择TLP521是可控制的光电耦合器件,广泛用于各种电路之间的信号传输,从而使之前端与负载完全隔离,目的在于增加安全性,减小电路干扰。其中第

24、 16 页 共 45 页TLP521-2内部结构如图3.4所示。图 3.4 TLP521-2 内部结构图3.3 电源滤波电路设计图 3.5 电源电路图(J1 是电源输入接口,为整个系统提供电源,C1,C2 为滤波电容,L1 为电源指示灯。 )3.4 振荡复位电路单片机复位的原理是,在时钟电路开始工作后,在单片机的 RST 引脚施加24 个时钟振荡脉冲(即两个机器周期)以上的高电平,单片机便可以实现复位。在复位期间,单片机的 ALE 引脚和 PSEN 引脚均输出高电平。当 RST 引脚从高电平跳变为低电平后,单片机便从 0000H 单元开始执行程序。第 17 页 共 45 页在实际应用中,采用外

25、部复位电路来进行单片机复位,一般在 RST 引脚保持 10ms 以上的高电平,保证单片机能够可靠地复位。单片机的复位电路可以有上电复位、手动上电复位、看门狗复位,以及一些复杂的复位电路。本系统选用手动上电复位电路,如图 3.6 所示。图 3.6 复位电路AT89C51 和其他系列单片机一样,其内部包含一个高增益的单级反相放大器,引脚 XTAL1 和 XTAL2 分别为片内反相放大器的输入端口和输出端口,其工作频率为 0-33MHz。当单片机工作于内部时钟模式的时候,只需在 XTAL1 引脚和 XTAL2 引脚连接一个晶体振荡器或陶瓷振荡器,并接两个电容后接地即可,如图 3.7 所示。第 18

26、页 共 45 页图 3.7 振荡电路3.5 液晶显示电路提供了手动复位按键,V0 处加可调电阻是为了调整对比度,从而达到最佳显示效果 1213。图 3.8 液晶显示电路第 19 页 共 45 页4 系统软件设计4.1 软件开发环境Keil C51 是德国 Keil Software 公司推出的 51 系列兼容单片机 C 语言软件开发系统。Keil C51 的集成开发环境是 u Vision 系列,目前已经达到 u Vision3。u Vision3 是集成的可视化 Windows 操作界面,它提供丰富的库函数和各种编译工具,能够对 51 系列单片机以及与 51 系列兼容的绝大部分类型的单片机进

27、行设计。除了支持 C51 的语言外,它也可以直接进行汇编语言的设计与编译 141516。开发环境如图 4.1 所示:图 4.1 Keil C51 开发环境第 20 页 共 45 页4.2 主程序流程图初始化NY开始功能开 ?直流 ?方波 ?正弦波 ?1 V ?2 V ?3 V ?1 0 H z ?5 0 H z ?1 0 0 H z ?直流 1 V 1 0 H z三角波5 V 5 0 0 H z波形信号直流方波正弦波三角波d e f a u l t波形信号直流方波正弦波三角波d e f a u l t开机界面NNNNNNNNNYYYYYYNNNNNNNNYYYY图 4.2 主程序流程图这里只选

28、择两种信号为了流程图看得简洁。实际应用中有 52 种信号组合,第 21 页 共 45 页单片机根据对输入信号的判断,显示相应汉字。4.3 子程序流程图开始功能设定关显示游标右移清屏开显示结束图 4.3 初始化子程序流程图第 22 页 共 45 页开始设置状态使能有效将 P 1 口状态读入关闭时能信号屏幕是否忙 ?YN设置状态将数据送入P 1 口结束图 4.4 写指令、送数子程序图第 23 页 共 45 页5 实验及结果分析5.1 烧写软件介绍实验用的开发板支持并口烧写,即通过并口跟 PC 通信,将程序烧写到单片机,所可用的烧写软件界面如图 5.1 所示。图 5.1 烧写软件图5.2 实验结果实

29、验的时候,由于内存问题,选择了直流和方波两种的组合,一共有 20 种情况,即直流有 4 种,包括 4 种幅值 1 种频率;方波有 16 种,包括 4 种幅值和4 种频率;下面是实验过程中切换到的两种情况实图,如图 5.2 和 5.3 所示。第 24 页 共 45 页图 5.2 实验结果图图 5.3 实验结果图第 25 页 共 45 页6 系统可靠性分析与设计6.1 复位电路的可靠性系统采用的单片机的复位是靠外部电路实现的,在时钟电路工作后,只要在单片机的 RST 引脚上出现 24 个振荡脉冲(2 个机器周期)以上的高电平,单片机就实现初始化状态复位。为了保证系统可靠的复位,在设计复位电路时,要

30、使 RST 引脚保持 10ms 以上的高电平。6.2 时钟电路抗干扰时钟电路产生 CPU 的工作时序脉冲,是正常工作的关键。时钟信号被干扰后将导致 CPU 的工作时序发生紊乱,使得系统不能正常工作。时钟信号不仅是对噪声干扰最敏感的部位,同时也是单片机系统的主要噪声源 17。单片机的时钟信号为频率很高的方波,由与其频率相同的正弦基波和其倍频正弦波叠加而成。频率越高,越容易发射出去成为噪声源 18。此外,时钟频率越高,信息传输线上信息变换频率也越高,致使线间串扰、反射干扰以及公共阻抗干扰加剧19。因而,在满足系统功能的前提下,应尽量降低时钟频率,这对降低系统的电磁发射,提高系统的抗干扰性能极为有利

31、。单片机系统时钟电路的抗干扰设计主要有以下几点:(1)时钟脉冲电路尽量靠近 CPU,引线尽量短而粗。(2)用地线包围振荡电路,晶体外壳接地。(3)晶振电路电容性能稳定,容量准确且远离发热元件。(4)印刷电路板上大电流信号线、电源变压器远离晶振信号的连线。(5)对于外部时钟源电路,对其芯片电源采取滤波措施。(6)时钟电路为其他芯片提供时钟信号时,采用隔离和驱动措施。6.3 电源线和地线设计(1)电源线设计电源线宽度设定为 2mm,并使电源线走向与地线、数据信息传递方向一致,从而提高增强抗噪声的能力。(2)地线设计第 26 页 共 45 页加粗地线能降低导线电阻,使它能通过三倍于印制板上的允许电流

32、,实际设计中,地线宽度为 3mm。 接地线构成闭环路能明显地提高抗噪声能力。闭环形状能显著地缩短线路的环路,降低线路阻抗,从而减少干扰。6.4 指令冗余技术在单片机中,最容易受到干扰的内部程序计数器的值,即 PC 的值。在受到干扰时,PC 值会被改变,而且改变后的值是不确定的,这会使程序从正确的位置“跑飞“到程序存储器中的任何一个地方。对于多字节指令用比较多的代码段,很容易出现操作码与操作数混乱的情况,CPU 取指令过程是先取操作码,后取操作数。至于如何区别某个数据是操作码还是操作数,这完全由取指令的顺序决定。CPU 复位后,首先取指令的操作码,然后顺序取出操作数 2021。当一条完整指令执行

33、完后,紧接着取下条指令的操作码、操作数。这些操作时序完全由程序计数器 PC 控制。因此,一旦 PC 因干扰而出现错误,程序便脱离正常运行轨道,出现“跑飞“,出现操作数数值改变以及将操作数当作操作码的错误2223。当程序“跑飞“到某个单字节指令上时,便自动纳入正轨;当“跑飞“ 到某双字节指令上时,若恰恰在取指令时刻落到其操作数上,从而将操作数当作操作码,程序仍将出错;当程序“跑飞”到某个 3 字节指令上时,因为它们有两个操作数,误将其操作数当作操作码的出错机率更大。当 PC 值“跑飞“ 到用户工作程序 RoM 区内时,可采用指令冗余的方法使程序走上正轨。具体方法是:1、在一些多字节指令之后,加入

34、几条 NOP 指令,这可保证其后的指令不被拆散。因为“跑飞 的程序即使落到操作数上,由于几个空操作指令 NOP 的存在,不会将其后的指令当操作数执行,从而使程序纳入正轨;2、在一些对程序流向起决定性作用的指令,如 SMP、LJ、LCALL、CALL等之前插入几条 NOP 指令,保证“跑飞“ 的程序迅速纳入轨道,确保这些指令正确执行。3、在程序中每隔若干条指令,插入一条 NOP 指令;4、在某些对系统工作至关重要的指令,如中断、堆栈等之前插入几条 NOP 指令;第 27 页 共 45 页5、对程序流向起决定作用以及对系统工作状态起重要作用的指令,重复添加一至两遍这些指令,以确保程序流向以及系统工

35、作状态的正确性。由于单片机指令大多数为单字节指令,在一个程序中,其中段和堆栈指令使用的次数也很有限,因此,采用这种方法添加指令冗余并不会增加太多的存储单元。6.5 软件陷阱技术单片机系统程序“跑飞 意味着 CPU 执行了不正确流程程序,而当乱飞程序进入非程序区,采用指令冗余技术己无法使程序纳入正确轨道,此时可采用软件陷阱的方法,拦截“跑飞 ”的程序。软件陷阱就是用引导指令(如 LJMP)将捕获到的“跑飞“程序引向复位入口地址 0000H,在此对程序进行出错处理,使其纳入正轨。软件陷阱一般由三条指令构成:NOPNOPLJMP ERR其中:ERR 就是出错处理子程序的标号地址。需要设置软件陷阱的位

36、置有以下几处:(1)未使用的中断向量区当干扰信号使程序进入未使用的中断向量区并激活这些中断时,就会造成系统程序执行混乱;因此,需要在不用的中断向量处内设置陷阱,以便能够及时捕获中断的错误。(2)程序区在程序区内,一般不能在指令间任意安排软件陷阱,否则正常的工作程序将被中断,而进入陷阱;因此,陷阱要安排在指令的断点处后面。所谓断点处是指正常的执行程序到此就不会往下一条执行了,这一类指令有 UMP、Am 口、SJMP、I 冱 T、RETI 等。如果程序出错, PC 值发生跳转正好落在这类指令的操作数上,程序就会越过断点往下执行;在这种地方安排陷阱后,就能成功地捕获程序的 PC 值,而不影响正常的程

37、序执行。(3)未使用的程序存储空间第 28 页 共 45 页一般情况下,开发一个应用系统很少能将程序存储空间用完,对于剩余的程序存储空间,一般都维持原态(OFFH);而 OFFH 这个操作数对于 5l 系列单片机而言,是 MOVR7,A 指令。如果程序飞到这里是不会再往下执行的,所以在这段空间内,每隔一段设置一个软件陷阱,就能有效地捕获取出错程序的 PC 值,使系统正常工作。6.6 实验中的问题分析首先是内存问题。系统开始设计时选用的是 ATC89C51,其片内 FLASH 容量是 4K,而实验的时候开发板上是 89S52,其片内 FLASH 容量是 8K,尽管这样,在程序编好之后才发现其 8

38、K 的容量也有点小,所以实验的时候只好选择前两种类型,即直流和方波的信号组合,一共是 20 种情况,这完全能达到实验的预想效果。如果在以后的实际应用中可以选择 89C55,其片内可擦除 FLASH 容量是20K 的,足够满足系统所有功能的实现,或者也可以在小内存的单片机外部扩展内存,使其能实现预期的功能。其次是关于 ST7920 的时序问题。一般来说,任何指令都需要一定的时间来处理,每个指令的处理时间不相同。因此,需要知道 ST7920 内部是否已经处理完成,是否可以执行下一条指令。按照 ST7920 的手册规定,在写 ST7920 的指令寄存器和数据寄存器的时候,都需要先判断忙标志 BF,可

39、是在程序里这个标志总是通不过,我也查过好多的相关资料,可最终还是没解决。后来是通过延时来代替对忙标志的判断。总 结本系统的设计与制作工作已经全部完成,基本达到了预期的目的与要求。第 29 页 共 45 页但是在系统的调试方面还不够健全。汉字显示内容的实时更新等方面做得不够好,但是由于时间仓促、条件有限,设计结果并不是很好,还存在诸如:显示内容的单一,亮度不够、动态显示效果不明显等问题,我准备在今后的工作实践过程中来进一步完善此设计。 从选题到现在已经有大半年的时间了,这个设计主要经历了以下几个过程:广泛查阅资料、文献综述、总体思路的确定、方案的具体化及论证、方案的确定、设计制板及硬件电路的完成

40、、软件的调试、系统的调试,还包括论文的定搞,我认为整个过程是一个联系非常紧密的过程,前一过程的结果为后一过程奠定了基础。在整个过程中,本人不仅对 LCD 控制系统的每一个细节有了比较深入的掌握,而且对关于系统扩展的相关知识有了感性的认识,不仅掌握了大量的专业知识,更学会了系统模块设计的基本思想。总之,通过大学本科毕业论文设计课题的设计与制作,本人在理论知识方面和实际动手能力方面都有很大的提升。参 考 文 献1李维缇,郭强.液晶显示器件应用技术M.北京:北京邮电学院出版社,1993第 30 页 共 45 页2赵志海.液晶显示器及其应用J.国际光电与显示.20013杨泽民,刘培兴等.液晶显示器原理

41、与应用J.大连东显电子有限公司4内藏 T6963C 控制器点阵图形式液晶显示模块使用手册J.南京国显电子公司5范志新.液晶器件工艺基础M.北京:北京邮电大学出版社,2000.6李振亭.点阵图形式液晶显示控制器 T6963C 的应用J.电子技术应用,19947李锦飞.点阵式液晶显示器图形程序设计J.电子技术应用,19938何立民,张俊谟.单片机中级教程原理与应用M.北京:航空航天大学出版社,1999.9刘复华.8098 单片机及其应用系统设计M.北京:清华大学出版社,199210张毅刚、刘杰主编.MCS-51 单片机原理及应用M.黑龙江:哈尔滨工业大学出版社,2004.6,第 1 版.11陈明荧

42、.8051 单片机课程设计实训教材M.北京:清华大学出版社,2003.12永胜.LCD 模块用电源电路J.电讯技术,1995.13高传善.接口与通信M.上海:复旦大学出版社,198914赖麒文.8051 单片机 C 语言彻底应用M.北京:科学出版社,200215马忠梅等.单片机的 C 语言应用程序设计.北京:北京航空航天大学出版社,200116王建校.51 系列单片机及 C51 程序设计M.北京:科学出版社,200217何立明.单片机实验与实践教程(二) M.北京:北京航空航天大学出版社,2001.6. 18 康华光主编.电子技术基础M,第版.北京:高等教育出版社,199919T6963C DOT MATRIX LCD CONTROL LSIZ. TOSHIBA,199820TOSHIBA CMOS DIGITAL INTEGRATED CIRCUIT SILICON MONOLITHIC T6963C.TOSHIBA CORP.,2001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报