欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    电子信息工程专业毕业论文24712.doc

    • 资源ID:4029522       资源大小:1.77MB        全文页数:59页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子信息工程专业毕业论文24712.doc

    毕业设计(论文)设计(论文)题目:基于MSC-51单片机计算器学 院 名 称 :通信学院学 生 姓 名 :田倚晨专 业 :电子信息工程摘 要近年来,伴随着计算机在大规模集成电路的发展和社会领域的渗透,单片机应用正在不断地走向深入。由于它具有功能强,体积小,功耗低,性价比高,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域。作为微型机的一个主要分支,单片机在结构上的最大特点是把CPU、RAM和ROM存储器、定时器和多种I/O接口电路集成在一块超大规模集成电路芯片上。从它的组成和功能来看,一块单片机芯片其实就是一台计算机。本次设计是采用MSC-51单片机来设计的四位数计算器, 采用C语言进行程序编写实现计算器功能。外接4X4的键盘,通过键盘扫描来完成输入数的控制,利用驱动电路使数值与结果在七段共阴极数码管上正常显示,并设有清零键可随时完成计算与显示的清零。计算器将完成的0至9999整数的一次加/减/乘/除运算。【关键词】MSC-51单片机 四位数计算器 C语言 ABSTRACTIn recent years, with the computer in the social sector and the development of large-scale integrated circuits, the application of SCM is continuously to thoroughly, because it has the strong function, small volume, low power consumption, low price and reliable, easy to use, so particularly suitable for related control and system, more and more widely used in automatic control, intelligent instrument and meter, data acquisition, military products, and household electrical appliances, etc.As one of the main branch of microcomputer, the single-chip microcomputer in the structure of the biggest characteristic is to put the CPU, memory, and timer RAM and ROM and I/O interface circuit integration on a large scale integrated circuit chip. From its composition and function, a single chip is actually a computer. This design is adopted to design the MSC - 51 single-chip four digits calculator, using C language program realization calculator function. External 4X4 keyboard, through the keyboard scan to complete input number of control, use drive circuit make numerical results in the seventh with the normal cathode tube of digital display, and reset button at the finish calculation and display cleared. Calculators will complete the 0-9999 integer by plus / minus / multiply / divide.【Key words】MSC-51 Microcontroller Four-digit Calculator C Programming Language 目 录前 言1第一章 单片机介绍2第一节 单片机的发展历史和趋势2一、发展历史2二、发展趋势3第二节 MCS-51单片机系统简介4一、单片机的基本特点4二、单片机的组成5第三节 本章小结6第二章 MCS-51单片机计算器总体方案7第一节 设计任务7第二节 方案设计7一、主程序方案7二、按键显示方案8三、设计难点8第三节 本章小结8第三章 MCS-51单片机计算器硬件设计9第一节 主要元件介绍与选择9一、电阻9二、常用电容器9三、AT89S51单片机10四、7段数码管12五、按键13第二节 硬件设计13一、矩阵式键盘设定13二、显示数码管设定14三、复位、时钟电路设计14第三节 本章小结15第四章 MCS-51单片机计算器软件设计16第一节 软件设定16一、程序规划16二、程序设定17三、数码管显示程序设计17四、键盘程序设计19第二节 程序总编21一、主要变量21二、程序模块21第三节 本章小结22第五章 实验方法及调试手段23第一节 实验技术23一、实验方法23二、实验手段及环境23三、Keil C51单片机软件应用23第二节 实际焊接及其注意事项24第三节 本章小结25结 论26致 谢28参考文献29附 录30一、英文原文:30二、英文翻译:39三、工程设计图纸:45四、源程序:47 前 言随着科学的不断发展与进步,微电子技术的发展越来越快。单片机自20实际70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,前景广阔。给人类社会带来了根本性的改变。尤其Intel公司生产的MSC-51系列单片机,因为其处理能力强,结构简单,易于使用等优点,在世界范围内得到了广泛的普及和应用。目前在工业,办公,家电等诸多领域,随处可见单片机的踪影,单片机技术的开发已经成为国家工业化水平的标志之一。“工欲善其事,必先利其器”,对于单片机,我们不但要认识它的作用和价值,还需要熟悉它的原理和性能。单片机本身只是一个电子元件,只有当它与其它的器件,设备有机的组合在一起,并配置适当的工作程序后,才能具有特定的功能。就目前来看,单片机应用系统的研究也在不断推出,各式各样由单片机开发出的新产品层出不穷。计算器是日常生活中非常常见的电子设备,可以有效而快速地解决人们在商业交易、学习工作等生产和生活中遇到的数字运算问题。计算器的普及和利用还有极大的发展空间。基于这样的理念,本次设计是用MCS-51单片机为芯片, P1口作为输入端,外接4X4的键盘,通过键盘扫描来完成输入数的控制,同时连接一个驱动电路,用来保证LED的工作正常。由此完成一个能实现简单功能的计算器。第一章 单片机介绍第一节 单片机的发展历史和趋势一、发展历史继1971年微处理器的研制成功不久以后,就出现了单片机,但最早的单片机是1位的,当时因为工艺限制,单片机采用双片的形式而且功能比较简单。如果我们以8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段。 11、第一阶段(1976-1978)单片机的初级阶段。以Intel公司的MCS48为代表。MCS48的推出是在工业控制领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。2、第二阶段(1978-1982)单片机的完善阶段。Intel公司在MCS48 基础上推出了完善的、典型的单片机系列MCS 51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口;CPU外围功能单元的集中管理模式;体现工控特性的位地址空间及位操作方式;指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。3、第三阶段(1982-1990)8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS51系列的广应用,许多电气厂商竞相使用8051为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。4、第四阶段(1990现在)微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。2二、发展趋势目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。CMOS化:近年来由于CHMOS技术的进小,大大地促进了单片机的CMOS化。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80C51取代8051为标准MCU芯片的原因。因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。CHMOS和HMOS工艺的结合。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已在于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。 低功耗化:单片机的功耗已从Ma级,甚至1uA以下;使用电压在36V之间,完全适应电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。 低电压化:几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在36V范围内工作。低电压供电的单片机电源下限已可达12V。目前0.8V供电的单片机已经问世。 低噪声与高可靠性:为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。 大容量化:以往单片机内的ROM为1KB4KB,RAM为64128B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内ROM最大可达64KB,RAM最大为2KB。 高性能化:主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。 小容量、低价格化:与上述相反,以4位、8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。 外围电路内装化:这也是单片机发展的主要方向。随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模/数转换器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。 串行扩展技术:在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One Time Programble)及各种类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是 IC、SPI等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。 第二节 MCS-51单片机系统简介一、单片机的基本特点由于单片机的这种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。单片机主要有如下特点: 有优异的性能价格比; 集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作; 控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。; 低功耗、低电压,便于生产便携式的产品。; 外部总线增加了IC(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构; 单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。3二、单片机的组成图1.1为单片机的典型功能结构框图。由图可见,它通过内部总线把计算机的各主要部件连接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;/数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。4振荡器及时序 OSCCPU程序存储器4KB ROM数据存储器256B2个16位定时器/计数器64K总线扩展控制器可编程I/O可编程全双工串行口图1.1 MSC-51单片机功能结构框图第三节 本章小结本章详细讲述了单片机的发展过程,介绍了MSC-51单片机的基本结构。一方面对本设计的意义作了阐释,令一方面也为后面的理论知识展开进行铺垫。单片机的使用体现在我们生活中的方方面面,几乎很难找到哪个领域没有单片机的踪迹,认识它的历史和了解其未来的发展,更能拓展我们的视野和知识。可以说,单片机现在仍然处于成长阶段,但是它已经在不断促进整个世界前进的步伐,我们对于电子技术的研究,特别是微电子技术方向的学习,一定是需要与单片机密切联系的。第二章 MCS-51单片机计算器总体方案第一节 设计任务按照任务书大纲和自己的理解,所设计的单片机计算器需满足以下要求: 扩展一个4*4的键盘,其中包括10个数字键,5个功能键以及1个清零键;完成基本的十进制的四则运算(即加、减、乘、除);使用使用keil C软件编写和调试程序;计算器可显示4位数字。其中,系统划分为显示模块、键盘模块、处理程序三个模块。显示模块实现将CUNZHI中的值进行动态数码显示,包括:P0口送显示码,P2口为公共端扫描;键盘模块进行键盘扫描;处理程序模块实现计算器加减乘除运算。5第二节 方案设计一、主程序方案方案一将显示处理程序置于定时中断程序中实现其功能,主程序为键盘扫描程序。6方案二利用主程序为显示处理程序键盘扫描程序。取消定时中断的使用。在方案比较中,方案一效率低,单片机的反应无法进行运行,方案二虽未能解决按键长按无显示的缺点,但其运算速度快。最终选定为方案二。二、按键显示方案因为计算器至少需要显示4位数字,开机运行时,只有数码管最低位显示为“0”,其余位全部不显示;当键盘第一次按下时,数码显示“D1”,第二次按下时,显示出“D1D2”,第三次按下时,显示“D1D2D3”。四个全显示完毕,再按下按键下时,输入的第五个数不接收。可以对计算结果小于9999的两个无符号数进行、-、*、/运算,并显示计算结果,如果输入的预计算的数超过9999,则运算时报错,在”D5”上显示“E”,以提示使用者输入错误,可按清零键清零,重新输入数据,运算过程中,如果运算的表达式是加、减、乘、除混合运算,需分步先按等号键,再继续进行运算。三、设计难点本设计的难点是键盘识别和数值显示,因为这里边涉及到键盘输入的数值在内部要转换成10进制运算,运算结果要转换成各个位的显示数字输出。第三节 本章小结 本章对单片机计算器的设计进行了预先分析,为具体的操作和实现定下总纲,简单的说明了设计上的规划和步骤。为以后的硬件部分和软件部分设计指明了方向。初次接触一个需要由理论结合实际的设计,并将其具体实现,不是一件容易的事情。明确此次设计的目标要求,实施方法,重点难点,可以不至于难于入手。参考一些技术文献,对应自己的计划,各个环节分步研究,最终结合在一起就可达到要求。第三章 MCS-51单片机计算器硬件设计第一节 主要元件介绍与选择 一、电阻通常分为三大类:固定电阻,可变电阻,特种电阻。该设计上电阻的选择主要为固定电阻。一般电阻上面都有不同的色环,国际上惯用"色环标注法"。表3.1 测量的电阻数值电阻理论值实际值R110K10.5KR24.7k4.65k二、电容器电容的基本单位为法拉,由两个金属极,中间夹有绝缘材料(介质)构成。由于绝缘材料的不同,所构成的电容器的种类也有所不同:按介质材料可分为:气体介质电容,液体介质电容,无机固体介质电容,有机固体介质电容电解电容。本设计主要选用的就是电解电容。电容在电路中具有隔断直流电,通过交流电的作用,因此常用于级间耦合、滤波、去耦、旁路及信号调谐。7表3.2 测量的电容数值电容理论值实际值C1104pF104.32pFC530 pF32.451pFC13100uF103.75uF第二节 各硬件的功能与连接一、 AT89S51单片机1、AT89S51介绍AT89S51是由近年来美国ATMEL公司生产的一种低功耗、高性能CMOS8位微控制器,总共具有8K的系统可编程Flash存储器。与工业80C51 产品指令和引脚完全兼容。在单芯片上,AT89S51拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S51为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S51具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个5向量两级中断结构,全双工串行口,为片内晶振及时钟电路,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。与AT89C51相比,二者都是都是8051的内核。但是AT89S51比AT89C51增加了一个16位的计数器T2,相应的内存也128字节提高到了256字节,ROM的容量从2K提高到了4K,可以装下更大的程序,另外AT89S51比AT89C51增加了ISP功能,即在线可编程功能。82、AT89S51单片机的各主要引脚功能VCC:电源GND:地P0 口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1口是一个具有内部上拉电阻的8 位双向I/O口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。Flash编程和程序校验期间,Pl接收低8位地址。P2 口:基本与P1口相同。但是在Flash编程或校验时,P2接收高位地址和其它控制信号。图3.1 AT89S51单片机引脚图P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口除了作为一般的I0口线外,更重要的用途是它的第二功能。RST:复位输入。晶振工作时,RST脚持续2个机器周期,高电平将使单片机复位。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。PSEN:外部程序存储器选通信号。当AT89S51从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。9二、七段数码管1、数码管使用条件段及小数点上加限流电阻使用电压:段,根据发光颜色决定;小数点:根据发光颜色决定。使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA,峰值电流 100mA图3.2 7段数码管结构图2、连接方式 LED显示器由七段发光二极管组成,排列成8字形状,因此也称为七段LED显示器。为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段。本设计采用两个4位七段数码管连接AT89S51。 其中采用共阴极接法,使用时,公共阴极接地,在阳极端输入高电平,发光二极管就导通发光。五、按键键盘可分为两类:编码键盘和非编码键盘。图3.3 4*4矩阵式键盘结构 编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。通用计算机使用的标准键盘就是编码键盘。但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路,我们采用非编码键盘。非编码键盘的接口电路由设计者根据需要自行决定,按键信息通过接口软件来获取。 本设计需要的是16个按键,故选择用非编码键盘,为了减少所占用的端口,由P1口采用4*4矩阵式键盘外接。一、矩阵式键盘设定按照预定的设定方案,本次设计的计算器将通过按键输入数字和运算符,利用单片机不断扫描键盘。其中数字键09 共十个,接下来依次是加号键(+)、减号键(-)、乘号键(*)、除号键(/)、等于号(=)、清除键。操作设备是四行四列共16键的简单键盘。第一行从左至右分别为F(清除键)、E(等号键)、D(除号键)、C(乘号键),第二行从左至右分别为B(减号键)、A(加号键)、9、8,第三行分别为7、6、5、4,第四行从左至右分别为3、2、1、0,“清除键”表示程序初始化,为下次输入准备。三、复位、时钟电路设计XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。当使用内部振荡电路时,XTAL1.XTAL2引脚外接石英晶体和微调电容,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。MCS-51单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。图3-4 晶振连接的内部、外部方式图任何单片机在工作之前都要进行复位,以便CPU以及其他功能部件都处于一个确定的初始化状态,并从这个状态开始工作,也就是程序开始执行之前,单片机做好准备工作。如何进行复位呢?只用在单片机的RST引脚上保持两个机器周期(24个时钟周期)的高电平即可对单片机实现复位操作,且复位操作不会对内部RAM有所影响。图3.5 常用复位电路图第三节 本章小结本章详细介绍了MCS-51单片机计算器设计的硬件元件选择以及各类主要硬件的功能结构。对单片机计算器的组成和工作原理进行了分析。更为后面的难点软件设计部分做好了充分的准备。 综合来看,一个单片机计算器的组成并不复杂,但是如何将所有部件连接在一起并正常工作,这是在设计过程要一直不断思考的问题。第四章 MCS-51单片机计算器软件设计第一节 软件设定 一、程序规划该计算器的程序主要包括以下功能模块:主模块,为系统的初始化。显示与读键模块,分为显示子程序,判键程序段、运算操作子程序部分;图4.1 软件设计流程图主程序主要是用来进行初始化的,调用其他子程序,清空各个标志位,清空缓存区,读取键码,判断功能,在LED上作出回应。10二、程序设定数字送显示程序设计简易计算器所显示的数值最大位为四位。要显示数值,先判断数值大小和位数,如果是输入超过四位或大于9999,将不显示数字。需重新输入数字,再次计算。该程序输入同时输入四个定点数,设定运算符号有:A为加,B为减,C为乘,D为除,E等于,输出计算结果。数据输入采用规范化输入,即输入=3个数才算完成一个运算数的输入,两个运算数之间输入运算符A、B、C或者D,输入完成按E显示计算结果。运算程序的设计首先初始化参数,送LED低位显示“0”,高位不显示。然后扫描键盘看是否有键输入,若有,读取键码。判断键码是数字键、清零键还是功能键,是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。F为清零重启,任何时候按下F将重新开始。11三、数码管显示程序设计 本设计的,显示程序是这样设计的,因为考虑到显示程序的通用性,在接通电源后不进行输入时显示为0,输入时显示输入的数字或运算结果,而且要使8个数码管同时显示不同的数字,选用动态显示应是最佳的。数码管显示判断显示是否完毕 返回否是 对数码管进行初始化,从按键程序和运算程序中接收数据,通过显示程序处理开始图4.2 显示扫描程序流程图数码管用到的数字09的共阴极字形代码如下表:表4.1 数码管共阴极字形代码表显示字型gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhLED用于显示十进制数字,要将09的数字用7段显示,必须将数字转换为LED对应七段码的信息,比如,要显示“0”,就是让a、b、c、d、e和f段发光,显示“1”,让b和c段发光,如表所示。然后根据LED是共阴极还是共阳极接法确定LED各输入端应接逻辑1还是逻辑0,本设计选用的是共阴接法,要显示“0” 时,a、b、c、d、e和f段就要输入逻辑1,即其段码为3F, 将待显示内容“翻译”为LED段码的过程,可以由软件查表方法实现译码。12四、键盘程序设计确定矩阵式键盘上何键被按下,用“行扫描法”。 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法。判断键盘中有无键按下:将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置: 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉按键就是闭合的按键。把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个位,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。开始扫描第一行是否有键按下Y判断键值N扫描第二行数字键放入显示缓冲区运算符修改标志位调用显示程序显示数字进行运算运算结果放入显示缓冲区是否有键按下N扫描第三行是否有键按下N扫描第四行是否有键按下N图4.3 按键扫描程序流程图第二节 程序总编一、主要变量本设计的程序代码主要设置变量如下表表4.2 程序设计主要变量表SIGN存运算符(+、-、*、/)FLAG用第几个数组,(出现非运算符前为0,出现运算符后为1)WRONG输入多于4个时错误标志位(0对、1错)COUNT输入09数字的个数SIZE减数大于被凑数时为1SIGNCOUNT输入运算符的个数XIAOSHU存一位小数的值DIVKEY运算除法时置为1CUNZHI全局变量二、程序模块主要的程序模块分为:显示程序:实现将全局变量CUNZHI中的值进行动态数码显示。入口参数无,所用端口功能为P1口送显示码,P2口进行公共端扫描,返回值无;处理程序:用来实现计算器的加减乘除运算。全局变量为key、CUNZHI、SHU0、SHU1、FLAG、SIGN;键盘扫描程序:进行键盘扫描,判断是否有键按下,全局变量为k,局部变量为i,j;调用函数为CHULI(key);主程序:实现计算器加减乘除运算并显示,全局变量为CUNZHI、FLAG、SIGN,调用函数:disp()、JIANPAN(),返回值无。 13(具体源程序参见附录四)第三节 本章小结 本章详细说明了MSC-51单片机计算器的软件设计过程,阐明了该计算器软件方面的编写流程及各个设备的程序思路。同时简单描述了源程序的变量设置以及主程序和相关子程序的功能。本章是整个设计中的重要环节,是计算器得于实现的中心内容。第五章 实验环境与调试 第一节 软件实验方法一、 编写程序1、软件工具单片机开发的时候除必要的硬件外,同样离不开软件的编写。而我们写的源程序要变为 CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,但是目前已使用手工汇编的方法已经极少使用了。机器汇编是通过汇编软件将源程序变为机器码,对于 MCS-51单片机的程序汇编非常实用。在软件设计部分我们已经对程序的实现进行了初步编写,但是能否正常运行我们还尚未知道,需要利用相关软件进行调试对错误的地方进行修改,并且将编写的程序转换为机器码。C51工具包的整体结构中,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。142、程序编译我们使用uVision 的文本编辑器编写源文件,可以是汇编文件(程序扩展名为*.ASM),也可以使用C语言文件(程序扩展名为*.C),并将该文件添加到项目中去。一个项目文件可以包含多个文件,除了源程序文件外,还可以是库文件、头文件或文本说明文件。这里我们使用的是C语言进行编写。图 5.1 KEIL UVISION4程序编写环境 如图5.1所示,当我们打开Keil 软件以后使用菜单“File->New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口3、程序二、实验手段及环境三、Keil C51单片机软件应用通过uVision 2 的相关选择项,配置编译环境、编译过程中的信息将出现在输出窗口中的Build页中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序编写之后,会生成绝对目标代码和可选的HEX文件,如果出现编译连接错误则可以返回修改源文件中的错误后重构整个项目。对没有语法错误的程序进行仿真调试。PL-2303 Driver Installer,这是一个可以将电脑的USB接口转为可接受串口数据的驱动程序。因为实验板上有PL-2303芯片,调试成功后就可以直接将HEX文件写入到单片机应用系统的ROM中。第二节 实际焊接及其注意事项拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要避免电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。若一切正常,方可在断电的情况下将芯片插

    注意事项

    本文(电子信息工程专业毕业论文24712.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开