[论文]汽车防盗报警器的论文.doc

上传人:good****022 文档编号:116637118 上传时间:2022-07-06 格式:DOC 页数:44 大小:458.53KB
返回 下载 相关 举报
[论文]汽车防盗报警器的论文.doc_第1页
第1页 / 共44页
[论文]汽车防盗报警器的论文.doc_第2页
第2页 / 共44页
[论文]汽车防盗报警器的论文.doc_第3页
第3页 / 共44页
点击查看更多>>
资源描述
本科毕业设计(论文) 目录引言 1任务指标及要求 2方案确定 3芯片及器件介绍 3.1 MCS-51 微型计算机 3.1.1MCS-5l 基本组成及主要特点 3.1.2MCS-51 内部结构及功能简述 3.1.3 工作原理 3.1.4 定时器 3.1.4.1 定时器的工作原理 3.1.4.2 定时计数器的控制 3.1.4.3 定时计数器的初始化 3.1.5 单片机的中断系统 3.1.5.1AT89C51 的中断系统 3.1.5.2 中断处理过程 3.1.5.3 中断系统的应用 3.2 振动传感器 3.2.1 传感器的种类、原理和性能 3.2.2 传感器的选择 3.2.3 传感器的安装要点 3.2.4CLA-3 全向振动传感器 4电路原理及设计过程 4.1 电路设计及原理分析 4.1.1 检测电路 4.1.2 单片机控制电路 4.1.3 报警电路 4.1.4 整体电路和控制程序 1 引言近些年来,随着社会经济的发展以及工业发展的突飞猛进,人民生活水平也有了显 著提高,世界的距离也在不断缩小,随着交通日益发达,越来越多的汽车进入了人们的日 常生活,随着科学技术的发展,汽车偷盗技术越来越高,令人们防不胜防,已对全世界 造成极大的危害,汽车防盗问题也成了一个不容忽视的问题,无论是对汽车制造商还是 社会保险业都具有极其重要的研究价值,如何制定出更为严范的法规,开发出更为有效 的汽车防盗装置,减少车主的损失是今后人们研究的重要课题。我在这次设计汽车防盗报警器时,考虑到了实际情况,决定采用振动传感器和单片微型 计算机组合来实现。汽车防盗报警器主要由三部分组成:检测电路,单片机处理电路, 报警电路。当有振动时,通过振动传感器接受检测电路发出信号,经过单片微型计算机处理后,输出报警信号,再由报警电路实现报警。报警电路主要由声光报警两个部分组成。首先是对这次设计能够采用的方案进行了列举,具体分析了实际情况后确定了本次设计采用的方案。然后,对所采用的芯片作了介绍。接着,详细论述了设计中所采用的电路以及它们的设计过程和在系统中所完成的功能。最后,对电路在调试的过程中所出现的问题作了必要的描述,同时分析了它们产生的原因,并适当地提出了解决的办法以及改进方法,并把它们运用于实际电路中,这样使得电路的整体功能更加突出,更加有实用价值。总之,整篇论文的论述是使本次毕业设计所做的课题付诸实际应用时能产生比较完善的功能,在实际应用中,能发挥很好的整体效果,有更高的实用价值。1.1 任务指标及要求(1)毕业设计的内容 汽车防盗报警器的设计:检测电路、单片机控制电路、声光报警电路(2)毕业设计的要求与数据掌握单片机程序设计技术以及相应的仿真、编程技术。振动检测或红外检测。声光报警输出。2. 方案确定随着微电子技术的进步,汽车防盗技术己向着自动化、智能化方向发展。现在已经有许多国家的汽车制造商研制出了比较先进和实用性很强的汽车防盗报警器,例如:美国的钥匙防盗技术,德国的变密码防盗技术,澳大利亚的电子追踪防盗技术,中国的全方位遥控防盗技术等等,这些都是当今世界上比较流行的汽车防盗技术。但是考虑到实际情况,由于各方面的条件限制,我做的汽车防盗报警器不可能达到 那么高的技术含量,一方面要考虑自己理论知识的基础,另一方面又要考虑制作成和制 作所需的时间,还要考虑元器件的购买问题,最后决定采用的方案是:利用 MCS-51 单片机完成汽车防盗报警器的设计。主要原因有:(1) 学习过有关 MCS-51 单片机的原理与相关技术,有一定的理论知识基础。(2) 相关的参考资料比较齐全。(3) 使用的元器件比较普遍。(4) 制作成本比较低廉。(5) 实用性强。 整个方案的目的是:利用 MCS-51 单片机完成汽车防盗报警器的设计,包括检测电路、单片机控制电路和程序以及报警电路的设计。预期结果如下: (1)完成汽车防盗报警器的设计:利用振动检测电路来检测是否有人或物接触预警中得汽车,如果有则发出声光报警,如果没有则保持预警状态。 (2)本设计主要由以下几个部分组成:检测电路,单片机处理电路,报警电路。使用的主要元器件列表如下:通用单片机 AT89C51 一片 振动传感器器 CLA-3一个 TTL 非门芯片 74LS04一片 石英晶体振荡器 12M 一个 三极管 9012 一个 独立式按键 一个 发光二极管 一个 蜂鸣器 一个 电阻 若干 电容 若干3. 芯片及器件介绍31MCS-51 微型计算机单片计算机即单片机,其全称为单片微型计算机(Single-Chip Microcomputer),亦称为微控制器(Micro controller),就是将 CPU、RAM、ROM、定时器/计数器和多种接口电路都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。其特点是体积小、成本低、功能强、功耗低,是微机应用产品化的最佳机种之一。因而它适合作本设计的核心控制器件。单片机可分为多个品种及系列,AT89C51 属于 8 位通用型 51 系列单片机。3.1.1 MCS-5l 基本组成及主要特点MCS-51 系列单片机基本结构如图 21 所示。每一片单片机包括:图 2-1MCS-51 系列单片机基本结构(1)中央处理器CPU;(2)128B 内部数据存储器 RAM,用以存放可以读、写的数据,如运算中间结果和最终结果等;(3)4KB 内部指令存储器 ROM,用以存放程序,亦可存放一些原始数据和表格;(4)4 个 8 位输入/输出接口 P0、P1、P2、P3。每个口既可以用作输入,也可以用作输出;(5)2 个定时器/计数器。可以用来对外部事件进行计数,也可以设置成定时器,并根据计数或定时的结果对计算机进行控制;(6)内部中断控制系统;(7)1 个全双工 UART(通用异步接收发送器)串行 I/O 接口,使得数据可以一位一位 在计算机与外设之间传送,可用于单片机之间或单片机与微机之间的串行通信;(8)内部时钟产生电路,但晶振和微调电容需要外接。振荡频率范围为 1.212MHz。 以上各部分通过内部总线相连接。表 21 MCS-51 系列单片机性能MCS-51 系列单片机有如下一些特点:图 22 双列直插式封装 (1)单5V 供电,40 脚封装,常见的封装有两种,本设计使用的 AT89C51 的封装为长形,引脚排列如图 3.2.2 所示;(2)1 个由运算器和控制器组成的 8 位微处理器(CPU);(3)片内有振荡电路和时钟电路;(4)4 个 8 位并行 I/O 接口,既可用作输入,也可用作输出;(5)扩展片外数据存储器的寻址范围可达到 64KB;(6)扩展片外程序存储器的寻址范围可达 64KB;(7)2个 16 位定时/计数器;(8)具有 2个优先级别的 5个中断源结构;(9)可编程全双工串行通道;(10)布尔处理器;(11)128 个用户位可寻址单元。(12)111 条指令,含有乘法指令和除法指令; 3.1.2 MCS-51 内部结构及功能简述MCS-5l 系列单片机的内部结构框图如图 23 所示:图 23 MCS-51 系列单片机的内部结构单片机内部各基本部件之间通过总线交换信息。所谓总线是信息流通的公共通道,总线上的信息可以同时输送给几个部件,但不允许几个信息同时输送给总线,否则将产生信息冲突。总线按传送信息不同来分,可分为数据总线(DB)、控制总线(CB)、地址总 线(AB)。数据总线用于CPU、存储器、输入/输出接口之间传送数据,如从存储器取数 到 CPU,把运算结果从 CPU送到外部设备等。数据总线是双向的,控制总线是传送 CPU 发出的控制信号,也可以是其它部件输入到微处理器的信息,对于每一条控制线,其传送方向是固定的。地址总线用来传输 CPU 发出的地址信息,以选择需要访问的存储器和 I/O 接口电路。地址总线是单向的,只能是 CPU 向外传送地址信息。单片机采用上述三组总线的连接方式。(1)微处理器(CPU)微处理器又称 CPU,是单片机的控制和指挥中心,由运算器和控制器两大部分组成。运算器运算器以算术逻辑运算单元 ALU 为核心,含累加器 A、暂存器 1、暂存器 2、程序状态字 PSW、B 寄存器等许多部件。算术逻辑单元(ALU):它在控制器所发出内部控制信号作用下,进行各种算术运算和逻辑运算。如带进位位加法、不带进位位加法、带借位位减法、加 1、减 1、BCD数十进制调整、逻辑与、逻辑或、逻辑异或、求补、循环移位以及数据传送、程序转移等操作,此外,还具有以下功能:在 B寄存器配合下,能完成乘法与除法操作:可进行内容交换操作;能作比较判断跳转操作;很强的位操作功能。累加器 A:是最常用的专用寄存器。进入 ALU作算术运算和逻辑运算的操作数大多来自累加器 A,操作的结果也常送回 A。除此之外,A累加器还经常作数据传送的中转站,实现将一个存储单元中的数送到另一个存储单元的任务。程序状态字 PSW:是程序状态字寄存器,简称程序状态字,PSW是一个 8 位特殊功能寄存器用于存放指令执行后结果的状态信息。其各位的含义如图 24所示,其中 D1 位未定义。图 24 累加器 A各位的含义8位特殊功能寄存器 B:B 寄存器又称乘法寄存器,它与累加器 A协同工作,可进行乘法操作和除法操作。在乘、除运算时,B 寄存器用来存放其中的一个操作数,或存放运算后的一部分结果,若不作乘除法运算时,则可作为通用寄存器使用。此外,8051 片内还有个布尔处理器(图中未绘出),它以 PWS中的进位标志 Cy为其累加器,专门用于位操作,可执行置位、位清零、位取反、位等于 1 转移、位等于0 转移、位等于 1 转移并清零以及位累加器 C 与其它可寻址位之间进行信息传送等位操作,也能使用 C与其它可寻址位之间进行逻辑“与”、逻辑“或”操作,结果存放在进位标志位 C 中。控制器控制器包括程序计数器 PC、指令寄存器 IR、指令译码器 ID、振荡器、定时电路及控制电路等部件,能根据不同的指令产生相应的操作时序和控制信号。程序计数器 PC:由两个 8 位计数器 PCH 及 PCL 组成,共 16 位。PC 实际上是程 序字节地址计数器,PC 中的内容是将要执行的下一条指令的地址。改变 PC 的内容就可改变程序执行的方向。PC 可对 64KB 程序存储器直接寻址,也可对 64KB 片外扩展数据存储器寻址。指令寄存器 IR 及指令译码器 ID:当 CPU 根据 PC 程序计数器的值从指定的存储单 元中取出选取的指令时,送到指令寄存器 IR,再送到指令译码器 ID,由指令译码器 ID 对指令译码并送 PLA 逻辑阵列产生一定序列的控制信号,以执行指令所规定的操作。振荡器及定时电路:8051 单片机内有振荡电路,只需外接石英晶体和频率微调电容就可以产生 8051 工作的基本节拍脉冲。(2)存储器配置概述MCS-51 单片机,片内除了 CPU 之外,还有存储器。其中,片内只读存储据(ROM) 用作程序存储器,在计算机工作时,事先存入已编好的各种程序、常数、表格;片内读 写存储器(RAM)又称随机存储器,它的存储单元的内容根据需要既可随时读出也可写 入,用作数据存储器,存放输入、输出数据和中间计算结果或与外存交换信息,以及 作为堆栈,在必要时可保存断点、保存现场。MCS-51 系列单片机内含有的存储器容量(以 字节为单位)见表 21。在容量不够时,可以另外扩展片外程序存储器或片外数据存储器。(3)MCS-51 单片机 I/O 口概述MCS-51 单片微型计算机芯片有 4 个 8 位并行输入输出口,分别称为 P0 口、P1 口、 P2 口和 P3 口,每个口都是 8 位准双向口,这 4 个接口可以并行输入或输出 8 位数据, 也可按位使用,即每一个根输入输出线都能独立的用作输入或输出;每个端口都包括一个数据锁存器(即特殊功能寄存器 P03),个输出驱动器和输入缓冲器。作输出时数据可以锁存,作输入时数据可以缓冲,但这四个通道的功能并不完全相同。3.1.3 工作原理(1)电源引脚VCC :接十 5V 电源。VSS :接电源地端。(2)外接晶体引脚XTAL1:片内反相放大器输入端。XTAL2:片内反相放大器输出端。外接晶体时,XTAL1 与 XTAL2各接晶体一端,借外接晶体与片内反相放大器构成振荡器。MCS-51 系列单片机内含有一个高增益的反相放大器,通过 XTAL1、XTAL2外接作为反馈元件的晶体后,构成自激振荡器,接法如图 25 所示。图 25MCS-51 单片机晶体振荡器电路晶体呈感性,与 C1、C2 构成并联谐振电路。振荡器的振荡频率主要取决于晶体;电容对振荡频率有微调作用,通常取 30pF 左右。电容的安装位置应尽量靠近单片机芯 片。也可采用片外振荡器,按不同工艺制造的单片机芯片接法也不同。电路中的石英晶体又称石英晶体谐振器,是一种用于稳定频率和选择频率的电子元 件。石英晶体是一种各向异性的结晶体,从一块晶体上按一定的方位角切下薄片称为晶片,然后在晶片的两个对应表面上涂敷银层并装上一对金属板,就构成了石英晶体谐振器。石英晶体之所以能做谐振器是基于它的“压电效应”,从物理学中已知,若在晶片的两个极板间加上一电场,会使晶体产生机械变形;反之,若在极间施加机械力,又会在相应的方向上产生电场,这种现象称为压电效应。如在极板间所加的是交变电压,就会产生机械变形振动,同时机械变形振动又会产生交变电场。一般来说,这种机械振动的振幅是比较小的,但振动频率则是很稳定的。但当外加交变电压的频率与晶片的固有频率(决定于晶片的尺寸)相等时,机械振动的幅度将急剧增加,这种现象称为“压电 谐振”。石英晶体谐振器的压电谐振现象可以用图 26 所示的等效电路来模拟,等效电路 中的 C0 为切片与金属板构成的静电电容,L 和 C 分别模拟晶体的质量(代表惯性)和弹性,而晶片振动时,因摩擦而造成的损耗则用电阻 R来等效。 (a) 代表符号 (b) 等效电路图 26 石英晶体谐振器石英晶体的一个可贵的特点在于它具有很高的质量与弹性的比值,因而它的品质因数 Q高达 10000500000 的范围内。由石英谐振器组成的振荡器,其最大特点是频率稳定度极高,可达 108/日109/日,甚至更高,如 1011/日。本设计中使用的是内部时钟电路方式,如图 25 左图所示。晶体振荡器与单片机内部时钟电路连接,振荡信号从 XTAL2端输入到片内的时钟发生器上,时钟发生器是 一个 2 分频的触发器电路,它将振荡器的信号频率经 2 分频后,向 CPU 提供了两相时钟信号 P1 和 P2,控制单片机各部件协调工作。(3)输入/输出引脚 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为 数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0 输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当 P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)(4)MCS-51 机器周期和指令周期晶体振荡器的振荡信号从 XTAL2 端输入到片内的时钟发生器上,如图 27 所示, 时钟发生器是一个 2分频的触发器电路,它将振荡器的信号频率经 2 分频后,向 CPU提供了两相时钟信号 P1 和 P2。一个时钟信号的周期称为一个机器状态周期,它是振荡周期的 2 倍,在每个时钟周期的前半周期,相位 1(P1)信号有效,在每个时钟周期的后半周期,相位 2(P2)信号有效。即每个时钟周期(又称为状态周期)有两个节拍,P1 和 P2, CPU 以两相节拍 Pl 和 P2 为基本节拍,控制单片机各部件协调工作。6 个时钟周期构成 1个机器周期。CPU 执行一条指令的时间称为指令周期。指令周期以机器周期为单位的。例如:单周期指令是指执行一条指令的时间为 1个机器周期, 而双字节指令执行时间为 2个机器周期。若用 12MHz 晶振,则单周期指令和双周期指令的执行时间分别为 1 s 和 2 s,乘法指令和除法指令为 4 s。如以 S1,S2S6 表示一个机器周期的 6 个时钟周期,以 P1,P2 表示每个时钟周期的 2个节拍,则一个机器周期依次有 S1P1、S1P2,S2P1、S2P2S6P6 共 12个振荡周期。图 278051 片内振荡器及时钟发生器ALE 脉冲在每个机器周期的 S1P2S2P1 和 S4P2S5P1 期间各发生一次有效。但 当对外部 RAM 进行读/写时,ALE 信号不是周期性的,但在其它情况下,ALE 信号是一种周期信号,可以用作其它外部设备的时钟信号。(5)CPU 取指令、执行指令周期时序 每一条指令的执行都包括取指令和执行指令两个阶段。在 8051 指令系统中,其指令有单字节、双字节和多字节指令,但从指令的执行速度来看,单字节指令和双字节指令都可以是单周期或双周期,而三字节指令都是双周期的,只有乘法指令、除法指令是 4个机器周期指令。图 28 为典型指令执行周期的 CPU 时序,其中图 28(a)是单字节单周期指令,图 28(b)是双字节单周期指令。二者都在 S1P2 期间由 CPU 取指令, 即将指令代码读入指令寄存器,同时程序计数器 PC 加 1;后者在同个机器周期的 S4 再读第二字节;前者在 S4 虽也读操作码,但既是单字节指令,读的已是下一条指令, 故读后丢弃不用,PC 也不加 1,两种指令在 S6P2 结束时都会完成操作。图 28(c)是单字节双周期指令,图 28(d)是双字节双周期指令。单字节双周期指令,在两个机器周期内将 4 次读操作码,不过后 3 次读后都丢弃不用。(6)外接附加电路MCS-51 单片机的工作方式大体可以归纳为四种;复位方式、程序执行方式、节电方式和 EPROM 的编程与校验方式。本设计中使用的是复位方式。MCS-51 系列单片机的复位(RST)引脚上只要出现 10ms 以上的高电平,单片机就实现复位。复位的功能是把程序计数器 PC 值初始化为 0000H,使单片机从 0000H 单元开始执行程序。除此之外,复位操作还对些特殊功能寄存器值也有影响。图 288051 取指令、执行指令周期时序复位工作状态单片机在 RST 引脚高电平控制下,特殊功能寄存器和程序计数器 PC 复位后的状态如表 22 所示。复位不影响片内 RAM 存放的内容,控制信号 ALE、PSEN 在复位有效期间将输出高电平。表 22 特殊功能寄存器和程序计数器 PC 复位后的状态表 22 特殊功能寄存器和程序计数器 PC 复位后的状态单片机的各个功能模块由特殊功能寄存器控制,而程序的运行由 PC 管理,所以上述的复位状态决定了单片机的初始状态。复位电路MCS-51 单片机系统常常有上电复位和操作复位两种方法。上电复位,是指单片机 上电瞬间,要在 RST 引脚上出现宽度大于 10ms 的正脉冲,才能使计算机进入复位状态。 操作复位是指用户按下“复位”按钮使单片机进人复位状态。本设计使用的是操作复位方法。复位是靠外部电路实现的,图 29 是上电复位及按钮复位的实用电路。图 29 上电复位及按钮复位实用电路按钮按下时RST上出现高电平,实现了操作复位,在系统运用中,有些外围芯片也需要复位。如果这些芯片复位端的复位电平与单片机的一致,则可以与单平机的复位脚相连。非门在这里不仅起到了倒相作用,还增大了驱动能力。电容 Cl、C2起滤波作用,防止干扰窜入复位端产生误动作。3.1.4 定时器AT89C51单片机内部设有两个16位可编程的定时器计数器,简称定时器0和定时器1,分别用T0和Tl表示。它们的工作方式、定时时间、量程、启动方式等均可以通过程序来设置和改变。AT89C51单片机内部定时器的逻辑结构见图210。它由两个特殊功能寄存器TCON和 TMOD及T0、Tl组成。其中TMOD为模式控制寄存器,主要用来设置定时器计数器的操作模式;TCOK为控制寄存器,主要用来控制定时器的启动与停止。两个16位的定时器计数T0和T1均可以分成2个独立的8位计数器即TH0、TL0、THl、TLl,它们用于存定时或计数的初值。它们是个加1的计数器。图2-10AT89C51定时器逻辑结构框图3.1.4.1 定时器的工作原理MCS5l单片机的两个定时器均有两种工作方式,即定时和计数工作方式。由TMOD 的D6位和D2位选择,其中D6位选择T1的工作方式,D2位选择T0的工作方式。(1)选择定时工作方式时TMOD的D6或D20,T0或T1工作在定时方式时,计数脉冲输人信号是由内部时钟提供的。每一个机器周 期使计数器的值加1。每个机器周期等于12个振荡周期,故计数器的计数频率为振荡器 频率的l12。例如晶振的频率fosc12MHz时,则计数器的计数频率fcontf112为1MHz。实质上定时工作方式,就是对单片机的机器周期数进行计数。由此可知计数器计数脉冲的周期:T1fcont1(fosc1l 2)12fosc式中fosc为单片机振荡器的频率, fcont为计数脉冲的频率,等于fosc12。AT89C51单片机的定时器用于定时,其定时的时间由计数初值和选择的计数器的长 度(如8位、13位或l6位)来确定。(2)选择计数工作方式时TMOD的D6或D21T0或T1工作在计数方式时,计数脉冲来自相应的外部输入引脚T0或T1,故计数方式是用于对外部事件进行计数。当外部输入脉冲信号产生由1至0的跳变时计数器的值加1。 计数器在每个机器周期的s5P2期间,对外部脉冲输入进行一次采样。例如在第一个机器 周期中采样到高电平“1”,而在第二个机器周期中采样到一个“0”则在紧跟着的再下一个(第三个)机器周期的s3P1期间计数器加1。由于确认一次由l至0的下跳变要花2个机器周期,即24个振荡器周期,故计数器的最高计数为fcontfosc124。例如fosc为12MHz,则最高的采样频率为12124等于0.5MHz。对外部脉冲的占空比并没有什么限制,但为了确保某一给定的电平在变化之前至少被采样一次,因此外部计数脉冲的高电平和低电乎保持时间均要求在一个机器周期以上。3.1.4.2 定时计数器的控制AT89C51单片机的定时器是一种可编程的部件。它的工作方式、操作模式、计数初值,启停操作均要求在定时器工作之前,CPU必须向它写入一些命令字,下面介绍与定时器工作有关的寄存器。(1)模式控制寄存器TMOD TMOD是一个专用寄存器,用于控制T1和To的操作模式及工作方式,其各位定义如下:GATE:门控值,用来控制定时器启动操作方式。当 GATE0 时,定时器只由软件控制位 TR0 或 TRl 来控制启停。TR1 位为 1,定时器启动开始工作;为 0 时,定时器停止工作。当 GATE1 时,定时器的启动要由外部中断引脚和 TR1 位共同控制。只有当外部中断引脚 INT 0 或 INT1为高时,TR0 或 TRl 置 l 才能启动定时器工作。C/T :功能选择位。当 C/T O 时设置为定时器工作方式;计数脉冲由内部提供,计数周期等于机器周期。当 C/T 1 时设置为计数器工作方式,计数脉冲为外部引脚 T0 或 T1 的引入的外部脉冲信号。M1M0:操作模式控制位,2 位可形成 4 种编码,对应于 4 种操作模式。4 种模式定义如下:M1MO操作模式 功能简述0 0模式 0 13 位计数器,TL1 只用低 5 位0 1模式 1 16 位计数器1 0模式 2 8 位自动重装计数器,THi 的值在计数中不变中的值自动装入TL1中1 1模式 3 T0 分成 2 个独立的 8 位计数器Tl 停止计数TMOD 模式控制寄存器不能进行位寻址,只能用字节传送指令设置定时器的工作方式及操作模式,低 4 位用于定义定时器 0,高 4 位用于定义定时器 1。系统复位时 TMOD 各有效位均为 0。模式控制字的设置举例:若设置定时器 1 为定时器工作方式,由软件启动选择操作模式 2;定时器 0 为计数方式;由软件启动,选择操作模式 l。则 TMOD 各位设置为:00l001Ol25H用 MOV TMOD、425H 指令写入 TMOD 中(2)控制寄存器TCONTCON 的作用是用于控制定时器的启、停及定时器的溢出标志和外部中断触发方式等。各位定义如下:TFl 和 TF0;分别为定时器 1 和定时器 0 溢出标志。当定时器计满产生溢出时,由硬件自动置“1”,并可申请中断。进人中断服务程序后,由硬件自动清 0。达两位也可作为程序查询的标志位,在查询方式下应由软件来清 0。TRl 和 TR0:为定时器 1 和定时器 0 的启动控制位。当由软件使 TRi 清 0 而停止定时器的工作。定时器启动时该位应置“1”。IEl 和 IE0:为外部中断 1 INT1和外部 0 INT 0 的中断请求标志位。当外部中断源有请求时其对应的中断标志位置“l”。其复位由触发方式来设置。IT1 和 IT0:为外部中断 1 和外部中断。的触发方式选择位。IT1 设置为“0”时为电平触发方式;设置为“1”时为边沿触发方式。TCON 中低 4 位是与外部中断有关的位,高 4 位为定时器控制位。它是一个可以进 行位寻址的寄存器。当系统复位时所有位均为 0。若要启动定时器可以使用位操作指令 SETBTR1 来启动。3.1.4.3 定时计数器的初始化由于定时器的功能是由软件来设置的所以一般在使用定时计效器前均要对其进 行初始化。(1)确定工作方式、操作模式、启动控制方式写入 TM0D 寄存器。 (2)设置定时或计数据的初值可直接按初值写人 TH0、TL0 或 THl、TLl 中。16位计数初值必须分两次写入对应的计数器。(3)根据要求是否采用中断方式直接对 IE 位赋值。开放中断时,对应位置 1P采用程序查询方式 IE 位应清 0 进行中断屏蔽。(4)启动定时器工作一一可使用 SETB TR1 启动。若第一步设置为软启动,即 GATE 设置为 0 时,以上指令执行后,定时器即可开始工作。若 CATE 设置为 1 时,还必须由 外部中断引脚 INTi 共同控制,只有当 INTi 为引脚电平为高时,以上指令执行后定时器 方可启动工作。定时器一旦启动就按规定的方式定时或计数。(5)计数初值的计算 定时或计数方式下计数初值如何确定,定时器选择不同助工作方式,不同的操作模式其计数初值均不相同。若设最大计数值为 M,各操作模式下的 M 值为:模式 0:M=2138192模式 1:M21665536 模式 2:M28256模式 3:M256,定时器 T0 分成 2 个独立的 8 位计数器,所以 TH0、TL0的M 均为2569。因为 MCS51 的两个定时器均为加 l 计数器,当加到最大值(00H 或 0000H)时产生溢 出,将 TF 位置 1可发出溢出中断,因此计数器初值 X 的计算式为;XM-计数值,式 中的 M 由操作模式确定,不同的操作模式计数器的长不相同,故 M 值也不相同。 因此式中的计数值与定时器的工作方式有关。计数工作方式时 计数工作方式时,计数脉冲由外部引入,是对外部脉冲进行计数,因此计数值根据要求确定。其计数初值;xM 一计数值 例如:某工序要求对外部脉冲信号计 100 次,xM 一 100定时工作方式时 定时工作方式时,因为计数脉冲由内部供给,是对机器周期进行计数,故计数脉冲频率为 fCONTfOSC112、计数周期 T1fCONT12fOSC,定时工作方式的计数初值 x等于:XM 一计数值MtTM 一(fOSCt)12式中:fOSC 为振荡器的振荡频率,t 为要求定时的时间。3.1.5单片机的中断系统中断技术是计算机中一项很重要的技术,中断系统由硬件和软件组成。3.1.5.1 AT89C51 的中断系统(1)中断系统的组成AT89C51 系列单片机有 5 个中断源,可分为 2 个中断优先级,即高优先级和低优先级;每一个中断源的优先级都可以由程序来设定。AT89C51 的中断系统组成见图 215 所示。 它由 4 个与中断有关的特殊功能寄存器 (TCON、SCON 的相关位作中断源的标志位),中断允许控制寄存器 IE 和中断顺序查询逻辑等组成。图 2-15 AT89C51 的中断系统中断顺序查询逻辑亦称硬件查询逻辑,5个中断源的中断请求是否会得到响应,要受中断允许寄存器汇各位的控制,它们的优先级分别由 IP 各位来确定;同一优先级内的各中断源同时请求中断时就由内部的硬件查询逻辑来确定响应次序;不同的中断源有不同的中断矢量。(2)中断源及中断人口由图 27 可知 AT89C51 单片机有 5 个中断源:2 个外部输人中断源 INT 0(P3.2) 和 INT1 (P3,3) ;3 个内部中断源 T0 和 T1 的溢出中断源及串行口发送接收中断源。其中断请求信号的产生如下述: INT 0 和 INT1:外部中断 0 和外部中断 1其中断请求信号分别由 P3.2,P3.3 引 脚输入。请求信号的有效电平由 IT0 和 IT1 设置,一旦输入信号有效,则将 TCON 中的 IE0 或 IE1 标志位置 1,可向 CPU 申请中断。TF0 和 TF1:定时器 0 和定时器 1 的溢出中断。当 T0 或 T1 计数器加 l 计数产生 溢出时,则将 TCON 中的 TF0 或 TF1 置位,向 CPU 申请中断。RI 和 TF1:串行口的接收和发送中断。当串行口接收或发送完一帧数据时,将 TCON 中的 RI 或 TI 位置 1,向 CPU 申请中断。当某中断源的中断请求被 CPU 响应之后,CPU 将自动把此中断源的中断人口地址(又称中断矢量地址)装入 PC,中断服务程序即从此地址开始执行。因此一般在此地址单元中存放一条绝对跳转指令,可以跳至用户安排的中断服务程序的人口处。AT89C51 单片机各中断源的矢量地址是固定的。见表 23。表 2-3 单片机中断源的矢量地址表中断源矢量地址自然优先级TNTO 外部中断 0 中断0003H最高 最低T0 定时器 0 中断000BHTNT1 外部中断 1 中断0013HT1 定时器 1 中断002BHR1 或 T1 串行口中断0023H(3)中断控制部分的功能AT89C51 单片机中断控制部分由 4 个专用寄存器组成,它们的功能分述如下:中断请求标志:5 个中断源的外部中断和定时器中断请求标志位设置在定时控制寄存器 TCON(是一 个特殊功能寄存器)中,其各位的定义及标志位和建立 2.1 节中已述,在此仅说明一下 TCON 的 ITO 和 IT1 位,它们是外部中断的触发方式设置位,决定外部中断的复位方法。 外部中断的复位方式为:当 IT0 时,外部中断为电平触发方式,该方式下 CPU 每个机 器周期的 S5P2 期间对 TNT 引脚采样,若测得为低电平,则认为有中断申请,随即使 IE 标志位置位;若测得为高电平,认为无中断申请或中断申请已撤除,随即清除 IE 标志位。在电平触发方式中,CPU 响应中断后不能自动清除 IE 标志位,也不能由软件清除 IE 标志,所以在中断返回前必须撤消 TNT 引脚上的低电平,否则将再次中断造成出错。若 IT1 时,外部中断设置为边沿触发方式。CPU 在每个机器周期的 S5P2 期间采样 而引脚,若在连续两个机器周期采样到先高后低的电平变化,则将 IE 标志位置“1”此 标志一直保持到 CPU 响应中断时,才由硬件自动清除。在边沿触发方式中,为保证 CPU 在两个机器周朗内检测到由高至低的负跳变,输入高电平和低电平的持续时间起码要保 持 12 个振荡器周期即一个机器周期的时间。TCON 的其它位在此不再重述。串行口的中断请求标志由串行口控制寄存器 SCON 的 D0 和 D1 位来设置。RI(SCON.0) 为接收中断标志位;TI(SCON.1)为发送中断标志位。其中断申请信号的产生过程为:发送过程:当 CPU 将一个数据写入发送缓冲器 SBUF 时,就启动发送,每发送完一 帧数据。由硬件自动将 TI 位置位。但 CPU 响应中断时,并不能清除 TI 位,所以必须由软件清除。接收过程:在串行口允许接收时即可串行接收数据,当一帧数据接收完毕,由硬 件自动将则位置位。同样 CPU 响应中断时不能清除 RI 位,必须由软件清除。AT89C51 单片机系统复位后TCON 和 SCON 中各位均清 0,应用时要注意各位的初始 状态。中断开放和屏蔽AT89C51 单片机中,设有一个专用寄存器 IE 称为中断允许寄存器,其作用是用来对各中断源进行开放或屏蔽的控制。其各位的定义如下:IP.7 和 IP.6 保留位PT2IP5 位为定时器 2 优先级设定位,仅适用于 52 子系列单片机。PT21 时, 设定为高优先级,否则为低优先级。PsIP.4 位为串行口优先级设定位。PS1 时,串行口为高优先级否则为低优先级。PT1IP3 位为定时器 l 优先级设定位。PT11 时,T1 为高优先级,否则为低先级。PX1IP.2 位为外部中断 1 优先级设定位。PX11 时,外部中断 l 为高优先级,否则为低优先级。PT0IP.1 位为定时器 0 优先级设定位。PT01 时,T0 为高优先级,否则为低优先级。PX0IP.0 位为外部中断 0 优先级设定位。PXO1 时,外部中断 o 为高优先级,否 则为低优先级。当系统复位后IP 各位均为 0,所有中断源设置为低优级中断。IP也是可进行字节寻址和位寻址的专用寄存器。(4)优先级结构靠设置 IP 寄存器把各中断源的优先级分为高低 2 级,它们遵循 2 条基本原则;较低优先级中断可以被较高优先级中断所中断,反之不能。一种中断(不管是什么优先级)一旦得到响应,与它同级的中断不能再中断它。为了实现这 2 条规则,中断系统内部包含 2 个不可寻址的“优先级激活”触发器。其中一个指示较高优先级的中断正在得到服务,所有后来的中断都被阻断。另一个触发器指示较低优先级的中断正在得到服务,所有同级的中断都被阻断,但不阻断高优先级的中断。其中一个指示较高优先级的中断正在得到服务,所有后来的中断都被阻断。另一个触发器指示较低优先级的中断正在得到服务,所有同级的中断都被阻断,但不阻断高优先级的中断。当 CPU 同时收到几个同一优先级的中断请求时,圆一个的请求将得到服务取决于内部的硬件查询顺序,CPU 将按自然优先级顺序确定该响应四个中断请求。其自然优先级由硬件形成,排列如表 2-4:表 2-4 自然优先级中断源同级自然优先级外部中断 0最高级最低级定时器 0 中断外部中断 1定时器 1 中断串行口中断定时器 2 中断最低级(52 系列单片机中)在每一个机器周期中,CPU 对所有中断源都顺序地检查一遍,这样到任一机器周期的 S6 状态,可找到所有已激活的中断请求,并排好了优先权。在下一个机器周期的 S1状态,只要不受阻断就开始响应其中最高优先级的中断请求。若发生下列情况,中断响 应会受到阻断:同级或高优先级的中断正在进行中;现在的机器周期还不是执行指令的最后一个机器周期,即正在执行的指令还没完 成前不响应任何中断;正在执行的是中断返回指令 RETI 或是访问专用寄存器 IE 或 IP 的指令,换而言 之,在 RETI 或者读写 IE 或 IP 之后,不会马上响应中断请求,至少要在执行其它一条指令之后才会响应。若存在上述任一种情况,中断查询结果就被取消。否则,在紧接着的下一个机器周 期,中断查询结果变为有效。3.1.5.2 中断处理过程中断处理过程可分为三个阶段:即中断响应、中断处理相中断返回。由于各计算机 系统的中断系统硬件结构不同,中断响应的方式就有所不同。在此说明 AT89C51 单片机 的中断处理过程。(1)中断响应中断响应条件CPU 响应中断的条件有:一有中断源发出中断请求;二中断总允许位 EA1,即 CPU 开中断;三申请中断的中断源的中断允许位为 1,即没有被屏蔽。以上条件满足,一般 CPU 会响应中断,但在上一节中所述的中断受阻断的情况下, 本次的中断请求 CPU 不会响应。中断响应的过程如果中断响应条件满足,而且不存在中断受阻的情况下,则 CPU 将响应中断。在此情况下,CPU 首先使被响应中断的相应“优先级激活”触发器置位,以阻断同级和低级的中断。然后根据中断源的类别,在硬件的控制下内部自动形成长调用指令(LCALL),此指令的作用将自动把断点压人堆栈,但不自动保存 PSW 的内容。然后将对应的中断源的矢量地址装入程序计数器 PC,使程序转向该中断的矢量地址,以转至中断服务程序对 应的入口地址。在 AT89C5
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 市场营销


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!