MIC5, ZADANIE 1


LABORATORIUM PODSTAW TECHNIKI MIKROPROCESOROWEJ

Imię i Nazwisko Paweł Kałaska

Paweł komada

Grupa ED 5.1

Data wyk. ćwicz

18.11.1996

.

Numer ćwiczenia

5

Temat ćwiczenia:

Regulator tyrystorowy.Praca w czasie rzeczywistym.

Ocena

1.Celem zadania była obserwacja w trybie krokowym działania programu sterującego jasnością świecenia żarówki.

Program źródłowy

A

P1

Ż

W

Komentarz

START:

LCALL INICJALIZACJA

00

FF

-

--

;ustawienia wstępne

LCALL WYŚWIETL

05

FF

-

--

;wyświetla wstępną wartość opóźnień ;(opóźnienia w A)

LOOP:

JNP SIEC,$

05

FF

-

5

;oczekiwanie na ”0” sieci

LCALL DELAY_MS

05

FF

-

5

;odczekanie opóźnienia A*1ms

CLR BRAMKA

00

FF

-

5

;załączenie tyrystora

MOV A,#10

00

FB

+

5

;10 do akumulatora

DJNZ ACC,$

0A

FB

+

5

;zwłoka czasowa

SETB BRAMKA

00

FB

+

5

;wyłączenie tyrystora

LCALL KLAWIATURA

00

FF

-

5

;pobiera do A nową wartość opóźnienia

SJMP LOOP

05

FF

-

5

;zamknięcie pętli programu

- żarówka nie świeci + żarówka świeci

2.Celem zadania było przy wykorzystaniu programu tabela.hex odczytanie wartości funkcji odpowiadających argumentom nadawanym z klawiatury.

Program źródłowy

D

A

R7

R6

kl

LCD

A

R7

R6

kl

LCD

A

R7

R6

kl

LCD

Komentarz

START:

LCALL

INICJALIZACJA

0000

00

00

00

--

--

--

00

00

--

--

--

00

00

--

--

;ustawienia ;wstępne

LOOP:

LCALL KLAWIATURA

8001

01

00

00

1

1 FB6C

02

00

00

2

2 F6DA

03

00

00

3

3 F248

;czyta klaw.

MOV

DPTR,#TABELA

8001

01

00

00

--

1 FB6C

02

00

00

--

2 F6DA

03

00

00

--

3 F248

;tabela ;funkcyjna

PUSH ACC

8001

01

00

00

--

1 FB6C

02

00

00

--

2 F6DA

03

00

00

--

3 F248

;przechowaj

; n r klawisza

RL A

8001

01

00

00

--

1 FB6C

02

00

00

--

2 F6DA

03

00

00

--

3 F248

;mnóż przez 2

PUSH ACC

8001

02

00

00

--

1 FB6C

04

00

00

--

2 F6DA

06

00

00

--

3 F248

;przechowaj ;przesunięcie

MOVC A,@A+DPTR

8001

02

00

00

--

1 FB6C

04

00

00

--

2 F6DA

06

00

00

--

3 F248

;st bajt z tabeli

MOV R7,A

8001

FB

FB

00

--

1 FB6C

F6

00

00

--

2 F6DA

F2

F2

00

--

3 F248

;wynik do R7

POP ACC

8001

FB

FB

00

--

1 FB6C

F6

F6

00

--

2 F6DA

F2

F2

00

--

3 F248

;odtwórz przes

INC A

8001

02

FB

00

--

1 FB6C

04

F6

00

--

2 F6DA

06

F2

00

--

3 F248

;wskaż mł bajt

MOVC A,@A+DPTR

8001

03

FB

00

--

1 FB6C

05

F6

00

--

2 F6DA

07

F2

00

--

3 F248

;pobierz ;młodszy bajt

MOV R6,A

8001

6C

FB

6C

--

1 FB6C

DA

F6

DA

--

2 F6DA

48

F2

48

--

3 F248

;wynik do R6

POP ACC

8001

6C

FB

6C

--

1 FB6C

DA

F6

DA

--

2 F6DA

48

F2

48

--

3 F248

;odtwórz

;nr klawisza

SJMP LOOP

8001

01

FB

6C

--

1 FB6C

02

F6

DA

--

2 F6DA

03

F2

48

--

3 F248

;pętla programu

Tabela funkcyjna

0

1

2

3

4

5

6

7

0180

brak reakcji

FB6C

F6DA

F248

EDB6

E924

E492

E000

3.Celem zadania było takie uzupełnienie programu timer.asm by opóźnienie czasowe było realizowane przez timer 0.Obliczone wartości stanów początkowych timera miały zostać umieszczone w tabeli funkcyjnej.

;TITLE `ZAROWKA'

B0R2 EQU 2

B0R6 EQU 6

B0R7 EQU 7

SIEC EQU P3.4

BRAMKA EQU P1.2

T0_G EQU 0

T0_C EQU 0

T0_M EQU 1

TIM0 EQU T0_M.+T0_C*4+T0_G*8

T1_G EQU 0

T1_C EQU 0

T1_M EQU 0

TIM1 EQU T1_M.+T1_C*4+T1_G*8

TMOD_SET EQU TIM0 + TIM1*16

LJMP START

ORG 100H

START:

LCALL INICJALIZACJA

MOV TMOD, TMOD_SET

LOOP:

CLR TR0

CLR TF0

MOV TL0,R6

MOV TH0,R7

JNB SIEC,$

SETB TR0

JNB TF0,$

CLR BRAMKA

MOV A,#10

DJNZ ACC,$

SETB BRAMKA

LCALL KLAWIATURA

SJMP LOOP

INICJALIZACJA:

LCALL LCD_CLR

MOV R7,#0

MOV R6,#0

RET

KLAWIATURA:

LCALL LCD_CLR

LCALL WAIT_KEY

LCALL WRITE_DATA

INC A

MOV A,@A + PC

RET

TABELA:

0FCH, 018H ; 256-252 256-232

0F8H, 030H ; 256-248 256-208

0F4H, 048H ; 256-244 256-184

0F0H, 060H ; 256-240 256-160

0ECH, 078H ; 256-236 256-136

0E8H, 090H ; 256-232 256-112

0E4H, 0A8H ; 256-228 256-88

0E0H, 0C0H ; 256-224 256-64

RET

4.Celem zadania było uzupełnienie programu siec.asm tak by po asemblacji mierzył on częstotliwość sieci.

Algorytm programu:

;TITLE `Pomiar częstotliwości'

SIEC EQU P3.4

BRAMKA EQU P1.2

T0_G EQU 0

T0_C EQU 1

T0_M EQU 1

TIM0 EQU T0_M.+T0_C*4+T0_G*8

T1_G EQU 0

T1_C EQU 0

T1_M EQU 1

TIM1 EQU T1_M.+T1_C*4+T1_G*8

TMOD_SET EQU TIM0 + TIM1*16

TH1_SET EQU 256-180

TL1_SET EQU 0

LJMP START

ORG 100H

START:

MOV TMOD,TMOD_SET ;ustawienie trybów pracy timerów

LOOP:

MOV R0,#20

MOV TL0,#0 ;zerowanie timera 0

MOV TH0,#0

JNB SIEC,$ ;czekaj na 0 sieci

SETB TR0

TIME:

MOV TH1,TH1_SET ;ustawienie wartości początkowych

MOV TL1,TL1_SET ;timera 1 odliczenie 50ms

CLR TF1 ;zerowanie flagi przepełnienia

SETB TR1 ;uruchomienie timera 1

JNB TF1,$

DJNZ R0,TIME ;pętla odliczania czasu R0*50ms

CLR TR0 ;zatrzymanie timerów

CLR TR1

MOV A,TL0 ;zapisanie w ACC stanu timera 0

MOV B,#2 ;podzielenie stanu ACC przez 2

DIV AB ;wynik do akumulatora

LCALL WYSWIETL

CPL P1.7 ;zmiana stanu diody LED

SJMP LOOP ;zamknięcie pętli

WYSWIETL:

LCALL LCD_CLR ;wyczyścić wyświetlacz

MOV B,#10 ;zamiana liczby na postać dziesiętną

DIV AB ;przez wydzielenie dziesiątek

LCALL WRITE_HEX ;wypisanie wartości częstotliwości

MOV A,B

LCALL WRITE_HEX

MOV A,#' ` ;wyświetlenie napisu Hz

LCALL WRITE_DATA

MOV A,#'H`

LCALL WRITE_DATA

MOV A,#'z`

LCALL WRITE_DATA

RET



Wyszukiwarka

Podobne podstrony:
MIC5 ~1, ZADANIE 1
Zadania z treścia
Prezentacja 2 analiza akcji zadania dla studentow
Przedmiot i zadania dydaktyki 4
zadanie 1 v 002
Przedmiot dzialy i zadania kryminologii oraz metody badan kr
KOLOKWIUM 2 zadanie wg Adamczewskiego na porownawczą 97
CELE I ZADANIA EDUKACJI MEDIALNEJ(1)
ochrona atmosfery zadania
zadania
Przedmiot i zadania dydaktyki 2
Wymogi, cechy i zadania sprawozdawczośći finansowej
ZADANIA PiP Prezentacja Microsoft PowerPoint
1F CWICZENIE zadanie wg Adamczewskiego na porownawczą 97id 18959 ppt
zadania i rozwiazania z przekrojów 2
zadania egzaminacyjne
ZADANIA WÓJTA I STAROSTY W ZARZĄDZANIU KRYZYSOWYM

więcej podobnych podstron