PIC Vietnam

Go Back   PIC Vietnam > namqn

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Conversation Between namqn and thanh_30april
Showing Visitor Messages 1 to 1 of 1
  1. thanh_30april
    28-10-2011 10:04 AM
    thanh_30april
    /************************************************** *****************************
    ; 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

Múi giờ GMT. Hiện tại là 05:20 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam