外部中断0配置
#include <STC8.h>
#define uchar unsigned char
#define uint unsigned int
/******************************************
函数名称:Int0Init(uchar value)
函数输入:value=0,INT0上升沿和下降沿中断
value=1,INT0下降沿触发
函数返回:无
函数说明:STC8外部中断0初始化
*******************************************/
void Int0Init(uchar value)
{
if(value == 0)
{
IT0 = 0; //INT0上升沿和下降沿中断
}
else if(value == 1)
{
IT0 = 1; //INT0下降沿触发
}
EX0 = 1; //使能INT0中断
EA = 1; //开总中断
}
void main(void)
{
Int0Init(1);
while(1);
}
void INT0_Isr() interrupt 0
{
P10 = !P10;
}
外部中断1配置
#include <STC8.h>
#define uchar unsigned char
#define uint unsigned int
/******************************************
函数名称:Int1Init(uchar value)
函数输入:value=0,INT0上升沿和下降沿中断
value=1,INT0下降沿触发
函数返回:无
函数说明:STC8外部中断1初始化
*******************************************/
void Int1Init(uchar value)
{
if(value == 0)
{
IT1 = 0; //上升沿和下降沿中断
}
else if(value == 1)
{
IT1 = 1; //下降沿触发
}
EX1 = 1; //使能INT1中断
EA = 1; //开总中断
}
void main(void)
{
Int1Init(1);
while(1);
}
void INT1_Isr(void) interrupt 2
{
P10 = !P10;
}