DSM 51 id 144025 Nieznany

background image

Politechnika Warszawska - Instytut IM w Płocku, Podstawy Elektrotechniki i Elektroniki

1

BADANIE DYDAKTYCZNEGO SYSTEMU

MIKROPROCESOROWEGO DSM-51

1. Cel wiczenia

Celem wiczenia jest zapoznanie studentów z budow i funkcjonowaniem układów

mikroprocesorowych oraz podstawowymi czynno ciami zwi zanymi z programowaniem

mikrokontrolerów w j zyku asemblera i uruchamianiem programów w systemie

mikroprocesorowym.

2. Obsługa dydaktycznego systemu mikroprocesorowego DSM-51

W omawianym systemie przewidziano dwie metody napisania programu dla mikrokontrolera.

Pierwsza metoda polega na wykorzystaniu komputera PC do napisania programu ródłowego

za pomoc edytora tekstu, wykonaniu asemblacji kodu ródłowego z wykorzystaniem

predefiniowanego pakietu oprogramowania i przesłaniu kodu wynikowego za pomoc portu

szeregowego RS 232 do systemu dydaktycznego. Program mo e by uruchomiony w trybie pracy

krokowej, co umo liwia podgl d wszystkich, wa nych z punktu widzenia pracy układu rejestrów i

lokacji pami ci.

Druga metoda to wykorzystanie własnego assemblera zaimplementowanego w systemie

dydaktycznym. Za pomoc klawiatury systemu wprowadza si bezpo rednio do pami ci

mikrokontrolera kolejne rozkazy kodu ródłowego programu. jest to bardzo niewygodny sposób

wprowadzania programu i nadaje si jedynie do uruchamiania bardzo krótkich programów.

Po zał czeniu zasilania stanowiska wykonuje si autotest systemu celem sprawdzenia

poprawno ci funkcjonowania poszczególnych układów systemu mikroprocesorowego.

System DSM-51 mo e pracowa w trzech trybach:

tryb 0 – gotowo c systemu na załadowanie programu steruj cego z komputera PC,

tryb 1 – wykonywanie programu aktualnie załadowanego do pami ci RAM,

tryb 2 – projektowanie programu za pomoc wbudowanego interpretera polece

mikrokontrolera 8051.

Standardowo system uruchamia si w trybie 0, aby przej do trybu 2 nale y przytrzyma

wci ni ty klawisz 2 i na chwil nacisn klawisz RESET-ROM.

Pisanie i uruchamianie programów z wykorzystaniem wbudowanego interpretera polece nie

nale y do przyjemnych zada . Dlatego te praktycznie wszystkie programy s pisane w edytorze

tekstu na komputerze klasy PC, a nastepnie poddawane procesowi asemblacji przy u yciu

zewn trznego asemblera

DSM51ASS.EXE.

Konwersja pliku ródłowego asemblera do postaci kodu wynikowego jest realizowana poprzez

wykonanie nast puj cego polecenia:

DSM51ASS nazwa_ pliku.asm

W wyniku działania programu powstaj nast pujace pliki:

nazwa_pliku.hex – plik zawieraj cy kod wynikowy w formacie Intel HEX,

nazwa_pliku.lst – listing programu.

Listing programu to plik tekstowy zawierajacy tre programu uzupełnion o numery linii,

wygenerowane kody rozkazów oraz wywołania makrorozkazów. Powstały plik w formacie HEX

mo na przesła do systemu DSM51 za pomoc programu DSM51RUN uruchamianego z wiersza

polece lub poprzez uruchomienie programu DSM51.EXE wyposa onego w interfejs graficzny.

Program ten pozwala na uruchomienie systemu w trybie pracy krokowej pod nadzorem monitora..

background image

Politechnika Warszawska - Instytut IM w Płocku, Podstawy Elektrotechniki i Elektroniki

2

Przed przesłaniem programu do systemu DSM-51 nale y najpierw ustawi go w tryb 0, który jest

domy lnie ustawiany podczas uruchomienia programu lub poprzez naci ni cie przycisku RESET -

ROM.

Do dydaktycznego systemu mikroprocesorowego doł czonych jest szereg prostych

programów, których celem jest pokazanie mo liwo ci oraz sposobu funkcjonowania podstawowych

podzespołów systemu mikroprocesorowego.

3. Mikrokontroler 8051 – krótka charakterystyka

a) Schemat mikrokontrolera 8051

b) Pami ci mikrokontrolera 8051

Standardowy mikrokontroler 8051 posiada 4kB pami ci programu typu ROM programowane

mask . Niektóre wersje układu posiadaj pami EPROM lub EEPROM. Pami programu

przechowuje kody operacji przeznaczonych do wykonania przez mikroprocesor, mo e tak e słu y

do przechowywania stałych u ywanych w programie. Pami programu adresowana jest przez 16-

bitowy licznik rozkazów (PC, ang. Program Counter). Mikrokontroler 8051 mo e tak e korzysta z

zewn trznej pami ci programu o pojemno ci do 64kB.

Na wewn trzna pami RAM składaj si dwa bloki: 128 bajtów ci głego obszaru pami ci

danych oraz obszar 128 bajtów niespójnego bloku rejestrów specjalnych mikrokontrolera.

background image

Politechnika Warszawska - Instytut IM w Płocku, Podstawy Elektrotechniki i Elektroniki

3

Rejestry specjalne SFR
Blok rejestrów specjalnych (SFR; ang. Special Function Registers) znajduje si w niespójnym

obszarze pami ci danych mikrokontrolera o adresach 128-240 (80H-0F0H). Obszar rejestrów SFR

mikrokontrolera '51 jest wykorzystywany dwojako - z jednej strony umieszczone s w nim wszystkie

(za wyj tkiem licznika rozkazów i czterech banków rejestrów R0-R7) rejestry steruj ce prac

mikrokontrolera lub wykorzystywane bezpo rednio przy wykonywaniu programu; z drugiej za

strony rejestry SFR stanowi rodzaj interfejsu pomi dzy mikroprocesorem a układami peryferyjnymi

umieszczonymi wewn trz mikrokontrolera. Wszystkie operacje sterowania wewn trznymi układami

peryferyjnymi oraz przesyłania danych mi dzy nimi a CPU, odbywaj si wła nie za po rednictwem

rejestrów SFR. Dost p do ka dego z tych rejestrów mo liwy jest wył cznie w trybie adresowania

bezpo redniego. Nazwy rejestrów SFR s zazwyczaj nazwami predefiniowanymi w asemblerach

mikrokontrolerów rodziny '51.

Mapa wewn trznej pami ci danych mikrokontrolera 8051

Adresy 48-127 (30H-7FH)

Pami danych u ytkownika

Adresy 32-47 (20H-2FH)

Pami adresowana bitowo (adresy 0-127 (0H-7FH))

Adresy 24-31 (18H-1FH)

Rejestry R0-R7 - bank 3 (RB3)

Adresy 16-23 (10H-17H)

Rejestry R0-R7 - bank 2 (RB2)

Adresy 8-15 (8H-0FH)

Rejestry R0-R7 - bank 1 (RB1)

Adresy 0-7 (0H-7H)

Rejestry R0-R7 - bank 0 (RB0)

Obszar od adresu 0 do 31 (0H-1FH) zajmuj cztery banki rejestrów (RB0...RB3) roboczych, po

osiem rejestrów w banku. Rejestry te maj oznaczenia R0 do R7 i mog by wykorzystywane do

przechowywania danych. Wyj tek stanowi rejestry R0 i R1 ka dego bloku, które mog by

wykorzystane do indeksowego adresowania wewn trznej i zewn trznej pami ci danych. W danej

chwili dost pny jest tylko bank wybierany bitami RS1 i RS0 rejestru statusowego PSW. Po

wyzerowaniu mikrokontrolera sygnałem RESET u ytkownik ma do dyspozycji bank 0. Obszar

pami ci o adresach 32-47(20H-2FH) mo e by u ywany do przechowywania dowolnych danych

wykorzystywanych w programie. Cech tego obszaru jest to, e mo liwe jest zaadresowanie

pojedynczego bitu komórki pami ci.

4. Projektowanie oprogramowania w j zyku asemblera

W wi kszo ci przypadków do projektowania wykorzystuje si komputer PC z

zainstalowanym programem edytora, asemblera, programu ł cz co-ładuj cego (ang. Linking-loader)

i ledz cego (debuger).

W systemie DSM-51 translator asemblera generuje plik wynikowy w

formacie (HEX), który mo e by przesłany do pami ci oraz dodatkowy plik tekstowy (LST), który

zawiera raport z przeprowadzonej translacji kodu ródłowego (numery i adresy kolejnych instrukcji

programu, adresy zadeklarowanych zmiennych, zestawienie u ytych nazw symbolicznych oraz

ewentualne komunikaty o bł dach).

Przygotowanie kodu ródłowego programu w postaci pliku ASCII

Ka da instrukcja programu w asemblerze jest tłumaczona na pojedynczy rozkaz maszynowy.

Ka da linia asemblera mo e zawiera maksymalnie jeden rozkaz procesora, dyrektyw asemblera lub

wywołanie wcze niej zdefiniowanego makrorozkazu.

Format ka dej linii programu:

[<etykieta>] <rozkaz> <operandy> ; <komentarz>

background image

Politechnika Warszawska - Instytut IM w Płocku, Podstawy Elektrotechniki i Elektroniki

4

[

<etykieta>] - symbol umieszczony na samym pocz tku linii, musi si zaczyna od litery lub

znaku podkre lenia. Je eli zako czona jest dwukropkiem, to nadawana jest jej warto okre laj ca

jej pozycj w kodzie ródłowym.

<rozkaz> - mnemonik kodu maszynowego procesora dyrektywa asemblera lub makrorozkaz.

<

operandy> - (argumenty) informacje wymagane przez mnemonik, dyrektyw asemblera lub

makrorozkaz. Rozkazy mog zawiera od 0 do 2 argumentów, oddzielonych przecinkami.

Argumentami mog by liczby, adresy danych oraz oznaczenia rejestrów.

<

komentarz> - wszystkie znaki wyst puj ce po redniku s traktowane jako komentarz i

ignorowane przez asembler.

Poszczególne pola linii programów musz by oddzielone mi dzy sob co najmniej jednym

znakiem spacji lub tabulacji.

Asembler umo liwia równie stosowanie symboli do oznaczania zarówno danych liczbowych

jak i adresów.

MOV A, #10

MOV – przeznaczenie, ródło

Rozkaz MOV (move – przesu ) spowoduje przeniesienie bitu lub bajtu z miejsca

okre lonego przez „ ródło” (w przykładzie: #10) do miejsca okre lonego przez „przeznaczenie” (w

przykładzie: A). Znak # okre la, e chodzi bezpo rednio o warto liczbow 10, która ma by

skopiowana do akumulatora.

Akumulator – jest rejestrem umieszczonym równie w obszarze rejestrów specjalnych SFR

(ACC) - akumulator

Rozkaz LCALL adr-16, wywołaj podprogram zaczynaj cy si szesnastobitowym adresem –

zwi ksz o 3 licznik programu PC, zwi ksz o 1 wska nik stosu SP i zapisz pod tym adresem młodszy

bajt licznika programu PC, zwi ksz wska nik stosu znowu o 1, zapisz pod ten adres starszy bit

licznika programu PC, przepisz adres wywołanego podprogramu do licznika programu PC.

RET powró z wywoływanego podprogramu, przepisz do licznika PC starszy bit adresu

powrotu, zmniejsz wska nik stosu SP o jeden, przepisz ze stosu do licznika programu PC młodszy

bajt adresu powrotu i zmniejsz wska nik stosu o 1.

Wybrane rozkazy mikrokontrolera 8051

Operacje matematyczne

ADD

Dodaj A

←A +

ADDC

Dodaj A

←A + + C

SUBB Odejmij A

←A -⋅ -⋅ C

INC

Zwi ksz o jeden

DEC

Zmniejsz o jeden

MUL

Mnó A

*

B

DIV

Dziel A/B

DA

Poprawka dziesi tna

Operacje logiczne

ANL Iloczyn logiczny AND

ORL

Suma logiczna OR

XRL Suma modulo 2XOR

CLR/CPL

Zeruj/neguj

RL/RR

Obrót w lewo/prawo

RLC RRC

Obrót przez C

SWAP

Zamie 4 bity (hi

↔lo)

CPL

Neguj bit

Przesłanie danych

MOV kopiuj A

MOV kopiuj R

r

MOV direct

← kopiuj

MOV kopiuj @ R

i

MOV DPTR

MOVC

pami programu

MOVX zewn trzna pami danych

PUSH Zapisz na stos

POP

Odczytaj ze stosu

Skoki

LCALL

podprogram

RET

powrót z podprogramu

RETI powrót z przerwania

LJMP, AJMP, SJMP, JNC skoki

JZ, JNZ, JC, JNC – skok warunkowy

JB, JNB, JBC – skok warunkowy od bitu
CJNE – porównaj, skocz je li

DJNZ – zmniejsz, skocz je li

≠0

NOP – nic nie rób

background image

Politechnika Warszawska - Instytut IM w Płocku, Podstawy Elektrotechniki i Elektroniki

5

Wybrane operandy asemblera 8051

R

r

rejestry R0 – R7

@R

i

– rejestr po redni R0 lub R1

bit – bity adresowalne RAM + SFR

# data – stała o miobitowa zawarta w instrukcji

#data 16 – stała szesnastobitowa

addr16 – adres w obszarze 64 k (adres przeznaczenia przez rozkaz LJMP lub LCALL)

rel – adres wzgl dny –128 do +127

n – rozkaz wykonywany w n cyklach

Symbol

$ – oznacza aktualny adres w pami ci danego rozkazu

Przykładowe podprogramy w pami ci EPROM systemu DSM 51

WRITE_TEXT

wpisuje na wy wietlacz LCD tekst wskazany rejestrem DPTR

WRITE_DATA

wpisuje znakowo bajt z Akumulatora na wy wietlacz LCD

WRITE_HEX

wpisuje szesnastkowo bajt z Akumulatora na wy wietlacz

LCD_INIT

inicjalizuje prac wy wietlacza LCD

LCD_OFF

wył cza wy wietlacz LCD

LCD_CLR

kasuje zawarto wy wietlacza LCD i kursor na pocz tek

DELAY_US

wykonuje programowe opó nienie

WAIT_KEY

program czeka na naci ni cie dowolnego klawisza z klawiatury

Przykładowe programy ródłowe asemblera

Zapal/zga diod LED

; Zawarto portu P1 po sygnale RESET wynosi 11111111B

; dioda LED podł czona do linii 7 w porcie P1
LED

EQU P1.7

; dioda TEST podł czona do portu P1.7

LJMP START

ORG 100H

START:

LOOP:

CLR LED ; zeruj lini 7 w porcie P1, czyli zapal diod LED

SETB LED ; ustaw lini 7, zga diod

LJMP LOOP ; skocz do pocz tku p tli

Mruganie diody – opó nienie czasowe
LED EQU P1.7

LJMP START

ORG 100 H

START:

CLR LED ; zapal diod

LOOP:

SETB LED ; ustaw bit zga diod

MOV A, #10 ; załaduj do akumulatora liczb 10

LCALL DELAY_100 ms, czekaj czas 10 x 100 ms = 1 s

CLR LED

; zeruj bit – zapal diod

MOV A, #10

LCALL DELAY_100 ms

LJMP LOOP ; powtórz

background image

Politechnika Warszawska - Instytut IM w Płocku, Podstawy Elektrotechniki i Elektroniki

6

Wy wietl. 7-segment zapis do portu – pełny adres

SEG_ON EQU P1.6

; wł czenie wy wietlacza 7-segmentowego

: adresy urz dze WE/WY

F_CSDS EQU 0FF30H

; wybrane wska niki (bufor)

F_CSDB EQU 0FF38H

; wybrane segmenty (bufor)

: stała u ywana w programie

DISPLAY EQU 0001001B ; wybrane wska niki

COD EQU 01011011B

; wybrane segmenty

LJMP START

ORG 100 H

START:

MOV DPTR, #F_CSDS

; adres bufora wybranych wska ników

MOVX @ DPTR, A

; wypisz wybrane wska niki

MOV DPTR, #F_CSDB ; adres bufora danych wska nika

MOV A, # COD

MOVX @ DPTR, A

; wpisz wybrane

CLR SEG_ON

; wł cz wy wietlacz 7-segmentowy

SJMP $

Wy wietlacz zawsze pokazuje na ekranie zawarto bufora danych na wybranych

wska nikach pobranych z bufora wyboru wska nika.

5. Wykonanie wiczenia:

1. Zapoznanie studentów z budow podstawowego systemu mikroprocesorowego.

2. Uruchomi stanowisko i komputer PC w trybie wiersza polece .

3. Uruchomi oprogramowanie Norton Commander i przej do katalogu

C:\DSM51\TESTY.

Podejrze zawarto kolejnych przykładów plików ródłowych ASM dla Lekcji 1.

Przeanalizowa komentarze umieszczone przy poszczególnych wierszach kodu ródłowego.

4. Uruchomi program

DSM51.EXE i z menu File załadowa pierwszy przykład Lekcji 1

(

L01_p1.asm) do bufora pami ci. Przej do menu BUFFER i wyeditowa zawarto bufora.

Nast pnie z menu DSM-51 wybra opcj RUN i przesła program do systemu

mikroprocesorowego. Zaobserwowa efekty wykonania si programu.

5. Czynno ci w pkt. 4 powtorzy dla pozostałych przykładów.

6. Wróci do wiersza polece (Norton Commander) i wyedytowa plik

L01_p6.asm,

wprowadzi inn warto stałej dla p tli opó nienia. Kombinacj klawiszy CTRL+O ukry

nakładk programu Nortona i w wierszu polece wprowadzi komend :

DSM51ASS

L01_P6.ASM. Zaobserwowa wynik translacji kodu ródłowego i podejrze zawarto pliku

listingu.

7. Ustawi system DSM-51 w

Trybie 0 (przycisk RESET) i przesła plik wynikowy HEX do

systemu mikroprocesorowego komend :

DSM51RUN –2 L01_P6.HEX. Zaobserwowa

ró nic wykonania programu w stosunku do wersji poprzedniej.

8. Analogicznie przeanalizowa przykłady dla Lekcji 6.

9. Podda plik

L06_P3.ASM modyfikacji tak, aby na wy wietlaczu pojawiła si data

wykonania wiczenia.

10. Wykona sprawozdanie z przeprowadzonego wiczenia.


Wyszukiwarka

Podobne podstrony:
51 4 id 41242 Nieznany (2)
51 6 id 41246 Nieznany (2)
51 id 41234 Nieznany
PPP 51 4 40 Praczyk T id 381503 Nieznany
PPP 51 3 40 Miszczyk M id 38150 Nieznany
51 A 1964 1969 r id 41250 Nieznany
PPP 51 4 08 Wachowiak M id 3815 Nieznany
51 B 1964 1969 r id 41251 Nieznany
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany
Probiotyki antybiotyki id 66316 Nieznany
miedziowanie cz 2 id 113259 Nieznany
LTC1729 id 273494 Nieznany
D11B7AOver0400 id 130434 Nieznany

więcej podobnych podstron