msp430中断定时器

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

}
P1口的中断向量 #pragma vector = PORT1_VECTOR//定时器TA中 断服务函数 __interrupt void PORT1_ISR(void) { …… }
2015-5-24
超链接至程序代码
再说下IO口中断(以下摘自用户手册)
2015-5-24
按键抖动的问题
通常的按键所用开关为机械弹性开关,当机械触点断开 、闭合时,由于机械触点的弹性作用,一个按键开关在闭合 时不会马上稳定地接通,在断开时也不会一下子断开。因而 解决方法: 在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这 1.可以采用柔软的硅胶按键等 种现象而作的措施就是按键消抖。 有效减少按键抖动的产生 2.软件消抖。人按动机械按键 时产生的抖动大约为20毫秒 ,通过延时检测可有效消除 抖动。
2015-5-24
单片机的中断系统
(1)中断源:中断请求信号的来源。 (2)中断响应与返回:CPU采集到中断请求信号,怎 样转向特定的中断服务子程序,并在执行完之后返回被中断 程序继续执行。期间涉及到CPU响应中断的条件,现场保 护,现场恢复。 (3)优先级控制:中断优先级的控制就形成了中断嵌套 ,同一个优先级的中断,还存在优先权的高低。优先级是可 以编程的,而优先权是固定的。
/* 0xFFFE Reset [Highest Priority] */
2015-5-24
MSP430单片机的IO输入中断
一些高级的单片机的全部IO口都带外部中断功能,比如 ARM系列。MSP430 单片机只有P1和P2口带外部中断功能。 输入中断一般为IO口给出高电平,通过外部动作使电平跳 变为低电平,并以此作为中断源 寄存器配置步骤: 1.通过PxDIR将IO方向设置为输 入 2.通过PxIES配置中断边沿 3.通过PxREN配置上下拉电阻 4.配置PxIE开启中断 最后还要注意开启总中断。
2015-5-24
PLACE_VECTOR(VECTOR_NAME(func), offset) #define PORT1_VECTOR #define PORT2_VECTOR #define ADC10_VECTOR #define USCIAB0TX_VECTOR #define USCIAB0RX_VECTOR #define TIMER0_A1_VECTOR #define TIMER0_A0_VECTOR #define WDT_VECTOR (2 * 1u) (3 * 1u) (5 * 1u) (6 * 1u) (7 * 1u) (8 * 1u) (9 * 1u) (10 * 1u) (11 * 1u) /* 0xFFE4 Port 1 */ /* 0xFFE6 Port 2 */ /* 0xFFEA ADC10 */ /* 0xFFEC USCI A0/B0 Transmit */ /* 0xFFEE USCI A0/B0 Receive */ /* 0xFFF0 Timer0)A CC1, TA0 */ /* 0xFFF2 Timer0_A CC0 */ /* 0xFFF4 Watchdog Timer */ /* 0xFFF6 Comparator A */ /* 0xFFF8 Timer1_A CC1-4, TA1 */ /* 0xFFFA Timer1_A CC0 */ /* 0xFFFC Non-maskable */
#define COMPARATORA_VECTOR #define TIMER1_A1_VECTOR #define TIMER1_A0_VECTOR #define NMI_VECTOR
(12 * 1u) (13 * 1u)
(14 * 1u)
#define RESET_VECTOR
(15 * 1u)
2015-5-24
实验一:运用按键中断的方法控制小灯的亮灭
找到:学习资料\TI simulation technology training tour in China\G2 Docs\G2+Pocket\G2 Pocket\Code\5_Interrupt_Key_LED
导入例程:点击File-Import---Code Composer Studio-CCS Projects-Browse…-选择文件夹5_Interrupt_Key_LED-finish 例程在书84页有详细描述
中断矢量和加电起动地址位于地址范围 0FFFFh 至 0FFC0h 内,与表 2-1中描述的相同。 一个矢量由用 户使用相应中断处理例程的 16 位地址进行编辑。 完 整中断矢量列表请参与器件专用数据表。
建议为每个分配给一个模块的中断矢量提供一个中断处 理例程。 包含 RETI指
令,并且几个中断矢量可指向它。
#define VECTOR_NAME(name) #define EMIT_PRAGMA(x)
name##_ptr _Pragma(#x)
#define CREATE_VECTOR(name)
void (* const VECTOR_NAME(name))(void) = &name
#define PLACE_VECTOR(vector,section) EMIT_PRAGMA(DATA_SECTION(vector,section)) #define ISR_VECTOR(func,offset) CREATE_VECTOR(func); \
2015-5-24
中断优先级是固定的并且由图 2-3中显示的连接链中的 模块安排来定义。 距离 CPU/NMIRS 越近的模块,其
优先级越高。中断优先级确定当多于一个中断在同时等 待时,采用哪一个中断。 中断有三个类型: • 系统复位 • 不可屏蔽 NMI • 可屏蔽(我们重点学习)
2015-5-24
2015-5-24ቤተ መጻሕፍቲ ባይዱ
以下摘自MP430g2553.h
u表示unsigned long /************************************************************ * Interrupt Vectors (offset from 0xFFE0) ************************************************************/
2015-5-24
Vcc
上下拉电阻原理简化模型
IO
S
上拉保持高电平稳定 通过按键产生下降沿触 发中断
下拉保持低电平稳定
2015-5-24
中断服务子函数
#pragma vector = XXXX_VECTOR//定时器TA中断服务函数 __interrupt void XXXXX(void) {
……这是MSP430单片机的中断向量的通用格式
2015-5-24
中断
1、中断定义 CPU在执行一个程序时,对系统发生的某个事件(程序自身或外 界的原因)作出的一种反应:CPU暂停正在执行的程序,保留现 场后自动转去处理相应的事件,处理完该事件后,到适当的时候 返回断点,继续完成被打断的程序。(如有必要,被中断的程序 可以在后来某时间恢复,继续执行。) 事件:如读盘,盘有问题,无法读,产生中断,解决后,程序恢 复,软件错误也会中断。 特点: 1) 中断随机的 2) 中断是可恢复的 3) 中断是自动进行处理的 单片机中断的简单应用:按键中断控制小灯亮灭
相关文档
最新文档