Forum: Mikrocontroller und Digitale Elektronik Hallo noch mal.


von MichZet (Gast)


Angehängte Dateien:

Lesenswert?

Hallo noch mal.

Dazu kommt jetzt eine Lichtschranke.

Ein Rundenzähler soll es werden.

(Und später, später, später, mit Zwischenspeicher der Zeiten und 
auslesen der schnellsten zeit)

Hat das liebe Forum vielleicht ein Paar Adressen zu einfachen Assembler 
Beispielprogrammen. Ich suche und suche und suche. Alles was ich bis 
jetzt gefunden habe ist noch eine Stufe zu hoch. Da haben einige von 
euch Recht. Und soll ich jetzt putzen gehen. Ne. Aber wenn ihr Lust habt 
mich einwenig weiter zu leiten, danke ich denjenigen.

In Assembler ?
   Oder
In C?


Gruß Michi

von zero_gravity (Gast)


Lesenswert?

hey MichZet,

blätter mal durch das avr-asm-tutorial hier auf der seite...
das is eigentlich ganz gut für den einstieg :)

lg
zero_gravity

von Peter D. (peda)


Lesenswert?

MichZet wrote:
> Hallo noch mal.

Du weißt schon, was mit "Betreff" gemeint ist?

Was hindert Dich dann daran, dort was sinnvolles einzutragen?
(siehe Postingregel 2)


> Hat das liebe Forum vielleicht ein Paar Adressen zu einfachen Assembler
> Beispielprogrammen.

Welcher Assembler, welche CPU?
(siehe Postingregel 3)


Peter

von MichZet (Gast)


Lesenswert?

Regeln sind dazu da um sie zu respektieren. Entschuldigung.

Betreff: Pic16F84A  Rundenzähler.

Hallo,
ich habe ein LCD – Display, eine Infrarot – Lichtschranke.
Die Pic´s 16F84A o. 16F627A o. 16F876A

Nachgelesen habe ich, dass der 16F84A für das Display passt.

Sind die Abwärts kompatibel? Der große kann auch alles was die kleineren 
können
(würde auch der 16F876A funktionieren?)

Noch bin ich nicht sehr weit mit programmieren.
Assembler, ich dachte es gibt nicht so viele, .ASM
Ein kurzer Ausschnitt was ich meine:

;----------------------------------------------------------------------- 
--;
;                 Initialize the LCD 
;
;----------------------------------------------------------------------- 
--;
initlcd:
  movlw D'40'
  call   nmsec                  ;  Wait 40 msecs before Reset
  bcf    RS                     ;  send an 8 bit instruction
  movlw  0x03                   ;  Reset Command
  call   NybbleOut              ;  Send the Nybble
  call   Dlay5                  ;  Wait 5 msecs before Sending Again
  EStrobe
  nop
  nop                           ;  Wait 244 usecs before Sending the 
Second Time
  EStrobe
  nop
  nop                           ;  Wait 244 usecs before Sending the 
Third Time
  bcf    RS                     ;  send an 8 bit instruction
  movlw  0x02                   ;  Set 4 Bit Mode
  call   NybbleOut
  nop
  nop
  movlw  0x028                  ;  4 bit, 2 Line, 5x7 font
  call   SendINS
  movlw  0x010                  ;  display shift off
  call   SendINS
  movlw  0x001                  ;  Clear the Display RAM
  call   SendINS
  call   Dlay5                  ;  Note, Can take up to 4.1 msecs
  movlw  0x006                  ;  increment cursor
  call   SendINS
  movlw  0x00C                  ;  display on cursor off
  call   SendINS
  return

Aber dann?

Muss ich beim programmieren auf etwas achten um den Pic nicht zu 
(zerschießen)

Wo ich denke eine Basis zu haben und von da aus selber weiter komme zu 
können, währe ein Programm in, (bin jetzt verunsichert) ich denke 
Assembler, was nach einem Tasten druck den Text in der ersten und 
zweiten Zeile nach oben verschiebt und den nächsten frei gibt,  andere 
taste für wieder zurück.

Ist das schon ein sehr langer Code?
Gelesen habe ich: das Display hat selber auch einen Speicher bis 16 
Zeilen?
Und, und, und.
Nur noch alles unter einen Hut zu bekommen ist sehr schwierig.

Danke, Entschuldigung,
Michi.

von Frank L. (hermastersvoice)


Lesenswert?

Auch wenn du es mit der Suchfunktion hättest selbst herausfinden können 
gibts eine ganz hervorragende Seite wenns um PICs geht. Guck dich mal 
bei www.sprut.de um, da kannst du alles lernen was man für einen 
PIC-Einstieg braucht.

bye

Frank

von Peter D. (peda)


Lesenswert?

MichZet wrote:

> Nachgelesen habe ich, dass der 16F84A für das Display passt.

Ein MC paßt erstmal zu garnix.
Man macht ihn passend, indem man das entsprechende Programm schreibt.

Ehe man aber damit anfäng, prüft man, ob er die benötigte Anzahl IO-Pins 
hat, um alles anzuschließen.
Ein LCD braucht 6 Pins. Will man Zeiten messen, sind 2 Pins für nen 
Quarz vorzusehen usw.


> Assembler, ich dachte es gibt nicht so viele, .ASM

Assembler gibts mindestens so viele, wie MC-Familien und darin nochmal 
einige.

> Ist das schon ein sehr langer Code?

Nein, lang geht bei 10.000 Zeilen los, sehr lang bei 100.000.


> Gelesen habe ich: das Display hat selber auch einen Speicher bis 16
> Zeilen?

Übliche LCDs haben bis zu 4 Zeilen, es ist aber im allgemeinen sinnfrei 
den Inhalt zurück zu lesen. Man sollte schon wissen, was man 
reingeschrieben hat.
Wichtig ist, daß man nicht zu oft was neues reinschreibt, der Mensch muß 
erstmal Zeit haben, es auch zu lesen.


> Nur noch alles unter einen Hut zu bekommen ist sehr schwierig.

Besonders beim PIC.
Ich finde die AVRs viel einfacher zu lernen und programmieren.


Peter

von Gast (Gast)


Lesenswert?

Warum schreibst du nicht in deinem anderen Thread weiter. Du muss nicht 
mehrere mit einem Sinnfreien Betreff aufmachen. Weißt du jetzt was ein 
Spannungsteiler ist?

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
Noch kein Account? Hier anmelden.