Hi @ all, ich bin Neuling im Bereich Mikrocontroller und habe mich über ein Tutorial (leider Englisch) schon ein wenig in Assembler eingearbeitet. Zu meinen Fragen: 1. Angenommen ich betreibe den PIC16F628 mit einem 4Mhz Quartz, wie viele Wiederholungen muss ich einfügen, damit ich 1 Sekunde Wartezeit habe. DELAY movlw 9Fh ;DEN WERT 159 IN movwf C1 ;DEN COUNTER 1 SCHREIBEN movlw 9Fh ;DEN WERT 159 IN movwf C2 ;DEN COUNTER 2 SCHREIBEN LOOP decfsz C1,1 ;C1 UM 1 VERMINDERN UND goto LOOP ;AUF NULL PRUEFEN WENN ;|= 0 ZU LOOP GEHEN SONST: decfsz C2,1 ;C2 UM 1 VERMINDERN UND goto LOOP ;AUF NULL PRUEFEN WENN ;|= 0 ZU LOOP GEHEN SONST: return ;DELAY BEENDEN UND MIT PROG ;FORTFAHREN 2. Warum kann ich den Delay nicht auf FFh (255) setzen? Mir scheint, als würde MPLAB die Buchstaben im Hex-Format nicht akzeptieren... 3. Ich habe einen Sourcecode geschrieben und würde mich freuen, wenn Ihr mal nachschauen könnt, ob der Quellcode funktionsfähig ist. Danke im voraus, Grüße Tony
Zu 2: Versuch's mal mit 0FF (Null FF). MPlap verste FFh u.U. als Text...
Hi, 0FFh hat geklappt, danke. Bleiben nurnoch die anderen beiden Fragen. gruß Tony
Zu 1: Allgemein macht man das so, dass man die Abarbeitungszeiten der Befehle aus dem Datenblatt / Instruction Set herausguckt (steht in der Regel bei der Befehlserklärung oder in einer Befehlsübersicht). Daraus kann man dann eine Formel machen... Guck dir einfach an, wie lange / wieviele Taktzyklen die innere Schleife braucht. Abfragen haben in der Regel vom Ergebnis abhängige Ausführungszeiten (z.B. Bedingung erfüllt 2 Taktzyklen, Bedingung nicht erfüllt 3 Taktzyklen). Das macht man mit der äusseren Schleife dann auch noch, und bekommt dann die Dauer heraus. Etwas Algebra und ein glückliches Händchen, und die gewünschte Zeit wird gewartet (per Timer ist sowas schöner...) Auf den Source werde ich keinen Blick werfen, da ich keine Ahnung vom PIC habe (ist nicht mein Lieblingscontroller...).
Kann dir jetzt zwar nicht direkt helfen, da ich von PICs noch weniger Ahunung hab als von AVRs, aber schau dir mal die Seite hier an: www.sprut.de Auf der Seite findest du sehr viele Grundlagen über die PICs und deren Programmierung. Auf Deutsch! Sebastian
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.