




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、13.1 通用IO端口3.1.1 MSP430端口概述 通用通用I/O端口是端口是MSP430单片机最重要也是最常用的外设模块。通用单片机最重要也是最常用的外设模块。通用I/O端口不仅可以端口不仅可以直接用于输入直接用于输入/输出,而且可以为输出,而且可以为MSP430单片机应用系统提供必要的逻辑控制信号。单片机应用系统提供必要的逻辑控制信号。 MSP430F5xx/6xx系列单片机最多可以提供系列单片机最多可以提供12个通用个通用I/O端口(端口(P1P11和和PJ),大部分),大部分端口有端口有8个引脚,少数端口引脚数少于个引脚,少数端口引脚数少于8个。每个个。每个I/O引脚都可以被独立地
2、设置为输入或者引脚都可以被独立地设置为输入或者输出引脚,并且每个输出引脚,并且每个I/O引脚都可以被独立地读取或者写入,所有的端口寄存器都可以被引脚都可以被独立地读取或者写入,所有的端口寄存器都可以被独立地置位或者清零。独立地置位或者清零。 P1P4引脚具有中断能力。从引脚具有中断能力。从P1和和P2端口的各个端口的各个I/O引脚引入的中断可以独立地被使引脚引入的中断可以独立地被使能,并且被设置为上升沿或者下降沿触发中断。所有能,并且被设置为上升沿或者下降沿触发中断。所有P1端口的端口的I/O引脚的中断都来源于同引脚的中断都来源于同一个中断向量一个中断向量P1IV。同理,。同理,P2端口的中断
3、源都来源于另一个中断向量端口的中断源都来源于另一个中断向量P2IV。 可以对每个独立的端口进行字节访问,或者将两个结合起来进行字访问。端口组合可以对每个独立的端口进行字节访问,或者将两个结合起来进行字访问。端口组合P1和和P2、P3和和P4、P5和和P6、P7和和P8可结合起来称为可结合起来称为PA、PB、PC和和PD端口。当进行字操作端口。当进行字操作写入写入PA口时,所有的口时,所有的16位数据都被写入这个端口;利用字节操作写入位数据都被写入这个端口;利用字节操作写入PA端口低字节时,端口低字节时,高字节保持不变;利用字节指令写入高字节保持不变;利用字节指令写入PA端口的高字节时,低字节保
4、持不变。其他端口也端口的高字节时,低字节保持不变。其他端口也是一样。当写入的数据长度小于端口的最大长度时,那些没有用到的位保持不变。应用是一样。当写入的数据长度小于端口的最大长度时,那些没有用到的位保持不变。应用这个规则来访问所有端口,除了中断向量寄存器这个规则来访问所有端口,除了中断向量寄存器P1IV和和P2IV,它们只能进行字节操作。,它们只能进行字节操作。23.1 通用IO端口3.1.1 MSP430端口概述GPIO基本都是用于芯片与片外器件或设备的交互。基本都是用于芯片与片外器件或设备的交互。检测数字输入,如键盘或开关信号;检测数字输入,如键盘或开关信号;驱动驱动LED,蜂鸣器或,蜂鸣
5、器或LCD等其他指示器;等其他指示器;控制片外器件,较高级的使用可以用它们(通过控制片外器件,较高级的使用可以用它们(通过程序)模拟很多器件的时序达到控制相应器件的程序)模拟很多器件的时序达到控制相应器件的目的,比如模拟目的,比如模拟SPI和模拟总线等。和模拟总线等。GPIO (General Purpose I/O),通用输入输出端口,通用输入输出端口。MSP430的GPIO 特点(1/4)2022-5-253 有端口有端口P1、P2、P3、P4、P5、P6、P7、P8、P9 、P10 、P11 、S和和COM。产品因型号不同可包含上述所。产品因型号不同可包含上述所有或部分端口。如下表所示:
6、有或部分端口。如下表所示:MSP430的GPIO 特点(2/4)2022-5-254n具有中断能力的端口:具有中断能力的端口:P1P4。 端口端口P1P4具有输入输出、中断和外部模块功能。这些具有输入输出、中断和外部模块功能。这些 功能可以通过它们各自功能可以通过它们各自9个控制寄存器的设置来实现。个控制寄存器的设置来实现。 所有所有P1端口的端口的I/O引脚的中断都来源于同一个中断向量引脚的中断都来源于同一个中断向量P1IV。同理,。同理,P2端口的中断源都来源于另一个中断向量端口的中断源都来源于另一个中断向量P2IV。n不具有中断能力的端口:其他端口不具有中断能力的端口:其他端口 P5和其
7、他端口没有中断能力,其余功能同和其他端口没有中断能力,其余功能同P1P4, 可以实现输入输出功能和外围模块功能。可以实现输入输出功能和外围模块功能。n端口端口COM和和S 这些端口实现与液晶片的直接接口。这些端口实现与液晶片的直接接口。COM端口为液晶片端口为液晶片的公共端,的公共端,S口为液晶片的段码端。口为液晶片的段码端。MSP430的GPIO 特点(3/4)功能丰富功能丰富2022-5-255MSP430各端口和功能,如下表所示:各端口和功能,如下表所示:端口引脚还可以独立的配置成特殊功能,例如端口引脚还可以独立的配置成特殊功能,例如:USART 通用串行同步通用串行同步/异步通信模块;
8、异步通信模块;模拟信号比较器;模拟信号比较器;模拟模拟数字转换器;数字转换器;其他功能其他功能 (请参见具体芯片的数据手册请参见具体芯片的数据手册)。MSP430的GPIO 特点(4/4)寄存器丰富寄存器丰富2022-5-256 MSP430各种端口有大量的控制寄存器供用户操作。各种端口有大量的控制寄存器供用户操作。最大限度提供了输入最大限度提供了输入/输出的灵活性。输出的灵活性。每个每个I/O口都可以独立编程。口都可以独立编程。输入或输出可任意组合。输入或输出可任意组合。P1和和P2所有所有I/O口都具有边沿可选的输入中断功能。口都具有边沿可选的输入中断功能。可以按字节输入输出,也可按位进行
9、操作。可以按字节输入输出,也可按位进行操作。可设置可设置I/O口的上拉或下拉功能。口的上拉或下拉功能。可配置可配置I/O驱动能力(高驱动强度或低驱动强度)。驱动能力(高驱动强度或低驱动强度)。GPIO 寄存器(1/9)2022-5-257nPxDIR 输入输出方向寄存器输入输出方向寄存器相互独立的相互独立的8位分别定义了位分别定义了8个引脚的输入个引脚的输入/输出方向。输出方向。使用输入和输出功能时,应该先定义端口的方向。使用输入和输出功能时,应该先定义端口的方向。PxDIR 配置:配置: Bit = 1: 将端口引脚设置为输出模式;将端口引脚设置为输出模式; Bit = 0: 将端口引脚设置
10、为输入模式。将端口引脚设置为输入模式。例,设置例,设置P1端口的端口的P1.0引脚为输出方向,其余引脚引脚为输出方向,其余引脚(P1.1P1.7)设置为输入方向。)设置为输入方向。 P1DIR = 0 x01; / 设置设置P1端口端口P1.0引脚为输出方向引脚为输出方向GPIO 寄存器(2/9)2022-5-258nPxIN 输入寄存器输入寄存器该寄存器是只读寄存器,即用户不能对它写入。该寄存器是只读寄存器,即用户不能对它写入。这个寄存器是只读的,其中的每一位都反映了其对应这个寄存器是只读的,其中的每一位都反映了其对应的的I/O引脚的输入信号引脚的输入信号(引脚配置为通用引脚配置为通用I/O
11、)。PxIN 配置配置:Bit = 1: 输入为高电平输入为高电平;Bit = 0: 输入为低电平输入为低电平;GPIO 寄存器(3/9)2022-5-259nPxOUT 输出寄存器输出寄存器输出寄存器是可读可写的。这个寄存器的每个位都反映输出寄存器是可读可写的。这个寄存器的每个位都反映了写入相应输出引脚的值。了写入相应输出引脚的值。将需要的值写入该寄存器,控制输出引脚的电平状态。将需要的值写入该寄存器,控制输出引脚的电平状态。PxOUT 配置配置:Bit = 1: 输出为高电平输出为高电平;Bit = 0: 输出为低电平输出为低电平;PxREN寄存器中的每一位可使能或禁用相应寄存器中的每一位
12、可使能或禁用相应I/O引脚的引脚的上拉上拉/下拉电阻。下拉电阻。PxREN 配置配置:Bit = 1: 使能上拉使能上拉/下拉电阻下拉电阻;Bit = 0: 禁用上拉禁用上拉/下拉电阻。下拉电阻。当使能引脚上拉或下拉功能时,通过当使能引脚上拉或下拉功能时,通过 设置设置PxOUT相应位来选择。相应位来选择。GPIO 寄存器(4/9)2022-5-2510nPxREN 上拉或下拉电阻使能寄存器上拉或下拉电阻使能寄存器nBit = 1: 引脚选择上拉引脚选择上拉; 上拉电阻简单来说就是把电平拉高,上拉电阻简单来说就是把电平拉高, 通常用通常用4.710K的电阻接到的电阻接到Vcc电源电源。VCC引
13、脚引脚 Px.xRR引脚上拉引脚上拉PxREN寄存器中的每一位可使能或禁用相应寄存器中的每一位可使能或禁用相应I/O引脚的引脚的上拉上拉/下拉电阻。下拉电阻。PxREN 配置配置:Bit = 1: 使能上拉使能上拉/下拉电阻下拉电阻;Bit = 0: 禁用上拉禁用上拉/下拉电阻。下拉电阻。当使能引脚上拉或下拉功能时,通过当使能引脚上拉或下拉功能时,通过 设置设置PxOUT相应位来选择。相应位来选择。GPIO 寄存器(4/9)2022-5-2511nPxREN 上拉或下拉电阻使能寄存器上拉或下拉电阻使能寄存器nBit = 1: 引脚选择上拉引脚选择上拉 上拉电阻简单来说就是把电平拉高,上拉电阻简
14、单来说就是把电平拉高, 通常用通常用4.710K的电阻接到的电阻接到Vcc电源电源。nBit = 0: 引脚选择下拉引脚选择下拉; 下拉电阻则是把电平拉低,电阻接到下拉电阻则是把电平拉低,电阻接到GND地线上地线上。VCC引脚引脚 Px.xRR引脚下拉引脚下拉GPIO 寄存器(5/9)2022-5-2512nPxSEL 功能选择寄存器功能选择寄存器I/O端口还具有其他片内外设功能,为减少引脚,将这端口还具有其他片内外设功能,为减少引脚,将这些外设功能与些外设功能与I/O端口引脚复用来实现。端口引脚复用来实现。PxSEL来选择引脚的来选择引脚的I/O端口功能与外围模块功能。端口功能与外围模块功能
15、。PxSEL的配置的配置:Bit = 0: 选择引脚为选择引脚为I/O端口端口;Bit = 1: 选择引脚为外设功能。选择引脚为外设功能。GPIO 寄存器(6/9)2022-5-2513nPxDS 输出驱动强度寄存器输出驱动强度寄存器PxDS寄存器的每个位,设置引脚的输出强度为高驱动寄存器的每个位,设置引脚的输出强度为高驱动强度或低驱动强度。强度或低驱动强度。默认值为低驱动强度。默认值为低驱动强度。PxDS的配置的配置:Bit = 0: 低驱动强度;低驱动强度;Bit = 1: 高驱动强度。高驱动强度。GPIO 寄存器(7/9)2022-5-2514nPxIE 中断使能寄存器中断使能寄存器(仅
16、中断端口(仅中断端口P1和和P2)该寄存器的该寄存器的8位与端口的位与端口的8个引脚一一对应,其中某一位个引脚一一对应,其中某一位置位表示允许对应的引脚在电平变化(上升沿或下降沿)置位表示允许对应的引脚在电平变化(上升沿或下降沿)时产生中断,否则,表示禁止该位的中断。时产生中断,否则,表示禁止该位的中断。每个每个PxIE位使能的中断请求都与相应的位使能的中断请求都与相应的PxIFG中断标志中断标志相关联,可通过写相关联,可通过写PxOUT和和PxDIR来设置来设置PxIFG。PxIE的配置的配置:Bit = 1: 允许中断;允许中断;Bit = 0: 禁止中断。禁止中断。GPIO 寄存器(8/
17、9)2022-5-2515nPxIES 中断触发沿选择寄存器中断触发沿选择寄存器(仅中断端口(仅中断端口P1和和P2)如果允许如果允许Px口的某个引脚中断口的某个引脚中断(即即PxIE和和GIE已设置已设置),还需定义该引脚的中断触发方式。还需定义该引脚的中断触发方式。该寄存器可读可写,寄存器的该寄存器可读可写,寄存器的8位分别对应位分别对应Px口口8个引脚个引脚PxIES的配置的配置:Bit = 1: 下降沿使相应中断标志置位;下降沿使相应中断标志置位;Bit = 0: 上升沿使相应中断标志置位。上升沿使相应中断标志置位。GPIO 寄存器(9/9)2022-5-2516nPxIFG 中断标志
18、寄存器中断标志寄存器(仅中断端口(仅中断端口P1和和P2)该寄存器用来表示对应引脚是否产生了由该寄存器用来表示对应引脚是否产生了由PxIES设定设定的电平跳变。的电平跳变。如果在如果在GIE置位,引脚对应的中断使能寄存器置位,引脚对应的中断使能寄存器PxIE位位置位,则会向置位,则会向CPU请求中断处理。请求中断处理。中断标志中断标志PxIFG.0PxIFG.7共用一个中断向量,共用一个中断向量, PxIFG.0PxIFG.7不会自动复位。必须用软件来判定不会自动复位。必须用软件来判定 是对哪一个事件服务,并将相应的标志复位。是对哪一个事件服务,并将相应的标志复位。PxIFG的配置的配置:Bi
19、t = 0: 没有中断请求;没有中断请求;Bit = 1: 有中断请求。有中断请求。174.1 中断的基本概念1中断定义中断定义 中断是暂停中断是暂停CPU正在运行的程序,转去执行相应的中断服务程序,完毕后返回被中断正在运行的程序,转去执行相应的中断服务程序,完毕后返回被中断的程序继续运行的现象和技术。的程序继续运行的现象和技术。2 2中断源中断源 把引起中断的原因或者能够发出中断请求的信号源统称为中断源。中断首先需要由中把引起中断的原因或者能够发出中断请求的信号源统称为中断源。中断首先需要由中断源发出中断请求,并征得系统允许后才会发生。在转去执行中断服务程序前,程序需断源发出中断请求,并征得
20、系统允许后才会发生。在转去执行中断服务程序前,程序需保护中断现场;在执行完中断服务程序后,应恢复中断现场。保护中断现场;在执行完中断服务程序后,应恢复中断现场。中断源一般分成两类:外部硬件中断源和内部软件中断源。外部硬件中断源包括可屏蔽中断源一般分成两类:外部硬件中断源和内部软件中断源。外部硬件中断源包括可屏蔽中断和不可屏蔽中断。内部软件中断源产生于单片机内部,主要有以下中断和不可屏蔽中断。内部软件中断源产生于单片机内部,主要有以下3种:由种:由CPU运运行结果产生;执行中断指令行结果产生;执行中断指令INT3;使用;使用DEBUG中单步或断点设置引起。中单步或断点设置引起。3 3中断向量表中
21、断向量表4.1 中断的基本概念 中断向量是指中断服务程序的入口地址,每个中断向量被分配给中断向量是指中断服务程序的入口地址,每个中断向量被分配给4个连续的字节单元,个连续的字节单元,两个高字节单元存放入口的段地址两个高字节单元存放入口的段地址CS,两个低字节单元存放入口的偏移量,两个低字节单元存放入口的偏移量IP。为了让。为了让CPU方便地查找到对应的中断向量,就需要在内存中建立一张查询表,即中断向量表。方便地查找到对应的中断向量,就需要在内存中建立一张查询表,即中断向量表。4 4中断优先级中断优先级 凡事都有轻重缓急之分,不同的中断请求表示不同的中断事件,因此,凡事都有轻重缓急之分,不同的中
22、断请求表示不同的中断事件,因此,CPU对不同中对不同中断请求相应地也有轻重缓急之分。在单片机中,给每个中断源指定一个优先级,称为中断请求相应地也有轻重缓急之分。在单片机中,给每个中断源指定一个优先级,称为中断优先级。断优先级。5断点和中断现场断点和中断现场 断点是指断点是指CPU执行现行程序被中断时的下一条指令的地址,又称断点地址。执行现行程序被中断时的下一条指令的地址,又称断点地址。 中断现场是指中断现场是指CPU在转去执行中断服务程序前的运行状态,包括在转去执行中断服务程序前的运行状态,包括CPU状态寄存器和断状态寄存器和断点地址等。点地址等。4.2 MSP430单片机中断源MSP430单
23、片机的中断源结构如图单片机的中断源结构如图4.2.1所示。所示。MSP430单片机的中断优先级是固定的,单片机的中断优先级是固定的,由硬件确定,用户不能更改。当多个中断同时发生中断请求时,由硬件确定,用户不能更改。当多个中断同时发生中断请求时,CPU按照中断优先级的按照中断优先级的高低顺序依次响应。高低顺序依次响应。MSP430单片机包含单片机包含3类中断源:系统复位中断源、不可屏蔽中断源类中断源:系统复位中断源、不可屏蔽中断源和可屏蔽中断源。和可屏蔽中断源。图图4.2.1 MSP430单片机的中断源结构单片机的中断源结构MSP430单片机的中断向量表被安排在单片机的中断向量表被安排在0FFF
24、FH0FF80H空间,具有最大空间,具有最大64个中断源。个中断源。表表4.2.1为为MSP430单片机的中断向量表。单片机的中断向量表。4.2 MSP430单片机中断源中断源中断源中断标志位中断标志位中断类型中断类型中断向量地址中断向量地址优先级优先级系统复位系统复位WDTIFG, KEYV (SYSRSTIV)系统复位中断系统复位中断0FFFEh63(最高最高)系统不可屏蔽中断系统不可屏蔽中断SVMLIFG,SVMHIFG, DLYLIFG, DLYHIFG, VLRLIFG, VLRHIFG,VMAIFG,JMBNIFG,JMBOUTIFG(SYSSNIV)不可屏蔽中断不可屏蔽中断0FF
25、FCh62用户不可屏蔽中断用户不可屏蔽中断NMIIFG, OFIFG, ACCVIFG, BUSIFG(SYSUNIV)不可屏蔽中断不可屏蔽中断0FFFAh61比较器比较器BCBIV可屏蔽中断可屏蔽中断0FFF8h60TB0TB0CCR0 CCIFG0可屏蔽中断可屏蔽中断0FFF6h59TB0TB0CCR1 CCIFG1到到TB0CCR6 CCIFG6, TB0IFG (TB0IV)可屏蔽中断可屏蔽中断0FFF4h58看门狗定时器看门狗定时器WDTIFG可屏蔽中断可屏蔽中断0FFF2h57USCI A0 接收接收/发送发送UCA0RXIFG, UCA0TXIFG (UCA0IV)可屏蔽中断可屏
26、蔽中断0FFF0h56USCI B0 接收接收/发送发送UCB0RXIFG, UCB0TXIFG (UCB0IV)可屏蔽中断可屏蔽中断0FFEEh55ADC12_AADC12IFG0 to ADC12IFG15 (ADC12IV)可屏蔽中断可屏蔽中断0FFECh54TA0TA0CCR0 CCIFG0可屏蔽中断可屏蔽中断0FFEAh53TA0TA0CCR1 CCIFG1 到到 TA0CCR4 CCIFG4, TA0IFG (TA0IV)可屏蔽中断可屏蔽中断0FFE8h52USB_UBMUSBIV可屏蔽中断可屏蔽中断0FFE6h51DMADMA0IFG, DMA1IFG, DMA2IFG (DMA
27、IV)可屏蔽中断可屏蔽中断0FFE4h50TA1TA1CCR0 CCIFG0可屏蔽中断可屏蔽中断0FFE2h49TA1TA1CCR1 CCIFG1 到到 TA1CCR2 CCIFG2, TA1IFG (TA1IV)可屏蔽中断可屏蔽中断0FFE0h48P1端口端口P1IFG.0 to P1IFG.7 (P1IV)可屏蔽中断可屏蔽中断0FFDEh47USCI_A1 接收接收/发送发送UCA1RXIFG, UCA1TXIFG (UCA1IV)可屏蔽中断可屏蔽中断0FFDCh46USCI_B1 接收接收/发送发送UCB1RXIFG, UCB1TXIFG (UCB1IV)可屏蔽中断可屏蔽中断0FFDAh
28、45TA2TA2CCR0 CCIFG0可屏蔽中断可屏蔽中断0FFD8h44TA2TA2CCR1 CCIFG1 到到 TA2CCR2 CCIFG2, TA2IFG (TA2IV)可屏蔽中断可屏蔽中断0FFD6h43P2端口端口P2IFG.0 到到 P2IFG.7 (P2IV)可屏蔽中断可屏蔽中断0FFD4h42RTC_ARTCRDYIFG, RTCTEVIFG, RTCAIFG, RT0PSIFG, RT1PSIFG (RTCIV)可屏蔽中断可屏蔽中断0FFD2h41保留保留保留保留0FFD0h400FF80h0(最低最低)表表4.2.1 MSP430中断向量表中断向量表4.3 中断响应过程 中
29、断响应过程为从中断响应过程为从CPU接收一个中断请求开始至执行第一条中断服务程序指令结束,共需要接收一个中断请求开始至执行第一条中断服务程序指令结束,共需要6个时钟周期。中断响应过程如下:个时钟周期。中断响应过程如下: 执行完当前正在执行的指令;执行完当前正在执行的指令; 将程序计数器(将程序计数器(PC)压入堆栈,程序计数器指向下一条指令;)压入堆栈,程序计数器指向下一条指令; 将状态寄存器(将状态寄存器(SR)压入堆栈,状态寄存器保存了当前程序执行的状态;)压入堆栈,状态寄存器保存了当前程序执行的状态; 如果有多个中断源请求中断,选择最高优先级,并挂起当前的程序;如果有多个中断源请求中断,
30、选择最高优先级,并挂起当前的程序; 清除中断标志位,如果有多个中断请求源,则予以保留等待下一步处理;清除中断标志位,如果有多个中断请求源,则予以保留等待下一步处理; 清除状态寄存器清除状态寄存器SR,保留,保留SCG0,因而,因而CPU可从任何低功耗模式下唤醒;可从任何低功耗模式下唤醒; 将中断服务程序入口地址加载给程序计数器(将中断服务程序入口地址加载给程序计数器(PC),转向执行中断服务子程序。),转向执行中断服务子程序。 中断响应过程示例图如图中断响应过程示例图如图4.3.1所示。所示。图图4.3.1 中断响应过程示例图中断响应过程示例图4.4 中断返回过程 通过执行中断服务程序终止指令
31、(通过执行中断服务程序终止指令(RETI)开始中断的返回,中断返回过程需要)开始中断的返回,中断返回过程需要5个时钟周期,个时钟周期,主要包含以下过程:主要包含以下过程: 从堆栈中弹出之前保存的状态寄存器给从堆栈中弹出之前保存的状态寄存器给SR; 从堆栈中弹出之前保存的程序计数器给从堆栈中弹出之前保存的程序计数器给PC; 继续执行中断时的下一条指令。继续执行中断时的下一条指令。 中断返回过程示意图如图中断返回过程示意图如图4.4.1所示。所示。图图4.4.1 中断返回过程示意图中断返回过程示意图4.5 中断嵌套 由中断响应过程可知,当进入中断入口后,由中断响应过程可知,当进入中断入口后,MSP
32、430单片机会自动清除总中断允许标志位单片机会自动清除总中断允许标志位GIE,也就是说,也就是说,MSP430单片机的中断默认是不能发生嵌套的,即使高级中断也不能打断低级中断的执行,这就避免了当前中断未单片机的中断默认是不能发生嵌套的,即使高级中断也不能打断低级中断的执行,这就避免了当前中断未完成时进入另一个中断的可能。完成时进入另一个中断的可能。 如图如图4.5.1(a)所示,如果在执行中断服务程序所示,如果在执行中断服务程序A时,发生了中断请求时,发生了中断请求B,B的中断标志位置的中断标志位置1,但不会立即响,但不会立即响应应B的中断,需自动等待的中断,需自动等待A执行完成返回后(执行完
33、成返回后(GIE自动恢复),才进入自动恢复),才进入B的中断服务程序。的中断服务程序。 如图如图4.5.1(b)所示,如果在执行中断服务程序)所示,如果在执行中断服务程序A时,有多个中断发生,会在时,有多个中断发生,会在A中断执行完毕后,依照中断优中断执行完毕后,依照中断优先级由高至低的顺序依次执行各个待执行的中断服务程序。先级由高至低的顺序依次执行各个待执行的中断服务程序。图图4.5.1 多种中断发生情况示意图多种中断发生情况示意图4.5 中断嵌套 由以上两种情况可知,先发生的中断将会导致后发生的中断处理延迟。为了由以上两种情况可知,先发生的中断将会导致后发生的中断处理延迟。为了避免这种情况
34、,要求所有的中断都尽快执行完毕,则需允许中断的嵌套,如图避免这种情况,要求所有的中断都尽快执行完毕,则需允许中断的嵌套,如图4.5.1(c)所示。这种情况需要在所有的中断入口处都加一句开中断的语句:)所示。这种情况需要在所有的中断入口处都加一句开中断的语句:_EINT(),恢复总的中断允许。中断嵌套被允许后,所有中断能够立即被执行,恢复总的中断允许。中断嵌套被允许后,所有中断能够立即被执行,因此,能够保证事件的严格实时性要求。以因此,能够保证事件的严格实时性要求。以ADC中断为例:中断为例:#pragma vector = ADC12_VECTOR_ _interrupt void ADC12
35、_ISR(void) _EINT();中断函数的写法: #pragma vector = PORT1_VECTOR_interrupt void port_1(void)语法:interrupt void 函数名()参数:中断函数没有参数。中断函数需要指定中断向量。返回:中断返回一般是 void,没有返回值。4.5 中断函数的写法【例4.1.1】 在MSP430单片机系统中,P1.5、P1.6、P1.7发生中断后执行不同的代码。#pragma vector=PORT1_VECTOR / P1口中断源口中断源_ _interrupt void Port_1(void) / 声明一个中断服务程序,
36、名为声明一个中断服务程序,名为Port_1() if(P1IFG&BIT5) / 判断判断P1中断标志第中断标志第5位位 / 在这里写在这里写P1.5中断服务程序中断服务程序 if(P1IFG&BIT5) / 判断判断P1中断标志第中断标志第6位位 / 在这里写在这里写P1.6中断服务程序中断服务程序 if(P1IFG&BIT5) / 判断判断P1中断标志第中断标志第7位位 / 在这里写在这里写P1.7中断服务程序中断服务程序 P1IFG=0; / 清除清除P1所有中断标志位所有中断标志位4.2 按键查询【例4.1.2】 利用软件循环查询P4.2引脚的输入状态,若P4.
37、2输入为高电平,则使P4.4输出高电平;若P4.2输入为低电平,则使P4.4输出低电平。#include void main(void) WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗关闭看门狗 P4DIR |= BIT4; / 设设P4.4为输出方向为输出方向 P4DIR &= BIT2; / 设设P4.2为输入方向为输入方向 while (1) / 循环查询循环查询P4.2引脚输入状引脚输入状态态 if (P4IN & BIT2)=0) P4OUT |= BIT4; / 如果如果P4.2输入为高,则使输入为高,则使P4.4输出高输出高 else P4OUT &= BIT4; / 否则,使否则,使P4.4输出低电平输出低电平 4.6按键中断【例4.1.3】 利用按键外部中断方式,实现反转P4.4引脚输出状态。P4.2选择GPIO功能,内部上拉电阻使能,且使能中断。当P4.2引脚上产生下降沿时,触发P4端口外部中断,在中断服务程序中,反转P4.4端口输出状态。#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防设施考试个案研究试题及答案
- 2025年度科研经费受托支付合作协议(高校合作)
- 二零二五年度健康医疗股权零元转让协议书
- 二零二五年度国际商务区商铺国际化物业管理合同
- 2025年度海洋工程安全施工免责协议书
- 二零二五年度委托收款与高科技项目合作协议
- 2025年度酒店客房套餐协议价合同样本
- 二零二五年度保险反欺诈合作协议
- 二零二五年度一手房买卖合同解除及房屋权属争议解决协议
- 中医治疗失眠的康复路径试题及答案
- 安徽省 2025 年九年级中考历史模拟试卷二(含答案)
- 2025年国家铁路局机关服务中心招聘7人历年自考难、易点模拟试卷(共500题附带答案详解)
- 2024-2030全球动态细胞分析行业调研及趋势分析报告
- 河北省石家庄市2025届高三下学期3月一模试题 数学 含答案
- 湖南中烟工业有限责任公司招聘考试真题2024
- 电梯维护保养
- 2025年河南应用技术职业学院单招职业技能测试题库汇编
- 七年级下册《二元一次方程组》课件与练习
- 七年级数学下册 第2章 单元测试卷(浙教版 2025年春)
- DB11-T 1093-2014 液化天然气汽车箱式橇装加注装置安全技术要求
- 2024中考地理时事热点强化训练
评论
0/150
提交评论