AVR@PIC

Gast #23202
Lesenswert?

Hallo,

habe bis vor kurzem mit dem PIC16f84 gebastelt und bin jetzt auf AVRs 
umgestiegen. Der Grund lag bei mir vor allem im Preis (ein 
vergleichbarer AVR ist günstiger als ein PIC) und bei der Unterstützung 
im Internet und durch frei verfügbare Entwicklungstools wie C-Compiler 
usw.. Ausserdem ist der AVR wie oben schon gesagt besser zu 
programmieren (z.B. keine Pages im RAM). Was man den PICs zugute halten 
muß, ist ihre Robustheit. Habe schon öfters mal nen kurzen gehabt und 
das Ding ist richtig heiß geworden und es funktionierte nachher trotzdem 
noch.

Gruß,

Ralf
#23204
Lesenswert?

Der PIC18F muß wohl brandneu sein. Ich hab in weder bei Segor noch 
Farnell gefunden.

Typische PICs sind z.B. der PIC12C509. Und wenn man sich dessen 
Architektur mal ansieht, sollte wohl schnell klarwerden, warum ein AVR 
um vieles leichter zu programmieren ist.

Soweit ich das jetzt überblicken konnte, muß man aber selbst beim PIC18F 
im Interrupthandler immer erst mühsam ermitteln, welcher Interrupt denn 
nun eigentlich zugeschlagen hat.

Die kleineren PICs erlauben nicht mal, Tabellen oder Texte abzulegen, 
d.h. das so wichtige LPM (AVR) oder MOVC (8051) fehlt hier völlig.


Peter
Gast #23207
Lesenswert?

hallo, also ich hätt fast auch schon mit den pic's angefangen, aba der 
asm code war für mich als anfänger kaum zu duchschauen, zumal ich nicht 
grade viel nützliches im net gefunden hab. und als ich ein buch über die 
avrcontroller in der FH bibliothek gefunden hab, hab ich mir die avr 
unter die lupe genommen und mich für sie entschieden. der hauptvorteil 
der avr's für mich, iss wohl ihr speed (bis zu 16 MIPS) zum anderen, die 
recht vielen nützlichen befehle z.B. asr für die schnelle division von 
vorzeichenbehafteten zahlen durch 2, oder eben das schon erwähnte Load 
Program Memory, einen hardwaremultiplier, haben manche 
avr's(mega)auch....
#23208
Lesenswert?

Ich gebe zu, ich hab nur in die PIC-Datenblätter geschaut. Und da sieht 
es so aus, als ob man wirklich jeden Scheiß durch das W-Register 
durchschleusen muß.
D.h. Assemblerprogrammierung aufm PIC muß ne Qual sein.

Beim AVR kann man wenigstens innerhalb der 32 Register alles machen.

Am komfortabelsten ist Assembler aber auf dem 8051, da kann man die 
meisten Operationen auch direkt im RAM und im I/O-Bereich machen. Z.B. 
"XRL P1, #0F0h" oder "INC SBUF", "DJNZ 7Fh, Label" usw.
Und ideal für Steuerungen, Logik und Statemachines sind dessen 
Bitbefehle "ORL C,/bit", "JBC bit" usw. Man kann quasi eine Schaltung 
aus TTL-Gattern direkt in Befehle umsetzen.


Unter C spielt das dann keine so große Rolle mehr.
Aber auch da sticht der 8051 heraus, indem er den geringsten Overhead 
benötigt. Der Overhead von C gegenüber Assembler auf dem 8051 beträgt 
typisch nur etwa 5% ... 20%.
C-Programme auf dem 8051 benötigen in der Regel wesentlich weniger 
Programmspeicher als C auf dem AVR und oftmals sogar weniger als 
Assembler auf dem AVR.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren