2013-07-03 50 views
1

我使用圖片18f14k50,我正在嘗試一個簡單的測試。只要讓LED閃爍。事情是,我已經將ANSEL,ANSELH,ADCON1等都設置爲0,並且將所有端口都設置爲輸出。但我還沒有看到和LED閃爍。pic18f14k50不輸出

這裏去的代碼(我用的MicroC)

void main() { 

    TRISA = 0;   // set direction to be output 
    TRISB = 0;   // set direction to be output 
    TRISC = 0;   // set direction to be output 
    ANSEL = 0; 
    ANSELH = 0; 
    IOCA = 0; 
    IOCB = 0; 
    CM2CON0.C2ON = 0; 
    CM1CON0.C1ON = 0; 
    ADCON1 = 0; 


    //PORTC = 0xFF; 

    while(1){ 
    LATA = 0x00;  // Turn OFF LEDs on PORTA 
    LATB = 0x00;  // Turn OFF LEDs on PORTB 
    LATC = 0x00;  // Turn OFF LEDs on PORTC 
    delay_ms(1000); // 1 second delay 

    LATA = 0xFF;  // Turn ON LEDs on PORTA 
    LATB = 0xFF;  // Turn ON LEDs on PORTB 
    LATC = 0xFF;  // Turn ON LEDs on PORTC 
    delay_ms(1000); // 1 second delay 
    }   // Endless loop 
} 

感謝所有幫助!

回答

1

Why won't this PIC code light up my LEDs?

「如果你不設置ANSEL寄存器,因爲它被配置爲模擬輸入的引腳不能用作輸出」。

配置位在此處不可見。您的振盪器配置位必須正確才能使處理器啓動代碼。

18f14k50可能很難編程。它需要3伏的PGC和PGD引腳,並且vpp遠低於標準的13伏特。你正在使用程序員(圖片工具包1​​,2,3,ICD 2,3)還是引導程序(HID Boot loader)?