- UID
- 210504
- 帖子
- 1795
- 积分
- 1942
- 威望
- 1650
- 金币
- 35942
- 贡献
- 292
- 职业
- 维修
- 来自
- 广东顺德 湖南永州
- 注册时间
- 2009-7-4
- 最后登录
- 2012-1-7
|
1#
发表于 2011-8-30 14:38
| 只看该作者
有人可以解释一下吗
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P3_2=P3^2;
sbit P3_3=P3^3;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
void Led_On09();
void Led_On02();
void Led_On1();
void Led_On2();
void Led_On3();
void Led_On5();
void Xint0(void);
void Xint1(void);
void Led_Off();
void DelayXms(uint count);
/*************************/
void main(void)
{
//do
//{
P1=0x00;
EA=1;
EX0=1;
EX1=1;
IT0=0;
IT1=0;
PX0=0;
PX1=1;
for(;
{
;
}
//}while(1);
}
/***************************/
void Xint0(void) interrupt 0 using 3
{
Led_On2();
Led_On02();
Led_On1();
Led_On3();
Led_On2();
Led_On02();
Led_On1();
Led_On3();
Led_On09();
Led_On5();
}
/******************************/
void Xint1(void) interrupt 2 using 3
{
Led_Off();
}
/******************************/
void Led_On2()
{
//if(P3_2==0)
//{
//EA=1;
//EX0=1;
//EX1=1;
//IT0=0;
//IT1=0;
//PX0=0;
//PX1=1;
P1_2=1;
DelayXms(300);
P1_2=0;
//}
//if(P3_2==1)
//{
//Led_Off();
//}
}
/*******************************/
void Led_On02()
{
uint i;
//if(P3_3==0)
//{
for(i=1;i<=6;i++)
{
P1_0=1;
DelayXms(5);
P1_0=0;
DelayXms(5);
}
//}
//if(P3_3==1)
//{
//Led_Off();
//}
}
/*******************************/
void Led_On1()
{
uint i;
//if(P3_2==0)
//{
for(i=1;i<=6;i++)
{
P1_1=1;
DelayXms(5);
P1_1=0;
DelayXms(5);
}
//}
//if(P3_2==1)
//{
// Led_Off();
//}
}
/******************************/
void Led_On3()
{
//if(P3_2==0)
//{
P1_3=1;
DelayXms(300);
P1_3=0;
//}
//if(P3_3==1)
//{
// Led_Off();
//}
}
/*******************************/
void Led_On09()
{
uint i;
//if(P3_2==0)
//{
for(i=1;i<=31;i++)
{
P1_0=1;
DelayXms(1);
P1_0=0;
DelayXms(1);
}
//}
//if(P3_2==1)
//{
// Led_Off();
//}
}
/******************************/
void Led_On5()
{
uint i;
//if(P3_2==0)
//{
P1_6=1;
for(i=1;i<=6;i++)
{
P1_5=1;
DelayXms(5);
P1_5=0;
DelayXms(5);
}
P1_6=0;
//}
//if(P3_2==1)
//{
// Led_Off();
//}
}
/****************************/
void DelayXms(uint count)
{
uint j;
while(count--!=0)
{
for(j=0;j<7200;j++);
}
}
/***************************/
void Led_Off()
{
//EA=1;
//EX0=1;
//EX1=1;
//IT0=0;
//IT1=0;
//PX0=1;
//PX1=0;
P1_0=0;
P1_1=0;
P1_2=0;
P1_3=0;
P1_5=0;
P1_6=0;
//EX0=0;
//EX1=0;
//EA=0;
for(;
{
;
}
} |
|