毕业设计(论文)智能去电控制器的设计.doc

上传人:laozhun 文档编号:3982944 上传时间:2023-03-30 格式:DOC 页数:53 大小:3.08MB
返回 下载 相关 举报
毕业设计(论文)智能去电控制器的设计.doc_第1页
第1页 / 共53页
毕业设计(论文)智能去电控制器的设计.doc_第2页
第2页 / 共53页
毕业设计(论文)智能去电控制器的设计.doc_第3页
第3页 / 共53页
毕业设计(论文)智能去电控制器的设计.doc_第4页
第4页 / 共53页
毕业设计(论文)智能去电控制器的设计.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《毕业设计(论文)智能去电控制器的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)智能去电控制器的设计.doc(53页珍藏版)》请在三一办公上搜索。

1、大学生本科毕业设计(论文)题目:智能去电控制器的设计领域:电子通信类日期: 类型: 作者: 摘 要随着办公自动化的发展,越来越多的公司选择了组建本公司的局域网电话系统,从而达到提高公司整体工作效率和节约通信费用的目的。这种电话系统一般有一台总机和若干台分机组成,主机有一个固定的公用电话号码,若干分机各有自己的局域网号码,当其他公司或单位的电话打进本公司时,首先是主机接到来电号码,主机判断来电是打给公司哪个部门的,完成判断后就将来电转到相应的部门,来电呼叫处理完毕。对于打进公司的电话,由于不是公司支付通信费用,一般单位对此无限制,当公司内部需要打出电话时,由于通信费用完全是公司自己支付,为了避免

2、公司的员工把公司的电话私用,就必须对去电进行区分和权限限制,可以通过设置黑名单或者白名单控制某个电话的能够打出或者禁止。本项目主要是单片机控制去电电话,即根据主叫所拔的号码,通过检测存储器预设的黑名单或者白名单控制某个电话的能够打出或者禁止,或者控制某一局向号,来确定能否打出。该系统采用了单片机AT89C51作为CPU,它是系统的控制核心。系统同时利用74LS373缓冲器、74LS138译码器、7404反相器、DAC0832 D/A转换器完成对黑白名单的区分和限制。系统的软件采用汇编语言编写,主要由主程序、去电信号产生子程序、黑白名单区分子程序、D/A转换及去电输出子程序组成。在完成硬件设计和

3、软件编制后,对系统进行了联机仿真调试,系统的正常运行验证了设计的正确性。最后,用Protel 99SE绘制了电路原理图。关键词智能电话; 单片机; 去电控制AbstractWith the development of office automation, more and more companies build up the local area calling network of itself, in order to increase efficiency and decrease the communication cost. This calling system is gene

4、rally composed of a master telephone and several extension telephone numbers. The master telephone has a fixed number, and the several extension telephones have their own numbers in the network. When the outside phone dials, the master telephone firstly receive the call and decide the department whi

5、ch the call is to, then the call is transferred to the department. Because the outside call is not pay by the company, the company need not limit the call. When the workers of the company call the outside, the communication cost is pay by the company. In order to limit the workers using company phon

6、e to call the not relative numbers, the company should set limits of authority to discriminate the white numbers from the white numbers. This project mainly use the microcontroller to control the inside call which is to the outside. The microcontroller discriminate the white numbers from the black n

7、umbers . AT89C51 is CPU of this system, and it is core of this system. This system uses 74LS373, 74LS138, 7404, DAC0832 to discriminate the white numbers from the black numbers. Software of this system is programmed by assembler language and it is mainly composed by main program, subprogram of gener

8、ation of the inside phone number , subprogram of discriminating the white numbers from the black numbers, subprogram of digital to analog converting and outputting of the phone number. After designing hardware of the system and programming the software, the system is simulating and debugging online.

9、 Well-going of the system verifies correctness in the design. In the end, circuit schematic diagram is drawn by Protel 99SE.Keywords intelligent phone; microcontroller;phone number controlling 目 录摘 要IAbstractII第1章 绪 论11.1 课题背景11.2 课题来源21.3 本论文的工作和特点21.4 本章小结3第2章 MCS-51单片机的结构42.1 控制器42.1.1 程序计数器42.1.

10、2 指令控制逻辑电路52.2 存储器的结构52.3 并行I/O口72.4 时钟电路与时序82.5 单片机的中断92.6 单片机的工作方式122.7 单片机的性能特点152.8 单片机的应用领域162.9 本章小结17第3章 电路的硬件设计183.1 总体方案设计183.1.1 系统总体框图183.1.2 去电信号的产生183.2 复位电路193.3 时钟电路203.4 按键电路213.5 模数转换及去电输出电路223.6 本章小结23第4章 电路的软件设计244.1 软件程序内容244.2 软件总体流程图254.3 去电信号产生子程序264.4 黑白名单区分子程序274.5 模数转换及去电输出

11、子程序284.6 本章小结29第5章 电路调试与仿真305.1 硬件焊接305.2 调试305.2.1 硬件调试方法315.2.2 软件调试方法325.3 仿真中出现的问题及解决办法325.3 本章小结33结 论34参考文献35附录36致谢45毕业设计(论文)评审意见表46第1章 绪 论1.1 课题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到

12、家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。按照内部数据通道的宽度,单片机可分为4位、8位、16位及32位等。单片机的中央处理器(CPU)和通用微处理器基本相同,只是增设了“面向控制”的处理功能。例如:位处理、查表、多种地址访问方式、多种跳转、乘除法运算、状态监测、中断处理等,增强了实时性。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的哈佛结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的哈佛结构为多。

13、单片微型计算机自从问世以来,作为微型计算机一个很重要的分支,应用广泛,发展迅速,尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高,处理功能强,可靠性高,系统结构简单,价格低廉等优点,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成就。本文讨论的主要是单片机控制去电电话,即根据主叫所拔的号码,通过检测存储器预设的黑名单或者白名单控制某个电话的能够打出或者禁止,或者控制某一局向号,来确定能否打出。20世纪80年代中期以后,Intel公司以专利转让的形式把89C51内核技术转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES

14、、DALLAS等。这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。这些兼容机与89C51的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用89C51系列来称呼所有具有89C51指令系统的单片机,它们对89C51单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。MCS-51系列及89C51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:基本型、增强型

15、、低功耗型、专用型、超8位型、片内闪烁存储器型。1.2 课题来源随着办公自动化的发展,越来越多的公司选择了组建本公司的局域网电话系统,从而达到提高公司整体工作效率和节约通信费用的目的。这种电话系统一般有一台总机和若干台分机组成,主机有一个固定的公用电话号码,若干分机各有自己的局域网号码,当其他公司或单位的电话打进本公司时,首先是主机接到来电号码,主机判断来电是打给公司哪个部门的,完成判断后就将来电转到相应的部门,来电呼叫处理完毕。对于打进公司的电话,由于不是公司支付通信费用,一般单位对此无限制,当公司内部需要打出电话时,由于通信费用完全是公司自己支付,为了避免公司的员工把公司的电话私用,就必须

16、对去电进行区分和权限限制,可以通过设置黑名单或者白名单控制某个电话的能够打出或者禁止。本项目主要是单片机控制去电电话,即根据主叫所拔的号码,通过检测存储器预设的黑名单或者白名单控制某个电话的能够打出或者禁止,或者控制某一局向号,来确定能否打出。该系统采用了单片机AT89C51作为CPU,它是系统的控制核心。系统同时利用74LS373缓冲器、74LS138译码器、7404反相器、DAC0832 D/A转换器完成对黑白名单的区分和限制。系统的软件采用汇编语言编写,主要由主程序、键盘输入子程序、D/A转换子程序、黑白名单区分子程序组成。在完成硬件设计和软件编制后,对系统进行了联机仿真调试,系统的正常

17、运行验证了设计的正确性。最后,用Protel 99SE绘制了电路原理图。本设计是针公司的办公自动化而设计的,由于具有工作速度快、信噪比高;可以节省通信费用,避免公司电话私用,提高公司整体办公效率,适用于大、中、小型企业1.3 本论文的工作和特点本论文探讨了一种基于单片机的智能去电控制系统的软硬件设计,并搭建硬件电路进行软硬件调试,验证了系统设计的正确性。1. 论文所作的工作(1) 智能去电控制系统的整体规划(2) 完成智能去电控制系统的硬件设计(包括去电信号产生电路、模数转换电路、去电输出接口电路等各个部分电路的设计)(3) 完成智能去电控制系统的软件设计(包括主程序、键盘输入处理子程序、D/

18、A转换及去电输出子程序和黑白名单区分子程序的编制)(4) 搭建硬件电路并进行联机和脱机调试,实现了智能去电控制功能(5) 利用Protel 99SE绘制了电路原理图2. 主要特点(1) 是基于单片机的智能去电控制系统,系统的可扩展性好(2) 主要依靠软件来实现的智能去电控制系统,降低了成本、提高了系统的性价比1.4 本章小结本章作为论文的开始,介绍了有关课题背景方面的知识。首先介绍了单片机的历史和发展现状;然后对智能去电控制器系统进行了分析;最后,对本论文所作的工作及论文的特点进行了总结。第2章 MCS-51单片机的结构MCS-51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限

19、的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。2.1 控制器控制器是单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。单片机执行指令是在控制器的控制下进行的。首先从程序存储器中读出指令,送指令寄存器保存,然后

20、送至指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑产生各种定时信号和控制信号,再送到单片机的各个部件去进行相应的操作。这就是执行一条指令的全过程,执行程序就是不断重复这一过程。控制器主要包括程序计数器、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路及时序控制逻辑电路。2.1.1 程序计数器程序计数器PC是控制部件中最基本的寄存器,是一个独立的计数器,存放着下一条将要从程序存储器中取出的指令的地址。其基本的工作过程是:读指令时,程序计数器将其中的数作为所取指令的地址输出给程序存储器,然后程序存储器按此地址输出指令字节,同时程序计数器本身自动加1,读完本指令,PC指向

21、下一条指令在程序存储器中的地址。程序计数器PC中内容的变化决定程序的流程。程序计数器的宽度决定了单片机对程序存储器可以直接寻址的范围。在MCS-51单片机中,程序计数器PC是一个16位的计数器,故可对64KB(216=65536=64K)的程序存储器进行寻址。程序计数器的基本工作方式有以下几种:(1) 序计数器自动加1,这是最基本的工作方式,这也是为何该寄存器被称为计数器的原因。(2) 行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。(3) 在执行调用子程序指令或响应中断时,单片机自动完成如下的操作: 1 PC的现行值, 即下一条将要执行的指令的地址,即断点值

22、,自动送入堆栈。2 将子程序的入口地址或中断向量的地址送入PC,程序流向发生变化,执行子程序或中断子程序。子程序或中断子程序执行完毕,遇到返回指令RET或RETI时,将栈顶的断点值弹到程序计数器PC中,程序的流程又返回到原来的地方,继续执行。2.1.2 指令控制逻辑电路指令寄存器IR是用来存放指令操作码的专用寄存器。执行程序时,首先进行程序存储器的读指令操作,也就是根据PC给出的地址从程序存储器中取出指令,并送指令寄存器IR,IR的输出送指令译码器;然后由指令译码器对该指令进行译码,译码结果送定时控制逻辑电路。定时控制逻辑电路根据指令的性质发出一系列的定时控制信号,控制单片机的各组成部件进行相

23、应的工作,执行指令。条件转移逻辑电路主要用来控制程序的分支转移。综上所述,单片机整个程序的执行过程就是在控制部件的控制下,将指令从程序存储器中逐条去处,进行译码,然后由定时控制电路发出各种定时控制信号,控制指令的执行。对于运算指令,还要将运算的结果特征送入程序状态寄存器PSW。以主振频率为基准(每个主振周期为振荡周期),控制器控制CPU的时序,对指令进行译码,然后发出各种控制信号,它将各个硬件环节的动作组织在一起。2.2 存储器的结构MCS-51单片机存储器采用的是哈佛(Har-vard)结构,即程序存储器空间和数据存储器空间截然分开,程序存储器和数据存储器各有自己的寻址方式,寻址空间和控制系

24、统。这种结构对于单片机“面向控制”的实际应用极为方便和有利。在89C51/8751单片机中,不仅在片内集成了一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有极强的外存储器的扩展能力,寻址能力分别可达64KB,寻址和操作简单方便。MCS-51的存储器空间可划分为如下几类:1. 程序存储器单片机系统之所以能够按照一定的次序进行工作,主要是程序存储器中存放了经调试正确的应用程序和表格之类的固定常数。程序实际上是一串二进制码,程序存储器可以分为片内和片外两部分。8031由于无内部存储器,所以只能外扩程序存储器来存放程序。MCS-51单片机复位后,程序存储器PC的内容为0000H,故系

25、统必须从0000H单元开始取指令,执行程序。程序存储器中的0000H地址是系统程序的启动地址。一般在该单元存放一条绝对跳转指令,跳向用户设计的主程序的起始地址。64K程序存储器中有5个单元具有特殊用途。5个特殊单元分别对应于5种中断源的中断服务程序的入口地址。通常在这些中断入口地址处都放一条绝对跳转指令。加跳转指令的目的是由于两个中断入口间隔仅有8个单元,存放中断服务程序往往是不够用的。在MCS-51单片机的指令系统中,同外部程序存储器打交道的指令仅有两条: (1) MOVC A A+DPTR (2) MOVC A A+PC2. 内部数据存储器MCS-51单片机内部有128个字节的随机存取存储

26、器RAM,作为用户的数据寄存器,它能满足大多数控制型应用场合的需要,用作处理问题的数据缓冲器。MCS-51单片机的片内存储器的字节地址为00H-7FH。MCS-51单片机对其内部RAM的存储器有很丰富的操作指令,从而使得用户在设计程序时非常方便。地址为00H-1FH的32个单元是4组通用工作寄存器区,每个区含八个8位寄存器,编号为R7-R0。用户可以通过指令改变PSW中的RS1、RS0这二位来切换当前的工作寄存器区,这种功能给软件设计带来极大的方便,特别是在中断嵌套时,为实现工作寄存器现场内容保护提供了极大的方便。地址为20H-2FH的16个单元可进行共128位的位寻址,这些单元构成了1位处理

27、机的存储空间。单元中的每一位都有自己的位地址,这16个单元也可以进行字节寻址。地址为30H-7FH的单元为用户RAM区,只能进行字节寻址。3. 特殊功能寄存器(SFR-Special Function Register)特殊功能寄存器反映了MCS-51单片机的状态,实际上是MCS-51单片机各功能部件的状态及控制寄存器。SFR综合的,实际的反应了整个单片机基本系统内部的工作状态及工作方式。SFR实质上是一些具有特殊功能的片内RAM单元,字节地址范围为80H-FFH.特殊功能寄存器的总数为21个,离散的分布在该区域中,其中有些SFR还可以进行位寻址。128个字节的SFR块中仅有21个字节是由定义

28、的。对于尚未定义的字节地址单元,用户不能作寄存器使用,若访问没有定义的单元,则将得到一个不确定的随机数。4. 位寻址空间MCS-51单片机的一个很大优点在于它具有一个功能很强的位处理器。在MCS-51单片机的指令系统中,有一个位处理指令的子集,使用这些指令,所处理的数据仅为一位二进制数(0或1)。在MCS-51单片机内共有211个可寻址位,它们存在于内部RAM(共有128个)和特殊功能寄存器区(共有83个)中。 当MCS-51单片机的片内RAM不够用时,可在片外扩充数据存储器。MCS-51单片机给用户提供了可寻址64K字节的外扩RAM的能力,至于扩多少RAM,则根据用户实际需要来定。2.3 并

29、行I/O口MCS-51单片机共有4个双向的8位并行I/O端口(Port),分别记作P0-P3,共有32根口线,各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。实际上P0-P3已被归入特殊功能寄存器之列。这四个口除了按字节寻址以外,还可以按位寻址。由于它们在结构上有一些差异,故各口的性质和功能有一些差异。P0口是双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。P1口是8位准双向I/O口,可驱动4个LS 型负载。P2口是8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。P3口是8位准双向I/O口,是双功能复用口,可驱动4

30、个LS型TTL负载。P1口、P2口、P3口各I/O口线片内均有固定的上拉电阻,当这3个准双向I/O口做输入口使用时,要向该口先写“1”,另外准双向I/O口无高阻的“浮空”状态,故称为双向三态I/O 口。P0-P3口都是并行I/O口,都可用于数据的输入和输出,但P0口和P2口出了可进行数据的输入/输出外,通常用来构建系统的数据总线和地址总线,所以在电路中有一个多路转换开关MUX,以便进行两种用途的转换。而P1口和P3口没有构建系统的数据总线和地址总线的功能。因此,在电路中没有多路转接开关MUX。由于P0口可作为地址/数据复用线试用,需传送系统的低8位地址和8位数据,因此,MUX的一个输入端为“地

31、址/数据”信号。而P2口仅作为高位地址线试用,不涉及数据,所以MUX的一个输入信号为“地址”。在4个口中只有P0口是一个真正的双向口,P1-P3这三个口都是准双向口。原因是在应用系统中,P0口作为系统的数据总线使用时,为保证数据的正确传送,需要解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传递时,芯片内外处于隔离状态。为此,要求P0口的输出缓冲器是一个三态门。在P0口中输出三态门是由两只场效应管(FET)组成,所以说它是一个真正的双向口。而其他的三个口中,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的,因此不是真正的双向口,只能称其为准双向口。P3口的口线具有第二功

32、能,为系统提供一些控制信号,因此在P3口电路增加了第二功能控制逻辑。这是P3口与其他各口的不同之处。2.4 时钟电路与时序时钟电路用于产生MCS-51单片机工作时所必需的时钟信号。MCS-51单片机本身就是一个复杂的同步时序电路,为保证同步工作方式的实现,MCS-51单片机应在唯一的时钟信号控制下,严格地按时序执行进行工作,而时序所研究的是指令执行中各个信号的关系。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定的操作。CPU发出的时序信号有两类,一类用于片内对各个功能部件的控制,这类信号很多。另一类用于片外存储器或I/

33、O端口的控制,这部分时序对于分析、设计硬件接口电路至关重要。这也是单片机应用系统设计者普遍关心的问题。2.5 单片机的中断MCS-51系列中,有5个中断源。它们可分为2个优先级其中每一个中断源的优先级都可以由程序排定。5个中断源的中断要求是否会得到响应,受允许中断寄存器IE中各位的控制;它们的优先级分别由中断优先级寄存器IP的各位确定;同优先级内的各中断源同时要求中断时,还要靠内部的查询逻辑来确定响应的次序,不同的中断源有不同的中断向量。MCS-52子系列的中断系统与此类同,只不过增加了一个中断源。1. 允许中断寄存器IE(1) EA(IE.7)总允许位。EA=0,禁止一切中断。EAl,则每个

34、中断源是允许还是禁止,分别由各自的允许位确定。(2) (IE.6)保留位。(3) (IE.5)保留位。(4) ES(IE.4)串行口中断允许位。ES0,禁止串行口中断。(5) ETl(IE.3)定时器1中断允许这。ET10,禁止定时器1中断。(6) EXl(IE.2)外部中断l允许位。EX10,禁止外部中断1。(7) ET0(IE.1)定时器0中断允许位。ET00,禁止定时器0中断。(8) EX0(IE .0)外部中断0允许位。EX00,禁止外部中断0。2. 中断优先级寄存器IPMCS-51的中断分为2个优先级。每个中断源的优先级都可以通过中断优先级寄存器IP中的相应位来设定。其中:(1) (

35、IP.7)保留位。(2) (IP.6)保留位。(3) (IP.5)保留位。(4) PS(1P.4)串行口中断优先级设定位。PS1,设定为高优先级。(5) PT1(1P.3)定时器1中断优先级设定位。PTl1设定为高优先级。(6) PXl(IP.2)外部中断1优先级设定位。PXl1,设定为高优先级。(7) PT0(IP.l)定时器0中断优先级设定位。PT01,设定为高优先级。(8) PX0(1P0)外部中断0优先级设定位。PX01,设定为高优先级。3. 优先级结构靠IP寄存器把各中断源的优先级分为高低两级。它们遵循这样两条基本规则:(1) 低优先级中断可被高优先级中断所中断,反之不能;(2) 一

36、种中断(不管是什么优先级)一旦得到响应,与它同级的中断不能再中断它。为了实现这两条规则,中断系统内部包含两个不可寻址的“优先级激活”触发器。其中一个触发器指示某高优先级的中断正在得到服务,所有后来的中断都被阻断。另一个触发器指示某低优先级的中断正得到服务,所有同级的中断都被阻断,但不阻断高优先级的中断。当同时收到几个同一优先级的中断要求时,哪一个要求得到服务,取决于内部的查询顺序,相当于在每个优先级内,还同时存在另一个辅助优先结构。如;中断源: 同级内的优先权外部中断0 最高定时器/计数器0溢出外部中断1定时器/计数器1溢出串行口 最低 在每一机器周期中,所有中断源都顺序地被检查一遍;这样到任

37、一周期的S6状态时,找到了所有已激活的中断请求,并排好了优先权。在下一机器周期的S1状态,只要不受阻断就开始响应其中最高优先级的中断请求。若发生下列情况,中断响应会受到阻断:(1) 同级或高优先级的中断已在进行中;(2) 正在执行的指令,尚未完成其最后一个机器周期(换言之,正在执行的指令完成前,任何中断请求都得不到响应);(3) 正在执行的是一条RETI或者访问专用寄存器IE或IP的指令(换言之,在RETI或者读写IE或IP之后,不会马上响应中断请求,而至少在执行一条其他指令之后才会响应)。若存在上述任一种情况,中断查询结果就被取消。否则在紧接着的下一个机器周期,中断查询结果变为有效。4. 中

38、断响应协议当某中断源提出中断请求后,作为应答,CPU首先使相应的“优先级激活”触发器置位,以阻断同级和低级的中断。然后,根据中断源的类别,在硬件的控制下,程序转向相应的向量单元,执行中断服务子程序。 硬件中断服务子程序调用时,把当时程序计数器PC的内容压入堆栈(在MCS5l中,PC是16位的,占用了2个字节,没有自动保存程序状态字PSW的内容),同时还根据中断的来源,把相应的向量单元地址装入PC中。这些向量地址是:中断源 向量单元外部中断0 0003H定时器0溢出 000BH外部中断1 00l3H定时器1溢出 001BH串行口 0023H中断服务子程序的最后一条指令应是RETI(中断返回)。R

39、ETI指令将清除“优先级激活”触发器(该触发器在响应中断时被置位)。然后由堆栈弹出两个字节(下一条指令地址)装入到PC中。5. 外部中断外部中断的激活方式分为两种:一种是电平激活另一种是边沿激活。这两种方式可以靠TCON寄存器中的中断方式位ITI或IT0来控制。若0(X为0或l,后文中用到类同的符号,其含意相似),则采用电平激活方式:在引脚上检测到低电平,将触发外部中断。若1,则采用边沿激活方式:在相继的两个周期中,对引脚进行连续两次采样,若第一次采样值为高,第二次为低,则TCON寄存器中的中断请求标志IEx被置1,以请求中断。由于外部中断引脚每个机器周期被采样一次,为确保采样,由引脚输入的信

40、号应至少保持一个机器周期,即12个振荡器周期。如果外部中断为边沿激活方式,则引脚处的高电平和低电平值至少各保持一个机器周期,才能确保CPU检测到电平的跳变,而把中断请求标志IEx置1。如果采用电平激活外部中断方式,外部中断源应一直保持中断请求有效,直至所请求的中断得到响应时为止。6 . 中断请求的撤除 CPU响应某中断请求后,在中断返回(RETI)前,该中断请求应该撤除,否则会引起另一次中断。对于定时器0或1溢出中断,CPU在响应中断后,就用硬件清除了有关的中断请求标志TF0(TCON.5)或TFl(TCON.?),即中断请求是自动撤除的,无需采取其他措施。对于边沿激活的外部中断,CPU在响应

41、中断后,也用硬件清除了有关的中断请求标志IE0(TCON.1),或IEl(TCON.3), 自动撤除了中断请求。对于电平激活的外部中断,由于在硬件上,CPU对和引脚的信号完全没有控制(在专用寄存器中,没有相应的中断请求标志),也不像某些微处理机那样响应中断后会自动发出一个应答信号。因此在MCS-5l的用户系统中,要另外采取撤除外部中断的措施。例如,可以利用单稳态触发器对中断源信号进行整形,使之符合要求。7. 中断响应时间现以外部中断为例,说明中断响应的最短时间。在每个机器周期的S5P2,和端的电平被锁到内部保持寄存器中,而实际上在下一个周期才会查询这些值。如果中断请求有效,一般情况下,下一条要

42、执行的指令将是一条硬件子程序调用指令,调用所要求的服务程序。调用本身要花费两个机器周期。这样,从外部中断请求有效到开始执行服务程序的第一条指令,中间要隔3个周期,这是最短的响应时间。如果发生了第3节所述的3种情况之一,那么中断请求受阻,中断响应时间会更长些。如果一个同级的或高优先级的中断已经在进行,则很显然,附加的等待时间将取决正在进行的中断服务程序。若正在执行的一条指令还没有进行到最后一个周期,那么附加的等待时间不会超过3个周期,因为一条指令的最长执行时间为4个周期(MUL和DIV)。如果正在执行的是RETI指令或者是访问IE或IP的指令,则附加的等待时间不会超过5个周期(为完成正在执行的指

43、令,还需要一个周期,加上为完成下一条指令所需要的最长时间4个周期,故最长为5个周期)。若系统中只有一个中断源,则响应时间在3个同期到8个周期之间。2.6 单片机的工作方式单片机的工作方式包括:复位方式、程序执行方式、单步执行方式、低功耗操作方式以及EPROM编程和校验方式。1. 复位方式RST引脚是复位信号的输入端。复位信号是高电平有效。高电平有效的持续时间应为24个振荡周期以上。若时钟频率为6MHz,则复位信号至少应持续4us以上,才可以使单片机复位。复位以后,07H写入栈指针SP,P0-P3口均置1(允许输入),程序计数器PC和其他特殊功能寄存器SFR全部清零。只要该脚保持高电平,MCS-

44、51便循环复位。当RST端由高变低后,MCS-51由ROM的0000H开始执行程序。MCS-51的复位操作不影响内部RAM的内容。当Vcc加电后,RAM的内容是随机的。单片机的复位方式有上电自动复位和手工复位两种。2. 程序执行方式程序执行方式是单片机的基本工作方式。所执行的程序可以在内部ROM、外部ROM或者同时放在内外ROM中。若程序放在外部ROM中(如对8031),则应使=0,否则,可使=1。由于复位之后PC=0000H,所以程序的执行总是从地址0000H开始的。但真正的程序一般不可能从0000H开始存放,因此,需要在0000H单元开始存放一条转移指令,从而使程序跳转到真正的程序入口地址

45、。3. 单步执行方式单步执行方式是使程序的执行处于外加脉冲(通常用一个按键产生)的控制下,逐次逐条执行指令,即按一次键,执行一条指令。单步执行方式可以利用MCS-51的中断控制来实现。其中断系统规定:从中断服务程序返回以后至少要执行一条指令后才能重新进入中断。将外加脉冲加到输入,平时为低电平。通过编程规定使信号低电平有效,因此不来脉冲时总是处于响应中断的状态。在中断服务中要安排这样的指令:JNB P3.2 $ ;不往下执行JB P3.2 $ ;不往下执行RETI ;返回主程序执行一条指令因此,只有上来一个正脉冲,才能通过第一、第二两条指令,返回主程序并执行一条指令,由于此时已回到0,故重新进入

46、中断,在第一条指令处等待正脉冲的到来。从而实现来一个脉冲执行一条指令的单步操作。4. 低功耗操作方式CMOS型单片机有两种低功耗操作方式:节电操作方式和掉电操作方式。在节电方式时,CPU停止工作,而RAM、定时器、串行口和中断系统继续工作。在掉电方式时,仅给片内RAM供电,片内所有其他的电路均不工作。CMOS型单片机用软件来选择操作方式,由电源控制寄存器PCON中的有关位控制。这些有关的位是:IDL(PCON.0) ;节电方式位。IDL=1时,激活节电方式PD(PCON.1) ;掉电方式位。PD=1时,激活掉电方式GF0(PCON.2) ;通用标志位GF1(PCON.3) ;通用标志位(1) 节电方式一条将IDL位置1的指令执行后,MCS-51就进入节电方式。这时提供给CPU的时钟信号被切断,但时钟信号仍提供给RAM、定时器、中断系统和串行口,同时CPU的状态被保留起来,也就是栈指针SP、程序计数器PC、程序状态字PSW、累加器Acc及通用寄存器的内容。在节电方式下, Vcc仍为5V,但消耗电流由正常工作方式的24mA降为3.7mA。可以有两条途径退出节电方式恢复到正常方式。一条途径是有任一种中断被激活,此时IDL位将被硬件清除,随之节电状态被结束。中断返回时将回到进入节电方式的指令后的一条指令,恢复到正常方式。PCON中的标志位GF0和GF1可以用作软件标志,若置I

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号