2016-08-01 14 views
1

私は、EICROMからいくつかのビットを書き込み読み込み、PIC18F452 MCUに接続されたLEDに結果を表示するPICコンパイラのMikroC proで使用可能なサンプルを試しています。PORTB of PIC18F452 not working

コードはCで書かれています。そして私はこのすべてをプロテウスシミュレーションでシミュレートしています。 PORTBに

Schematic

ピンがロジックの変化を示しているが、それらは、LEDをオンにすることができない。私の概略は以下のように示されています。私はこれがハードウェアの問題ではなく、ソフトウェアの問題であることを知っています。

あなたは私のCコードを見て、私が間違ってやっているものを私に伝えることができます:

char ii;         // loop variable 

void main(){ 
    ADCON1 = 0x07; 

    PORTB = 0; 
    PORTC = 0; 
    PORTD = 0; 

    TRISB = 0; 
    TRISC = 0; 
    TRISD = 0; 

    for(ii = 0; ii < 32; ii++)    // Fill data buffer 
    EEPROM_Write(0x80+ii, ii);   // Write data to address 0x80+ii 

    EEPROM_Write(0x02,0xAA);    // Write some data at address 2 
    EEPROM_Write(0x50,0x55);    // Write some data at address 0150 

    Delay_ms(1000);      // Blink PORTB and PORTC LEDs 
    PORTB = 0xFF;       // to indicate reading start 
    PORTC = 0xFF; 
    Delay_ms(1000); 
    PORTB = 0x00; 
    PORTC = 0x00; 
    Delay_ms(1000); 

    PORTB = EEPROM_Read(0x02);    // Read data from address 2 and display it on PORTB 
    PORTC = EEPROM_Read(0x50);    // Read data from address 0x50 and display it on PORTC 

    Delay_ms(1000); 

    for(ii = 0; ii < 32; ii++) {   // Read 32 bytes block from address 0x80 
    PORTD = EEPROM_Read(0x80+ii);  // and display data on PORTD 
    Delay_ms(250); 
    } 
} 
+4

あなたはそのLED棒グラフに極性がありますか?あなたはPORTBのものを、あなたが他の2つを接続したやり方と反対に接続しました。 – Dmitri

+0

ハハハ...私の愚かなこと:Pあなたは正しかった!ありがとう –

+0

この質問に答えて、私はあなたの答えを正しいものとしてマークすることができます。 –

答えて

2

概略図から、あなたの周りに間違った方法Bでは、ポート上のLEDバーグラフが接続されているように見えます(極性は、他の2つの棒グラフとは逆のように見えます)。