文档详情

基于ARM的嵌入式电子点菜系统嵌入式系统课程设计报告.doc

发布:2018-02-01约2.16万字共22页下载文档
文本预览下载声明
课程设计报告 基于ARM的嵌入式电子点菜系统 班级: 学号: 姓名: 教师评语: 教师签名: 2012年10月 课程设计题目 基于ARM的嵌入式电子点菜系统 主要内容 综合运用液晶屏、触摸屏、键盘、绘图API、图形控件和消息 循环等知识,基于ARM处理器编写一段实用的电子点菜器程序。 采用的工具方法 运行环境:博创UP-3000实验台 编译软件:Metrowerks Code Worrior for ARM Developer Suite v1.2 芯片:三星S3C44B0X01芯片 1. 题目 基于ARM的嵌入式电子点菜系统 2. 系统简介 在基于ARM的嵌入式环境下,本电子点菜系统可实现的功能有:支持触摸屏图形选菜以及记录菜单等功能。界面美观,功能合理,基本达到了实验要求的内容。 3. 系统设计 3.1设计背景 随着我国的餐饮企业的蓬勃发展,餐饮行业成为国内最早的一个完 全市场化的行业,个体民营占绝对优势和主导的行业,市场竞争非常充分,在广大的餐饮企业的经营者的不懈努力下,餐饮行业取得了非常突出的发展和进步。 3.2设计意义 传统的点菜方式由人工来传递菜单,不仅浪费时间、效率低下;一旦生意火热,单据多,信息量大时,分单、传菜等环节很容易出现错误,从而直接影响服务质量。导致企业造成不必要的损失。 而本文介绍的电子点菜系统,大大降低人力资源成本,加快各环节之间的数据流通,对企业软环境的档次有较大提高。在以特色服务吸引客户的同时,有效提高餐饮机构的服务质量和工作效率,为餐饮业创造更多利润。 3.3总体设计 图1 实验程序流程图 3.4代码编译及注释 本实验要求实现部分: (1)、MainTask中按键消息获取,处理 2)、按键处理函数OnKey()函数 3)、创建串口处理任务Serial_Receive_Task(void *Id) 4)、 实现串口消息换取,处理(在LCD或数码管上显示)函数OnReceive(char nRdata){ initOSMessage(); initOSList(); initOSDC(); initOSCtrl(); initOSFile(); } ///////////////////////////////////////////////////// // Main function. // //////////////////////////////////////////////////// int main(void) { ARMTargetInit(); //开发板初始化 OSInit(); //操作系统初始化 uHALr_ResetMMU();//复位MMU LCD_Init(); //初始化LCD模块 LCD_printf(LCD initialization is OK\n);//向液晶屏输出数据 LCD_printf(320 x 240 Text Mode\n); initOSGUI();//初始化图形界面 LoadFont();//调Unicode字库 LoadConfigSys();//使用config.sys文件配置系统设置 LCD_printf(Create task on uCOS-II...\n); OSTaskCreate(Main_Task,(void*)0,(OS_STK*)Main_Stack[STACKSIZE*8-1], Main_Task_Prio);// 创建系统任务 3.4.1 触摸功能设计实现 设计思想是让LCD 显示屏每页显示六道菜,触摸实现点菜确认,所以在触摸屏上安排了九个区间的触摸功能用以下代码完成触摸区域。 recta.left=0; recta.top=0; recta.right=320; recta.bottom=30; //定义触摸区域大小 pTouch_Position=Touch_Position; prect=rect; precta=recta; prectb=rectb; prectc=rectc; prectd=rectd; precte=recte; prectf=rectf; 如上,定义上下左右四个区间的大小来完成触摸区域,六道菜六个触摸区域 区域大小根据图片大小而定。 触摸区域完成后,就是实现触摸点菜功能了,在这里,我们用到了消息循环,即 InitInterface(); Uart_Printf(这是号桌);for(;;){ pMsg=WaitMessage(0); //等待
显示全部
相似文档