You are on page 1of 1

#include <16F877A.h> #fuses NOWDT,PUT,XT,NOPROTECT #use delay(clock=4000000) //s dng xu ng thch anh la xung ni.

voi tn s 4MHZ suy ra tn s hot ng ca chip la 1MKZ #byte PORTB = 0x06 int16 count; int8 a; //Chuong trinh ngat TMR0 #int_timer0 void interrupt_timer0() { set_timer0(6); //khoi t ao time0 bt u c t xung th 6// ++count; //bin m xu ng time0 tang// if(count == 2000) // 2000*500us = 500000us = 1s // nu time0 em n 2000 thi ngt time0. cho c trn// { count=0; rotate_left(&a,1); //rotate_left c kich hoat cho chy chng hn/ } } //Chuong trinh chinh void main(void) { set_tris_b(0); //a tt cac cac cong I/O cua port v mc 0 enable_interrupts(int_timer0); //khai bo ngt timer// setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2); //chn kiu ngt :ngt trong ,kieu chua ngt// //b chia tn l chia 2// enable_interrupts(global); //s dng ngt ton cc set_timer0(6);// T_dinhthi = 2*(256 - 6)*1us = 500us // timer0 m 256 xung mi ln c trn.nh vy bat dau dem tu xung so 6 nen chi den 250 xung 1us a = 0x01; while(true) lp tun hon lun dng { PORTB = a; bang a l 1 gi tr bin khai bo trn } } // vong //khoi tao port

You might also like