LCD液晶显示实验实验报告及程序
液晶显示器实训实验报告

一、实验目的1. 理解液晶显示器(LCD)的基本工作原理和组成结构。
2. 掌握液晶显示器驱动电路的设计与调试方法。
3. 熟悉液晶显示器的接口技术及其与单片机的连接方式。
4. 通过实验验证液晶显示器的显示功能,并实现简单图形和文字的显示。
二、实验原理液晶显示器(LCD)是一种利用液晶材料的光学各向异性来实现图像显示的设备。
它主要由液晶层、偏光片、电极阵列、驱动电路等部分组成。
液晶分子在电场作用下会改变其排列方向,从而改变通过液晶层的光的偏振状态,实现图像的显示。
三、实验器材1. 液晶显示器模块(如12864 LCD模块)2. 单片机开发板(如STC89C52单片机)3. 电源模块4. 连接线5. 实验平台(如面包板)四、实验内容1. 液晶显示器模块的识别与检测首先,对所购买的液晶显示器模块进行外观检查,确保无损坏。
然后,根据模块说明书,连接电源和单片机开发板,进行初步的检测。
2. 液晶显示器驱动电路的设计与调试根据液晶显示器模块的技术参数,设计驱动电路。
主要包括以下部分:- 电源电路:将单片机提供的电压转换为液晶显示器所需的电压。
- 驱动电路:负责控制液晶显示器模块的行、列电极,实现图像的显示。
- 接口电路:将单片机的信号与液晶显示器的控制信号进行连接。
在设计电路时,需要注意以下几点:- 电源电压要稳定,避免对液晶显示器模块造成损害。
- 驱动电路的驱动能力要足够,确保液晶显示器模块能够正常显示。
- 接口电路的信号传输要可靠,避免信号干扰。
设计完成后,进行电路调试,确保电路正常工作。
3. 液晶显示器的控制程序编写根据液晶显示器模块的控制指令,编写控制程序。
主要包括以下部分:- 初始化程序:设置液晶显示器的显示模式、对比度等参数。
- 显示程序:实现文字、图形的显示。
- 清屏程序:清除液晶显示器上的显示内容。
在编写程序时,需要注意以下几点:- 控制指令要正确,避免对液晶显示器模块造成损害。
- 程序要简洁,易于调试和维护。
lcd显示实验报告

lcd显示实验报告LCD显示实验报告概述:本次实验旨在研究和探究液晶显示技术的原理和应用。
液晶显示器(LCD)是一种广泛应用于电子设备中的平面显示技术,其优点包括低功耗、高对比度、视角广等特点。
通过实验,我们将深入了解LCD的工作原理以及其在各种设备中的应用。
实验步骤:1. 实验前准备在实验开始前,我们需要准备一块LCD显示屏、适配器、电源线以及连接所需的电缆。
2. 实验搭建将LCD显示屏与适配器通过电缆连接,并将电源线插入适配器和电源插座之间。
确保所有连接牢固可靠。
3. 实验操作打开电源开关,观察LCD显示屏是否正常亮起。
如果显示屏亮起,说明连接成功。
4. 实验观察观察LCD显示屏上的图像、文字或图标是否清晰可见。
注意观察显示屏的对比度、颜色鲜艳度以及视角范围等特点。
5. 实验分析通过对比实验观察到的LCD显示效果,我们可以得出以下结论:- LCD显示屏的图像清晰度和对比度较高,能够呈现出细节丰富的图像。
- LCD显示屏的颜色鲜艳度较高,能够准确还原图像的真实色彩。
- LCD显示屏的视角范围较广,观察者可以从不同角度观察屏幕上的内容而不会出现明显的颜色变化或失真。
实验原理:液晶显示器的工作原理是利用液晶分子的光学性质来调节光的透过程度。
液晶分子在电场的作用下会发生旋转或排列,从而改变光的透过程度,进而形成图像。
液晶显示器主要由两层玻璃基板构成,中间夹层有液晶分子。
在两层玻璃基板上分别涂有透明电极,并通过透明电极与外部电源相连。
当外部电源施加电压时,电场作用下液晶分子发生旋转或排列,从而改变光的透过程度。
液晶显示器通常由红、绿、蓝三种基本颜色的像素组成,通过控制每个像素的电压来调节颜色的深浅和亮度。
通过对不同像素的电压控制,液晶显示器能够呈现出丰富多彩的图像。
应用领域:液晶显示器已广泛应用于各种电子设备中,包括但不限于以下领域:1. 个人电脑和笔记本电脑:作为主要的显示设备,液晶显示器提供了清晰、高对比度的图像,使用户能够更好地操作和浏览信息。
LCD液晶显示实验实验报告及程序

LCD液晶显⽰实验实验报告及程序实验三 LCD1602液晶显⽰实验姓名专业学号成绩⼀、实验⽬的1.掌握Keil C51软件与proteus软件联合仿真调试的⽅法;2.掌握LCD1602液晶模块显⽰西⽂的原理及使⽤⽅法;3.掌握⽤8位数据模式驱动LCM1602液晶的C语⾔编程⽅法;4.掌握⽤LCM1602液晶模块显⽰数字的C语⾔编程⽅法。
⼆、实验仪器与设备1.微机⼀台 C51集成开发环境仿真软件三、实验内容1.⽤Proteus设计⼀LCD1602液晶显⽰接⼝电路。
要求利⽤P0⼝接LCD1602液晶的数据端,~做LCD1602液晶的控制信号输⼊端。
~⼝扩展3个功能键K1~K3。
参考电路见后⾯。
2.编写程序,实现字符的静态和动态显⽰。
显⽰字符为第⼀⾏:“1.姓名全拼”,第⼆⾏:“2.专业全拼+学号”。
3.编写程序,利⽤功能键实现字符的垂直滚动和⽔平滚动等效果显⽰。
显⽰字符为:“1.姓名全拼 2.专业全拼+学号 EXP8 DISPLAY ”主程序静态显⽰“My information!”四、实验原理液晶显⽰的原理:采⽤的LCD显⽰屏都是由不同部分组成的分层结构,位于最后⾯的⼀层是由荧光物质组成的可以发射光线的背光层,背光层发出的光线在穿过第⼀层偏振过滤层之后进⼊包含成千上万⽔晶液滴的液晶层,液晶层中的⽔晶液滴都被包含在细⼩的单元格结构中,⼀个或多个单元格构成屏幕上的⼀个像素。
当LCD中的电极产⽣电场时,液晶分⼦就会产⽣扭曲,从⽽将穿越其中的光线进⾏有规则的折射,然后经过第⼆层过滤层的过滤在屏幕上显⽰出来。
1.LCD1602采⽤标准的14引脚(⽆背光)或16引脚(带背光)接⼝,各引脚接⼝说明如表:2.1602液晶模块内部的控制器共有11条控制指令,如表所⽰:3.芯⽚时序表:4.1602LCD的⼀般初始化(复位)过程(1) 延时15ms。
(2) 写指令38H(不检测忙信号)。
(3) 延时5ms。
(4) 写指令38H(不检测忙信号)。
lcd控制实验报告

lcd控制实验报告标题:LCD控制实验报告摘要:本实验旨在探究液晶显示屏(LCD)的控制原理和操作方法。
通过实验,我们成功实现了对LCD的控制,并了解了LCD的基本工作原理和控制方式。
本文将详细介绍实验的步骤、结果和分析。
引言:LCD是一种广泛应用于电子产品中的显示器件,它具有低功耗、高分辨率和薄型轻便等优点,因此得到了广泛的应用。
了解LCD的控制原理和操作方法对于电子工程师和学生来说是非常重要的。
本实验旨在帮助学生掌握LCD的基本控制方法,并加深对LCD工作原理的理解。
实验目的:1. 了解LCD的基本工作原理2. 掌握LCD的控制方法3. 实现对LCD的基本控制实验步骤:1. 连接LCD显示屏和控制器2. 编写控制程序3. 调试程序并观察LCD显示效果4. 分析实验结果实验结果:通过实验,我们成功实现了对LCD的控制。
在编写控制程序并调试后,LCD显示屏能够按照我们的指令显示相应的内容,包括文字、图形等。
实验结果表明,我们掌握了LCD的基本控制方法,并能够灵活地应用于实际项目中。
实验分析:通过本次实验,我们深入了解了LCD的基本工作原理和控制方法。
LCD的显示效果受到控制程序的影响,因此编写高效的控制程序对于实现理想的显示效果至关重要。
此外,LCD的控制还涉及到对显示屏的初始化、数据传输等细节,需要我们仔细调试和优化。
结论:本实验成功实现了对LCD的控制,并加深了我们对LCD的工作原理和控制方法的理解。
通过实验,我们掌握了LCD的基本控制方法,并能够灵活地应用于实际项目中。
这对于我们的学习和工作都具有重要意义。
致谢:感谢实验室的老师和同学们在实验中的帮助和支持。
也感谢本次实验给我们提供了一个很好的学习机会,让我们更加深入地了解了LCD的控制原理和操作方法。
LCD显示实验

© MY2410 版权所有 未经许可 不得传播详情请咨询:xuphone@ mikenoodle@LCD 显示显示实验实验[实验目的实验目的]]1.了解LCD 显示的基本原理 2. 了解LCD 的接口与控制方法 3. 掌握LCD 显示图形的方法4.掌握LCD 显示字符的方法(本实验显示汉字)[实验内容实验内容]]1. 缩写图形显示函数,在LCD 上显示图形2. 编写汉字字模显示函数,在LCD 上显示汉字[预备知识预备知识]] 一. L CD 原理LCD 为英文Liquid Crystal Display 的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。
其种类可分为依驱动方式之静态驱动(Static )、单纯矩阵驱动(Simple Matrix )以及主动矩阵驱动(Active Matrix )三种。
而其中,单纯矩阵型又是俗称的被动式(Passive ),可分为扭转向列型(Twisted Nematic ,简称 TN )和超扭转式向列型(Super Twisted Nematic ,简称STN )两种;而主动矩阵型则以薄膜式晶体管型(Thin Film Transistor ;TFT )为目前主流。
早在1888年,人们就发现液晶这一呈液体状的化学物质,象磁场中的金属一样,当受到外界电场影响时,其分子会产生精确的有序排列。
如果对分子的排列加以适当的控制,液晶分子将会允许光线穿越。
无论是笔记本电脑还是桌面系统,采用的LCD 显示屏都是由不同部分组成的分层结构。
位于最后面的一层是由荧光物质组成的可以发射光线的背光层。
背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层。
液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。
当LCD 中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。
液晶显示屏 (LCD)实验

§3.6 液晶显示屏(LCD)实验一、实验目的1.掌握液晶的使用方法;2.掌握液晶信号之间时序的正确识别和引入。
二、实验设备1. 一台装有CCS3.3软件的计算机;2. 插上2812主控板的DSP实验箱;3. DSP硬件仿真器。
三、实验原理本实验箱采用的是 3.2寸TFT ,WQVGA(400*240),带触摸屏,触摸控制芯片: TSC2046EIPW。
本实验箱采用的液晶接口在DSP的数据总线上,液晶接口如下:备注:示例程序中所有调用到的相关变量及函数都在User_lcd.c中四、实验步骤1.把2812主控板插到实验箱底板相应接口上;把LCD显示屏模块插到外设区;2.在CCS3.3环境中打开本实验的工程Example_lcd,生成输出文件,通过仿真器把执行代码下载到DSP芯片;3.运行程序;液晶上会循环显示预定内容。
五、实验报告1.实验原理、设计过程、程序设计思想和实验结果、硬件测试结果记录下来。
2.LCD显示汉字的方法你了解吗,尝试显示自己学校的名字试试?六、补充1、实验过程中检查硬件仿真器链接是否正确,检查dsp芯片是否安插正确(以各个芯片的指示灯是否亮为参考)。
2、在软件设置与硬件的connect。
3、加载本实验工程,烧到芯片上。
Build工程,run程序,观察实验现象;修改相关代码,再次编译运行,看实验现象。
4、用字模软件建立自己的字库,为字库编写函数。
5、为字库编写打印函数,并申明函数七、实验相关截图T5.0 main.c 文件中插入打印函数T5.1声明函数,以及在_Font 结构中加入成员T5.2构造函数调字库T5.3定义打印函数T5.4建库。
LCD显示实验

单片机实验报告班级:姓名:学号:指导教师:实验三 LCD显示实验(2学时)一、实验目的:学习液晶显示的编程方法,了解液晶显示模块的工作原理。
掌握液晶显示模块与单片机的接口方法。
学习和掌握8255扩展通用I/O的方法。
基于扩展I/O口,实现LCD显示器的控制。
二、实验设备:CPU挂箱、8031CPU模块三、实验内容:在掌握8255扩展I/O口的基础上,实现LCD的显示,并显示“中北大学1105064102 姓名”。
四、实验原理说明LCD显示电路点阵式LCD显示电路是在系统板上外挂电正式液晶显示模块,模块的数据线、状态、控制线都通过插孔引出。
可直接与系统相连。
1、OCMJ2×8液晶模块介绍及使用说明OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。
也可用作一般的点阵图形显示器之用。
提供位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。
完全兼容一般的点阵模块。
OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。
本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。
一改传统的使用大量的设置命令进行初始化的方法,OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。
同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。
规划整齐的10个用户接口命令代码,非常容易记忆。
标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。
硬件接口接口协议为请求/应答(REQ/BUSY)握手方式。
应答BUSY 高电平(BUSY =1)表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。
显示屏实验报告

一、实验目的1. 了解显示屏的基本原理和结构;2. 掌握显示屏的性能测试方法;3. 分析不同类型显示屏的优缺点;4. 提高对显示屏技术的认识。
二、实验器材1. 显示屏实验箱;2. 电源;3. 数据采集器;4. 测试软件;5. 计算器。
三、实验原理显示屏是一种将电子信号转换为图像的设备,广泛应用于计算机、手机、电视等领域。
根据显示原理,显示屏主要分为以下几种类型:1. 液晶显示屏(LCD);2. 有机发光二极管显示屏(OLED);3. 等离子显示屏(PDP);4. 激光投影显示屏。
本实验主要针对液晶显示屏(LCD)和有机发光二极管显示屏(OLED)进行性能测试。
四、实验步骤1. 连接实验箱,打开电源;2. 启动测试软件,设置测试参数;3. 进行亮度和对比度测试;4. 进行色彩准确性测试;5. 进行响应时间测试;6. 进行视角测试;7. 分析实验数据,得出结论。
五、实验数据及分析1. 亮度和对比度测试实验结果显示,LCD显示屏的亮度为200cd/m²,对比度为1000:1;OLED显示屏的亮度为500cd/m²,对比度为10000:1。
由此可见,OLED显示屏的亮度和对比度均优于LCD显示屏。
2. 色彩准确性测试通过色彩准确性测试,我们发现LCD显示屏的色准值为ΔE=3.5,OLED显示屏的色准值为ΔE=2.0。
说明OLED显示屏的色彩还原度更高。
3. 响应时间测试在响应时间测试中,LCD显示屏的响应时间为5ms,OLED显示屏的响应时间为1ms。
这表明OLED显示屏具有更快的响应速度。
4. 视角测试视角测试结果显示,LCD显示屏的水平视角为160°,垂直视角为140°;OLED显示屏的水平视角为160°,垂直视角为170°。
OLED显示屏的视角略优于LCD显示屏。
六、实验结论1. OLED显示屏在亮度和对比度方面优于LCD显示屏;2. OLED显示屏的色彩还原度更高;3. OLED显示屏具有更快的响应速度;4. OLED显示屏的视角略优于LCD显示屏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 LCD1602液晶显示实验姓名专业学号成绩一、实验目的1.掌握Keil C51软件与proteus软件联合仿真调试的方法;2.掌握LCD1602液晶模块显示西文的原理及使用方法;3.掌握用8位数据模式驱动LCM1602液晶的C语言编程方法;4.掌握用LCM1602液晶模块显示数字的C语言编程方法。
二、实验仪器与设备1.微机一台 C51集成开发环境仿真软件三、实验内容1.用Proteus设计一LCD1602液晶显示接口电路。
要求利用P0口接LCD1602液晶的数据端,~做LCD1602液晶的控制信号输入端。
~口扩展3个功能键K1~K3。
参考电路见后面。
2.编写程序,实现字符的静态和动态显示。
显示字符为第一行:“1.姓名全拼”,第二行:“2.专业全拼+学号”。
3.编写程序,利用功能键实现字符的垂直滚动和水平滚动等效果显示。
显示字符为:“1.姓名全拼 2.专业全拼+学号 EXP8 DISPLAY ”主程序静态显示“My information!”四、实验原理液晶显示的原理:采用的LCD显示屏都是由不同部分组成的分层结构,位于最后面的一层是由荧光物质组成的可以发射光线的背光层,背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层,液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。
当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。
1.LCD1602采用标准的14引脚(无背光)或16引脚(带背光)接口,各引脚接口说明如表:2.1602液晶模块内部的控制器共有11条控制指令,如表所示:3.芯片时序表:4.1602LCD的一般初始化(复位)过程(1) 延时15ms。
(2) 写指令38H(不检测忙信号)。
(3) 延时5ms。
(4) 写指令38H(不检测忙信号)。
(5) 延时5ms。
(6) 写指令38H(不检测忙信号)。
(7) 以后每次写指令、读/写数据操作均需要检测忙信号。
(8) 写指令38H:显示模式设置。
(9) 写指令08H:显示关闭。
(10) 写指令01H:显示清屏。
(11) 写指令06H:显示光标移动设置。
(12) 写指令0CH:显示开及光标设置。
五、实验步骤1.用Proteus设计1602液晶显示接口电路;2.在Keil C51中编写液晶显示控制程序,编译通过后,与Proteus联合调试;3.按动功能键,观察字符及效果是否正确显示。
六、电路设计调试及程序1)实验电路2)程序设计与调试静态显示#include<>#define uchar unsigned char #define uint unsigned int uchar code table[]=" Xin ";uchar code table1[]=" 412381"; sbit lcden=P2^2;sbit lcdrw=P2^1;sbit lcdrs=P2^0;uchar num;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){lcdrs=0;P0=com; delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) {lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){lcden=0;lcdrw=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+0x00); }void main(){init();delay(100);while(1){ for(num=0;num<12;num++) {write_data(table[num]); delay(200);}write_com(0x02);write_com(0x80+0x40);for(num=0;num<16;num++) {write_data(table1[num]); delay(200);}while(1);}}动态显示#include<>#define uchar unsigned char#define uint unsigned int uchar code table[]=" Xin "; uchar code table1[]=" 412381"; sbit lcden=P2^2;sbit lcdrw=P2^1;sbit lcdrs=P2^0;uchar num;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com) {lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) {lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){lcden=0;lcdrw=0;write_com(0x38);write_com(0x0f);write_com(0x06);write_com(0x01);write_com(0x80+0x00); }void main(){init();delay(100);while(1){for(num=0;num<12;num++) {write_data(table[num]); delay(200);}write_com(0x02);write_com(0x80+0x40);for(num=0;num<16;num++) {write_data(table1[num]);delay(200);}write_com(0x01);}}按键实现不同效果#include<>#define uchar unsigned char#define uint unsigned intuchar code table[]="My information!";uchar code table1[]=" Xin"; uchar code table2[]=" 412381"; uchar code table3[]=" EXP8"; uchar code table4[]=" DISPLAY"; uchar num,i,j;uchar flag1,flag2,flag3,flag4; sbit k1=P3^0;sbit k2=P3^1;sbit k3=P3^2;sbit k4=P3^3;sbit lcden=P2^2;sbit lcdrw=P2^1;sbit lcdrs=P2^0;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) {lcdrs=1;P0=date;delay(5);lcden=1;delay(5); lcden=0;}void init(){lcden=0;lcdrw=0;write_com(0x38); write_com(0x0f); write_com(0x06); write_com(0x01); }void main(){init();TMOD=0x01;TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1;ET0=1;TR0=1;EX0=1;IT0=1;IP=0x05;EX1=1;IT1=1;delay(100);while(1){ flag3=0;write_com(0x01);write_com(0x80+0x01); delay(50);for(num=0;num<15;num++) {write_data(table[num]); delay(200);}delay(200);write_com(0x01);}}void display(){if(k1==0){while(1){if(flag1==1) break;if(flag3==0)//{if(flag1==1)break;//控制返回write_com(0x01);write_com(0x80+0x00);delay(50);for(num=0;num<11;num++) //显示" Xin"{if(flag1==1) break;while(flag3==1){if(flag1==1)break; }write_data(table1[num]); delay(200);}write_com(0x80+0x40);for(num=0;num<16;num++)//显示" 412381"{if(flag1==1) break;while(flag3==1){if(flag1==1) break;}write_data(table2[num]);delay(200);}write_com(0x01);delay(200);write_com(0x80+0x00);for(num=0;num<16;num++)//显示" 412381"{if(flag1==1) break;while(flag3==1){if(flag1==1)break;}write_data(table2[num]);delay(200);}write_com(0x80+0x40);for(num=0;num<13;num++) //显示" EXP8"{if(flag1==1) break;while(flag3==1){if(flag1==1)break;}write_data(table3[num]);delay(200);}write_com(0x01);write_com(0x80+0x00);for(num=0;num<13;num++) //显示" EXP8"{if(flag1==1) break;while(flag3==1){if(flag1==1)break;}write_data(table3[num]);delay(200);}delay(200);if(flag1==1) break;write_com(0x80+0x40);for(num=0;num<13;num++) //显示" DISPLAY"{if(flag1==1) break;while(flag3==1){if(flag1==1)break;}write_data(table4[num]);delay(200);}write_com(0x01);write_com(0x80+0x00);for(num=0;num<13;num++) //显示" DISPLAY"{if(flag1==1) break;while(flag3==1){if(flag1==1)break;}write_data(table4[num]);delay(200);}write_com(0x80+0x40);for(num=0;num<11;num++) //显示" Xin"{if(flag1==1) break;while(flag3==1){if(flag1==1)break;}write_data(table1[num]);delay(200);}}} flag3=0;flag1=0;//清标志位write_com(0x01);//清屏}if(k2==0){//if(flag1==1)break;write_com(0x01);//清屏write_com(0x80+0x00);for(num=0;num<11;num++) //显示" Xin"{if(flag1==1)break;write_data(table1[num]);delay(50);}write_com(0x80+0x10);for(num=0;num<16;num++)//显示" 412381"{if(flag1==1)break;write_data(table2[num]);delay(50);}write_com(0x02);write_com(0x80+0x40);for(num=0;num<13;num++) //显示" EXP8"{if(flag1==1)break;write_data(table3[num]);delay(50); }write_com(0x80+0x50);for(num=0;num<13;num++) //显示" DISPLAY"{if(flag1==1)break;write_data(table4[num]);delay(50);}while(1){if(flag1==1) break;while(flag3==1){if(flag1==1)break;}if(flag3==0){write_com(0x1c); //整屏左移或右移delay(100);if(flag1==1) break;}}flag3=0;flag1=0;//清除标志位write_com(0x01);//清屏}}void time0() interrupt 1{TH0=(65536-1000)/256; TL0=(65536-1000)%256; display();}void INT_0() interrupt 0 {EX0=0;delay(20);EX0=1;flag3=!flag3;}void INT_1() interrupt 2 {EX1=0;delay(20);EX1=1;flag1=1;}七、实验问题解决及总结实验中出现了运行垂直或水平效果时若按下暂停/继续按键再按返回按键后,再按垂直或水平按键不继续运行的情况。