Conversation Between namqn and thanh_30april
Showing Visitor Messages 1 to 1 of 1
-
/************************************************** *****************************
; Vidu2-1.c la chuong trinh viet bang C de chay tren mot dsPIC *
; Chuong trinh thuc hien viec sau: Nhap nhay LED (noi vao RD0) o tan so 1 Hz *
************************************************** ******************************
; Tac gia : Nguyen Quang Nam *
; Don vi : PIC Viet Nam *
; Ten tap tin : Vidu2-1.c *
; Ngay : 03/8/2006 *
; Phien ban : 0.01 *
; Nhung tap tin can thiet khac: p30F4012.gld, p30f4012.h *
; Cong cu duoc dung: MPLAB 7.31 *
; C30 2.02 SE *
; ASM30 2.14 *
; LNK30 2.14 *
------------------------------------------------------------------------------*/
#include <p30F4012.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 LED _LATD0 //LED noi vao RD0
//Cac prototype cho cac chuong trinh con
void Init_PORTS(void);
void Init_TMR1(void);
//Chuong trinh chinh
int main(void) {
Init_PORTS(); //Khoi tao cac cong I/O
Init_TMR1(); //Khoi tao Timer 1
while (1) { //Vong lap chinh
};
}
//Chuong trinh con khoi tao cac cong I/O, de noi voi LED
void Init_PORTS(void) {
LATD = 0; //Xoa thanh ghi chot cong D
TRISD = 0xFFFE; //LED noi vao chan RD0, la ngo ra
}
//Chuong trinh con khoi tao Timer 1, tran sau moi 0,5 giay o muc xung 8 Mips
void Init_TMR1(void) {
TMR1 = 0; //Xoa so dem trong TMR1
PR1 = 0xF424; //Nguong tran la 0,5 giay tuong ung voi clock = 32 MHz
_T1IF = 0; //Xoa co ngat cua Timer 1
T1CON = 0x8020; //Dung fcy lam clock, prescale = 1:64
_T1IE = 1; //Cho phep ngat Timer 1
}
//Chuong trinh xu ly ngat Timer 1
void _ISR _T1Interrupt(void) {
_T1IF = 0; //Xoa co ngat
_LATD0 ^= 1; //Lat trang thai LED
}
Anh cho em hỏi sao anh lại bảo là clock=32Mhz.Vì em đọc trong datasheet với file pic30f4012.h thi khi cấu hình FOSC(CSW_FSCM_OFF &FRC_PLL4) thì Fosc=7.37*4 thôi chứ ạ.Mong anh giải thích.Thaks anh