Extras din laborator
Scopul lucrării: De a se lua cunostinta cu modul de programare asembler prin efectuarea unui program simplu
Sarcina lucrarii: Să se proiecteze un sistem care ar permite schimbarea stării unui led din aprins în stinns la apăsarea unui buton. Starea inițială se va considera led aprins.
Date teoretice:
Fig.1 Schema bloc interna a mp. ATmega16
Mersul lucrarii:
Pentru a putea efectua lucrarea data am avut nevoe de a studia modurile de conectare a unui buton si a unui led la MP din punct de vedere fizic, ce se intimpla in diferite cazuri ca de exemplu conectare ca intrari si cinectare ca iesirea unui pin.
In cazul conectarii unui buton sau a unui intrerupator la unul din pini trebue sa luam in cont faptul ca acest pin trebue sa fei setat in DDRx (DDRx-Registrul de setare a directiei portului, intrare sau iesire)ca „0” pentru a fi setat ca intrare si „1” pentru a fi setat ca iesire.
DDR PORT PIN
1 1 1
1 0 0
0 1 Pull-up
0 0 HZ
Tab.1 Tabelul de adevar
PINx - serveste pentru citirea valorii logice de pe terminalul fizic, acest registru este accesibil doar pentru citire. Operatia de scriere catre acest registru nu va afecta valoarea fizica a terminalului fizic.
PORTx - registru de setare a valorii portului pentru cazul cand este setat catre iesire si activarea rezistentei de pull-up in cazul cand este setat catre intrare.
Fig.2 Conectarea la pin
In figura 2 este reprezentat modul de conectare a rezistentei Pull-up care se pune atunci cind e setat pinul ca intrare la care este aplicata valoarea “1” sau “0” in dependent de PORT datele care sunt citite de pe PIN care este permanent conectat la pin si care ne arata potentialul.
Pentru a putea incepe crearea programului avem nevoe de a crea schema bloc a programului dorit.
Fig.3 Schema bloc a programului
Listingul programului
.include "m16def.inc"
.cseg
.org 0
init:
ldi R16, 0b01000000
out DDRA, R16;
ldi R16, 0b10111111
out PORTA, R16;
endinit:
mainloop:
l1:
sbic PINA, 3;
rjmp l1;
l2:
sbic PORTA, 6;
rjmp L3;
sbi PORTA, 3;
rjmp L3;
L3:
sbic PINA, 3
rjmp L3
L4:
ldi R16, 3;
L5:
dec R16;
cpi R16, 0;
brne L5;
Preview document
Conținut arhivă zip
- Microprocesoare
- ldh 5 dreg.docx
- mp 1 dreg.doc
- mp 2 dreg.docx
- mp 3 dreg.docx