1 / 15

Programiranje vgrajenih elektronskih sistemov

Programiranje vgrajenih elektronskih sistemov. Laboratorijske vaje http://lniv.fe.uni-lj.si/mt.html. Vgrajeni sistemi. Vgrajeni sistem je elektronsko vezje z mikroprocesorjem, vgrajeno v neko napravo Komponente: procesna enota: mikroprocesor programski in podatkovni pomnilnik

marlon
Download Presentation

Programiranje vgrajenih elektronskih sistemov

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programiranje vgrajenihelektronskih sistemov Laboratorijske vaje http://lniv.fe.uni-lj.si/mt.html

  2. Vgrajeni sistemi • Vgrajeni sistem je elektronsko vezje z mikroprocesorjem, vgrajeno v neko napravo • Komponente: • procesna enota: mikroprocesor • programski in podatkovni pomnilnik • periferne enote UVOD Mikroprocesor in mikrokrmilnik

  3. Mikroprocesor in mikrokrmilnik RAM ROM mikroprocesor periferne enote mikrokrmilnik UVOD Programiranje

  4. Programiranje mikroprocesorja • programiranje v zbirniku • specifični ukazi za določen procesor • programiranje na strukturnem nivoju • ukazi neodvisni od vrste procesoja • npr. programski jezik C ali C++ PROGRAMIRANJE Primerjava C : zbirnik

  5. Primerjava C : zbirnik • program, ki izračuna vsoto prvih 10 števil MOV R0,#0 // vsota=0 MOV R1,#10 // i=10 MOV R2, #1 // konstanta 1 loop: JZ R1, next // konec,če i=0 ADD R0, R1 // vsota += i DEC R1 // i-- JMP loop // skok nazaj next: int i, vsota=0; for (i=10; i!=0; i--) vsota += i; C: visokonivojski zbirnik: na nivoju registrov PROGRAMIRANJE Razvoj programske opreme

  6. Razvoj programske opreme C koda C koda zbirniška koda prevajalnik asembler objektna koda objektna koda izvršilna koda razhroščevalnik povezovalnik knjiž- njica izvršilna koda verifikacija implementacija PROGRAMIRANJE Program za vgrajeni procesor

  7. Program za vgrajeni procesor • Kadar nimamo operacijskega sistema se program izvaja v neskončni zanki • Program v jeziku C je napisan znotraj funkcije main() void main() { inicializacija while (1) {// neskončna zanka glavna zanka } } PROGRAMSKI JEZIK C Primer programa

  8. Primer programa #include "io.h" void main() { _LCDInit(); printf("Lep pozdrav"); while (1) ; } • _LCDInit() inicializacija prikazovalnika • printf() funkcija za izpis na prikazovalnik • definicija V/I funkcij je v knjižnjici “io.h” • while(1) neskončna zanka PROGRAMSKI JEZIK C Posebni znaki

  9. Posebni znaki PROGRAMSKI JEZIK C Spremenljivke

  10. Spremenljivke • Pri deklaraciji povemo podatkovni tip • cela števila: int • realna števila: float • vektorji: [] int i; // celo število float k; // realno število int p[16]; // polje 16 celih števil i = 2; k = 0.135; p[i] = 80; PROGRAMSKI JEZIK C Računski izrazi

  11. Računski izrazi • Pri računskih izrazih uporabljamo aritmetične operatorje int a, b; // cela števila float k1, k2, r; // realna števila r = a * k1 + b * k2; PROGRAMSKI JEZIK C Logični izrazi

  12. Logični izrazi logični // primer if ( (a > 1) && (a < 16) ) { ... } relacijski • Rezultat je resničen (vrednost različna od 0) ali neresničen (vrednost 0) PROGRAMSKI JEZIK C Pogojni stavek

  13. Pogojni stavek pogoj ? DA NE if (pogoj) { stavek1; // pogoj izpolnjen } else { stavek2; // sicer } stavek1; stavek2; if (c<33) { printf("Manjše od 33"); } else { printf("Večje od 33"); } PROGRAMSKI JEZIK C while zanka

  14. while zanka • Stavki v zanki se ponavljajo, dokler je pogoj izpolnjen void main() { int c=0; while (c<100) { // če je c<100, ponavljaj printf("c = %d", c); c++; } while (1) ; // neskončna zanka } PROGRAMSKI JEZIK C funkcije

  15. Funkcije • Z razdelitvijo programa na funkcije dosežemo večjo preglednost in se izognemo ponavljanju programske kode • Izmenjava podatkov se vrši preko parametrov _LCDInit(); // funkcija brez parametrov printf("c je enako %d", c); // funkcija izpiše // parametre c = getchar(); // funkcija vrne vrednost PROGRAMSKI JEZIK C

More Related