单片机课程设计简易计算器设计.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
xxxxxx大学 课 程 设 计 报 告 课程设计名称:单片机系统综合课程设计 课程设计题目:简易计算器设计 院(系): 专 业: 班 级: 学 号: 姓 名: 指导教师: 完成日期: 目 录 第1章 总体设计方案 1 1.1 设计原理 1 1.2 设计思路 1 1.3 实验环境 1 第2章 详细设计方案 3 2.1 硬件电路设计 3 2.2 主程序设计 3 2.2 功能模块的设计与实现 4 第3章 结果测试及分析 7 3.1 结果测试 7 3.2 结果分析 7 参考文献 8 附录I 程序源代码 9 附录II 硬件电路 18 附录III 元件清单 19 第1章 总体设计方案 1.1 设计原理 根据课程设计任务书的内容与要求,要实现简易计算器的设计过程,实现计算器的键盘输入,进行加、减、乘、除基本四则运算,并在八段数码管上显示相应的结果,其中加、减、乘、除、等于及清八段数码管功能分别用按键A、B、C、D、E、F表示。键盘的应用,设计的是4*4键盘,对键盘进行扫描,固定列扫描行,设置相应的按键功能,包括数字键、运算符键及清八段码键。八段码显示应用,正常输入:显示相应的数字及运算符(A,B,C,D),按下等于(E)键后显示计算结果,按下清八段码键(F)后八段码全变暗;出现越界输入或输出:显示ERROR。 1.2 设计思路 采用汇编语言程序设计的方法结合硬件电路设计方法,利用AEDK实验箱上已有芯片来实现简易计算器的模拟,利用Protel软件画出硬件电路。 (1). 提出方案 首先,实现对键盘的扫描及设置对应按键;其次,实现在八段码上显示键盘输入内容;最后,对输入数据进行基本运算处理并显示相应结果(包括越界显示)。 (2). 方案论证 简易计算器的设计主要是键盘扫描和八段码显示。数据输入利用键盘实现,按要求设计各键值,通过键值判断是数字键还是功能键,通过六位八段码显示输入的相应按键及运算后的结果。 1.3 实验环境 ·硬件环境:伟福Lab6000实验箱,PC机。 ·软件环境:WAVE6000应用软件。 ·软件环境:protel 99SE应用软件。 第2章 详细设计方案 2.1 硬件电路设计 硬件电路主要由两部分构成 :键盘扫描电路和八段码显示电路。 硬件电路连线如图2.1所示。 图2.1 硬件电路连线图 2.2 主程序设计 在主程序中首先调用键盘扫描函数,设一个键盘按键标记量,初值为0,首次按下按键且为数字键,标记为0,在数组中保存键值,标记量自加1。按键标记为1时有多种情况,对按键进行判断,若输入的为数字键且没越界,则存储并显示相应数据,越界则显示ERROR;若输入的为运算符键,则显示运算符;若输入的为清八段码键,则进行清八段码操作;若输入的为“=”键,则进行相应的运算,运算结果没越界显示相应结果,越界则显示ERROR。 主程序流程图如图2.2所示。 图2.2 主程序流程图 2.2 功能模块的设计与实现 计算器设计的功能模块有:键盘扫描函数,八段码显示函数,延时函数。 1)键盘扫描模块的设计与实现 对于的键盘的扫描,先固定键盘的某一列,然后逐行扫描。 流程图如图2.3所示。 2)八段码显示功能模块的设计与实现 八段码的显示函数,包含输入输出数据的显示,越界错误显示,清八段码显示,运算结果显示。注意的是,显示是在按键抬起后进行的操作,所以显示函数中有松手检测语句。正常输入输出时,显示相应数据;越界时,显示错误ERROR;输入运算符时,显示运算符;清八段码时,则八段码不显示任何内容。具体流程图如图2.4所示。 图2.4 八段码显示模块 第3章 结果测试及分析 3.1 结果测试 计算器的测试包括正常输入输出测试和越界输入输出测试。若输入正确且结果没越界:(1)加法测试:输入数字,如23,按下加法运算符“A”,再按下数字,如456,按下等于符号“E”,则显示正确结果479;(2)减法测试:输入数字,如3578,按下加法运算符“B”,再按下数字,如214,按下等于符号“E”,则显示正确结果3364;(3)乘法测试:输入数字,如12,按下加法运算符“C”,再按下数字,如15,按下等于符号“E”,则显示正确结果180;(4) 除法测试:输入数字,如1478,按下加法运算符“D”,再按下数字,如81,按下等于符号“E”,则显示正确结果18。输入输出越界测试:输入一个大于9999的数时显示ERROR,或当计算结果越界时显示ERROR,如9999+1=ERROR,1234*378=ERROR,4

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档