Documente Academic
Documente Profesional
Documente Cultură
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
Sarcina tehnica
Proiectul dat din punct de vedere a prtii sale electronice, va fi realizat n baza
microcontrolerului ATmega32, scopul principal fiind realizarea unui sistem de
monitorizare a traficului rutier. La realizarea proiectului voi utiliza mediul de
proiectare
AVR-Studio
pentru
elaborarea
si
compilarea
programului
1.
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
7Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
8Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
9Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
10
11Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
11
12Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
12
CONCLUZII:
n zilele de astzi trim ntr-o lume a automatizrii i a controlului de ctre
dispozitivele electronice, domeniul IT cunoscind o dezvoltare foarte mare, continua,
nu exista o zi fara sa apara un element nou pe piata mondena. Toate aceste
automatizri sunt realizate cu ajutorul microcontrolerelor. Ele sunt prezente peste tot:
la dispozitivele de afiare, la dispozitivele audio, n prelucrarea informaiei etc.
Odat cu evoluia microprocesoarelor, proiectarea dispozitivelor a devenit
accesibil practic tuturor doritorilor, deoarece a aprut accesul la diverse componente
electronice, despre care inainte nici nu se cunostea.
Prin realizarea acestui proiect am fcut un mare pas spre performanele n lumea
ingineriei, deoarece am neles c de i e destul de dificil de programat, este ceva
foarte interesant i foarte eficient pentru evoluia sistemelor de calcul.
13Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
13
BIBLIOGRAFIE:
14Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
14
ANEX
15Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
15
Listingul programului:
/*
* Created: 28.11.2014 19:42:40
* Author: Andrei
*/
#define F_CPU 16000000UL
#define USART_BAUDRATE 19200
#define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)
#define nrBenzi 6
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
#include <avr/interrupt.h>
//6 benzi de circulatie
int banda[nrBenzi] = {};
int workingMode = 0;
int toggle = 0;
char strBuff[5];
void USART_Init(void){
UBRRL = (unsigned char)BAUD_PRESCALE;
UBRRH = (unsigned char)(BAUD_PRESCALE >> 8);
UCSRB = ((1<<TXEN)|(1<<RXEN)| (1<<RXCIE));
}
void USART_SendByte(uint8_t u8Data){
while((UCSRA &(1<<UDRE)) == 0);
UDR = u8Data;
}
void USART_putstring(char* StringPtr){
while(*StringPtr != 0x00)
{
USART_SendByte(*StringPtr);
StringPtr++;
}
}
ISR(USART_RXC_vect)
{
while(!(UCSRA & (1<<RXC)));
switch(UDR)
{
case '0': workingMode = 0; USART_putstring("Mod de lucru 0;\r");
resetArrayValue(&banda); break; //mode de lucru 1, raporteaza banda pe care trece masina
case '1': workingMode = 1; USART_putstring("Mod de lucru 1;\r");
resetArrayValue(&banda); break; // mode de lucru 2, aduna numarul de masini si raporteaza la
cerere
case 'r': sendReport(); break;
}
return UDR;
}
void resetArrayValue(int *buff)
{
for(int i=0;i<nrBenzi;i++)
{
buff[i] = 0;
}
}
void sendReport()
16Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
16
{
for(int i=nrBenzi-1;i>=0;i--)
{
itoa(banda[i],strBuff,10);
USART_putstring(strBuff);
if((i-1)<nrBenzi)
USART_SendByte(',');
}
USART_SendByte(';\r');
resetArrayValue(&banda);
}
int main(void)
{
DDRB = 0x60; //pe portul b
PORTB = 0xC0; //pull up pe pinii 7 si 8
DDRA = 0x0;
PORTA = 0xFF; //pull up pe PA
DDRC = 0x0;
PORTC = 0xFF; //pull up pe PC
DDRD = 0x0;
PORTD = 0xFF;
USART_Init();
sei();
int portBVal = 0;
USART_putstring("Mod de lucru 0;\r");
USART_putstring("Moduri disponibile:\r0 - raporteaza live;\r1 - colecteaza date;\r");
while(1)
{
portBVal = PINB;
for(int i=0;i<nrBenzi;i++)
{
if( ((portBVal>>i)&1 == 1) )
{
toggle |= 1<<i;
}
else if( (toggle>>i)&1 == 1)
{
if(workingMode == 1)
{
banda[i]++;
}
else
{
banda[i]++;
if(banda[i] % 2 == 0)
{
itoa(i,strBuff,10);
USART_putstring(strBuff);
USART_putstring("\r");
banda[i] = 0;
}
}
toggle &= ~(1<<i);
}
}
_delay_ms(50);
}
}
17Coala
UTM 529.1.270.ME
Mod
Nr
Document
Semntura
Data
17