文档库 最新最全的文档下载
当前位置:文档库 › msp430中断(不可屏蔽中断NMI)

msp430中断(不可屏蔽中断NMI)

msp430中断(不可屏蔽中断NMI)
msp430中断(不可屏蔽中断NMI)

中断系统

中断的优先级是固定的。中断优先级的是以模块的在链接所处的位置决定的。越靠近CPU/NMIRS,模块的优先级越高。中断优先级决定了,当系统有多个中断等待处理时,先处理哪一个中断。

有三种中断类型:

系统中断

不可屏蔽中断

可屏蔽中断

不可屏蔽中断(NMI)

不可屏蔽中断不能被总中断使能位(GIE)所屏蔽,而由单独的中断使能位(NMIIE, ACCVIE,OFIE)来控制的。当接收到不可屏蔽中断中断时,所有的不可屏蔽中断使能位会被自动复位。程序从不可屏蔽中断的中断向量0FFFCH存储的地址开始运行。用户软件必须设置所需的不可屏蔽的中断使能位,以便不可屏蔽中断能够再次响应。

不可屏蔽的中断源有以下三种:

1. 当配置为NMI模式时,RST/NMI引脚的一个边沿

2. 振荡器失效

3. 错误使用FLASH

RST/NMI引脚

上电时,RST/NMI引脚配置为复位模式。在看门狗控制寄存器WDTCTL中选择RST/NMI引脚的功能。如果RST/NMI引脚被设置为复位功能,RST/NMI引脚处于低电平时CPU将一直保持复位状态。当转为高电平时,CPU从存储在复位向量OFFFEH中的地址开始运行,RSTIFG将被置位。

如果RST/NMI引脚被用户软件配置为不可屏蔽中断时,如果NMIIE位被置位时,由WDTNMIES选择的信号边沿到来产生NMI中断。RST/NMI的标志位NMIIFG将会被置1。

注释1:RST/NMI保持低电平

在配置为NMI模式时,产生一个NMI事件的信号不会拉低RST/NMI引脚的电平。如果其他的信号源产生一个PUC时,NMI信号是低电平,设备将处于复位状态,因为一个PUC 信号使RST/NMI引脚变为复位模式。

注释2:修改WDTNMIES

当选择了NMI模式,WDTNMIES位改变了,NMI是否产生将依据于实际的RST/NMI 引脚的电平。在系统被设置为NMI模式前,如果NMI的边沿选择位改变早于选择NMI模式,不产生NMI。

FLASH的存取冲突

当FLASH存取冲突发生时,ACCVIFG位将会被置1。置ACCVIE为1,在发生FLASH 存取冲突时,就产生一个NMI中断。NMI中断服务程序可以检查ACCVIFG位来判断NMI 中断是否由FLASH存取冲突引起。

振荡器错误

振荡器错误信号对晶振失效的情形发出警告。置位OFIE将能够使振荡器发生错误时产生一个NMI中断。NMI中断服务程序可以检查OFIF位来判断NMI中断是否由振荡器引起。

PUC信号可能触发一个振荡器错误。因为PUC信号使系统由LFXT1模式转变为LF 模式,因而关断HF模式。PUC信号也关闭振荡器XT2。

一个NMI中断处理的例子

NMI中断是一个多源中断。NMI中断将自动复位NMIIE, OFIE和ACCVIE中断使能位。根据

实际应用的需要,用户的NMI中断服务子程序可以重置中断标志位,置位中断使能位为了防止中断嵌套,不应该在中断服务子程序中设置ACCVIE, NMIIE,OFIE。

MSP430 定时器TB中断应用实例

MSP430 定时器TB中断应用实例 msp430定时器中断,实现功能:利用定时器TB0的中断实现板上led灯得闪烁。 TA和TB的设置相似,需要设置的寄存器有: 1、TBR:定时计数器主体,对定时计数器进行初始值设置。 2、TBCTL:控制寄存器,对定时器的各个属性进行设置,各位如图所示,(图中是TA的控制寄存器,把A改成B就是了) TBSSELx是选择定时器时钟输入源,一般设置为2取系统时钟。 IDx是对输入时钟进行分频,0不分频,1为2分频,2为4分频,3为8分频 MCx为计数模式控制位,0为停止模式,1为增基数模式,2为连续计数模式,3为增/减计数模式 3、TBCCR0寄存器用于设置比较值,例如增加计数模式时,当TBR中的值增加到TBCCR0中的值时,产生中断。 程序代码: #include "msp430.h" #define led P1OUT

int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P1DIR = 0x01; TBR = 0;//设置计数器初值 TBCTL |= TBSSEL_2|0xc0|MC_1;//对寄存器TBCTL进行设置,TBSSEL_2为选择MCLK系统时钟,0xc0为8分频,MC_1为增计数模式 TBCCR0 = 0xfffd;//设置比较值,当TBR中的值增加到TBCCR0时,产生中断。TBCCTL0 &= ~CAP;//设置为比较模式 while(1) { led = 0x01; do{;} while(!(TBCCTL0 & CCIFG));//没有中断标志时进行空操作 TBCCTL0 &= 0xfffe;//对中断标志进行软件清零 led = 0x00; do{;} while(!(TBCCTL0 & CCIFG)); TBCCTL0 &= 0xfffe; } //return 0; }

MSP430 中断服务

当系统时钟发生器基本功能建立之后,CPU内状态寄存器SR的SCG1,SCG0,CPUOFF,OSCOFF位是重要的低功耗控制位。只要任意中断被响应,上述控制位就被压入堆栈保存,中断处理之后,又可恢复先前的工作方式。在中断处理子程序执行期间,通过间接访问堆栈数据,可以操作这些控制位;这样允许程序在中断返回(RETI) 后,以另一种功耗方式继续运行。 各控制位的作用如下: SCG1:复位,使能SMCLK;置位,禁止SMCLK。 SCG0:复位,激活直流发生器,只有SCG0置位,并且DCOCLK没有被用作MCLK或SMCLK时,直流发生器才能被禁止。 OSCOFF:复位,激活LFXT1,只有当OSCOFF被置位并且LFXT1CLK不用于MCLK或SMCLK时,FLXT1才能被禁止;当使用晶体振荡器关闭选项OSCOFF时,需要考虑晶体振荡器的启动设置时间 CPUOFF:复位,激活MCLK;置位,关闭MCLK。 控制位SCG1、SCG0、CPUOFF、OSCOFF可由软件配制成六种不同的工作模式:工作模式控制位 CPU状态、振荡器及时钟 SCG1=0 CPU活动 SCG0=0 MCLK活动 AM CPUOFF=0 SMCLK活动 OSCOFF=0 ACLK活动 SCG1=0 CPU禁止 LPM0 SCG0=0 MCLK禁止 OSCOFF=0 SMCLK活动 CPUOFF=1 ACLK活动 SCG1=0 CPU禁止 MCLK禁止 LPM1 SCG0=1 如果DCOCLK位用作MCLK或SMCLK,则直流发生器禁止, 否则,仍然活动 OSCOFF=0 SMCLK活动 CPUOFF=1 ACLK活动 SCG1=1 CPU禁止 如果DCO未被用作MCLK或SMCLK,自动禁止 SCG0=0 MCLK禁止

MSP430 定时器A的使用

第四讲定时器A的使用 MSP430F413芯片中含有TimerA3模块,如图1-2所示。其常用的外引线有三条:TACLK、TA1和TA2。 TACLK:定时器_A输入时钟(48脚),与P1.6和ACLK输出共用同一引脚。 TA1:定时器_A的第一通道输入、输出引脚(51脚)。捕获方式:CCI1A输入;比较方式:OUT1输出。 TA2:定时器_A的第二通道输入、输出引脚(45脚)。捕获方式:CCI2A输入;比较方式:OUT2输出。 1.定时器A功能及结构 定时器A基本结构是一个十六位计数器,由时钟信号驱动工作,结构框图如图4-1所示。 图4-1 定时器A结构图 定时器A具有多种功能,其特性如下: (1)输入时钟可以有三种选择,可以是慢时钟(ACLK)、快时钟(SMCLK与单片机主时钟同频)和外部时钟。 (2)能产生的定时中断、定时脉冲和PWM(脉宽调制)信号,没有软件带来的误差。

(3)不仅能捕获外部事件发生的时间,还可选择触发脉冲沿(由上升沿或下降沿触发)。 定时器A功能模块主要包括: (1)计数器部分:输入的时钟源具有4种选择,所选定的时钟源又可以1、2、4或8分频作为计数频率,Timer_A可以通过选择4种工作模式灵活的完成定时/计数功能。 (2)捕获/比较器:用于捕获事件发生的时间或产生时间间隔,捕获比较功能的引入主要是为了提高I/O 端口处理事务的能力和速度。不同的MSP430单片机,Timer_A模块中所含有的捕获/比较器的数量不一样,每个捕获/比较器的结构完全相同,输入和输出都取决于各自所带控制寄存器的控制字,捕获/比较器相互之间完全独立工作。 (3)输出单元:具有可选的8种输出模式,用于产生用户需要的输出信号,支持PWM输出。 2.定时器工作模式 (1)停止模式:停止模式用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。例如,停止模式前,Timer_A工作于增/减计数模式并且处于下降计数方向,停止模式后,Timer_仍然工作于增/减计数模式,从暂停前的状态开始继续沿着下降方向开始计数。如果不需这样,则可通过TACTL中的CLR控制位来清除定时器的方向记忆特性。 (2)增计数模式:捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器,因为CCR0为16位寄存器,所以该模式适用于定时周期小于65536的连续计数情况。计数器TAR可以增计数到CCR0的值,当计数值与CCR0的值相等(或定时器值大于CCR0的值)时,定时器复位并从0开始重新计数。增计数模式的计数过程如图4-2所示。通过改变CCR0值,可重置计数周期。 图4-2增计数模式示意图 (3)连续计数模式:在需要65536个时钟周期的定时应用场合常用连续计数模式。定时器从当前值计数到单增到0FFFFH后,又从0开始重新计数如图4-3所示。 图4-3 连续计数模式 (4)增/减计数模式

微机简答题

1、简述8086CPU总线接口部件(BIU)的功能及其组成。 总线接口部件的功能是负责与存储器、I/O端口传送数据,即BIU管理在存储器中存取程序和数据的实际处理过程。它主要由以下几部分构成: 1.4个段地址寄存器。即CS DS ES SS。 2.16位的指令指针寄存器IP。 3.20位的地址加法器。 4.6字节的指令队列。 2. 8086CPU内部由哪两部分组成?各完成什么工作? 答:在8086内部由BIU和EU两大部分组成,BIU主要负责和总线打交道,用于CPU与存储器和I/O接口之间进行数据交换;EU主要是将从指令队列中取得的指令加以执行。 3. 什么是I/O独立编址和统一编址,各有什么特点? 答:独立编址是将I/O端口单独编排地址,独立于存储器地址。 统一编址是将I/O端口与存储器地址统一编排,共享一个地址空间。 端口独立编址方式,处理器除要具有存储器访问的指令和引脚外,还需要设计I/O访问的I/O指令和I/O引脚,其优点是:不占用存储器空间;I/O指令使程序中I/O操作一目了然;较小的I/O地址空间使地址译码简单。但I/O指令功能简单,寻址方式没有存储器指令丰富。 统一编址方式,处理器不再区分I/O口访问和存储器访问。其优点是:处理器不用设计I/O指令和引脚,丰富的存储器访问方法同样能够运用于I/O访问。缺点是:I/O端口会占用存储器的部分地址空间,通过指令不易辨认I/O操作。4.简述主机与外设进行数据交换的几种常用方式。 答: ①无条件传送方式,常用于简单设备,处理器认为它们总是处于就绪状态,随时进行数据传送。 ②程序查询方式:处理器首先查询外设工作状态,在外设就绪时进行数据传送。 ③中断方式:外设在准备就绪的条件下通过请求引脚信号,主动向处理器提出交换数据的请求。处理器无其他更紧迫任务,则执行中断服务程序完成一次数据传送。 ④ DMA传送: DMA控制器可接管总线,作为总线的主控设备,通过系统总线来

8259选择题

1、8086/8088CPU的可屏蔽中断请求信号INTR为(A)有效 A、高电平 B、低电平 C、上升沿 D、下降沿 2、8086/8088CPU的非屏蔽中断请求信号NMI为(C)有效 A、高电平 B、低电平 C、上升沿 D、下降沿 3、8086/8088CPU响应可屏蔽中断的条件是(D) A、IF=0 TF=0 B、IF=1 TF=1 C、IF=0 TF无关 D、IF=1 TF无关 4、响应INTR请求不是必要条件的为(B) A、IF=1 B、IF=0 C、无DMA请求 D、无NMI请求 5、IBM PC/XT机开机后,中断向量表存放在(D) A、ROM地址高端 B、ROM地址低端 C、RAM地址高端 D、RAM地址低端 6、8086/8088的中断向量表(B) A、用于存放中断类型码 B、用于存放中断服务程序入口地址 C、是中断服务程序的入口 D、是断点 7、可屏蔽中断类型号为32H,则它的中断向量应存放在以(C)开始的4字节单元中 A、00032H B、00128H C、000C8H D、00320H 8、8253/8254为可编程定时/计数器,其占有(B)个口地址 A、1 B、2 C、3 D、4 9、8086/8088CPU中断系统的中断优先级的顺序为(D) A、可屏蔽中断,非屏蔽中断,内部中断 B、非屏蔽中断,可屏蔽中断,内部中断 C、内部中断,可屏蔽中断,非屏蔽中断 D、内部中断,非屏蔽中断,可屏蔽中断 10、CPU可访问8259A的端口地址数为(B) A、1个 B、2个 C、4个 D、8个 11、外设46个中断源,至少需用(B)片8259A管理 A、6片 B、7片 C、8片 D、46片 12、若8259A工作在电平触发,单片使用,写ICW4,则初始化命令字ICW1的值为(B) A、11H B、1BH C、13H D、1DH 13、8259A的中断屏蔽字OCW1在程序运行中(C)设置 A、在设置ICW后 B、只允许一次 C、可允许多次 D、仅屏蔽某中断源时 14、若8259A的初始化命令字ICW2的值为2AH,说明8259A8个中断源IR0~IR7所定义中断类型号为(B) A、2AH~32H B、28H~2FH C、22H~2AH D、A8H~AFH 15、8259A工作在8086/8088模式时,初始化命令字ICW2用来设置(D) A、中断向量的高8位 B、中断类型码的低8位 C、中断向量的高5位 D、中断类型码的高5位 16、某8259A系统中,需对IR7、IR3进行屏蔽,则应将操作命令字OCW1置为(D) A、73H B、37H C、88H D、77H 17、8259A的中断屏蔽寄存器为(B) A、IRR B、IMR C、ISR D、PR 18、8259A的中断服务寄存器为(C) A、IRR B、IMR C、ISR D、PR 19、8259A的中断请求寄存器为(A) A、IRR B、IMR C、ISR D、PR

430中断总结

MSP430的中断分为3种: 1.系统复位、 2.非屏蔽中断、 3.可屏蔽中断。 系统复位指向中断向量表(表3-11)的最高地址0xFFFE。 非屏蔽中断和可屏蔽中断根据能否被SR寄存器中的全局中断使能位GIE禁用来区分,非屏蔽中断不受GIE的控制,具备独立的中断使能; 可屏蔽中断除了受本身的中断使能控制,还接受GIE控制。 1. 在MSP430中 @非屏蔽中断主要有3个,分别是来自MSP430 外部管脚NMI的触发 FLASH非法访问 振荡器错误 非屏蔽中断都指向中断向量表中的0xFFFC地址。 2. MSP430具备大量的@可屏蔽中断,定时器、ADC、DMA、UART、WDT、I/O、比较器等都具备中断功能。不同的可屏蔽中断优先级可根据中断向量表决定。可屏蔽中断的中断向量表从0xFFFA地址开始向低地址扩展,地址越高的中断向量表所对应的中断优先级越高。 3. 每个中断向量在中断向量表里面占据一个2Byte空间的表项,这个2Byte的空间用来存储对应中断服务函数的首地址,CPU根据中断向量表里的地址跳转到中断服务函数。仔细观察中断向量表可以看到,一些中断向量对应于多个中断源。例如,地址为0xFFF8的Timer1_A3中断,当TA1CCR1中断标志位CCIFG置位或者TAIFG置位都会跳转到该向量。又如具备中断功能的P1和P2端口,端口中的任意一个管脚发生中断都会跳转到对应的中断向量。这种中断就叫做多源中断。对于多源中断,中断源中任意一个中断发生都会跳转到公用的中断向量表项,这个时候需要通过中断标志位区别具体的中断源。有了这些中断向量表的基础知识,下面介绍中断的处理过程,包括中断的接收和退出过程。 4. 微控制器使用过程中一些突发的程序跑飞问题,很多时候都是由于没有正确地处理中断造成的。 5. 中断发生的先决条件是对应中断使能位使能, @非屏蔽中断要求其独立的中断使能开启; @可屏蔽中断要求全局中断使能和自身中断使能同时开启。

MSP430教程10:MSP430单片机WDT看门狗定时器解析

看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。程序中设置看门狗清零指令 WDTCTL=WDTPW+WDTCNTCL,当程序跑飞不能及时清零看门狗,导致看门狗溢出复位,这样程序可以恢复正常运行状态。 一、WDT寄存器包括WDTCNT和WDTCTL,两个寄存器在上电和系统复位内容全部清零 1.记数单元WDTCNT:WDTCNT是16位增记数器,由MSP430选定的时钟电路产生的固定周期脉冲信号对记数器进行加法记数。WDTCNT不能直接软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。 2.控制寄存器WDTCTL:WDTCTL由两部分组成,高8位用作口令,即5AH(头文件中定义为WDTPW),低8位是对WDT操作的控制命令。写入WDT控制命令时先写入口令WD TPW,口令写错将导致系统复位。读WDTCTL时不需口令,低字节WDTCTL的值,高字节读出始终为69H。 bit 15-8 7 6 5 4 3 2 1 0 口令HOLD NMIES NMI TMSE L CNTCL SSEL IS1 IS0 IS1 SI0 选择看门狗定时器的定时输出,T为WDTCNT的输入时钟源周期。 TMSEL W DT工作模式选择 0 0 T*2的15次 方 0 看门狗模式 0 1 T*2的13次

方 1 定时器模式 1 0 T*2的9次 方 NMI 选择RST/NMI 引脚功能 1 1 T*2的6次 方 RST/NMI为复位端 SSEL 选择WDTCNT的时钟 源 1 RST/NMI为非屏蔽中断输入 0 SMCL K 1 ACLK NMIES 选择NMI中断的边沿触发方 式 HOLD 停止看门狗定时器工作 0 上升沿触发NMI中 断 0 看门狗功能激活 1 下降沿触发NMI中 断 1 时钟禁止输入,记数停止

利用中断屏蔽技术修改中断优先级

利用中断屏蔽技术修改中断优先级 摘要:在现代计算机系统中,中断系统不只是I/O系统,也是整个计算机系统必不可少的重要组成部分。中断响应的次序是固定的,中断处理的次序可以与之保持一致,也可通过修改屏蔽字来灵活地改变,文章针对三种典型的问题,提出解决思路和方法,阐述利用中断屏蔽技术修改中断优先级。 关键词:中断级屏蔽位;中断响应;中断处理 当CPU与外设交换信息时,如果采用查询的方式,则CPU要浪费很多时间去等待外设,为了解决快速CPU与慢速外设之间的矛盾,一方面提高外设的工作速度,另一方面发展了中断的概念。中断概念的出现,是计算机系统结构设计中的一个重大变革。中断是指CPU终止正在执行的程序,转去处理随机提出的请求,待处理完后,再回到原先被打断的程序继续恢复执行的过程。响应和处理各种中断的软、硬件总体称为中断系统。中断系统是整个计算机系统必不可少的重要组成部分。它对程序的监视和跟踪、人机联系、故障处理、多道程序和分时处理、实时处理、目态程序和操作系统的联系、I/O处理以及多处理机系统中各机的联系等都起着重要的作用。中断响应的次序是固定的,中断处理的次序可以与之保持一致,也可通过修改屏蔽字来灵活地改变,文章针对三种典型的问题,提出解决思路和方法,阐述利用中断屏蔽技术修改中断优先级。 1 确定中断屏蔽字 引起中断的各种事件称为中断源。在中、大型计算机系统中,中断源个数多达几十甚至几百个,为每个中断源单独形成入口,显然很困难,也没有这种必要,为简化中断处理程序入口地址形成硬件,将中断源归成几类,每一类中各中断源性质比较接近,对每一类给定一个中断处理程序入口,再由软件转入对相应的中断源进行处理。中断的特点是具有随机性,常常会同时发生多个中断请求,为解决这个问题,需要根据中断的性质、紧迫性、重要性以及软件处理的方便性把中断分成不同的级别,按照优先次序进行响应和处理。在现代计算机系统中,中断优先级一般是由硬件的排队器实现的,因此,当有多个中断源同时请求中断服务时,中断响应次序的高低是固定死的。处理机在执行某一个级别的中断源的中断服务程序时,较之同级的或低级的中断请求不能中断其处理,只有较之高级的中断请求可以中断其处理。为了能由操作系统灵活改变实际的中断处理次序,设置了中断级屏蔽位寄存器,以决定某级中断请求能否进入中断响应排队器,只有能进入排队器的中断请求,才有机会得到响应,从而就可改变中断实际处理完的次序,PSW中包含有中断级屏蔽位字段。因此,引出了第一种典型的问题:给定中断响应次序和希望的中断处理次序,怎么确定各级中断的屏蔽字,方法是:某级中断的屏蔽字中,自身及处理次序较之低的各级中断需要屏蔽。需要特别注意的是,有关中断级屏蔽位“0”、“1”是屏蔽还是“开放”中断,不同机器有着不同的定义,不要将“0”、“1”的含义搞反了。现举例说明,假设机器有5级中断,中断响应优先次序为1→2→3→4→5,令”0”对应于屏蔽,“1”对应于开放,若希望中断处理次序也为1→2→3→4→5,则只需将各级中断处理程序的中断级屏蔽位设置成如表1所示的即可。

MSP430 定时器A课件

上次Cloud和大家一起学习完了MSP430的时钟配置,这一篇,我们来学习MSP430 单片机的TimerA(定时/计数器A)。MSP430单片机的TimerA具有非常强大的功能,相关的寄存器配置也相当复杂,Cloud花了好久才逐步理清学习思路,尤其是学习数据手册的相关描述。在这里Cloud提醒大家,虽然现在网上有中文汉化版的数据手册,但Cloud阅读英文原版后对比发现还是英文原版对器件特性描述得更加清楚,而中文汉化版的省略掉了一些内容。好吧,扯远了。下面进入正题: 一、MSP430的Timer结构 首先让我们通过官方描述来初步了解一下MSP430单片机的Timer资源: 定时器A是一个16位的定时/计数器。定时器A支持多重捕获/比较,PWM输出和内部定时。定时器还有扩展中断功能,中断可以由定时器溢出产生或由捕获/比较寄存器产生。 定时器A的特性包括: ·四种运行模式的异步16位定时/计数器 ·可选择配置的时钟源 ·可配置的PWM输出 ·异步输入和输出锁存 ·对所有TA中断快速响应的中断向量寄存器 MSP430G2553单片机共有两个TimerA,分别是Timer0A和Timer1A。 OK,零零总总说了这么多,大家一定带有很多的疑惑,比如什么叫“捕获/比较”等,这里Cloud先不作解释,会用才是王道。我们呢先找来定时器A的结构图给大家初步了解一下定时器A的结构: 我们先从上面部分开始解释。中间红色的是一个16位的TimerA,TAR,这其实就是MSP430单片机内部的一个定时计数器了,类似于51中的TH0和TL0的合体。既然可以拿来计时,那么肯定可以有时钟信号输入,让我们最左边黄色的框,是一个选择器,由上面的TASSEL来选择TACLK、ACLK、SMCLK、INCLK的其中一种时钟。上次我们已经学习过ACLK和SMCLK,也知道如何配置这两个时钟了(这也是为什么先学习时钟的原因),另外两个是外部时钟源,其中TACLK可以由P1.0输入。跟在时钟源后面的是一个分频器,由ID来控制,将时钟源的时钟信号1、2、4、8分频后作为定时/计数器的时钟源。TAR右边的蓝色框代表TimerA在计数模式下由MC来控制TAR的四种计数方式。同时我们还注意到TAR的左下方有一个TACLAR连接至TAR的Clear端,显然是清零作用的,数据手册还告诉我们置位TACLAR,不但会清零TAR的计数值还会清除时钟分频信息。TACLAR 一旦置1,会自动归零,所以可以当做是TimerA的复位按钮。

设计带屏蔽中断优先级排队电路

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1. 设计题目 设计带中断屏蔽位的中断优先权排队带电路。 2.设计目的 1.对已学过的组成原理知识知识进行综合运用。 2.能按要求设计出具有一定功能的逻辑电路。 3.设计任务 1、已知在多级中断中,每一级均有一根中断请求线送往CUP的中断优 先级排队电路,对每一级赋予了不同的优先级。这是一种独立请求的逻辑结构。 2、而且中断请求信号保存在中断请求寄存器当中,经过“中断屏蔽” 寄存器控制后,可能有多个请求信号进入排队电路。而排队电路就可以根据事先设计好的逻辑电路判断那个设备的优先级最高,从而响应该设备的中断请求。 2、利用Quartus II完成电路图的绘制,选择合适的逻辑电路和芯片。 3、对所设计的电路分析其性能优劣,并与所熟悉的其他电路做比较, 总结各自优缺点,利用软件进行仿真。 4.设计分析 因为在该电路要用到充当中断请求的寄存器,充当中断屏蔽的寄存器以及响应符合获得中断请求的设备的译码器。所以首先要选择以上芯片。 通过以前学习数字逻辑的知识可知道,可以使用两个74163二进制寄存器充当中断请求寄存器和中断请求屏蔽器,而是用74148-3-8译码器做为该 电路中的译码器。 5. 设计过程 5.1 设计原理 图1- 设计原理图 译码器 中断请求寄存器中断屏蔽寄存器

┊┊┊┊┊┊┊┊┊┊┊┊┊ 装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 图2- 74163二进制寄存器逻辑符号图 表1- 74163二进制寄存器功能表 由上面图1和表1可知,要使中断寄存器与中断屏蔽器同步置数,CR=1,LD=0,ET和EP悬空,同时给一个CP一个高电位。 D0 D1 D2 D3 ET 74163 EP LD CP CR Q0 Q1 Q2 Q3 模16加法计数 1 1 1 1 ↑ 保持,CO=0 1 1 1 × 保持 1 1 1 × 同步置数 × × 1 ↑ 同步清0 × × × ↑ 功能 EP ET LD /CR CP

中断习题和参考题参考答案(课后)

中断习题和参考题 1、什么是中断向量?中断向量表是什么?非屏蔽中断的类型为多少?8086 中断系统优先级顺序怎样? ①所谓中断响量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断响量 ②中断向量按照中断类型的顺序在内存0段0单元开始有规则排列的一张表 ③类型02H ④内部中断>非屏蔽中断>可屏蔽中断>单步中断 2、8259的全嵌套和特殊全嵌套方式有何异同?优先级自动循环是什么?什么特殊屏蔽方式?如何设置成该方式? ①全嵌套方式是8259A最常用的工作方式,只有在单片情况下,在全嵌套方式中,中断请求按优先级0-7进行处理,0级中断的优先级最高。特殊全嵌套方式和全嵌套方式基本相同,只有一点不同,就是在特殊全嵌套方式下,还可满足同级中断打断同级中断,从而实现一种对同级中断请求的特殊嵌套,而在全嵌套方式中,只有当更高级的中断到时,才会进行嵌套。 ②优先级自动循环方式一般在系统中多个中断源优先级相等的场合。在这种方式下,优先级队列是在变化的,一个设备受到中断服务以后,它的优先级自动降为最低。 ③仅仅禁止同级中断嵌套,开放高级中断和低级中断④两步:1步设置OCW 3 , 设置成特殊屏蔽方式,2步设置OCW 1 屏蔽某级中断。 3、8259有几种中断结束方式?应用场合如何? 1.中断自动结束方式,不需要设置中断结束命令,在单片系统中且不会出现中断嵌套时用。 2.一般中断结束方式,在全嵌套方式下用。 3.特殊中断结束方式,在任何场合均可使用。 4、8259的ICW 2 与中断类型码有什么关系?说明类型码为30H,36H,38H的异同。 ①高五位相同,低三位不同(中断类型码的低三位和引脚的编码有关,ICW2的低三位无意义) ②30H,36H高五位相同,ICW 2=30H, 30H为8259A IR 对应的中断类型码, 36H为8259A IR 对应的中断类型码。 38H ICW 2=38H 38H为8259A IR 对应的中断类型码

MSP430简介(超详细·)

msp430简介 MSP430是德州公司新开发的一类具有16位总线的带FLASH 的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M 的时钟.由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化, MSP430系列将会得到越来越多人的喜爱. 一、IO口 (一)、P口端口寄存器: 1、PxDIR 输入/输出方向寄存器 (0:输入模式 1:输出模式) 2、PxIN 输入寄存器 输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容知道I/O口的输入信号。 3、PxOUT 输出寄存器 寄存器内的内容不会受引脚方向改变的影响。 4、PxIFG 中断标志寄存器 (0:没有中断请求 1:有中断请求) 该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求;这8个 中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位;外部 中断事件的时间必须>=1.5倍的MCLK的时间,以保证中断请求被接受; 5、PxIES 中断触发沿选择寄存器 (0:上升沿中断 1:下降沿中断) 6、PxSEL 功能选择寄存器 (0:选择引脚为I/O端口 1:选择引脚为外围模块功能) 7、PxREN 上拉/下拉电阻使能寄存器 (0:禁止 1:使能) (二)、常用特殊P口: 1、P1和P2口可作为外部中断口。 2、P6可作为A/D输入口。 3、P1.2和P2.0可作为PWM波输出口。 4、P1.1:MCLK P1.5:ACLK 5、串口通信时:P2.4、 P4.0为发送TXD, P2.5 、P4.1为接收RXD。 (三)、基本操作: 1、所有P口都可作为通用IO口使用 2、所有P口都可进行字节操作和位操作 按字节操作:

中断处理题

一、单选题:将正确答案的序号填入上。 1.1 在PC/XT微机中,NMI中断的中断向量在中断向量表中的位置是。(C) A. 由程序指定的 B. 由DOS自动分配的 C. 固定在0008H开始的4个字节中 D. 固定在中断向量表的表首 1.2 如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。若要调整中断事件的响应顺序,可以利用。(B) A. 中断响应 B. 中断屏蔽 C. 中断向量 D. 中断嵌套 1.3 8086对下列中断优先级响应最高的请求是。(C) A. NMI B. INTR C. 内部软件中断 D. 单步中断 1.4 执行INT n指令或响应中断时,CPU入栈操作保护的次序是。(A) A. FLAGS ,CS,IP B. CS,IP, FLAGS C. FLAGS ,IP,CS D. IP,CS, FLAGS 1.5中断向量地址是。(C) A. 子程序入口 B. 中断服务程序入口地址 C. 中断服务程序入口地址的地址 D. 传送数据的起始地址 1.6 8086的中断源来自两个方面,即。(A) A. 外部中断和内部中断 B. 可屏蔽和非屏蔽中断 C. CPU产生的中断和软件中断 D. 单步和溢出错 1.7下面中断中,只有需要中断类型码。(C) A. INTO B. INT n C. INTR D. NMI 1.8 当多片8259A级联使用时,对于从8259A,级联信号CAS2~CAS0是。(A) A. 输入信号 B. 输出信号 C. 双向信号 D. 中断信号 1.9 当用8259A中断控制器时,其中断服务程序执行EOI命令的作用是。(B) A. 屏蔽正在被服务的中断,使其不再发出中断请求 B. 清除该中断服务寄存器中的对应位,以允许同级或低级的中断能被响应 C. 清除该中断请求寄存器中的对应位,以免重复响应该中断。 D. 判定优先级 1.10 下列8259A的命令字中,必须在正常操作开始前写入的是。(A) A. 初始化命令字ICW B. 操作命令字OCW C. 初始化命令字ICW1 D. 初始化命令字ICW3 1.11 有三片8259级联,从片分别接入主片的IR2和IR5,则主8259的ICW3中的内容

MSP430定时器A说明

MSP430的定时器A有比较\捕获两种工作模式 比较模式: 这是定时器的默认模式,当在比较模式下的时候,与捕获模式相关的硬件停止工作,如果这个时候开启定时器中断,然后设置定时器终值(将终值写入TACCRx),开启定时器,当TAR的值增到TACCRx的时候,中断标志位CCIFGx置1,同时产生中断。若中断允许未开启则只将中断标志位CCIFGx置1。 例子:比较模式就像51单片机一样,要能够软件设置定时间隔来产生中断处理一些事情,如键盘扫描,也可以结合信号输出产生时序脉冲发生器,PWM信号发生器。如:不断装载TACCRx,启动定时器,TAR和TACCRx比较产生中断,输出时序脉冲。 捕获模式: 利用外部信号的上升沿、下降沿或上升下降沿触发来测量外部或内部事件,也可以由软件停止。捕获源可以由CCISx选择CCIxA,CCIxB,GND,VCC。完成捕获后相应的捕获标志位CCIFGx置1。 捕获模式的应用: 利用捕获源来触发捕获TAR的值,并将每次捕获的值都保存到TACCRx中,可以随时读取TACCRx的值,TACCRx是个16位的寄存器,捕获模式用于事件的精确定位。如测量时间、频率、速度等。 利用MSP430单片机定时器A和捕获/比较功能模块结合使用,实现脉冲宽度的测量。 本例程用到了定时器A的CCI1A端口(例如MSP430F14X的P1.2引脚)作捕获外部输入的脉冲电平跳变,同时结合简单的软件算法就能实现脉冲宽度的测量。在实际应用中可根据例程中的start,end,overflow三个变量来计算脉冲宽度。此功能模块在实际产品应用中体现出有较高的应用价值。 具体例程 #include unsigned int start,end; unsigned char overflow; void main (void) { WDTCTL = WDTPW+WDTHOLD; //关闭看门狗定时器 P1DIR = BIT0+BIT4; //设置P1.0和P1.4方向为输出 P1SEL = BIT2; //设置P1.2端口为功能模块使用 TACTL = TASSEL0+TACLR+TAIE+MC1; //定时器A时钟信号选择ACLK,同时 //设置定时器A计数模式为连续增计模式

数字电源UCD3138程序中的快中断的屏蔽方法

Application Report ZHCA601 – March 2014 1 数字电源UCD3138程序中的快中断的屏蔽方法 Neil Li, Sundy Xu China Telecom Application Team 摘要 数字电源控制器UCD3138设计有多个中断向量并可以被映射为标准中断或快中断。UCD3138的程序在执行一些关键语句前,需要暂时屏蔽快中断以防止该关键语句的执行被打断。可以通过 write_reqmask ( ) 和disable_fast_interrupt ( ) 两种方法来屏蔽快中断,实际应用中,需要注意这两个方法适用在不同的程序位置中,包括背景环程序和标准中断子程序。本文详细分析了这两种方法适用在不同位置的原因,并通过演示实验说明,暂时屏蔽快中断不会造成快中断请求的丢失。 目录 1 引言 (2) 1.1 UCD3138 的软件架构 (2) 1.2 中断的初始化与使能 (2) 1.3 快中断在程序中的屏蔽 (3) 2 快中断的屏蔽方法及详细分析 (3) 2.1 标准中断内部屏蔽快中断 (3) 2.2 背景环中屏蔽快中断 (5) 2.3 两种屏蔽方式的分析 (7) 3 快中断在标准中断中的屏蔽演示 (9) 3.1 演示代码设计 (9) 3.2 实测结果 (10) 4 结论 (10) 5 参考文献 (10) 图 图 1:UCD3138 软件架构 (2) 图 2:快中断屏蔽效果展示1 (4) 图 3:快中断屏蔽效果展示2 (5) 图 4:快中断屏蔽效果展示3 (6) 图 5:快中断屏蔽效果展示4 (7) 图 6:快中断屏蔽效果展示5 (10)

MSP430单片机中断的定义及原理

MSP430单片机中断的定义及原理 430的中断是按照下图1的优先级顺序定义的,有三种中断:1.系统重置、2.不可屏蔽中断(NMI)、3.可屏蔽中断。 图1.中断优先级 部分具体的中断优先级由高到低为: PORT2_VECTOR (1 * 2u)/* 0xFFE2 Port 2 */ PORT1_VECTOR (4 * 2u)/* 0xFFE8 Port 1 */ TIMERA1_VECTOR (5 * 2u)/* 0xFFEA TImer A CC1-2,TA */ TIMERA0_VECTOR (6 * 2u)/* 0xFFEC TImer A CC0 */ ADC_VECTOR (7 * 2u)/* 0xFFEE ADC */ USART0TX_VECTOR (8 * 2u)/* 0xFFF0 USART 0 Transmit */ USART0RX_VECTOR (9 * 2u)/* 0xFFF2 USART 0 Receive */ WDT_VECTOR (10 * 2u)/* 0xFFF4 Watchdog TImer */ COMPARATORA_VECTOR (11 * 2u)/* 0xFFF6 Comparator A */ TIMERB1_VECTOR (12 * 2u)/* 0xFFF8 Timer B CC1-2,TB */ TIMERB0_VECTOR (13 * 2u)/* 0xFFFA Timer B CC0 */ NMI_VECTOR (14 * 2u)/* 0xFFFC Non-maska××e */ RESET_VECTOR (15 * 2u)/* 0xFFFE Reset [Highest Priority]*/ 其中可屏蔽中断分为系统NMI(SNMI)和用户NMI(UNMI),一般来说,不可屏蔽中断不受GIE标志位的影响。用户不可屏蔽中断的中断源为NMIIE、ACCIE和OFIE,当响应用户不可屏蔽中断后,其他不可屏蔽中断就自动被禁止,以防止同级别的中断发生产生中断嵌套。当同时有多个中断来的时候才有优先级的考虑(优先级顺序可查看向量表)。有中断响应以后自动关闭总中断,这个时候即使来更高优先级的中断都不会响应。要中断嵌套的话,就必须在中断中打开总中断。

微机原理复习题

一、单项选择题 1.在DMA方式下,将外设的数据传送到内存的路径为() A.外设→总线→CPU→内存 B.外设→总线→DMAC→内存 C.外设→数据总线→内存 D.外设→DMAC→内存 2.在中断方式下,外设数据输入到内存的路径是()。 A. 外设→数据总线→内存 B. 外设→数据总线→CPU→内存 C. 外设→CPU→DMAC→内存 D. 外设→I/O接口→CPU→内存 3. 一中断程序入口地址填写在向量表的0080H-0083H的存储单元中,则该中断对应的中断类型号() A.1FH B.20H C.21H D.22H 4.四片8259级联时可提供的中断请求总数为()。 A.29个 B.30个 C.31个 D.32个 5. 在串行异步数据传输时,如果格式规定为8位数据位、1位奇偶校验位、1位停止位则一 组异步数据总共有多少位() A. 8 B. 9 C. 10 D. 11 9. I/O接口电路中必不可少的逻辑部件是() A.数据缓冲器、端口地址译码器、中断控制逻辑 B.数据缓冲器、控制寄存器、状态寄存器 C.数据缓冲器、端口地址译码器、读/写控制逻辑 D.数据缓冲器、端口地址译码器、控制寄存器 1. 一片中断控制器8259A 能管理( ) 级硬件中断。 A.10 B.8 C.64 D.2 3. DMA在()接管总线的控制权。 A.申请阶段B响应阶段 C.数据传送阶段 D.结束阶段 5. DMA控制器8237A-5的独立寄存器是() A.工作方式寄存器、命令寄存器、基地址寄存器、当前地址寄存器 B.屏蔽寄存器、状态寄存器、基字节寄存器,当前字节寄存器 C.工作方式寄存器、命令寄存器、屏蔽寄存器、状态寄存器 D.基字节寄存器,当前字节寄存器、基地址寄存器、当前地址寄存器

什么是中断

第五章 1、什么是中断? 答:所谓中断,是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU中断正在运行的程序,而转到为内部/外部事件或为预先安排的事件服务的程序中去,服务完毕,再返回去执行波暂时中断的程序。 2、可屏蔽中断处理的一般过程是什么? 答:可屏蔽中断处理的一般过程为: ①外设径8259A提出中断请求,如果IF=1且无DMA请求,LOCK无效,则8259A的中断请求信号INTR才能送到CPU。 ②CPU发INTA信号响应,在第二个INTA周期中,外部中断控制器送中断类型号。 ③STACK OLDFLAG→ ④STACK OLDCS→ ⑤获取CS并赋值 ⑥①STACK LDTP→ ⑦给IP赋值 ⑧执行CS、IP处的外设中断服务程序 ⑨中断返回,执行IRET中断返回指令 ·OLDTP退线 ·OLDCS退线 ·OLDFLAG退线 ⑩继续执行当前程序中的下条指令 其中②~⑦步为中断响应及处理过程。 4、什么是中断嵌套? 答:中断嵌套是指当CPU正在处理某个中断源即正在执行中断服务程序时,会出现优先级更高的中断源申请中断,为了使更急的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理更高级别的

中断源,待执行完毕后再返回来执行波中断3的中断服务程序。但中断级别桢或更低的中断源不能中断级别高的中断服务,这就是中断嵌套,并且称这种中断嵌套方式为完全嵌套方式。 5、什么是中断向量,它是如何装入中断向量表的? 答:中断向量是中断服务程序的入口地址,它包括中断服务程序的段其址CS和偏移地址IP。 中断向量的装入分系统自动装入和用户自动装入两种。 其中系统配置和使用的中断所对应的中断向量由系统软件负责装入。若系统中未配置系统软件就要由用户自行装入。这时可用MOV指令来装入中断向量。6、什么是中断型号?它的作用是什么? 答:中断类型号是系统分配给每个中断源的代号。 系统中的外部中断与内部中断,硬中断与软中断一律统一编号,共256个号,中断类型号的作用是在采用向量中断方式的中断交流中,CPU只有通过它才可以找到中断服务程序的入口地址,实现程序的转移。 7、不可屏蔽中断与可屏蔽中断各有何特点?其用途如何? 答:不可屏蔽中断NMI的特点是不能被CPU用指令禁止,这种中断一旦出现CPU就会立即响应。它主要用于紧急情况的故障处理,并由系统使用,一般用户不能使用。 可屏蔽中断INTR的特点是它可以通过CPU用CLI来禁止,也可用指令STI 来允许,只有在INTR被允许时,CPU才发中断响应信号INTA,这时中断源一定要向CPU提供中断类型号,以使找到中断服务入口程序。 9、所谓DOS系统功能调用是指哪一个软中断?指出一些常用设备管理与文件管 理DOS功能调用? 答:DOS系统功能调用是指INT21H 一些常用的设备管理与文件管理DOS功调如: INT 28H等待状态处理程序

微机原理与接口技术(北邮阶段作业4)

一、单项选择题(共20道小题,共100.0分) 1.8086的中断优先级由低到高的顺序为______ A.单步中断、可屏蔽中断、不可屏蔽中断、内部中断 B.可屏蔽中断、不可屏蔽中断、单步中断、内部中断 C.内步中断、单部中断、不可屏蔽中断、可屏蔽中断 D.内部中断、单步中断、可屏蔽中断、不可屏蔽中断 知识点: 单元5、6、7习题 学生答 案: [A;] 得分: [5] 试题分 值: 5.0 提示: 2. 3.占有CPU时间最小的数据传送方式是______ A.同步传送 B.查询传送 C.中断传送 D.DMA传送 知识点: 单元5、6、7习题 学生答 案: [D;] 得分: [5] 试题分 值: 5.0 提示: 4. 5.微型计算机输入/输出的控制方式有4种,其中以______控制的输入/输出 是一种最主要的控制方式,因为其实时性强,效率高 A.无条件传送 B.程序查询 C.中断 D.DMA 知识点: 单元5、6、7习题 学生答 案: [C;] 得分: [5] 试题分 5.0

提示: 6. 7.8086CPU寻址I/O端口最多使用______条地址线。 A.8 B.10 C.16 D.20 知识点: 单元5、6、7习题 学生答 案: [C;] 得分: [5] 试题分 值: 5.0 提示: 8. 9.若8086处理器改为统一编址方式,可使用______条地址线来寻址端口 A.8 B.10 C.16 D.20 知识点: 单元5、6、7习题 学生答 案: [D;] 得分: [5] 试题分 值: 5.0 提示: 10. 11.8086/8088的中断是向量中断,其中断服务程序的入口地址是由______ 提供 A.外设中断源 B.CPU的中断逻辑电路 C.从中断控制器读中断类型号左移两位 D.由中断型号指向的中断向量表中读出 知识点: 单元5、6、7习题 学生答 案: [D;]

相关文档