




免费预览已结束,剩余26页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中国计量学院本科毕业设计(论文)基于电容触摸屏的人机界面设计Research on Human Machine Interaction Design based on Capacitive Touch Screen学生姓名 学号 学生专业 电气工程及其自动化 班级 二级学院 机电工程学院 指导教师 中国计量学院 年 月致 谢当提笔开始写下这篇本科毕业设计论文的时候,真切的意识到大学,真的要结束了。弹指间,四年已去。这篇论文的完成,首先要感谢副教授和张老师,在繁忙的工作中抽出时间,给我的毕业设计指明方向,在设计过程中给予很多指导。不仅如此,当我在工作生活上遇到两难选择,不知如何解决时,老师用他们的生活阅历经验,帮我解决困惑。在这里由衷的感谢!其次,我还要感谢与我同组的周叶江和好友罗韶丹、谢云明,在我实验中遇到难题的时候,帮助我解决困难,同时督促我及时完成任务。在和他们的交流中,会不经意间得到灵感,有了更好的解决问题的思路。闭门造不出车,有了交流,不仅扩充了思路,同时也让毕业设计过程中有了更多乐趣。同时,我还要感谢本科里的所有任课老师,他们教会了我数电、模电、单片机、C语言等众多基础知识。正是这些基石的累计,才有了最后成品的诞生。最后的作品虽然还是很粗糙,还是希望它可以成为对我大学四年学习的一种肯定。最后,感谢所有全体答辩委员会的老师们对我论文的悉心指导和指正,让我得以不断完善,以尽可能完美的姿态给大学作出总结。还有我的父母,感谢他们的养育之恩和对我的教育培养。在大学期间,经历过转专业,认识了很多老师和同学,跟着不同的队伍,长大了。世界很小,我们就这样遇见;世界很大,自此一别就很难再见。感谢所有的老师和同学们,对我的帮助、包容、鼓励。除了对你们深深的感激,还要献上我最诚挚的祝福,祝一切安好,愿梦想成真。在那些淡若轻痕的乐曲中,所有的故事和情节都相继散场。我的大学,正在划上最后一个句号。 基于电容触摸屏的人机界面设计摘要:随着科技的发展,科技产品更加人性化,人们在生产生活中更趋向于使用人机界面。触摸屏的诞生迎合了这一趋势,它的广泛应用在相当长的一段时间内不会被取代。就目前情况而言,触摸屏还有很大的发展空间。其工作原理的更新迭代,会促进人机界面设计的创新。换言之,人机界面设计的需求,也会推动触摸屏的发展。在众多触摸屏技术中,电容触摸屏因其更强大的性能、可操作性、能实现多点触控等优势,逐渐取代电阻屏成为主流触摸屏。 本文结合了电容触摸屏触控和人机界面设计,同时还涉及了SD卡存储、读取,图片解码,TFT液晶屏显示等技术,综合性较高。本文较为详细讲述了基于电容触摸屏的数码相框设计原理。本数码相框采用ARM CORTEX-M0的LPC1114芯片为核心架构,通过从SD卡读取图片,经过解码BMP格式图片,然后在TFT液晶屏上显示出图片。另配有一电容触摸屏,自带FT5206芯片,可通过触控触摸屏,以实现人机对话。从而能实现数码相框的基本功能和设计要求,但仍有待进一步优化,以便既符合技术要求,又美观,同时用户舒适度高。关键词:数码相框 电容触摸屏 系统设计中图分类号:TP311Research on Human Machine Interaction Design based on Capacitive Touch ScreenAbstract: With the social developing and technology improving, the technology products are more humane. People tend to use Human Machine Interface both in the production and living. The birth of the touch screen caters to the trend. Its widely used for a long period of time will not be replaced.On the current situation, the touch screen still has great room for development. The update of the working principle, will promote Human Machine Interface design innovation. In other words, the needs of Human Machine Interface design, will promote the development of the touch screen. Because of its more powerful features and operability, capacitive touch screen has replaced the resistive touch screen gradually, and become the mainstream . This paper combines capacitive touch screen and human-machine interface design, also involves the SD cards read and write, the display of LCD, with a high comprehensive.This paper describes the design of Distal Photo Frame which based on Capacitive Touch Screen.The digital photo frame with ARM CORTEX-M0 use LPC1114 as the core of the framework.Through read pictures from SD card,and then decode BMP format pictures, at last display the picture on the LCD monitors.the Development Board also has a Capacitive Touch Screen with a FT5206 chip, it can Realize the man-machine dialogue through touch the screen. In principle, it could reach the design requirements of the Distal Photo Frame which based on Capacitive Touch Screen .So that it could realize the basic function of the digital photo frame and design requirements, but it remains to be further optimized, in order to conform to not only the requirements of the technology, but also the beautiful, high user comfort at the same time.Keywords:Distal Photo Frame Capacitive Touch Screen System designClassification:TP311II目 次摘要II目次III1绪论11.1人机界面及触摸屏的研究背景11.2人机界面及触摸屏的研究意义21.3人机界面及触摸屏的发展现状21.4本文主要研究内容22开发环境42.1硬件环境42.2.1主芯片LPC1114 及其相关功能52.2.2 液晶控制器ILI9325及其相关功能52.2.3电容触摸控制IC FT5206GE162.2.4 SD卡中图片读取82.2.5 图片格式BMP的解码和显示92.2软件环境102.2.1 Keil Vision4102.2.2 Flash Magic103数码相框设计和实现113.1处理器系统113.1.1硬件连接113.1.2 程序设计113.2读写SD卡133.2.1硬件连接133.2.2程序设计143.3 TFT液晶屏的显示163.3.1硬件连接163.3.2 程序设计173.4电容触摸屏系统183.4.1硬件连接183.4.2程序设计184数码相框的调试204.1开发板的基本情况检测204.2电源调试204.3编译程序并烧录204.4功能调试205总结及展望225.1总结225.2展望22参考文献23IV中国计量学院本科毕业设计(论文)1绪论随着数码相机的普及,使人们拍下来的数码相片越来越多,但是大多数的数码相片被人们保存在硬盘、光盘、存储卡等存储介质中,只有不到35的照片被打印出来,数码相框的出现为人们展示数码相片提供了一种很好的选择1。如果将这些照片打印出来,耗时耗钱,翻看起来还不方便,不能体现出数码照片的优越性。存储在其他数码设备上,会因不能随时欣赏翻看带来些许的不便。在这种需求下,数码相框应运而生。数码相框可以动态展示数码相片,取代了以往静态展示的纸质相片,其使用SD卡或TF卡等存储卡来存储照片。目前市场上有爱国者、飞利浦、影巨人等公司生产的数码相框,多为遥控触控。传统数码相框一般只通过液晶屏幕显示照片并循环播放,可以存储并展示上百甚至上千张照片,比普通的相框灵活多变,但仍存在一定的局限性。随着科技的进步,数码相框的基本功能也在增加,提供给人们更多的选择。在触摸屏广泛使用的今天,人们越来越倾向于使用带有触摸屏的产品。这样操控更加快捷舒适,还不用担心找不到遥控器的问题发生。本文将触摸屏应用到数码相框设计中,扩充了数码相框的用途,丰富了用户的选择,是数码相框更有市场竞争力。1.1人机界面及触摸屏的研究背景人机界面(Human Machine Interface,简称HMI)是种转换,是把人的思维和行为转换成机器可以接受的方式,也可以把机器的行为方式转换成人可以接受的方式。人机界面设计思想要使计算机在人机界面上顺应人的思维特性和动作特性,实现“以人为本”的人机界面。一个友好美观的界面会给人带来舒适的视觉享受,拉近人与电脑的距离,为商家创造卖点。界面设计不是简单的美学感受,他需要了解产品的使用者、所处环境以及用途,从而进行针对性设计,是多学科综合性设计。检验一个界面的标准既不是某个项目开发组领导的意见也不是项目成员投票的结果,而是最终用户的感受。因此,界面设计要与用户体验调查联系在一起,是一个不断为最终用户设计完美感官体验的过程。经过多年的发展,触摸屏成为人机对话设备中的主流品种。触摸屏(Touch Screen) 是定位设备的一种,可以被用户手动给计算机设定坐标信息,与鼠标、键盘一样,也是一种输入设备。触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点2。触摸屏作为一种新型的人机界面,从一出现就受到关注,利用触摸屏技术,用户只需用手指轻轻触碰计算机显示屏上的图符或文字就能实现对主机的操作,摆脱了键盘和鼠标操作,使人机交互更为直截了当3。由于触摸屏控制简单易学,所以这种技术现在正广泛使用中,给人们生产生活带来了极大的便利,应用在各行各业中,如医疗设备、通信设备、娱乐设备、公共设施等,无处不体现着触摸屏的优越性。就目前情况而言,触摸屏的技术不是完全成熟,有众多的可研究领域。并且,随着终端用户逐渐接受人性化的触控操作方式,触摸屏的渗透率正在逐年提高,由此形成了巨大的触摸屏市场。值得继续发掘其潜在价值。1.2人机界面及触摸屏的研究意义触摸屏具有不易破碎、耐用、高效、轻便、方便使用等许多优点。触摸屏体现出极大的优越性,覆盖了广阔的市场,极大的方便了人们的工作生活。随着计算机技术的发展,操作命令也越来越多,功能也越来越强。现在各种识别模式都同步竞争发展中,比如较为成熟的汉字识别、正飞速前进的语音识别、蓬勃发展的图片识别等,使计算机语言与自然语言或是次级自然语言的直接交流成为可能。这方面无限的可能,吸引着人们不间断的研究。 1.3人机界面及触摸屏的发展现状目前,市场上已经商业化的触摸屏的种类主要有以下几种,它们分别是:电阻式(模拟电阻式和数字电阻式)、电容式(表面电容式和投射电容式)、红外式、声波式(表面声波式和弯曲声波式)、光学成像式、In-cell结构式、On-cell结构式、电磁共振式、组合式及其它4。在以上提及的技术中,最广泛使用的是电阻式触摸屏和电容式触摸屏。随着科技、生产工艺的不断发展,电容式触摸屏凭借其更广泛的用途和良好的性能,逐渐取代电阻式触摸屏,成为主流触摸屏。回顾人机界面的发展历史,目前可以分为两大时间段。第一个时间段,是用文本的交流, 如菜单、命令、对话等,难用且不灵活。第二个时间段,是直接操作界面,它引出更自然的视觉交流。我们期待着下一个时间段,将是多种多媒体结合呈现的方式,综合了计算机语言、自然语言和图形,还可以包含其他交流方式,入人体的动作、三维图像等,例如正在研发最后阶段的google眼镜。现在的人机界面设计强调更加人性化和智能化,以提供给是用户最舒适的体验。1.4本文主要研究内容 本文首先实现了数码相框的一些基本功能,即把240*320像素的24位BMP照片放入SD卡中,并在液晶屏上显示;同时增加了电容触摸屏操控,通过用户的操作,实现图片的翻页等功能。数码相框主要由4大部件组成:处理器、存储器(SD卡)、显示模块和电源系统等。数码相框由电源系统供电,从存储器(SD卡)读取图片,经处理器解码处理,显示在TFT屏幕上。当人手指在显示模块上进行操作时,由处理器进行手势识别,并对图片做出相应处理。系统流程图如图1.1所示图1.1 系统流程图2开发环境2.1硬件环境本文使用的是基于ARM CortexM0的开发板。CortexM0处理器是由ARM公司在2009年初发布的嵌入式处理器系列中最小型、最低功耗的。CortexM0低功耗、高性能与极精简程序代码的特性,能应用于各种微控制器(MCU)中,并可让研发业者以8位的价位创造32位的效能,并进一步将传统的8位和16位的处理器推进至更高效能、更低功耗的32位处理器5。板载主控芯片是LPC1114FBD48/302 ,其主频最高可达50M Hz。其外设资源有:32KB 的FLASH程序存储器,8K的 SRAM数据存储器,1个增强快速(FM+)I2C接口,1个支持RS485/EIA485标准的通用异步收发器UART,2个具有SSP特性的SPI接口,1个10位ADC模块,可复用到8个引脚上,4个通用定时器(2个32位定时计数器,2个16位定时计数器),42个GPIO(P0P2,各12根脚;P3,6根脚),1个看门狗(有独立的看门狗时钟),系统定时器SysTick,PLL倍频器,SWD调试模块,集成电源管理单元PMU,NVIC嵌套向量中断,内部IRC产生12MHz时钟,可同时输出11路占空比和频率可调的PWM信号。本文实际操作中用到的主要资源如图2.1和图2.2 所示。图2.1 开发板展示图(正面)ISP开关;mini USB接口;电源按钮;电源指示灯;主芯片PLC1114;TFT彩色液晶接口;复位按钮;图2.2 开发板展示图(反面)40 PIN排针;触摸屏控制IC FT5206GE1;SD卡接口;2M FLASH储存芯片W25Q162.2.1主芯片LPC1114 及其相关功能本文使用的主芯片是32 位单片机LPC1114(如图2.3所示)。LPC1114作为LPC1100系列的一种,内部资源非常丰富6。LPC1114拥有领先的ARM Cortex-M0内核,频率高达50MHz,支持睡眠、深度睡眠和深度掉电3种低功耗模式。配置有2个晶振引脚,4个电源引脚,42个通用输入输出脚,共48根脚。 图2.3 LPC1114 在开发板上,其接线如图2.4所示图2.4 LPC1114电路原理图2.2.2 液晶控制器ILI9325及其相关功能开发板上为2.4寸TFT,分辨率240*320,即它一共有240*320=76800个点,每个点都是由三原色RGB(红绿蓝)组成,每个点都可以配置成不同的颜色,不同颜色的点组合在一起,就形成了一幅图画,所谓的刷屏速度就是显示整个屏幕76800个点所用的时间。液晶显示器件种类繁多,驱动方式也各不相同,但是无论哪种类型的器件,不论使用何种驱动方式,都是以调整加到像素上的电压、相位、频率、峰值、有效值、时序和占空比一系列参数来建立起一定的驱动条件进而实现显示的7。开发板中使用液晶控制器ILI9325,是专门为美欧液晶控制器的单片机设计。液晶主控芯片ILI9325有8、9、16、18为并行和SPI串行,共5种数据传输方式8。四种总线接口控制TFT,分别是i80 系统MPU 接口,VSYNC 接口,SPI接口,RGB接口。考虑到LPC1114的IO口是12位的,所以一般情况下还是采用8位i80 系统MPU 接口,这样速度最快,且不影响使用。2.2.3电容触摸控制IC FT5206GE1 FT5x06系列集成电路是单芯片电容式触摸屏控制器IC,带有一个内置的8位微控制器单元(MCU)。该电容屏采用互电容式,支持真正的多点触控,触控灵敏,现今广泛使用在便携式设备中。 FT5x06系列IC包括FT5206/FT5306/FT5406。本次毕业设计所用开发板上的电容触摸IC使用的是FT5206GE1。 它的特点有:互电容式传感技术,实现真正的多点触控,最多可以有10个点,抗射频干扰,自动校准电容和环境的变化不敏感,内置MCU32KB程序存储器,6KB数据存储器和256B的内部数据空间支持多达28个传输线和16接收线,支持8.9寸触摸屏,超过100Hz的报告速率,11个内部中断源和2个外部中断源,可选I2C或SPI接口,工作电压在2.8V至3.6V等。 主机接口是主机处理器和FT5x06之间的接口。该接口由以下三组信号组成,分别是串行接口、从FT5x06到主机的中断、起始信号从主机到FT5x06。 FT5x06的串行接口是I2C或SPI。中断信号用于FT5x06通知主机,主机接收数据准备好。 起始信号是用来主机醒来FT5x06从休眠模式。退出休眠模式后,FT5x06应进入活动模式。FT5x06支持I2C或SPI接口,它可以由主处理器或其它设备使用。 SPI(SerialPeripheralInterface)是由Motorola Inc开发的全双工同步串行总线,是一种串行同步通讯协议,组成设备有一个主设备及一个或多个从设备。当主设备启动一个与从设备的同步通讯时,就能完成设备之间的数据的交换。四种信号构成了SPI的接口,分别是SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号),CS 用来决定哪个从设备与主设备进行通信。如果没有了CS信号,那么只能有一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由SDO 输出,SDI 输入,数据在时钟的上升或下降沿由SDO 输出,在下一个的下降或上升沿从SDI 读入,这样经过8/16次时钟的改变,完成8/16位数据的传输。LPC1114上集成有一个I2C总线接口。 由于本次毕业设计中主要采用I2C通信协议,下面将重点介绍下I2C通信协议。 I2C(InterIntegrated Circuit)是由飞利浦公司开发的两线式串行总线(一条串行数据线SDA,一条串行时钟线SCL),用于连接微控制器和外围设备,是一种微控制器和外围设备的通信协议。I2C总线以其严格的规范和众多支持I2C接口的外围器件而获得了广泛的应用9。I2C总线的优点非常多,其中最主要的体现在是,硬件结构上相同接口;电路接口简单;软件操作一致。I2C 总线还有另一优点,即它的主控机不确定,就是任何能够进行发送和接收数据的设备都可以成为主控机。当然,在任何时间点上只能允许有一个主控机。(1) I2C总线工作原理 图2.5 所示为I2C总线的连接图。I2C 总线是由数据线SDA和时钟线SCL构成的串行总线,可收发数据。在单片机与被控IC之间,最高传送速率有100kbps,各种I2C器件以并联模式在这跟总线上,他们之间的联系就像电话网络一样,不会互相冲突,如果要互相通信,就拨通相对应的地址,每一个I2C模块都有唯一地址。并联在I2C总线上的模块,既可以是主控器(或被控器),也可以是发送器(或接收器),这取决于它所要完成的功能。I2C总线在传送数据过程中共有起始信号、停止信号应答信号与非应答信号,这四种信号。图2.5 I2C 总线的连接图(2) I2C总线数据的传送规则 起始信号:在I2C总线工作过程中。当SCL为高电平,若SDA由高电平向低电平跳变,则将之定义为起始信号,起始信号由主控机产生。如图2.6所示 图2.6 起始信号停止信号:在I2C总线工作过程中。当SCL为高电平,若SDA由低电平向高电平跳变,则将之定义为停止信号,停止信号由主控机产生。如图2.7所示图2.7 停止信号 应答信号:在I2C总线工作过程中。I2C总线传送的每个字节为8位,受控的器件在接收到8位数据后,在第9个脉冲必须输出低电平作为应答信号。同时,要求主控器在第9个时钟脉冲位上释放SDA线,以便受控器发出应答信号,将SDA拉低,表示接收数据的应答(如图2.8所示)。如果在第9个脉冲,收到受控器的非应答信号,则表示停止数据的收发。其次,每一次启动总线,传输的字节数没有限制。主控件和受控器件都可以在收、发状态下工作。总线由主器件控制,即由主控器来产生时钟信号 起始信号停止信号等控制信号。需要注意的是,时钟线传输的时钟信号有高低电平之分。在高电平期间,要求数据线上传输的数据必须稳定,在此期间,控制器件及被控制器件之间可以交换数据;在低电平期间数据线上的数据可以变化即允许数据线上的高低电平跳变10。当时钟线为高电平的期间,数据线状态的改变被用来表示起始或停止条件。另外需要注意的是,当主控器接收数据时,在最后一个数据字节,必须发送一个非应答信号(如图2.9所示),使受控器释放数据线,以便主控器产生一个停止信号用以终止总线的数据传送。 图2.8 应答信号 图2.9 非应答信号2.2.4 SD卡中图片读取目前市场上的存储卡有很多种,有CF、TF、SD、MMC等,考虑到主流型号,本次毕业设计选用SD卡,如图2.10所示。图2.10 SD卡SD卡(Secure Digital Memory Card),是1999年由东芝、松下、SanDisk发布,在2000年由SD组织(EI,SANDISK,东芝)制定标准,有大容量、高性能、安全等多种特点,是目前消费数码设备中应用最广泛的一种存储卡。SD卡具有两种工作模式,分别是SD模式和SPI模式11。在不同模式下的9个管脚的定义也不一样,如表2.1所示。SD卡通过与主机的9-Pin连接器,进行数据传输,通过一个Card interface controller将主机传输的命令进行处理,通过memory core interface与存储单元进行数据的读取与存储。 SD模式的读写速度比SPI模式快。很多新出的单片机都集成了SD接口,但由于本开发板LPC1114只有SPI口,所以只能选择用SPI模式读写SD卡。 表2.1 SD卡不同模式下的9个管脚的定义管脚SD模式SPI模式名称功能名称功能1CD/DAT3卡检测/数据线BIT3CS使能2CMD命令/反馈DI数据输入3VSSl接地VSSl接地4VDD电源输入VDD电源输入5CLK时钟信号CLK时钟信号6VSS2接地VSS2接地7DATO数据BIT0DO数据输出8DAT1数据BIT19DAT2数据BIT22.2.5 图片格式BMP的解码和显示 数码相框常见的支持格式有BMP、GIF、JPG、PNG、TIF等。由于使用LPC1114微处理器只能达到原理性的效果,特殊效果无法实现,除了BMP格式的图片,其他格式图片都涉及解码问题,使用微处理器软件解码非常缓慢。所以,只能使用BMP格式的图片实现原理展示。若要播放JPG、GIF等格式的文件,可增加MPX612等芯片用于解码。BMP(全称Bitmap)是Window操作系统中的标准图像文件格式 ,使用也很广泛。它采用位反映映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此。BMP占用的空间很大。BMP文件存储数据时,图像的扫描方式是按照从左到右、从下到上的顺序。典型的BMP图像文件由3部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息:位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息12。本文要显示的是24位位图,24位位图显示比16位位图复杂。因为一般情况下,SD卡读取一扇区数据为512字节,而512字节不能存储完整的RGB信息。在最后一个RGB数据中会少一字节数据,也就是说,前510字节存放了170个像素点的颜色信息,最后两字节只存放了一个像素点的部分信息,需要从下次读取信息中获取一字节数据补齐。2.2软件环境2.2.1 Keil Vision4本文调试程序使用软件Keil Vision4。该软件是由ARM Keil推出的基于Vision界面,用于调试ARM7,ARM9,Cortex-M系列的开发工具。Keil Vision4整合了编辑器、项目管理器和生成工具,集成了开发嵌入式应用程序的所有工具:CC+编译器、宏汇编程序、连接程序与定位程序及Hex文件生成器等13。Keil Vision4的特别之处在于,引入了灵活的窗口管理系统,能够使用多台监视器。新的用户界面可以更好地利用屏幕空间,并更有效地组织多个窗口(如图2.11 所示),提供一个整洁,高效的环境来开发应用程序。图2.11 组织多个窗口图2.2.2 Flash Magic 本文使用到的另一软件是Flash Magic,这是用于编程下载的小软件。给LPC1114下载程序,有串口和仿真器两种方法。 (1) 若使用仿真器,可以使用JLINK V8,并安装JLINK 驱动程序。考虑到这种方法需要另外配置一个JLINK,会增加成本,在本次毕业设计中,该选择次于使用串口方法。(2) 若使用串口方法。一般的笔记本已经没有串口,但本次毕业设计使用的开发板上已经集成了USB转TTL芯片,因此只需要连上电脑的USB接口,就可以即供电又下载程序了。要想把程序烧录进芯片,需要使用ISP 软件:Flash Magic。这样就可以十分方便的将程序烧录进芯片。要进入进入ISP模式,只需要将 P0.1设置为低电平,即可进入ISP模式,便可利用UART烧写程序。3数码相框设计和实现 3.1处理器系统3.1.1硬件连接详见图2.4,处理器将其他各部分连接在一起,指挥各系统间配合操作,这里就不多做解释了3.1.2 程序设计(1) 程序流程如图3.1所示。 图3.1 主程序流程图 首先初始化,将所有芯片设置工作在同一时钟下,然后调用TFT液晶屏显示程序,进行清屏,这里程序设置为显示主界面;然后调用SD卡程序,从SD卡里扫描图片,并检测是否是BMP格式图片,如果是,则显示图片,不是则继续扫描;成功显示图片后,等待检测触摸屏是够被按下,若有触摸屏被按下事件发生,检测出坐标位置,并做出相应动作;若没有触摸屏被按下事件,则继续等待。(2) 主要程序设计与解释: 有主界面进入选择界面:if(Read_Continue()=0) / 如果检测到触摸屏被按下if(Pen_Point.X_Coord105)&(Pen_Point.X_Coord115)&(Pen_Point.Y_Coord120)&(Pen_Point.Y_Coord250)/如果点击区域在“下一张”范围内if(inum) / 且不是最后一张图片i+; if(flagi = 1) / 检测是否是BMP图片 strcpy(char *)(filePath), (char *)(tempPath); strcat(char *)filePath, (char *)(FileNi); TFTBmpDisplay(uint8*)filePath,0,0);/ 显示图片 3.2读写SD卡3.2.1硬件连接在开发板上,SD_CS与P0.11(详见图2.4)相连接。其他SPI 控制接口接LPC1114 SSP0 接口,如图3.2所示。图3.2 SD卡电路原理图3.2.2程序设计(1) SD卡存取程序流程如图3.3所示。图3.3 SD卡程序流程图 首先检测是否有SD卡,如果检测到有SD卡,则初始化SD卡到SPI模式,如果没有检测到SD卡,则返回到主程序;成功初始化SD卡后,就可获取SD卡的信息,如CSD信息、CID信息、容量等,若初始化不成功,则返回主程序;成功获取信息后,即可准备接收传输数据,若不成功,则返回主程序。(2) 主要程序设计与解释 检测SD卡:uint8 SD_Type=0;/SD卡的类型uint8 SD_GetResponse(uint8 Response)uint16 Count=0xFFF;/等待次数 while (SPI0_communication(0XFF)!=Response)&Count)Count-;/ 等待 回应的次数 if (Count=0)return MSD_RESPONSE_FAILURE;/得到回应失败 else return MSD_RESPONSE_NO_ERROR;/得到回应成功 初始化SD卡到SPI模式,先产生大于74个脉冲,让SD卡自己完成初始化:for(i=0;i12;i+)SPI0_communication(0xFF);do i = SD_SendCommand(CMD0, 0, 0x95); repeat+; while(i!=0x01)&(repeat200); / 最大发200次CMD指令 if(repeat=200)return 1; /若失败repeat = 0; / 恢复repeat值 获取SD卡信息:SD_CS_Low;r1 = SD_SendCommand_NoDeassert(8, 0x1aa,0x87);/可根据返回值即可判断 SD的版本。 准备数据传输:SD_CS_Low;/启动传输 if(SD_GetResponse(0xFE)/等待SD卡发回数据指令 SD_CS_High;return 1; while(len-)/开始接受数据 *data=SPI0_communication(0xFF); data+; SPI0_communication(0xFF); SPI0_communication(0xFF); if(release=RELEASE)/按需释放总线,将CS置高 SD_CS_High;/传输结束 SPI0_communication(0xFF); return 0; 返回主程序: Return r1;3.3 TFT液晶屏的显示3.3.1硬件连接图3.4 硬件连接图在开发板上,2.4寸液晶屏与LPC1114连接脚为DB8DB16,如图3.4所示。LCD_CS:液晶显示器片选引脚,低电平有效;LCD_RS:高电平“写数据”,低电平“写命令”LCD_WR: 写信号输入引脚,低电平有效;LCD_RD: 读信号输入引脚,低电平有效;LCD_RST:液晶显示器复位引脚。3.3.2 程序设计(1)程序流程,如图3.5所示 首先初始化液晶屏,可以设置液晶屏显示全白或是其他格式,接着设置液晶屏的X、Y坐标,将数据写入ILI9325寄存器,由其定义显示个点的颜色,并最终显示出一幅图片。图3.5 TFT液晶屏显示流程图(2)主要程序设计与解释初始化液晶屏:LCD_Init(); / 初始化液晶屏W25X16_Init(); / 初始化W25X16LCD_Clear(WHITE); / 全屏显示颜色,此处颜色可自定义设置X、Y坐标:LCD_WR_REG_DATA(0x0020,0);/设置X坐标LCD_WR_REG_DATA(0x0021,0);/设置Y坐标 指向ILI9325显存:LCD_WR_REG(0x0022); /指向ILI9325,写入显存3.4电容触摸屏系统3.4.1硬件连接如图3.4所示,2934脚分别于电容屏管脚相连接。D_CLK接SCL:I2C 时钟输入引脚D_CS接CS:复位键,低电平有效D_DIN接INT:外部中断到主机D_BUSY接VDD :为电容触摸屏供电D_OUT接SDA:I2C 数据输入输出引脚D_P接GND:接地3.4.2程序设计(1) 程序流程如图3.6所示。 图3.6 电容触摸屏流程图 首先读取X轴或Y轴的ADC值,读数成功后,再读取一次,比较两次读数的误差,若在误差允许范围内,则将ADC值转换成XY坐标值并输出。以上步骤若有任一处出错,则返回主程序,重新开始。(2) 主要程序设计与解释 定义误差范围: #define ERR_RANGE 50/ 定义误差在50以内 两次读数,取误差范围内的值: res=Read_ADS(&x1,&y1); / 第一次读取数值 if(res=1)return(1); / 若读取失败,则返回1 res=Read_ADS(&x2,&y2); / 第二次读数 if(res=1)return(1); / 若失败则返回1if(x2=x1&x1x2+ERR_RANGE)|(x1=x2&x2x1+ERR_RANGE)&(y2=y1&y1y2+ERR_RANGE)|(y1=y2&y2y1+ERR_RANGE)*x=(x1+x2)/2;*y=(y1+y2)/2;return 0; / 读取数值正确,则返回0else return 1; / 误差大于50,读数失败返回1 将ADC值转换成坐标值:void Change_XY(void)Pen_Point.X_Coord=(240-(Pen_Point.X_ADC-100)/7.500); /将X的ADC值 转换成坐标值Pen_Point.Y_Coord=(320-(Pen_Point.Y_ADC-135)/5.705); /将Y的ADC值 转换成坐标值 4数码相框的调试4.1开发板的基本情况检测使用万用表等检测仪器,检查开发板的电气连通性,确保开发板的硬件连接没有错误。4.2电源调试 将开发板通过USB连接到电脑上,按下开关按钮,P_LED红灯亮,说明电源正常。否则电源没有正确连接,需要检查连接。4.3编译程序并烧录在Keil uVision4中写入程序,经过编译显示 0 ERROR(S),0 Warning(s)后,便可生成.hex文件,在通过FLASH MAGIC 烧录进开发板中。若在编译是显示出错误或警告,可根据显示的错误位置,修改程序,直到没有错误或警告,才能生成hex文件,烧录进开发板中.4.4功能调试根据写入的程序,以及期望达到的效果,可以看到:接入电源,按下电源按钮,P_LED红灯亮(如图4.1所示),电源正常。屏幕上显示出“数码相框”及相应图片。图 4.1 电源正常工作图单击图片,边缘加深(如图4.2所示),说明正确选择期望功能图 4.2 单击图片,边缘加深图再次单击图片,进入数码相框功能,显示操作功能区域。在如图显示的区域内单击左上角切换到上一张图片,单击右上角切换到下一张图片,单击下方,突出数码相框功能,返回主界面。在不操作一秒后,开始显示图片(如图4.3所示),如果点击到最后一张图片,继续单击“下一张”区域,将播放第一张图片,循环播放。图 4.3 正常显示图片图5总结及展望5.1总结本文在基于ARM CORTEX-M0的开发板上,设计出的一款数码相框,板载主控芯片是LPC1114FBD48/302,辅助芯片有ILI9325、FT5206GE1、W25Q16等,涉及到I2C通信协议、SPI通信协议、SPI读数模式等原理。本文首先综述了人机界面及触摸屏的研究背景、研究意义和发展现状。然后介绍了本文所使用的硬件开发环境和软件开发环境。接着详细阐述了数码相框所使用的开发板部分和程序设计。最后展示了成品的调试运行,结果显示。本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年量子计算在金融风险模拟中的风险管理与技术创新案例研究报告
- 煤炭场地的租赁合同协议
- 矿山转买卖中介合同范本
- 混凝土供应服务合同范本
- 锻造设备出售合同协议书
- 窑厂购买合同协议书模板
- 粤菜厨房承包合同协议书
- 由第三方履行的合同协议
- 电力安全许可转让协议书
- 舞蹈收费培训合同协议书
- 北川县楠木园水泥用石灰石矿矿山地质环境保护与土地复垦方案
- 半导体芯片知识讲座
- 2024年广东广州市天河区社区专职工作人员招聘笔试参考题库附带答案详解
- 医院儿童口腔科乳牙金属预成冠修复学习培训课件
- 电池的历史与发展
- 抖音认证承诺函
- 食品安全相关法律法规培训
- 医患沟通原则与技巧课件
- 月球基地建设与运行管理模式
- 燃煤机组深度调峰技术探讨
- 科技裸眼3D显示屏生产基地项目商业计划书
评论
0/150
提交评论