创新性实验的设计的报告.docxVIP

  1. 1、本文档共14页,可阅读全部内容。
  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文档。上传文档
查看更多
创新性实验的设计的报告

PAGE  山东科技大学电工电子实验教学中心 创新性实验设计报告 实验项目名称 __ 简易计算器_ __ 组长姓名 _左岩_ 学号 _200901100638 手机 Email 905192140@ 专 业 _电子信息工程 班级 _ 电信09 _ 指导教师及职称 __钟宁帆讲师_ _ _ 开课学期 2011 至 2012 学年_二_学期 提交时间 2011 年 12 月 17 日 一、实验摘要 本次创新性实验主要是基于STC89C52RC芯片开发一个简易计算器,计算器要求能够完成有符号数据之间的基本运算,包括加、减、乘、除等。计算器要求有加、减、乘、除、负号、归零、等号键等,并且利用8位数码管显示参加运算的数据和运算结果,显示运算结果超限提示,消隐未使用位。  二、实验目的 本次创新性实验目的是为了增加自主动手实践能力,并且借此过程理解单片机编程过程,并且在此过程中积累实践经验,从而为将来解决更加复杂的问题打下坚实的基础。本次创新实验对于开发语言并无明确限制,考虑到C语言的通用性,以及易扩展性。本次选用C语言开发简易计算器。  三、实验设计方案 1、实验原理 图1.系统主框图 本次试验将在现有开发板上进行调试,需要应用到核心板部分(图中所示单片机部分,相关外围电路由于与本次试验设计研究方向关联不大,故暂时省去),4*4矩阵键盘部分与数码管显示部分。 本次试验拟定用C语言进行编写,主要考虑到了编写的效率,由于计算器对系统的实时性要求不是很高,故用C语言编写可以极大的提高编写效率,减小代码错误的概率。 C语言中集成了大量的系统函数,与汇编相比指令系统更加丰富,所以更加有利于程序的编写。 本实验软件部分基本原理就是利用C语言的指令系统及math.h头文件中有定义的函数编写相关代码,拓展计算器功能。采用模块化编程的方式,并预留接口,方便随时增加计算器系统的能力,适应新的客观要求。 下面将按模块解读系统各主体部分功能及设计原理。 由于系统功能部分与实体部分是一一对应的,所以软件部分主体也有三个部分组成,分别是与核心板部分对应的主控部分(在本报告中即为main()函数),与矩阵式键盘部分对应的输入部分以及与数码管部分对应的输出部分。 (一)主控部分 本实验中主控部分即为main()函数部分。Main()函数主要负责为各部分外设的调用提供接口,为了代码的简洁和易删改性,本次试验计划将计算部分函数与主控部分主体分离,利用一个子函数的形式由主函数调用,主函数部分只作为最基本的控制调用部分。为了叙述方便,把运算子函数归为输入部分“=”的响应。 (二)输入部分 输入部分主要是keys()函数。他的主要功能为键盘扫描,扫描到的键值分为两类,第一类是数字键(0-9),第二类是运算符(+、-、*、/、.、=)。 当扫描到数字键时,将相应的数值存入到一个字符型的数组(长度是8)中。当扫描到符号键时,保存符号键的键值,以便于最终进行运算。然后,调用另外一个子程序将保存到数组中的数据转换为真实的数据并保存,之后将数组中的数据及部分相关标志位清零。第二个输入的数据进行相同处理。当按下等号键时,直接调用进行运算的子程序,根据相应的变量,对转换完成的数据进行相应的运算,运算完成后将结果再次保存到数组中,然后送给输出部分经由数码管显示运算结果。 (三) 输出部分 输出部分负责显示输入/输出的数据,由于数据的转换已经在键盘扫描子程序中完成了,因此,数码管显示部分的代码相对简短,这里便不再赘述了。 关于硬件部分的说明: 由于利用的是试验箱而不是单独制作硬件,这里只做简单的介绍。 考虑到C52单片机的I/O口较少,以及矩阵式键盘的工作特点和本实验的功能要求,所以本系统采用4X4矩阵式键盘。 矩阵式键盘工作原理: 图二.矩阵式键盘原理图 1.行线D0~D3先送全扫描字0000,回读列线D4~D7是否不全为1,若是,表明有键按下,否则,无键操作。 2.逐行送扫描字0,若列线有低电平,则行列交叉的地方有键按下。 (二)数码管工作原理 图三.数码管工作原理 字形代码: 注:本系统选用数码管是共阳极的。 (三)LED显示方式: LED的显示可分为静态显示和动态显示,考虑到静态显示占的线太多,布线困难,本系统选用动态显示方式。 动态扫描显示是单片机应用系统中最常用的显示方法之一。它是把所有显示器8个笔画段 a~h的各同段名端互相并接在一起,并把它们接到字段输出口上。为了防止各个显示器同时显示相同的数字,各个显示器的公共端COM还要受控制信号控制,即把它们接到位输出口上。这样,对

您可能关注的文档

文档评论(0)

erterye + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档