background image

Sprawozdanie z ćwiczenia numer 10

Data wykonania ćwiczenia: 2006-10-09

Temat ćwiczenia:

Emulatory Układowe

 

Laboratorium Mikroinformatyki

Rok akademicki

Termin

Rodzaj studiów

Kierunek

Prowadzący

Grupa

Sekcja

2006/2007

poniedziałek

14:45 – 17:00

Dzienne

INF

KT

4

2

Skład sekcji:

Liszka Michał
Pulnar Dawid
Strzelczyk Marcin

background image

1. Zadanie

Napisać program sterujący świeceniem dwukolorowej diody LED. Dioda powinna płynnie 
zmieniać kolor z zielonego na czerwony i  z powrotem na zielony. Dioda jest podłączona do 
portów 1.2 i 1.3 mikrokontrolera 8051. 

2. Rozwiązanie

$MOD52

;8052 Definitions

x equ 21
t equ 22

mov t,#255

poczatek:
mov x,#255

czerwienieje:

mov R3,x
clr P1.2

; zapalenie zielonego

zielony:

djnz R3,zielony

; świecenie zielonym przez okres x

setb P1.2

; wygaszenie zielonego

mov A,t

;

subb A,x

; załadowanie do R0 wartości  t - x

mov R0,A

;

jz za_czerw

; jeśli t-x=0 to kolor czerwony nie powinien się pojawić

clr P1.3

; zapalenie czerwonego

czerwony:

;

djnz R0,czerwony

; świecenie czerwonym przez okres  t - x

za_czerw:
setb P1.3

; wygaszenie czerwonego

dec x

;

mov A,x

; powtarzanie pętli aż do czasu, gdy dioda będzie przez cały okres t

jnz czerwienieje

; świecić na czerwono

mov x, #255

; wpisanie do x wartości 255, tym razem kolor czerwony będzie się 
; świecić przez okres x, a zielony przez t - x

zielenieje:

mov A, t

;

subb A,x

; wpisanie do R3 wartości t - x

background image

mov R3, A

;

jz za_ziel

; jeśli t-x=0 to kolor zielony nie powinien się pojawić

clr P1.2

; zapalenie zielonego

zielony2:

;

djnz R3,zielony2

; świecenie zielonym przez okres t - x

za_ziel:
setb P1.2

; wygaszenie zielonego

mov R0, x

clr P1.3

; zapalenie czerwonego

czerwony2:

djnz R0,czerwony2 ; świecenie czerwonym przez okres x

setb P1.3

; wygaszenie czerwonego

dec x
mov A,x

; powtarzanie pętli aż do czasu, gdy dioda będzie przez cały okres t

jnz zielenieje

; świecić na zielono

jmp poczatek

END

3. Wnioski

Pisanie programów w języku asemblera jest zdecydowanie trudniejsze, niż w języku 
wysokiego poziomu. W celu ułatwienia pisania programów dla systemów 
mikroprocesorowych powstał emulator. Dzięki emulatorowi, który zastępuje mikroprocesor 
możemy śledzić działanie programu, ustawiać pułapki itp. W ten sposób oszczędzamy dużo 
czasu i pracy na szukaniu i poprawianiu błędów.