Jetzt habe ich einmal schnell ein Programm extra für die geschrieben. Auch gleich von mir getestet. Es wird der interne Interrupt des Timers verwendet.
über LJMP HP müsst ihr noch die Include-Datei des Controllers einfügen.
Das hier ist ein 8Bit Zähler von 0 bis 255, immer wenn der Port 3.3 an Masse gelegt ist zählt er.
Code:LJMP HP ORG 000bh ; Wenn der Interrupt ausgelöst wird gehts hier los INC R0 MOV P2,R0 Weiter: MOV TL0,#0xAF MOV TH0,#0x3C reti ;---------------------------------------------------------------------------------------------------------------------------- ;Interroutroutine - wird nur einmal vom Controller abgearbeitet HP: MOV TL0,#0xAF MOV TH0,#0x3C MOV TMOD,#00000001b MOV P2,#0d SETB ET0 ;Interruptfreigabe SETB EA ;allgemeine Interruptfreigabe ;Nach dem Befehl RETI geht der Controller wieder hier rein StartStop: JB P3.3,los sjmp StartStop stop: CLR TR0 sjmp StartStop los: SETB TR0 ;Wenn StartStop gedrückt wurde, wird der Timer aktiviert warte: JNB P3.3,stop ;Wenn StartStop nicht mehr gedrückt ist wird der Timer deaktiviert sjmp warte end







Zitieren
Lesezeichen