- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告 基于ARM的嵌入式电子点菜系统 班级: 090613 学号: 2009061316 姓名: 叶尔多斯·海拉提 教师评语: 教师签名: 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(
文档评论(0)