Goedendag allen,

Ik ben nu enkele jaren into PIC`s, maar wil mijn kennis erg graag uitbreiden met kennis `van 8051 controllers en ARM`s.

De ARM is het probleem niet, daar heb ik reeds een testboard voor besteld, maar de 8051 is voor mij erg lastig.

Er zijn zo ontzettend veel smaken 8051 dat ik niet weet waarmee te beginnen.

Dingen die ik al heb kunnen vinden:
- http://www.mikroelektronika.co.yu/english/product/tools/etools.htm#4
- De diverse 8051 variant projecten van elektuur
- De Keil development kits
- De Atmel development kits

Enkele vragen die ik heb:
- Hoe programmeer je deze controllers: kan dat in circuit?
- Zijn de programmers (heb bar weinig kunnen vinden) compatible met alle types of zijn ze wat betreft programmeren ook verschillend?
- Welke controller te kiezen?

Zijn er mensen met ervaring, en zoja: hoe ziet jullie setup eruit? Wat zijn dingen waar ik aan moet denken?

- Hoe programmeer je deze controllers: kan dat in circuit?

Velen zijn parallel te programmeren, maar sommige ook in-system. Wellicht handig is eens wat datasheets van Atmel te bekijken en welke modellen ISP (in system programming hebben).

- Zijn de programmers (heb bar weinig kunnen vinden) compatible met alle types of zijn ze wat betreft programmeren ook verschillend?

Luxere universele programmers doen veel micros, eproms, plds etc. Deze ondersteunen dan ook vaak diverse merken en typen 8051. Kijk eerst welke 8051 varianten je interessant vind en bepaal dan een programmer.
Maar voor een enkel merk (b.v. Atmel) zou je wellicht een betaalbare kleine programmer kunnen vinden die dan ook alleen dat maar doet.

- Welke controller te kiezen?
De goedkoopste die aan je eisen voldoet? Dat ligt dus aan welke mogelijkheden het beestje aan boord moet hebben. Ik ben juist wat meer met PICs gaan werken omdat de 8051 niet vaak met een A/D converter is uitgerust. De klassieke variant had bepaalde bouwstenen waar geen A/D in voor kwam. Aan de andere kant, de bouwstenen die er wel in voor kwamen (timers, uart, pca) zie je nog steeds compatibel terug in alle nieuwe modellen en merken. Dus niet de ellende dat als je van type wisselt alles ineens andere namen heeft of op andere adressen zit (zoals tussen de PIC 10F, 12F en 16F)

- Wat zijn dingen waar ik aan moet denken?
Pas bij het uitzoeken van chips op of ze flash aan boord hebben. Dat lijkt me voor jou handig. Vele typen zijn in romless (extern rom/ram), otp rom, eprom of flash verkrijgbaar. Denk maar dat het een micro is die vaak in zeer grote aantallen in apparaten gaan. Daarom dus de vele varianten.
Maar lees eerst een de 8051 FAQ die rondwaart in usenet. Wellicht staat deze ook op www.8052.com. Dan heb je al meer input om een selectie te maken. Kijk verder ook gewoon wat je leveranciers kunnen leveren.

Een gratis C compiler is SDCC. Niet ideaal, maar GPL en je kunt zelf nog meewerken aan het verbeteren als je wilt ;-) Verder heb je ook 2K versies van Keil e.d.
En ook Bascom is er voor de 8051. Assemblers zijn er bij de vleet.

Ik heb met 8051-microcontrollers leren omgaan dankzij het Flashbord voor de AT89S8252 van Elektuur. Dat bord wordt volledig beschreven in de nummers 12/2001 en volgende, en de volledige cursus bestaat ook in boekvorm: "Basiscursus Microcontrollers - B. Kainka".
Een uitstekende aanvulling bij die cursus is het Amerikaanse boek "Programming and Interfacing the 8051 Microcontroller in C and Assembly - S.Yeralan & H.Emery", dat je kan bestellen op de webstek van www.rigelcorp.com,
waar je tevens de zeer goede editor & compiler READS51 gratis kan downloaden.
Het is inderdaad zo dat de AT89S8252 gaan ADC aan boord heeft, maar dit weegt niet op tegen de talrijke voordelen van de controller. Een ADC0804 bv. kan immers zeer gemakkelijk op de controller worden aangesloten.

koop een development kitje van Silicon Labs. daar zit een jtag probe bij. hang je op je usb poort de andere kant aan de jtag pinnen van de processor. je kan downloaden , flashen en sourcecode tracen !. compleet ontwikkelsysteem ( sourcecode debugger , disassmbler , ide en C compiler ( keil nota bene ! ) erbij. voor 99 euro.

www.siliconlabs.com

en bovendien hebben deze 8051's heel wat in huis ( meer dan dat spul van atmel. )

Ik gebruikt ook de AT89S8252.Ik ben tevreden ermee. De rede dat ik overgegaan was naar deze 8051 type processors, is dat ze veel I/O hebben en dat vindt ik leuk en fijn. Ik ben nooit begrensd. Ik kan zoveel dingen als ik wil schakelen, en met alleen een IC.

Antwoord op de andere vraag over ISP.
Al mijn boarden hebben isp. en RS232.
Een goeie zaak voor goedkope boarden is www.futurlec.com
Kijk hier eens een board klik

Okee, nu mijn vooruitgang, ik heb om te beginnen het Elektuur boek "Basiscursus Microcontroller" van Kainka gekocht, en heb de onderdelen nu hier bijna allemaal liggen om te beginnen met experimenteren.

Het boek heeft tot nu toe al mijn twijfels weggenomen en ik denk dat ik op deze manier lekker snel door de stof heen schiet.

Wat later ga ik misschien zo`nj silicon labs devkit kopen, maar de verkrijgbaarheid van die microcontrollers valt me wat tegen, alsook de prijs. Desalniettemin is het een mooi board.

Op 23 september 2005 18:50:13 schreef elmowww:
Okee, nu mijn vooruitgang, ik heb om te beginnen het Elektuur boek "Basiscursus Microcontroller" van Kainka gekocht, en heb de onderdelen nu hier bijna allemaal liggen om te beginnen met experimenteren.

Het boek heeft tot nu toe al mijn twijfels weggenomen en ik denk dat ik op deze manier lekker snel door de stof heen schiet.

Wat later ga ik misschien zo`nj silicon labs devkit kopen, maar de verkrijgbaarheid van die microcontrollers valt me wat tegen, alsook de prijs. Desalniettemin is het een mooi board.

verkrijgbaarheid van die dingen is excellent !. digikey heeft ze , fanrell heeft ze. prijs kan wat beter misschien maar dit is geen fabrikant die met kleine orders dealt. als je hoeveelheden koopt zijn ze goedoper dan veel ander e merken ( en de echte high speeds vind je nergens anders. ).

Op 23 september 2005 21:25:01 schreef free_electron:
[...]

verkrijgbaarheid van die dingen is excellent !. digikey heeft ze , fanrell heeft ze. prijs kan wat beter misschien maar dit is geen fabrikant die met kleine orders dealt. als je hoeveelheden koopt zijn ze goedoper dan veel ander e merken ( en de echte high speeds vind je nergens anders. ).

Tsja, daar zit wat in natuurlijk. Dan blijf ik enkel met het probleem zitten dat ik altijd kleine oplages maak, dat daar mijn kracht in zit (tot nu toe).

Maja, ik ga vrolijk met deze simpele 8051`tjes experimenteren, ARM bord komt ook over enkele weken, en daarna ga ik me weer verder orienteren tussen mijn reguliere werk door :)

Okee, weer een vrolijk eind verder :) Starterskit van Elektuur werkt.

Nu heb ik de C compiler SDCC gedownload en eea werkend gekregen, nu moet ik toegeven dat ik niet bekend ben in C, enkel C# (php).

Wat ik me afvraag, weet iemand een commando reference lijst? dus de beschikbare commando`s die standaard beschikbaar zijn uitgelegd? of moet ik alle commando`s zelf gaan schrijven mbv functions enzo?

Op 8 oktober 2005 16:21:38 schreef elmowww:
Okee, weer een vrolijk eind verder :) Starterskit van Elektuur werkt.

Nu heb ik de C compiler SDCC gedownload en eea werkend gekregen, nu moet ik toegeven dat ik niet bekend ben in C, enkel C# (php).

Wat ik me afvraag, weet iemand een commando reference lijst? dus de beschikbare commando`s die standaard beschikbaar zijn uitgelegd? of moet ik alle commando`s zelf gaan schrijven mbv functions enzo?

Wat bedoel je met commandos? Toch niet de 8051 instructieset, want die heb je zelden nodig. De C-compiler genereert die voor je. Alleen zo nu en dan is voor optimalisatie het interessant om inline assembly te kunnen gebruiken.
Het begrijpen van de instructieset is wel weer handig als je eens wilt nagaan wat de compiler nu eigenlijk voor je aanmaakt. Zeker met SDCC is dit wel eens handig. Functions klein houden (d.w.z met weinig lokale variabelen) helpt de optimalisatie van code en memory met sprongen.

Op 8 oktober 2005 18:05:18 schreef jojo:
[...]
Wat bedoel je met commandos? Toch niet de 8051 instructieset, want die heb je zelden nodig. De C-compiler genereert die voor je. Alleen zo nu en dan is voor optimalisatie het interessant om inline assembly te kunnen gebruiken.
Het begrijpen van de instructieset is wel weer handig als je eens wilt nagaan wat de compiler nu eigenlijk voor je aanmaakt. Zeker met SDCC is dit wel eens handig. Functions klein houden (d.w.z met weinig lokale variabelen) helpt de optimalisatie van code en memory met sprongen.

Ik bedoel de standaardfuncties van SDCC, dus while loops en for loops en if lussen en dergelijke. Natuurlijk ken ik deze wel, maar ik ken niet alle mogelijkheden in deze C omgeving.

Dus de functies en commando`s die in de compiler zitten, niet de 8051 instructieset

Aha, je bedoelt de taal "C". Dan kun je b.v. dit boek nemen over ANSI C. SDCC probeert namelijk de ANSI standaard zo veel mogelijk te implementeren. Zoek anders op het web naar ANSI-C en tutorials. Die zijn er vast wel.
Hoe 8051-specifieke zaken zijn geimplementeerd die niet in ANSI worden benoemd, kun je uit de SDCC manual halen. Denk aan "storage classes" (ROM, extern/intern/indirect RAM).

ik ben ook aan de slag met het Elektuur-flash board , maar nu heb ik volgende vraag :

weet er iemand of ik ook andere microcontrollers (ander merk) kan programmeren met assembler en het Elektuur flash board?

type IC: 8051 DS89C430 (dallas/maxim-ic)

mij lukt het niet, maar mss heeft het iets te maken met de pin-toewjzing voor de communicatie.(miso/mosi e.d.)
eventueel programeren met AtmelISP ? maar ik ken de data aansluitingen niet.

iemand nuttige tips?

Thanks,

Dries

Op 9 oktober 2005 13:47:20 schreef andreas99:
ik ben ook aan de slag met het Elektuur-flash board , maar nu heb ik volgende vraag :

weet er iemand of ik ook andere microcontrollers (ander merk) kan programmeren met assembler en het Elektuur flash board?

type IC: 8051 DS89C430 (dallas/maxim-ic)

mij lukt het niet, maar mss heeft het iets te maken met de pin-toewjzing voor de communicatie.(miso/mosi e.d.)
eventueel programeren met AtmelISP ? maar ik ken de data aansluitingen niet.

iemand nuttige tips?

Thanks,

Dries

Bevat dat ding wel ISP en dergelijke? Ik zou zoiezo met een geschikte programmer proggen, de mikroflash bij het boek is alleen voor de 89S8252 dacht ik. AtmelISP kan meerdere controllers aan.