Forum: Mikrocontroller und Digitale Elektronik delays100ms mit MPLAB


von rapeur (Gast)


Lesenswert?

Hallo zusammen, ich habe ein Problem mit delays von Pic18F4550 mit 
compiler C und Frequenz 20MHz ich will solche schaltung realisiert

|
|
|        EIN
|       |----|--------------------|----|AUS
|       |    |                    |    |
|       |    |                    |    |
|       |    |                    |    |
|-------|----|--------------------|----|-------
         delays 100ms              delays 100ms


ich habe viele Programme Probiert aber nicht geschafft, denn das delay 
Time war immer unterschiedlich.
ich brauche Hilfe
Gruß

von Franko P. (sgssn)


Lesenswert?

Hallo

ich weiss nicht , wie dein Programm aussieht, aber versuchs mal so:

//delay, CLK/4,:8:256 = 1,66*1ms bei 4,9152 MHz, ohne Interrupt
//delay, CLK/4,:8:256 = 2,22*1ms bei 3,6864 MHz, ohne Interrupt
//
void delay( unsigned char ms )
{
  TMR3L = 0;
  TMR3H =  0-ms;//(0xff ^ ms);  //delay = ms*1,66 oder 2,22 ms

  PIR2bits.TMR3IF = 0;
  T3CONbits.TMR3ON = 1;  //Timer start
  while( PIR2bits.TMR3IF == 0 );
  T3CONbits.TMR3ON = 0;  //Timer wieder aus.
}


Das ist ein funktionierender Code, allerding nicht mit 20MHz sonder mit 
4,9152MHz. Sollte aber anpassbar sein.

Und das steht bei mir für die Initialisierung:
...
TMR3L = 0;      //delay-Funktion
  TMR3H = 0;
  T3CON = 0x30;    //Vorbereiten aber nicht starten, Vorteiler 8
  T3CONbits.TMR3ON = 0;

...

Gerhard

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.