7369


0x01 graphic

POLITECHNIKA LUBELSKA

WYDZIAŁ ELEKTRYCZNY

Nazwisko i imię studenta

Janusz Buchoski

Robert Czechoński

Symbol grupy

ED. 5.3

Data wyk. Ćwiczenia

99.X.18

Numer ćwiczenia

3

Temat zadania :

Pamięć wewnętrzna RAM. Organizacja i wykonanie stosu

ZALICZENIE

Ocena

Data

Podpis

Cel ćwiczenia :

Celem ćwiczenia jest poznanie organizacji pamięci wewnętrznej RAM oraz sposobu organizacji i wykorzystania stosu mikrokontrolera 8051.

ZADANIE 1:

Stosując pracę krokową przy użyciu komputera wpisać wartość rejestru PSW oraz stan wyświetlacza LCD.

Bit

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.0

LCD

Flaga

CY

AC

F0

RS1

RS0

OV

---

P

--

LCALL LCD_CLR

0

0

0

0

0

0

0

0

---

MOV A,#10H

0

0

0

0

0

0

0

1

---

LCALL WRITE_HEX

1

0

0

0

0

0

0

0

10

MOV ACC.#20H

1

0

0

0

0

0

0

1

10

LCALL WRITE_HEX

1

0

0

0

0

0

0

0

1020

LJMP $

1

0

0

0

0

0

0

0

1020

ZADANIE 3:

W jaki sposób rozróżnia się adres akumulatora od adresu poszczególnych bitów.

Standardowo akumulator ma adres 0E0H. Dostęp do poszczególnych bitów akumulatora uzyskujemy dodając numer bitu do tego adresu. Np. bit 3 ma adres 0E0H+3H.

Adresując akumulator: MOV ACC,#20

A jego poszczególne bity: SETB ACC.3 dla bitu 3

ZADANIE 4:

Wykonaj przykład 3.3. stosując pracę krokową zaobserwować stan akumulatora, rejestru PSW oraz stan wyświetlacza LCD na przykładzie zawartości rejestru R7 w bankach 0,1,2,3.

Bit

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.0

LCD

A

Flaga

CY

AC

F0

RS1

RS0

OV

---

P

--

---

LCALL LCD_CLR

0

0

0

0

0

0

0

0

---

21

MOV A,R7

0

0

0

0

0

0

0

0

---

00

LCALL WRITE_HEX

1

0

0

0

0

0

0

0

00

21

SETB RSO

1

0

0

0

1

0

0

0

00

21

MOV A.R7

1

0

0

0

1

0

0

1

00

01

LCALL WRITE_HEX

1

0

0

0

1

0

0

1

0001

19

SETB RS1

1

0

0

1

1

0

0

1

0001

19

MOV A.R7

1

0

0

1

1

0

0

0

0001

03

LCALL WRITE_HEX

1

0

0

1

1

0

0

0

000103

FF

CLR RS0

1

0

0

1

0

0

0

0

000103

FF

MOV A.R7

1

0

0

1

0

0

0

1

000103

02

LCALL WRITE_HEX

1

0

0

1

0

0

0

0

00010302

00

Wpisz zawartość rejestrów R7 w poszczególnych bankach.

Bit

7

6

5

4

3

2

1

0

Bank 1

0

0

0

0

0

0

0

0

Bank 1

0

0

0

0

0

0

0

1

Bank 2

0

0

0

0

0

0

1

0

Bank 3

0

0

0

0

0

0

1

1

ZADANIE 5:

Modyfikując przykład 4 wykorzystując adresowanie pośrednie zapełnić zawartością EEH wybraną przestrzeń adresową. Podać listing programu.

30H→7FH 8OH→FFH rejestry specjalne SFR

Przestrzeń adresowa dostępna bez ograniczeń dla użytkownika to komórki 30H→7FH.

LJMP START

ORG 100H

START:

LCALL LCD_CLR

MOV R0,#30H

MOV R2,#79

LOOP:

MOV @R0,#EEH

INC R0

DJNZ R2,LOOP

LJMP $

Bit

ACC

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.0

SP

STOS

LCALL LCD_CLR

21

0

0

0

0

0

0

0

0

07

00

MOV A,#137

89

0

0

0

0

0

0

0

1

07

00

ACALL WRITE_BCD_HEX

PUSH PSW

89

0

0

0

0

0

0

0

1

0A

01

PUSH B

89

0

0

0

0

0

0

0

1

0B

00

PUSH ACC

89

0

0

0

0

0

0

0

1

0C

89

ACALL BIN_BCD

37

0

0

0

0

0

0

0

1

0C

89

XCH A,B

01

0

0

0

0

0

0

0

1

0C

89

LCALL WRITE_HEX

21

1

0

0

0

0

0

0

0

0C

89

MOV A,B

37

1

0

0

0

0

0

0

1

0C

89

LCALL WRITE_HEX

21

1

0

0

0

0

0

0

0

0C

89

MOV A,#'='

3D

1

0

0

0

0

0

0

1

0C

89

LCALL WRITE_DATA

21

1

0

0

0

0

0

0

0

0C

89

POP ACC

89

1

0

0

0

0

0

0

1

0B

00

PUSH ACC

89

1

0

0

0

0

0

0

0

0C

89

LCALL WRITE_HEX

21

1

0

0

0

0

0

0

1

0C

89

MOV A,#'H'

48

1

0

0

0

0

0

0

1

0C

89

LCALL WRITE _DATA

21

1

0

0

0

0

0

0

0

0C

89

POP ACC

89

1

0

0

0

0

0

0

0

0B

00

POP B

89

1

0

0

0

0

0

0

0

0A

01

POP PSW

89

1

0

0

0

0

0

0

1

07

00

RET

1

0

0

0

0

0

0

1

SJMP $

0

0

0

0

0

0

0

1

ZADANIE 7:

Modyfikując przykład 4 wykorzystując adresowanie indeksowe dokonać zapełnienia obszaru pamięci wartością ABH - przeanalizować status wykorzystywanych zasobów (rejestrów) procesora, zamieścić listing programu.

LJMP START

ORG 100H

START

MOV A,#30#

MOV R0,#79

MOV DPTR,#0001H

LOOP

MOV @A,#ABH

MOV A, @A+DPTR

DJNZ R0,LOOP

LJMP $

3

3

LABORATORIUM TECHNIKI MIKROPROCESOROWEJ

3



Wyszukiwarka

Podobne podstrony:
praca magisterska 7369
7369
7369
7369
7369
7369
7369

więcej podobnych podstron