các pro đâu cả rồi
các pác thử xem cái code dưới của em sai cái gì mà chạy sai vậy ta.
bài này đơn giản chỉ là em dùng ngắt time2 để các led nháy đồng thời trên cả
2 cổng b và c
================================================== =====
#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=4000000)
int x=0,y=0,count=0;
// chuong trinh ngat
#int_timer2
void interrupts_timer2(x)
{x++;if(x==5)x=1;set_timer2(0);
switch(x)
{case 1: portb=0xaa;break;
case 2: portb=0x55;break;
case 3: portb=0xe7;break;
case 4: portb=0x18;break;
}
}
void main()
{
trisb=0x00;
trisc=0x00;
portb=0x00;
portc=0x00;
x=0;
PORT_b_PULLUPS(1);
SETUP_TIMER_2(T2_DIV_BY_16,256,16);//CHO PHEP NGAT SAU 65536US
ENABLE_INTERRUPTS(INT_TIMER2);
ENABLE_INTERRUPTS(global);
delay_us(65536);
while(true)
{portc=0xaa;delay_us(65536);
portc=0x55;delay_us(65536);
portc=0xe7;delay_us(65536);
portc=0x18;delay_us(65536);
}
}
__________________
hãy sống cho ngày mai,đừng sống cho quá khứ
|