Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

1 SKOLELABORATORIET Programmering av PIC-mikrokontrollere Grunnkurs Av Nils Kr. Rossing Skolelaboratoriet ved NTNU Nils Kr. Rossing.

Liknende presentasjoner


Presentasjon om: "1 SKOLELABORATORIET Programmering av PIC-mikrokontrollere Grunnkurs Av Nils Kr. Rossing Skolelaboratoriet ved NTNU Nils Kr. Rossing."— Utskrift av presentasjonen:

1 1 SKOLELABORATORIET Programmering av PIC-mikrokontrollere Grunnkurs Av Nils Kr. Rossing Skolelaboratoriet ved NTNU Nils Kr. Rossing

2 2 SKOLELABORATORIET Kursinnhold Introduksjon til mikrokontroller - Det første Basic-programmet - Programmer et lyskryss -

3 3 SKOLELABORATORIET Mikroprosessor - PICAXE Behandling av informasjon Lys Lydsignal Motor Servostyring Display Talesyntese mm Lys, temperatur Avstand-sensor Farge-sensor IR-sensor Brytere IR-mottaker Fjernstyring Tastatur (Num) m.fl. Basic- programmering og Flow-diagram programmering

4 4 SKOLELABORATORIET Byggesettet PICAXE sett for £ 22 + MVA

5 5 SKOLELABORATORIET Programmeringskabel PICAXE027

6 6 SKOLELABORATORIET Eksperimentkort for bruk i skolen AXE092

7 7 SKOLELABORATORIET Mikrokontroller 8 pin +4,5V 1 0V 8 Intern hukommelse Databehandlingsenhet Innganger Utganger In In 3 Out 2 5 Out Inngang 0 til +V (0 eller 1) ADC leser verdien av en spenning IR – Leser info fra fjernkontroll Utgang 0 til +V (0 eller 1) Tune - lydutgang

8 8 SKOLELABORATORIET Koblingsskjemaet for kortet PICAXE092

9 9 SKOLELABORATORIET Hvor finnes programvaren?

10 10 SKOLELABORATORIET Programeditor

11 11 SKOLELABORATORIET Bruk av programvare editor

12 12 SKOLELABORATORIET Det første programmet Start high 0 wait 1 low 0 wait 1 main: goto

13 13 SKOLELABORATORIET Help-funksjonen

14 14 SKOLELABORATORIET

15 15 SKOLELABORATORIET Byte variable b0 – b13 08M har 14 byte-variable og 7 word-variable b0 – b13 kan lagre verdier 0 – 255 w0 – w6 kan lagre verdier 0 –

16 16 SKOLELABORATORIET Simulering

17 17 SKOLELABORATORIET Simulere kretsen

18 18 SKOLELABORATORIET Syntaks sjekk

19 19 SKOLELABORATORIET Programmering

20 20 SKOLELABORATORIET Oppgave 1 Programmer et trafikklys Bestem rekkefølgen på lysene i et trafikklys når lyset skifter fra rød til grønt og fra grønt til rødt. Programmer trafikklyset slik at: Det er rødt i 5 sek, gult i 1 sek og grønt i 5 sek. Nyttige opplysninger: - Rød lysdiode er koblet til utgang 0 - Gul lysdiode er koblet til utgang 1 - Grønn lysdiode er koblet til utgang 2 Bryterposisjoner: Alle brytere skal være ”on”

21 21 SKOLELABORATORIET Koblingsskjemaet for kortet PICAXE092 Nyttige opplysninger: - Rød lysdiode er koblet til utgang 0 - Gul lysdiode er koblet til utgang 1 - Grønn lysdiode er koblet til utgang 2

22 22 SKOLELABORATORIET Oppgave 1 Nyttige kommandoer wait Stopper programmet i s - sekunder, f.eks.: wait 3 high Setter utgang n til høy spenning (ca. 4,5 V), f.eks.: high 2 low Setter utgang n til lav spenning (ca. 0 V), f.eks.: low 2 :Setter opp en adresse, f.eks.: main: goto Hopp til en adresse som er angitt i programmet, f.eks. goto main

23 23 SKOLELABORATORIET Løsning oppgave 1 Programmer et trafikklys

24 24 SKOLELABORATORIET Endre sekvensen i oppgave 1 slik at trafikklyset blir stående på rødt lys, helt til noen gir fotgjengerknappen ett kort trykk. Etter 5 sek. skal lyset skifte til grønt på riktig måte, være grønt i 5 sek., før det igjen skifter tilbake til rødt på riktig måte, hvor det blir stående til det kommer et nytt trykk på fotgjenger knappen. Nyttige opplysninger: - Trykknappen er koblet til inngang 3 Oppgave 2 Grønt lys på forespørsel

25 25 SKOLELABORATORIET Koblingsskjemaet for kortet PICAXE Knappen er koblet til inngang 3

26 26 SKOLELABORATORIET b = pin Setter verdien til inngang n inn i variabel b, f.eks. b0 = pin3 If then end ifDersom betingelsen er oppfylt så skal programlinjene gjennomføres ellers skal programlinjene som ligger mellom then og exit hoppes over. En betingelse kan f.eks. være: pin3 = 1 (dvs. pin3 har høy spenning) Oppgave 2 Nyttige kommandoer

27 27 SKOLELABORATORIET Løsning oppgave 2 Grønt lys på forespørsel

28 28 SKOLELABORATORIET Oppgave 3a: Endre programmet fra oppgave 2 slik at det blir grønt lys i 8 sek hvorav de siste 5 skal være blinkende. Hvert blink skal være på 500 ms på og 500 ms av (5 sek + 0,5 +0,5 + 0,5). Trafikklyset skal ellers oppføre seg som i oppgave 2. Oppgave 3b: Dessuten skal hvert grønt lysblink etterfølges av et kort pip på 50 ms Nyttige opplysninger: - Buzzeren er koblet til utgang 2. Oppgave 3 Blinkende grønt lys og lydsignal på forespørsel

29 29 SKOLELABORATORIET Koblingsskjemaet for kortet PICAXE Buzzeren er koblet til utgang 2

30 30 SKOLELABORATORIET pause Programmet stopper i ms millisekunder, f.eks.: pause 200 (gir pause i 200 ms) sound, (, ) Kommandoen gir en lyd. De variable bestemmertonehøyde og varighet. f.eks.: sound 2,(120,2) vil gi en relativt høy tone på port 2, med en varighet på 2x10 ms (20 ms). Verdier på på over 127 gir en støylignende lyd Oppgave 3 Nyttige kommandoer

31 31 SKOLELABORATORIET Løsning oppgave 3 Blinkende grønt lys og lyd på forespørsel

32 32 SKOLELABORATORIET Når det blir mørkt skal lyset gå over i blinkende gult. Det skal da være 0,5 sek. på og 0,5 sek. av helt til det blir lyst igjen. Det skal være nok å legge hånda over den lysfølsomme motstanden for at det skal begynne å blinke. Nyttige opplysninger: - Fotomotstanden er koblet til inngang 4 - Lys gir høy spenning på inngang 4 (avlest verdi over 200) - Mørke gir lav spenning på inngang 4 (avlest verdi under 100) Oppgave 3 Blinkende gult lys etter mørkets frambrudd

33 33 SKOLELABORATORIET Koblingsskjemaet for kortet PICAXE092 Fotomotstanden er koblet til inngang 4 - Lys gir høy spenning på inngang 4 (avlest verdi over 200) - Mørke gir lav spenning på inngang 4 (avlest verdi under 100)

34 34 SKOLELABORATORIET readadc port, Verdien på port n leses inn i variabel, f.eks.: readadc port4, b0 betyr at spenningsnivået på port 4 legges inn i variabel b0 som verdier mellom 0 og 255 avhengig av lysstyrken. If then end ifIf kommandoen brukes til å teste verdien som ligger i variabelen. f.eks. if b0 < 100 then high 2 endif Oppgave 3 Nyttige kommandoer

35 35 SKOLELABORATORIET Oppgave 3 Nyttige kommandoer forts. do while loop“do while” sløyfa vil gå i ring så lenge betingelsen er oppfylt. Betingelsen kan f.eks. være test på en variabel f.eks. do while b0 < 100 high 2 loop.

36 36 SKOLELABORATORIET Løsning oppgave 4 Blinkende gult lys etter mørkets frambrudd

37 37 SKOLELABORATORIET Mikrocontroller Intern hukommelse Databehandlingsenhet Innganger Utganger Input Output 4 10 Inngang 0 til +V (0 eller 1) ADC leser verdien av en spenning Talltastatur Utgang 0 til +V (0 eller 1)

38 38 SKOLELABORATORIET Styring av trafikklys

39 39 SKOLELABORATORIET Programmet (Trafikklys) Rødt Gult Rødt Grønt Rødt Gult Grønt Gult RødtGult

40 40 SKOLELABORATORIET Oversikt over kontrollere

41 41 SKOLELABORATORIET Alternative eksperimentkort AXE091U

42 42 SKOLELABORATORIET Alternative eksperimentkort Talesyntes SPE030

43 43 SKOLELABORATORIET IR kommunikasjonsenhet AXE040 (10£+MVA)

44 44 SKOLELABORATORIET Ultralyd avstandsmåler SRF005 (12£+MVA)

45 45 SKOLELABORATORIET Alternative eksperimentkort Talesyntes SPE030

46 46 SKOLELABORATORIET Oppsummering Lett å komme i gang Billig Fleksibel, mange muligheter


Laste ned ppt "1 SKOLELABORATORIET Programmering av PIC-mikrokontrollere Grunnkurs Av Nils Kr. Rossing Skolelaboratoriet ved NTNU Nils Kr. Rossing."

Liknende presentasjoner


Annonser fra Google