Mikrokontrollerin ohjelmointi

TTP

Haluaisin oppia ohjelmoimaan omiin elektroniikka virityksiin mikrokontrollereita. Mistäkähän löytys helposti ymmärrettävää tietoa alottelialle? Olen katsellut netistä ja lainasin kirjastosta C ohjelmointi oppaan, mutta ohjelmakoodin tekeminen on vieläkin ihan hepreaa.
Miten ohjelmakoodi tehdään toimimaan nimenomaan kontrollereissa? Ilmeisesti C-kieli on paras vaihtoehto?

Suositelkaahan mistä lähteä liikkeelle!

6

2712

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • rollingStone

      "Mistäkähän löytys helposti ymmärrettävää tietoa alottelialle?"

      Etsipä käsiisi Pentti Vahteran kirja aiheesta. Nimi taitaa olla "Mikro-ohjaimen ohjelmointi c-kielellä".

      "Miten ohjelmakoodi tehdään toimimaan nimenomaan kontrollereissa?"

      Sinun pitää tuntea tuo laitteisto ja kontrolleri. Ohjelma mukautetaan laitteistoon.

    • elektroniikkateollisuudessa
    • Mika0800

      C-kieli EI ole ainoa vaihtoehto mikrokontrollerien ohjelmointiin.

      Ensinnäkin:
      Myös Pascalia voi käyttää:

      http://users.iafrica.com/r/ra/rainier/

      Toiseksi:
      Varsinkin keskeytysaliohjelmiin assembler on edelleen pätevä vaihtoehto. Assemblerin osalta makrot ovat oikein käytettynä erittäin pätevä työväline.

      Makrojen ansiosta voit mm. käyttää useita "rekistereitä" CPU:ssa, jossa niitä on turhan vähän. makrot eivät tietenkään todellisten rekistereiden määrää nosta yhtään, joten kyseessä on ainoastaan koodin kirjoittamista helpottava keino, koodin nopeus toki tuollaisesta kärsii.

      Mutta Z80:een ja PC:n prosessoreihin tottuneelle esim. 8051:n yksi ainoa 16 -bit muistiosoitukseen kykenevä rekisteri alkaa nopeasti tuntua ahdistavalta.

      8051:ssä myös muistiarkkitehtuuri on erittäin rajoittava, varsinkin pinomuistin osalta.

      Siksi esim. Embedded Pascalin 8051 -versiossa merkkijonoparametrien välitys tapahtuu täysin normaalista pascalista poikkeavalla tavalla.

      Edullisempi hinta ja/tai enemmän esim. integroituja AD ja DA -muuntimia saattaa silti johtaa 8051 -koodiyhteensopivan mikrokontrollerin valintaan.

      Ohjelmointi taas on assemblerilla helpompaa jos käyttää esim rabbit -teknologiaa, joka pohjautuu Z80:n monipuoliseen ja rekisteririkkaaseen käskykantaan.

      Z80 on malliesimerkki 8 -bittisestä CPU:sta, jossa on silti monia 16-bit CPU:n piirteitä:

      siitä löytyy ainakin nämä 16-bit rekisterit tai 16-bit rekisterin tapaan käytettävissä olevat rekisteriparit (pari = 2 kpl 8-bit rekisteriä, jotka yhdessä toimivat 16-bit rekisterin tavoin):

      BC
      DE
      HL
      IX
      IY

      Päinvastaisesta esimerkkinä 6502 ja 6510, joissa esim. 16 -bit muistiosoitus on hankalaa, kun ei ole yhtään 16-bit rekisteriä. Tällaisen valinta on jonkinlaista ohjelmoijan masokismia.

      • Kommenttia

        Muuten asiaa mutta kaikki mainitsemasi prosessorityypit ovat hyvin vanhanaikaisia. Niitä käytetään enään erikoissovelluksissa ja niissä tapauksissa joissa käytetään vanhoja kortteja.

        Uusiin sovelluksiin käytetään lähinnä ARM ja AVR pohjaisia mikrokontrollereita.
        ARM:a vaativimpiin ja AVR:ää vaatimattomimpiin.

        Toki molemmille löytyy c:t, pascalit ja assemblerit.
        Esim. ARM:lle sopiva Pascal on
        http://www.freepascal.org/


      • 0800akiM

        "Haluaisin oppia ohjelmoimaan omiin elektroniikka virityksiin mikrokontrollereita."

        "Z80 on malliesimerkki 8 -bittisestä CPU:sta, jossa on silti monia 16-bit CPU:n piirteitä:"

        Muistaakseni kaveri ei pyytänyt kurssia vaan kysyi mistä löytyy tietoa, nyt varmaan kaikki on kuosissa kun kerroit makroista - JEP.

        Ja faktana mainittakoon että juurikaan missään pesukoneessa yms. ei ole pascalilla koodattuja softia kontrollereihin.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos

      Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä
      Maailman menoa
      91
      2900
    2. Pelotelkaa niin paljon kuin sielu sietää.

      Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda
      Maailman menoa
      299
      1686
    3. Mikä saa ihmisen tekemään tällaista?

      Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?
      Sinkut
      246
      1557
    4. Minkä merkkisellä

      Autolla kaivattusi ajaa? Mies jota kaipaan ajaa Mersulla.
      Ikävä
      87
      1391
    5. IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!

      Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel
      Maailman menoa
      402
      1374
    6. Nyt kun Pride on ohi 3.0

      Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että
      Luterilaisuus
      398
      1292
    7. Kiitos nainen

      Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik
      Tunteet
      2
      1079
    8. Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa

      Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat
      Suomalaiset julkkikset
      38
      1037
    9. Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?

      Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun
      Maailman menoa
      329
      874
    10. Miksi Purra-graffiti ei nyt olekkaan naisvihaa?

      "Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden
      Maailman menoa
      257
      855
    Aihe