当前位置:首页 > 单片机 > 单片机
[导读] 在EM78X56系列的IC中有三种中断信号,分別是:TCC溢位中断。PORT6Change中断。外部信号中断。在说明中断使用方式之前,用户要了解中断寄存器,及与中断息息相关的控制寄存器(ControlRegister),另外在芯

在EM78X56系列的IC中有三种中断信号,分別是:
TCC溢位中断。
PORT6Change中断。
外部信号中断。
在说明中断使用方式之前,用户要了解中断寄存器,及与中断息息相关的控制寄存器(ControlRegister),另外在芯片中預除器(Prescalar)的使用方法,用户也需要住意。


中断信号显示寄存器0X0F各位安排如下:

BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0
中断信号-----外部中断标志PORT6ChangeTCC溢位标志。


寄存器0X0F使用到的有BIT0~BIT2。BIT0在TCC计時器计数溢位時就会被设定,用户可以根据0X0F的BIT0被设定而判定TCC计数溢位。跟TCC配合的还有另一个寄存器---控制寄存器(ControlRegister,简称CONT)。控制寄存器0X0F各位安排如下:

BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0
控制信号-INTTSTEPABPSR2PSR1PSR0


各位的代表意义如下:
□PSR2~PSR0:TCC/WDT預除器设定。

PSR2PSR1PSR0TCC比例WDT比例
0001:21:1
0011:41:2
0101:81:4
0111:161:8
1001:321:16
1011:641:32
1101:1281:64
1111:2561:128

FIGURE3.5PS0~PS2的设定值与預除器和TCC及WDT的比例关係。
Bit3預除器配置:
0:TCC
1:WDT
□Bit4TCC递增時机:
0:外部信号,触发边沿为正沿触发。
1:外部信号,触发边沿为負沿触发。
□Bit5TCC信号来源:
0:內部指令周期触发。
1:外部引脚(第三脚)触发。
□Bit6INT使能标志:
0:禁止所有中断产生。
1:使能中断信号。
□Bit7无使用。
三种中断产生都有其先前的设定值,接下来会以示例说明。
l例:写一个程序,將寄存器0X20当做计数器,每当TCC中断产生,就自动加1。

MOV A,@0X0;设定A=0。
IOW0X0E;关闭WatchDog。
ORG6;设定接下来的程序位址。
CLR0X20;清除寄存器0X20。
JMPTCC_PRO;跳转到TCC-_PRO。
INT_PRO:DISI;关闭各項中断功能。
CLR0X0F;清除中断寄存器。
INC0X20;计数器加1。

RETI;返回主程序,並使能中断。
TCC_PRO:CLR0X0F;清除中断寄存器。
MOV A,@0X01;设定A=1。
IOW0X0F;使能TCC溢位中断产生。
MOV A,0X40;设定A=0X40。
CONTW;將A的值写入控制寄存器。
ENI;使能中断。
TCC_WAIT:NOP;等待TCC计数器计数溢位。
NOP;等待TCC计数器计数溢位。
JMPTCC_WAIT;等待TCC计数器计数溢位。
TCC中断产生有几个设计的重点:
1.关闭看门狗计時器(WatchDogTimer)。
2.设定控制寄存器(包括預除器、TCC信号来源、触发時机…)。
3.使能中断(下ENI指令)。
4.使能TCC中断(设定中断控制寄存器的bit0为1)。
5.中断服务位址为0X08。
6.进入中断服务程序首先要將中断禁止,否则会产生重复中断。
7.中断寄存器0X0F,在进入中断服务程序時可以提供用户判断为何种中断,判断完成之后用户必須自行清除。
8.由中断服务程序返回主程序应使用指令RETI。
l例:写一个程序,將寄存器0X20当做计数器,每当PORT6Change中断产生,就自动加1。

PORT6==6;定义。
DISI;中断禁止。
ORG6;设定下一个位址为0X06。
CLR0X20;清除计数寄存器。
JMPPORT6_CH;跳转到主程序。
DISI
INT_PRO:;0X08为中断服务程序起始。
NOP
CLR0X0F;清除中断标志寄存器。
INC0X20;计数器遞增。
MOV PORT6,PORT6;將PORT6的值存入正反器。
RETI;回主程序。
PORT6_CH:
CLR0X0F;清除中断标志寄存器。
MOV A,@0XFF;设定A=0XFF。
IOWPORT6;將PORT6设成输入口。
MOV PORT6,PORT6;將PORT6的值存入正反器。

ENI;使能中断。
MOV A,@0X02;设定A=0X02。
IOW0X0F;使能PORT6Change中
WAIT_INT:
WDTC;清除WatchDogTimer。
NOP;等待PORT6Change。
NOP;等待PORT6Change。
JMPWAIT_INT;循环。

使用PORT6Change中断有下列几个步骤。
1.关闭看门狗计時器(WatchDogTimer),若看门狗计時器未关闭,用户要定時下WDTC的指令。
2.清除中断寄存器。
3.设定PORT6为输出口。
4.將PORT6的值存入触发器中(这很重要)。
5.使能中断(下ENI的指令)。
6.使能PORT6Change中断(设定中断控制寄存器的bit1为1)。
7.中断服务程序的启始位址在0X08。
8.进入中断服务程序首先要將中断禁止,否则会产生嵌套中断。
9.中断寄存器0X0F,在进入中断服务程序時可以提供用户判断为何种中断,判断完成之后用户必須自行清除。
10.由中断服务程序返回主程序应使用指令RETI。

l例:写一个程序,將寄存器0X20当做计数器,每当外部中断产生,就自动加1。
所謂的外部中断就是利用IC外部引脚,針对单片机外部的信号做为信号源来产生中断。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭