概述
/*********************************************************************************
*程序名称:extern interrupt0.c
*程序描述:外部中断0
*编 制:LZS
*备 注:编译器keil C51 V7.06;时间2008.2.10;版本:v1.0
**********************************************************************************/
void Delay(unsigned int delay);
#include "reg51.h"
unsigned char tmp;
int main(void)
{
tmp=0xAA;
EA=1;
EX0=1;
while(1)
{
P0=tmp;
}
}
/**********************************************************************
*函数名称:void Ext_Interrupt0(void)
*函数描述:外部中断0服务函数
*入口参数:无
*出口参数:无
*备 注:无
***********************************************************************/
void Ext_Interrupt0(void) interrupt 0 using 2
{
if(tmp==0x55)
{
tmp=0xAA;
}
else
{
tmp=0x55;
}
Delay(10);
}
/**********************************************************************
*函数名称:Delay()
*函数描述:延时delay个ms
*入口参数:delay
*出口参数:无
*备 注:假设晶振频率为12MHZ时延时为delay个ms
***********************************************************************/
void Delay(unsigned delay)
{
unsigned int tmp;//一个临时变量
for(;delay>0;delay--)
{
for(tmp=0;tmp<124;tmp++)
{
;
}
}
}
/***********************************************************************************************************************
*关于本程序有几点不明白:1.为什么直接用P0口判断不行,如:if(P0==0x55) P0=0xaa;
2.如何使得刚好按下一个键触发一次外部中断(适当延时可以解决)
************************************************************************************************************************/
最后
以上就是呆萌鞋子为你收集整理的extern interrupt0.c的全部内容,希望文章能够帮你解决extern interrupt0.c所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复