Proiect microcontrolere

18
Universitatea Politehnica Bucuresti Facultatea Transporturi Catedra Telecomenzi si Electronica in Transporturi PROIECT MICROCONTROLERE Autori: Indrumator: Stoian Doru Stelian(8315) As.drd.ing. Niculescu Camburu Vlad(8314) Mihai AN UNIVERSITAR 2013-2014

description

universitatea politehnica ; facultatea transporturi ; sectia TET . Proiect microcontrolere anul 3 .

Transcript of Proiect microcontrolere

  • Universitatea Politehnica Bucuresti

    Facultatea Transporturi

    Catedra Telecomenzi si Electronica in Transporturi

    PROIECT MICROCONTROLERE

    Autori: Indrumator:

    Stoian Doru Stelian(8315) As.drd.ing. Niculescu

    Camburu Vlad(8314) Mihai

    AN UNIVERSITAR

    2013-2014

  • 2

    Cuprins:

    1. DescriereaProiectului 2. Proiectare Hardware 3. Schema bloc placaemisie 4. Schema bloc placareceptie 5. Circuitulimprimat 6. Schema logicasidescriereafunctionarii. 7. Listare Program 8. Bibliografie

  • 3

    1.Descriereaproiectului

    Aceastalucrarefolosimdouaplaci EASY AVR 4

    fiecareavandprocesorul ATmega16.

    Peplaca de emisie se vaapasape un buton ,iarpeplaca de receptie se

    aprindledurile de pe port-urile B C D in forma de micro.

    Atuncicandapasampe alt buton se vorstingetoate led-urile.

    2.Proiectarea hardware

    ATmega 16

    ATmega 16 este un microcontroller CMOS de 8 biti de mica

    puterebazat pe arhitectura RISC AVR mbuntit. Dispune de un set de 131 de instructiuni si 32 de regitrii de uz general. Cele 32 de registre sunt direct adresabile de Unitatea Logic i Aritmetic (ALU), permind accesarea a dou registre independente ntr-o singur instruciune. Se obine, astfel, o eficien sporit n execuie (de pn la zece ori mai rapide dect microcontrorelerele convenionale CISC).

    Caracteristicile principale ale acestuia sunt:

    - 16KB de memorie Flash reinscriptibil pentru stocarea programelor ; - 1KB de memorie RAM ;

    - 512B de memorie EEPROM ;

    - dou numrtoare/temporizatoare de 8 bii ; - un numrtor/temporizator de 16 bii ; - conine un convertor analog digital de 10 bii, cu intrri multiple ;

  • 4

    - conine un comparator analogic ; - conine un modul USART pentru comunicaie serial (port serial) ; - dispune de un cronometru cu oscilator intern ;

    - ofer 32 de linii I/O organizate n patru porturi (PA, PB, PC, PD). Exist o magistral general de date la care sunt conectate mai multe module:

    - unitatea aritmetic i logic (ALU) ; - registrele generale ;

    - memoria RAM i memoria EEPROM ; - liniile de intrare (porturile I/O Lines) i celelalte blocuri de intrare/ieire.

    Aceste ultime module sunt controlate de un set special de registre, fiecare

    modul avnd asociat un numr de registre specifice.

    Descriereapinilor:

    VCC Sursa de current

    GND Masa

    Port A (PA7 .. PA0)

  • 5

    Port-ul A servete drept port de intrri analogice pentru Convertorul A/D.

    Port-ul A servete, de asemenea, i ca un port bidirecional I/O de 8 bii, n cazul n care

    Convertorul A/D nu este folosit. Pinii de port pot fi conectai opional la VCC prin

    rezistori interni, (selectai pentru fiecare bit). Buffer-ele de ieire ale Portului A au

    caracteristici de amplificare .

    Port B (PB7.. PB0)

    Portul B este un port I/O de 8 bii bidirecional cu rezistori interni (opionali).

    Buffer-ele de ieire ale Port-ului B au caracteristici de amplificare.

    Port-ul B ndeplinete, de asemenea, funcii speciale ale microcontrolerului ATmega 16.

    Port C (PC7PC0)

    Portul C este un port I/O de 8 bii bidirecional cu rezistori interni (opionali).

    Buffer-ele de ieire ale Port-ului C au caracteristici de amplificare.

    Dac interfaa JTAG (de depanare) este activat, rezistorii pinilor PC5 (TDI), PC3 (TMS)

    i PC2 (TCK) vor fi activai, chiar dac are loc o resetare.

    Port-ul C ndeplinete, de asemenea, funcii ale interfeei JTAG i alte funcii speciale ale

    ATmega 16.

    Port D (PD7PD0)

    Portul D este un port I/O de 8 bii bidirecional cu rezistori interni conectai opional la

    VCC (selectai pentru fiecare bit). Buffer-ele de output ale Port-ului D au caracteristici de

    amplificare. Port-ul D ndeplinete, de asemenea, funcii speciale ale ATmega 16.

    Reset:Un nivel sczut la acest pin mai mare ca durat dect o valoare prestabilit, va

    genera o iniializare.

    XTAL 1: Intrare pentru amplificatorul inversor al Oscilatorului ;

    XTAL 2: Ieire pentru amplificatorul inversor al Oscilatorului.

    AVCC: AVCC este pin de alimentare pentru Port-ul A i Convertorului A/D. Trebuie

    conectat extern la Vcc, chiar dac ADC nu este folosit. Dac ADC este folosit , ar trebui

    conectat la Vcc printr-un filtru trece-jos.

    AREF: AREF este pinul de referin analogic pentru Convertorul A/D.

    Placa de dezvoltare Easy AVR4

  • 6

    Easy AVR4 este o placa de dezvoltare realizata de firma Mikroelectronika i permite relizarea de aplicaii de microcontrolere Atmel.

    Placa dispune de urmatoarele resurse hardware:

    -programator cu interfaa USB -bloc de alimentare a placii cu posibilitatea de a utiliza o sursa de tensiune externa sau

    tensiunea furnizata de interfaa USB -socluri pentru conectarea microcontrolelor Atmel in capsule

    DIP40,DIP28,DIP18,DIP20,DIP14 SAU DIP8

    -SW pushbuton conectate la toate porturile microcontrolerului

    -LED-uri conectate la toate porturile microcontrolerului

    -rezistene externe de pull-up pentru fiecare pin al fiecarui port. -referina externa precisa de tensiune pentru utilizarea blocului de ADC cu aceasta facilitate

    -generator de semnal da tact cu frecvena de 8 MHz -modul de afiare cu LED-uri de tip 7 segmente -interfaa seriala RS-232 -senzor de temperatura DS 1820 cu interfaa I2C -modul de afiare LCD 2X16 caractere

    Schema pentru reset a microcontrolerului ATmega16:

  • 7

  • 8

    3.Schema blocplacaemisie

    FILE NAME:

    BY:

    DATE:

    PAGE:

    uC Placa transmisie.pdsprj05-Feb-14

    @AUTHOR

    C:\Users\BoGdaN_9\Desktop\My Documents\uC Placa transmisie.pdsprjPATH: 1 of 1

    REV:@REV TIME: 21:29:40

    DESIGN TITLE: uC Placa transmisie.pdsprj

    PB7

    PB6

    PB5

    PB4

    PB3

    PB2

    PB1

    PB0

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PA6

    PA7

    PB0

    PB2

    PB3

    PB4

    PB5PB6

    PB7

    PB1

    PA4

    PA0

    PA2

    PA6

    PA1

    PA3

    PA5

    PA7

    PB0/T0/XCK1

    PB1/T12

    PB2/AIN0/INT23

    PB3/AIN1/OC04

    PB4/SS5

    PB5/MOSI6

    PB6/MISO7

    PB7/SCK8

    RESET9

    XTAL212

    XTAL113

    PD0/RXD14

    PD1/TXD15

    PD2/INT016

    PD3/INT117

    PD4/OC1B18

    PD5/OC1A19

    PD6/ICP120

    PD7/OC221

    PC0/SCL22

    PC1/SDA23

    PC2/TCK24

    PC3/TMS25

    PC4/TDO26

    PC5/TDI27

    PC6/TOSC128

    PC7/TOSC229

    PA7/ADC733

    PA6/ADC634

    PA5/ADC535

    PA4/ADC436

    PA3/ADC337

    PA2/ADC238

    PA1/ADC139

    PA0/ADC040

    AREF32

    AVCC30

    ATMEGA16

    1 2

    PB7

    1 2

    PB6

    1 2

    PB5

    1 2

    PB4

    1 2

    PB3

    1 2

    PB2

    1 2

    PB1

    1 2

    PB0

    JP1JUMPER2

    C7100n

    12

    B-P

    RE

    Z 2

    R210k

    VCC1

    D+3

    D-2

    GND4

    J3

    USBCONN

    C8470u

    C9100n

    1

    3

    5

    7

    2

    4

    6

    8

    9 10

    J1

    10073456-001LF

  • 9

    4.Schema bloc placareceptie

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PA6

    PA7

    PB0

    PB2PB3

    PB4

    PB5

    PB6

    PB7

    PB1

    PA4

    PA0

    PA2

    PA6

    PA1

    PA3

    PA5

    PA7

    PB3

    PB0

    PB1

    PB2

    PB4

    PB5

    PB6

    PB7

    PC4

    PD0

    PD1

    PD2

    PD3

    PD3

    PC4

    PD0

    PD1

    PD2

    PB

    PC

    PD

    PB0/T0/XCK1

    PB1/T12

    PB2/AIN0/INT23

    PB3/AIN1/OC04

    PB4/SS5

    PB5/MOSI6

    PB6/MISO7

    PB7/SCK8

    RESET9

    XTAL212

    XTAL113

    PD0/RXD14

    PD1/TXD15

    PD2/INT016

    PD3/INT117

    PD4/OC1B18

    PD5/OC1A19

    PD6/ICP120

    PD7/OC221

    PC0/SCL22

    PC1/SDA23

    PC2/TCK24

    PC3/TMS25

    PC4/TDO26

    PC5/TDI27

    PC6/TOSC128

    PC7/TOSC229

    PA7/ADC733

    PA6/ADC634

    PA5/ADC535

    PA4/ADC436

    PA3/ADC337

    PA2/ADC238

    PA1/ADC139

    PA0/ADC040

    AREF32

    AVCC30

    ATMEGA16

    C7100n

    12

    B-P

    RE

    Z 2

    R210k

    VCC1

    D+3

    D-2

    GND4

    J3

    USBCONN

    C8470u

    C9100n

    1

    3

    5

    7

    2

    4

    6

    8

    9 10

    J1

    10073456-001LF

    D1

    MZPY3V9RL

    D2

    MZPY3V9RL

    D3

    MZPY3V9RL

    D4

    MZPY3V9RL

    D5

    MZPY3V9RL

    D6

    MZPY3V9RL

    D7

    MZPY3V9RLD8

    MZPY3V9RL

    D9

    MZPY3V9RL

    D10

    MZPY3V9RL

    D11

    MZPY3V9RL

    D12

    MZPY3V9RL

    D13

    MZPY3V9RL

    R1

    10k

    R3

    10k

    R4

    10k

    R5

    10k

    R6

    10k

    R7

    10k

    R8

    10k

    R9

    10k

    R10

    10k

    R11

    10k

    R12

    10k

    R13

    10k

    R14

    10k

    OFF ON 1

    2

    3

    6

    5

    4

    DSW1

    DIPSW_3

  • 10

    5.Circuitulimprimat Cablajele P.C.B. au fostrealizate in programulProteus 8

    Cablajul P.C.B.pentruplaca de emisie:

    Placaemisiepcb(cum trebuiegauritaplaca)

    Placa de emisie (partea de sus)

    Placa de emisie (partea de jos)

  • 11

    Placaemisie 3d

    Cablajul P.C.B. pentruplaca de receptie:

    Placareceptiepcb(cum trebuiegauritaplaca)

  • 12

    Placa de receptie (partea de sus)

    Placa de receptie (partea de jos)

  • 13

    Placa de receptie 3d

    6. Schema logicasidescriereafunctionarii. Schema bloc pentruplaca de emisie

  • 14

    Schema bloc pentruplaca de receptie

    7. Listare Program

    Codulsursaplacaemisie .include"m16def.inc" jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset

  • 15

    jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset reset: ldi r16,high(RAMEND) out SPH,r16 ldi r16,low(RAMEND) out SPL,r16 ldi r16,0x00 ldi r17,0xff out ddra,r17 out ddrb,r16 out portb,r17 main: in r17,pinb out porta,r17 jmp main

    Codulsursaplacareceptie

    /* * AssemblerApplication1.asm * * Created: 07/01/2014 13:05:05 * Author: User */ /* * AssemblerApplication1.asm * * Created: 12/17/2013 3:05:52 PM * Author: User */

  • 16

    .include"m16def.inc" jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset jmp reset reset: ldi r16,high(RAMEND) out SPH,r16 ldi r16,low(RAMEND) out SPL,r16 ldi r16,0x00 ldi r17,0xff out ddrb,r17 out ddra,r16 out porta,r17

  • 17

    outddrc, r17 outddrd, r17 main: ldi r16, 0b00000000 in r17,pina mov r18,r17 andi r18,0b00000001 cp r18,r16 breqstinge mov r18,r17 andi r18,0b10000000 cp r18,r16 breqaprinde jmp main stinge: ldi r16, 0b00000000 outportb, r16 outportc, r16 outportd, r16 jmp main aprinde: ldi r16,0b11111111 out portb,r16 ldi r16,0b00010000 out portc,r16 ldi r16,0b00001111 out portd,r16 jmp main

  • 18

    8.Bibliografie Laboratoarele de Microcontrolere din cadrul UPB, facultatea de Transporturi, sectia TET (http://tet.pub.ro/mat/an3/micro/micro_lab.php) AVR Instruction Set (http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf) Atmega16 Datasheet (http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf) EasyAVR4 Manual (http://www.mikroe.com/pdf/easyavr4_manual.pdf)

    VII. Software utilizat Microsoft Word 2010 - http://office.microsoft.com/en-us/word/default.aspx Atmel Studio 6.1 - http://www.atmel.com/microsite/atmel_studio6/ AVRFLASH - http://www.mikroe.com/products/view/404/easyavr4/

    Microsoft Paint (inclus in instalarea Windows)