Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

LAB 2

ĐỀ 1 : Viết ct dk 8 led đơn anode chung để thực hiện các hiệu ứng sau :
a/ 8 led đơn sáng và tắt dần từ phải sang trái
b/ 8 led đơn sáng và tắt dần từ trái sang phải
c/ 8 led đơn sáng dần từ phải sang trái và tắt dần từ trái sang phải
d/ 8 led đơn sáng dần từ trái sang phải và tắt dần từ phải sang trái
Dùng chân anode chung, port D, thạch anh 8MHz

CT CHÍNH :
#INCLUDE<16F877A.h>

#use delay(clock=8M)

signed int8 n;

unsigned LED;

void main()

{ set_tris_D(0x00);

output_D(0X00);

while(TRUE) ////////////////// ANODE CHUNG

{ //CÂU A SANG VA TAT DAN TU PHAI SANG TRAI


for(n=0;n<=8;n++)

LED=0xff<<n; // 1111 1111 1111 1110 1111 1100

output_D(LED);

delay_ms(200);

for(n=8;n>=0;n--)

LED=0xff>>n; // 0000 0000 0000 0001 0000 0011

output_D(LED);

delay_ms(200);

// 1111 1111

// 0000 0000 dich phai 8 lan

// 0000 0001 dich phai 7 lan

// 0000 0011 dich phai 6 lan

// CÂU B SANG VA TAT DAN TU TRAI SANG PHAI

for(n=0;n<=8;n++)

LED=0xff>>n; // 1111 1111 1111 1110 1111 1100

output_D(LED);

delay_ms(200);

for(n=8;n>=0;n--)

LED=0xff<<n; // 0000 0000 0000 0001 0000 0011

output_D(LED);

delay_ms(200);

}
//CÂU C SANG TU PHAI SANG TRAI & TAT TU TRAI SANG PHAI

for(n=0;n<=8;n++)

LED=0xff<<n; // 1111 1111 1111 1110 1111 1100

output_D(LED);

delay_ms(200);

for(n=8;n>=0;n--)

LED=0xff<<n; // 0000 0000 0000 0001 0000 0011

output_D(LED);

delay_ms(200);

// CÂU D SANG TU TRAI SANG PHAI VA TAT TU PHAI SANG TRAI

for(n=0;n<=8;n++)

LED=0xff>>n; // 1111 1111 1111 1110 1111 1100

output_D(LED);

delay_ms(200);

for(n=8;n>=0;n--)

LED=0xff>>n; // 0000 0000 0000 0001 0000 0011

output_D(LED);

delay_ms(200);

}
ĐỀ 2 : Viết ct dk 8 led đơn cathode chung để thực hiện các hiệu ứng sau :
a/ 8 led đơn sáng và tắt dần từ phải sang trái
b/ 8 led đơn sáng và tắt dần từ trái sang phải
c/ 8 led đơn sáng dần từ phải sang trái và tắt dần từ trái sang phải
d/ 8 led đơn sáng dần từ trái sang phải và tắt dần từ phải sang trái
Dùng chân cathode chung, port D, thạch anh 8MHz

CT CHÍNH
#INCLUDE<16F877A.h>

#use delay(clock=8M)

signed int8 n;

unsigned LED;

void main()

{ set_tris_D(0x00);

output_D(0X00);

while(TRUE) ////////////////// CATHODE CHUNG

{ //CÂU A SANG VA TAT DAN TU PHAI SANG TRAI


for(n=8;n>=0;n--)

LED=0xff>>n;

output_D(LED);

delay_ms(200);

for(n=0;n<=8;n++)

LED=0xff<<n;

output_D(LED);

delay_ms(200);

// CÂU B SANG VA TAT DAN TU TRAI SANG PHAI

for(n=8;n>=0;n--)

LED=0xff<<n;

output_D(LED);

delay_ms(200);

for(n=0;n<=8;n++)

LED=0xff>>n;

output_D(LED);

delay_ms(200);

// CÂU C SANG TU PHAI SANG TRAI & TAT TU TRAI SANG PHAI

for(n=8;n>=0;n--)

LED=0xff>>n;
output_D(LED);

delay_ms(200);

for(n=0;n<=8;n++)

LED=0xff>>n;

output_D(LED);

delay_ms(200);

// CÂU D SANG TU TRAI SANG PHAI VA TAT TU PHAI SANG TRAI

for(n=8;n>=0;n--)

LED=0xff<<n;

output_D(LED);

delay_ms(200);

for(n=0;n<=8;n++)

LED=0xff<<n;

output_D(LED);

delay_ms(200);

You might also like