Inițiere în limbaj Assembler - modulul port

Laborator
8.4/10 (5 voturi)
Conține 1 fișier: doc
Pagini : 4 în total
Cuvinte : 894
Mărime: 39.75KB (arhivat)
Publicat de: Ioanina Moldoveanu
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Valeriu Pîrţac
Universitatea Tehnică a Moldovei

Extras din laborator

Scopul lucrarii: Realizarea unui circuit care ar permite dirijarea unui led prin intermediul microcontrollerului şi a unui buton.

Problema: Conectarea unui buton la microcontroler si la iesire un LED. La apăsarea butonului LED-ul trebuie sa se aprinda , la decondectarea butonului LED- se stinge. Crarea schemei în Proteus şi partea soft în Avira.

Mersul lucrarii:

Dupa ce a fost definit scopul de a conecta un Led prin intermediul microprocesorului şi al aprinde prin un buton am parcurs direct la realizarea sarcinii. Pentru a realiza schema de funcţionare am folosit programul Proteus 7 Professional-> Isis Profesional. Selectind microcontrolerul necesar si Led-ul de culoare rosie am montat schema si am dat directoria la programul soft, creind prealabil un fisier cu extensia .hex AVR Studio 4 - > Avr Simulator -> Atmega16. in care am specificat fisierul cu microprocesorul AVR, am definit porturile de intrare si de iesire

Teoria

Microcontrollerele din familia AVR prezinta o organizare de tipul RISC executand

o instuctiune / ciclu masina. Prezenta unor blocuri interne ca : oscilator intern ,timere, unitate UART, SPI , rezistoare pull-up, PWM ( pulse widith modulation), AD, comparatoare, determina utilizarea acestor microcontrollere intr-o gama foarte larga de aplicatii.

Instructiunile acestei familii de microcontrollere au fost proiectate pentru a reduce dimensiunea unui program scris in limbaj C sau in limbaj de asamblare. Posibilitatea programarii memoriei FLASH si a memoriei EEPROM, determina ca aceste microcontrollere sa aiba o larga utilizare datorata costului mic de dezvoltare a unei aplicatii (timpul de proiectare scurt). O alta calitate remarcabila a acestor microcontrollere este consumul foarte mic

de energie. Domeniul tensiunilor de alimentare este cuprins intre 1.8 si 5V.Prezinta 6

moduri diferite de stand-by ceea ce ne asigura ca aceste microcontrollere nu vor consuma

energie decat atunci cand este nevoie.

Controlul software al frecventei garanteaza o viteza maxima de executie atunci

cand este nevoie , iar in restul timpului microcontrolerul poate trece in stand-by unde

consumul de energie este minim.

Utilizarea acestor microcontrollere poate reduce semnificativ timpul de dezvoltare a unei aplicatii datorita prezentei pe acestea a unui bloc de depanare in timp real , circuitul aflandu-se chiar pe placa ce reprezinta aplicatia. Se pot face in timp real operatii de “watch” asupra unor registri , operatii de rulare pas cu pas , operatii de oprire in breakpoint.

Port A (PA7 .. PA0)

Port-ul A serveste drept port de intrari analogice pentru Convertorul A/D.

Port-ul A serveste de asemenea si ca un port bidirectional I/O de 8 biti, in cazul in care

Convertorul A/D nu este folosit. Pinii de port pot fi conectati optional la VCC prin rezistori interni, (selectati pentru fiecare bit). Buffer-ele de iesire ale Portului A au caracteristici de amplificare .

Port B (PB7.. PB0)

Portul B este un port I/O de 8 biti bidirectional cu rezistori interni (optionali).

Buffer-ele de iesire ale Port-ului B au caracteristici de amplificare. Port-ul B indeplineste de asemenea functii speciale ale microcontrolerului ATmega 16

Preview document

Inițiere în limbaj Assembler - modulul port - Pagina 1
Inițiere în limbaj Assembler - modulul port - Pagina 2
Inițiere în limbaj Assembler - modulul port - Pagina 3
Inițiere în limbaj Assembler - modulul port - Pagina 4

Conținut arhivă zip

  • Initiere in Limbaj Assembler - Modulul Port.doc

Alții au mai descărcat și

C++

Un prim exemplu de program C++: #include <iostream.h> void main { int a; cout << "Dati un numar\n"; cin >> a; cout << "Ati tastat numarul "...

Probleme C++ Rezolvate

Problema 1: cmmdc(a, b) #include<stdio.h> #include<conio.h> //algoritmul lui Euclid //cel mai mare divizor comun pentru doua numere strict...

Limbajul C++ fundamente - aplicații

PROBLEMA 1 Sa se verifice daca un numar intreg preluat de la terminal este prim. #include<iostream.h> #include<math.h> void main () { int n,...

Laboratoare C++ (SDA)

1.1. Crearea şi afişarea unei liste Exerciţiul 1. Să se scrie programul pentru crearea unei liste simplu înlănţuite cu preluarea datelor de la...

Limbaje de Programare

1. Definirea şi clasificarea limbajelor de programare Limba (DEX) – sistem de comunicare alcătuit din sunete articulate, specifice omului, prin...

Curs 1 - PHP

1. INTRODUCERE - Ce este PHP ? PHP este abrevierea de la PHP – Hypertext Preprocessor (similar cu GNU ce reprezinta abrevierea de la GNU’s Not...

Curs 2 - PHP

Variabila reprezinta un identificator la o locatie de memorie si se foloseste pentru stocarea, prelucrarea si stergerea datelor. Variabilele in...

Curs 3 - PHP

Cicluri si structuri repetitive in PHP Ciclurile (buclele) sunt folosite atunci cand dorim sa executam de mai multe ori un bloc (ex: parcurgerea...

Ai nevoie de altceva?