已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆邮电大学本科毕业设计(论文)基于51单片机的9999秒倒计时器设计毕业论文目 录前 言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三、控制引脚RST/VPD、ALE/PROG、PSEN、EA/Vpp11四、 输出输入引脚12第四节中断14一、中断的概念14二、8051中断系统结构15三、中断响应条件18第五节定时器与计数器18一、定时器概述18二、定时器控制字18第六节本章小结20第三章 倒计时器系统设计与调试21*第一节硬件电路设计21一、中央处理器模块21二、 锁存器23三、 矩阵键盘25四、 LED数码显示模块26第二节 软件设计28一、 程序准备29二、键盘扫描程序设计30三、倒计时初值设置31四、倒计时模块子程序设计32五、其他子程序设计33第三节 系统调试34一、系统调试工具 Keil uVision334二、调试的主要方法34结 论38致 谢39参考文献40附 录41一、英文原文41二、英文翻译51三、源程序61I前 言51系列单片机属于总线型单片机,具有硬件架构完整、功能强大、技术成熟、通用性强、可外部扩展、配套芯片齐全、集成开发环境好、实用子程序丰富以及价格低廉等一系列优点,无论是实际工程应用,还是学习单片机原理及其应用技术,51系列单片机都是理想的选择。在社会生活和生产的各个领域中,凡是有自动控制要求的地方都会和单片机扯上关系。无论是从简单到复杂,还是从空中、地面到地下,凡是能想到的地方几乎都有使用单片机的需求,并且达到许多与人方便的操作。尽管现在单片机在社会上的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目。因此,单片机的应用依然大有想象和拓展空间。本次设计采用的是总线型结构的单片机,总线型结构的单片机可以减少不同之间信息传送线的条数,从而使信息传送规格整齐,提高了整机的可靠性。采用总线结构以后,存储器、输入输出等外部设备都通过专门的接口电路独立的挂在总线上,因而使得单片机可扩充能力强,使用方便灵活。另外,还可根据不同的需要增加存储器的容量或增添外部设备,也可以根据不同的需要组成各种专用的单片机,例如专用教学机等。单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等4。但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。本论文第一章介绍了本次倒计时系统的设计目的、设计方案和开发意义;第二章对MCS-51单片机的部分基本原理和接口技术进行了阐述,其中大部分都是本次设计需要用到,比如中断原理、定时器等;最后一章介绍了本次倒计时系统设计的硬件电路设计和软件程序设计,以及Keil uVision3软件系统调试的步骤和方法,以完成系统设计。第一章 倒计时系统简介第一节 功能说明一、 设计要求 以MCS-51系统单片机为核心器件,组成一个9999秒以内任意秒数的倒计时系统,即初值为9999秒以内任意秒数,以一秒的速度进行倒计时。 系统有8个LED数码管显示器,选择低四位分别显示千位、百位、十位、个位,而高四位设置为一直是暗的,没有任何显示。 此倒计时设计能够通过矩阵键盘对倒计时器设定任何不大于9999秒的初值,同时设置有开始键、复位键,以达到可以重新设置初值的目的。二、 方案说明本设计的倒计时功能主要通过中央处理模块SST89E516RD、锁存器、矩阵键盘、LED数码显示器四个模块的硬件共同实现,具体如下图1.1。图1.1 倒计时器的硬件模块本系统首先通过中中央处理模块(SST89E516RD)对整个系统的状态进行判断(如定时器、中断等),它的输入输出口是双向接口,所以要通过锁存器来赋给不同的硬件接口不同的值。然后通过键盘扫描原理对键盘进行扫描,返回扫描值,判断是否有键按下,如果有键按下,判断是哪个键被按下。如果是KC键被按下,则进入初值设置阶段,等待初值设置;如果键盘扫描判断到KF键按下,则表示开始倒计时。所有的设置初值、等待状况和倒计时状态都要通过LED数码显示器显示出来,体现本倒计时系统的功能。由于数码管的段选、位选和4*4的矩阵键盘的输入输出都是接到P0.0P0.3口,所以需要锁存器来锁存不同时刻不同模块需要的P0.0P0.3的值。本系统由于数码显示器的8个二极管和位的选择的状态均由SST89E516RD的P0.0P0.7来决定,所以需要锁存器(DM74LS573N)在需要的时候为其锁定相应的值,从而使显示器正确显示倒计时,如果没有锁存器则会出现很多错误并且不能实现功能。同理,锁存器SN74LS244N的功能也是一样的,判断矩阵键盘的输出值从而判断按下的键,实现键盘扫描原理的功能。三、 系统功能由于本来对C语言有一定的了解,再加上C语言的简单等优点,本设计采用的是C语言编程,而未采用汇编语言。通过倒计时系统的要求,逐步写出C语言程序。通过Keil uVision3软件对程序进行编译,在确认程序无误的时候,将实验板插到电脑上(通过USB连接),进行硬件仿真。刚上电时,LED数码显示器显示系统默认初值9999,并立即进行倒计时。如果需要重新设置小于系统初值的其他任何初始值,这个时候可以按下KC键,数码管四位清0并等待初值的设置,通过K0K9(分别表示1,29,0)设置初值。当初值设置完成后,再按下KF键开始进行倒计时。如果需要再一次设置初值的时候再次按下KC键,数码管的低四位又全部清0,重新等待设置初值。第二节 开发作用和意义现在单片机的应用在我们的生活中随处可见,这体现了它的重要性与实用性。它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。本次设计的倒计时器就是采用的微控制计数的方法实现的。计时器在单片机模块中是比较常见的的一个模块,计时器是一种用数字电路技术实现计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。本次设计的9999秒倒计时器是在计时器的基础上设计的,以倒计时器为基础,还可以设计更多对日常生活密切相关的设备,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,都是以计时器为基础的。通过对基于单片机控制的倒计时器的设计的过程中,让我对单片机的知识有一个初步解,在学习单片机基础知识的同时,结合C语言学习,实现一些简单的功能的设计,做到了主动学习和探索。本设计不但节约成本,而且功能齐全,不但能实现倒计时器的功能,而且还能实现其他多种功能,如倒计时秒表、定时器等等。而且由于本次这个基于51单片机的9999秒的倒计时器无论是硬件方面还是在软件程序设计方面都比较简单,所以还可以通过扩展完成其他的功能,而且功能的相互转换也非常简单。若作为一个部件生产产品,有很大的挖掘价值,也非常有吸引力。第三节 本章小结本章介绍了本次设计的倒计时系统的功能说明和开发意义。第一节首先介绍了本系统的设计要求,也可以说是设计目的。然后介绍了本倒计时系统的方案设计,最后对本倒计时系统的功能进了比较详细的介绍。第二节介绍了本次设计的作用和系统的开发意义。第二章 MCS-51单片机基本原理第一节 单片机概述单片微型计算机简称单片机,它因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器 CPU(Central processing unit)、随机存储器RAM(Random access memory)、只读存储器ROM(Read only memory)、中断系统、定时器计数器以及 IO(Input/output)接口电路等主要微型机部件集成在一个芯片上。虽然单片机只是一个芯片, 但从组成和功能上看,它已具有了计算机系统的属性11。单片机主要应用与控制领域,用以实现各种测试和控制功能, 为了强调起控制属性,也可以把单片机称为微控制器 MCU(Micro controller unit)。在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名称。单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其“嵌入”的特点,也常常将单片机称为嵌入式微控制器 EMCU(Embedded micro controller unit)。单片机根据控制应用的需要分为通用单片机和专用单片机。其中通用单片机是一种基本芯片,内部资源丰富、性能全面、适用性较强,用户可根据自己的需要,以其为控制核心,配以不同的外围电路设计成不同的单片机应用系统;专用单片机是针对性特别强,具有结构的最简化、资源利用的最优化、可靠性和成本的最佳化的特点。一、 单片机基础1、 单片机与单片机系统单片机通常是指芯片本身,它是有芯片制造商生产的,在它上面集成的是一些作为基本组成部分的运算器电路、控制器电路、存储器、中断系统、定时器/计数器以及输入/输出口电路等。但一个单片机芯片并不能把计算机的全部电路都集成到其中,例如组成谐振电路和复位电路的石英晶体、电阻、电容等,这些元件在单片机系统中只能以散件的形式出现。此外,在实际的控制应用中,常常需要扩展外围电路和外围芯片。从中可以看到单片机和单片机系统的差别:单片机只是一块芯片,而单片机系统则是在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。通常所说的单片机系统都是为实现某一控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统。在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件和软件基础。2、 单片机的由来与发展(1)、单片机的产生电子计算机的发展经历了从电子管、晶体管、集成电路到大(超大)规模集成电路共四个阶段,即常说的第一代、第二代、第三和第四代计算机。现在广泛使用的微型计算机是大规模集成电路技术发展的产物,因此它属于第四代计算机,而单片机则是微型计算机的一个分支。从1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展:一个是向高速度,大容量,高性能的高档微机方向发展;而另一个则是向稳定可靠、体积小和价格廉价的单片机方向发展。但是两者在原理和技术上是紧密联系的。(2)、单片机的发展单片机出现的历史并不长,它的产生与发展和微处理器的产生和发展大体上同步,也经历四个阶段:第一阶段(19711974年)1971年11月,Intel公司推出4位微处理器Intel 4004,并配有RAM,ROM和移位寄存器等芯片,构成第一台MCS-4微型计算机。1972年4月,Intel公司又推出8位微处理器Intel 8008。这些微处理器虽说还不是单片机,但从此拉开了研制单片机的序幕2。 第二阶段(19741978年):初级单片机阶段以Intel公司MCS-48为代表,这个系列的单片机内集成了8位CPU,若干并行I/O,8位定时器/计数器,容量有限的RAM和ROM,寻址范围不大于4K,且无串行口,简单的中断处理功能。第三阶段(19781983年):高性能单片机阶段以Intel公司MCS-51系列为代表,与此同时,Motorola公司推出6801、Zilog公司推出Z8、Rokwell公司推出6501、6502等。此类单片机普遍带有串行口,有多级中断处理系统,16位C/T,片内RAM,ROM容量加大,且寻址范围可达64K字节,有的片内还带有A/D转换器接口。 第四阶段(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处理能力和指令系统完全兼容,只是存储器和I/O接口的配置有所不同。其中8051主要包括算术/逻辑部件ALU、累加器A、只读存储器ROM、随机存储器RAM、程序计数器PC、定时器/计数器、I/O接口电路等,还有堆栈寄存器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 等更是后来居上,大有取代传统 EPROM 型芯片之势。80C51 芯片内部集成了 CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些部件连接在一起。80C51单片机内部包含以下一些功能部件:一个8位CPU;一个片内振荡器和时钟电路;4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片内有无ROM); 128B内RAM; 可寻址64KB的外ROM和外RAM控制电路; 两个16位定时/计数器; 21个特许功能寄存器; 4个8位并行I/O口,共32条可编程I/O端线; 一个可编程全双工串行口; 5个中断源,可设置成2个优先级。振荡器及时序 OSC8051CPU程序存储器4KB ROM数据存储器256B2个16位定时器/计数器64K总线扩展控制器可编程I/O可编程全双工串行口图2.1 80C51单片机功能结构框图二、8051 与 80C51 80C51单片机是在8051的基础上发展起来的,也就是说在单片机的发展过程中是先有8051,然后才有80C51的。8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容),也就是说在8051下开发的软件完全可以在80C51上应用,反过来,在80C51下开发的软件也可以在8051上应用3。这两种单片机是完全可移植的。8051与80C51单片机的主要差别就在于芯片的制造工艺上。80C51的制造工艺是在8051基础上进行了改进。8051系列单片机采用的是HMOS工艺:高速度、高密度;80C51系列单片机采用的是CHMOS工艺:高速度、高密度、低功耗;也就是说80C51单片机是一种低功耗单片机。此外,在80C51系列芯片中,内部程序存储器除了 ROM 型和 EPROM型之外,还有 EEPROM 型,例如 89C51 就是 4KB EEPROM,并且随着集成技术的提高,80C51系列片内程序存储器的容量也越来越大,目前已有 64KB 的芯片了。另外,许多80C51芯片的还具有程序存储器保密机制,以防止应用程序泄露或被复制。第三节 MCS-51单片机的引脚功能MCS-51单片机采用40引脚的双列直插封装(DIP)方式。图2.2左边为其引脚图,右边为为其逻辑符号图。在40条引脚中,有2条专用于主电源的引脚,2条外接晶体的引脚,4条控制引脚,3条I/O引脚2。图2.2 左边为MCS-51引脚图,右边为MCS-51单片机逻辑符号图一、 主电源引脚Vss和VccVcc芯片电源,正常操作时接+电源;Vss接地端。二、 外接晶体引脚XTAL1和XTAL2XTAL1、XTAL2晶体振荡电路反相输入端和输出端。当外接晶体振荡器时,XTAL1和XTAL2分别接在外接晶体两端。当采用外部时钟方式时,XTAL1接地,XTAL2接外来振荡信号。三、 控制引脚RST/VPD、ALE/PROG、PSEN、EA/Vpp1、RST/Vpd(9)复位/备用电源正常工作时,RST(Reset)端为复位信号输入端,只要在该引脚上连续保持两个机器周期以上高电平,80C51芯片即实现复位操作,复位后一切从头开始,CPU从0000H开始执行指令。Vpd功能:在Vcc掉电情况下,该引脚可接上备用电源,由Vpd向片内供电,以保持片内RAM中的数据不丢失。2、 ALE/PROG(30)地址锁存允许/片内EPROM编程脉冲ALE功能:用来锁存P0口送出的低8位地址。80C51在并行扩展外存储器(包括并行扩展I/O口)时,P0口用于分时传送低8位地址和数据信号,且均为二进制数。当ALE信号有效时,P0口传送的是低8位地址信号;ALE信号无效时,P0口传送的是8位数据信号。在ALE信号的下降沿,锁定P0口传送的内容,即低8位地址信号。当CPU不执行访问外部数据存储器时,ALE以时钟振荡频率1 / 6的固定频率输出,因此ALE信号也可作为外部芯片CLK时钟或其他需要。但是,当CPU执行MOVX指令时,ALE将跳过一个ALE脉冲。ALE端可驱动8个LSTTL门电路。PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚用于输入编程脉冲。3、PSEN(29)外ROM读选通信号。80C51读外ROM时,没个机器周期内PSEN两次有效输出。PSEN可作为外ROM芯片输出允许OE的选通信号。在读内ROM或读外RAM时,PSEN无效。外部数据存储器是靠及信号控制的。PSEN可驱动8个LSTTL门电路。4、EA/Vpp 内外ROM选择/片内EPROM编程电源EA功能:正常工作时,EA为内外ROM选择端。80C51单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外(80C31芯片无内ROM,全部在片外)。当EA保持高电平时,先访问内ROM,但当PC(程序计数器)值超过4KB(0FFFH)时,将自动转向执行外ROM中的程序。当EA保持低电平时,则只访问外ROM,不管芯片内有否内ROM。对80C31芯片,片内无ROM,因此EA必须接地。Vpp:片内有EPROM的芯片,在EPROM编程期间,此引脚用于施加编程电源Vpp。四、输出输入引脚80C51共有4个8位并行I/O端口,共32个引脚。所有4个端口都是双向口,每个口都包含一个锁存器,即专用寄存器P0P3,一个输出驱动器和输入缓冲器。1、P0口8位双向I/O口在不并行扩展外存储器(包括并行扩展I/O口)时,P0口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时,P0口可用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。位结构如图2.3所示。P0口能驱动8个LSTTL门。 地址/数据VCC控制锁存器DCPQQMUXV1V2P0.X引脚读锁存器写锁存器内部总线读引脚&1图2.3 P0口位结构2、P1口8位双向I/O口8位准双向I/O口(“准双向”是指该口内部有固定的上拉电阻)。P1口既可以作为8位并行输入输出口,又可以作为8位输入/输出端。CPU既可以对P1口进行字操作,又可以进行位操作。位结构如图2.4所示。 P1口能驱动为4个LSTTL门。VCC锁存器P1.XDCPQQP1.X引脚读锁存器写锁存器内部总线读引脚内部上拉电阻图 2.4 P1口位结构3、P2口8位准双向I/O口在不并行扩展外存储器(包括并行扩展I/O口)时,P2口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时,P2口可用于传送高8位地址(属地址总线) ,P2口能驱动4个LSTTL门。P2口的位结构如图2.5所示,引脚上拉电阻同P1口。锁存器P2.XDCPQQ读锁存器写锁存器内部总线读引脚VCCP2.X引脚内部上拉电阻1地址控制MUX图 2.5 P2口位结构4、P3口8位准双向I/O口P3口具有多种功能。一方面与P1口一样作为一般准双向输入/输出接口,具有字节操作和位操作二种工作方式;另一方面8条输入/输出线可以独立地作为串行输入/输出口和其它控制信号线。P3口驱动能力为4个LSTTL门。图 2.6 P3口位结构P3口各口线与专用功能: P3.0RXD:串行口输入端; P3.1TXD:串行口输出端; P3.2INT0:外部中断0请求输入端; P3.3INT1:外部中断1请求输入端 P3.4T0:定时/计数器0外部信号输入端; P3.5T1:定时/计数器1外部信号输入端; P3.6WR:外RAM写选通信号输出端; P3.7RD:外RAM读选通信号输出端。上述4个I/O口,各有各的用途。在不并行扩展外存储器(包括并行扩展I/O口)时, 4个I/O口都可作为双向I/O口用。在并行扩展外存储器(包括并行扩展I/O口)时,P0口专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号。P3口根据需要常用于第二功能,真正可提供给用户使用的I/O口是P1口和一部分未用作第二功能的P3口端线。第四节 中断一、 中断的概念CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生),CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断,如下图2.7。图2.7 中断流程引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B,对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。见下图2.8。图2.8 中断系统二、 8051中断系统结构80C51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套 。4个用于中断控制的寄存器IE、IP、TCON和SCON用于控制中断的类型、中断的开/关和各种中断源的优先级别。5个中断源有两个中断优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序的嵌套。8051单片机中断系统的结构如图2.9所示。图2.9 中断系统结构1、 中断源8051单片机的5个中断源包括:、引脚输入的外部中断源,三个内部中断源(定时器T0、T1的一处中断源和串行口的发送/接受中断源)。 (1)、IT0(TCON.0)外部中断0()触发方式控制位。IT0=0时,外部中断0程控为电平触发方式;IT0=1时外部中断0为边沿触发方式。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。(2)、IT1(TCON.2)外部中断1()请求类型控制位。IT1=0时,外部中断1程控为电平触发方式;IT1=1时外部中断1为边沿触发方式。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。(3)、TF0(TCON.5)片内定时/计数器T0溢出中断申请位,TF0实际上是T0中断触发器的一个输出端。T0被允许计数以后,从初值开始加1计数,当产生溢出时置TF0=1,向CPU请求中断,直到CPU响应该中断时才由硬件清0。(4)、TF1(TCON.7)片内定时/计数器T1溢出中断申请位。定时器T1被允许计数后,从初值开始加1计数,当产生溢出时置TF1=1,向CPU请求中断,直到CPU响应该中断时才由硬件清0。 (5)、RI(SCON.0)或TI(SCON.1)串行口中断请求标志位。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。2、 中断控制(1)、中断允许控制寄存器IE特殊功能寄存器IE为中断允许寄存器,控制CPU对中断系统所有中断以及某个中断源的开放和屏蔽(禁止),以及每个中断源是否允许中断。其格式为: EX0(IE.0):外部中断0允许位;ET0(IE.1):定时/计数器T0中断允许位; EX1(IE.2):外部中断0允许位;ET1(IE.3):定时/计数器T1中断允许位;ES(IE.4):串行口中断允许位;EA (IE.7):CPU中断允许(总允许)位。(2)、中断源优先级设定寄存器IP80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的 。PX0(IP.0):外部中断0优先级设定位;PT0(IP.1):定时/计数器T0优先级设定位;PX1(IP.2):外部中断0优先级设定位;PT1(IP.3):定时/计数器T1优先级设定位;PS (IP.4):串行口优先级设定位;PT2 (IP.5) :定时/计数器T2优先级设定位。同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如表2.1所示:表2.1 同优先级中断源等级序号序号中断源中断标志优先级顺序0外部中断0IE0最高级最低级1定时器T0中断TF02外部中断1IE13定时器T1中断TF14串行口中断RI或TI三、 中断响应条件中断源有中断请求;此中断源的中断允许位为1;CPU开中断(即EA=1)。第五节 定时器与计数器一、 定时器概述加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值4。二、定时器控制字1、工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:各位功能如下:(1) GATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。(2) :定时/计数模式选择位。0为定时模式;=1为计数模式。(3) M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。如下表2.2所示:表2.2 定时/计数器工作方式设置表M1M0工作方式说 明00方式013位定时/计数器01方式116位定时/计数器10方式28位自动重装定时/计数器11方式3T0分成两个独立的8位定时/计数器;T1此方式停止计数2、控制寄存器TCONTCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:TOCN各位功能如下:TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。TR0(TCON.4):T0运行控制位,其功能与TR1类同。3、 初始化程序对TMOD赋值,以确定T0和T1的工作方式9。计算初值,并将其写入TH0、TL0或TH1、TL1。中断方式时,则对IE(ET0/ET1)赋值,开放中断。使TR0或TR1置位(TCON),启动定时/计数器定时或计数。第六节 本章小结本章主要介绍了本次设计需要用到的MCS-51单片机的部分基本原理。第一,单片机的概述,介绍了单片机的定义和历史;第二,以80C51为例,大致的介绍了单片机的基本组成原理;第三,介绍了单片机的40条引脚功能,特别对输入输出接口进行了详细的介绍;第四,介绍了单片机的一个重要部分:中断。首先对中断进行了阐述,然后对中断系统结构和中断响应条件进行了介绍。第五,比较简单的介绍了定时器。在对单片机的基本原理介绍的基础上,接下来就是对倒计时系统的设计与调试,以完成本次设计。第三章 倒计时器系统设计与调试第一节 硬件电路设计最小系统是单片机在发挥具体测控功能时所必须的组成部分5。倒计时器由单片机的最小系统就可以构成,单片机的最小硬件系统即倒计时器的硬件系统如图3.1所示。图3.1 单片机的最小系统这次设计的倒计时系统的硬件电路设计主要由中央处理模块、矩阵键盘、锁存器、LED数码显示器四个模块组成,再加上一些基本元器件实现倒计时的功能。其中不同的模块根据自己的的特点实现不同的功能,在整个系统中都起到了不可替代的作用。它们相辅相成,如果缺少任何一个模块或者任何一个元器件,都不可能完成本次设计。根据系统的需求可划分为以下4个部分。一、 中央处理器模块1、 SST89E516RD芯片图3.2是中央处理器(SST89E516RD)在本设计中的引脚图,其功能和前面介绍的MCS-51的功能基本一样。其中本次设计P0P3口用到的是P0.0P0.7口(作为输入输出口)、P1口的P1.0P1.3口(分别是锁存器的使能端,从而控制着锁存器的应用)、左边的一个复位系统等等,各个引脚都实现了其应有的价值,从而实现倒计时系统的功能。P0.0P0.7分别命名为D0D7,由于是双向口,即在作为输入口的同时还可以作为输出口,不过要通过不同的锁存器与不同的器件相连接,通过程序实现各种功能。图3.2 中央处理器(SST89E516RD)引脚图本次设计通过中央处理模块(SST89E516RD)对各个接口进行赋初值,并确定定时器、工作方式、中断等等,以下是详细介绍:本电路应用定时器0方式1工作方式,该方式是一个16 位计数器的计时中断法。所以工作方式寄存器TMOD的M1M0两位为01。设置定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。比如,12M的晶振每秒可产生1M的机器周期1,50ms就是50000个机器周期,定时器0工作方式1工作,计数长度为=65536个外部脉冲,65536-50000周期=初值15536,从15536开始计数,总共累加50000次计数器产生一次溢出,所以定时器的高八位和低八位TH0和TL0的值为:TH0 = (65536-TIME)/256;TL0 = (65536-TIME)%256;其中TIME=50000;其中TL0是低八位当达到256的时候,向高八位进1,然后低八位重新计数,所以高八位对差值求整,低八位对差值求余。由于采用的是定时器0所以TMOD的高四位为0000;选通控制只要用软件使TR0就启动了定时器,所以门控位GATE为0;表示设置为定时方式。所以工作方式TMOD=0000 0001H=0X01H。2、单片机的复位电路设计复位电路产生复位信号,复位信号送入 RST 后还要送至片内的施密特触发器,由片内复位电路在每个机器周器的S5P2 时刻对触发器输出采样信号,然后由内部复位电路产生复位操作所要的信号11。一般的复位电路可分为上电自动复位和按键复位,在本次设计中选用的是按键复位。单片机的第九脚RES为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如上图3-2所示。图中由按键RESET以及电解电容C3构成了复位电路。由于单片机是高电平复位,所以当按下RESET时,单片机的9脚RESET管脚处于高电平,此时单片机处于复位状态。当上电后,由于电容缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上复位完毕,系统程序从0000H开始执行。值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值。二、锁存器锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号。通常只有0和1两个值。在本次设计中,芯片SST89E516RD通过锁存器DM74LS573N(当锁存端LE与P1.0相接时)与LED数码管的段相接时,对数码管的段进行控制(当SEG7SEG0=0111 1001时,如果选择第一位数码管亮的话,应该显示数字E)。当段选锁存器使能端LE=1(高电平)时,打开锁存器,此时SEG0SEG7的值分别等于D0D7(即P0.0P0.7)的值,然后将使能端LE置为低电平,此时便将SEG0SEG7的值锁定为刚才的值,不再随着D0D7值的变而改变。同理,芯片SST89E516RD通过锁存器DM74LS573N(当锁存端LE与P1.1相接时)与LED数码管的位相接时,控制数码管的位进行控制(当DIG7DIG0=0111 1101时,此时则表示选择第二位数码管显示数据),确定是哪一位数码管显示数据。其中当锁存器使能端LE与P1.1相连时的原理图见图3.3,当LE与P1.0相连的时候原理图基本一致。图3.3 DM74LS573N使能端LE与P1.1相连时的原理图而锁存器SN74LS244N所完成的功能是配合完成键盘扫描原理。如图3-4所示,锁存器的是锁存器的使能端,本设计是将P1.3与相连。当时,表示打开该锁存器,此时锁存器的输入值等于输出值(即A1A4的值等于D0D3的值);当时,表示关闭该锁存器,此时锁存器的输出端的值不再随输入端值的改变而改变,完成一次操作。图3.4 SN74LS244N使能端与P1.3相连时的原理图三、矩阵键盘矩阵键盘又称为行列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率,从而节约系统资源12。图3.5 实验板键盘布局实验板的键盘布局如图3.5所示,本次倒计时系统的设计一共用到了09号、C号、F号共12个按键。其中:09号键其中08号键分别代表数字19,9号键代表数字0,这10个键用来设置初值,键盘代号为K0K9。C号键等待初值设置键,即无论在任何倒计时的过程中,若按下改建,则数码显示器四位清0,等待设置初值,键盘代号为KC。F号键开始键,即当初值设置后,按下该键,则开始减1倒计时,键盘代号为KF。本设计实验板的4*4矩阵键盘的内部电路如图3.6示,矩阵键盘的行线直接与DIG0DIG3口相连接,列线A1A4是通过锁存器SN74LS244N的输出口Y1Y4与芯片SST89E516RD的P0.0P0.3(即D0D3)口相连,通过锁存器的控制实现矩阵键盘扫描原理。图3.6 本设计的矩阵键盘图当无按键闭合时,A1A4与DIG0DIG3之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:扫描第一行:置行线DIG3DIG0输入为1110,观察列线输出数据A4A1的值,如果输出的A4A1为1110,则表示K0键被按下,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《机械制图》-6.1 断面图
- 温州市2026年5月联考高三年级第二次模拟化学试卷解析与讲评
- 财物捐赠协议书范本
- 货款监管协议书
- 货车退伙协议书
- 2025年调度所所长安全职责培训课件
- 220kV珠玑输变电工程监理实施细则培训
- 年产50万吨冷弯型高精度特种钢管项目可行性研究报告模板立项申批备案
- 高血压脑出血N0-N3级护士理论考核试题及答案解析
- 郊区专业SPA点项目可行性研究报告
- 第七章 风力发电机组传动系统
- 智能网联汽车概论 课件 4-1 认知智能网联汽车操作系统
- 清单控制价编制与审核方案
- 钱币发展演变与钱币文化
- 2023年副主任医师(副高)-眼科学(副高)考试历年高频考点参考题库带答案
- 贵州医科大学考博英语真题
- 《眼科学》课件-温医大-视神经及视路疾病
- 浙江省教师资格认定体检标准
- 四百米障碍完整的教案
- 轻钢龙骨硅酸钙板防火墙施工方案
- 《材料分析测试技术》全套教学课件
评论
0/150
提交评论