1、题 目:外中断实验一. 实验目的学习 LPC2000 系列 ARM7 微控制器的向量中断控制器及外中断的应用技术二. 实验设备硬件:PC 机 一台LPC2131教学实验开发平台 一套软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境三实验内容主程序闪烁 LED,EINT 使能/停止 BEEP 的鸣响四实验步骤 跳线 LED1、Key1 和 Beep 分别连接到 P1.18、P0.16 和 P0.7管脚;使用 KEY1 模拟外中断; 启动 ADS 1.2,使用 ARM Executable Image for lpc2131 工程模板建立一个工程 TimeEINT_C。
2、 在 user 组中的 main.c 中编写主程序代码;使用系统宏IRQEnable(),使能 IRQ 中断。 装载并使能外中断; 选用 DebugInExram 生成目标,然后编译连接工程。 选择【Project】-【Debug】 ,启动 AXD 进行 JTAG 仿真调试。 全速运行程序,LED 闪烁; 每一次按键 Key,蜂鸣器就会转换静音或鸣响状态。五程序#include “config.h“#define BEEPCON 10; dly-) for(i=0; i5000; i+);/* 名 称:IRQ_EINT0()* 功 能:外中断服务程序,取反 BEEPCON 控制口。* 入口参数
3、:无* 出口参数:无*/void _irq IRQ_Eint0(void)if (IO0SET elseIO0CLR = BEEPCON;while ( (EXTINT / 清除 EINT0 中断标志VICVectAddr = 0x00; / 通知 VIC 中断处理结束/* 文 件 名:main.c* 功 能:主程序闪烁 LED1;KEY1 模拟外中断方式,每次外中断事件反转 Beep 鸣响状态。 * 说 明:*/int main(void)int x;PINSEL0 = 0x00000000; / 设置管脚连接 GPIOPINSEL1 = 0x00000001; / 设置管脚 P0.16 为
4、 EINT0IO0DIR = BEEPCON; / 设置 P0.7 为输出IO1DIR = LED1; / 设置 P1.18 为输出EXTMODE = 0x00;IRQEnable();VICDefVectAddr = (int)IRQ_Eint0; / 设置 EINT0 为 非向量 IRQ 中断EXTINT = 0x01; / 清除 EINT0 中断标志VICIntEnable = 10x0e; / 使能 EINT0 中断while(1) / 等待 EINT0 中断if (x!=0) IO1SET = LED1; x = 0; else IO1CLR = LED1; x = 1; DelayNS(100);return(0);六 实验心得体会 通过本次实验,对于 lpc2131 的外部中断的使用有了进一步的认识和了解,收获很大,对 ADS 的编程环境有了进一步的熟悉和了解,为以后编写类似的程序打下了坚实的基础,同时提高了我编写程序的水平和能力。