LPC2131外中断实验:模拟KEY触发蜂鸣器切换

需积分: 24 3 下载量 8 浏览量 更新于2024-09-13 收藏 108KB DOC 举报
本篇文档主要介绍了ARM外中断实验的具体操作流程,针对LPC2131微控制器进行实验。实验的核心是利用ARM的外中断技术来控制LED和蜂鸣器的响应。以下是详细的实验步骤和涉及的知识点: 1. **实验设备与环境**: 实验需要用到的设备包括PC机、LPC2131教学实验开发平台,以及Windows操作系统(如98/XP/2000)和ADS1.2集成开发环境。 2. **实验目标与内容**: 实验目标是掌握LPC2000系列ARM7微控制器的向量中断控制器和外中断应用技术。具体实验内容包括主程序控制LED1的闪烁,以及通过外中断(EINT)来控制蜂鸣器的静音和鸣响。 3. **硬件连接**: LED1、Key1和蜂鸣器Beep分别连接到P1.18、P0.16和P0.7管脚,其中Key1被用于模拟外中断事件。 4. **软件开发流程**: - 使用ADS1.2创建名为TimeEINT_C的工程模板,主程序在user组的main.c文件中编写。 - 在main.c中,通过调用`IRQEnable()`系统宏来使能IRQ中断,这是中断管理的基础。 - 装载并启用外中断,确保中断处理函数能够正确响应外部输入。 - 选择DebugInExram生成目标,进行编译和连接。 - 使用AXD的JTAG仿真调试功能运行程序,实现LED的闪烁和按键触发蜂鸣器的控制逻辑。 5. **关键函数**: - `DelayNS()`:一个用于实现长软件延时的函数,通过循环计数来模拟延迟。 - `IRQ_EINT0()`:外中断服务程序,该函数负责处理来自EINT0的中断请求,并根据需求控制蜂鸣器的状态(这里假设EINT0对应蜂鸣器控制信号)。 6. **程序代码片段**: 提供了两个函数的定义,展示了如何设置Beep和LED1的控制寄存器,并通过中断服务程序`IRQ_EINT0()`处理按键事件,改变蜂鸣器的音频状态。 这个实验不仅涵盖了ARM7微控制器的中断机制,还涉及到基本的硬件连接、软件编程以及中断服务程序的编写。通过实际操作,学生可以深入理解中断在嵌入式系统中的作用,提升硬件和软件集成的能力。