实时与嵌入式系统原理实验 嵌入式系统课程设计 (一).doc

实时与嵌入式系统原理实验 嵌入式系统课程设计 (一).doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《嵌入式微处理器结构与应用》 课程设计报告 题目:电子菜单 一、课程设计的目的和主要内容: 目的:《嵌入式微处理器结构与应用》课程设计是软件工程本科专业的专业实践课程,结合在课程中学到的嵌入式系统的开发和调试方法,对学生在嵌入式系统设计和应用开发的基本技能方面进行综合的检验和实践。是学生在学习完《嵌入式微处理器结构与应用》课程之后的一个重要的实践环节。要求学生在教师的指导下,综合运用已学过的嵌入式微处理器相关的各种知识和技能,以小组协作的方式完成一项较为完整、并具有一定难度的课程设计任务。使学生总结本课程的主要知识点,提高学生的实际动手能力,为学生今后进一步学习和从事嵌入式系统相关的研究与开发打下坚实的基础。 内容:基于实时操作系统,学会复杂应用程序的基本开发方法,结合课程实验学到的知识,编写一个能综合应用液晶屏、触摸屏、键盘并结合简单文件系统API函数的界面应用。要求具备基本的三个界面:初始界面、点菜界面、结束界面,基本实现点菜的全过程。 二、基本的设计思路或程序流程图描述: 基于MVC的设计模式,将程序分成三大独立的部分:模型(逻辑)部分、视图部分、控制部分。这三大部分的关系如下: 程序总流程图: 本人负责: 二、视图部分: LCD驱动、绘图部分: 由于ucos提供的绘图API的效率每秒只有3至5幅图,而且不能直接操作LCD的后台缓冲区,满足不了流畅的菜单滚动效果,所以必须重写LCD驱动和绘图函数。重写之后: pbuf:LCD后台缓冲区的指针,可以直接操作。 void kLCD_Refresh():LCD刷新函数,跟原驱动相差不大。 void kLCD_Part_Refresh(int Wnd_x1,int Wnd_y1,int Wnd_x2,int Wnd_y2):LCD局部刷新函数,在局部绘图的情况下可以获得更高的效率。 只要调节LCD后台缓冲区指针pbuf的位置,再调用上面两个刷新程序,就可以实现快速滚动画面,可以达到每秒20至25幅图。 void LoadBMP(U16* pBMP,char* filename,int bmpWidth,int bmpHeight):加载图片的函数,加图片加载到内存加快系统的运行。 void PaintBMP(U16* screen,U16* pBMP,int bmpX,int bmpY,int bmpWidth,int bmpHeight):绘制图片函数,实现在任一缓冲区上绘制图片的功能。 void ClreaLCD():清屏函数。 三、交叉开发环境的建立和主要的调试步骤及其遇到的主要问题和解决的方法: 交叉开发环境的建立,在宿主机上运行ADS开发软件来编译源程序,再通过串口将目标程序下载到ARM2410-S开发板上运行。主要通过JTAG来调试程序,用ADS的调试工具来查看寄存器和变量的变化。 遇到的问题有: 1.触摸屏没有反应,程序并没有错误。解决方法:用一个较新的库文件代替原来的库文件。 2.一些图片显示不正常,可能是驱动的问题。解决方法:改变图片的尺寸就可以正常显示了。 3.加载较大的数据到内存出现内存错误。解决方法:采用动态内存分配。 四、主要的设计结果和设计的总结,和需要进一步完善的问题: 设计结果: 程序在ARM2410-S开发板上运行: 启动画面: 点菜界面: 点菜结束界面: 设计总结: 通过电子菜单的综合试验,掌握了开发嵌入式应用程序的流程,了解了嵌入式系统及其编程的一些特点。 1.对嵌入式操作系统UC/OS-II系统有了一定的了解。UC/OS-II系统的核心是任务调度,用户可以定义不同的任务及优先级,UC/OS-II来负责进行调度。这使得用户应用编程比较方便,把精力更多地放在程序功能的分析以及任务的设计与实现,发挥的空间非常大。 2.嵌入式系统的另一个特点是不明显把应用程序和操作系统区分开,它们是融合在一起的。在UC/OS-II系统中编写综合实验时,程序结构是比较清晰的,因为UC/OS-II是一个多任务系统。可以将一个综合的功能分为几个简单的小功能,每一个小功能具体表现为程序运行时的一个任务,但是程序编写时要谨慎处理任务与任务之间的通信,以及任务交出或占有CPU的时机等细节。 0 进一步完善方案: 1.使用多任务,可以加上动态图片,可以使界面更加美观。 2.一般情况下,菜的种类较多,需要定义多个点菜界面,同时要协调好各个界面之间的关系以及正确响应键盘和触摸屏。 控制部分: 消息循环(); 触摸屏响应(); 键盘响应(); …… 逻辑部分: 选择菜(); 取消菜(); 获取总价(); …… 视图部分: 标志菜单条目(); 取消标志条目(); 滚动菜单(); …… 更新逻辑 更新视图 关闭线程 打开线程 点菜结束按钮 关闭按钮 翻页按钮

文档评论(1)

  • 用户头像 °Believeヾ 2016-12-16 15:17:54
    请问谁那里有这个课设的程序 请联系我 价格再谈 很急
prtscr + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档