ADUC812的定时、中断、计数.ppt_第1页
ADUC812的定时、中断、计数.ppt_第2页
ADUC812的定时、中断、计数.ppt_第3页
ADUC812的定时、中断、计数.ppt_第4页
ADUC812的定时、中断、计数.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ADU812的中断系统、定时器/计数 器 机械工程系 孙振国 一、中断系统 ADuC812共有9种中断源,2种中断 优先级,并有3个特殊功能寄存器控制,这 3个特殊功能寄存器分别为IEIE,IPIP,IE2IE2 : 中断源、中断向量与中断优先级 与中断系统相关的特殊功能寄存器 中断产生的条件 外部中断输入及使用 1.1 中断源(将IE1更正为IE) 低 优 先 级 n(图61) 1.2 中断向量 n中断发生时, 当前程序指针 压入堆栈,相 应的中断向量 被装载到程序 指针寄存器。 中断向量地址 内一般存放的 是对应的中断 子程序的入口 地址。 中断源与中断向量地址中断源与中断向量地址 1.3中断优先级 nADuC812的中断只有HIGH和LOW两种,用户通 过写IE寄存器的使能不同的中断源,而么每个 中断的优先级由用户通过写IP寄存器来选择。 n拥有HIGH有优先中断可以在LOW优先级的中断 响应过程中得到响应。 n如果两种中断同时发生,拥有HIGH优先级的中 断就会先被运行,如果同时发生的两个中断拥 有相同的优先级,那么内部优先级高的中断先 被响应。 Priority within an Interrupt Level 2.1 IE-Interrupt Enable Register nEA:使能全局中断; nEADC:使能ADC中断; nET2:使能定时器T2溢出中断; nES:使能UART串行接口中断; nET1:使能定时器T1溢出中断; nEX1:使能外部INT1中断; nET0:使能定时器T0溢出中断; nEX0:使能外部INT0中断; 2.2 IE2-Second Interrupt Enable Register nESI:使能电源监视器PSW中断; nEPSMI:使能SPI或I2C中断; nIE2.22.7未用。 2.3 IP-Interrupt Priority Register nPSI:设置SPI/I2C中断优先级; nPADC:设置ADC中断优先级; nPT2:设置定时器T2溢出中断优先级; nPS:设置UART串行接口中断优先级; nPT1:设置定时器T1溢出中断优先级; nPX1:设置外部INT1中断优先级; nPT0:设置定时器T0溢出中断优先级; nPX0:设置外部INT0中断优先级; 3. 中断产生的条件 中断源被相应控制寄存器选中(并置相 应的标志位为1); IE中的EA位置1,IE或IE2中的相应中断 位置1; 中断服务子程序入口地址已被加载到对 应的中断向量地址中; 当前没有更高优先级的中断。 4. 外部中断输入及使用 nAdu812有2个独立的外部中断输入,与标准的 80C51控制器相同; nTCON寄存器中的IT1(0)为0时,对应的INT0(1)引 脚为低电平触发模式, IT1(0)为1时,对应的 INT0(1)引脚为下降沿触发模式; n外部中断引脚信号在每一个机器周期采样,下降沿 触发模式下,高、低电平必须维持1个机器周期。 当检测到外部信号中断后,由硬件将中断请求标志 位IE0(1)置1,当中断服务子程序响应中断时, IE0(1)自动清0; n低电平触发模式下,中断服务完成后,如果外部中 断源仍然维持低电平,则再次产生新中断,与是否 清除IE0(1)位无关。 二、定时/计数器 n概述 n相关的特殊功能寄存器 n定时/计数器0和1 n定时/计数器2 nWATCHDOG 1. 概述 nADuC812有3个16位定时器/计数器,分别称为 定时器0、定时器1和定时器2。每一个定时器包 括了两个8位的寄存器,THx和TLx,其中x可为 0,1,2。它们都可以被配置为定时器或者事件 计数器。 n当作为定时器使用时,TLx在每一个时钟周期( 机器周期)都增加。而每一个时钟周期等于12 个内部时钟。因此最大计时频率只能是内部时 钟频率的1/12。当作为计数器使用时,TLx在每 一个外部事件输入管脚(T0、T1、T2)上的1 到0跳变将增加1。为了能够保证外部事件信号 能被正确采样到,事件信号的最高频率为1/24 的内部时钟频率。 2. 相关的特殊功能寄存器 nADuC812有三个特殊寄存器来控制这三个定 时器。他们分别为TMOD、TCON和T2CON。 TMOD用于控制定时器0和定时器1的工作模 式,T2CON用于控制定时器2。 n这些寄存器的内容靠软件设置,系统复位时 ,寄存器的所有位都被清0。 n这三个寄存器都是可以位寻址的。 TMOD-T/C 0&1 Mode Register nGate=1:只有INT0或INT1引脚为高电平,且TR0或 TR1置1时,相应的T/C才被选通工作,用于测量 INTX端出现的正脉冲宽度;GATE=0:只要TR0和TR1 置1, T/C就被选通,无论INT0或INT1的电平高低; nC/T=0为定时器方式, C/T=1为计数器方式; nM1和M0:选择模式03。 TCON -Timer/Counter 0/1 Control Register nTF1(0):定时器1(0)溢出标志,C/T溢出时,由硬件 置位,请求中断,进入中断服务后被硬件自动清除 ; nTR1(0):定时器1(0)运行控制位,靠软件置位,C/T 接通工作,清除时停止工作。 nIE1(0):外部沿触发中断1请求标志。检测到 INT1(0):引脚上出现的外部中断信号的下降沿时, 由硬件置位,请求中断,进入中断服务后被硬件自 动清除; nIT1(0):外部中断1(0)类型控制位,靠软件来设置和 清除,1下降沿触发,0低电平触发。 T2CON Timer/Counter 2 Control Register nTF2:定时器2溢出标志,C/T2溢出时置位,请求中断,只能靠软件清除。 在波特率发生器方式下(RCLK=1或TCLK=1时),定时器溢出时不对TF2置 位; nEXF2:定时器2外部标志。当EXEN2=1时且T2EX引脚上出现负跳变而造成 捕获或重装载时,EXF2置位,请求中断。EXF2靠软件清除; nRCLK:接收时钟标志,靠软件置位或清除。1时T2溢出脉冲作为串口接收 时钟,0时T1溢出脉冲作为串口接收时钟; nTCLK:发送时钟标志,靠软件置位或清除。1时T2溢出脉冲作为串口发送 时钟,0时T1溢出脉冲作为串口发送时钟; nEXEN2:定时器2外部允许标志,靠软件设置或清除。1时,若T2未用于串 行接口的波特率发生器,则在T2EX引脚出现的负跳变,将造成T2捕获或 自动装载,并置EXF2为1,请求中断;0时,T2EX外部信号不起作用; nTR2:定时器2运行控制位,靠软件置位,C/T接通工作,清除时停止工作 ; nCNT2:定时计数方式选择位。靠软件置位或清除。1计数方式,0定时方式 。 nCAP2:捕获或自动重装载标志。靠软件置位或清除。1选择捕获功能,若 EXEN2=1,且T2EX端信号负跳变时,发生捕获;0选择装载,若T2溢出或 EXEN2=1,且T2EX端信号负跳变时,主动装载。 3. 定时/计数器0和1 n除了可以选择定时器或计数器工作方式外,每个定时/计数 器有四种工作模式,其中模式03对定时/计数器0和1都是 一样的,模式3对两者不同。 n模式0是个13位的定时/计数器,模式1是个16位的定时/计数 器,模式2是个8位自动装载的定时/计数器,每当计数器TLX 溢出时,THX中的内容重新装载到TLX中; n定时/计数器0工作于模式3时,将使TL0和TH0成为两个独立 的8位计数器,它借用了定时器1的控制位TR1和中断标志位 TF1,适用于要求增加一个额外的8位定时器的场合。此时 定时/计数器1可以设置工作于模式02,用于不需要中断 的场合。如果定时/计数器1设置为模式3,则停止计数,保 持当前的计数值。 模式0(Mode 0) 13位定时/计数器,计 数值由全1变为全0时, TF1置1,请求中断。 模式1(Mode 1) 16位定时/计数器,计数 值由全1变为全0时,TF1 置1,请求中断。 模式2(Mode 2) n模式2把TL0(1)配置成一个可以自动装载的8位计数 器。 TL0(1)溢出时,不仅使溢出标志TF0(1)置1, 而且自动把TL0(1)中的内容重新装载到TL0(1)中。 TH1的内容靠软件预置,重新装载后内容不变。 模式3(Mode 3) n模式3对C/T0和1是不同的。对于C/T1,设置为 模式3,将使其保持原有的计数值,其作用如同 使TR1=0;对于C/T0,设置为模式3,将使TL0 和TH0成为两个相互独立的8位C/T。 n其中TL0利用了C/T0本身的控制位,其操作情况与模式0、1 类同。但TH0被规定用定时器,它借用了C/T1的TR1和TF1中 断。 如果C/T0工作于模式3, C/T1可以工作于模式03,用于 任何不需要中断控制的场合,例如配置给串口作为波特率发 生器使用 。 4. 定时器/计数器2 n定时器/计数器2具有16位自动装载或捕获功 能,由T2CON控制,分为两种工作方式:定 时器/计数器方式和波特率发生器方式。 n作定时器用时,TH2和TL2计的是机器周期数 。作计数器用时,外部计数脉冲由T2(P1.0) 端输入,其工作情况和时序关系与定时器/计 数器0和1的完全一样。 n在定时器/计数器工作方式下,可以通过 T2CON中的控制位CP/RL2来选择捕获功能或 自动重装载功能,通过一对捕获/重装载寄存 器RCAP2H和RCAP2L来实现。 Timer/Counter 2, 16-Bit Autoreload & Capture Mode n捕获或自动重装载操作发生于下述两种情况下: nT2的TH2和TL2溢出时,若CP/RL2=0,则将RCAP2H和RCAP2L的内容 自动装载到TH2和TL2中。同时,溢出标志TF2置1,请求中断。 n当EXEN2=1且T2EX(P1.1)端的信号有负跳变时,根据CP/RL2=0还是1 ,发生捕获或自动重装载操作,同时标志EXF2置1,请求中断 。 n如果T/C2中断使能,无论发生TF2=1或EXF21,CPU都会相应中断, 中断向量地址位2BH。响应中断后,应靠软件清除中断。 定时器2工作于波特率发生器 模式 nT2CON中的RCLK和TCLK位选择T/C1还是T/C2,C/T2为选 择内外时钟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论