Hallo,
Ik ben nog compleet onbekend met PICs en voordat ik ermee ga beginnen wil ik er eerst zo veel mogelijk over weten: wat stellen al die registers en poorten voor en wat kan je ermee.
Ik heb daarom het beginners boek PIC microcontrollers van B. v. Dam gekocht in de verwachting dat daarin alles voor een beginner zou worden uitgelegd. Maar wat een sof was dat.
In plaats van gedetailleerde uitleg over registers etc. worden daarin verschillende projecten behandeld die je kan nabouwen. Zonder precies te weten wat je doet dus.
Ik ben al geruime tijd op het internet aan het surfen, maar bijna nergens vindt ik gedetailleerde uitleg over de betekenis van de registers etc.
Mijn vraag: waar kan ik bedoelde informatie wel vinden?
Meo
Uitleg over registers staat in de datsesheet. Zoek (CTRL+F) in de datasheet de naam van het register op, zeker weten dat je een hele uitleg krijgt. Waarom zijn die datasheets anders 100 den pagina's lang?
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Beschrijft het boek de software zelf niet dan? Daar zou je alles uit kunnen afleiden.
Even kort:
poorten zijn de in/uitgangen van de processor. Daarmee kun je externe elektronica aansturen of uitlezen. Bv een relais schakelen, een display aansturen of de stand van een schakelaar uitlezen.
Registers zijn meestal bedoeld om instellingen van de PIC te wijzigen. Bv een timer starten, interrupts enablen en ook weer poorten aansturen (de poorten werken ook via registers).
Ik zou toch zeker ook eens op de site van Frits kijken http://www.picbasic.nl/
Waarom heb je voor een pic gekozen en niet voor atmel?
Maar zelf heb ik heel veel aan deze http://www.circuitsonline.net/artikelen/view/8 linke gehad. vind persoonlijk dat als je met asm begint het meeste leert over de pic.En kun je later ook makkelijker overstappen naar C.
Maar om het even in een zin te zegen waar voor register zijn valt niet mee.Maar zo als flipflop al zij het is om dingen te wijzen zo als van een ingang een uitgang te maken.
Waarom heb je voor een pic gekozen en niet voor atmel
In het voorbeeld dat me wel interesseert, wordt PIC16F648A gebruikt. Ik moet toch ergens beginnen?
Beschrijft het boek de software zelf niet dan
Er is wel een beschrijving, maar daarin wordt veel voorkennis verondersteld.
Uitleg over registers staat in de datsesheet
In de datasheet van PIC16F648A staan bijv de volgende beschrijvingen voor de poorten:
RA4/T0CK1/CMP2
RA5/MCLR/VPP
RB0/INT
Brown-out
Reset
CCP1 USART
Timer0 Timer1 Timer2
RA3/AN3/CMP1
RA2/AN2/VREF
RA1/AN1
RA0/AN0
RB1/RX/DT
RB2/TX/CK
RB3/CCP1
RB4/PGM
RB5
RB6/T1OSO/T1CKI/PGC
RB7/T1OSI/PGD
Low-Voltage
Programming
RA6/OSC2/CLKOUT
RA7/OSC1/CLKIN
Is voor een beginner niet echt duidelijk. Wel?
Wat betekent dat allemaal?
t'Is een begin, maar echte uitleg van de info die ik zoek staat er niet.
Meo
Anoniem
Wat betreft de uitleg over registers / poorten, dat zul je zelf moeten opzoeken in de datasheet.
http://ww1.microchip.com/downloads/en/DeviceDoc/40044F.pdf
Het lijstje wat je opsomt is slechts een beschrijving van de pinnen, zodat je snel kunt zien welke pin welke functie heeft. Als je ff verder leest (hoofdstuk 5), daar staat uitgelegt welke poorten het ding heeft, de functie per pin, enz, wat je moet instellen om een bepaalde in/uitgang op een bepaalde manier (analoog / digitaal / comperator / enz) te gebruiken, enz.
Dat geldt ook voor het instellen van timers, interrupts, analoge ingangen, kristallen, ... Ik heb zelf ook al verschillende keren meegemaakt dat iets niet werkte omdat ik gewoon iets was vergeten in te stellen oid, terwijl het gewoon letterlijk in die datasheet staat beschreven.
Verder raad ik je aan om te beginnen met iets simpels, zoals 1 poort als ingang met wat dipswitches, andere poort als uitgang met leds en dan een programmatje schrijven wat de uitgang gelijk maakt aan de ingang, of de uitgang gelijk maakt aan de geinverteerde ingang. Dan weet je in ieder geval dat je de processor kunt programmeren en heb je een begin. Het is best vervelend als je steeds maar de fout in je programma aan het zoeken bent, terwijl er keer op keer iets met het programmeren fout gaat
.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Ook ik zou je willen verwijzen naar PICbasic.
Tenzij (en ik heb lang niet alle posts grondig doorgelezen) je je slechts wilt focussen op Assembler.
De keuze van PIC boven AVR vind ik een goeie, maar dat komt omdat ik zelf ook graag preek voor eigen parochie. 
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Nederlandstalige beginnerscursus voor PIC's: www.picbasic.nl/beginners1.htm
Het Boek 'PIC microcontrollers' heb ik hier ook liggen.
Dat is een mooi boek gericht op de taal JAL.
Maar als je echt wilt leren hoe deze PIC's werken dan kan je het beste met ASM beginnen.
Dit is een heel mooi begin:
http://home.versatel.nl/edithenwilliam/william.htm
(PIC Tutorial)
Later kan je dan nog kiezen voor een hogere taal (Basic, C, JAL etc.), maar deze basis kennis zal nog vaak van pas komen...
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Oh ja, nog een algemene tip: probeer je niet te laten overdonderen door al die info in de datasheet. Als je begint heb je lang niet alle functies in de PIC nodig (of welke CPU je ook maar gebruikt). Begin met een simpel knipper LEDje oid. Dat staat vast in jouw boek. Gewoon beginnen dus, dan kom je vanzelf wel dingen tegen die je kunt opzoeken of hier vragen. Aan de slag! 
picsels
Volgend project: 7-seg gaming displays; dan dec-1982 labvoeding afmaken, dan funcgen met ad9833 afmaken, dan...
Ha, het zoveelste PICBasic/C/ASM/JAL bashing topic...
Maar serieus: ga naar de site van Frits Kieftenbelt (zoals hiervoor al gemeld), lees de paragraaf bij het kopje
Belangrijkste voordelen:
en vertel ons of dat is wat je wilt.
Dat bepaalt namelijk voor een belangrijk deel de keus.
(En het budget natuurlijk
)
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Ook goed leesvoer: Midrange Reference Manual voor de 14 bit pic's...
En kwestie van die registers... Die datasheet is niet voor niets een boek dik. In het begin krijg je'n mooi figuurtje van waar welke poortpin ligt, maar de uitleg daarvan die krijgt bijvoorbeeld voor Timer1 pas terug bij het hoofdstuk timers.
Tip:
Lees eerst de instruction set even door, een beetje verder krijg je per functie een voorbeeld hoe je't moet invoeren en wat er als resultaat uitkomt.
Dan ga je naar die registers kijken die je nodig hebt. Wil je een timer gebruiken dan ga je ook logischerwijze bij de timer kijken.
Gebruik CTRL+F en zoek op "timer" na een paar klikken zit je op de juiste pagina met het hoofdstuk timers.
Die lees je dan een paar keer. De eerste keer is chinees, de 2e keer begin je brokjes van de vertaling door te hebben en de 3e keer ben je helemaal mee hoe het werkt.
Doe een paar basisoefeningen in assembler en schakel dan maar over op een hogere programmeertaal zoals basic of iets dergelijks. Zo weet je wat er achter al die functies zit en kan je oa precieze tijden berekenen.
/edit: En een goeie manier om die instructies nog beter door te hebben is een simulator downloaden, het .asm bestand van iemand zen (simpel!) projectje openen. En kijken wat gebeurd na elke instructie.
- Welke waardes veranderen,
- Wat gebeurt er in de registers,
- ...
[Bericht gewijzigd door gitaarstudentje op (12%)]
hadv
Just find out what you like and let it kill you
Ook goed leesvoer is natuurlijk
http://www.voti.nl/pic/n_index.html
Nou, bedankt allemaal.
Ik hoef me voorlopig niet te vervelen. Fantastisch, zoveel nuttige tips
.
Intussen was ik op deze site met veel verhelderende info terecht gekomen: www.sprut.de. Heel leerzaam. Daar had dat waardeloze boek over moeten gaan!
Jammer dat ik dit allemaal niet eerder wist. Had me veel geld bespaard.
Nogmaals bedankt, Meo