You are on page 1of 3

Bài 1.

LED ĐƠN 1

SÁNG TẮT_Cách 1 SÁNG ĐUỔI _Cách 1

void SANG_TAT(char count) char count=0;


while(count>0) PORTD=0x80;
{

PORTD = 0xFF; for(count=0;count<8;count++)


delay_xx {
PORTD = 0x00; delay_xx
delay_xx PORTD >>= 1;
count -- ; }
}

--------------------------------------------------------- SÁNG ĐUỔI _Cách 2


SÁNG TẮT_Cách 2 unsigned char i, dat_D;
--------------------------------------------------------- while (1)
while(count>0) {
{ for(i=0;i<=7;i++)
PORTD ^= 0xFF; {
delay_xx dat_D = (char) pow(2,i) ;
count -- ; PORTD = dat_D;
} delay_xx

}
Bài 1. LED ĐƠN 2

SÁNG ĐUỔI từ giữa ra 2 bên_Cách 3 SÁNG DẦN _Cách 2

void SANG_DUOI_giua_ra (char count) While(1)

unsigned char data[ ]={0x18,0x3c,0x7e,0xff,0x7e,0x3c,0x18,0x00} ; { dat_D = 0x80;

----- PORTD = dat_D;

unsigned char i; delay_xx

while(count--) for (i=1; i<=7; i++)

{ for (i=0;i<8;i++) { dat_D |= (dat_D >> 1);

{ PORTD = dat_D;

PORTD= data [i]; delay_xx

delay_xx }

} }

SÁNG DẦN _Cách 1 SÁNG DẦN hai bên vào

char i; char i=0, left =0x80, right =0x01;

while(count>0) PORTD=0;

{ PORTD = 0x80; for(i=0;i<=3;i++)

for(i=0;i<8;i++) { PORTD= left | right;

{ delay_xx delay_xx

PORTD >>= 1; left >>= 1 ;

PORTD |= 0x80; left |= 0x80 ;

} right <<= 1 ;

PORTD=0; right |= 0x01;

delay_xx

count -- ;
Bài 1. LED ĐƠN 3

SÁNG DỒN DELAY_(time)


Void delay_x100ms(char time)

unsigned char i, tempo, dat_D ; {

signed char j; // Bien phai thuoc loai co dau (do bien giam dan). while(time--)

While(1) __delay_ms(100);

{ }

tempo = 0x00; }

for(j=7;j>=0;j--) // Giam so lan dich bit.

{ DELAY_(time)
for(i=0;i<=j;i++) // Dich bit kieu sang duoi. Void delay_x100ms(char time)
{ {
dat_D = (int) pow(2,i) | tempo ; For (i=0; i < time ; i++)
PORTD = dat_D; // Xuat port hien thi. {
Delay_xx __delay_ms(100);
} }
tempo = dat_D; // Cất tạm thời gia tri. }
}

PORTD = 0x00;

Delay_xx

You might also like