Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

cach 2 Đây là chương trình dùng ngắt Timer0 định thì 1s.

#include <16F877A.h>

#fuses NOWDT, PUT, XT, NOPROTECT

#use delay(clock=4000000)

#define INITIAL_VALUE 6

byte count;

byte led;

void change_led(void);

#int_timer0

void interrupt_timer0() {

set_timer0(INITIAL_VALUE);

count++;

if (count == 2000) {

count = 0;

change_led();

}

}

void main() {

set_tris_b(0);

enable_interrupts(GLOBAL);

enable_interrupts(INT_TIMER0);

setup_timer_0(RTCC_INTERNAL | RTCC_DIV_2); // set mod

set_timer0(INITIAL_VALUE); // set initial value

count = 0;

led = 1;

while (true)

output_b(led);

}

void change_led() {

led = led << 1;

if (led == 0)

led = 1;

}

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: