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
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
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.
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
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
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
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
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
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....
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
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.