Ćwiczenie Sprawko

Laboratorium Układów Mikroprocesorowych
Rok akademicki
2008/2009

Sprawozdanie z ćwiczenia numer 20

Data wykonania ćwiczenia: 2008-11-12

Temat ćwiczenia:

Mikrokontrolery AVR cz. I

Skład Podsekcji III

Wojciech Szymoszek

Robert Uszok

Ireneusz Zydroń


1. TEMAT ĆWICZENIA

Do portu B podłączone jest 8 diod LED zwartych do masy. Do portu C podłączonych jest 8 przycisków zwartych do masy. W pamięci programu jest tablica romtab o nieznanej długości zakończona bitem 00. W pamięci znajduje się również tablica ramtab (0-1024 bajty). Napisać program pokazujący stan naciśnięcia przycisków przy założeniu, że stan pokazuje się natychmiast i trwa 2 sekundy.

2. ROZWIĄZANIE PROBLEMU - KOD PROGRAMU

.include "m2561def.inc"

.eseg

.dseg

.org 0x200 ;adres tablicy ramtab

ramtab: .byte 1024

.cseg

.org 0 ; start od adresu 0

romtab: .db $02, $08, $03, $04, $07, $00 ;zawartość tablicy ramtab kończącej

; się bitem 00

rjmp START ; skok do etykiety START

START:

.def rej = r16 ; rejestr przechowujący stan wciśniętych

; przycisków

.def acc = r17 ; rejestr zawierający liczbę wykonań

; pętli opóźniającej gaszenie diod

.def temp1 = r18 ; rejestr pomocniczy przechowujący stan

; wciśniętych przycisków

.def temp2 = r19 ; rejestr pomocniczy przechowujący stan

; wciśniętych przycisków

.def licz1 = r20 ; rejestr zawierający liczbę wykonań

; jednej z pętli opóźniających gaszenie diod

.def licz2 = r21 ; rejestr zawierający liczbę wykonań

; jednej z pętli opóźniających gaszenie diod

.def licz3 = r22 ; rejestr zawierający liczbę wykonań jednej z

; pętli opóźniających gaszenie diod

.equ KeyPort = PORTC ; portC jako KeyPort

.equ KeyPins = KeyPort-2 ; piny portuC jako KeyPins

ldi acc, 166 ; liczba wykonań pętli opóźniającej gaszenie

; diod (ok 250ms)

ser rej ; ustawienie wszystkich bitów rejestru

out DDRB,rej ; przepisanie zawartości ze zmiennej rej

; wskazującej na r16 do rejestru z przestrzeni

; adresowej I/O portuB

petelka:

in rej,KeyPins ; przepisanie zawartości rejestru z przestrzeni

; adresowej I/O portu C do rejestru rej(r16)

in temp1, KeyPins ; j.w do rejestru temp1 (r18)

out PORTB,rej ; przepisanie zawartości rejestru rej (r16) do

; rejestru z przestrzeni adresowej I/O portu B

rcall wait ; wywołanie podprogramu wait (opóźnia wygaszenie

rcall wait ; diod LED o ok 250ms)

rcall wait

rcall wait

rcall wait

rcall wait

rcall wait

rcall wait

cbi KeyPins,0

cbi KeyPins,1

cbi KeyPins,2

cbi KeyPins,3 ; zerowanie kolejnych bitów (0-7) w rejestrze

cbi KeyPins,4 ; we/wy portu C

cbi KeyPins,5

cbi KeyPins,6

cbi KeyPins,7

rjmp petelka ; skok na początek pętli

wait: ; podprogram wait opóźnia wygaszenie diod LED

mov licz3, acc ; ustawienie czasu opóźnienia

; powtórz n razy pętlę L,

; co da opóźnienie ok. n * 1,5 ms

L:

ldi licz2, 10 ; powtórz 10 razy pętlę L0,

; co da opóźnienie ok 1,5ms

L0:

ldi licz1, 100 ; powtórz 100 razy pętlę L1,

; co da opóźnienie ok. 150 us

L1:

in temp2, KeyPins ; przepisanie zawartości rejestru z przestrzeni

; adresowej I/O portu C do rejestru temp2(r19)

sub temp2,temp1 ; sprawdzenie czy zmienił sie stan przycisków

; (odjęcie zawartości rejestru temp2(r19) od

; rejestru temp1(r18)

brne petelka ; skok do pętelka jeśli !=0

dec licz1 ; dekrementacja licz1

brne l1 ; skok do L1 jeśli !=0

; koniec pętli L1

dec licz2 ; dekrementacja licz2

brne l0 ; skok do pętli L0

; koniec pętli L0 jeśli !=0

dec licz3 ; dekrementacja licz3

brne L ; skok do pętli L jeśli !=0

; koniec pętli L

ret ; powrót z podprogramu

3. WNIOSKI

Dzięki napisanemu programowi, zapoznaliśmy sie ze środowiskiem programistycznym AVR-Studio v4, mogliśmy także wykorzystać nasze teoretyczne umiejętności w pisaniu programów pod AVR w praktyce. Program działa według nas prawidłowo, choć napisanie go przysporzyło nam wielu problemów, z którymi jednak szybko sobie poradziliśmy.


Wyszukiwarka

Podobne podstrony:
Ćwiczenie 3 Sprawko (Licznik)
Ćwiczenie 4 sprawko Flasiński
Ćwiczeniew sprawko
sprawko z wiercenia, Polibuda (MiBM), Semestr III, III semestr, Skowron, III semestr, obróbka skrawa
Symulacja E ogarnijtemat.com, SiMR inżynierskie, Semestr 4, Laboratorium Mechaniki Płynów, Ćwiczenia
sprawko przeplyw nasze ogarnijtemat.com, SiMR inżynierskie, Semestr 4, Laboratorium Mechaniki Płynów
ćwiczenie 8 sprawko
Ćwiczenie 5 sprawko Miśkowiec
ćwiczenieH sprawko
naprezenia, Semestr III, Geologia Inżynierska, Geologia inż ćwiczenia, Sprawka inżynierska ćwiczenia
Ćwiczenied sprawko
Ćwiczenie 2 sprawko Kijak
Próbne obciążenie gruntu, Semestr III, Geologia Inżynierska, Geologia inż ćwiczenia, Sprawka inżynie
Sondowanie, Semestr III, Geologia Inżynierska, Geologia inż ćwiczenia, Sprawka inżynierska ćwiczenia
KLICH1, Semestr III, Geologia Inżynierska, Geologia inż ćwiczenia, Sprawka inżynierska ćwiczenia
Sprawozdanie z ćwiczenia, sprawko
ćw.A. Lepkość ogarnijtemat.com, SiMR inżynierskie, Semestr 4, Laboratorium Mechaniki Płynów, Ćwiczen
Matematyczne opracowanie badań, Semestr III, Geologia Inżynierska, Geologia inż ćwiczenia, Sprawka i
ćwiczenie 2 sprawko

więcej podobnych podstron