Mikrokontrollerit. Mikrokontrolleri

Samankaltaiset tiedostot
Nopeuden mittaaminen

Tampereen ammattiopisto Pyynikin ammattioppilaitos KÄVIJÄLASKURI

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokonetekniikan suuntautumisvaihtoehto. Miika Kaatrasalo GSM-RELE

TIES530 - Sulautettujen järjestelmien arkkitehtuurit. Jukka Ihalainen, Tietoliikennelaboratorio,

KAUKO-OHJATTAVA KOODILUKKO

TAMPEREEN AMMATTIKORKEAKOULU Tietokonetekniikan koulutusohjelma Tietokonetekniikka. Tutkintotyö. Lassi Hakala

AS Servotekniikka Seminaariesityksen kirjallinen versio, mikrokontrollerit

Yleinen arkkitehtuuri

ELEC-A4010 Sähköpaja Arduinon väylät tutuiksi

A/D-muuntimia. Flash ADC

PIC16F690-POHJAINEN LÄMPÖMITTARI JA TIEDONKERÄIN

TIES530 TIES530 PROSESSORIT/KONTROLLERIT

MUISTIPIIRIT H. Honkanen

Ohjelmoijan binaarialgebra ja heksaluvut

Mikro-ohjaimen ohjelmoinnin perusteet Flowcode ympäristössä

Successive approximation AD-muunnin

6.3. AVR_rauta. EEPROM-muisti pva

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

Arduino ohjelmistokehitys

Piirien väliset ohjaus- ja tiedonsiirtoväylät H. Honkanen

SC-piireihin perustuvan virta-jännitemuuntimen jatkokehitys ja testaus

Jarmo Kortet ILMALÄMPÖPUMPUN IR-OHJAUKSEN LIITTÄMINEN KOTIAUTOMAATIOJÄRJESTELMÄÄN

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

ELEC-C5070 Elektroniikkapaja (5 op)

6. Analogisen signaalin liittäminen mikroprosessoriin Näytteenotto analogisesta signaalista DA-muuntimet 4

Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) Lukujärjestelmämuunnokset. 2 s s

Intel MCS-51 -perhe Liite 1 / 1. Intel MCS-51 -perhe

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Peter Kronström

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen

Signaalien datamuunnokset. Näytteenotto ja pito -piirit

P I C A X E O H J E L M O I N T I

C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out

Arto Salminen,

Electronisen nopeus ja matkamittarin kalibrointi laite huippunopeus muistilla.

Lukujärjestelmät. Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen Fe

Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin

ELEC-C5070 Elektroniikkapaja (5 op)

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Kombinatorisen logiikan laitteet

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TKT224 KOODIN KOON OPTIMOINTI

Tietokonearitmetiikka

Petri Koivulahti. Intel mikrokontrollerit. Opinnäytetyö Kevät 2010 Tekniikan yksikkö Tietotekniikan koulutusohjelma Ohjelmistotekniikka

TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokonetekniikka. Tutkintotyö. Petri Mielonen MURTOHÄLYTIN PIC16F870 MIKROKONTROLLERILLA

Kontrollerin tehonsäätö

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokonetekniikka. Tutkintotyö. Jouni Sukanen KAUKO-OHJATTAVA A/V-JAKAJA

KÄYTTÖOHJE ELTRIP-R6. puh fax PL Kajaani

NiMH Laturi. Suunnittelu Olli Haikarainen

Ohjelmistoradio. Mikä se on:

Näin toteutat teollisen internetin laiteliitännän. Teknologia 15 Tietoiskut Krister Wikström

OMNIA OPINNÄYTETYÖ AMMATTIOPISTO. Diginoppa ICTP09SLG OMNIAN AMMATTIOPISTO

ELEKTRONISET TOIMINNOT

Tietokonearitmetiikka

Kontrollerin sisäisten komponenttien käytöstä. Vielä vähän asiaa sisäisten lohkojen käytöstä

LAS-TIEDOSTON SISÄLTÖ LIITE 2/1

Kauko-ohjaimen käyttöohje. Part No.: R OM-GS (0)-Acson FAN SWING MODE TURBO TIMER OFF CANCEL. Acson A5WM15JR Acson A5WM25JR

Signaalien datamuunnokset

Ajastin tarjoaa erilaisia toimintoja, kuten "Clock Display", "sekuntikello", "lähtölaskenta", "CountUp", "jaksoajastimen ja "Fight Gone Bad" -ajastin.

Arduino. Kimmo Silvonen (X)

Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen

Virheen kasautumislaki

SISÄLLYS - DIGITAALITEKNIIKKA

Muuntavat analogisen signaalin digitaaliseksi Vertaa sisääntulevaa signaalia referenssijännitteeseen Sarja- tai rinnakkaismuotoinen Tyypilliset

1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS

Huom! (5 4 ) Luetaan viisi potenssiin neljä tai viisi neljänteen. 7.1 Potenssin määritelmä

Taajuusmittauskilpailu Hertsien herruus Mittausraportti

7.3. Oheisrautaa. DS

KÄYTTÖOHJE TAKOMETRI TRIFITEK TR-550

ELEC-C5070 Elektroniikkapaja (5 op)

Tietokonearitmetiikka

GSRELE ohjeet. Yleistä

Tietokonearitmetiikka

TIES530 TIES530. Kontrollereiden Muistit. Mikrokontrollerit - arkkitehtuuri. Mikrokontrollerin sisäinen arkkitehtuuri

5. Laskutoimitukset eri lukujärjestelmissä

PIC-MIKROKONTROLLERIN HARJOITUSALUSTAN SUUNNITTELU

ROSSI-AVR Versio 1.1, päivitetty

K8048 PIC PROGRAMMER BOARD

Flash AD-muunnin. Ominaisuudet. +nopea -> voidaan käyttää korkeataajuuksisen signaalin muuntamiseen (GHz) +yksinkertainen

Uuden kulunvalvonnan tuotteet

Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.

TeleWell GPRS-modeemin ohjekirja

A15 - Inertial Measurement Unit

74470 SPS. Loppuraportti

SUPIKOIRA-projekti. Tommi Berg Eero Alkkiomäki. (Tero Huttunen, Sami Kiiskilä, Ossi Mäkinen, Ilpo Suominen, Mikko Suominen, Asser Vuola)

SC-piireihin perustuvan virta-jännitemuuntimen rakentaminen ja testaus

TIES530 TIES530. A/D-muuntimet. Mikrokontrollerit - arkkitehtuuri. Mikrokontrollerit - arkkitehtuuri. A/D- ja D/A-muuntimet

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg

Perusmittalaitteet 2. Yleismittari Taajuuslaskuri

Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

Taitaja2008, Elektroniikkalajin semifinaali

ETT harjoitustyö: Sovitin 1-Wire-väylään

DC-moottorin pyörimisnopeuden mittaaminen back-emf-menetelmällä

6.2. AVR_rauta. Analogia-komparaattori-ohjelmointia , pva

Sami Tikkanen kwh-mittaus kylmälaitoksesta

Transkriptio:

Mikrokontrollerit S-108.2010 Elektroniset mittaukset 18.2.2008 Mikrokontrolleri integrointi säästää tilaa piirilevyllä usein ratkaisu helpompi ja nopeampi toteuttaa ohjelmallisesti prosessori 4-64 bittinen Harvard-arkkitehtuuri muistia RAM, ROM, EPROM, EEPROM, flash I/O-rajapinta UART, I2 C, SPI, CAN... lisäominaisuuksia A/D, D/A, ajastimia, watchdog, USB, RFrajapinta

Valmistajia Analog Devices Atmel Freescale (entinen Motorola) Microchip STMicroelectronics Texas Instruments Atmel AVR 8-bittinen ATtiny, ATmega, Application specific AVR suorituskykyinen, edullinen, uusi ilmainen assembler ja koodikirjasto valmistajalta helposti ohjelmoitava

Freescale Laaja valikoima 6800-, 68000-sarjat, PowerPC-pohjaiset, useita ARM-pohjaisia yleinen, softaa saatavilla vanha arkkitehtuuri, heikko suorituskyky Parallax Propeller 8 kpl 32-bittistä ydintä yksinkertainen ALU (ei jakolaskua) 32 khz - 80 MHz 160 MIPS @ 80 MHz (i486 54 MIPS @ 66 MHz) SPIN tai Assembler

Parallax Propeller 8 ydintä (32 bit) Max 80 MHz 32 kb RAM, 32 kb ROM (32 bit) 32 I/O-linjaa Suora tuki videolle (NTSC, PAL, VGA, LCD), PS/2-liitäntä, RF-rajapinta yms. Hinta ~ 10! Microchip PIC harrastajien suosiossa helppo ohjelmointi softaa saatavilla helposti paljon erilaisia malleja pääasiassa 8-bittinen PIC10, PIC12, PIC16, (PIC17), PIC18 16-bittiset PIC24 ja dspic

PIC - MPLAB IDE kehitysympäristö assembler- ja C-ohjelmointi simulaattori, debuggeri ohjelmointi piirille myös jotkut omatekoiset ohjelmointilaitteet toimii MPLABilla PICit osaavat ohjelmoida itse itseään (bootloader) Ohjelmointilaite ICD2 kotitekoinen

Esimerkkipiirit PIC10F200 16 B RAM 4 I/O-linjaa $0,39 0,375 kb ohjelmamuistia PIC18F8722 3936 B RAM 1 kb data EEPROM 128 kb ohjelmamuistia 70 I/O-linjaa 16 x 10 bit ADC @ 100 ksps 2 x UART, 2 x I2 C, SPI $7,41 Case: Sählypallon nopeuden mittaus

<STX>, 0x00, lukema ASCII-merkkeinä, 0x00,<CR> oma 7-bit lähetysrutiini Alku Alustus Näytön nollaus Odotetaan pulssia A/D-muuntimet pois keskeytykset pois kaikki muukin pois prescaler asetus 24-bittinen luku muistiin Jos timerin ylivuoto, nopeus on 0. Muussa tapauksessa jaetaan alussa tallennettu 24 bit luku 16 bit timerin tuloksella. Pulssi havaittu Keskeytykset + timer päälle Lasketaan nopeus Nopeus näytölle RB0 keskeytys Timer0 ylivuoto Lähetetään, odotetaan pari sekuntia. Osoite äänipiirille + liipaisu.

ODOTA btfss PORTB,1 goto ODOTA ; Odotellaan signaalia B1:n, ; loopataan tässä kunnes sellainen tulee MITTAUS movlw b'10110000 ; Keskeytykset päälle movwf INTCON clrf TMR0L clrf TMR0H ; Nollataan timerin tulos bsf T0CON,TMR0ON ; Timer päälle LOOPPI goto LOOPPI ; Loopataan tässä keskeytykseen asti Epätarkkuus: Viive 1. pulssista timerin käynnistykseen pahimmillaan 8 kellojaksoa, eli (1/20 MHz) * 4 = 0,2 µs Timerin arvo kasvaa 32 kellojakson välein (prescaler), joten virhe merkityksetön Nopeuden laskenta 1. Keskeytys ylivuodosta vai portista? 2. Siirretään timerin tulos nimittäjään 3. Jaetaan 4. Siirretään timerin tulos osoittajaan ja jakojäännös nimittäjään 5. Jaetaan, jos tulos on alle 2, lisätään nopeuteen 1 (pyöristys käsin ) 6. Muunnetaan 16 bit binääriluku viideksi desimaaliksi 7. Tarkastetaan ettei tulos ole yli 999,9 (jos on, muutetaan tulos muotoon 999,9) 8. Muutetaan desimaalit ASCII-numeroiksi (lisätään 0x30) 9. Muutetaan mahdoliset ylimääräiset nollat tyhjämerkeiksi

LASKU btfss INTCON,TMR0IF ; Johtuiko keskeytys timerin ylivuodosta goto LASKU2 ; Jos ei, lasketaan nopeus bcf INTCON,TMR0IF ; Jos keskeytys tuli timerin ylivuodosta, clrf COUNT0 ; nollataan timerin interrupt flag, clrf COUNT1 ; laitetaan mittaustulokseksi nolla, clrf COUNT2 goto LASKU4 ; ja hypätään jakolaskun yli. LASKU2 movff TMR0L,BARGB1 ; Timerin tulos nimittäjäksi movff TMR0H,BARGB0 ; Jakolaskurutiinissa xargb0 on MSB ja xargb2 on LSB clrf TMR0L ; Nollataan timerin tulos clrf TMR0H LASKU3 call FXD2416U ; Jaetaan movff movff movff AARGB0,COUNT2 ; Siirretään tulos muualle desimaalimunnosta varten AARGB1,COUNT1 ; HUOM! COUNT2 on MSB ja COUNT0 on LSB AARGB2,COUNT0 clrf AARGB0 ; Siirretään timerin tulos osoittajaksi movff BARGB0,AARGB1 movff BARGB1,AARGB2 movff REMB1,BARGB1 ; Jakojäännös nimittäjäksi movff REMB0,BARGB0 call FXD2416U ; Jaetaan, movlw d'0' ; Ja katsellaan mitä tuli tulokseksi, cpfseq AARGB0 goto LASKU4 cpfseq AARGB1 goto LASKU4 movlw d'2' ; jos tulos on alle 2, eli jakojäännös on cpfslt AARGB2 ; yli puolet jakajasta, goto LASKU4 bcf STATUS,C ; nollataan varmuuden vuoksi carry bit incf COUNT0 ; ja lisätään alkuperäisen nopeuslaskun tulokseen ; 1, eli pyöristetään tulos oikein. btfsc STATUS,C incf COUNT1 ; Tarkastetaan carry bit pariin kertaan btfsc STATUS,C ; ja lisäillään muihin tavuihin yksi jos on tarvetta. incf COUNT2 LASKU4 call BINDEC ; Muutetaan tulos desimaaleiksi movlw d'0' ; Testataan ettei ole yli 999,9 km/h cpfsgt DIGIT5 goto NAYTOLLE movlw d'9' ; Jos on, muutetaan 4 vähiten merkitsevää movwf DIGIT1 ; numeroa yseiksi movwf DIGIT2 movwf DIGIT3 movwf DIGIT4