- //臨時打的,沒有測過,有錯誤稍微改改
- //就好了
- #include "reg52.h"
- sbir led=P1^0;
- char code a[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- void delay(int t)//閃爍的延時
- {
- int i,j;
- for(i=0;i<t;i++)
- for(j=0;j<t;j++)
- }
- int main(void)
- {
- int flag=0;
- int count=0;
- int z;
- TMOD=0X01;
- TH0=(65535-50000)/256;
- TL0=(65535-50000)%256;
- EA=1;
- ET0=1;
- TR0=1;
- while(1)
- {
- led=~led;
- delay(150);
- if(flag==1)
- {
- for(z=0;z<8;z++)
- {
- flag=0;
- P1=a[z];
- delay(100);
- }
- }
- }
- }
- void time0(void) interrupt 1
- {
- TH0=(65535-50000)/256;
- TL0=(65535-50000)%256;
- count++;
- if(count>=10)
- {
- flag=1;
- count=0;
- }
- }
復制代碼 |