Sunteți pe pagina 1din 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
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.pdsprj
05-Feb-14
@AUTHOR
C:\Users\BoGdaN_9\Desktop\My Documents\uC Placa transmisie.pdsprj PATH:
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
PB5
PB6
PB7
PB1
PA4
PA0
PA2
PA6
PA1
PA3
PA5
PA7
PB0/T0/XCK
1
PB1/T1
2
PB2/AIN0/INT2
3
PB3/AIN1/OC0
4
PB4/SS
5
PB5/MOSI
6
PB6/MISO
7
PB7/SCK
8
RESET
9
XTAL2
12
XTAL1
13
PD0/RXD
14
PD1/TXD
15
PD2/INT0
16
PD3/INT1
17
PD4/OC1B
18
PD5/OC1A
19
PD6/ICP1
20
PD7/OC2
21
PC0/SCL
22
PC1/SDA
23
PC2/TCK
24
PC3/TMS
25
PC4/TDO
26
PC5/TDI
27
PC6/TOSC1
28
PC7/TOSC2
29
PA7/ADC7
33
PA6/ADC6
34
PA5/ADC5
35
PA4/ADC4
36
PA3/ADC3
37
PA2/ADC2
38
PA1/ADC1
39
PA0/ADC0
40
AREF
32
AVCC
30
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
JP1
JUMPER2
C7
100n
1
2
B
-
P
R
E
Z

2
R2
10k
VCC
1
D+
3
D-
2
GND
4
J3
USBCONN
C8
470u
C9
100n
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
PB2
PB3
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/XCK
1
PB1/T1
2
PB2/AIN0/INT2
3
PB3/AIN1/OC0
4
PB4/SS
5
PB5/MOSI
6
PB6/MISO
7
PB7/SCK
8
RESET
9
XTAL2
12
XTAL1
13
PD0/RXD
14
PD1/TXD
15
PD2/INT0
16
PD3/INT1
17
PD4/OC1B
18
PD5/OC1A
19
PD6/ICP1
20
PD7/OC2
21
PC0/SCL
22
PC1/SDA
23
PC2/TCK
24
PC3/TMS
25
PC4/TDO
26
PC5/TDI
27
PC6/TOSC1
28
PC7/TOSC2
29
PA7/ADC7
33
PA6/ADC6
34
PA5/ADC5
35
PA4/ADC4
36
PA3/ADC3
37
PA2/ADC2
38
PA1/ADC1
39
PA0/ADC0
40
AREF
32
AVCC
30
ATMEGA16
C7
100n
1
2
B
-
P
R
E
Z

2
R2
10k
VCC
1
D+
3
D-
2
GND
4
J3
USBCONN
C8
470u
C9
100n
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
MZPY3V9RL
D8
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)