#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit P3_3 = P3^3 ;
sbit P3_4 = P3^4 ;
sbit P1_7 = P1^7 ; //位定义
void init_interrupt(); //初始化函数,进行相应的中断寄存器的设置
void delay(uint x); //不是很准的延时函数
void main(void )
{
uchar m = 0xfe;
uchar n = 0;
init_interrupt();
while(P3_4 == 0); //总开关控制主程序的流程,这是系统的要求
while(1)
{
while(P3_4 == 0);
m = _crol_(m,1); //7只发光二极管的轮流显示
if(m == 0x7f)
m = _crol_(m,1);
n = m;
n = n | 0x80;
P1 = n;
delay(33333);
}
}
void init_interrupt()
{
EA = 1; //cpu开中断
EX1 = 1; //中断允许寄存器IE中的EA和EX1 允许外部中断1
IT1 = 0; // 外部中断1的设置为电平触发方式
}
void delay(uint x)
{
uint y = 3333;
for(;y > 0;y--)
for(;x > 0;x--);
}
//void exter1() interrupt 1 要细心
void exter1() interrupt 2
/*
*interrupt 0是外部中断 0 P3_2