KOLEGIUM KARKONOSKIE WYDZIAŁ TECHNICZNY
Laboratorium Techniki Cyfrowej
i Mikroprocesorowej
Celem ćwi\ na przy i
\znanie się z podstawami programowania w języku asemblera, 8051 i rozwijanie umiejętności uruchamiania programów.
Opracować przykładowe programu umożliwiające kopiowanie jednej $ bitowej danej
L
z jednej komórki pamięci do drugiej.
Przewidzieć wszystkie możliwe warianty kopiowania (kopiowanie z jednej komórki lunach tej samej pamięci np. DATA, oraz pomiędzy komórkami występujących w mikrokontrolerze rodziny ’51 np. z komórki komórki pamięci XDATA).
Sygnały generujące dźwięk o częstotliwości np:
a. 200Hz,
b. 400Hz
Diody P3.2 oraz P3.4 sygnalizują aktualnie wytwarzany dźwięk.
Wytwarzanie dźwięku portem Pl.l.
Do linii Pl.l dołączony jest przetwornik piezoelektryczny (buzzer) o częstotliwości rezonansowej fpiezo = 3.5 kHz. Programowe wytworzenie sygnału prostokątnego o wypełnieniu J/j i sterowanie nim przetwornika powoduje wygenęrowanie dźwięku. Jeśli mikrokontroler jest sterowany rezonatorem kwarcowym o częstotliwości frez = 12 MHz, to dźwięk o częstotliwości f = 1 kHz jest generowany przez następujący program:
DzwieklkHz:
;sygnał prostokątny generowany jest programowo, czas trwania poziomu wysokiego i poziomu zera ;logicznego i wynosi T = 500 ps, linia portu Pl.l adresowana jest bitowo
SETB Pl.l ;P1.1<= 1,poziom wysoki na linii Pl.l, '.instrukcja trwa 1 cykl maszynowy,
1 ps
-o LCALL Czas_499 .wywołanie podprogramu Czas_499, ;którego wykonanie trwa T = 499 ps -> CLR PI. 1 ;P1.1<= 0, poziom niski na linii Pl.l;instrukcja trwa 1 cykl mas2ynowy, 1 ps
LCALL Czas_499 ;wywołanie podprogramu Czas_499, ;którego wykonanie trwa T = 499 ps
If./>•* SJMP Dzwiek l kHz ;powtórzenie programu,;instrukqa trwa 2 cykle maszynowe, 2 ps Czas_499: ;czas trwania poszczególnych instrukcji wynosi:
; LCALL 2 cykle maszynowe,
; MOV A,#247 1 cykl maszynowy,
; DJNZ ACC,Skok 2 cykle maszynowe,
; RET 2 cykle maszynowe,
;wywołanie i wykonanie podprogramu trwa 499 cykli maszynowych
MOV A,#247 ;liczba powtórzeń instrukcji DJNZ 2- 4 ^ °^rzl
Skok: DJNZ ACC.Skok ;właściwe opóźnienie RET ;powrót z podprogramu
;łączna liczba cykli maszynowych wykonanych w programie Dzwiek_l_kHz wynosi:
; 1+499 + 1+499 + 2=^1002 (1.002ms)
/lQ02y)
IW+W-Usł
4 SU/**, f