版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、××大学××学院××系××课程设计电子计算器设计 学生姓名学 号所 在 系专业名称班 级指导教师成 绩 ××大学××学院二一二年七月摘要:智能仪器是计算机技术与测量技术以及仪器仪表技术相结合的产物。它具有传统仪器无法比拟的优点。在精度,可靠性方面都有了本质性的改变。仪器硬件都趋于采用嵌入式系统、片上系统等结构。电子计算器是能进行数学运算的手持机器,拥有集成电路芯片,采用 来实现电子计算器的各个功能。该电子计算器由按键输入的数值显示在7段数码管上,但只限4位数;按加、减、乘、除
2、键时,第一次输入的值被存放在缓冲区中,当做被加、减、乘、除数,且加、减、乘、除相对的运算指示灯会亮;接着输入一个数,之后若是按下“=”键,则此加、减、乘、除数被存放于另一个缓冲区中,与刚才输入的数做运算,且相对应的运算指示灯熄灭;运算结果显示在7段数码管上。关键字:智能仪器 片上系统 电子计算器 集成电路芯片 缓冲区Abstract: Intelligent instrument is the computer technology and measurement technology and instrumentation technology combined with the produ
3、ct. It has the incomparable advantage of traditional instruments. In the accuracy, reliability are all essential changes. Instrument hardware are tending to use embedded system, system on chip structure. An electronic calculator is able to perform mathematical operations on handheld machine, has int
4、egrated circuit chip, used to realize each function of the electronic calculator. The electronic calculator from the key input values displayed in the7digital tube, but only4 digits; according to plus or minus, multiplication, addition to the key, the first input value is stored in the buffer, as is
5、 plus or minus, multiplication, addition, subtraction, division, and, in addition to take relative operation indicator light; and then enter a number, then press" if = " button, the plus, minus, multiplication, the divisor is stored in a buffer, and just the number of inputs to do arithmet
6、ic, and the corresponding operation indication lamp is extinguished; calculation results in the7 digital tube on.Key words: Intelligent instrument system on chip electronic calculator integrated circuit chip buffer目 录前言 11. 概述 1 1.1 应用背景 1 1.2 课题设计目标 1 1.3 课题设计任务与思路 12. 设计方案论述 2 2.1 系统总体方案设计 2 2.2 系
7、统设计框图 23. 系统硬件设计 3 3.1 单片机最小系统 3 3.2 矩阵键盘 3 3.3 显示部分 44. 程序设计 4 4,1 具体设计内容 5 四则运算 5 键盘5 执行过程5 错误提示54.2 主程序流程图54.3 算数运算程序设计 75 系统调试76. 设计总结87. 参考文献9附录 9前言智能仪器是一种先进的技术产品,是计算机技术与测试技术相结合的产物,仪器内部带有处理能力很强的智能软件。仪器仪表已不再是简单的硬件实体,而是硬件、软件相结合。近年来,智能仪器已开始从较为成熟的数据处理向知识处理发展,使其功能向更高层次发展。 现在社会中,电子产品使用越来越广泛!,本次课程设计就是
8、针对智能仪器所设计的电子计算器。智能仪器是计算机技术与测量技术以及仪器仪表技术相结合的产物。它具有传统仪器无法比拟的优点,在精度,可靠性方面都有了本质性的改变。智能仪器广泛用于测量、控制、通信、医学仪器以及科学研究等多个方面。近年来,随着计算机技术与电子技术的不断发展,智能仪器也发生了很大的变化,仪器硬件都趋于采用嵌入式系统、片上系统等结构。电子计算器是能进行数学运算的手持机器,拥有集成电路芯片,但结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机,且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。该电子计算器包括矩阵键盘、LCD液晶显示、AT89C51单
9、片机以及电源四个部分,可实现加、减、乘、除四种运算,当做加、减、乘、除时相对的运算指示灯会亮,结果显示在7段数码管上。1概述1.1 应用背景我们的经济活动已经到了已经到了工业经济时代,并正在转入高新技术产业迅猛发展时期。仪器是科学技术发展的重要“工具”。仪器仪表能改善、扩展或补充人的官能。人们用感觉器官去视、听、尝、摸外部事物,而显微镜、望远镜、声级计、酸度计、高温计等仪器仪表,可以改善和扩展人的这些官能;另外,有些仪器仪表如磁强计、射线计数计等可感受和测量到人的感觉器官所不能感受到的物理量;还有些仪器仪表可以超过人的能力去记录、计算和计数,如高速照相机、计算器等。而随着微电子技术
10、的不断发展,集成了CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器甚至AD、DA转换器等电路在一块芯片上的超大规模集成电路芯片(即单片机)出现了。以单片机为主体,将计算机技术与丈量控制技术结合在一起,又组成了所谓的“智能化丈量控制系统”,也就是智能仪器。本次课题就是获得对智能仪器仪表领域的初步认识,我们小组选择电子计算器的设计来作为共同探讨的内容。1.2 课题设计目标本次设计是用AT89S51单片机、LCD显示器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握keil应用程序开发环境,
11、常用的LCD显示器的使用方法和一般键盘的使用方法。1.3 课题设计任务与思路在进行一个系统设计时,首先要明确设计任务,本次设计的电子计算器主要完成-999999999999数的加/减/乘/除运算,使用1602LCD显示器显示数据,具体如下:加法运算能运行-999999999999之间任何两数值之间运算;减法运算结果可以实现计算结果的负数显示;乘除法运算结果为-999999999999,如有小数,则保留两位小数;能对错误进行提示,比如被除数是0则显示“error”;设有清零键;可连续运算;按键排布:因为使用的是4*4键盘,所以要删除部分不太重要的键,如小数点不使用,具体按键安排如下:012345
12、6789+-×÷=复位2. 设计方案论述根据本次课题设计任务与目标,我们小组选用AT89S51单片机、LCD显示器、控制按键为元件来设计电子计算器。2.1 系统总体设计方案本设计以AT89C51型号单片机为控制核心进行设计。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。结果显示采用LCD1602液晶,也叫1602字符型液晶它是一种专
13、门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。 软件设计采用C语言编程实现,使用Keil开发环境,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,
14、体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。2.2 系统设计框图为体现总体设计方案,我们绘制了如图1的系统设计框图,在设计中,单片机处理从键盘输入的数字并进行计算,计算结果显示在LCD上。LCD1602液晶 AT89C51单片机电源矩阵键盘 图1 系统设计框图3. 系统硬件设计实现3.1单片机最小系统 本系统以AT89C51型号单片机为控制核心,
15、AT89C51是一种可编程可擦除的低电压,高性能8位微处理器,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,AT89C51是一种高效微控制器,其最小系统电路如图2所示。图2单片机最小系统3.2矩阵键盘 在按键输入方面,我们采用4*4的矩阵键盘来实现,具体连接电路如图3所示。通过基于状态机的按键扫描程序设计可实现4*4矩阵键盘的按键监控。图3 LCD1602连接图3.3显示部分在显示计算结果上,我们采用字符型液晶LCD1602来显示结果,LCD1602能够同时显示16x2即32个字符(16列2行),LCD1602的使用很普遍了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理
16、是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)地线GND(16脚),其控制原理与14脚的LCD完全一样。其连接电路如图4所示。图4 LCD1602连接图4.程序设计系统的软件设计采用C语言编写,对单片机进行编程实现各功能。程序是在Wnidows 环境下采用Keil uVision4编写的,软件的设计主要完成以下的功能: 矩阵键盘输入检测模块; LCD显示模块;算术运算模块;错误处理及提示模块。4.1 具体设计内容 四则运算: 由于要设计的是简单的计算器,可以进
17、行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 矩阵键盘: 另外键盘包括数字键(09)、符号键(+、-、×、÷)、复位键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 执行过程: 开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 错误提示: 当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为
18、0时,计算器会在LCD上提示错误。4.2主程序流程图 开始初始化参数数据送显示缓冲LCD显示等待数据输入结果送显示等待数据输入等待数据输入结果送显示结果送显示本次按键根据上次功能键和输入数据计算结果状态清零输入数值功能键复位键读取键码数字键有键输入初始化LCD显示图5主程序流程图 如图5所示为主程序流程:当电源打开的时候,CPU进行复位,寄存器清零,接着LCD显示清零,这时候我们可以输入数值、功能键,数据送到CPU进行运算,再转换成BCD码送到显示部分。这时候程序循环检测是否有按键信号,如果矩阵键盘中有任意键按下,再将数据传送至CPU运算,再将结果送至LCD显示,如此循环下去。4.3算数运算程
19、序设计开始 LCD显示结果减加除乘运算符是?错误信息送显示缓冲除数为0?运算结果溢出? Y Y N N图6 算数运算流程图5 系统调试 设计时,在仿真环境中对系统进行了仿真实验,Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。如图7所示是Proteus仿真的电路截图,我们根据设计方案在仿真环境中搭建了具体电路,并在Keil软件开发集成环境中编写了系统程序,通过Keil与Proteus的联调实现了对系统的仿真。图7系统仿真截图 当开机启动系统后,
20、按键输入数值,进行计算,如图8所示。图8 LCD显示 在开发板上联机调试的过程中,先检查各个管脚连接无误,点都连接上了,LCD显示正确,确认硬件图检查无误后;检查程序运行,查看各个子程序是否都输入,各个程序声明都存在,最后由程序导入proteus图,成功下载程序后, LCD显示正确,一切运行成功。6. 设计总结 在大家不断努力下,我们终于圆满完成了这次设计!每一次的课程那个设计都是在让我不断的提升自己亲自动手解决问题的能力,充分运用理论和实践相结合的锻炼.随着科学技术发展的日新日异,片上系统已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握智能
21、仪器的开发技术是十分重要的。这一次的课程设计,无论是选题还是写稿,从理论到实践,学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。在刚接触无从下手到后来逐步完善,时刻在每道工序上的不放弃,要求做到自己最好,这一些都得到了回报。一个人能力与精力是有限的,但是团队则不一样,我们小组齐心协力也让我们更轻松来做,培养我们的团队合作意识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,不仅要掌握理论知识,而且要把理论和实践相结合起来,从理论中得出结论,才能学好这技能,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中难免会遇到过各种各样的问
22、题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,以后一定会努力学习。 本课题的重点、难点是: (1) 对电子计算器的原理、结构、应用等各方面从头开始琢磨;(2) 以单片机为控制核心,采用矩阵键盘输入数据,LCD显示结果;(3)软件仿真做实验 ;这次系统的开发可能该系统还存在着许多不尽如人意的地方,尤其是对于以前学过得知识遗忘了很多,在综合应用上面也缺乏练习,有待进一步改善。7.参考文献1 李群芳,张士军,黄建(编著).单片微型计算机与接口技术,北京:电子工业出版社,20082 例说51单片机(C语言版) 张义和、王敏男等 人民邮电出版社 2003.43 单片机原理
23、与接口技术(第3版) 李朝青编著 北京航空航天大学出版社 2007.64 MCS-51 系列单片机应用系统设计 系统配置与接口技术 何利民 北京航空航天大学出版社 5 MCS-51 系列单片机接口电路与应用程序实例 沈德金 北京航空航天大学出版社 1999.86 C语言程序设计 黄明 大连理工大学出版社1997:201-2117 王选民.智能仪器原理及设计北京:清华大学出版社,2008附录:程序代码:#include "LCD1602.h"/*全局变量*/bit bFlag=0; /用于控制是否扫描按键unsigned char chKeystatu=0; /用于记录按键扫
24、描状态机当前状态unsigned char A=0; /记录写入LCD的字符或数字对应的地址unsigned char chN=0; /记录按键键值unsigned char chOp=0; /记录当前运算符unsigned char chOp1=0; /记录上一次运算符float iNum1=0; /记录当前操作数float iNum2=0; /记录前一次操作数int iNum=0; /记录运算结果int iNum0=0;bit bK=0; /用于控制计算的连续性/LCD1602第一行地址unsignedcharcode rgchAddr16=0x80,0x81,0x82,0x83,0x84
25、,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F; /LCD1602第二行地址 unsignedcharcode rgchAddr216=0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xcA,0xcB,0xcC,0xcD,0xcE,0xcF; /*函数声明*/void Keyscan(void); /按键扫描void Timer0_Init(void); /定时器初始化/*主函数*/ void main()LCD1602_Ini(); /液晶初始化Timer0_Init();
26、while(1)int i=15; /字符写入地址循环计数变量if(bFlag) /中断按键扫描bFlag=0;Keyscan();/按键识别/第一次取运算符和操作if(chOp!=0)&&(chOp!='=')&&(chOp1=0) chOp1=chOp; /取运算符 if(bK=0)iNum2=iNum1; /取操作数iNum1=0; /准备取第二次操作数/保证输出一次计算结果后计算器能继续计算 else if (bK=1) iNum2=iNum2;chOp=0; /准备取第二次操作符/第二次及以上取运算符else if(chOp!=0)&a
27、mp;&(chOp!='=')&&(chOp1!=0) switch(chOp1) /执行上一次操作符 case '+': iNum2=iNum2+iNum1; break; case '-': iNum2=iNum2-iNum1; break; case '*': iNum2=iNum2*iNum1; break;case '/': iNum2=iNum2/iNum1; break; default: break; chOp1=chOp; /取本次操作符iNum1=0; /准备取下次操作数
28、chOp=0; /准备取下次操作符if(chOp='=') /输出计算结果 EA=0; /关中断以保证LCD写时序 switch(chOp1) /执行最后一次操作符case '+': iNum2=iNum2+iNum1; break;case '-': iNum2=iNum2-iNum1; break;case '*': iNum2=iNum2*iNum1; break;case '/': iNum2=iNum2/iNum1; break;default: break; if(iNum2-(int)(iNum2)=0) /计算结果为整数iNum=(int)(iNum2); /存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版消防工程协议外施工补充协议书版B版
- 2025年度企业HSE内部审计与改进合同3篇
- 2024版短期架桥机租赁协议
- 二零二五年度高端品牌服装企业集中采购合作协议3篇
- 二零二五年度高科技园区土地承包经营合同2篇
- 2024年矿山岩石开采作业与施工责任协议版B版
- 二零二五版婚姻财产协议书明确夫妻财产分配细则3篇
- 二零二五年度智慧农业项目设备采购与农技支持合同3篇
- 632项目2024年度技术服务协议版B版
- 专用汽车贷款协议模板2024版版B版
- 浙江宁波鄞州区市级名校2025届中考生物全真模拟试卷含解析
- 电子招投标平台搭建与运维服务合同
- IATF16949基础知识培训教材
- 食品研发调研报告范文
- 2024-2030年国家甲级资质:中国干热岩型地热资源融资商业计划书
- 2024-2030年中国MVR蒸汽机械行业竞争格局及投资发展前景分析报告
- 食材配送服务方案投标文件(技术方案)
- 中国慢性阻塞性肺疾病基层诊疗指南(2024年)解读
- 二零二四年度赠与合同:关于艺术品捐赠的赠与合同
- 2023年高考真题-化学(福建卷) 含解析
- 缠绕膜项目实施方案
评论
0/150
提交评论