飞思卡尔8位单片机-第6章- 中断系统

合集下载

飞思卡尔单片机中断

飞思卡尔单片机中断

在CW4.6环境下,中断编程主要有两种方式: 第一种是使用“interrupt‖关键字,―interrupt‖关键字是一个非标准ANSI-C的关键字,因此,它不能被所有ANSI-C编译器厂商所支持 。同样,对不同的编译器,interrupt‖关键字的用法可能会改变。“interrupt‖关键字同样会提示编译器下面的函数是一个中断服务例程。 例: void interrupt 20 SCI0_ISR(void); 其中,interrupt表示该函数为终端服务程序,后面的20表示中断号20,在这里SCI0的中断向量号就是20. 这种方法写起来非常简单,但是,在S12单片机实际使用中,中断号并没有在手册中给出,通常需要自己在中断向量表中从上往下 数出来,或者根据中断向量计算得到,很容易出错。 于是有了第二种方法: 在ISR程序之前,使用符号“#pragma TRAP_PROC‖,TRAP_PROC 提示编译器下面的函数是中断服务例程。编译器会用一个特 殊的中断返回指令来结束这个函数。 此时,中断函数的书写如下所示: #pragma TRAP_PROC void SCI0_ISR(void){ ...} 这时候编译器不知道这个ISR指向那个中断向量,我们需要在链接文件即:prm文件中指定之。 使用 VECTOR命令来实现中断向量与ISR程序的连接。 例:VECTOR 0 _Startup //这是系统默认prm文件中自带的,即复位后0号中断即复位中断的ISR为_Startup() 我们可以这样写: VECTOR 20 SCI0_ISR //指定中断号 或者 VECTOR ADDRESS 0xFFD6 SCI0_ISR //直接指定中断向量地址 注:使用#pragma TRAP_PROC与修改prm文件的方法,在中断服务子程序的结尾处必须要手动加入返回主程序的指令,包括取 出堆栈、中断返回两个步骤。 在S12单片机中,可以写作 asm { pula; rti;} 尾注: 两种方法所写的中断服务子程序必须被放在非分页存储区内,即non_blanked code seg. 其中一种常用的方法是在服务子程序前声明://下面代码放在NON_BANKED区 #pragma CODE_SEG NON_BANKED 在中断程序后声明://下面内容按默认放置 #pragma CODE_SEG DEFAULT Freescale Semiconductor Confidential and Proprietary Information. Freescale™ and the Freescale logo are trademarks of Freescale

飞思卡尔8位单片机—飞思卡尔8位单片机基础知识

飞思卡尔8位单片机—飞思卡尔8位单片机基础知识

2.2、单片机的命名规则及选择
2.2.1、单片机选型需要关心的事项
供电电压、速度及功耗 管脚数量、并口与串口、功能复用、外扩能力 存储器资源:ROM、RAM、是否分页 外设接口 定时器数量、PWM、捕捉、比较 SPI、IIC、UART、CAN、USB、YITAI 中断源 模拟量处理 特殊接口:VGA、LCD、MOTOR 封装
选型要学会查找资源差异表
Freescale的08系列单片机型号有一百多种。在 这些不同型号的单片机中,资源各不相同,即使 是同一种型号的单片机,也有多种封装形式,其 I/O引脚数目也不相同。如MC68HC908JB8就有 20脚的DIP、28脚的SOIC、44脚的QFP和20脚 的SOIC四种封装形式。
7〉 管脚的复用
注意: 0、管脚功能复用时的优先 级见右表,高优先级接管管 脚时,对低优先级模块会产 生杂乱信号,因此切换前应 先停止不使用的功能。 1、PTA5作为只能输入管脚 而言,输入电压不能超过 VDD。 2、IIC使用的端口可以通过 设置SOPT2 寄存器中的 IICPS位重新定位到PTB6和 PTB7,复位时缺省使用 PTA2 and PTA3。 3、如果ACMP和ADC被同 时使能,管脚PTA0和PTA1 可同时使用。
第二章 飞思卡尔8位单片机基础知识
2.1、飞思卡尔8位单片机系列简介 2.2、飞思卡尔单片机命名规则与单片机选型 2.3、 MC9S08QG8硬件结构
8bit 单片机的Core type
HC08系列、HCS08系列、RS08系列。 HC08是1999年开始推出的产品,种类多,针对不同场合 的应用都可以选到合适的型号。 HCS08是2004年左右推出的8位MCU,资源丰富,功耗 低,性价比高,是08系列单片机的发展趋势。HC08与 HCS08的最大区别是调试方法不同与最高频率的变化 。 RS08是HCS08架构的简化版本,2006年推出,其内核体 积比传统的内核小30%,带有精简指令集,满足用户对 体积更小、更加经济高效的解决方案的需求。RAM及 Flash空间大小差异、封装形式不同、温度范围不同、 频率不同、I/O资源差异等形成了不同型号,为嵌入式 应用产品的开发提供了丰富的选型。

飞思卡尔单片机中断

飞思卡尔单片机中断

中断嵌套与中断返回
中断嵌套处理
在中断处理过程中,如果再次触发其他中断,需要进行嵌套处理,确保每个中断都能得到及时响应。
中断返回
中断处理完成后,需要返回被中断的程序,继续执行后续操作。在返回过程中,需要注意恢复被中断 程序的现场状态。
04
中断应用实例
定时器中断
定时器中断概述
定时器中断的配置
定时器中断是由单片机内部的定时器产生 的中断,用于在设定的时间间隔内执行特 定的任务。
中断使能与中断屏蔽
中断使能
通过设置中断使能位,可以启用或禁用某个中断源的中断处理功能。
中断屏蔽
通过设置中断屏蔽位,可以禁止某些不希望处理的中断源产生中断。
03
中断处理程序
中断处理程序的编写
初始化中断向量表
根据需要,在程序中初始化中断向量表,以确定不同 中断源对应的处理函数。
编写中断处理函数
根据中断源的不同,编写相应的中断处理函数,实现 中断响应和处理。
硬件结构
01
02
03
中断控制器
中断控制器是单片机中断 系统的核心部件,负责管 理中断的响应、优先级和 向量。
中断源
中断源是指能够触发中断 的信号源,如定时器溢出 、串行通信接收到数据等 。
中断优先级和向量
中断优先级决定了中断的 优先级,而向量则是指中 断处理程序的入口地址。
中断源
定时器溢出
当定时器计数达到最大值时,会触发一个中断,用于定时器 溢出处理。
THANKS。
解决方法
解决中断丢失问题需要从以下几个方面入手:首先,检查中断优先级设置,确保优先级 正确且没有重叠;其次,优化ISR的编写,避免在ISR中执行耗时的操作,确保ISR简洁 高效;最后,如果问题依然存在,可以尝试在外部硬件上加装抗干扰措施,如滤波电容

飞思卡尔8位单片机—飞思卡尔8位单片机基础知识

飞思卡尔8位单片机—飞思卡尔8位单片机基础知识

7〉 管脚的复用
注意: 0、管脚功能复用时的优先 级见右表,高优先级接管管 脚时,对低优先级模块会产 生杂乱信号,因此切换前应 先停止不使用的功能。 1、PTA5作为只能输入管脚 而言,输入电压不能超过 VDD。 2、IIC使用的端口可以通过 设置SOPT2 寄存器中的 IICPS位重新定位到PTB6和 PTB7,复位时缺省使用 PTA2 and PTA3。 3、如果ACMP和ADC被同 时使能,管脚PTA0和PTA1 可同时使用。
管脚及其功能
6〉 管脚控制寄存器
位于高页面的管脚控制寄存器,可以独立设置每个管 脚的输出驱动强度、输出信号变化速度、输入脚的内部 上拉允许等。内部上拉的设置有些时候自动失效,比如 管脚设为输出、管脚被外设使用、管脚作为模拟电路使 用等。如果管脚被用于键盘中断KBI模块,,并设置上升 沿触发,则允许上拉时实际是配置了下拉电阻。 对输出管脚设置了输出变化速度控制后,可以减少 EMC辐射,变化速度控制对输入脚无效。 输出管脚的输出驱动强度控制,可以选择更大的驱 动电流,虽然每个输出管脚都可以设置成大电流驱动, 但总电流不能超出芯片的工作范围。同时大驱动电流对 EMC辐射也会有一定影响。
• EPROM
EPROM(Erasable Programmable ROM,可擦除可编 程ROM)芯片可重复擦除和写入,。EPROM芯片在其正 面的陶瓷封装上,开有一个玻璃窗口,透过该窗口,可以 看到其内部的集成电路, 紫外线透过该孔照射内部芯片 就可以擦除其内的数据,完成芯片擦除的操作要用到 EPROM擦除器。EPROM内资料的写入要用专用的编程 器,并且往芯片中写 内容时必须要加一定的编程电压( VPP=12—24V,随不同的芯片型号而定)。EPROM的型 号是以27开头的,如27C020(8*256K)是一片 2M Bits容 量的EPROM芯片。EPROM芯片在写入资料后,还要以 不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线 照射而使资料受损

(整理)飞思卡尔8位单片机MC9S08JM60开发板实践教程

(整理)飞思卡尔8位单片机MC9S08JM60开发板实践教程

第一章搭建实验环境系统时钟设置#include "App\Include\App.h"#ifndef _MCG_C#define _MCG_C//oscillator 12MHZ 倍频为24MHZ()先8分频后16倍频void S_MCGInit(void){/* the MCG is default set to FEI mode, it should be change to FBE mode*//************************************************************************** ***********MCGC2[7:6] BDIV总线频率分频因子–选择由MCGC1寄存器中CLKS位决定的时钟源的分频。

这控制总线频率。

00 编码0 –时钟1分频01 编码1 –时钟2分频(复位后默认)10 编码2 –时钟4分频11 编码3 –时钟8分频[5] RANGE频率范围选择–选择外部振荡器或者外部时钟源的频率范围。

1 选择1MHz到16MHz外部振荡器的频率范围。

(1MHz到40MHz的外部时钟电源)的高频率范围0 选择32kHz到100kHz外部振荡器的频率范围。

(32kHz到1MHz的外部时钟电源)的低频率范围[4] HGO高增益振荡器选择–控制外部振荡器操作模式。

1 配置外部振荡器为高增益运行0 配置外部振荡器为低功耗运行[3] LP低功耗选择–控制在忽略模式中FLL(或者PLL)是否为无效1 FLL(或PLL)在忽略模式(低功耗)中为无效的。

0 FLL(或PLL)在忽略模式中为无效的。

[2] EREFS外部参考时钟选择–为外部参考选择时钟源1 选择振荡器0 选择外部时钟源[1] ERCLKEN外部参考时钟使能–使能外部参考时钟作为MCGERCLK1 MCGERCLK激活0 MCGERCLK 无效[0] EREFSTEN外部参考时钟停止使能MCGC2 0b0011 0110 激发外部时钟(晶振)(没有使能)*************************************************************************** ***********/MCGC2=MCGC2_RANGE_MASK|MCGC2_HGO_MASK|MCGC2_EREFS_MASK|MCGC2_ERCLK EN_MASK;while(!MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。

06 第六章 中断系统 单片机 华中科技大学

06 第六章 中断系统 单片机 华中科技大学

6.2.1 8051单片机的中断源
二、内部中断:
(1)定时器溢出中断 )定时器溢出中断TF0、TF1: 、 : 当定时器T0、T1产生溢出时发出的中断请求,中断标志位 TF0、TF1置1,请求中断处理;响应中断后,自动清0。 (2)串行口中断 或TI: )串行口中断RI或 : 当串行口接收或发送完一帧数据时发出的中断请求,中断标 志位RI或TI置1,请求中断处理。响应中断后,由用户清0。
6.2.2 中断允许和禁止
特殊功能寄存器IE为中断允许寄存器 中断允许寄存器,通过向IE 中断允许寄存器 写入中断控制字,控制CPU对中断源的开放或屏蔽。 2级控制:一个总控制位, 每个中断源有一个分控制位
6.2.2 特殊功能寄存器IE
0:关INT0中断 1:开INT0中断 0:关T0中断 1:开T0中断 0:关INT1中断 1:开INT1中断 0:关T1中断 1:开T1中断 0:关串行口中断 1:开串行口中断
6.2.3.2 中断处理和中断返回
CLR EA PUSH A PUSH R1 … SETB EA … … CLR EA … POP R1 POP A SETB EA RETI ;关中断 ;保护现场 ; ;开中断,可响应更高级中断 ;中断服务 ; ;关中断 ;恢复现场 ; ;开中断 ;中断返回
6.2.3.3 中断请求的撤除
中断系统应用举例
初始化程序 SETB EA ;CPU开中断 ;允许INT0中断 SETB EX0
SETB IT0 ;置为电平触发方式 SETB PX0 中断服务程序 LOOP1: JNB P3.2, LOOP1 ;检测引脚是否出现高电平 ;若是低电平,则原地踏步 LOOP2: JB P3.2, LOOP2 RETI ;检测引脚是否出现低电平 ;若是高电平,则原地踏步 ;中断返回 ;置为高中断优先级

飞思卡尔8位单片机-第6章- 指令系统与汇编程序设计

飞思卡尔8位单片机-第6章- 指令系统与汇编程序设计
0A A
存储器 OP
低地址
45 0A
高地址
直接寻址模式 (DIR)
• 地址:指令中给出的8位操作数 地址:指令中给出的 位操作数 • 寻址空间:$0000~$00FF 寻址空间: • 如:LDA $08; ;
A 0A
存储器 OP
低地址
45 0A
08H
高地址
扩展寻址模式 (EXT)
• 地址:指令中给出16位操作数 地址:指令中给出 位操作数 • 大多数扩展寻址指令为 字节 大多数扩展寻址指令为3字节 • 寻址空间:$0000~$FFFF,64KB 寻址空间: , 注意:在某些编译器中,在单字节地址前加符号“<”表示直 接寻址,否则,编译时会在该地址前加上一个$00字节,这样 就成了扩展寻址。例如: LDA <$50 ;属于直接寻址 LDA $50 ;汇编时将自动生成两字节操作数$0050,就成了 扩展寻址 而有的编译器遇到地址高8位为0的情况会自动按直接寻址处 理,不需要直接寻址符号“<”
7 V
二进制补码溢出标志—当发生一个二进制补码溢出, 二进制补码溢出标志 当发生一个二进制补码溢出, 当发生一个二进制补码溢出 CPU置这位为 。符号分支指令 置这位为1。符号分支指令BGT,BGE, BLE 置这位为 , , 将会用到溢出标志位。 和BLT将会用到溢出标志位。 将会用到溢出标志位 0 没有溢出 1 有溢出
(1). 无偏移量变址寻址 无偏移量变址寻址(IX) 地址:变址寄存器 中的值。 地址:变址寄存器(H:X)中的值。 中的值 单字节指令。 单字节指令。
例如: 例如: (H:X)=$0089, ($0089)=$A0 CLR X ;把以变址寄存器(H:X)为地址的存储单元的 把以变址寄存器( : ) 内容清零, 内容清零 即($0089)=$0, (H:X)不变 : )

飞思卡尔8位单片机实用教程说明书

飞思卡尔8位单片机实用教程说明书

图书基本信息书名:《飞思卡尔8位单片机实用教程》13位ISBN编号:978712108999210位ISBN编号:7121089998出版时间:2009-6出版社:曾周末、李刚、陈世利、 周鑫玲 电子工业出版社 (2009-06出版)页数:222版权说明:本站所提供下载的PDF图书仅提供预览和简介以及在线试读,请支持正版图书。

更多资源请访问:前言飞思卡尔原是全球领先的半导体公司,为汽车、消费电子、工业控制、网络和无线市场设计并制造嵌入式半导体产品。

飞思卡尔系列单片机由于其低成本和高性能的特点越来越受到用户的青睐。

本书介绍的MC9S08QG8单片机采用高性能、低功耗HCS208飞思卡尔8位微控制器为内核,是一款集成度很高、功能丰富、适用于各种应用的低价位单片机。

本书将给大家介绍它的一些主要功能及特性,包括灵活多样的低功耗模式、3.3V电压下的Flash编程、片内调试仿真器、高速ADC、IC总线、片内比较器等。

本书共12章,深入浅出地从一般单片机的基础知识人手,引出飞思卡尔8位单片机基础知识、最小系统设计,进而有步骤地、详略得当地介绍飞思卡尔8位单片机的寄存器与片内存储器、指令系统与汇编程序设计、中断系统等基本功能,并在之后的章节中,详细而又有针对性地一一介绍了集成在这款单片机内部的其他功能模块,比如定时器和比较器、异步串行通信、SPI、IC、模/数转换等功能模块。

本书还介绍了飞思卡尔单片机与MCS51单片机的区别,学过5l单片机的人会很快掌握其要点。

在本书最后一章里,有针对性地介绍了S08系列单片机c语言编程,并详细介绍了Code Warrior IDE调试软件的使用方法。

本书给出的所有例题都在实验板上运行验证过。

总之,本书力求通过最简洁的语言和表述方式、最通俗易懂的应用举例,向广大读者全面地介绍MC9S080G8单片机的功能及特性,以求能够为大专院校的学生及各相关领域的工作者提供一些帮助。

参加本书编写的还有天津大学精仪学院的薛彬、汤其剑、刘世廷、高雅彪、叶德超、黄邦奎、孙晔等研究生。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二.查询传送方式(条件传送方式)
查询(读状态端口)— 等待(准备好) — 数据传送
例1.输入某8位A/D转换器的转换结果。设A/D的数据线 接到PTB口,“转换结束”信号接到PTA0(1表示转换 结束),“启动A/D”信号接到PTA1(从0→1为启动) BCLR 1,PTAD BSET 1, PTAD LDA PTBD ; PTA1清0 ;启动A/D ;读A/D
3、中断处理 、 (1)、保护现场 、
SP基准地址 基准地址=0x00ff+所有定义变量所占的字节数。 基准地址 所有定义变量所占的字节数。 栈底地址不能超出RAM的末地址 的末地址0x025f。 栈底地址不能超出 的末地址 。
3、中断处理 、
(2)关中断 ) (3)查找中断源转向相应的中断服务程序。 )查找中断源转向相应的中断服务程序。 (4)关闭中断。使恢复现场的工作不受干扰。 )关闭中断。使恢复现场的工作不受干扰。 (5)恢复现场。 )恢复现场。
三、直接存储器存储(DMA)方式 直接存储器存储( )
外设
存储器
不经过CPU,由DMA控制器控制三总线 , 不经过 控制器控制三总线
特点:传送数据量大, 特点:传送数据量大,外设速度高
四、中断
中断: 中断:计算机暂时停止原程 序的执行,转而为外设服务, 序的执行,转而为外设服务, 并在服务完成后自动返回原 程序
三、中断源概述
中断号
低 23
入口地址 0xFFD0:FFD1 0xFFD6:FFD7 0xFFD8:FFD9 0xFFDA:FFDB 0xFFDC:FFDD 0xFFDE:FFDF 0xFFE0:FFE1 0xFFE2:FFE3 0xFFE4:FFE5 0xFFE6:FFE7 0xFFF0:FFF1 0xFFF2:FFF3 0xFFF4:FFF5 0xFFF8:FFF9 0xFFFA:FFFB 0xFFFC:FFFD 0xFFFE:FFFF
SPIC1 MTIMSC TPMSC
TPMC1SC TPMC0SC
MTIM TOF TOF CH1F CH0F LVDF IRQF SWI指令
TOIE TOIE CH1IE CHI0IE LVDIE IRQIE -
SPMSC1 IRQSC

2 1 0
COP,LVD,RST,POR,非法指令等。
6.3 中断应用
void delay(unsigned int ms) { unsigned int i; unsigned int j; for(j= 0;j<ms;j++) { for(i = 0;i<200; i++){ } } }
WAIT: BRCLR 0,PTAD, WAIT ;查询
例2.向打印机输出一个‘C’字符。打印机数据线接PTB口,“忙” 信号接到PTA1(1表示忙),“写”信号接到PTA2(0→1为写入) LDA #’C’ WAIT: BRSET 1,PTAD, WAIT STA PTBD BCLR 2,PTAD BSET 2, PTAD ;发“写”脉冲 *当外设的准备时间为已知时,也可用延时代替查询。 如已知A/D转换时间最大为1ms,则读A/D的程序中可用BSR D1ms(延迟1ms子程)代替WAIT:BRSET 1,PTAD, WAIT 查询式传送的优点:通用性强,硬件结构简单。 缺点:查询时占用CPU,效率低。 ;‘C’→A ;查询 ;‘C’→PTB口
第6章 中断系统 章
6.1 输入/输出控制方式 输入/ 1、无条件传送方式 、 2、条件传送方式 、 3、DMA方式 、 方式 4、中断控制方式 6.2 中断机制 1、中断源及中断矢量 、 2、中断控制及相关寄存器 、 6.3 键盘中断 6.4 其他
§6.1 微机的输入/输出方式
CPU与外设的信息交换: 与外设的信息交换: 与外设的信息交换 数据、状态、 数据、状态、控制 CPU与外设的信息交换方式: 与外设的信息交换方式: 与外设的信息交换方式 无条件传送方式 查询传送方式 直接存储器存取( 直接存储器存取(DMA)方式 ) 中断传送
一、中断处理过程 中断返回
1、中断请求 、 (1). 有中断请求 (2). 条件状态寄存器中I=0 条件状态寄存器中 (3). 提中断申请的中断源未被屏蔽 2、中断响应 、 (1).当前指令结束 当前指令结束 (2). I自动置 。 自动置1。 自动置
3〉添加中断服务子程序、延时子程序 〉添加中断服务子程序、
interrupt 2 void IRQ_ISR() { unsigned char i; for(i=0;i<200;i++){;} //延时,去抖动 延时, 延时 while(!PTAD_PTAD5){;} //等待按键释放 等待按键释放 PTBD_PTBD6 = 0; delay(500); PTBD_PTBD6 = 1; delay(500); PTBD_PTBD6 = 0; delay(500); PTBD_PTBD6 = 1; //LED亮 亮 //延时 延时 //LED灭 灭 //亮、灭两次 亮
模块 系统 ADC KBI IIC SCI SCI SCI SPI TPM TPM TPM 系统 IRQ CPU 系统
标记、状态位 RTIF COCO KBF IICIF TDRE、TC IDLE、RDRF OR,NF,FE,PF
SPIF,MODF,SPTEF
允许位 RTIE ACIE AIEN KBIE
主 中断 程 中 序 断 服 务 断 继 序 续 执 行 主 程 返 回 主 程 序 程
中断

中断功


6.2
中断技术的功能特点: 中断技术的功能特点:
中断机制
⑴.分时操作:CPU与外设可各自工作,提高CPU的效率。 分时操作:CPU与外设可各自工作,提高CPU的效率。 与外设可各自工作 CPU的效率 ⑵.实时处理:可及时响应外设要求的服务。 实时处理:可及时响应外设要求的服务。 ⑶.故障处理:可及时处理各种软硬件故障。 故障处理:可及时处理各种软硬件故障。
一.无条件传送方式: 无条件传送方式:
外设在任何时刻均处于“准备好”的状态, 外设在任何时刻均处于“准备好”的状态,CPU可随时用 可随时用 指令读写外设。 指令读写外设。 输入——读,输出——写 读 输出 输入 写 例1.从PTB端口输入8个开关S0-S7的状态: LDA PTBD (LDA $0002) 例2.用PTB端口控制8个LED灯的点亮(低电平点亮)。 MOV #$0F, PTBD; 点亮高4位LED
寄存器 SRTISC ACMPSC ADCSC1 KBISC
20
19 18
ACMP ACF
1〉 优 先 中 级 断 入 口
17 16 15 14 13 12 7 6 5 3
IICIE IICC,IICS TIE、TCIE SCIC2 ILIE、RIE SCIS1 ORIE…… SCIC3
SPIE,SPTIE
(6)开中断 )
二、中断识别和中断优先级
1.中断优先权 优先权排队:多个中断源同时提中断时, 优先权排队:多个中断源同时提中断时,按其优先权的高 低,优先响应高级中断。 优先响应高级中断。 查询中断:CPU接到中断申请时, 查询中断:CPU接到中断申请时,用指令逐个查询各中断 接到中断申请时 源(优先级高的先被查询)按顺序服务。 优先级高的先被查询)按顺序服务。 矢量中断: 响应中断后, 矢量中断:CPU响应中断后,要求中断源提供一个地址信 响应中断后 页表6-1 息,该地址信息称为中断向量(中断矢量)。82页表 该地址信息称为中断向量(中断矢量) 页表
IRQ管脚的使用 管脚的使用——中断应用范例(1) 中断应用范例( ) 管脚的使用 中断应用范例
IRQSC (0x000F) 0F)
6 IRQPDD 4 IRQPE 3 IRQF 2 IRQACK
内部上拉电阻使能控制位,必须 该位才有意义。 内部上拉电阻使能控制位,必须IRQPE=1该位才有意义。 该位才有意义 0-上拉允许; 1-上拉禁止,可使用外部上拉。 上拉允许; 上拉禁止,可使用外部上拉。 上拉允许 置位该位使管脚当IRQ用。 用 置位该位使管脚当 IRQ事件标志位 该只读位为“1”时表示检测到 事件标志位—该只读位为 时表示检测到IRQ事件。 事件。 事件标志位 该只读位为“ 时表示检测到 事件 IRQ应答位 给这个只写位写“1”清除 应答位—给这个只写位写 清除IRQF,如果中断模式选择的是 应答位 给这个只写位写“ 清除 , 边沿和电平” 管脚保持低电平时,写该位也 “边沿和电平” (即IRQMOD=1),当IRQ管脚保持低电平时 写该位也 当 管脚保持低电平时 不能清除IRQF。 不能清除 。 IRQ 中断使能 给该位写“1”将允许 中断使能—给该位写 给该位写“ 将允许 将允许IRQF=1时产生硬件中断,该位写 时产生硬件中断, 时产生硬件中断 “0”时,只能采用查询的方式。 时 只能采用查询的方式。 IRQ触发模式 即选择 “边沿”触发或者“边沿和电平” 触发。 触发模式—即选择 边沿”触发或者“边沿和电平” 触发。 触发模式 0-IRQ事件只在下降沿触发; 1-IRQ事件在下降沿和低电平都能触发。 事件只在下降沿触发; 事件在下降沿和低电平都能触发。 事件只在下降沿触发 事件在下降沿和低电平都能触发
1 IRQIE
0 IRQMOD
IRQ管脚的使用,结合开发板,采用 语言编程。 管脚的使用,结合开发板 采用 语言编程。 采用C语言编程 管脚的使用 1〉新建一个c工程; 〉新建一个 工程; 工程 2〉在打开中断允许之前添加 行初始化: 行初始化: 〉在打开中断允许之前添加4行初始化 SOPT1 = 0x02; IRQSC = 0x16; PTBDD = 0xFF; PTBD = 0xFF; EnableInterrupts; // 禁止 COP、STOP and RST,45页 、 , 页 // 允许 允许IRQ管脚,允许 管脚, 中断, 管脚 允许IRQ中断,下降沿触发 中断 // PTB输出 输出 // 关闭 关闭LED /* enable interrupts */
相关文档
最新文档