Forum: Mikrocontroller und Digitale Elektronik PIC 18F2455: RB5 geht nicht?


von Michael (Gast)


Lesenswert?

Ich spiel grad ein wenig mit oben genannten PIC rum. Aber scheinbar hab 
ich da was übersehen.
Ich beschäftige mich derzeit mit dem ADC.

Folgendes hab ich dazu geschrieben:
1
//Config in MPLAB einstellen, Programm geht von einem 20 MHz-Quarz aus
2
3
#pragma chip PIC18F2455
4
5
#pragma bit Channel @ ADCON0.2  //AD-Wandler   0: AN0
6
                //        1: AN1
7
#pragma bit ADC_ON @ ADCON0.0  //ADC  Wandler ein: 1
8
                //    Wandler aus: 0
9
#pragma bit ADC_GO @ ADCON0.1  //ADC  Wandlung starten:  1
10
                //    Wandlung fertig:  0
11
12
void main(void)
13
{
14
//Wandler Voreinstellungen
15
  ADCON0 = 0b00000000;    //Preset:AN0, Wandler aus, Wandlung fertig
16
  ADCON1 = 0b00001110;    //AN0 aktiv, alle anderen sind digitale IOs
17
  ADCON2 = 0b00010101;    //TAD-Einstellung für 20 MHz, vgl. Datenblatt
18
//Comperator aus
19
  CMCON = 7;
20
//Ports Konfigurieren
21
  LATA = 0;
22
  TRISA = 0b00000101;      //RA0,RA2: Inputs, other Outputs
23
  LATB = 0;
24
  TRISB = 0b00000000;      //Test ADC-Anzeige
25
  LATC = 0;
26
  TRISC = 0b00000000;      //
27
28
  ADC_ON = 1;
29
  
30
  while(PORTA.2 == 0)
31
  {
32
    Channel = 0;
33
    ADC_GO = 1;
34
    while(ADC_GO);
35
    LATB = ADRESH;
36
  }
37
    
38
}

An RA0 ist der Schleifer eines Potis, welches zwischen Vdd und Vss 
hängt, an RA2 ist ein Widerstand gegen Vss und über einen Schalter kann 
man Vdd auf RA2 schalten. An Port B ist von jedem Pin über einen 
Widerstand zu Vss eine Diode angeschlossen.

Solange also an Port A Pin 2 Masse liegt soll der PIC lustig die 
Spannung vom Schleifer digitalisieren und das Highbyte an Port B 
ausgeben.
Problem ist, dass RB5 nix macht, das bleibt unabhägig von der 
Schleiferposition immer auf Low (wodurch dann auch die LED dunkel 
bleibt). Ich hab das Datenblatt jetzt schon ein paar mal durchgesehen 
aber ich bin scheinbar blind oder um diese Uhrzeit nicht mehr so 
auffassungsfähig wie ich sein sollte. Was muss ich noch einstellen, dass 
Port B Pin 5 auch high werden darf/kann?

von holger (Gast)


Lesenswert?

>Problem ist, dass RB5 nix macht,

Hast du LVP in den Config Words abgeschaltet?

von Michael (Gast)


Lesenswert?

Ich sachs ja, zu spät für mich...danke Holger, das wars ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.