本帖最后由 wggmaps 于 2013-6-20 09:43 编辑
#include <pic.h>
__CONFIG(0x1832);
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
int temp0,temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8,temp9,i,l,S=5;
int intnum;
void init();
void delay(int z)
{int a,b;
for(a=z;a--;a>0);
}
void init()
{
PORTC=0X0f;
TRISC=0X00;
OPTION=0x07;
INTCON=0xe0;
TMR0=61;
}
void interrupt time0()
{
T0IF=0;
TMR0=61;
intnum++;
}
void key()
{
while(1)
{
if(PORTB==0X01)
{ S=+S;}
else if(PORTB==0X02)
{S=-S;}
}
}
void main()
{
init();
TRISB=0XFF;
temp0=0X0f;
temp1=0x0e;
temp2=0X0C;
temp3=0x08;
temp4=0x00;
temp5=0Xf0;
temp6=0x70;
temp7=0X30;
temp8=0x10;
temp9=0x00;
while(1)
{
if(l==4)
{
l=0;
temp0=0X0f;
temp1=0x0e;
temp2=0X0C;
temp3=0x08;
temp4=0x00;
}
PORTC=temp0;
delay(100);
PORTC=temp1;
delay(300);
PORTC=temp2;
delay(700);
PORTC=temp3;
delay(1000);
PORTC=temp4;
if(intnum==S)
{
i++;
intnum=0;
temp0=temp0<<1;
temp1=temp1<<1;
temp2=temp2<<1;
temp3=temp3<<1;
temp4=temp4<<1;
}
if (i==4)
{
temp5=0Xf0;
temp6=0x70;
temp7=0X30;
temp8=0x10;
temp9=0x00;
while(1)
{
PORTC=temp5;
delay(100);
PORTC=temp6;
delay(300);
PORTC=temp7;
delay(700);
PORTC=temp8;
delay(1000);
PORTC=temp9;
if(intnum==S)
{
intnum=0;
l++;
temp5=temp5>>1;
temp6=temp6>>1;
temp7=temp7>>1;
temp8=temp8>>1;
temp9=temp9>>1;
}
if(l==4){i=0;break;}
}
}
}
}
|