电子信息工程专业毕业论文24712.doc_第1页
电子信息工程专业毕业论文24712.doc_第2页
电子信息工程专业毕业论文24712.doc_第3页
电子信息工程专业毕业论文24712.doc_第4页
电子信息工程专业毕业论文24712.doc_第5页
免费预览已结束,剩余54页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆邮电大学本科毕业设计(论文) 毕业设计(论文)设计(论文)题目:基于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- 54 - 前 言随着科学的不断发展与进步,微电子技术的发展越来越快。单片机自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中。第二节 实际焊接及其注意事项拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要避免电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。新烙铁使用前,应用细砂纸将烙铁头打光亮,通电烧热,蘸上松香后用烙铁头刃面接触焊锡丝,使烙铁头上均匀地镀上一层锡。这样做,可以便于焊接和防止烙铁头表面氧化。旧的烙铁头如严重氧化而发黑,可用钢挫挫去表层氧化物,使其露出金属光泽后,重新镀锡,才能使用。电烙铁要用220v交流电源,使用时要特别注意安全。应认真做到以下几点: 电烙铁插头最好使用三极插头。要使外壳妥善接地。使用前,应认真检查电源插头、电源线有无损坏。并检查烙铁头是否松动。 焊接过程中,烙铁不能到处乱放。不焊时,应放在烙铁架上。注意电源线不可搭在烙铁头上,以防烫坏绝缘层而发生事故。使用结束后,应及时切断电源,拔下电源插头。焊接电路板时,一定要控制好时胡间太长,电路板将被烧焦,或造成铜箔脱落。从电路板上拆卸元件时,可将电烙铁头贴在焊点上,待焊点上的锡熔化后,将元件拔出。焊接时,要保证每个焊点焊接牢固、接触良好。要保证焊接质量。15第三节 本章小结 本章简单说明了实际动手焊接单片机的实验方法,当我们编写出程序时,经过keil调试后检查无误,通过usb接口转串口驱动程序,与电脑连接后,再将程序烧入at89s51芯片。经过实验板调试可用,本次设计就基本完成了。结 论毕业设计是一个通过不断思考、发问、自己主动学习、提高的过程。这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过msc-51单片机等一些器件的设计让自己把以前的许多的知识在一起进行磨合,使以前学的很多相关课程都得到了运用;另一方面在用烙铁实际焊接单片机时,这个过程中让我获得了在电路设计中亲自动手的实践经验,可谓极其珍贵。通过努力,我总算顺利完成了基于mcs-51单片机的计算器设计,达到了预期的目标。但因为时间仓促,一些不足还是再所难免,如电路板的焊接失误导致实验器材损坏,程序的设计暂时只能完成简单的四则运算,这些都还值得我去思考和改善。但我相信,这次毕业设计的经历,我更多的是掌握了一种学习的方法和实践研究的精神,这些才是对于我最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力。同时,仅仅是完成了设计还是不可以自我满足的,我们要认真的思考设计过程中遇到的问题,多查资料,将理论与实际相结合思考,常总结错误的教训,才能更好的走向成功。以后无论是对此次的设计进行优化,或是重新进行新的设计,我都有了一种自信,只要做事尽心尽力,就一定能够得到回报。致 谢通到2个月的努力,毕业设计终于完成了,我感觉这段日子过得非常充实,在这个过程中我学到了很多。首先我要感谢我的导师,王文明老师在我完成论文的过程中,给予了我很大的帮助。在我接到课题的时候,这是一次考验。怎么才能找到课堂所学与实际应用的最佳结合点,怎样让自己的成功地完成它?在我迷茫的时候王老师从我的特长和专业分析,引导我从基础的方向入手学习。王老师学识渊博,治学严谨。为我规划了合理的设计进度,经常特意抽出时间来辅导我们,多次指出了我设计的失误让我改正。正是因为王老师的认真教诲,我才能有今天的收获,同时领会到毕业设计的意义,学到了只靠书本掌握不到的知识。同时我还要感谢许多关心帮助和教育我的老师们,你们的照顾与指导让我难忘,我唯有以努力学习和工作来报答他们无私的关怀。还有那些与我一起探讨问题的同学,你们陪我走过了这一段充实的日子。谢谢大家!参考文献1 张毅刚单片机原理及应用m北京:高等教育出版社,20032 闫娟msc-51单片机汇编语言程序ide设计与实现d 河南师范大学,20073 百度百科单片机ol/view/1012.html?wtp=tt4 structure and function of the mcs-51 seriesol /view/bf7d83114431b90d6c85c762.html5 张迎新等单片机初级教程:单片机基础m 北京:北京航空航天大学出版社,20066 单片机从入门到精通ol /view/95fabc0ef12d2af90242e600.html7 关德新,冯文全等单片机外围器件实用手册m北京:北京航空航天大学出版社,19988 at89s51 8-bit microcontroller with 8k bytes in-system programmable flashatmelcorporation,20019 96系列单片机仿真器研究与设计10 kirk zurellc programming for embedded systemsdcmp media,inc200011 徐金增单片机编程仿真实验系统的设计与实现d.山东师范大学,200912 刘焕平mcs-51系列单片机实验板j.石家庄职业技术学院学报,200214(4) :40-4113 mautice wilkesprogress in computersd prestige lecture delivered to iee,cambridge,on 5 february 200414张子红96系列单片机仿真器研究与设计d 哈尔滨:哈尔滨工程大学,200615赖麟文8051单片机c语言开发环境事务与设计m北京:科学出版社,2002附 录一、英文原文:handoff in cellular systemsnishith d. tripathi, norteljeffrey h. reed and hugh f. vanlandinghammprg, virginia techcellular systemdeployment scenariosthe radio propagation environment and related handoff challenges are different in different cellular structures. a handoff algorithm with fixed parameters cannot perform well in different system environments. specific characteristics of the communication systems should be taken into account while designing handoff algorithms. several basic cellular structures (e.g., macrocells, microcells, and overlay systems) and special architectures (e.g., underlays, multichannel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论