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
Cuprins:

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

2
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 îmbunătăţită. Dispune de un set de
131 de instructiuni si 32 de regiştrii de uz general. Cele 32 de registre sunt
direct adresabile de Unitatea Logică şi Aritmetică (ALU), permiţând
accesarea a două registre independente într-o singură instrucţiune. Se obţine,
astfel, o eficienţă sporită în execuţie (de până la zece ori mai rapide decât
microcontrorelerele convenţionale CISC).
Caracteristicile principale ale acestuia sunt:
- 16KB de memorie Flash reinscriptibilă pentru stocarea programelor ;
- 1KB de memorie RAM ;
- 512B de memorie EEPROM ;
- două numărătoare/temporizatoare de 8 biţi ;
- un numărător/temporizator de 16 biţi ;
- conţine un convertor analog – digital de 10 biţi, cu intrări multiple ;

3
- conţine un comparator analogic ;
- conţine un modul USART pentru comunicaţie 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/ieşire.
Aceste ultime module sunt controlate de un set special de registre, fiecare
modul având asociat un număr de registre specifice.

Descriereapinilor:

VCC – Sursa de current


GND – Masa
Port A (PA7 .. PA0)

4
Port-ul A serveşte drept port de intrări analogice pentru Convertorul A/D.
Port-ul A serveşte, de asemenea, şi ca un port bidirecţional I/O de 8 biţi, în cazul în care
Convertorul A/D nu este folosit. Pinii de port pot fi conectaţi opţional la VCC prin
rezistori interni, (selectaţi pentru fiecare bit). Buffer-ele de ieşire ale Portului A au
caracteristici de amplificare .
Port B (PB7.. PB0)
Portul B este un port I/O de 8 biţi bidirecţional cu rezistori interni (opţionali).
Buffer-ele de ieşire ale Port-ului B au caracteristici de amplificare.
Port-ul B îndeplineşte, de asemenea, funcţii speciale ale microcontrolerului ATmega 16.

Port C (PC7…PC0)
Portul C este un port I/O de 8 biţi bidirecţional cu rezistori interni (opţionali).
Buffer-ele de ieşire ale Port-ului C au caracteristici de amplificare.
Dacă interfaţa JTAG (de depanare) este activată, rezistorii pinilor PC5 (TDI), PC3 (TMS)
şi PC2 (TCK) vor fi activaţi, chiar dacă are loc o resetare.
Port-ul C îndeplineşte, de asemenea, funcţii ale interfeţei JTAG şi alte funcţii speciale ale
ATmega 16.
Port D (PD7…PD0)
Portul D este un port I/O de 8 biţi bidirecţional cu rezistori interni conectaţi opţional la
VCC (selectaţi pentru fiecare bit). Buffer-ele de output ale Port-ului D au caracteristici de
amplificare. Port-ul D îndeplineşte, de asemenea, funcţii speciale ale ATmega 16.
Reset:Un nivel scăzut la acest pin mai mare ca durată decât o valoare prestabilită, va
genera o iniţializare.
XTAL 1: Intrare pentru amplificatorul inversor al Oscilatorului ;
XTAL 2: Ieşire 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

5
Easy AVR4 este o placa de dezvoltare realizata de firma Mikroelectronika şi permite
relizarea de aplicaţii de microcontrolere Atmel.
Placa dispune de urmatoarele resurse hardware:
-programator cu interfaţa USB
-bloc de alimentare a placii cu posibilitatea de a utiliza o sursa de tensiune externa sau
tensiunea furnizata de interfaţa 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
-rezistenţe externe de pull-up pentru fiecare pin al fiecarui port.
-referinţa externa precisa de tensiune pentru utilizarea blocului de ADC cu aceasta
facilitate
-generator de semnal da tact cu frecvenţa de 8 MHz
-modul de afişare cu LED-uri de tip 7 segmente
-interfaţa seriala RS-232
-senzor de temperatura DS 1820 cu interfaţa I2C
-modul de afişare LCD 2X16 caractere

Schema pentru reset a microcontrolerului ATmega16:

6
7
3.Schema blocplacaemisie
C9 J3
100n
1
VCC
3
D+
2
D-
C8 4
GND
470u
USBCONN

R2
10k

9 22
RESET PC0/SCL
23
PC1/SDA
13 24
2

XTAL1 PC2/TCK
12 25
B-PREZ 2

C7 XTAL2 PC3/TMS
26
100n PA0 PC4/TDO
40 27
PA0/ADC0 PC5/TDI
PA1 39 28
PA1/ADC1 PC6/TOSC1
PA2 38 29
PA2/ADC2 PC7/TOSC2
1

PA3 37
PA3/ADC3
PA4 36 14
PA4/ADC4 PD0/RXD
PA5 35 15
PA5/ADC5 PD1/TXD
PA6 34 16
PA6/ADC6 PD2/INT0
PA7 33 17
PA7/ADC7 PD3/INT1
18
PD4/OC1B
PB0 1 19
PB0/T0/XCK PD5/OC1A
PB1 2 20
PB1/T1 PD6/ICP1
PB2 3 21
PB2/AIN0/INT2 PD7/OC2
PB3 4
PB3/AIN1/OC0
PB4 5
PB4/SS
PB5 6
PB5/MOSI
PB6 7 32
PB6/MISO AREF
PB7 8 30
PB7/SCK AVCC
ATMEGA16

J1
PA0 1 2 PA1
PB0 PA2 3 4 PA3
1 2 PB0 PA4 5 6 PA5
PA6 7 8 PA7
PB1 9 10
1 2 PB1
10073456-001LF
PB2
1 2 PB2
PB3
1 2 PB3
PB4
1 2 PB4
PB5
1 2 PB5
PB6
1 2 PB6
PB7
1 2 PB7

JP1
JUMPER2 FILE NAME: uC Placa transmisie.pdsprj DATE:

05-Feb-14
DESIGN TITLE: uC Placa transmisie.pdsprj
8PATH: PAGE:
C:\Users\BoGdaN_9\Desktop\My Documents\uC
1 of Placa
1 transmisie.pdsprj
BY: @AUTHOR REV: @REV TIME: 21:29:40
4.Schema bloc placareceptie

C9 J3
100n
1
VCC
3
D+
2
D-
C8 4
GND
470u
USBCONN

R2
10k

9 22
RESET PC0/SCL
23
PC1/SDA
2 13 24
XTAL1 PC2/TCK
12 25
B-PREZ 2

C7 XTAL2 PC3/TMS
26 PC4 D9
J1 100n PA0 40
PC4/TDO
27 PC4
R10
PA0/ADC0 PC5/TDI
PA0 1 2 PA1 PA1 39 28
PA1/ADC1 PC6/TOSC1 10k
PA2 3 4 PA3 PA2 38 29 MZPY3V9RL
PA2/ADC2 PC7/TOSC2
1

PA4 5 6 PA5 PA3 37


PA3/ADC3 D10
PA6 7 8 PA7 PA4 36 14 PD0
9 10 PA5 35
PA4/ADC4 PD0/RXD
15 PD1 PD0
R11
PA5/ADC5 PD1/TXD
PA6 34 16 PD2
PA6/ADC6 PD2/INT0 10k
10073456-001LF PA7 33 17 PD3 MZPY3V9RL
PA7/ADC7 PD3/INT1
18
D1 PD4/OC1B D11
PB0 1 19
R1 PB0 PB1 2
PB0/T0/XCK PD5/OC1A
20 PD1
R12
PB1/T1 PD6/ICP1
PB2 3 21
10k PB2/AIN0/INT2 PD7/OC2 10k
MZPY3V9RL PB3 4 MZPY3V9RL
PB3/AIN1/OC0
PB4 5
D2 PB4/SS D12
PB5 6
R3 PB1 PB6
PB5/MOSI
PD2
R13
7 32
PB6/MISO AREF
PB7 8 30
10k PB7/SCK AVCC 10k
MZPY3V9RL MZPY3V9RL
ATMEGA16
R4 D3 D13 R14
PB2 PD3
10k 10k
MZPY3V9RL MZPY3V9RL

R5 D4
PB3
DSW1
10k OFF ON
MZPY3V9RL 6 1 PB
5 2 PC
R6 D5 4 3 PD
PB4
10k DIPSW_3
MZPY3V9RL

R7 D6
PB5
10k
MZPY3V9RL

R8 D7
PB6
10k
MZPY3V9RL
R9 D8
PB7
10k
MZPY3V9RL

9
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)

10
Placaemisie 3d

Cablajul P.C.B. pentruplaca de receptie:

Placareceptiepcb(cum trebuiegauritaplaca)

11
Placa de receptie (partea de sus)

Placa de receptie (partea de jos)

12
Placa de receptie 3d

6. Schema logicasidescriereafunctionarii.

Schema bloc pentruplaca de emisie

13
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

14
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
*/

15
.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

16
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

17
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)

18

S-ar putea să vă placă și