C的中断系统及定时计数器.ppt
文本预览下载声明
第5章 80C51的中断系统及定时/计数器 5.1 80C51单片机的中断系统 中断的概念 中断源 触发方式设置及中断标志 SCON的中断标志 中断允许控制 中断优先级控制 同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示: 中断优先级遵循的原则 中断服务的进入: CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。 如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。 5.2.4 中断程序举例 ORG 0000H START:LJMP MAIN ;跳转到主程序 ORG 0003H LJMP INTO ;转向中断服务程序 ORG 0030H ;主程序 MAIN:CLR IT0 ;设为电平触发方式 SETB EA ;CPU开放中断 SETB EX0 ;允许中断 MOV DPTR,#1000H ;设置数据区地址指针 … … ORG 0200H ;中断服务程序 INT0:PUSH PSW ;保护现场 PUSH ACC SETB P3.0 ;由P3.0输出0 NOP NOP CLR P3.0 ;由P3.0输出1,撤除 MOV A,P1 ;输入数据 MOVX @DPTR,A ;存入数据存储器 INC DPTR ;修改数据指针,指向下一个单元 … … POP ACC ;恢复现场 POP PSW RETI ;中断返回 INSE1:PUSH PSW ;中断服务程序 PUSH ACC JB P1.0,DV1 ;P1.0为1,转XI1中断服务程序 JB P1.1,DV2 ;P1.1为1,转XI2中断服务程序 JB P1.2,DV3 ;P1.2为1,转XI3中断服务程序 JB P1.3,DV4 ;P1.3为1,转XI4中断服务程序 INRET:POP ACC POP PSW RETI DV1:… … ;XI1中断服务程序 AJMP INRET DV2:… … ;XI2中断服务程序 AJMP INRET DV3: … … ;XI3中断服务程序 AJMP INRET DV4:… … ;XI4中断服务程序 AJMP INRET 5.3 80C51单片机的定时/计数器 实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。也可以采用下面三种方法: 方式1:16位方式 X=
显示全部