MICRO6, metrologia ˙w.11 sem.V


WYDZIAŁ ELEKTRYCZNY POLITECHNIKI LUBELSKIEJ

LABORATORIUM PODSTAW SYSTEMÓW MIKROPROCESOROWYCH

Imię i Nazwisko: Piotr Skwarek

Grupa: ED 5.4

Data wyk. ćwicz. 25.11.96

Numer ćwiczenia

6

Temat ćwiczenia: Układy transmisji równoległej.

Sterowanie światłami na skrzyżowaniu.

Ocena:

Zespół:

1. Skwarek Piotr

2. Małaj Marcin

1. Cel ćwiczenia.

Celem ćwiczenia było zapoznanie się z układami transmisji równoległej systemu DSM 51 , ze sposobami ich obsługi ustawiania i adresowania oraz ze sposobami ich praktycznego wykorzystania , na przykładzie modelu świateł sygnalizacyjnych na skrzyżowaniu.

2. Wykonanie ćwiczenia.

Zadanie 1

Zadanie to polegało na obserwacji zmian rejestrów akumulatora ACC oraz rejestrów R6 i R7 podczas wykonywania programu L16_p1, a także zmian zachodzących w modelu. Wyniki obserwacji zostały zamieszczone w poniższej tabelce:

Tabela pomiarowa

Lp.

ACC.7

ACC.6

ACC.5

ACC.4

ACC.3

ACC.2

ACC.1

ACC.0

R6

R7

1

0

0

0

0

0

0

0

0

00

00

2

1

0

0

0

0

0

0

0

00

00

3

1

0

0

0

0

0

0

0

00

00

4

1

0

0

0

0

0

0

0

00

00

5

1

1

1

1

1

1

1

1

00

00

6

1

1

1

1

1

1

1

1

00

00

7

1

1

1

1

1

1

1

1

00

00

8

1

1

1

1

1

1

1

1

00

00

9

1

1

1

1

1

1

1

1

FF

00

10

1

1

1

1

1

1

1

1

FF

06

11

0

0

0

0

0

1

0

1

FF

06

12

0

0

0

0

0

0

0

0

FF

06

13

1

1

1

1

1

1

1

1

FF

06

14

1

1

1

1

1

1

1

1

FF

06

15

1

1

1

1

1

1

1

0

FF

06

16

1

1

1

1

1

1

1

0

FE

06

17

1

1

1

1

1

1

1

0

FE

06

18

1

1

0

0

0

0

0

0

C0

00

19

1

1

0

0

0

0

0

0

C0

06

20

0

0

0

0

0

1

0

1

C0

06

21

0

0

0

0

0

0

0

0

C0

06

22

1

1

0

0

0

0

0

0

C0

06

23

1

1

0

0

0

0

0

0

C0

06

24

1

0

0

0

0

0

0

1

C0

06

25

1

0

0

0

0

0

0

1

81

06

26

1

0

0

0

0

0

0

1

81

06

27

0

0

1

1

1

1

1

1

3F

00

Zadanie 2

Zadanie to polegało na takim zmodyfikowaniu przykładu z zadania 1 aby dla świateł dla pieszych wykonywał analogiczny test jak w zadaniu 1. Listing zmodyfikowanego programu wykonującego ten test został przedstawiony poniżej:

Listing programu:

PA_M EQU 0 ;TRYB 0..2

PA_D EQU 0 ;OUT->0, IN->1

PCA_D EQU 0 ;OUT->0, IN->1

PB_M EQU 0 ;TRYB 0..1

PB_D EQU 0 ;OUT->0, IN->1

PCB_D EQU 0 ;OUT->0, IN->1

PA EQU PA_M*4+PA_D*2+PCA_D

PB EQU PB_M*4+PB_D*2+PCB_D

SET_8255 EQU 80H+PA*8+PB

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

LJMP START

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

ORG 100H

START:

MOV R0,#CS55D ;inicjalizacja 8255

MOV A,#SET_8255

MOVX @R0,A

MOV R0,#CS55B ;zgaszenie świateł

MOV A,#0FFH ;-wpisanie jedynek

MOVX @R0,A ;na port A i B

INC R0

MOVX @R0,A

DEC R0

MOV R6,A ;stan LEDÓW

LOOP:

MOV R7,#4 ;licznik - liczba diod

MOV R0,#CS55A

LOOP_ON: ;ptętla włączania diod

MOV A,#5

LCALL DELAY_100MS

MOV A,R6

CLR C ;zapalenie kolejnej diody

RLC A

MOV R6,A

MOVX @R0,A

DJNZ R7,LOOP_ON ;powtórz zgodnie z R7

MOV R7,#4

LOOP_OFF: ;ptętla wyłączania diod

MOV A,#5

LCALL DELAY_100MS

MOV A,R6

SETB C ;zgaszenie kolejnej diody

RLC A

MOV R6,A

MOVX @R0,A

DJNZ R7,LOOP_OFF ;powtórz zgodnie z R7

SJMP LOOP

ZADANIE NR 3

Analiza programu skrzyż.hex - rozpisanie i zdekodowanie stanów świateł na skrzyżowaniu zgodnie z procedurą SET_AUTO dla samochodów, oraz SET_PEOPLE dla pieszych.

Stany świateł w procedurze SET_PEOPLE


STAN

ŚWIATEŁ

PORT

A

STAN

ZNACZENIE

A7

1

bity nie

A6

1

znaczące

A5

1

zielone zgaszone kierunek 2

1

A4

1

żółte zgaszone kierunek 2

A3

0

czerwone świeci kierunek 2

A2

1

zielone zgaszone kierunek 1

A1

1

żółte świeci kierunek 1

A0

0

czerwone świeci kierunek 1

A7

1

bity nie

A6

1

znaczące

A5

1

zielone zgaszone kierunek 2

2

A4

1

żółte zgaszone kierunek 2

A3

0

czerwone świeci kierunek 2

A2

1

zielone zgaszone kierunek 1

A1

1

żółte świeci kierunek 1

A0

0

czerwone świeci kierunek 1

A7

1

bity nie

A6

1

znaczące

A5

1

zielone zgaszone kierunek 2

3

A4

1

żółte zgaszone kierunek 2

A3

1

czerwone świeci kierunek 2

A2

0

zielone zgaszone kierunek 1

A1

1

żółte świeci kierunek 1

A0

0

czerwone świeci kierunek 1

A7

1

bity nie

A6

1

znaczące

A5

1

zielone zgaszone kierunek 2

4

A4

1

żółte zgaszone kierunek 2

A3

1

czerwone świeci kierunek 2

A2

0

zielone zgaszone kierunek 1

A1

1

żółte świeci kierunek 1

A0

0

czerwone świeci kierunek 1

A7

1

bity nie

A6

1

znaczące

A5

1

zielone zgaszone kierunek 2

5

A4

1

żółte zgaszone kierunek 2

A3

1

czerwone świeci kierunek 2

A2

0

zielone zgaszone kierunek 1

A1

0

żółte świeci kierunek 1

A0

1

czerwone świeci kierunek 1

A7

1

bity nie

A6

1

znaczące

A5

1

zielone zgaszone kierunek 2

6

A4

1

żółte zgaszone kierunek 2

A3

1

czerwone świeci kierunek 2

A2

0

zielone zgaszone kierunek 1

A1

0

żółte świeci kierunek 1

A0

1

czerwone świeci kierunek 1

A7

1

bity nie

A6

1

znaczące

A5

1

zielone zgaszone kierunek 2

7

A4

1

żółte zgaszone kierunek 2

A3

1

czerwone świeci kierunek 2

A2

0

zielone zgaszone kierunek 1

A1

1

żółte świeci kierunek 1

A0

0

czerwone świeci kierunek 1

A7

1

bity nie

A6

1

znaczące

A5

1

zielone zgaszone kierunek 2

8

A4

1

żółte zgaszone kierunek 2

A3

1

czerwone świeci kierunek 2

A2

0

zielone zgaszone kierunek 1

A1

1

żółte świeci kierunek 1

A0

0

czerwone świeci kierunek 1


Stany świateł w procedurze SET_AUTO

STAN

ŚWIATEŁ

PORT

B

STAN

ZNACZENIE

B7

1

bity nie

B6

1

znaczące

B5

1

zielone zgaszone kierunek 2

1

B4

1

żółte zgaszone kierunek 2

B3

0

czerwone świeci kierunek 2

B2

0

zielone zgaszone kierunek 1

B1

1

żółte świeci kierunek 1

B0

1

czerwone świeci kierunek 1

B7

1

bity nie

B6

1

znaczące

B5

1

zielone zgaszone kierunek 2

2

B4

1

żółte zgaszone kierunek 2

B3

0

czerwone świeci kierunek 2

B2

1

zielone zgaszone kierunek 1

B1

0

żółte świeci kierunek 1

B0

1

czerwone świeci kierunek 1

B7

1

bity nie

B6

1

znaczące

B5

1

zielone zgaszone kierunek 2

3

B4

1

żółte zgaszone kierunek 2

B3

0

czerwone świeci kierunek 2

B2

1

zielone zgaszone kierunek 1

B1

1

żółte świeci kierunek 1

B0

0

czerwone świeci kierunek 1

B7

1

bity nie

B6

1

znaczące

B5

1

zielone zgaszone kierunek 2

4

B4

0

żółte zgaszone kierunek 2

B3

0

czerwone świeci kierunek 2

B2

1

zielone zgaszone kierunek 1

B1

1

żółte świeci kierunek 1

B0

0

czerwone świeci kierunek 1

B7

1

bity nie

B6

1

znaczące

B5

0

zielone zgaszone kierunek 2

5

B4

1

żółte zgaszone kierunek 2

B3

1

czerwone świeci kierunek 2

B2

1

zielone zgaszone kierunek 1

B1

1

żółte świeci kierunek 1

B0

0

czerwone świeci kierunek 1

B7

1

bity nie

B6

1

znaczące

B5

1

zielone zgaszone kierunek 2

6

B4

0

żółte zgaszone kierunek 2

B3

1

czerwone świeci kierunek 2

B2

1

zielone zgaszone kierunek 1

B1

1

żółte świeci kierunek 1

B0

0

czerwone świeci kierunek 1

B7

1

bity nie

B6

1

znaczące

B5

1

zielone zgaszone kierunek 2

7

B4

1

żółte zgaszone kierunek 2

B3

0

czerwone świeci kierunek 2

B2

1

zielone zgaszone kierunek 1

B1

1

żółte świeci kierunek 1

B0

0

czerwone świeci kierunek 1

B7

1

bity nie

B6

1

znaczące

B5

1

zielone zgaszone kierunek 2

8

B4

1

żółte zgaszone kierunek 2

B3

0

czerwone świeci kierunek 2

B2

1

zielone zgaszone kierunek 1

B1

0

żółte świeci kierunek 1

B0

0

czerwone świeci kierunek 1

ZADANIE NR 4

Modyfikacja programu z zadania poprzedniego: - odmierzanie czasu za pomocą timera

- wydłużenie przejazdu samochodów w kierunku 1

Listing programu

SET_8255 EQU 10000000B

SET_TMOD EQU 00000001B

SET_TH0 EQU 4CH

SET_TL0 EQU 00H

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

LJMP START

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

ORG 100H

START:

MOV R0,#CS55D ;inicjalizacja 8255

MOV A,#SET_8255

MOVX @R0,A

MOV R0,#CS55A ;port A - światła dla pieszych

MOV R1,#CS55B ;port B - światła dla samochodów

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

;kolejne powtórzenie wszystkich stanów świateł na skrzyżowaniu

LOOP:

MOV R7,#8 ;8 stanów świateł na skrzyżowaniu

MOV R2,#1 ;stan pierwszy

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

;ustawienie kolejnego stanu świateł

STAN:

MOV A,R2 ;światła dla samochodów

ACALL SET_AUTO ;dla stanu numer (R2)

MOVX @R1,A

MOV A,R2 ;światła dla pieszych

ACALL SET_PEOPLE ;dla stanu numer (R2)

MOVX @R0,A

MOV R3,A ;zapamiętaj status pieszych

MOV A,R2 ;mruganie świateł dla pieszych

ACALL SET_BLINK ;dla stanu numer (R2)

MOV R4,A ;zapamiętaj status mrugania

MOV A,R2 ;czas świateł w stanie numer (R2)

ACALL SET_TIME ;N * 0.5 sek

MOV R5,A ;zapamiętaj czas

MOV A,R2 ;text na wyświetlacz LCD

ACALL SET_TEXT ;dla stanu numer (R2)

LCALL LCD_CLR

LCALL WRITE_TEXT

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

;odliczanie czasu jednego stanu z dokładnością 0.5 sek.

;mruganie świateł dla pieszych jeśli to konieczne

;z częstotliwością 1Hz

BLINK:

MOV TMOD,#SET_TMOD

MOV TH0,#SET_TH0

MOV TL0,#SET_TL0

MOV ACC,#10

SETB TR0

PĘTLA:

JNB TF0,$

MOV TH0,#SET_TH0

CLR TF0

DJNZ ACC,PĘTLA

MOV A,R3 ;mruganie świateł dla pieszych

XRL A,R4 ;zmiana stanu na przeciwne

MOV R3,A ;dla wybranych świateł

MOVX @R0,A

DJNZ R5,BLINK ;czas = R5 * 0.5 sek.

INC R2 ;kolejny stan

DJNZ R7,STAN

SJMP LOOP ;rozpocznij od pierwszego stanu

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

;dane do zapalenia świateł dla samochodów w 8 kolejnych stanach

SET_AUTO:

MOVC A,@A+PC

RET

DB 11110011B,11110101B,11110110B,11100110B

DB 11011110B,11101110B,11110110B,11110100B

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

;dane do zapalenia świateł dla pieszych w 8 kolejnych stanach

SET_PEOPLE:

MOVC A,@A+PC

RET

DB 11110110B,11110110B,11111010B,11111010B

DB 11111001B,11111001B,11111010B,11111010B

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

;dane do mrugania świateł dla pieszych w 8 kolejnych stanach

;1-mruganie odpowiedniego światła

SET_BLINK:

MOVC A,@A+PC

RET

DB 00000000B,00001000B,00000000B,00000000B

DB 00000000B,00000010B,00000000B,00000000B

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

;czas kolejnych stanów wyrażony w 0.5 sek.

SET_TIME:

MOVC A,@A+PC

RET

DB 30,8,4,4,15,8,4,4

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

;pobranie adresu tekstu dla kolejnego stanu

SET_TEXT:

RL A

PUSH ACC

ACALL SET_TXT

MOV DPL,A

POP ACC

DEC A

ACALL SET_TXT

MOV DPH,A

RET

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

SET_TXT:

MOVC A,@A+PC

RET

;DW TEXT1,TEXT2,TEXT3,TEXT4

;DW TEXT5,TEXT2,TEXT3,TEXT4

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

;teksty opisujące stan na skrzyżowaniu w kolejnych stanach

TEXT1:

DB 'PRZEJAZD POZIOMO',0

TEXT2:

DB 'ZMIANA ŚWIATEŁ '

DB 'ŻÓŁTE ',0

TEXT3:

DB 'ZMIANA ŚWIATEŁ '

DB 'CZERWONE',0

TEXT4:

DB 'ZMIANA ŚWIATEŁ '

DB 'CZERWONE ŻÓŁTE',0

TEXT5:

DB 'PRZEJAZD PIONOWO',0

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

;END




Wyszukiwarka

Podobne podstrony:
LABMTS11, metrologia ˙w.11 sem.V
4MKR PIO, metrologia ˙w.11 sem.V
Mikroprocesory, 4MKR PIO, metrologia ˙w.11 sem.V
Metrologia Elektryczna I Pomiar SEM metoda kompensacyjna Protokol
Receptura 2010-11 sem. zim. zestaw I, Giełdy z farmy
cw 11 sem 2
Metrologia Elektryczna I Pomiar SEM metoda kompensacyjna Instrukcja
Metrologia 11 protokół, Politechnika Lubelska, Studia, semestr 5, Sem V, Nowy folder
Metrologia 11, Politechnika Lubelska, Studia, semestr 5, Sem V, Nowy folder
11 03 08 sem IVid 12319
Wykład 11.01.15 - Audiologia, Logopedia - podyplomowe, I sem - Audiologia
Oświetlenie 11, Politechnika Lubelska, Studia, semestr 5, Sem V, Nowy folder
test dla IIIr sem letni 10 11
dodatkowe1 analiza 11 12 2 sem Nieznany
test 2 dla IIIr sem letni 2010-11-kopia, Giełdy z farmy
Metrologia 23 protokół, Politechnika Lubelska, Studia, semestr 5, Sem V, Nowy folder
11 Silnik indukcyjny pierścieniowy SUHf, Szkoła, Politechnika 1- 5 sem, SEM IV, Maszyny Elektryczne.
20'', Politechnika Lubelska, Studia, semestr 5, Sem V, Sprawozdania, sprawozdania, Sprawozdania, Lab

więcej podobnych podstron