Hi Leute!
ich bin gerade dabei mir ein paar Grundkenntnisse am µController anzueignen und bin gerade beim Timer-interrupt.
habe mir dazu mal einfach folgendes Programm geschrieben:
#include <reg51.h>
#include <stdio.h>
#include <math.h>
void test(void);
void main(void)
{
IE=0x02; // Timer0 enabled (Page 31)
TMOD=0x03; // Timer0 TL0=8Bit (Page 13)
TCON=0x10; // Timer0 ON (Page 14)
while(1)
{}
}
void test(void) interrupt 1
{
TL0=0x00;
}
wenn ichs richtig sehe dann müsste der Timer (TL0) nachoben zählen bis zum oberflow (255) dann müsste ein interrupt ausgelöst werden, und der Timer wieder auf 0 gesetzt werden. (und alles beginnt von neuem)
jedoch kommt das Programm niemals in die test() Funktion.
Ich verwende als Oberfläche Keil (hier kann man ja Peripherals-Menü einige Punkte bei Interrupts und Timern einstellen, muss ich hier etwas verändern und wenn ja was bewirkt das).
Das Programm ist für einen Phillips 89c51 geschrieben (dazu hab ich das datenblatt hochgeladen, die seiten wo man die jeweiligen Bitkombinationen findet stehen im oben Programm, für de fall das jemand sich die mühe macht und auch das kontrolliert)
das programm ist bis jetzt nur im Simulator gelaufen. (hab zur zeit keine möglichkeit um damit direkt auf nen µC zu gehen, vorallem sieht man da ned wirklich was, und möchte auch den simulator verstehen)
danke im vorhinein für eure Hilfe
mfg Stephan
[ Diese Nachricht wurde geändert von: Flyinglosi am 12 Nov 2004 23:08 ]
[ Diese Nachricht wurde geändert von: Flyinglosi am 12 Nov 2004 23:09 ]