Post on 24-Nov-2015
description
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)