版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、等级:湖南工程学院课 程 设 计课程名称 专业设计 课题名称 简易计算器设计 专 业 电子科学与技术 班 级 1101 班 学 号 201101040108 姓 名 吕 双 臻 指导教师 龚 志 鹏 2014 年 5 月 5 日湖南工程学院课 程 设 计 任 务 书课程名称 专业设计 课 题 简易计算器设计 专业班级 电子科学技术 学生姓名 吕 双 臻 学 号 08 指导老师 龚 志 鹏 审 批 任务书下达日期 2014 年 5 月 5 日任务完成日期 2014 年 5 月 16 日设计内容与设计要求设计内容及要求:设计一个简易计算器,使用5位数码管显示2个两位数和一个运算符号(2位数的加减乘
2、除,加减乘除的显示符号可以自行定义);能通过矩阵键盘输入运算式子,按确定键得出结果并显示;可清零重新运算。目录第一章 方案与设计211 设计目标和实现方法212方案论证与设计2第二章 模块介绍42.1 主控模块42.2 显示模块82.3 按键模块102.4 时钟电路112.5 复位电路12第三章 运算主程序设计13第四章 仿真调试14第五章 总结与体会15参考文献16附录171. 源程序172. 仿真图233. 硬件电路调试图24电气信息学院课程设计评分表25第一章 方案与设计11 设计目标和实现方法为了满足计算器的基本要求,可以实现基本的运算(加减乘除)和数据清零可重新运算,我们采用基于单片
3、机设计计算器,并用led 数码管显示两个进行运算的两位数和运算后的结果,使用4*4 的矩阵键盘实现数据输入。设计仿真和调试要用到protues 、keil等软件。12方案论证与设计根据功能和指标要求,本系统选用mcs 51 单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计考虑如下:(1)由于要设计的是简单的计算器,要求可以进行两个两位数的四则运算,对数字的大小范围要求不高,所以选用5 个led 数码管显示数据和结果。(2)另外键盘包括数字键(09)、符号键(+、-、)、清除键和等号键,故需要16 个按键。(3)使用keil软件编写程序,并在protues上进行电路仿真调
4、试,仿真调试成功后将程序下载到单片机开发板上进行硬件调试。键盘输入复位电路时钟电路系统模块图: 主控电路 电源 显示模块程序流程图如下图所示:启动显示初始值按下清零键结束led显示计算结果按下“=”键输入数字led显示led显示按下运算符led显示输入数 第二章 模块介绍2.1 主控模块mcs-51 单片机是在一块芯片中集成了cpu、ram、rom、定时器/计数器和多功能i/o等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(cpu)、数据存储器(ram)、程序存储器(rom/eprom)、并行i/o 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(sf
5、r)。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性。因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能。单片机芯片如下图所示:单片机、程序存储器(rom)、数据存储器(ram)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,其内部结构如图所示:中央处理器:中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输
6、出功能等操作。数据存储器(ram):其内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的ram只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器(rom):共有4096个8位掩膜rom,用于存放用户程序,原始数据或表格。定时/计数器:有两个16位的可编程定时/计数器,以实现定时或计数产生中断,用于控制程序转向。并行输入输出(i/o)口:4组8位i/o口(p0、 p1、p2和p3),用于对外部数据的传输。p0口是一个8位漏极开路型双向i/o口,内部不带
7、上拉电阻,当外接上拉电阻时,口能以吸收电流的方式驱动八个lsttl负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。p1口能驱动4个lsttl负载。在使用时外不需要外接上拉电阻,直接驱动发光二极管。端口置1时内部上拉电阻将端口拉到高电平,作输入用。p2口,是一个带内部上拉电阻的8位双向i/o口,p2口能驱动4个lsttl负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。p3口,是一个带内部上拉电阻的8位双向i/o口,p2口能驱动4个lsttl负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。p1p3端口在做输入使用时,因内部有上接电阻,被外
8、部拉低的引脚会输出一定的电流。除此之外p3端口还用于一些专门功能,具体如下:p3引脚兼用功能p3.0串行通讯输入(rxd)p3.1串行通讯输出(txd)p3.2外部中断0( int0)p3.3外部中断1(int1)p3.4定时器0输入(t0)p3.5定时器1输入(t1)p3.6外部数据存储器写选通wrp3.7外部数据存储器写选通rd全双工串行口:内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:内置最高频率达12
9、mhz的时钟电路,用于产生整个单片机运行的脉冲时序,需外置振荡电容。为了能够更好地理解单片机的结构特附上mcs-51系列单片机的内部结构示意图:2.2 显示模块发光二极管led 是单片机应用系统中的一宗简单而常用的输出设备,其在系统中的主要作用是显示单片机的输出数据、状态等。因而作为典型的外围器件,led 显示单元是反映系统输出和操作输入的有效器件。led 具备数字接口可以方便的和大年纪系统连接;它的优点是价格低,寿命长,对电压电流的要求低及容易实现多路等,因而在单片机应用系统中获得了广泛的应用,所以在此设计中选用led作为显示器件。led显示器由七段发光二极管组成,排列成8字形状,因此也称为
10、七段led显示器,器排列形状如下图所示:为了显示数字或符号,要为led显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。简易计算器用到的数字09的共阴极字形代码如下表:09七段数码管共阴级字形代码显示字型gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fh本次设计中需要用到的运算符“+、-、*、/”可自行定义。2.3 按键模块计算器输入数字和其他功
11、能按键要用到很多按键,如果采用独立按键的方式,会占用大量的i/o 口资源,因此我们引入了矩阵键盘的应用,采用四条i/o 线作为行线,四条i/o 线作为列线组成键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为44个。这种行列式键盘结构能有效地提高单片机系统中i/o 口的利用率。按键连接电路如下图所示:在矩阵式键盘电路中,行连接线和列连接线分别占用4条i/o口线,共连接16个按键。此处列线连接的接口为输入口,用于输入按键的列位置信息,行线连接的接口为输出口,用于输出扫描电平。本次设计中键盘控制程序需完成的任务有:监测是否有键按下,有键按下时,延时消除按键抖动影响;不管一次按键
12、持续多长时间,仅执行一次按键功能程序。当无按键闭合时,p10p13 与p14p17 之间开路;当有键闭合时,与闭合键相连的两条i/o 口线之间短路。判断有无按键按下的方法是:第一步,置列线p14p17 为输入状态,从行线p10p13 输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线p14p17 读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。2.4 时钟电路在mcs-51单片机内有一个高增益的反相放大器,其输入端为xtal1,输出端为xtal2,又该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方
13、式。单片机的时钟连接方式可分为内部时钟方式和外部时钟方式,此处采用内部时钟方式,如下图所示:此处要注意的是,在内部方式时钟电路中必须在xtal1和xtal2引脚两端跨接石英晶体振荡器和两个微调电容构成震荡电路。下图为两种时钟方式简图,以便于比较理解。 内部时钟方式 外部时钟方式2.5 复位电路单片机复位是使cpu和系统中的其他功能都处在一个确定的初始状态,并从这个状态开始工作。单片机复位的条件是:必须使rst/vpd或rst加上持续两个周期的高电平。在rst引脚出现高电平后的第二个周期执行复位。单片机常见的复位电路有上电复位和按键复位电路。本设计的复位电路如下图所示:两种复位电路简图如下: 上
14、电复位电路 按键复位电路 第三章 运算主程序设计首先初始化参数,送led低位显示“0”,高位不显示。然后扫描键盘看是否有键输入,若有,读取键码。判断键码是数字键、清零键还是功能键(“+”“-”“*”“/”“=” ),是数值键则送led显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送led显示,若是运算键则保存相对运算程序的首地址。主程序的流程图如下所示:开始初始化参数led显示读取键码键码是?数字键运算符号状态清零输入数值清零键功能键等于符号进行运算结果按键输入 第四章 仿真调试在程序设计方法上,模块化程序设计是单片机应用中最常用的程序设计
15、方法。设计的中心思想是把一个复杂应用程序按整体功能划分成若干相对独立的程序模块,各模块可以单独设计、编程和调试,然后组合起来。这种方法便于设计和调试,容易实现多个程序共存,但各个模块之间的连接有一定的难度。根据需要我们可以采用自上而下的程序设计方法,此方法先从主程序开始设计,然后再编制各从属程序和子程序,层层细化逐步求精,最终完成一个复杂程序的设计。这种方法比较符合人们的日常思维,缺点是一级的程序错误会对整个程序产生影响。功能和操作:加减乘除运算和显示。上电后,屏幕初始化。计算。按下数字键,屏幕显示要运算的第一个数字,再按下符号键,屏幕上显示所设置的运算符号,然后再按下数字键,屏幕显示要运算的
16、第二个数字,此时屏幕上为此次运算的算式,最后按下“”号键,屏幕上显示出计算结果。如果要再次计算,可以按下“on/c”键清零,或者按下单片机的复位键,重新初始化。 第五章 总结与体会本次课程设计历时两个星期左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。在这次课程设计中,学到很多东西,对单片机有了进一步的了解。在这次课程设计中,通过对键盘控制电路的设计,使我了解键盘设计的基本方法,学到更多有关于电路方面的知识,真正的将理论和实践联系在一起。更重要的是学到了用电脑软件实现电路原理的知识,用电脑的仿真方法使得设计更
17、为简便,这对于我们电子专业来说是很重要的。这次的课程设计让我看到自己力量的渺小,我发现仅靠自己掌握的东西想要做好课程设计实在是太难了。在程序设计的过程中总是会遇到自己不能解决的问题,在此我必须要感谢跟我做同一个课题的同学给我的帮助,没有他们的帮助我不可能顺利的完成课程设计,从心底表示由衷的感谢。通过这次课程设计使我懂得了理论知识与实际相结合的重要性,只有理论知识是远远不够的,只有两者相结合,才能提高自己的动手能力和独立思考的能力,才能发现在设计过程中所遇到的问题。由于这次的课程设计是在我们刚开始做单片机的实验,这就使得对keil 和proteus都不熟悉的我们感到格外的困难,但功夫不负有心人,
18、通过和同学的讨论及寻找参考资料,最终终于完成了课程设计。对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆。参考文献1 郑锋等. 51单片机应用系统典型模块开发大全(第3版)m.北京: 中国铁道出版社, 2013. 112 张齐等. 单片机原理与嵌入式系统设计原理、应用、protues仿真、实验设计 m. 北京: 电子工业出版社, 2011.8.3 黄勤. 单片机原理及应用 m. 北京: 清华大学
19、出版社, 2010.7附录1. 源程序#include#define uchar unsigned char#define uint unsigned intuchar code table14=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x49,0x40,0x0f,0x4f;void display1(uint a);void displays(uint b);void display2(uint c);void displayx(uint x);void delayms(uint j) uint i; for( ;j0;j-) i=10; while(-i); int fastfound() uchar keyin,n; p3=0xf0; keyin=p3; keyin=keyin&0xf0; if(keyin!=0xf0) for(n=0;n9)& (temp14) symbol=temp; while(fastfound()=1); if(temp=14) while(fastfound()=1); goto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 避孕海绵市场需求与消费特点分析
- 2024年度桥梁建设混凝土泵车租赁合同
- 2024年度品牌授权合同:品牌持有者与被授权人之间关于品牌使用的授权协议
- 2024年度幼儿园食堂设备维护合同:设备保养与维修
- 皮制行李标签市场发展预测和趋势分析
- 2024年度泵车设备租赁费用结算合同
- 治疗用紫外线放射装置市场需求与消费特点分析
- 2024年度北京市特色街区墙绘项目合同
- 2024年度体育赛事组织与服务合同
- 2024年度企业间应收账款保理合同
- 供应商评估打分表
- 近地警告系统(GPWS)和飞行安全
- 风电场运维费预算(初版)20180921
- 密封条格式大全
- 【深信服】大云云计算PT1-HCI认证复习备考题库(含答案)
- 计算材料学ms几种常见出错信息
- 商业空间设计-课件
- 围场满族蒙古族自治县新华生矿业有限公司托果奈萤石矿矿山地质环境保护与土地复垦方案
- 高考化学三轮冲刺易错题易错点25 盐类水解(解析版)
- 日间照料中心制度模板(四篇)
- 手卫生调查表
评论
0/150
提交评论