BID = 139874
Imyourdaddy Gerade angekommen
Beiträge: 7 Wohnort: Wien
|
Hallo!
Hallo!
Ich möchte eine Zeitmessung mit einer Zwischenzeit bauen, die Ausgabe erfolgt auf einer LCD-Anzeige und das ganze soll natürlich interrupt gesteuert laufen(Timer0).
Ich habe einen PIC-Controller 16F84. Nun habe ich folgendes Problem:
Ich hätte gerne dass die Zeitanzeige bei 00:0 (sec:zehntel) startet. In meiner bisherigen Interuptroutine habe ich aber bis lang noch mit dem Sekundenzähler zu kämpfen.Bin schon froh dass es ziemlich genau von 0 bis 9 im sekundentakt zählt.
Wie funktioniert ein Überlauf? In diesem Programm funktioniert er leider nicht wie gewünscht:-(
Meine Interruptrutine schaut so aus:
interrupt int_server (void)
{
int_save_registers
if (INTCON.2 == 1)
{
count++;
if (count == 61)
{
count =0 ;
counter++;
if (counter == 10)
counter =0 ;
}
byte = 0x0c0; //Wechsel in die nächste Zeile
SendCmd (); //Positionsangabe am Display
byte = 0x0c5; //An stelle 5
SendCmd (); //Positionsangabe am Display
byte = counter+48; //ASCII-Code
SendChar ();
if(counter == 10)
{
zehner++;
byte = 0x0c5; //Zeile 2;Stelle 5
SendCmd ();
byte = zehner;
SendCmd ();
byte = 0x0c6;
SendCmd ();
byte = counter +48;
}
INTCON.2 = 0;
}
int_restore_registers
}
Könnt ihr mir hierbei weiter helfen?
WElche Optionregister und INTCON's muss ich setzen?
Mit freundlichen Grüßen
Günther Obrist
|