基于单片机的数码相框的设计与仿真-毕业设计_第1页
基于单片机的数码相框的设计与仿真-毕业设计_第2页
基于单片机的数码相框的设计与仿真-毕业设计_第3页
基于单片机的数码相框的设计与仿真-毕业设计_第4页
基于单片机的数码相框的设计与仿真-毕业设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)课题名称基于单片机的简易数码相框设计与仿真学生姓名学号系、年级专业电气工程指导教师职称讲师2023年5月20日摘要本设计首先阐述了数码相框在现实生活中的意义以及重要。并介绍了数码相框的应用领域以及应用前景。简单的介绍了目前国内外数码相框技术的水平。论文主要是介绍了针对论文的技术指标要求,对数码相框设计设计的方案进行选择与论证,主要包括了AT89C51单片机、LCD12864液晶显示屏的选择。接着介绍了数码相框的硬件电路设计,包括系统总体硬件设计、单片机处理模块、单片机最小系统设计液晶显示模块以及电源电路.然后介绍了数码相框的软件设计局部,主要包括软件总体设计结构以及SPI数据传输。最后是介绍了仿真调试,包括用Protues绘制仿真图,用Keil编辑程序,以及仿真结果及其分析。经过分析和比拟到达了本次设计的技术指标。正式了本次设计方案的正确性。关键词:AT89C51单片机;LCD12864;Protues;KeilAbstractThisdesignfirstelaboratedthesignificanceandtheimportanceofdigitalphotoframesinreallife.Anddescribestheapplicationsofdigitalphotoframeandpotentialapplications.Simplydescribesthecurrentlevelofdomesticandforeigndigitalphotoframetechnology.Paperistointroducethetechnicalrequirementsforthepaper,thedesignofthedigitalphotoframedesignoftheprogramtoselectanddemonstration,includingtheAT89C51microcontroller,LCD12864LCDofchoice.Thenweintroducedthedigitalphotoframehardwarecircuitdesign,includingoverallsystemhardwaredesign,MCUprocessingmodule,smallestsingle-chipsystemdesignLCDmoduleandapowersupplycircuitandthenintroducedthesoftwaredesignofdigitalphotoframe,includingsoftwaredesigndatastructuresandSPItransmission.Finally,theintroductionofsimulationdebugging,includingsimulationmapdrawnbyProtues,withKeileditingprogram,andthesimulationresultsandanalysis.Achievedthroughanalysisandcomparisonofthisdesignspecification.Formalcorrectnessofthisdesign.Keywords:AT89C5SCM;LCD12864;Protues;Keil目录中文摘要……………...……….I英文摘要……………..……=2\*ROMANII1绪论11.1选题背景11.2国内外研究现状11.3论文主要研究内容22系统方案设计2.1单片机选型3硬件电路设计33.1系统总体硬件设计33.2单片机处理器模块43.3液晶屏显示模块及其他模块64软件设计104.1软件总体设计结构104.2使用的设计软件程序114.3图像文件解码设计184.4图像文件显示设计205仿真调试265.1数码相框硬件制作成果及分析265.2图像显示结果及分析26结论28参考文献29附录A30致谢36图目录TOC\h\z\t"图标题"\c图数码相框系统的硬件设计结构3图2.3单片机小系统时钟电路设计结构6图2.4单片机小系统复位电路设计7图2.8液晶屏设计电路12图2.9串口设计电路13图2.10电源设计电路13图3.1主程序流程图11图4.1数码相框硬件制作成果图31图4.2解码后BMP图像321绪论1.1选题背景随着近几年来时代的开展,,拥有着使用简单,不错的拍摄效果,可以立马观看所拍摄照片,并在拍摄几乎没有本钱等优点,数码相机已经完全代替了传统的相机。随着数码相机的日渐普遍出现,数码相片的拍摄数目也随之越来越大。大多数人都喜欢使用存储设备的进行数码照片保存,一是因为这些图片的打印本钱比传统照片的本钱要低,二是修改和欣赏这些图片可以在任意时间和地点,例如在电脑上,上。但随着在增加的数目和频繁使用的这些照片中,人们发现仅使用计算机工具来处理这些图片是非常局限。因此,为了更容易地保存和欣赏数字相机拍摄的照片,数码相框就因此而生。数码相框是一种不需要把照片放进去的就能展示相片的一种相框,而是通过读取其他存储设备中的照片,然后显示在液晶显示屏幕上,并且它具有相当多的功能,如循环播放照片,回放和自动保存照片等。它比常规变化框架更加灵活,同时对于使用的越来越频繁的数码相片来说片,数码相框是一个新的展览空间,专门用来分享和欣赏数码照片的设备。数码相框一般由CPU操作系统,解码器,显示器,微控制器以及存储器构成。其工作原理由CPU操作系统对数码相框自身存储器或者外接存储器中的数码图像进行解码,解码完成后由微控制器将图像显示在显示器上。中国首次自行研制的数字式相框画面显示有标度,旋转和其它功能时,显示动态,和静态图片流转。该数码相框为我们带来一个新的数码概念。伴随着数码科技的愈来愈提高,数码相框也拥有了更加成熟的技术。数码相框体系设计的主要设计方案当前大概能够分为三大类(1)核心处理系统选用的是以ARM+JPEG硬件解码器,在解码速度和图片显示方面比拟迅速,能够支持MPEG1,MPEG4,;能支持多种音频播放,如MP3等,支持USB2.0Slave、USB1.1Host。性能较全面,覆盖了动态和静态图片,音频处理,存储卡,USB、扩展功能,图像分辨率高,功耗低等优点。(2)选用的是单芯片处理系统,选用简便的PCB板结构,能够符合JPEG,BMP,GIF和MP3、MP4的播放条件。这一类的数码相框本钱低,但存在一定的问题就是通常不支持超过600万像素的图片。(3)选用嵌入式的结构来做数码相框,简单的通过硬件解码JPEG,通过硬件来实现对图像的所有编撰操作,处理图像比照而言比拟迅速,像素也能支持比拟高。但是在扩展功能方面就比拟单一。国外追求数码相框简洁实用,而国内追求其功能的多样性。由于人们对数码相框喜爱与追捧,使得数码相框的也一直在创新和进步。设计任务和根本要求设计任务:简易数码相框的设计与仿真根本要求:〔1〕了解已有或类似数码相框商品及其工作原理;〔2〕分析系统需求并确定核心功能;〔3〕系统方案设计合理;〔4〕采用模块化思想设计硬件系统;〔5〕数据结构及软件算法设计合理,代码可移植性好;〔6〕基于最简原型〔最小系统〕逐步完善硬\软件设计;〔7〕数码相框模型可平安、稳定运行;〔8〕模型系统设计力求简洁标准、用户体验好、便于扩展升级和维护;〔9〕有完整标准的设计文档,含系统硬件原理图〔包括电源局部〕、系统软件、功能仿真及验证等。本论文是完成简易数码相框的设计方案选择,原理及实验分析等。在第2章将讲述方案的论证和选择;第3章讲述数码相框硬件电路的设计,涉及到数码相框的工作原理及其电路的工作模式,各局部电路的设计。第4章讲述数码相框的软件设计包括总体设计结构等。第5章是仿真调试。2系统方案的选择本章主要是按照本课题设计的要求对整体系统方案进行选择,对各方案进行比拟和论证。最终选取符合并且简易的方案。单片机又叫作微控制器。它是把CPU,存储器,计数器等集成到一块电路芯片上。相当于一台微型计算机。体积小,质量轻,价格廉价,便于学习和应用开发。根据我们现阶段所学习的知识,可提供以下三种方案进行选择。方案一:采用PIC系列。PIC系列单片机是采用RISC架构的CPU,分别33、35、38指令,是一个精简指令集。使用哈佛双总线结构,速度快,是指令流水线结构,在一个周期内指令执行完成,取从程序存储器中的下一条指令。优点是低电压工作,低功耗,驱动能力强。但是在编程过程中,要经常使用特殊存放器,重复选择对应的存储体,编程有一定的麻烦。方案二:采用51系列。Intel的51系列是应用最广泛的8位单片机,指令系统标准,,硬件结构合理。其性能得到了许多芯片公司的加强,在更多的电子产品中得到应用。51系列单片机具有完整的位操作系统,功能齐全,使用位操作指令可以使复杂的程序运行操作变得简单。同时51系列单片机的八位乘法和除法指令精度高,能满足大多数的要求,应用广泛。方案三:AVR系列。AVR单片机是一种比拟新的微控制器。特点是高速、高性能、低功耗。指令周期为时钟周期,多数指令是单周期指令,时钟频率4-8MHz,因此最小指令执行时间为250-125ms。AVR系列单片机主要有三种类型:AT90S2313〔平装型〕,AT90S8515,AT90S8535〔带A/D转换〕。在使用AVR系列单片机进行逻辑运算可以在任意两个存放器中进行,不用反复使用CPU.根据大学课程上学习的只是,以及对于低本钱的要求,综合上述的观点,我最终选择51系列单片AT89C51.在本次设计中,要将图片实时的显示出来,所以需要显示器,显示器的设计方案有以下三种。方案一:采用TFT彩屏。TFT彩屏的显示原理是利用汇点实现显示,所以操作起来比拟灵活。但是因为每一个点的显示都要对颜色嗯好位置进行定义,所以TFT彩屏对控制器的要求也比拟高,而且价格相比照拟贵。方案二:采用LCD12864显示器显示。LCD12864可以显示图片和文字,能够满足一般的显示需要,编程容易实现。它可以采用并口控制也可以采用串口控制,操作灵活。方案三:采用LED七段数码管,LED七段数码管是利用七个发光二极管构成,能够显示小数点和0到9数字,但是它的管脚比拟多,因此用它时占用了太多的单片机的输入输出口,而且七段数码管不能显示汉字。而在本次设计中,不仅需要显示图片,而且有时还需要显示汉字,考虑到显示要求以及本钱原因,综合考虑我选择方案二,使用LCD12864。3硬件电路设计3.1系统总体硬件设计数码相框系统的硬件构造如下图。.图3.1数码相框系统的硬件构造在硬件规划上,主要的重点是以MCS-51单片机为最小系统,具有电源电路,LCD液晶屏幕,时钟电路和复位电路。MCS-51单片机最小系统的根本子系统和I/O接口,可以提供每个硬件设备实现数据传输功能和复位功能的时钟信号。电源电路包括一个功率转换电路,MCS-51单片机和LCD液晶屏的连接电路,并提供根本的工作电压。3.2单片机处理器模块数码相框系统的主体处理模块选用的是AT89C51系列单片机。AT89C51单片具有低电压、高性能的特点,内含ROM和RAM,制作器件的生产技术具有不容易丧失、高密度的特点,能够和通用的51指令系统兼容,内含普遍使用的8位CPU与FlashROM,相对于其他单片机在电子业内的使用程度来说AT89C51单片机使用比拟广泛。其主要功能特性有以下几点:〔1〕兼容MCS51指令系统〔2〕8k能重复擦写的FlashROM;〔3〕三十二个双向I/O口;〔4〕256x8bitRAM;〔5〕内含三个16位的可以进行编程的定时器和计数器中断;〔6〕时钟频率0-24MHz;〔7〕该芯片内部具有两个串行中断,并且可以对内部进行串口通讯〔8〕共八个中断源,其中两个外部中断源;〔9〕两个读取撰写的中断口线,三级加密码位;〔10〕封装包含有PDIP、等多种形式,能满足不同产品的要求。AT89C51处理器内部具有强大的处理数据功能,内部具有多种存放器、控制器、其主要的做用是用来对内部和外部的数据进行处理和存储。并且还可以通过接口初始化外围器件。红外遥控信号的接收和解码以及CPU通信板等。它的引脚图如下图。AT89C51引脚图P0口:属于漏极开路型,它是双向输入输出。在对外进行通讯时需要外接上拉电阻,如果需要队单片机内部进行写入时,需要向该端口进行写“1〞指令,才能写入。P0口属于地址线和数据线通用的I/O口。并且P0口还有第二功能。P1口:P1口和P2口的功能区别不大,但因为P1口有自带的上拉电阻。P1口是一个准双向口。可以对它进行输入和输出的使用。当需要P1口作为输出时,只需要在相应的I/O进行“1〞指令的写入,写入“1〞指令时会使输出的驱动器无法工作。P1口与P0一样也具有第二功能脚。和的第二功能引脚号功能特性T2,时钟输出T2EX〔定时/计数器2〕P2口:P2是具有内部自带上拉电阻的,在对内写数据时需要对该端口进行写“1〞指令。P2口也是能够进行双向的输入输出。P2口的输出缓冲级可以到达驱动4个TTL逻辑门电路的能力。在对外进行数据的写出时,P2口先送出高8位的地址数据。在对外访问8位数据存放器时,P2口将需要输出的数据内容通过P2口数据存放器输出。在程序检测和校验时,P2口也可以进行接受一些控制信号和一些地址信号。P3口:P3口与P2口相似,自带上拉电阻,能够进行双向的8位输入输出。P3的输出换成级可以到达驱动4个TTL逻辑门电路的能力。当P3口作为输入端口时,需要对相应的I/O口进行“1〞指令的写入,经过内部上拉电阻拉高。这时,P3口由外部拉低之后通过上拉电阻输出电流。P3口不仅可以当作输入输出口,还能用来接收Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器运行时,RST引脚出现超过两个机械周期高电平将致使单片机复位。ALE/PROG:在系统读取或写人外部程序存储器或外部数据存储器时,ALE信号位输出脉冲是锁存低8位字节地址。在通常的时候,ALE是由时钟电路提供其时钟频率的六分之一,以这个频率输出不变的脉冲信号。每次对外进行数据存放器的访问时都会有一个脉冲。在Flash编程时,该脚还必须有编程脉冲的输入,而且在对外部进行程序操作时,需要将该脚进行禁用。PSEN:该脚的主要作用是用来决定外部程序存储器的输出,当单片机从外部进行取指令时,那么该脚在每个周期时间内有两个脉冲波的输出。如果这段时间内访问外部存储器那么将会有跳过PENS的脉冲信号。EA/VPP:该脚的作用是用来进行外部程序存储器的访问,所以在使用外部程序存储器时该脚的电平必须为低电平。如果需要对内部程序存储器进行访问那么需要将该脚接高电平。在进行加密处理时该脚会被锁存。在进行Flash编程时,需要在该脚加上12v的电压。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.2.1单片机最小系统设计除了前面所选用的单片机核心处理模块外,在系统所在的硬件电路上还需要设计一些单片机小系统,用来启动单片机。这写小系统主要包括一下电路设计:(1)时钟电路AT89C51系列单片机既能够用外部时钟,同时也能够靠自身的振荡器来提供时钟信号。时钟电路是由24MHz晶振加2个22pF的瓷片电容搭建的外部振荡电路,与单片机时钟信号端口XTAL1和XTAL2连接,如图2.3所示。图2.3单片机最小系统时钟电路设计结构(2)复位电路本系统采用外部按钮手动复位,具体结构如图2.4所示。图2.4单片机最小系统复位电路设计液晶屏显示模块12864液晶是具备4位/8位并行、2或3线串行接口,包含在GB级,二次简化汉字点阵图形液晶显示模块;根据本本机需要显示当前电源和当前电流所以采用液晶12864显示,12864的主要参数性能如下:MD12864C-1汉字图形点阵液晶显示模块,不仅可以显示汉字而且可以显示图片,根据设计的要求,这款液晶显示完全到达本次设计的要求。由该模块组成的液晶显示方案与同类型的图形点阵液晶显示模块比拟,不但硬件电路构造或显示程序都要简单很多,且该模块的价钱也比相同点阵的图形液晶模块低一些。〔1〕根底特征:低电源电压〔VDD:+3.0--+5.5V〕电源:VDD3.3V~+5V(内置升压电路,无需负压);显示内容:128列×64行显示颜色:灰膜显示角度:6:00钟直视LCD类型:STN与MCU接口:8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等〔2〕内部结构LCD12864液晶的里面的构造控制如下图。图液晶内部结构图〔3〕模块接口说明12864管脚说明管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-比照度〔亮度〕调整4RS〔CS〕H/LRS=“H〞,表示DB7—DB0为显示数据RS=“L〞,表示DB7—DB0为显示指令数据5R/W〔SID〕H/LR/W=“H〞,E=“H〞,数据被读到DB7—DB0R/W=“L〞,E=“H→L〞,DB7—DB0的数据被写到IR或DR6E〔SCLK〕H/L使能信号7—14DB0—DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式16NC-空脚17/RESETH/L复位端,低电平有效18VOUT-LCD驱动电压输出端19AVDD背光源正端〔+5V〕20KVSS背光源负端〔4〕模块主要硬件结构说明表3.2.2RS,R/W4模型与决策控制接口RSR/W功能说明LLl微处理器写指令到指令存放器LH读出忙标记〔BF〕与地址计数器〔AC〕的状态HLMPU写入数据到数据暂存器HHMPU从数据暂存器〔DR〕中读出数据表3.2.3E信号E状态执行动作结果高——>低I/O缓冲——>DR配合/W进行写数据或指令高DR——>I/O缓冲配合R惊醒读数据或指令低/低——>高无动作A.忙标志:BFBF标志提供内部的工作情况.BF=1意思是模块内正在操作中,这时候模块不接受外部指令以及数据.BF=0时,模块已经准备好了,准备好接受命令和数据.通过控制STATUSRD的信号指令把BF里面的值读取传送到DB7总线上用来检验模块当前的工作状态B.字型产生ROM(CGROM)控制LCD屏幕显示的开启和关闭是由字型ROM里面的8192个触发器决定的。DFF等于1时是开启显示〔DISPLAYON),DDRAM里面保存的显示内容就通过触发器控制显示在LCD屏幕上,DFF等于0时是关闭显示〔DISPLAYOFF)。DFF的当前状态可以由DISPLAYON/OFF和RST信号指令来控制置一或清零的。C显示数据RAM(DDRAM)RAM是12864的内部存储器,其主要的作用是用来存储需要显示的数据,它可以显示4行16个中文汉字。它可以进行三种字型的写入,当对它写入不同的字型时,相应的编码就会对其编译,从而显示出不同的字型来。每一种字型都有它特定的存放空间,输入不同字型时都会对找到其相应的编码。D.字型中产生RAM()CGRAM提供的图像清晰度功能〔在私人定义〕提供4个16×16点的自定义图像空间,用户可以通过内部字体不提供形象塑造的定义界定和确认通知,CGROM由DDRAM显示在屏幕上。E.地址计数器AC地址计数器是可以储存包括DDRAM/CGRAM中任意一个的地址,是可以由设定指令缓存器来进行更改,在进行读取和写入DDRAM/CGRAM里面的值时,地址计数器里面的值自动的进行加一,当RS的值是“0〞时并且R/W变成“1〞时,地址计数器里面的值会保存到DB6——DB0地址中。F.光标/闪烁控制电路这个模块提供硬体光标和闪烁控制电路,由地址计数器的值来指必RAM中的光标或闪烁位置。〔5〕主要指令说明根本指令说明表指指令码功能令RSR/WD7D6D5D4D3D2D1D0

去除显示

0000000001地址归位000000001X显示状态开/关0000001DCBD=1:整体显示ONC=1:游标ONB=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;本指令不改变驱动器的内容功能设定00001DLXREXXDL=0/1:4/8位数据RE=1:扩充指令操作RE=0:根本指令操作设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM地址设定DDRAM地址0010AC5AC4AC3AC2AC1AC0设定DDRAM地址〔显示位址〕第一行:80H-87H第二行:90H-97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)能够确认内部动作是否完成,同时还能读出地址计数器(AC)的值写数据到RAM10数据将数据D7——D0写入到内部的RAM(DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从内部RAM读取数据D7——D0(DDRAM/CGRAM/IRAM/GRAM)扩展指令说明表指指令码功能令RSR/WD7D6D5D4D3D2D1D0

待命模式

0000000001进入待命模式,执行其他指令都棵终止待命模式000000001SR反白选择00000001R1R0选择2行中的任合一行作反白显示,并能决定反白与否。初始值R1R0=00,第一次设定成反白显示,第二次设定变回正常睡眠模式0000001SLXXSL=0:进入睡眠模式SL=1:脱离睡眠模式扩充功能设定00001CLXREG0CL=0/1:4/8位数据RE=1:扩充指令操作RE=0:根本指令操作G=1/0:绘图开关设定绘图RAM地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0设定绘图RAM先设定垂直(列)地址AC6AC5…AC0再设定水平(行)地址AC3AC2AC1AC0将以上16位地址连续写入即可〔6〕读写时序图图2.6写数据时序图读数据时序图图液晶屏设计电路此系统内,因为各个硬件局部的工作电压各不相同,比方说单片机及液晶屏需要5v工作电压,因此在主系统中还需要设计统一的电源电路,方便给各局部硬件提供工作电压。图2.10电源设计电路由于稳定性好等优点,输出电压精度高和低漏电压,该L7805系列电源适配器通常是由一般的单片机外围电路的选择.。在本设计中,采用5V的电源适配器,可简化电源电路设计,解决了非均匀工作电压的问题。3相框的软件设计软件总体设计结构整个数码相框的软件系统按功能可以分为3个模块:图像文件读取、图像信息解码、图像文件显示。主函数调用了各个模块程序,实现了各个模块的初始化过程以及接口配置,同时也规划了程序的流程安排,如下图。3.2SPI数据传输AT89C51系列单片机具备一种高速、串联运行通信接口,即SPI接口。通信总线的特点是高速,全双工同步,在它内部有几个重要的存放器,分别对其工作状态进行控制以及数据的处理和状态的查询。(1):作为SPI的控制信号输入端的SPCTL能够明确单片机是主机还是副机,决定上下字节数据传输优先顺序以及选择SPI时钟频率。(2)状态存放器用来判断是否spstatSPI数据传输测试数据是否spdat存放器进行写操作。(3)数据存放器SPDAT具有Bit7~Bit0的传输数据位。要想到达SPI的初始化的效果,利用SPI通信接口时首先要对三个存放器设置相应的初值:sfrSPCTL=0xCE;//驱动/SPI传输,指定的单片机为主机,优先传输的高字节数据,SPI时钟频率设置为主机的1/64sfrSPSTAT=0xCD;//默认标志位为“1〞sfrSPDAT=0xCF;//默认传输数据位为0xcf5仿真调试〔1〕选用Protues软件绘制仿真图Proteus是由英国公司设计,是一款强大的EDA工具软件。其功能模块分为智能原理图设计〔ISIS〕、完善的电路仿真功能〔Prospice〕、独特的单片机协同仿真功能〔VSM〕和实用的PCB设计平台。Proteus资源丰富:〔1〕Proteus能提供成千上万的组件,如模拟和仿真,直流和交流,与30多个元件库。〔2〕Protues内部具有很多的仿真的仪器仪表,能够比拟真实的测量出仿真的数据,内部有电源模块、显示模块、通讯模块、以及各种分析仪等等。该仪器可以在调用相应电路。〔3〕除已有的仪器外,Proteus可以显示图形,通过图形的形式及时将线路上的变化信号地展示出来,近似于示波器,但是它所具备的功能相对更多一些。这些虚拟仪器仪表具有理想的参数指标,比方极高的输入阻抗、极低的输出阻抗。这些都能在很大程度上减少仪器对对测量结果带来的影响。〔4〕Proteus能供应相对多点的测试信号来做电路调试。这些测试信号包含了模拟信号与数字信号。(2)选用keiluvision4C语言开发环境,在编程环境中编写好程序代码。Keil软件是一款功能齐全开发环境很好的软件,其内部具有很强大的集成开发调试工具,并且该软件在生成源代码和汇编语言方面也有很大的优势。能够很快和有效率的将所需的源代码进行生成。AT89C51和LCD12864液晶显示器需要在5V的电压下正常运行。供应一个5V的电压启动单片机,将程序写入单片机之后,先将12864液晶显示屏复位,然后进行单片机I\O和存放器的初始化,最后图像程序经过编译后显示在12864液晶屏上。刚开始由于单片机和液晶屏的接口接错,导致图片无法正常显示,经过一番修改之后,屡次调试,液晶显示屏上正常的显示出图片,图片能够正常的自动更换浏览。仿真显示结果如图5.3所示。图仿真结果图此设计主要是对BMP图像进行解码展示。如图上面的一两张BMP图像显示,24位LCD,与分辨率128x64,在译码显示BMP图像在LCD屏幕。相比之下,液晶屏显示画面清晰,不失真,实现图像质量的根本标准。图解码后BMP图像当然,除了图像画面的效果显示,速度也是图片显示的一个重要标准。由于受到该系统自身特性的限制,比方读取大文件时,因为受到单片机自身RAM容量的限制,读取内容每次只能是一个扇区包含的信息,因而频繁读取过程,导致了图像显示速度的降低。不过从结果上来看,画面的显示速度相对而言比拟适中,处在人眼所能够接受的范围以内,大约每隔5秒钟就能够显示一幅完整的满屏图片。从全部显示的结果来分析,此次设计总体上已能够完成数码相框的图象显示功用,然而因为受到51单片机自身的少许性能制约,特别是关于乘除法的运算速率相对较慢,无法到达所需解码JPEG和GIF文件的速度,图像显示受到影响,所以对于大的图像文件,如JPG,GIF解码等有相当大的局限性。结论通过这一次的设计,所要求的数码相框系统功能已经根本上能够实现。同时该系统已经能够成功地播放大多数未压缩的BMP图像,在液晶屏幕上一个适当的速度显示,画面也根本到达了图像显示的标准效果。相框能够自动进行图片切换,循环播放。当然,在功能上,该数码相框还存在着很一些缺乏之处:(1)此设计的数码相框只能够支持一种图象文件格式的播放,而另外格式文件比方JPG、GIF等都不能够实现解码显示,所以此设计还需要优化。(2)数码相框无法实现大尺寸图像解码播放,只支持LCD128x64的小尺寸的大小以下。(3)由于采用的是单片机数据存储,存储容量有限,所以导致液晶屏显示图片的速度减慢,这也是这款数码相框有待优化的一个缺乏之处。总的来说,对数码相框的研制还是成功的,无论硬件还是软件都到达了设计的根本要求,实现了制作简单,本钱低,容易实现的数码相框设计。参考文献[1]现有主流数码相框方案解析及比照[EB/OL].://liangteng/,2023.[2]KeilSoftwareInc.Cx51Compiler[Z].Germany:KeilSoftwareInc,2001.[3]赵亮.单片机最小系统及I/O应用[J/OL].电子制作,2023,2.[4]MatsushitaElectricIndustrial,SanDiskCorporationInc.SDMemoryCardSpecifications[Z].Physicallayerspecification,2000.[5]张彬杰.数码相框也能自己做[J/OL].无线电,2023.[6]徐君毅.单片微型机原理与应用[M].上海:上海科技出版社,1995[3][7]李广弟,朱月秀等.单片机根底[M].北京:北京航空航天大学出版社,2003.[8]何立民.MCS51单片机应用系统设计[M].北京:北京航空航天大学出版社,2003.[9]洪岳炜,王百鸣,谢超英.一种易于移植和使用的文件系统FatFsModule[J].单片机与嵌入式系统应用,2023(5).[10]沈红卫.基于单片机的智能系统设计与实现[M].北京:电子工业出版社, 2005.[11]贾玉珍,勒冰,刘琮,大海.BMP文件结构的信息隐藏方法与实现[J].江西理工大学学报,2023,30(1).[12]龚成清.RLE改良算法对BMP图像无损压缩的实现[J].现代计算机,2006.[13]李伟,张利华.BMP文件解码的研究与实现[J].计算机工程与设计,2006,27(7).[14]徐寿芳.BMP图像的文件格式及显示方法探究[J].湖州职业技术学院学报,2005,2.[15]蒋小艳.基于BMP图像的LCD点阵数据提取实现[J].现代电子技术,2006,11.附录A附录B程序如下:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint#defineLeft(){lcmcs1=1;lcmcs2=0;}//通用#defineRight(){lcmcs1=0;lcmcs2=1;}//通用#defineAll(){lcmcs1=1;lcmcs2=1;}#defineCMD0#defineDATA1sbitlcmrs=P3^5;sbitlcmrw=P3^4;sbitlcmen=P3^6;sbitlcmcs1=P3^0;sbitlcmcs2=P3^1;sbitlcmrst=P3^3;ucharcodetupian1[][128]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x80,0x40,0x80,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x00,0x10,0x0D,0x44,0x10,0x47,0x90,0xD4,0xA2,0x90,0x52,0x80,0x92,0x11,0x88,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x30,0x10,0x10,0x08,0x08,0x04,0x06,0x02,0x02,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x03,0x02,0x02,0x14,0x0A,0x30,0x30,0xC0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0xE0,0x10,0x08,0x04,0x04,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x05,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6D,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x14,0x0E,0x14,0x56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x02,0x04,0x08,0x10,0x21,0x41,0x61,0x82,0x83,0x84,0x00,0x84,0x01,0x06,0x04,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x00,0x20,0x00,0x10,0x04,0x00,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x00,0x40,0x01,0x81,0x82,0x00,0x42,0x80,0x22,0x28,0x06,0x06,0x22,0x82,0x1A,0x52,0x20,0x82,0x03,0x02,0x00,0x03,0x01,0x01,0x00,0x00,0x00,0x80,0x00,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x02,0x00,0x03,0x00,0x01,0x06,0x64,0x16,0x00,0x60,0x04,0x04,0x31,0x02,0x44,0x29,0x30,0x20,0x40,0x12,0x30,0x00,0x10,0x40,0x10,0x08,0x00,0x08,0x24,0x02,0x0A,0x05,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};ucharcodetupian2[][128]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x88,0x88,0x88,0xF8,0x00,0x80,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x80,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0x00,0x40,0x80,0xC0,0xA0,0x80,0x40,0x80,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0xE0,0x48,0x10,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x20,0x77,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x08,0x14,0x08,0x0C,0x02,0x04,0x04,0x04,0x04,0x00,0x06,0x00,0x04,0x00,0x04,0x0C,0x0A,0x04,0x04,0x01,0x0C,0x0E,0x02,0x00,0x02,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x03,0x02,0x00,0x14,0x08,0x31,0x32,0xC8,0x20,0x40,0x04,0x00,0x00,0x42,0x00,0x40,0x00,0x02,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x40,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x20,0x42,0x14,0xC8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x05,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6D,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0x00,0x08,0x08,0x00,0x11,0x00,0x11,0x21,0x00,0x11,0x00,0x11,0x86,0x48,0x58,0x40,0x80,0x40,0x80,0x00,0x00,0x00,0x0C,0x00,0x04,0x00,0x04,0x00,0x08,0x10,0x00,0x80,0x20,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0x04,0x06,0x00,0xC0,0x07,0xC0,0x22,0x60,0x22,0x12,0x11,0x19,0x00,0x04,0x06,0x00,0x00,0x03,0x06,0x04,0x0C,0x00,0x18,0x20,0x00,0x64,0x04,0x86,0x81,0x06,0x04,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x00,0x20,0x00,0x10,0x04,0x00,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论