Ansifa 发表于 2012-2-20 00:08:58

STC学习笔记3-中断实验

STC学习笔记3-中断实验

演示一个很简单的按键触发中断事件。按一下按键,LED就闪三下。用的是INT0

电路连接与实验2一样,P3.2是中断源0(INT0),程序里面没声明引脚,但是P3.2在中断已经使用。;

http://image.geek-workshop.com/forum/201202/19/222107ybm6h4ylmk9r7kmb.gif


代码:/*
STC15F104E中断实验
Ansifa
2012-2-19
时钟频率5~12M随意
*/

#include "reg51.h"
bit FLAG;
sbit Pin = P3 ^ 3;

void delay(unsigned int a) //延时
{
    unsigned int i;
    while( a-- != 0)
    {
      for(i = 0; i < 600; i++);
    }
}

void exint0() interrupt 0
{
    FLAG = INT0;
    //闪三次LED
    Pin = 1;
    delay(100);
    Pin = 0;
    delay(100);
    Pin = 1;
    delay(100);
    Pin = 0;
}

void main()
{
    IT0 = 1;   //设置 INT0 的中断触发方式 (1:Falling only 0:Rising & Falling)
    EX0 = 1;                   //允许INT0 中断
    EA = 1;                  //开总中断
    while (1);
}Keil uVersion2工程文件:


http://player.youku.com/player.php/sid/XMzU0MzU2ODU2/v.swf

zengdz 发表于 2012-7-1 07:21:57

不错,最近怎么没更新了?

q75236123 发表于 2012-10-24 22:50:52

……表示没有理解FLAG在程序中的作用……求解释……
页: [1]
查看完整版本: STC学习笔记3-中断实验