Mikroprocesory |
||||||
Rok akademicki |
Termin |
Rodzaj studiów |
Kierunek |
Prowadzący |
Grupa |
Sekcja |
2007/2008 |
Piątek |
USM |
INF |
GD |
1 |
1 |
|
17:15 - 20:15 |
|
|
|
|
|
Sprawozdanie
Data wykonania ćwiczenia: 2008-01-18
Temat ćwiczenia:
Projektowanie systemów cyfrowych w oparciu o układy programowalne
Skład sekcji: |
Jacek Jędruch |
Bartłomiej Gorczyński |
Celem laboratorium było zapoznanie się z podstawowymi poleceniami
języka ASEMBLER mikro kontrolera 8051. Do realizacji laboratorium
wykorzystany został:
- kompilator asembler,
- symulator działania mikroprocesora 8051
Zadaniem były do napisania 3 programy.
Zadanie 1
Napisać program, którego zadaniem będzie przesuwanie się zera,
w zależności od kierunku DIR. Przesunięcie ma następować w takt zbocza
opadającego zegara. Zero powinno przechodzić przez bufor, tak jak
przedstawiono to na rysunku nr. 1.
kod źródłowy:
org 0
mov p3,#255 ;wypelnia caly port p3 '1'
start:
jb p0.7, $
jnb p0.7, $ ;oczekuje na zbocze opadajace
jnb p0.6, lewo ;sprawdzenie w ktora strone ma sie poruszac
jb p0.6, prawo
lewo:
mov a, p3
rlc a
mov p3,a
sjmp start ;skok do poczatku
prawo:
mov a, p3
rrc a
mov p3, a
laboratorium: Programowanie mikroprocesora 8051 2
Rysunek 1: Schemat poglądowy dla zadania
1.
sjmp start
nop
Zadanie 2
Napisać program, którego zadaniem będzie przesuwanie się zera,
w zależności od kierunku DIR. Przesunięcie ma następować w takt zbocza
opadającego zegara. Wykorzystane powinny być dwa porty P2 i P3.
Przesunięcie zera w obrębie P2 i P3 obrazuje rysunek 2.
org 0
mov b,#0 ;zmienna pomocnicza
mov p3,#255 ;wypelnia port P3 '1'
mov p2,#255 ;wypelnia port P2 '1'
start:
jb p0.7, $
jnb p0.7, $ ;oczekuje na zbocze opadajace
jb b.0, start2 ;jesli 0 idz do start2
jnb b.0, start3 ; jesli rozne od zera idz do start3
start2:
jnb p0.6, lewo1 ;w zalezonosci od kierunku
jb p0.6, prawo1 ;przesuwa w prawo badz lewo
start3:
jnb p0.6, lewo2 ;w zalezonosci od kierunku
jb p0.6, prawo2 ;przesuwa w prawo badz lewo
lewo1:
mov a,p2 ;kopiuje zawartosc P2 do akumulatora
rlc a ;przesuwa o jeden bity w lewo
mov p2,a ;kopiuje zawartosc akumulatora do p2
cpl a ;negacja akumulatora
jz zmiana ;przechodzi do etykiata zmiana
sjmp start ;przechdozi do poczatku
lewo2:
mov a,p3
laboratorium: Programowanie mikroprocesora 8051 3
Rysunek 2: Schemat poglądowy dla zadania 2.
rlc a
mov p3,a
cpl a
jz zmiana
sjmp start
prawo1:
mov a,p2
rrc a
mov p2,a
cpl a
jz zmiana
sjmp start
prawo2:
mov a,p3
rrc a
mov p3,a
cpl a
jz zmiana
sjmp start
zmiana:
cpl p0.6 ;zmiana kierunku
cpl b.0 ;neguje bit b.0
sjmp start ;skok do poczatku programu
nop