2016-08-01 6 views
1

나는 PIC 컴파일러 용 MikroC pro에서 사용할 수있는 예제를 시도하고있다. PIC 컴파일러는 EEPROM에서 일부 비트를 읽고 쓴 다음 PIC18F452 MCU에 연결된 LED에 결과를 표시한다.PORTB of PIC18F452 not working

코드는 C로 작성되었습니다. 그리고이 모든 것을 프로 테우스 시뮬레이션에서 시뮬레이션하고 있습니다. PORTB에

Schematic

핀은 논리의 변화를 보여주고 있지만 LED를 켤 수 없습니다 : 내 회로도는 다음과 같습니다. 나는 이것이 하드웨어 문제가 아니라 소프트웨어 문제라는 것을 알고있다. 당신이합니다 (주변의 잘못된 방법 B를 이용하여 포트에 LED 막대 그래프를 연결 한 것 같습니다,

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에있는 하나가 당신이 다른 두 사람을 연결 한 것과 반대 방향으로 연결되어 있습니다. – Dmitri

+0

하하하 ... 내 바보 같은 짓 : P 너 맞았다! 감사합니다 –

+0

이 질문에 답할 수 있도록 답변을 올바르게 표시 할 수 있습니다. –

답변

2

을 회로도에서 :

당신은 내 C 코드를보고 내가 잘못 뭘하는지 말해 줄 수 극성은 다른 두 개의 막대 그래프와 반대입니다.