外部中断的检测及其应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
摘要 (1)
1 软件介绍 (2)
1.1 protues仿真软件 (2)
1.2 C编译器Keil介绍 (3)
2 外部中断源的特点及控制 (4)
2.1 IE 寄存器的特点及设置 (4)
2.2 中断标志位TCON的特点及设置 (5)
2.3 外部中断标志的编程方式 (6)
3 定时/计数器 (7)
3.1 定时/计数器的结构和工作原理 (7)
3.2 TMOD定时器/计数器方式寄存器 (7)
3.3 TCON定时器/计数器控制寄存器 (8)
4 定时器/计数器的设计 (10)
4.1 任务分析及设计方案 (10)
4.2 理论分析 (10)
4.3 流程图 (11)
4.4 程序设计 (12)
4.5 Protues仿真 (13)
4.6 仿真结果 (14)
5 小结 (15)
摘要
中断控制是单片机最重要的技术之一,实时控制及人机交换等都是通过中断控制实现的。使用中断控制技术的主要优点表现在:
1)能提高CPU 工作效率。在中断方式下,当计算机需要进行输入/输出操作时,可以启动相应的外部设备,此后计算机继续执行原来的程序;与此同时,相应外部设备启动后能独立进行操作,只有当它需要与CPU 交换信息时,才发出中断申请。
2)能使几个外部设备并行工作。当计算机需要与若干外部设备进行输入/输出操作时,可以分别启动不同外部设备,让它们各自进行自己的工作。当它们准备就绪分别或同时向计算机提出申请时,计算机可根据设置的优先级别,逐个响应外部设备的中断请求,
不会造成紊乱。
3)能进行实时处理。如在监测系统中,对温度、压力、流量、湿度参数的采集,根据捕捉到的信息,利用中断及时进行处理等。由此可见,中断系统越强大,单片机的应用范围就越广。本文主要涉及的内容是单片机外部中断、中断系统的应用及其程序的调试。
本次课程设计的要求是:由中断引脚输入500Hz的脉冲信号,要求每中断一次,P1.0输出一个500us的同步负脉冲,P1.1输出一个1ms的同步正脉冲。完成这个课程设计首先需要编写正确的程序代码,然后通过Keil进行编译,使用Proteus 画出电路图,导入编译生成的hex文件进行仿真。本次课程设计完成了简单的外部中断应用,输出脉冲波形,其中涉及到中断及定时计数等知识。
1 软件介绍
1.1 proteus仿真软件
Proteus 软件是来自英国Labcenter electronics 公司的EDA 工具软件,Proteus 软件有20年的历史,在全球广泛使用。
除了具有和其它EDA 工具一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,Proteus革命性的功能是,它的电路仿真是交互的,可视化的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,可以测量仿真的波形及记录仿真数据。在不需要硬件设备投入的情况下Proteus 软件可以建立完整的电子学习设计开发环境,缩短研发周期,并且降低开发成本。
Proteus 组合了高级原理布图、混合模式SPICE 仿真,PCB 设计以及自动布线来实现一个完整的电子设计系统。此系统受益于多年来的持续开发,被《电子世界》在其对PCB 设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM 技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232 终端等动态外设模型来对设计进行交互仿真。
其功能模块:—个易用而又功能强大的ISIS 原理布图工具;PROSPICE 混合模型SPICE 仿真; ARESPCB 设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED 甚至LCD 显示CPU 模型。Proteus 主要特征:
1)支持许多通用的微控制器,如 ARM,PIC,AVR,以及8051.
2)交互的装置模型包括:LED 和LCD 显示,RS232 终端,通用键盘
3)强大的调试工具,包括寄存器和存储器,断点和单步模式
4) IAR C-SPY 和 Keil uVision4 等开发工具的源层调试
1.2 C编译器Keil介绍
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
KeilSoftware公司推出的uVision4是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。uVision4提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。
2 外部中断源的特点及控制
80C51 共有5 个中断源,它们在程序存储器中各有固定的中断服务入口地址,当CPU 响应中断时,硬件自动形成各自的入口地址,由此进入中断服务程序,从而实现了正确的转移。其中有2 个来自单片机的外部—外部中断源。对外部中断的控制主要有:1)外部中断的开放或禁止;2)触发电平方式;3)优先级别的选择。这些控制机构分别位于IE 、TCON 和IP 等3 个专用寄存器中。
这些中断源的符号,名称,产生条件及中断服务程序的入口地址见表2.1
表 2.1 外部中断源的特点及控制
2.1 IE 寄存器的特点及设置
IE 寄存器是由一个中断允许总控制位和各中断源的中断允许控制位构成的,由此实现2 级中断允许控制。IE 寄存器中的各位定位如图2.2所示。
表 2.2 IE 寄存器的特点及设置
IE 各位具体说明如下:
EA :总开关控制位
EA=0,屏蔽所有中断请求;EA=1,开放中断。 中断源符号 名称
中断引起原因 中断服务程序入口地址 0INT 外部中断0
3.2P 引脚的低电平或下降沿信号 0003H 1INT 外部中断1 3.3P 引脚的低电平或下降沿信号 0013H
0T 定时器0中断 定时/计数器0计数回零溢出 000BH
1T
定时器1中断 定时/计数器1计数回零溢出 001BH 2T 定时器2中断 定时器2中断(TF2或T2EX )信号 002BH
/TI RI
串行口中断 串行通信完成一帧数据发送或接受
引起中断 0023H EA - ET2
ES ET1 EX1 ET0 EX0 中断总控 允/禁 不用 T2
允/禁 串行口 允/禁 T1 允/禁 1INT 允/禁 T0 允/禁 0INT 允/禁