基于ARM的点菜系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

河海大学物联网工程学院(常州)嵌入式课程设计报告题目基于ARM的点菜系统专业、学号授课班号学生姓名指导教师完成时间2014年6月15日目录前言···········································································3第一章系统设计····························································4一、要求的目标及总体方案·······································4二、使用的主要组件以及软件等·································4三、软硬件任务划分·················································4第二章实验结果及讨论···················································5实现功能一:···························································5实现功能二:···························································6实现功能三:···························································6结论···········································································7课程设计特点:························································7课程设计的主要贡献:···············································7心得体会·······································································8前言伴随着经济增长,人们对物质消费水平的要求进一步提高,社会的餐饮消费能力也大幅提升。随着酒店智能化、信息化的发展,酒店将改变以往的经营理念和竞争模式,店内装潢、客房数量、房间设施等质量竞争和价格竞争将退居其次。在餐饮企业的市场或竞争中,我们发现点菜系统将给企业带来从外表形象到内在服务质量的飞跃。相比于传统的餐饮点菜服务方式,掌上电脑点菜系统具有如下的优势:服务员服务效率高,点餐到厨房打单速度快,能提高餐厅品味,厨房吧台核对确认单据方便等。因此,使用点菜系统来取代传统的手写点菜方式可以帮助餐饮企业实现从外表形象到内在服务质量的飞跃,对企业高效以及低成本的良性运营有巨大推进作用。第一章系统设计一、要求的目标及总体方案本次课设的目标要求是可以实现基于嵌入式系统设计点菜系统。该点菜系统应该包括基本的点菜功能,在基本点菜功能的基础上要求做到界面简洁优美,系统操作简单且具有具体现实意义,更够实现继续点菜及删菜等功能。二、使用的主要组件以及软件等含有触摸屏的Cortex—3实验箱;SD卡;读卡器;软件:PS;IAR;DGUS三、软硬件任务划分PS:根据相应需要实现的功能,制作界面图片并处理,并根据实验箱要求将图片改为16/24位的BMP格式的图片。IAR:编写程序。DGUS:根据相应功能对界面进行设置,设置相应的键值和变量地址,生成并导出相应变量。实验箱:将程序烧到实验箱,在实验箱触摸屏上进行功能演示。SD卡、读卡器:将DGUS软件生成的变量导入,并将SD卡插入触摸屏,即可以将已经设置好的界面反映到实验箱。第二章实验结果及讨论实现功能一:基本点菜功能,其中包括冷菜、热菜、甜品12道。界面如下:for(i=0;ilen;i++){printf(%02X,buffer[i]);}if(buffer[0]==0x83&&len==6){unsignedshortvar=buffer[1]8|buffer[2];//变量地址unsignedshortval=buffer[4]8|buffer[5];//键值if(var==0x0001){//判断变量地址,确定处于点菜状态if(val0x0010){diancai[val]=!diancai[val];}//通过键值取点菜编号}if(var==0x0010)//点菜完成实现功能二:加点菜,或者删除已选菜(主需要判断上述程序中的兼职即可,如果不为零则删去)。实现功能三:对已点菜进行价格结算。程序代码如下:if(var==0x0010)//点菜完成{account=0;for(intk=0;k200;k++){buf_1[k]=0;}for(;j13&&cnt6;j++)//遍历,一页最多可显示6项{if(diancai[j]!=0){strcat(buf_1,caidan[j]);cnt++;account=account+money[j];//lcd_var_write(TEXT_4,已选,strlen(已选));}//显示文本1内容}结论课程设计特点:可以实现基本点菜功能以及较为完全地模拟就餐时的点菜环境和相应会遇到的问题。菜单设置:可以根据原料供应情况选择取消某种菜的供应或者恢复某种菜的供应,这样避免了客户在前台点菜而厨房却无法供应的事情发生。程序设计中并没有使用冗长的switch—case语句,而是通过二维数组将键值收入。如果选择某一样菜品,就将其图片上(通过点击图片选菜)设置的键值置一,需要删除,则将其取反。并通过另外一个相应的数组将置一的菜品的菜名以及其价格输出显示。下单以后可以将数组刷新清空,然后重新进入界面以后可以再一次点菜。课程设计的主要贡献:本课程设计与现实生活接轨,真正做到了学以致用。在本次课程设计中,我主要参与了界面设计,图片处理、程序设计的讨论和最后调试问题分析等环节。心得体会通过资料的查阅以及询问有相关设计经验的同学,我们整个课程设计中遇到的问题并不算特别多。但是其中有一个问题足足困扰了我们两天,等发现问题以后我们又用了一天去解决。开始的时候,我们的程序前面都运行地很正常,可是在列出已点菜品的时候,继续增加菜目是正常的,然而在进行对已点菜目进行删减的时候就出现了问题。我们发现,等菜目删去以后按照预想的原本占用的数组中的内容虽然删去,但是却会被已有的内容填补,导致被删除的菜品的相应位置会被最后已点菜占用(即如果删去一道菜,则最后一道已点就会出现两次;如果删去两道,则最后两道已点菜则会重复出现)。但当我们阅读程序的时候,发现如果按照正常运行,就是应该对相应位置进行清空。我们尝试通过用空格覆盖,但是当时由于对软件的不熟悉并不知道该如何改正,总算在不断探索尝试以及询问同学以后发现只要将程序中的换行改为空格就能够很轻松地解决问题。通过对这个问题的纠结,我发现课设我们不仅需要创新的思维,敢于尝试的勇气,其实有时候更需要的是不厌其烦的耐心。现在才真正体会点灯的发明,那几千次的灯丝的选择并不是一个简单的心灵鸡汤的故事。主要关系代码:charcaidan[13][30]={0\n\r,凉拌五彩丝3元\n\r,金丝皮蛋2元\n\r,HHuc萝卜干2元\n\r,凉拌双菇2元\n\r,蜜汁排骨8元\n\r,杂蔬虾仁5元\n\r,金元豆腐1元\n\r,香芋扣肉8元\n\r,天下第一包1元\n\r,榴莲绿茶2元\n\r,皇家菠萝包2元\n\r,晶莹虾饺5元\n\r};参考文献:[1]李剑.基于linux的嵌入式点菜系统终端[D].浙江大学,2006.[2]王琳,余震虹,李鑫,于大为.基于ARM的嵌入式电子点菜系统的设计[J].微计算机信息,2009,05:105-107.[3]何风.基于嵌入式的掌上点菜系统的设计[J].科技资讯,2009,14:40-41.[4]刘峰.餐厅点菜系统的研究与设计[D].西安电子科技大学,2010.[5]贺银凯.基于ARM9手持点菜系统的设计与研究[D].南昌大学,2011.[6]钟亮.基于ARM的无线电子点菜系统的设计与实现[D].北京工业大学,2012.

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功