- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《嵌入式系统及应用》
实验报告
(2014— 2015学年 第 一 学期)
题 目: 简易科学计算器
班 级: 电子科学与技术(1)班
姓 名:
学 号:
指导教师:
2015年1月10日目录1.设计内容…………………………………………………………………3
2重点要解决的问题及创新性;…………………………………………3
3.概要设计
3.1中断控制部分…………………………………………………… 3
3.2显示函数编写………………………………………………………4
3.3运算符函数编写……………………………………………………………6
4.详细设计…………………………………………………………………9
4.1驱动程序头文件……………………………………………………9 4.2显示界面编写调试……………………………………………………………..10
4.3控件程序………………………………………………………………21
4.3.1数字按钮对应函数………………………………………………21
4.3.2运算符号对应函数………………………………………………26
5.实验、调试及测试结果与分析。………………………………………31.??
6.用户使用说明…………………………………………………………31
7.结论…………………………………………………………………32
8.参考文献……………………………………………………………32
设计内容:
本次设计主要以LM3S9B92开发板作为主要的开发平台,首先在这里对开发板的结 构,和最重要的Cortex-M3微处理器,以及搭载的触摸屏液晶显示模块。设计一个简易计算器,能够实现以触摸界面的形式给出简易计算器的操作界面,能实现简单的加、减、乘、除操作,并且将运算步骤都呈现在显示屏上。
重点要解决的问题及创新性:
重点:1.设计计算器界面,将计算机控件布局到开发板上。
2.添加计算器控件的相应代码,使得计算器能够实现加减乘除基本功能。
3.
创新性:1.界面的创新
2.计算器实现的运算过程显示在结果输入框内,使得能够记录运算过程。
概要设计(说明设计系统的组成及主要实现方法,并采用流程图等图形方式形象化说明);
软件设计基本包括了以下三个部分的内容:中断控制部分、显示部分和运算部分
3.1中断控制部分
中断控制功能的实现是在驱动程序当中,因为是与硬件功能连接十分紧密的一个能实现。但在实际应用中又与操作紧密相关,是软件设计中十分重要的部分。
其根本编程原理是由Cortex-M3提供了一套中断控制器所提供的API。中断控制器API提供了一组函数,用来处理嵌套向量中断控制器(NVIC)。这些函数执行以下功能:使能和禁止中断、注册中断处理程序和设置中断的优先级。
同时在驱动文件中,重写了一些关于中断控制的函数。在操作中,对触屏操作时,会产生一个软件中断,然后对所进行操作后,例如触摸屏的触点X,Y值进行锁存。然后对锁存的数据进行读取,通过LCD显示相关的API函数,将得到的数值进行转化成对应函数操作,或显示,或运算等等。最后将相关操作的结果,反映到LCD显示屏。其流程图如图4.1所示。
图4.1中断控制流程图
3.2显示函数编写
显示功能,显示功能实现流程是如图4.2所示,将按键结果显示在LCD上的。
图3.2 LCD读/写操作流程
在具体的实现过程中,本实验平台搭载的触摸屏,在软件上是靠一个WIDGET队列处理系统来接受显示资源,即主界面上的功能按钮,边框和显示区域等。在声明了类似canvas(…)等画图,画按钮等方法后,在main函数中调用该方法。并调用函数 WidgetAdd(…函数名,函数名…),添加到消息队列中。最后用一个死循环,循环执调用WidgetMessageQueueProcess()这么一个函数,完成LCD上显示输出所需要的内容。
所以在完成显示输出时,要调用画图的方法,再在主函数中,将画图的方法添加到消息队列,然后循环输出即可。
而在完成运算功能后的显示输出理论上是一样的,只是改变了内存当中的变量。调用Canvas(…)函数作为一个变量显示区域,将完成计算后的结果从内存中取出
您可能关注的文档
最近下载
- 世界建筑史(南京大学) 超星尔雅学习通网课章节测试答案.docx VIP
- AO3400宽体数据手册下载.pdf VIP
- 22J943-1、22G621-1 既有建筑改造设计与施工(既有住宅增设电梯).docx VIP
- 6.2交友的智慧 (课件)-2025-2026学年 道德与法治 七年级上册(统编版).pptx VIP
- 车管所保安保洁服务保洁服务实施方案.docx VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 车管所保安保洁服务保安服务实施方案.docx VIP
- 高考英语书面表达模板(最新版).docx VIP
- 20S515钢筋混凝土及砖砌排水检查井.pptx VIP
- 天行山海一期工程(施工)招标文件.pdf VIP
原创力文档


文档评论(0)