51单片机外部中断实验
2013-06-04 00:01
253 查看
51开发板:STC89C52最小系统开发板(原理图见附件http://files.cnblogs.com/sunhuijian/Y-33%E6%9C%80%E5%B0%8F%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%90%86%E5%9B%BE.pdf)
开发工具:Keil uVersion4
操作系统:Win7
开发板是一个最小系统,不能够直接支持外部中断实验。因为INT0(P32),INT1(P33)引脚都未连接任何可用的器件。因此,我们需要自己做些连线。
分析一下原理图找找可用的资源:
P10: 连接一个LED,可以让ISP(中断例程)来控制该LED的亮灭;
P11:连接一个独立开关Key1,但是P11非外部中断引脚INT0或INT1,无法直接使用;Key4,Key5也是如此。
INT0(P3.2):引脚上没有连接任何器件,INT1同样。
以上的资源已经足够做一个中断实验了。外部中断引脚没有连接触发器件怎么办?这里我们将Key1对应的P11和INT0对应的P32使用杜邦线直接连起来。这样,Key1按下时,会同时将P11和INT0拉成低电平,这样我们就可以在INT0上检测到中断的发生了。
中断实验代码——C语言实现:
中断实验代码——汇编实现实现:
开发工具:Keil uVersion4
操作系统:Win7
开发板是一个最小系统,不能够直接支持外部中断实验。因为INT0(P32),INT1(P33)引脚都未连接任何可用的器件。因此,我们需要自己做些连线。
分析一下原理图找找可用的资源:
P10: 连接一个LED,可以让ISP(中断例程)来控制该LED的亮灭;
P11:连接一个独立开关Key1,但是P11非外部中断引脚INT0或INT1,无法直接使用;Key4,Key5也是如此。
INT0(P3.2):引脚上没有连接任何器件,INT1同样。
以上的资源已经足够做一个中断实验了。外部中断引脚没有连接触发器件怎么办?这里我们将Key1对应的P11和INT0对应的P32使用杜邦线直接连起来。这样,Key1按下时,会同时将P11和INT0拉成低电平,这样我们就可以在INT0上检测到中断的发生了。
中断实验代码——C语言实现:
#include<reg52.h> //包含特殊功能寄存器的定义 #define LED P1 //宏定义LED代表P1 /******************************************************** 主程序 *********************************************************/ main() { LED=0xff; //P1口初始值,关闭led灯(这里其实只需要将控制P10的P1.0位置为1就可以了,但为了方便我们将整个P1的8bit全部置位了) EA=1; //全局中断开 EX0=1; //外部中断0开 IT0=0; //电平触发 while(1) { //在此添加其他程序,中断程序可以跟此处的程序同步执行 } } /**************************************************** 外部中断程序 *****************************************************/ void Key_INT(void) interrupt 0 using 1 { LED =~LED; //同样,这里只需要将P1.0清零即可点亮LED,但是为了方便,我们将整个P1的8bit全部清零了 }
中断实验代码——汇编实现实现:
ORG 0000H LJMP START ORG 0003H AJMP INT_0 ORG 0030H SETB P1.0 ;turn off led START: SETB EA ;enable interrupt SETB EX0 ;enavle INT0 CLR IT0 ;trigger by low level MAIN: ;Do what you want here AJMP MAIN INT_0: PUSH ACC PUSH PSW CPL P1.0 ;turn off/on led POP PSW POP ACC RETI END
相关文章推荐
- 51单片机之——外部中断0(INT0)
- 单片机实验3(外部中断)
- 基于proteus的51单片机仿真实例五十四、中断的概念和外部中断实例1
- 基于proteus的51单片机仿真实例五十五、外部中断1演示实例
- 51 单片机扩充外部中断
- 51 汇编语言编程:外部中断实验
- 51单片机2个外部中断的应用
- 51单片机外部中断小练习
- 写了一个 51单片机外部中断程序
- 嵌入式学习笔记(9)——51单片机之中断(外部中断)
- 51单片机外部中断示例
- 51单片机的外部中断
- 单片机实验期末考试-使用两个外部中断控制8只LED显示的电路
- 51单片机之——中断的概念
- 51单片机的定时器与中断
- 51单片机中用中断方式实现串口数据发送与接收
- 单片机的定时器中断以及使用的一般步骤(51为例)
- 对51单片机中断系统的理解
- 十天学会单片机Day1点亮数码管(数码管、外部中断、定时器中断)
- Linux下的51单片机简单的外部中断实验