Michał Karamuz T24 cw 8 wyświetlacz LED

background image

Katowice 22.04.2009

SPRAWOZDANIE

LABORATORIUM Z ELEKTRONIKI

Temat: Wyświetlacz LED

Grupa dziekańska: T-24

Grupa: B

Sekcja: 5

1.Karamuz Michał

2. Andryszek Anna

background image

PRZEBIEG ĆWICZENIA

1. Programy wgrane i sprawdzone podczas ćwiczeń:

• Program 1 – liczy wstecz i zapala diodę po osiągnięciu wartości zerowej licznika

1.

MOV R1, #0FH

-zapisanie do rejestru R1 wartości 15

2.

MOV A, R1

-zapisanie do akumulatora zawartości R1

3.

MOV R0, A

-zapisanie A w R0

4.

L00:

-etykieta

5.

LCALL LCD_CLR

-wywołanie czyszczenia wyświetlacza

6.

MOV A, R0

-zapisanie do akumulatora zawartości R0

7.

LCALL WR_HEX

-wywołanie wyświetlenia liczby z akumulatora

8.

MOV A, R0

-zapisanie do akumulatora zawartości R0

9.

JZ L01

-skok do L01, gdy akumulator = 0

10.

DEC A

-dekrementacja A

11.

MOV R0, A

-zapisanie A w R0

12.

MOV A, #0AH

13.

LCALL DEL_100

-wywołanie opóźnienia A*MS

14.

LJMP L00

-skok do etykiety

15.

L01

-etykieta

16.

CLR P1.7

-zapalenie diody

17.

L02

-etykieta

18.

LJMP L02

19.

.END

a)

Program zaczyna liczyć od liczby wpisanej do akumulatora – w tym przypadku 0F =15.

b)

Program zapisuje liczbę do rejestru.

c)

Etykieta

d)

Program czyści wyświetlacz i znowu zapisuje liczbę do rejestru.

e)

Potem porównuje czy liczba jest już równa 0, czy nie. Jeżeli jest przeskakuje do L01 i

zapala diodę, jeżeli nie to odejmuje od akumulatora kolejną liczbę, zapisuje ją i wraca

do etykiety L00.

f)

Sytuacja powtarza się, dopóki akumulator nie osiągnie 0 – JZ L01.

background image

• Program 2 – podobnie jak pierwszy program, tylko że dioda nie zapala się.

1.

MOV R1, #0FH

-zapisanie do rejestru R1 wartości 15

2.

MOV A, R1

-zapisanie do akumulatora zawartości R1

3.

MOV R0, A

-zapisanie A w R0

4.

L00:

-etykieta

5.

LCALL LCD_CLR

-wywołanie czyszczenia wyświetlacza

6.

MOV A, R0

-zapisanie do akumulatora zawartości R0

7.

LCALL WR_HEX

-wywołanie wyświetlenia liczby z akumulatora

8.

MOV A, R0

-zapisanie do akumulatora zawartości R0

9.

JZ L01

-skok do L01, gdy akumulator = 0

10.

DEC A

-dekrementacja A

11.

MOV R0, A

-zapisanie A w R0

12.

MOV A, #0AH

13.

LCALL DEL_100

-wywołanie opóźnienia A*MS

14.

LJMP L00

-skok do etykiety

15.

L01

-etykieta

16.

L02

-etykieta

17.

LJMP L02

18.

.END

Program 3 – wpisuje do akumulatora zawartość rejestru R1 z banku rejestru 0,
po naciśnięciu klawisza 0, oraz zawartość rejestru R1 z banku rejestrów 2, po
naciśnięciu innego klawisz.

1.

SETB RS1

-wybranie banku rejestrów 2

2.

MOV R1, #05H

- zapisanie do rejestru R1 wartości 5

3.

CLR RS0

-wybranie banku rejestrów 0

4.

MOV R1, #07H

-zapisanie do rejestru R1 wartości 7

5.

LCALL W_KEY

- pobranie numeru klawisza z klawiatury do akumulatora

6.

JZ L01

-skok do etykiety L01, gdy akumulator = 0

7.

SETB RS1

-wybranie banku rejestrów 2

8.

L01

-etykieta

9.

MOV A, R1

-zapisanie do akumulatora zawartości R1

10.

LCALL WR_HEX

-wywołanie wyświetlenia liczby z akumulatora

11.

L00

-etykieta

12.

LJMP L00

-skok do etykiety

13.

.END

background image

a)

Program zapisuje w banku rejestru 2 wartość podaną ( w tym przypadku 5), oraz w

banku rejestru 0 inną wartość podaną (w tym przypadku 7).

b)

Program pobiera numer klawisza z klawiatury.

c)

Jeżeli jest to 0 to od razu przeskakuje do etykiety L01 czyli wybiera bank 0, a jeżeli nie

jest to 0 to wybiera bank rejestru 2.

d)

Zapisuję liczbę w akumulatorze i wyświetla ją.

• Program 4 – liczy wstecz z interwałem jednej sekundy do zera, od jednej z

dwóch wartości zapisanych w rejestrach R1, w bankach 0 i 2, a wybór banku
odbywa się przez naciśnięcie przycisku uruchamiającego zliczanie (0 to bank 0,
a 2 to bank 2)

1.

SETB RS1

-wybranie banku rejestrów 2

2.

MOV R1, #05H

- zapisanie do rejestru R1 wartości 5

3.

CLR RS0

-wybranie banku rejestrów 0

4.

MOV R1, #07H

-zapisanie do rejestru R1 wartości 7

5.

LCALL W_KEY

- pobranie numeru klawisza z klawiatury do akumulatora

6.

JZ L01

-skok do etykiety L01, gdy akumulator = 0

7.

SETB RS1

-wybranie banku rejestrów 2

8.

L01

-etykieta

9.

MOV A, R1

-zapisanie do akumulatora zawartości R1

10.

L00:

-etykieta

11.

LCALL LCD_CLR

-wywołanie czyszczenia wyświetlacza

12.

MOV A, R1

-zapisanie do akumulatora zawartości R1

13.

LCALL WR_HEX

-wywołanie wyświetlenia liczby z akumulatora

14.

MOV A, R1

-zapisanie do akumulatora zawartości R0

15.

JZ L02

-skok do L02, gdy akumulator = 0

16.

DEC A

-dekrementacja A

17.

MOV R1, A

-zapisanie A w R0

18.

MOV A, #0AH

19.

LCALL DEL_100

-wywołanie opóźnienia A*ms

20.

LJMP L00

-skok do etykiety

21.

L02

-etykieta

22.

LJMP L02

23.

.END

a)

Program wybiera z dwóch wartości z dwóch banków tak jak w programie 3.

b)

Program zaczyna zliczanie od jednej z dwóch wybranych wartości, liczy tak jak w

programie 1.

background image

• Program 5 – liczy wprzód od 00H do 0FH z interwałem 0,5 sekundy i wyświetla

wynik na wyświetlaczu LCD. Po zakończeniu oczekuje na naciśnięcie klawisza.

1.

MOV R1, #0FH

-zapisanie do rejestru R1 wartości 15

2.

MOV A, R1

-zapisanie do akumulatora zawartości R1

3.

MOV R0, A

-zapisanie A w R0

4.

L00:

-etykieta

5.

LCALL LCD_CLR

-wywołanie czyszczenia wyświetlacza

6.

MOV A, R0

-zapisanie do akumulatora zawartości R0

7.

LCALL WR_HEX

-wywołanie wyświetlenia liczby z akumulatora

8.

MOV A, R0

-zapisanie do akumulatora zawartości R0

9.

SUBB A, #0EH

-odjęcie od akumulatora 14

10.

JZL01

-skok do L01 gdy akumulator = 0

11.

MOV A, R0

-zapisanie do akumulatora zawartości R0

12.

INC A

-

13.

JZ L01

-skok do L01, gdy akumulator = 0

14.

DEC A

-dekrementacja A

15.

MOV R0, A

-zapisanie A w R0

16.

MOV A, #05H

17.

LCALL DEL_100

-wywołanie opóźnienia A*MS

18.

LJMP L00

-skok do etykiety

19.

L01

-etykieta

20.

CLR P1.7

-zapalenie diody

21.

L02

-etykieta

22.

LJMP L02

-skok do etykiety

23.

.END

a)

Program zaczyna liczyć w górę od zawartości 00H do OFH.

b)

Najważniejsza jest instrukcja SUBB A, #0EH, która odejmuje od zawartości

akumulatora liczbę 14.

c)

Program sprawdza czy akumulator = 0, czy nie i działa tak jak program 1.

background image


Wyszukiwarka

Podobne podstrony:
Kolejny miernik na ICL7107 i wyświetlaczach LED wspólna anoda schemat
2a Moduł USB wyświetlaczy LED
licznik elektroniczny z wyświetlaczem LED
3b Moduł wyświetlaczy LED płytka
3a Moduł wyświetlaczy LED
2b Moduł USB wyświetlaczy LED płytka
Gigantyczne wyświetlacze LED
Kolejny miernik na ICL7107 i wyświetlaczach LED wspólna anoda, schemat
Kolejny miernik na ICL7107 i wyświetlaczach LED wspólna anoda schemat
Zegar z budzikiem na zwykłych scalakach z wyświetlaczem LED wspólna katoda lub z pojedynczych diodek
Zegar z budzikiem na zwykłych scalakach z wyświetlaczem LED wspólna katoda lub z pojedynczych diodek
Ćw 3 Wyświetlacz ciekłokrystaliczny doc

więcej podobnych podstron