View Single Post
Old 05-11-2010, 04:54 PM   #5
trinhdieuhvktqs
Đệ tử 1 túi
 
Tham gia ngày: Sep 2009
Bài gửi: 13
:
cac bac oi...em sua lai code roi...e da khai bao ham delay va bien dich thanh cong roi
nhung khi nap vao mach thi led lai k nhay cac bac ah
em do dien ap o chan ra noi voi led thi chi co khoang 2v thoi
code cua em day...cac bac test giup em voi nhe
#include <p30F4011.h>
_FOSC(CSW_FSCM_OFF & FRC_PLL4);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF & MCLR_EN & PWMxL_ACT_HI & PWMxH_ACT_HI);
_FGS(CODE_PROT_OFF);

#define ms_count 125 //So dem tuong ung voi 1 ms, cho timer 1

void Delay_ms(unsigned int); //Tao tre mot so ms
void Init_TMR1(void); //Khoi tao Timer 1

unsigned char time_out;

int main(void)
{
Init_TMR1(); //Khoi tao cho TMR1
//LATB = 0x0000;
TRISB = 0x0000;
ADPCFG = 0xFFFF; // Cong B la dau vao so
while(1)
{
PORTBbits.RB5 = 0;
Delay_ms(1000);
PORTBbits.RB5 = 1;
Delay_ms(1000);
}
}

void Init_TMR1(void) {
TMR1 = 0; //Xoa so dem trong TMR1
PR1 = ms_count; //TMR1 tran moi ms
_T1IF = 0; //Xoa co ngat cua Timer 1
T1CON = 0x0020; //Dung fcy lam clock, prescale = 1:64, tat Timer 1
_T1IE = 1; //Cho phep ngat Timer 1
}

void Delay_ms(unsigned n) {
PR1 = n*ms_count; //Dat nguong tran vao PR1
time_out = 0; //Xoa co het thoi gian cho
T1CONbits.TON = 1; //Bat timer 1
while (time_out == 0); //Cho den khi het thoi gian cho
T1CONbits.TON = 0; //Tat timer 1
TMR1 = 0;
}

//Chuong trinh xu ly ngat Timer 1
//------------------------------------------------------------------------------
void _ISR _T1Interrupt(void) {
_T1IF = 0; //Xoa co ngat
time_out = 1;
}
trinhdieuhvktqs vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn