![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#5 |
|
Đệ 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; } |
|
|
|
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|