Mikroprocesory, 5, LABORATORIUM PODSTAW


LABORATORIUM PODSTAW

SYSTEMÓW

MIKROPROCESOROWYCH

∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇

SPRAWOZDANIE Z ĆWICZENIA NR 5.

TEMAT:Regulator tyrystorowy. Praca w czasie

rzeczywistym.

Sprawozdanie sporządził: ROBERT SIWIEC

Grupa dziekańska: ED 5.1

Rok akademicki: 96/97

∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇

KATEDRA ELEKTRONIKI

POLITECHNIKA LUBELSKA

ZADANIE NR 1

Sterowanie tyrystorem.

Program żrówka.hex został załadowany do DSM-51, a następnie uruchomiony w trybie pracy krokowej. Wyniki obserwacji umieszczono w tabeli poniżej:

Tabela nr 1

Krok

Program źródłowy

A

P1

Ż

W

Komentarz

1

START:

LCALL INICJALIZACJA

05

FF

OFF

-

;ustawienia wstępne

2

LCALL WYŚWIETL

05

FF

OFF

5

;wyświetl wstępną wartość opóźnienia

3

LOOP:

JNB SIEĆ,$

05

FF

OFF

5

;oczekiwanie na „0” sieci

4

LCALL DELAY_MS

00

FB

OFF

5

;opóźnienie A*1ms

5

CLR BRAMKA

00

FB

ON

5

;załączenie żarówki

6

MOV A,#10

0A

FB

ON

5

;załadowanie #10 do akumulatora

7

DJNZ ACC,$

00

FB

ON

5

;opóźnienie ≈ 10 μs

8

SETB BRAMKA

00

FF

OFF

5

;wyłączenie żarówki

9

LCALL KLAWIATURA

05

FF

OFF

5

;pobranie nowej wartości opóźnienie

10

SJMP LOOP

05

FF

OFF

5

;zamknięcie pętli programu

ZADANIE NR 2

Adresowanie indeksowe.

Program tebela.hex został załadowany do DSM-51, a następnie uruchomiony w trybie pracy krokowej. Wyniki obserwacji umieszczono w tabeli poniżej:

Tabela nr 2:

Program źródłowy

D

A

D+A

R7

R6

KL

LCD

Komentarz

START:

LCALL INICJACJA

0180

01

FB

6C

1

1

;ustawienia wstępne

LOOP:

LCALL KLAWIATURA

0180

01

FB

01

1

1

;czyta klawiaturę

MOV DPTR,#TABELA

0180

01

09

01

1

1

;tabela funkcyjna

PUSH ACC

0180

01

09

6C

1

1

;przechowanie nr klawisza

RL A

0180

02

FB

6C

1

1

;mnóż przez 2

PUSH ACC

0180

02

FB

6C

1

1

;przechowanie przesunięcia

MOVC A,@A+DPTR

0180

FB

FB

6C

1

1

;starszy bajt z tabeli

MOV R7,A

0180

FB

FB

6C

1

1

;wynik do R7

POP ACC

INC A

MOVC A,@A+DPTR

0180

02

03

6C

FB

6C

1

1

;odtwórz przesunięcie

;wskaż młodszy bajt

;pobierz młodszy bajt

MOV R6,A

0180

6C

FB

6C

1

1

;wynik do R6

POP ACC

0180

01

FB

6C

1

1

;odtwórz numer klawisza

SJMP LOOP

0180

01

FB

6C

1

1

;pętla programu

Tabela funkcyjna:

0

1

2

3

4

5

6

7

0180

-

FB

F6

F2

ED

E9

E4

E0

0188

-

6C

DA

48

B6

24

92

00

ZADANIE NR 3

Sterowanie fazowe, odliczanie czasu w timerze mikrokontrolera.

Poniżej przedstawiono propozycje programu, który realizuje odmierzanie opóźnień za pomocą Timera 0 . Poniżej podano wartości heksadecymalne, które należy wpisać jako wartości początkowe do rejestrów TH0 i TL0:

Tabela:

1ms

2ms

3ms

4ms

5ms

6ms

7ms

TL0

65

CC

32

99

FF

66

CC

TH0

FC

F8

F5

F1

ED

EA

E6

Poniżej przedstawiony jest listing programu realizujący powyższe zadanie:

;**************************************

;R0 - adres klawiatury

;R2 - ustawione opóźnienie załączenia tyrystora (1..8)

;R3 - nowe opóźnienie odczytane z klawiatury

B0R2 EQU 2 ;adres rejestru 2 w banku 0

BOR6 EQU 6

BOR7 EQU 7

SIEC EQU P3.4 ;wejście z transpotora

;0 - jest napięcie na żarówce

;1 - "0" sieci

BRAMKA EQU P1.2 ;wyjście przez transoptor - bramka tyrystora

;0 - załączenie tyrystora

;1 - niezałączanie tyrystora

;********* USTAWIENIA TIMERÓW *********

TMOD_SET EQU 00000001B

TCON_SET EQU 00010000B

TIMER_STOP EQU 00000000B

;**************************************

LJMP START

;**************************************

ORG 0100H

;**************************************

DATA_TH0:

MOVC A,@A+PC

RET

DB FCH,F8H,F5H,F1H,EDH,EAH,E6H

;**************************************

DATA_TL0:

MOVC A,@A+PC

RET

DB 65H,CCH,32H,99H,FFH,66H,CCH

;**************************************

START:

LCALL INICJALIZACJA

NEW_OP:

MOV R2,A ;zapamiętanie nowego ustawienia

ADD A,#30H ;i wypisanie na wyświetlacz LCD

LCALL WRITE_DATA

LOOP:

JNB SIEC,$ ;oczekiwanie na "0" sieci

MOV A,R2 ;odczekanie zadanego opóźnienia (1..8ms)

LCALL CZEKAJ_CZAS

CLR BRAMKA ;impuls załączający tyrystor

MOV A,#10

DJNZ ACC,$

SETB BRAMKA

MOVX A,@R0 ;sprawdzenie, czy użyta klawiatura

CPL A

JZ LOOP

MOV R3,#0 ;sprawdzenie numeru przyciśniętego klawisza

LOOP_NR:

INC R3

RRC A

JNC LOOP_NR

MOV A,R3 ;sprawdzenie, czy nowa wartość opóźnienia

CJNE A,B0R2,NEW_OP

LJMP LOOP

;**************************************

INICJALIZACJA:

LCALL LCD_CLR

MOV R0,#CSKB0 ;adres klawiszy 0..7

MOV A,#5 ;wstępna wartość opóźnienia

RET

;**************************************

CZEKAJ_CZAS:

MOV TCON,TIMER_STOP

MOV TMOD,TMOD_SET

ACALL DATA_TH0

MOV TH0,A

MOV A,R2

ACALL DATA_TL0

MOV TL0,A

MOV A,R2

MOV TCON,TCON_SET

JNB TF0,$

RET

;******************************************

;END

ZADANIE NR 4.

Pomiar częstotliwości sieci przy użyciu timerów.

Propozycja programu realizującego pomiar częstotliwości sieci jest przedstawiona poniżej, wraz ze schematem blokowym programu:

;ustawienia początkowe

SIEC EQU P3.4

BRAMKA EQU P1.2

TMOD_SET EQU 00010101B

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

LICZ:

JNB SIEC,TEST ;zliczanie przez timer 0 zdarzeń U=0

SETB TR0

RET

TEST:

JNB TF1,LICZ ;sprawdzanie ustawienia flagi

RET

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:
TECHNIKA CYFROWA - sprawko lab 1, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
TECHNIKA CYFROWA - sprawko lab 4, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
TECHNIKA CYFROWA - sprawko lab 5, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
Mikroprocesory, Micro 03b, Laboratorium Podstaw System˙w Mikroprocesorowych
ściąga z lab, Elektrotechnika, Podstawy techniki mikroprocesorowej, laboratorium
fiele25, Mechanika i Budowa Maszyn PWR MiBM, Semestr I, Fizyka, laborki, sprawozdania z fizykii, Lab
Laboratorium Podstaw Programowania 2
,Laboratorium podstaw fizyki, WYZNACZANIE WSPÓŁCZYNNIKA ROZSZERZALNOŚCI LINIOWEJ METODĄ
Laboratorium podstaw fizyki ćw ?
Laboratorium Podstaw Fizykipa
Laboratorium Podstaw Elektroniki
Laboratorium Podstaw Fizykiw
Laboratorium Podstaw Fizyki id Nieznany
fie

więcej podobnych podstron