Forum: Mikrocontroller und Digitale Elektronik AVR@PIC


von Hans Muster (Gast)


Lesenswert?

Kann mir mal jemand sagen wieso die meisten AVR statt PIC benutzen?
Ich habe mich fast entschlossen PIC zu lernen, aber hier sehe ich das 
fast alle AVR benutzen!

Gruss Hans

von Oliver K. (Gast)


Lesenswert?

Hallo Hans,
der Grund liegt hier:

http://www.mikrocontroller.net/articles/controllervergleich.htm

Oder anders: Warum sollte ich VW-Käfer fahren, wenn mir ein voll 
klimatisierter Golf zur Verfügung steht?

Grüße
Oliver

von Jangomat (Gast)


Lesenswert?

Der AVR ist in der Regel vielseitiger zu benützen und einfacher zu 
programmieren.
Die (teure) 18Fxxx Serie der PICs ist da aber auch schon mehr als 
gleichwertig.
Für industrielle Anwendungen (EMV-Sicherheit) fährt man mit dem PIC 
deutlich besser.
Es kommt eben immer auf die Anwendung drauf an.

von Ralf (Gast)


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

von Hans (Gast)


Lesenswert?

Hmm

Also ich kenn mich da noch nicht so aus aber wenn ich die AVR mit den 
PIC 18Fxxx vegleiche, finde ich das die Pics leistungsfähiger sind und 
kaum teurer!
Kann das sein das die 18er Familie ganz neu sind, weil im vergleich zu 
der 16er Familie ist AVR viel Leistungsfähiger.

Bin auf eure Infos gespannt :)

Gruss Hans

von Peter D. (peda)


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

von Hans (Gast)


Lesenswert?

Hmm

Hier die 18er:
http://www.distrelec.ch/cgi-bin/supply.storefront/1615485124/Ext/go/x/010101_aaaaacacaaas

Könnt Ihr damit was anfangen?
Irgentwie hab ich das gefühl das ich gerade wo ich anfangen will 
Mikrocontroller zu verstehen eine neue Generation vor der Türe steht!

Hans

von Eckhard (Gast)


Lesenswert?

Hallo,

also das ist hier eine sehr AVR orientierte Seite, da findet man dann 
naturgemäß nicht ganz so viel zu anderen MC´s. Wenn Du auf einer Seite 
Schaust, wo es in der Hauptsache um PIC geht, könntest Du denken das es 
genau andersherum ist.


Eckhard

von Eugen Dischke (Gast)


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....

von Peter D. (peda)


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

von mikki merten (Gast)


Lesenswert?

@peter
In Zeiten wo Programmspeicher noch teuer war, wurde sehr sparsam damit 
umgegangen. In Zeiten, wo zwischen 8k und 32k Flash nur ein paar Cent 
liegen. Ist es mir lieber für eine Operation 4 Byte Programmspeicher zu 
verschwenden, wenn die Ausführung dann doppelt so schnell 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.