基于51单片机的9999秒倒计时器毕业设计Word文档下载推荐.docx
《基于51单片机的9999秒倒计时器毕业设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于51单片机的9999秒倒计时器毕业设计Word文档下载推荐.docx(61页珍藏版)》请在冰豆网上搜索。
2010年6月
重庆邮电大学教务处
摘要
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。
由于单片机具有体积小、易于产品化、面向控制、集成度高、功能强、可靠性高、价格低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中得到了广泛的应用。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。
但是仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本论文针对倒计时系统的设计的需求,介绍了MCS-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。
倒计时系统需要用到锁存器、矩阵键盘、LED数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。
对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即采用KeiluVision3软件程序进行译码。
本次设计采用C语言编程,通过倒计时子程序模块、矩阵键盘扫描模块、中断等子程序的正确调用,完成了可以随时设置初值的基于51单片机控制的9999秒倒计时系统。
【关键词】倒计时器单片机矩阵键盘KeiluVision3LED数码显示器
ABSTRACT
Inrecentyears,withthepenetrationofcomputersinthesocialsphere,SCMapplicationsarecontinuallydeepening,andthetraditionalcontroltestisdrivingtherapidupdate.ThesizeofSCMisverysmall,anditiseasytobeproducted.forcontrol,,functionality,.Soitwidelyusedintheareaofindustrialcontrol,mechatronics,intelligentinstrumentsandcommunications.Inreal-timedetectionandcontrolofthemicrocomputerapplicationsystem,themicrocontrollerisoftenusedasacorecomponent.Butifonlyspecific-specificfeaturesofthesoftwareobjectsarecombinedwillbeperfect.
Thispaperfocusesontheneedsofthecountdownsystemdesign,introducedtheMCS-51MCUofsomeofthebasicprinciples.Suchasthe51single-chipinterfacefunctions,interrupt,timerandsoon.Countdownsystemneedstouselatch,matrixkeyboard,LEDdigitaldisplayandothermajormodules,throughinteractionbetweendifferentmodulestocompletetheCountdowntotheinitialdeviceintheLEDdigitaldisplay,Inordertosimplifythecircuit,reducecosts,weadoptasoftware-basedinterfacemethod,namelyusingKeiluVision3softwareprogramfordecoding.
Clanguageprogrammingwasusedinthedesign,wecompletedtheinitialvaluecanbesetatanytimebasedon51single-chipcontrolofthe9999secondscountdownsystembymakinguseofthecountdownsubroutinemodules,matrixkeyboardscanningmodule,interrupt,andalsothecorrectsubroutinecalls.
【Keywords】Counter-downSCMMatrixkeyboardKeiluVision3LEDdigitaldisplay
前言1***
第一章倒计时系统简介2***
第一节功能说明2
一、设计要求2
二、方案说明2
三、系统功能3
第二节开发作用和意义3
第三节本章小结4
第二章MCS-51单片机基本原理5
第一节单片机概述5
一、单片机基础5
二、单片机应用领域7
三、单片机的生产厂家和机型8
第二节MCS-51单片机的组成原理8
一、80C51芯片介绍8
二、8051与80C5110
第三节MCS-51单片机的引脚功能10
一、主电源引脚Vss和Vcc11
二、外接晶体引脚XTAL1和XTAL211
三、控制引脚RSTVPD、ALEPROG、PSEN、EAVpp11
四、输出输入引脚12
第四节中断14
一、中断的概念14
二、8051中断系统结构15
三、中断响应条件18
第五节定时器与计数器18
一、定时器概述18
二、定时器控制字18
第六节本章小结20
第三章倒计时器系统设计与调试21***
第一节硬件电路设计21
一、中央处理器模块21
二、锁存器23
三、矩阵键盘25
四、LED数码显示模块26
第二节软件设计28
一、程序准备29
二、键盘扫描程序设计30
三、倒计时初值设置31
四、倒计时模块子程序设计32
五、其他子程序设计33
第三节系统调试34
一、系统调试工具KeiluVision334
二、调试的主要方法34
结论38
致谢39
参考文献40
附录41
一、英文原文41
二、英文翻译51
三、源程序61
前言
51系列单片机属于总线型单片机,具有硬件架构完整、功能强大、技术成熟、通用性强、可外部扩展、配套芯片齐全、集成开发环境好、实用子程序丰富以及价格低廉等一系列优点,无论是实际工程应用,还是学习单片机原理及其应用技术,51系列单片机都是理想的选择。
在社会生活和生产的各个领域中,凡是有自动控制要求的地方都会和单片机扯上关系。
无论是从简单到复杂,还是从空中、地面到地下,凡是能想到的地方几乎都有使用单片机的需求,并且达到许多与人方便的操作。
尽管现在单片机在社会上的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目。
因此,单片机的应用依然大有想象和拓展空间。
本次设计采用的是总线型结构的单片机,总线型结构的单片机可以减少不同之间信息传送线的条数,从而使信息传送规格整齐,提高了整机的可靠性。
采用总线结构以后,存储器、输入输出等外部设备都通过专门的接口电路独立的挂在总线上,因而使得单片机可扩充能力强,使用方便灵活。
另外,还可根据不同的需要增加存储器的容量或增添外部设备,也可以根据不同的需要组成各种专用的单片机,例如专用教学机等。
单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等[4]。
但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:
单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。
从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程)方法实现了。
这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。
微控制技术是一种全新的概念,是对传统控制技术的一次革命。
随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。
本论文第一章介绍了本次倒计时系统的设计目的、设计方案和开发意义;
第二章对MCS-51单片机的部分基本原理和接口技术进行了阐述,其中大部分都是本次设计需要用到,比如中断原理、定时器等;
最后一章介绍了本次倒计时系统设计的硬件电路设计和软件程序设计,以及KeiluVision3软件系统调试的步骤和方法,以完成系统设计。
第一章倒计时系统简介
第一节功能说明
一、设计要求
1以MCS-51系统单片机为核心器件,组成一个9999秒以内任意秒数的倒计时系统,即初值为9999秒以内任意秒数,以一秒的速度进行倒计时。
2系统有8个LED数码管显示器,选择低四位分别显示千位、百位、十位、个位,而高四位设置为一直是暗的,没有任何显示。
3此倒计时设计能够通过矩阵键盘对倒计时器设定任何不大于9999秒的初值,同时设置有开始键、复位键,以达到可以重新设置初值的目的。
二、方案说明
本设计的倒计时功能主要通过中央处理模块SST89E516RD、锁存器、矩阵键盘、LED数码显示器四个模块的硬件共同实现,具体如下图1.1。
图1.1倒计时器的硬件模块
本系统首先通过中中央处理模块(SST89E516RD)对整个系统的状态进行判断(如定时器、中断等),它的输入输出口是双向接口,所以要通过锁存器来赋给不同的硬件接口不同的值。
然后通过键盘扫描原理对键盘进行扫描,返回扫描值,判断是否有键按下,如果有键按下,判断是哪个键被按下。
如果是KC键被按下,则进入初值设置阶段,等待初值设置;
如果键盘扫描判断到KF键按下,则表示开始倒计时。
所有的设置初值、等待状况和倒计时状态都要通过LED数码显示器显示出来,体现本倒计时系统的功能。
由于数码管的段选、位选和4*4的矩阵键盘的输入输出都是接到P0.0~P0.3口,所以需要锁存器来锁存不同时刻不同模块需要的P0.0~P0.3的值。
本系统由于数码显示器的8个二极管和位的选择的状态均由SST89E516RD的P0.0~P0.7来决定,所以需要锁存器(DM74LS573N)在需要的时候为其锁定相应的值,从而使显示器正确显示倒计时,如果没有锁存器则会出现很多错误并且不能实现功能。
同理,锁存器SN74LS244N的功能也是一样的,判断矩阵键盘的输出值从而判断按下的键,实现键盘扫描原理的功能。
三、系统功能
由于本来对C语言有一定的了解,再加上C语言的简单等优点,本设计采用的是C语言编程,而未采用汇编语言。
通过倒计时系统的要求,逐步写出C语言程序。
通过KeiluVision3软件对程序进行编译,在确认程序无误的时候,将实验板插到电脑上(通过USB连接),进行硬件仿真。
刚上电时,LED数码显示器显示系统默认初值9999,并立即进行倒计时。
如果需要重新设置小于系统初值的其他任何初始值,这个时候可以按下KC键,数码管四位清0并等待初值的设置,通过K0~K9(分别表示1,2…9,0)设置初值。
当初值设置完成后,再按下KF键开始进行倒计时。
如果需要再一次设置初值的时候再次按下KC键,数码管的低四位又全部清0,重新等待设置初值。
第二节开发作用和意义
现在单片机的应用在我们的生活中随处可见,这体现了它的重要性与实用性。
它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
本次设计的倒计时器就是采用的微控制计数的方法实现的。
计时器在单片机模块中是比较常见的的一个模块,计时器是一种用数字电路技术实现计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
本次设计的9999秒倒计时器是在计时器的基础上设计的,以倒计时器为基础,还可以设计更多对日常生活密切相关的设备,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,都是以计时器为基础的。
通过对基于单片机控制的倒计时器的设计的过程中,让我对单片机的知识有一个初步解,在学习单片机基础知识的同时,结合C语言学习,实现一些简单的功能的设计,做到了主动学习和探索。
本设计不但节约成本,而且功能齐全,不但能实现倒计时器的功能,而且还能实现其他多种功能,如倒计时秒表、定时器等等。
而且由于本次这个基于51单片机的9999秒的倒计时器无论是硬件方面还是在软件程序设计方面都比较简单,所以还可以通过扩展完成其他的功能,而且功能的相互转换也非常简单。
若作为一个部件生产产品,有很大的挖掘价值,也非常有吸引力。
第三节本章小结
本章介绍了本次设计的倒计时系统的功能说明和开发意义。
第一节首先介绍了本系统的设计要求,也可以说是设计目的。
然后介绍了本倒计时系统的方案设计,最后对本倒计时系统的功能进了比较详细的介绍。
第二节介绍了本次设计的作用和系统的开发意义。
第二章MCS-51单片机基本原理
第一节单片机概述
单片微型计算机简称单片机,它因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器CPU(Centralprocessingunit)、随机存储器RAM(Randomaccessmemory)、只读存储器ROM(Readonlymemory)、中断系统、定时器计数器以及I\O(Inputoutput)接口电路等主要微型机部件集成在一个芯片上。
虽然单片机只是一个芯片,但从组成和功能上看,它已具有了计算机系统的属性[11]。
单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制属性,也可以把单片机称为微控制器MCU(Microcontrollerunit)。
在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名称。
单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其“嵌入”的特点,也常常将单片机称为嵌入式微控制器EMCU(Embeddedmicrocontrollerunit)。
单片机根据控制应用的需要分为通用单片机和专用单片机。
其中通用单片机是一种基本芯片,内部资源丰富、性能全面、适用性较强,用户可根据自己的需要,以其为控制核心,配以不同的外围电路设计成不同的单片机应用系统;
专用单片机是针对性特别强,具有结构的最简化、资源利用的最优化、可靠性和成本的最佳化的特点。
一、单片机基础
1、单片机与单片机系统
单片机通常是指芯片本身,它是有芯片制造商生产的,在它上面集成的是一些作为基本组成部分的运算器电路、控制器电路、存储器、中断系统、定时器计数器以及输入输出口电路等。
但一个单片机芯片并不能把计算机的全部电路都集成到其中,例如组成谐振电路和复位电路的石英晶体、电阻、电容等,这些元件在单片机系统中只能以散件的形式出现。
此外,在实际的控制应用中,常常需要扩展外围电路和外围芯片。
从中可以看到单片机和单片机系统的差别:
单片机只是一块芯片,而单片机系统则是在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。
通常所说的单片机系统都是为实现某一控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统。
在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件和软件基础。
2、单片机的由来与发展
(1)、单片机的产生
电子计算机的发展经历了从电子管、晶体管、集成电路到大(超大)规模集成电路共四个阶段,即常说的第一代、第二代、第三和第四代计算机。
现在广泛使用的微型计算机是大规模集成电路技术发展的产物,因此它属于第四代计算机,而单片机则是微型计算机的一个分支。
从1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展:
一个是向高速度,大容量,高性能的高档微机方向发展;
而另一个则是向稳定可靠、体积小和价格廉价的单片机方向发展。
但是两者在原理和技术上是紧密联系的。
(2)、单片机的发展
单片机出现的历史并不长,它的产生与发展和微处理器的产生和发展大体上同步,也经历四个阶段:
第一阶段(1971~1974年)
1971年11月,Intel公司推出4位微处理器Intel4004,并配有RAM,ROM和移位寄存器等芯片,构成第一台MCS-4微型计算机。
1972年4月,Intel公司又推出8位微处理器Intel8008。
这些微处理器虽说还不是单片机,但从此拉开了研制单片机的序幕[2]。
第二阶段(1974~1978年):
初级单片机阶段
以Intel公司MCS-48为代表,这个系列的单片机内集成了8位CPU,若干并行IO,8位定时器计数器,容量有限的RAM和ROM,寻址范围不大于4K,且无串行口,简单的中断处理功能。
第三阶段(1978~1983年):
高性能单片机阶段
以Intel公司MCS-51系列为代表,与此同时,Motorola公司推出6801、Zilog公司推出Z8、Rokwell公司推出6501、6502等。
此类单片机普遍带有串行口,有多级中断处理系统,16位CT,片内RAM,ROM容量加大,且寻址范围可达64K字节,有的片内还带有AD转换器接口。
第四阶段(1983年~):
8位单片机巩固发展及16位单片机推出阶段
在此阶段,一方面发展16位单片机及专用单片机,另一方面不断完善高档8位单片机,改善其结构,以满足不同的用户需要。
纵观单片机近30年的发展历程,单片机今后将向多功能、高性能、高速度、低电压、低功耗、低价格、外围电路简单化以及片内存储器容量增加的方向发展。
但其位数不一定会继续增加,尽管现在已经有了32位单片机,但使用的并不多。
所以今后的单片机将是功能更强、集成度和可靠性更高而功耗更低、以及使用更方便等特点[2]。
此外,专用化也是单片机的一个发展方向,针对单一用途的专用单片机将会越来越多。
二、单片机应用领域
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等多个领域,为各个领域的快速发展做出了巨贡献。
大致可分为如下几个范畴:
1、在智能仪器仪表的应用
单片机具有体积小、功耗低、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
2、在家用电器中的应用
当前,家用电器产品的一个重要发展趋势就是不断提高其智能化程度,而家电智能化的进一步提高就需要有单片机的参与,例如洗衣机、电冰箱、空调机、微波炉、电视机和音像视频设备等。
通过单片机控制的智能化家用电器将给我们带来更大的舒适和方便,进一步改善我们的生活质量,把我们的生活变的更加丰富多彩。
3、在工业控制中的应用
工业技术中,无论是过程控制技术,数据采集和测控技术,还是生产线上的机器人技术,都需要要有单片机的参与。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统等。
在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种集机械、微电子和计算机技术于一体的综合技术中,单片机将发挥越来越大的作用。
4、在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5、单片机在医用设备、军用领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
军事装备方面科技强军、国防现代化离不开计算机,在现代化的飞机、军舰、坦克、大炮、导弹火箭和雷达等各种军用装备上,都有单片机深入其中。
6、单片机在汽车设备领域中的应用
单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统等等。
此外,单片机在工商、金融、科研、教育、国防航空等领域都有着十分广泛的用途。
三、单片机的生产厂家和机型
Intel(美国英特尔)公司:
MCS-48,MCS-51系列;
Microchip(美国微晶)公司:
PICI6XX,PIC54CXX系列;
Zilog(美国齐洛落)公司:
ZS系列及SUPER8;
Fairchild(美国仙童)公司:
FS系列和3870系;
Motorola(美国摩托罗拉)公司:
NEC(日本电气)公司:
Ucom87,uPD7800系列;
Hitachi(日本日立)公司:
HD6301,HD6305,HD63L05系列;
ATMEL公司:
AT89C51系列;
PHILIPS:
87LPC系列;
Cygnal:
C8051F0系列等。
第二节MCS-51单片机的组成原理
不同型号MCS-51单片机CPU处理能力和指令系统完全兼容,只是存储器和IO接口的配置有所不同。
其中8051主要包括算术逻辑部件ALU、累加器A、只读存储器ROM、随机存储器RAM、程序计数器PC、定时器计数器、IO接口电路等,还有堆栈寄存器SP等部件。
这些部件集成在一块芯片上,通过内部总线连接,构成完整的微型计算机。
一、80C51芯片介绍
MCS-51的原生产厂商是Intel公司,最早推出80C51芯片的也是Intel公司,并且作为MCS-51的一部分,按原MCS-51芯片的规则命名,例如80C31、80C51、87C51和89C51,这样我们就能很容易地认识80C51的系列芯片。
但是后来愈来愈多的厂商生产80C51的系列芯片,例如PHILIPS,ATMEL,LG,华邦等公司。
这些芯片都是以80C51为核心并且与MCS-51芯片兼容,但它们又各具特点。
然而由于生产厂家多,芯片的类型也很多,使芯片的命名无法再遵循统一的规律,造成我们辨认上的困难[3]。
目前这些80C51的兼容芯片已开始在我国使用,其中尤其是PHILIPS公司的同名芯片80C51及其派生产品最受欢迎,而ATMEL公司的闪速存储器型单片机芯片AT89C51等更是后来居上