4 C8051F单片机的中断系统_第1页
4 C8051F单片机的中断系统_第2页
4 C8051F单片机的中断系统_第3页
4 C8051F单片机的中断系统_第4页
4 C8051F单片机的中断系统_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、C8051F340单片机的中断系统一、综述计算机,包括单片机,来运行程序,大多是在时钟的驱使下按照一定的、 事先安排的好顺序,一步一步完成的。但是有些事件,是无法预料或不知什么时 候要发生。还有些任务,需要外部的相关设备来执行,执行的速度很慢,与几十 兆运行速度的单片机进行信息交换,计算机要进行慢长的等待。为了解决以上性 质的问题,单片机引入中断机制。中断:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况 的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处 理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫 做中断。中断服务程序:CPU停下

2、当前工作,来处理紧急事件,这个紧急事件的处 理程序,就是中断服务程序。不同性质的紧急事件,一般要对应不同的中断服务 程序。中断向量:中断服务的首地址,称为中断向量。中断向量一般是由硬件规 定死的,比如C8051F340单片机,也有些单片机,可以在特定的区域内写一张 中断向量表,中断发生后,中断向量由硬件通过相关机制序查询得到。中断号:各种类型的中断,按照中断向量的顺序或中断向量表的顺序,来 编号,有的从0开始编号,有的单片机从1开始编号。表9.4中断一览表中断源中制向量位导址拿件 g中Bi兄诗优先壕控制堂位&?cOO(H)量高无N.-AN-A始搏允许总是逑高I街 Q INTO)taOCKH0I

3、EO(TCOhi.l)YYEXO (IE-0)PXG (IP.0)定时器0波出OsOOOE1TFO (TCON-5)YYETO (IE-1)PT& 皿1)|:断 1 INT1)taOOll2IE1 (TCOhJ.3)YYEXI (IE-2PX1 (IP.2)定时舶辙出OxOOlB3TF (TCON-7)YYET1 (IE3PT1 皿3)UARTO0 x00234RIO (SCONO.OJ n0(SCQNG.l)YKESO (IE.4)PSC (IP.+)定时SSZ溢出OxOOZETF2H (TME2CN.7)TF2L(TMR2.CN.6)YNET2 (IE-5)PT2 (IR5)SPIO6SP

4、IF (SPIKN.7) WCQL (SPIOCN-6) MODF (SPIOCN-5 RXOXT1N(SPIOCNJ1YNESPIO(IE.可PSPIO(IPfi)SMB0OxOOSB7SI (SMBOCN.O)YKESMBO (EIELO)PSMB0 (EIPLEUSBG(M043S特赚NNEUSBO (EIE1.1)PUSB0 (EIPL1)ADC0 口比蛟ta0O4E9ADOIMNT (ADC0CN.3)YNEttADCO (HELDPWAD3(EIP1-2)ADC0转疑埔束)0ADOINT (ADC0CN.5)YNEADCO (EIE13)PADC0(EIPL 对可潟壹计数器阵列Qs

5、OOfE11CT (PCAOCK-B CCFd (PCAOCNjhJYNEKAO (EIE1J)PKA0 (EIPL4)比较器0taOM312CPDFIF(CPT0CN.4)CP0RIF(CPT0CN.5NNECPO (HE1.5)PCPO(EEPL5)比QjeGMB13CP1FIF(CPT1CN.4)CP1RIF(CPT1CN.5)NKECPI (EIE1.6)PCP1(EIPL 可定时溢出0 x007314TF3H(TiR3CN,7)TF3L(TMR3CN.6)NNET3 (EIE1.7)PT3 (EIPL7)VBL3电平OxOOTB15N.-AN.-AN-AEVBUS (EIE2.0)P

6、VBUS(EIPX。UART1ta008316RI1 (SCON1-OJ m(&CON1.1)NNESI (EIE2.1)PS1 (EIPU)二、C8051F340单片机的中断系统C8051F340包含一个扩展的中断系统,支持16个中断源,见上面的表。 每个中断源有两个优先级。如果一个中断源被允许,则在相应的中断标志被置位 时,将产生一个中断。每个中断源都可以用一个SFR(IE - EIE2)中的相关中断允许位来允许或 禁止,但是必须首先将EA位(IE.7)置1,以保证每个单独的中断允许位有效。 不管每个中断允许位的设置如何,清0EA位将禁止所有中断。某些中断标志在CPU进入中断服务程序时被自

7、动清除,但大多数中断标志 不是由硬件清除的,必须在中断服务程序返回前用软件清除。如果一个中断标志, 在CPU执行完中断服务程序后,仍然保持置位状态,则会立即产生一个新的中 断请求。三、外部中断外部中断,是由单片机引脚的状态发生变化时,引起的中断。C8051F340有两个外部中断,分别称INT0、INT1。INT0、INT1分别由单 片机的P0 口的某两个引脚构成。具体是哪两个引脚,由INT0/INT1配置寄存器 IT01CF来指定。同时IT01CF,还指定引脚的触发极性。IT01CF: INT0/INT1 配置寄存器RW K-W R1V g RT1- R.W RW RWIN1PLIN15L3I

8、NISLIN1SL0IN0PLMSL2IN0SLINdSLO也了位6母位4位1位 W 做皿:DTIW1边沿或电平她墟中断选择见SFR定义2LL5曰也v _ri . 1 ri vSFRJ址A.CI n-位第 IEL外部中断1当检测到一个由IT1定义的边沿/电平时,该标志由硬件置位.该位可以用软件 清0,但当cpu转向外部中断1中断服务程序时该位被日动清0(如果m=ih 当 m-0时,该标志在ZINT1有效时被置*r C有效电平由IT01CF寄存器中 的IN1PL位定义,见SFR定义913L位a m:中断1类型选择该位选择JINT1中断是边沿触发还是电平触发.可以用ETC1CF寄存器中的 IN1P

9、L位将ZENT1配置为低电平有效或高电平有效(见SFR定义9 13、0: TSTTL为电平触发。h /INT1为边沿触发。位k IE0:外部中断0当检测到一个由IT0定义的边沿/电平时,该标志由硬件置位.该位可以用软件 清0,怛当CPU转向外部中断0中断服务程序时该位被自动清0(如果ITO=1L 当IT0-0时,该标志在/INTO有效时被置,1(有效电平由IT01CF寄存器中 的INOPL位定义,见SFR定义913L位 no:中断。类型选择该位诜择心叮。中断是边沿触发还是电平触发.可以用rrcicF寄存器中的 INOPL位将心叮。配置为低电平有效或高电平有效(见SFR定义9一 13L0: .I

10、NTO为电平触发-h ylNTC为边沿触发。比如我们欲要P0.0、P0.4分别设置成下降沿触发的INT0、INT1中断,分 别分析上面两个寄存器的功能,我们应将IT01CF设成0X04, TCON的第0、2 两位设置成:“1、1”代码:IT01CF=0X04;TCONI= 0X05 ;又比如我们欲要P0.2、P0.5分别设置成上升沿触发的INT1、INT0中断, 分别分析上面两个寄存器的功能,我们应将IT01CF设成0XDA,TCON的第0、 2两位设置成:“1、1”代码:IT01CF=0X0DA;TCONI= 0X05 ;请同学们分析,为什么是0XDA,TCON为什么加一个“I”。TCON的

11、第1和第3两位,分别是IE0、IE1,这两位就是外中断标志位。 引脚事件发生时,首先将这两位中的某一位置“1”,如果中断允许的话,然后由 这两位触发中断服务程序。四:中断允许寄存器IE中断允许寄存器IE,是最基本的中断控制寄存器。其中IE.7,又称EA, 是所有中断的总开关。其余各位,则分别来控制各个具体的中断。当然C8051F340 有16个中断,单靠这一个IE是远远不够的。但对于外中断来说,IE就够了。SFK定义91 He中断允许寄存器R.TVR.TVRW良WRWRTVKWRW复位坦EAESPIOET2ESOET1EX1ET&EX&MOOOCW仍函昭也4k3僚2位1加SFRJfei:何位寻

12、城)OjlAS位7:EA:允许所有中断该位允许,禁止所有中断它超越所有的单个中断屏赣设置0:禁止所有中断源.L开放中断.每个中断由它对成的中断解敝设置决定位ESPID: *行外设接口 (SPI0)中断允许位。该位用于设置SPI0的中断屏融0:禁止SPI0中断,1: .fCfSPIO的中断请求位5:ET2:定时器2中断允许位.该位用于设iff定时器2的中断屏核40:禁止定时嚣2中断占L允许TF2L或TF2H标志的中断诸求,位4:ESO: UAKT0+断允许位口 该位设H UAE.T0的中断屏蔽: o:禁止UAiao+断, 1:.允许IWRT0中断,位3:ET1:定时器1中断允许位-该位用于设置定

13、时剧1的中断屏蔽40:禁止定时嚣1中断口1:.允许 m 标志位的中断请求“位2:EX1:外部中断1尤1T位该位用于设置外部中断1的中断供虹0:禁止外部中断1.l .允许gn引脚的中断诸求位1:ET0:定时器。中断允许位A 该位岛于设置定时律0的中断屏蔽4 0:禁止定时嚣。中断口 1: .feiTTFO标志位的中断请求,位0:EX0:外部中断。允1T位该位用于设置外部中断D的中断解虻0:梦止外部中断&1: .ftft/INTO ?|.W的中断诸求比如,我们要使用INT0、INT1两个外中断,则我们应将IE的第2、0两位置 成1。代码如下:IEI=0X85;,如果只用INT0,则IEI=0X81;如果只用INT1,则IEI=0X8

温馨提示

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

评论

0/150

提交评论