基于ARM的电子点菜系统的设计_第1页
基于ARM的电子点菜系统的设计_第2页
基于ARM的电子点菜系统的设计_第3页
基于ARM的电子点菜系统的设计_第4页
基于ARM的电子点菜系统的设计_第5页
已阅读5页,还剩67页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

本科毕业设计论文题目基于ARM的电子点菜系统的设计上位机硬件及显示屏软件设计院(系)电子信息工程专业电子信息科学与技术班级学生学号指导教师2012年6月摘要I基于ARM的电子点菜系统的设计上位机硬件及显示屏设计摘要无线电子点菜系统是餐馆实行信息化管理的一个重要组成部分,该系统的应用不仅会给餐饮企业带来良好的经济效益,而且为餐饮业的发展掀开了新的篇章。文章首先分析了无线点菜终端上位机系统组成及功能分配,并在此基础上对系统各个组成模块的硬件进行设计。同时本文还有部分软件设计,对显示屏的软件设计。本设计主要以基于ARM7内核的LPC2294为处理器、嵌入式系统技术、UC/OSII为嵌入式操作系统、ADS12开发平台、GSM无线通信技术以及LCD显示的点菜终端。关键词嵌入式系统;UC/OSII;GSM无线短信;LCD显示屏摘要IIPCHARDWAREANDDISPLAYSOFTWAREDESIGNBASEDONTHEDESIGNOFTHEARMSELECTRONICORDERINGSYSTEMABSTRACTTHEWIRELESSELECTRONICORDERINGSYSTEMISANIMPORTANTCOMPONENTOFTHERESTAURANTTOIMPLEMENTINFORMATIONMANAGEMENT,APPLICATIONOFTHESYSTEMWILLNOTONLYFOODANDBEVERAGECOMPANIESTOBRINGGOODECONOMICBENEFITS,BUTALSOOPENEDANEWCHAPTERINTHEDEVELOPMENTOFTHECATERINGINDUSTRYTHEARTICLEFIRSTANALYZESTHECOMPOSITIONNDFUNCTIONOFDISTRIBUTIONOFTHEHOSTCOMPUTERSYSTEMFORWIRELESSORDERINGTERMINALS,ANDONTHISBASIS,THECOMPONENTMODULESOFTHESYSTEMHARDWAREDESIGNMEANWHILE,THEREARESOMESOFTWAREDESIGN,DESIGNOFTHEDISPLAYSOFTWARETHISDESIGNISMAINLYBASEDONARM7CORELPC2294PROCESSOR,EMBEDDEDSYSTEMTECHNOLOGY,UC/OSIIEMBEDDEDOPERATINGSYSTEM,ADS12DEVELOPMENTPLATFORM,GSMWIRELESSCOMMUNICATIONTECHNOLOGYANDLCDDISPLAYTERMINALOFALACARTEKEYWORDSEMBEDDEDSYSTEMUC/OSIIGSMWIRELESSMESSAGELCDDISPLAY摘要III目录摘要IABSTRACTII目录III1绪论111前言112课题研究的意义113国内外发展现况114论文的结构安排12相关技术介绍121ARM技术介绍122液晶显示技术介绍1221TN型液晶显示器的原理91222TFT型液晶显示器的原理9123系统方案设计13单元电路设计131硬件功能设计132处理器电路设计1321LPC2294微处理器1322晶体电路1323复位电路1324按键电路1325JTAG电路1326电源电路133短信接收模块电路设计1331TC35I短信模块1332TC35I主要技术指标1333TC35I主要的短消息GSMAT指令1334TC35I外围电路设计134LCD显示屏设计1341液晶显示模块概述1342LCD控制驱动器1343LCD外围电路设计135电源电路136总体原理图1371印制电路板设计步骤1372PCB设计编辑器的使用14软件设计1摘要IV41ADS12集成开发环境介绍142ADS12安装143UC/OSII在LPC2294上的移植1HYPERLINKL“_TOC326182492“431C/OS的特性与功能1图45显示屏软件流程图145显示屏程序15调试151硬件调试1511PROTEL介绍1512原理图,PCB调试152软件调试16结论161总结162收获与体会163不足及有待改进的地方1参考文献1致谢1毕业设计(论文)知识产权声明1毕业设计(论文)独创性声明1附录A硬件原理图1附录BPCB布线图1附录C外文资料原文及翻译11绪论11绪论11前言近年来,随着社会的快速发展,人民生活水平的提高和生活方式的改变,餐饮业得以快速发展。电子点菜已发展成一种趋势,不仅降低了人力资源成本,还实现了餐饮业利润的最大化。本设计题目是基于ARM的电子点菜系统的设计上位机硬件及显示屏软件设计,主要内容是利用ARM作为系统MCU,再加上一些短信接收模块、显示模块等一些必要的外围电路模块组成一个用于显示菜单的信息,并打印出菜单硬件电路系统。12课题研究的意义在竞争愈演愈烈的今天,信息科技在各行各业广泛应用的时候,餐饮业却一直徘徊在信息科技的边缘地域。越来越多的餐饮业管理者达成了一种共识传统的由人工来传递菜单的点菜方式已经不能满足市场的需求。不仅浪时间、效率低下,而且很容易出现错误,从而大大降低服务质量,给企业带来不必要的损失。本文设计电子点菜系统,大大降低人力资源成本,加快各环节之间的数据流通,对企业软环境的档次有较大提高。在以特色服务引客户的同时,有效提高餐饮机构的服务质量和工作效率,为餐饮业创造更多利润。无线点菜终端是众多餐饮管理系统中的组成部分,所使用的技术是嵌入式1。作为专用的计算机系统的嵌入式系统与通用计算机系统相比具有以下特征系统简练、专用性强、实时操作系统支持、专用开发工具支持。主要考虑了开发者的方便和平台具有高度模块化。而且嵌入式通常采用宿主机/目标机方式,有利于宿主机上丰富的资源及良好的开发环境开发和仿真调试目标机上的软件,然后通过串行口或网络将交叉编译生成的目标代码传输并装载在目标机上,然后运行。其次,嵌入式系统可以支持移动数据库,而移动的结果导致系统的小型化,只有小型化才能嵌入到其他系统,同时又促进了移动。综上所述,无线点菜系统运用嵌入式系统设计的思想,采用目前最先进的嵌入式技术和无线通讯技术,从而实现餐饮企业管理要求。通过无线点菜终端可以降低服务员的劳动强度,提高工作效率,提升餐厅的形象和地位。同时能容易的汇总餐厅的各种数据,并通过计算机的处理能力提供有用的数据。因此,在餐饮业应用嵌入式系统实现无线点菜功能有着积极的意义。13国内外发展现况20世纪70年代以前,餐饮业沿用的服务方式是人工服务。20世纪末,随着新科技的发展,尤其是计算机信息技术的突飞猛进,越来越多的企业1绪论1意西安工业大学毕业设计(论文)2识到餐饮业信息化的重要性。一些餐饮服务系统、餐饮管理系统相继投入使用,给餐饮业注入了新生的血液2。国外在20世纪70年代,而国内在80年代末诞生了餐饮服务管理系统的雏形。这个雏形是总服务台的服务器PC机、以及和服务器相连接的打印等外围设备,实现的功能都比较简单,主要有结账、核算、打印收据等基本功能。这个时期餐饮服务管理系统的概念实际上还算不上真正意义上的餐饮管理系统,只是为高科技进入服务行业打开了一道门。80年末90年代初,随着网络技术的迅速发展,餐饮服务管理系统中出现了使用C/S和B/S体系结构的一触摸屏为交互终端点菜系统。20世纪90年代到今天网,网络技术有了很大的突破,餐饮服务管理系统也不例外,开始使用红外、蓝牙、80211系统等无线技术。目前在我国餐饮管理系统基本上有以下三种形式3。(1)触摸屏服务器识别卡系统有多台触摸屏构成,通过局域网与服务器相连,通过识别卡来确定顾客身份。这种方式需要建立无线局域网,利用数据库技术,动态网页技术,无盘工作站技术,充分利用有线局域网达到满意的服务效果。(2)无线点菜机无线接入点服务器识别卡这种通信方式采用了有线和无线两种方式的结合,无线方式使用在接入点和点菜机和接入点之间,有线方式用在其他部分的连接。这种技术一般采用红外、蓝牙技术等短距离无线通讯技术,能减轻服务员的负担,降低出错率。(3)无线PDA无线接入点服务器这种形式的系统不受位置和网线的限制,顾客可以随时随地点菜。资源相对比较丰富,可以使用有线局域网的资源。无线局域网的速度最高可达11MBIT/S,极大地提高了工作效率。14论文的结构安排论文共由6个章节组成,主要内容及结构安排如下第1章,绪论。简要说明课题的来源及背景,指明课题研究的意义,并对课题的国内外现状进行分析。第2章,相关技术介绍。对课题实现的相关技术进行详细的介绍和分析。第3章,硬件原理图的设计。具体介绍各部分的硬件原理图设计。第4章,显示屏的软件设计。介绍了环境的搭建,操作系统的移植,软件的程序流程图。第5章,调试。阐述硬件系统在制作完成后检测和软件编译调试。第6章,结论。主要包括设计结论,设计收获与体会,设计不足和需要改进的地方。2相关技术介绍32相关技术介绍系统在设计中选用ARM作为微处理器,显示屏的型号选用LCD12864,短信接收模块选用TC35I。通过上位机终端与显示屏的联接进行菜单的显示。21ARM技术介绍ARM即ADVANCEDRISCMACHINES的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字4。1985年4月,第一个ARM原型在英国剑桥的ACORN计算机有限公司诞生,由美国加州SANJOSEVLSI技术公司制造。20世纪80年代后期,ARM很快开发成ACORN的台式机产品,形成英国的计算机教育基础。1990年成立了ADVANCEDRISCMACHINESLIMITED后来简称为ARMLIMITED,ARM公司。20世纪90年代,ARM32位嵌入式RISCREDUCEDLNSTRUCTIONSETCOMPUTER处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。目前,采用ARM技术知识产权(IP)核的微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面5。ARM处理器系列提供的解决方案有无线、消费类电子和图像应用的开发平台;存储、自动化、工业和网络应用的嵌入式实时系统;智能卡和SIM卡的安全应用。当前基于ARM技术的微处理器有6个产品系列ARM7、ARM9、ARM9E、ARM10、SECURCORE和CORTEXM3。其中CORTEXM3内核是ARM新型V7指令集结构系列的微控制器版本。ARMCORTEXM3处理器为高性能、低成本的平台提供了一个能够满足小存储要求解决方案(MINIMALMEMORYIMPLEMENTATION)、简化管脚数、以及低功耗三方面要求的内核,与此同时,它还提供了出色的计算性能和优越的系统中断响应能力6。其特性主要有以下几个方面(1)紧凑的内核。(2)THUMB2指令集,在通常与8位和16位设备相关联的存储容量中,特别是在微控制器级应用的几千字节存储量中,提供了ARM内核所期望的高性能。(3)优越的中断处理能力,通过执行寄存器操作来实现,这些寄存器操作在处理硬件中断时使用。(4)功能齐全的调试解决方案,包括串行线JTAG调试端口(SWJDP);2相关技术介绍3FLASH修补和断点(FPB)单元,用于实现断点操作;数据观察点和出发单元(DWJ),用于执行观察点、触发源和系统性能分析等操作;2相关技术介绍4仪表跟踪宏单元(ITM),用于支持PRINTF类型调试;跟踪端口的接口单元(TPIU),用作跟踪端口分析仪(TPA)的桥接。目前,在控制领域及信号采集与信息处理等领域,ARM处理器的应用越来越广泛。22液晶显示技术介绍液晶LIQUIDCRYSTAL是一种介于固态和液态之间的物质,是具有规则性分子排列的有机化合物。如果把它加热会呈现透明的液体状态,把它冷却则会出现结晶颗粒的混浊固体状态。液晶按照分子结构排列的不同分为三种类似粘土状的SMECTIC液晶,类似细火柴棒的NEMATIC液晶和类似胆固醇状的CHOLESTIC液晶。这三种液晶的物理特性各不相同,用于液晶显示器的是第二类的NEMATIC液晶,采用此类液晶制造的液晶显示器被称为了LCDLIQUIDCRYSTALDISPLAY7。第一台成型的液晶显示媒体出现在1971年,这就是最初的TNLCD扭曲向列。尽管当时仅是单色的十分简单的显示工具,但仍在某些领域得到了推广应用。还记得我们的电子表、计算器、掌上游戏机等,它们都是采用了类似的技术。到了80年代初,这一技术开始应用到计算机产品上。1984年,欧美提出了STNLCD超扭曲向列,同时TFTLCD薄膜式晶体管技术也被提出,但仍不成熟。80年代末,日本掌握了STNLCD的大规模生产技术,LCD工业开始飞跃。1993年,日本又掌握了TFTLCD的大规模生产技术,液晶显示器开始向廉价、低成本的方向发展,随后DSTNLCD双层超扭曲向列诞生。另一方面向高端的薄膜式晶体管TFTLCD发展,1997年,日本建成了一大批以550MM670MM为代表的大基板尺寸第三代TFTLCD生产线。液晶显示器的原理与CRT显示器大不相同,主要特色在于体积小、薄,重量轻,低辐射等。LCD是基于液晶电光效应的显示器件,包括段显示方式的字符段显示器件,矩阵显示方式的字符、图形、图像显示器件,矩阵显示方式的大屏幕液晶投影电视液晶屏等。液晶显示器的原理是利用液晶的物理特性。在通电时导通,液晶排列变得有秩序,使光线容易通过;不通电时,排列则变得无序,从而阻止光线通过。221TN型液晶显示器的原理9TN液晶显示器是在一对平行放置的偏光板间填充了液晶。这一对偏光板的偏振光方向是相互垂直的。液晶分子在偏光板之间排列成多层。在同一层内,液晶分子的位置虽不规则,但长轴取向都是平行于偏光板的。正是由于分子按这种方式排列,所以被称为向列型液晶。另一方面,在不同层之间,液晶分子的长轴沿偏光板平行平面连续扭转90。其中,邻接偏光板的两层液晶分子长轴的取向,与所邻接的偏光板的偏振光方向一致。也正是因为液晶分子呈现的这种扭曲排列,而被称为扭曲向列型液晶显示器。一旦通过电极给液晶分子加2相关技术介绍4电之后,由于受到外界电压的影响,分子不再按照正常的方式排列,而变成竖立的状态。液晶2相关技术介绍5显示器的夹层贴附了两块偏光板,这两块偏光板的排列和透光角度与上下夹层的沟槽排列相同。在正常情况下光线从上向下照射时,通常只有一个角度的光线能够穿透下来,通过上偏光板导入上部夹层的沟槽中,再通过液晶分子扭转排列的通路从下偏光板穿出,形成一个完整的光线穿透途径。当液晶分子竖立时光线就无法通过,显示屏上出现黑色。其结果形成透光时为白、不透光时为黑,字符就可以显示在屏幕上了。222TFT型液晶显示器的原理9新型的TFT液晶显示器的工作原理是建立在TN原理基础上的。两者的结构亦基本相同,亦采用两夹层间填充液晶分子的设计,只不过把TN上部夹层的电极改为FET晶体管,而下层改为共同电极。但两者的工作原理还是有一定的差别。在光源设计上,TFT的显示采用“背透式”照射方式,即假想的光源路径不是像TN液晶那样从上至下,而是从下向上。具体做法是在液晶的背部设置类似日光灯的光管。光源照射时先通过下偏光板向上透出,由于上下夹层的电极改成FET电极和共通电极,它也是借助液晶分子来传导光线。在FET电极导通时,液晶分子的排列状态如TN液晶一样也会发生改变,也是通过遮光和透光来达到显示的目的。所不同的是,由于FET晶体管具有电容效应,能够保持电位状态,先前透光的液晶分子会一直保持这种状态,直到FET电极下一次再加电改变其排列方式。相对而言,TN就没有这个特性,液晶分子一旦没有施压,立刻就返回原始状态,这是TFT液晶和TN液晶显示的最大不同之处,亦是TFT液晶的优越之处。在LCD的动态画面显示中,高速移动图像会出现“拖尾”、“重影”等现象,这是由于液晶的响应速度慢于一帧当帧频为60HZ时,约16MS造成的,由此形成的一帧结束时的残像在下一帧显现出来。目前TN型器件的最亮态和最暗态间的响应时间一般长于20MS,而中间灰度间驱动的响应时间要长得多。所以要完全满足动态图像显示的要求,响应速度还有待于提高。随着社会的发展,液晶显示技术的应用越来越广泛,显示技术的发展也越来越高端。23系统方案设计本课题主要内容是利用LPC2294作为系统MCU,再加上一些短信接收模块、显示模块等一些必要的外围电路模块组成一个用于显示菜单的信息,并打印出菜单的硬件电路系统。主要实现上位机硬件系统设计和显示屏软件程序设计,进行系统总体设计,完成单元电路的设计及系统总体原理图设计;进行显示屏选择并完成显示软件设计;进行系统联调。进而设计形成相应的电路,绘制原理图、PCB图。并编写显示屏的软件设计,对软硬件进行调试。该论文的主要研究工作有(1)查阅相关资料,熟悉课题的设计思想,并最终确定系统的设计方案。2相关技术介绍5主要查阅的资料有ARM介绍、GSM短信、LCD驱动及显示等相关资料。2相关技术介绍6(2)通过查阅芯片资料来确定芯片的选型,最终完成整个系统硬件电路的设计和绘制,并完成系统的PCB布线。系统中ARM选用LPC2294,LCD显示屏选用12864,驱动为ST7920,GSM短信模块选用TC35I。根据课题的任务要求及具体的技术指标,采用的整体设计方案如下图1上位机硬件框图上位机硬件框图如图所示,功能是获取点菜信息,并且将菜单信息显示在主界面上。它的硬件部分包括主微处理器,显示部分,按键,无线收发部分,存储部分以及其他基本的外围电路部分(如复位电路模块,晶振电路模块,电源模块)。系统采用ARM微处理器为核心微处理芯片,显示部分采用LCD液晶屏。按键有三个,分别是上翻页按键,下翻页按键,查询按键。无线收发部分主要通过短信实现,同时下位机也有相对应的短信模块。存储部分要用到两种存储器,FLASH和SDRAM晶振复位电源显示屏短信接收按键SDRAMFLASHMCU3单元电路设计73单元电路设计31硬件功能设计上位机硬件主要功能是获取点菜信息,并且将菜单信息显示在主界面上。它的硬件部分包括主微处理器,显示模块,按键,短信接收模块,存储模块以及其他基本的外围电路模块(如复位电路模块,晶振电路模块,电源模块)。各部分的主要功能如下(1)处理器模块主要是对接收来的数据进行一定的处理,并且是整个系统的控制中心。(2)显示模块主要是通过与MCU的串口连接,显示出菜单的信息。(3)按键主要实现显示内容的翻页,查询。(4)短信接收模块主要对接收的信息进行分析,并送到处理器进行相关处理。(5)存储模块主要是开辟存储空间。(6)电源模块就是为整个系统各个模块提供所需电源的。32处理器电路设计处理器电路设计包括LPC2103芯片所用外围管脚连接、晶振电路设计、去耦电路设计、复位电路设计、JTAG电路设计。下面对每一部分电路设计做详细的介绍。321LPC2294微处理器LPC2292/2294是基于一个支持实时仿真和跟踪的16/32位ARM7TDMISTMCPU,并带有256K字节KB嵌入的高速FLASH存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位THUMB模式将代码规模降低超过30,而性能的损失却很小。由于LPC2292/2294的144脚封装、极低的功耗、8多个32位定时器、路10位ADC、2/4LPC2292/LPC2294路CAN、PWM通道以及多达9个外部中断使它们特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。LPC2292/2294包含76(使用了外部存储器)112(单片)个GPIO口。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器以及其它各种类型的应用10。课题要用到了LPC2294的GPIO、UART、SPI、ADC等功能模块,其电路图设计如图31所示。西安工业大学毕业设计(论文)8图31处理器硬件原理图设计主要特性1116/32位ARM7TDMIS微处理器,LQFP144封装。16KB片内静态RAM和256KB片内FLASH程序存储器。128位宽接口/加速器可实现高达60MHZ的工作频率。通过片内BOOT装载程序实现在系统编程(ISP)和在应用编程(IAP)512字节行编程时间为1MS。单扇区或整片擦除时间为400MS。EMBEDDEDICERT和嵌入式跟踪接口使用片内REALMONITOR软件对任务进行实时调试并支持对执行代码进行无干扰的高速实时跟踪。2/4LPC2292/2294个互连的CAN接口,带有先进的验收滤波器。多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400KBIT/S)和2个SPI接口。8路10位A/D转换器,转换时间低至244S。2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗。向量中断控制器。可配置优先级和向量地址。通过外部存储器接口可将存储器配置成4组,每组的容量高达16MB,数据宽度为8/16/32位。多达112个通用I/O口(可承受5V电压)个边沿或电平触发的外部中西安工业大学毕业设计(论文)9断引脚。通过片内PLL可实现最大为60MHZ的CPU操作频率。片内晶振频率范围130MHZ2个低功耗模式空闲和掉电通过外部中断将处理器从掉电模式中唤醒可通过个别使能/禁止外部功能来优化功耗。双电源CPU操作电压范围165195V18V015VI/O操作电压范围3036V33V10,可承受5V电压。322晶体电路晶振是为处理器LPC2294提供频率基准的元器件,属于最小系统中不可或缺的一部分。晶体振荡器分为无源晶振和有源晶振两种类型。无源晶振与有源晶振的英文名称不同,无源晶振为CRYSTAL(晶体),而有源晶振则叫做OSCILLATOR(振荡器)。无源晶振是有2个引脚的无极性元件,需要借助于外部电路提供一个交流信号才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振有4只引脚,是一个完整的振荡器,其中除了石英晶体还有晶体管和阻容元件等(现在多集成为一个芯片),因此体积稍大。课题最小系统晶振电路即时钟源在引脚XTAL1和XTAL2跨接晶振U3和微调电容C1、C2共同构成电容三点式振荡电路,为系统提供CLK。系统晶振电路原理图如图32所示。由于ARM内部有一个高增益反相放大器,当外接晶振后就构成自激振荡器并产生振荡时钟脉冲。本课题采用110592MHZ的晶振作为系统的基本时钟。如图32所示图32晶振电路原理图设计西安工业大学毕业设计(论文)10323复位电路复位电路一般提供两种复位方式,一种是上电复位,一种是手动按键复位。上电复位主要是在系统上电时让处理器复位一下,而手动复位主要是在系统出现某些问题时把处理器复位一下。复位电路也是最小系统中的必要部分12。复位电路的基本功能是系统上电时提供复位信号,直至电源稳定后,撤销复位信号。为可靠起见,电源稳定后还才撤销复位信号,以防电源开关或电源插头分合过程中引起抖动而影响复位。课题采用CAT1025复位芯片来完成处理器的复位功能。CAT1025是一款带自动复位、手动复位和I2C的串行2K位CMOSEEPROM的监控电路芯片要经一定的延时(共大于两个机器周期)。如图33所示图33复位电路原理图设计CAT1025主要特性如下精确监控电源电压5V、33V和3V系统5个复位门槛电压被选择高低电平复位,有效地可靠复位电压VCC1V400KHZ的I2C总线工作电压范围27V55V低功耗的CMOS技术内置防误擦处写保护(WP管脚)手动复位输入西安工业大学毕业设计(论文)118脚DIP、SOIC、TSSOP、MSOP用C语言就可以打开和关闭中断处理器支持中断,并且能产生定时中断通常在10100HZ之间处理器支持能够容纳一定量数据的硬件堆栈处理器有将堆栈指针和其他CPU寄存器读出和存储到堆栈或内存的指令C/OS进行任务调度的时候,会把当前任务的CPU寄存器存放到此任务的堆栈中,然后再从另一个任务的堆栈中恢复原来的工作寄存器,继续运行另一个任务。所以,寄存器的入栈和出栈是C/OS多任务调度的基础。LPC2294处理器能够满足以上的要求。ARM公司提供的ADSI2开发软件中包含的ARMCC编译器能够产生可重入代码,通常在编写多任务系统上运行的程序时,也要注意代码重入性问题。44显示屏软件设计流程图本设计显示屏选用LCD12864,显示4行8列个汉字。流程图如45所示西安工业大学毕业设计(论文)29图45显示屏软件流程图45显示屏程序(1)LCD初始化程序VOIDLCD_INITVOIDLCD初始化功能设置清显示RAM区置显示初值,显示指针指向第一行待显示数据送入缓冲区预设数据显示在指定区域中调整指针,指向LCD的下一行显示结束否结束开始西安工业大学毕业设计(论文)30DELAYNMS40/DELAY40MS/ALT_BUSY_SLEEP40000LCD_WRITE_COMMAND0X30DELAYNMS10/DELAY10MSLCD_WRITE_COMMAND0X30DELAYNMS5/DELAY5MSLCD_WRITE_COMMAND0X30ST7920_SENDCMDLCD_CMD_8BITST7920_SENDCMDLCD_CMD_DISP_ONST7920_SENDCMDLCD_CMD_CLEARST7920_SENDCMDLCD_CMD_AC_INC(2)清屏函数VOIDLCD_INITVOIDDELAYNMS40/DELAY40MS/ALT_BUSY_SLEEP40000LCD_WRITE_COMMAND0X30DELAYNMS10/DELAY10MSLCD_WRITE_COMMAND0X30DELAYNMS5/DELAY5MSLCD_WRITE_COMMAND0X30ST7920_SENDCMDLCD_CMD_8BITST7920_SENDCMDLCD_CMD_DISP_ONST7920_SENDCMDLCD_CMD_CLEARST7920_SENDCMDLCD_CMD_AC_INC(3)汉字显示名称LCD_PRINTF功能在指定位置显示指定长度的字符入口参数ROW列位置07COL行位置03西安工业大学毕业设计(论文)31PDATA显示数据缓冲区LEN显示字符长度064一个汉字为2个字符说明支持中英文混合显示,支持自动换行,地址为双字节长度自增INTLCD_PRINTFALT_U8ROW,ALT_U8COL,ALT_U8PDATA,ALT_U8LENINTRET_CODEIFLEN64/最多显示64个字符,超出部分忽略LEN64ROWROWCOLCOLWHILELEN0ST7920_DDRAMADDRESSDDRAMADDRROWCOL/进行行调换FORCOL16COLRET_CODEST7920_SENDDATAPDATAIFRET_CODELCD_ERR_TIMEOUTRETURNRET_CODELENROWROWROWCOL0RETURNLCD_ERR_OKVOIDTASK0VOIDPDATAUINT8RET_CODEUINT8RCV_DATAUINT8ERRUINT8PICTURE0/显示画面的编号04PDATAPDATATARGETINITP1_GPIOINITLCD_LIGHT,1/LCD背光控制引脚设置为GPIO输出模式P0_GPIOINITKEY1|KEY5,0/KEY1和KEY5控制引脚设置为GPIO输入西安工业大学毕业设计(论文)32模式OSTASKCREATETASK1,VOID0,LCD_INITLCD_BACKLIGHTCONLCD_BACKLIGHT_ON/打开背光ST7920_CLEARSCREENLCD_PLOTPICPOWERONPICTURE/显示第一屏画面WHILE1RCV_DATAOSMBOXPENDOS_MBOX,0,IFRCV_DATANEXT/按下KEY5,显示下一屏画面PICTUREPICTURE110IFRCV_DATAPRE/按下KEY1,显示上一屏画面IFPICTURE0PICTURE9ELSEPICTURESWITCHPICTURECASE0/显示0ST7920_CLEARSCREENLCD_PRINTF0,0,UINT8“0“,STRLEN“0“BREAKCASE1/显示1ST7920_CLEARSCREENLCD_PRINTF0,1,UINT8“1“,STRLEN“1“BREAKCASE2/显示2ST7920_CLEARSCREENLCD_PRINTF0,2,UINT8“2“,STRLEN“2“BREAK西安工业大学毕业设计(论文)33CASE3/显示3ST7920_CLEARSCREENLCD_PRINTF0,3,UINT8“3“,STRLEN“3“BREAKCASE4/显示4ST7920_CLEARSCREENLCD_PRINTF0,4,UINT8“4“,STRLEN“4“BREAKCASE5/显示5ST7920_CLEARSCREENLCD_PRINTF0,5,UINT8“5“,STRLEN“5“BREAKCASE6/显示6ST7920_CLEARSCREENLCD_PRINTF0,6,UINT8“6“,STRLEN“6“BREAKCASE7/显示7ST7920_CLEARSCREENLCD_PRINTF0,7,UINT8“7“,STRLEN“7“BREAKCASE8/显示8西安工业大学毕业设计(论文)34ST7920_CLEARSCREENLCD_PRINTF0,8,UINT8“8“,STRLEN“8“BREAKCASE9/显示9ST7920_CLEARSCREENLCD_PRINTF0,9,UINT8“9“,STRLEN“9“BREAK/CASE4/显示第5幅图片ST7920_CLEARSCREENLCD_PRINTF0,0,UINT8“欢迎使用EDA/SOPC/DSP/MCU/ARM/SOC教学实验开发平台广州致远电子公司“,STRLEN“欢迎使用EDA/SOPC/DSP/MCU/ARM/SOC教学实验开发平台广州致远电子公司“BREAK/DEFAULTBREAK5调试355调试51硬件调试本设计中主要工具为PROTEL,在画原理图、绘制PCB板的过程中,会遇到很多问题,以下是对PROTEL的介绍及调试。511PROTEL介绍PROTEL是PROTEL公司在20世纪80年代末推出的CAD工具,是PCB设计者的首选软件。它较早在国内使用,普及率最高,有些高校的电路专业还专门开设PROTEL课程,几乎所在的电路公司都要用到它。早期的PROTEL主要作为印刷板自动布线工具使用,现在普遍使用的是PROTEL99SE,它是个完整的全方位电路设计系统,包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印刷电路板设计(包含印刷电路板自动布局布线),可编程逻辑器件设计、图表生成、电路表格生成、支持宏操作等功能,并具有CLIENT/SERVER(客户/服务器体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD、PSPICE、EXCEL等。使用多层印制线路板的自动布线,可实现高密度PCB的100布通率。但它最具代表性的是电路设计和PCB设计。其特点如下512原理图,PCB调试在画原理图的过程中,一般会出现各种各样的问题,这就要求对其进行调试。在画好原理图后,首先进行规则检测(ERC),在工具(TOOLS)菜单中,选择电器规则检查(ERC)命令,系统自动检查设计的原理图是否正确,并列出检查报告,在检查报告中详细列出原理图的出错处。通过检测来查看原理图的布线是否正确。本设计在原理图检测时主要出现的错误是导线重叠及引脚未定义,后来通过仔细检查并对其进行一一修改,现在已基本无误。接下来的一步是生成网络表,在设计(DESIGN)菜单中,选择创建网络表命令。参数用系统默认值,即建立了网络表。然后进行封装检测,这一步出现的错误较多,基本上都是封装不对,所以造成节点未发现,而封装不对的原因是库里面的封装号和原理图中的引脚号不一致造成。在对库里面封装进行修改后,错误指示也随即消失。随后是绘制PCB板,开始只是为了美观而随意放置器件,结果使得线路连接困难,弯导线较多。后来在导师的指导下,才知道美观是一方面,另一方面还要求线路要按具体信号走向排版。放置好器件后进行自动布线,结果发现有好几根线布的不是很好,有些弯,于是进行了局部的手工布线,经过一番修改,直至最终绘制成了一张还算完美的PCB板。52软件调试在系统调试之前,首先要对ADS12开发环境进行安装和注册激活,并且移植了UC/OSII操作系统。在成功完成安装注册的基础上,就可以开始软件5调试35的西安工业大学毕业设计(论文)36调试。(1)首先在ADS12环境下打开工程目录,FILEOPEN点击所在文件夹的MCP文件。(2)对所编写的程序进行编译在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中出错之处并改正。应当注意的是有时提示出错的地方并不是真正出错的位置,如果在提示出错的行找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多且各种错误互有关联,因此要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,可以根据提示,双击出错处。西安工业大学毕业设计(论文)363在编译完全正确下,进行调试(DEBUG),跟踪程序并给出相应的信息。若西安工业大学毕业设计(论文)37有错误,会有相应的提示ERRORS或者WARNINGS,根据提示信息进行修改直到调试没有错误。以上为软件调试的步骤,在调试期间,遇到很多问题,有定义的问题,变量的类型有错,语法的错误。通过对程序的反复理解,上机编译修改,分析错误,最终修改没有错误。6结论386结论61总结本次设计的主要承担的任务是电子点菜系统的上位机硬件系统的设计及部分软件设计。综合利用ARM技术,显示屏技术,GSM短信接收技术,以LPC2294为MCU,显示屏为LCD12864,短信接收模块TC35I为核心完成上位机硬件电路设计。尤其是该系统是利用了内嵌存储器的LPC2294作为整个系统的控制器。在完成上位机硬件设计之后完成了显示屏软件的设计。通过此次设计,可以得出以下结论(1)系统控制部分所采用的ARM7处理器LPC2294在整个ARM7系列中也是很常用的,LPC2294是基于一个支持实时仿真和跟踪的16/32位ARM7TDMISCPU,内部嵌有256KB的高速FLASH存储器和16KB静态RAM。LPC2294的突出特点就是体积小、功耗低、高性能与灵活性相结合,它非常适合于那些将小型化作为主要要求的应用。(2)系统的接收信息模块采用GSM短信模块的TC35I,TC35I短信模块技术特点是体积小、重量轻,低功耗,支持数据、语音、短消息和传真,SIM应用工具包,AT命令集控制,RTTE,认证、GCF认证,SMSMT/MO/CB/PDU模式,音频最高速率,升级最高速率和半速率,便于集成。(3)系统的显示屏选用LCD12864,其控制器为ST7920。突出特点是微功耗、显示内容丰富,接口控制方便。最终通过不断的改进,本次设计的上位机硬件电路原理图基本达到本次设计的要求。62收获与体会关于电子点菜系统的毕业设计工作在老师的悉心教导和同学的帮助下终于完成了。通过这次毕业设计完成的过程,让我成长了很多,学会了很多。首先了解了如何使用PROTEL,并且学习了ADS12集成开发环境并进行编程,通过设计原理图,对LPC2294、TC35I芯片的结构、功能特性有了一定的了解。同时让我认识到毕业设计不仅仅是对一个课题的研究,更是对大学四年所学的专业理论知识和综合运用能力的一次检验。通过这次毕业设计可以反映出一个大学生的专业知识、研究水平、实践运用能力以及整体综合素质,可以说是一次全方面的检阅。因此,在设计之前,我就下定决心一定要做好这次毕业设计。我研究的主要内容是电子点菜系统的上位机硬件设计及显示屏软件设计。刚看到这个课题的时候思想很零乱,之前对此了解的很少,因此我只能边学边进6结论38行西安工业大学毕业设计(论文)39设计。在老师的指导和帮助下,以及查阅相关资料,渐渐地就掌握了它的基本原理。本次设计承担的有硬件和软件两方面的研究,研究内容主要有ARM微处理器、显示屏电路,短信接收短路、电源转换电路、PROTEL软件的使用、C语言编程等等。通过这次设计,我学到了许多书本上没有的知识,学会了思考,掌握了研究的学习方法。在设计中遇到过许多不能理解的问题和不懂的知识,这时就需要自己去研究,去学习,通过查阅各类相关资料和书籍,找到解决问题的方法,经过深刻的理解,再转化为自己的知识。这次设计确实使我受益非浅,但同时也暴露了自己不少的缺点和不足专业知识的欠缺,基础理论知识掌握不牢固,实践动手能力差。所以从现在起就要加强理论知识的学习,提高动手能力,理论联系实际的重要性能,遇问题多思考多分析多实践,不断进取,争取在今后的工作岗位上能够有所作为。63不足及有待改进的地方(1)由于时间有限,没有进行系统联调,还需进一步完善。(2)编写程序时,程序代码的简洁性和可读性有待提高,程序所能够完成的功能也仍然需要进一步完善。参考文献40参考文献1周立功编著ARM嵌入式系统软件开发实例北京清华大学出版社,20042钱丽基于ARM的嵌入式无线点菜武汉科技大学,硕士学位论文,20053马忠梅ARM嵌入式处理器与应用基础北京北京航空航天大学出版社,20024叶宏材,陈峙桐嵌入式工业用控制器及自动控制系统设计北京清华大学出版社,20055王琳,余震虹,李鑫等基于ARM的嵌入式电子点菜系统的设计J微计算机信息20096陈艳华基于ARM的嵌入式系统开发与案例M北京人民邮电出版社,20077DANIELVOGEL,PPATRICKBAUDISCH

温馨提示

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

评论

0/150

提交评论