PIC 16F84A Problem mit GOTO-Befehl......... Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
| Autor |
PIC 16F84A Problem mit GOTO-Befehl......... Suche nach: pic (2060) |
|
|
|
|
BID = 125036
Kairan Gerade angekommen
Beiträge: 1
|
|
Hallo!
Ich benutze einen PIC 16F84A mit dem PIC 16F84 ELV Emulator Programmer. Dazu die Testplatiene mit den 8 LEDs, die aufleuchten sollen, wenn das zugehörige Bit von PORTB auf 0 liegt.
Das Programm soll erst jede 2. LED ansteuern, dann warten und dann die anderen ansteuern. Da das Umschalten nicht geklappt hat habe ich 2 Befehlszeilen eingefügt, die die beiden äußeren LEDs ansteuern und diese Zeilen durch das Programm geschoben. damit habe ich die Zeile mit dem Fehler identifiziert. Das Problem liegt offenbar darin, das der goto-Befehl nicht ausgeführt wird.
Da ich den Quellcode leider nicht von meinem Programmierrechner runterbekomme muß ich ihn abtippen und hier reinschreiben. Tut mir leid, aber anders geht nicht........
LIST p=16F84A
#include <p16f84a.inc>
UNI1 equ 0Ch
UNI2 equ 0Dh
UNI3 equ 0Eh ;nicht mehr benötigt, aber noch nicht gelöscht
org 000h
clrw
bsf 03h,5 ;Bank1
movwf 01h ;Option reg löschen
bsf 01h,5 ;Takt extern
movwf 06h ;PORTB als Ausgänge
bcf 03h,5 ; Bank0
movwf 06h ;PORTB = 0
loop movlw 0AAh
movwf 06h ;PORTB = 10101010
movlw 0EFh
movwf 0Eh ;UNI3
movwf 0Ch ;UNI1
wart movwf 0Dh ;UNI2
bsf 06h,0 ;Laufkontrolle (rechts 2 Lichter aus)
warte decfsz 0Dh,1
goto warte ;Hier liegt das Problem(goto wird nicht gemacht)
bcf 06h,7 ;Laufkontrolle (links 2 Lichter an)
decfsz 0Ch,1
goto wart
movlw 055h
movwf 06h ; PORTB = 01010101
movlw 0FFh
movwf 0Eh ; UNI3
movwf 0Ch ; UNI1
warte3 movwf 0Dh ; UNI2
warte4 decfsz 0Dh,1
goto warte4
decfsz 0Ch,1
goto warte3
goto loop
END |
|
BID = 125107
Her Masters Voice Inventar
     
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 5312 Wohnort: irgendwo südlich von Berlin
|
|
LIST p=16F84A
#include <p16f84a.inc>
UNI1 equ 0Ch
UNI2 equ 0Dh
UNI3 equ 0Eh ;nicht mehr benötigt, aber noch nicht gelöscht
org 000h
clrw
bsf 03h,5 ;Bank1
movwf 01h ;Option reg löschen
bsf 01h,5 ;Takt extern
movwf 06h ;PORTB als Ausgänge
bcf 03h,5 ; Bank0
movwf 06h ;PORTB = 0
loop movlw 0AAh
movwf 06h ;PORTB = 10101010
movlw 0EFh
movwf 0Eh ;UNI3
movwf 0Ch ;UNI1
wart movwf 0Dh ;UNI2 <--- Was steht an Speicherzelle 0D?
bsf 06h,0 ;Laufkontrolle (rechts 2 Lichter aus)
warte decfsz 0Dh,1 <--- Und jetzt noch was von der undefinierten Speicherzelle abziehen? Da würd ich auch den folgenden Befehl ignorieren
goto warte ;Hier liegt das Problem(goto wird nicht gemacht)
bcf 06h,7 ;Laufkontrolle (links 2 Lichter an)
decfsz 0Ch,1
goto wart
_________________
Tschüüüüüüüs
Her Masters Voice
aka
Frank
***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
*********************************** |
|
BID = 125201
SIGINT Stammposter
   
Beiträge: 381 Wohnort: Mönchengladbach
|
Hallo Kairan,
wenn du schon eine Include-Datei nutzt,dann nutze doch die Möglichkeit die symbolischen Namen der Register anzugeben:
| Code : |
clrw
bsf 03h,5 ;Bank1
movwf 01h ;Option reg löschen
bsf 01h,5 ;Takt extern
movwf 06h ;PORTB als Ausgänge
bcf 03h,5 ; Bank0
movwf 06h ;PORTB = 0
kann wie folgt besser lesen:
BSF STATUS,RP0
CLRF OPTION_REG
BSF OPTION_REG,T0CS
CLRF TRISB
BCF STATUS,RP0
CLRF PORTB
|
|
Gruß,
SIGINT
|
BID = 125934
noch_frei Gerade angekommen
Beiträge: 2
|
@Her Masters Voice
Zitat :
| | Was steht an Speicherzelle 0D? |
0xEF, da es der letzte Wert ist, der in W geladen worden ist. Ich sehe keinen Befehl, der diesen Wert verändert.
@Kairan
Da Du die Frage auch hier gestellt hast, findest Du dort auch meine Vermutung zu Deinem Problem.
Viele Grüße
Bernd
[ Diese Nachricht wurde geändert von: noch_frei am 10 Nov 2004 5:42 ]
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 17 Beiträge im Durchschnitt pro Tag heute wurden bisher 7 Beiträge verfasst © x sparkkelsputz Besucher : 187994003 Heute : 13233 Gestern : 11123 Online : 532 28.12.2025 20:24 10 Besucher in den letzten 60 Sekunden alle 6.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0448760986328
|