1

pic 18f14k50 を使用していて、簡単なテストを試みています。LEDを点滅させるだけです。問題は、既に ANSEL、ANSELH、ADCON1 などをすべて 0 に設定し、すべての PORTS を出力として設定したことです。まだ私は見ていないし、LED が点滅しています。

ここにコードがあります(私は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
}

助けてくれてありがとう!

4

1 に答える 1

1

この PIC コードで LED が点灯しないのはなぜですか?

「ANSELレジスタを設定しないと、ピンはアナログ入力として構成されているため、出力として使用できません。」

構成ビットはここには表示されません。プロセッサーがコードを開始するには、オシレーター構成ビットが正しくなければなりません。

18f14k50 はプログラミングが難しい場合があります。PGC と PGD ピンに 3 ボルトが必要で、vpp は標準の 13 ボルトよりはるかに低くなります。プログラマー (pic kit 1、2、3、ICD 2、3) またはブートローダー (HID ブートローダー) を使用していますか?

于 2015-08-03T22:55:24.667 に答える