Zadnanie:

Zadanie č.1

 

Názov úlohy: Kontrola MH7430

Úloha: Urobte program pre kontroli integrovaného obvodu MH7430 pomocou programovateľného ovododu 8255

Riešenie:

Vývojový diagram:

 

Program:

 ORG 4000h
            MOV DPTR,#0FF43h
            MOV A,#10000010b
            MOVX @DPTR,A
ZAC1: MOV R1,#00
ZAC:   MOV DPTR,#0FF40h
            MOV A,R1
            MOVX @DPTR,A
            MOV DPTR,#0FF41h
            MOVX A,@DPTR
            ANL A,#00000001b
            CJNE A,#01h,sk
            INC R1
            SJMP ZAC
sk:       CJNE R1,#11111111b,KONEC
           MOV P1,#11111111b
           MOV DPTR,#0FF00h
           MOV A,#0
           MOVX @DPTR,A
           SJMP ZAC1
           KONEC:  MOV DPTR,#0FF00h
           MOV A,#11111111b
           MOVX @DPTR,A
           MOV P1,#0
           SJMP ZAC1
           END

Postup: postup vychádza s programu a vývojového diagramu. Musíte si ho napísať!!!

Záver: záver si napíšte

 

Zadanie č.2

 

Názov úlohy: Realizácia kombinačného logického obvodu pomocou mikropočítača 8051

Úloha: Pomocou mikropočítača 8051 realizujte multiplexor so 4 adresov. vstupmi. Adresné aj informačné vstupy sú na adrese 0FF00h. Informačný výstup je zobrazovaný na LED diódach portu P1 na nultom bite.

Riešenie:

Pravdivostná tabuľka:

X

D

C

B

A

Y

X0

0

0

0

0

X0

X1

0

0

0

1

X1

X2

0

0

1

0

X2

X3

0

0

1

1

X3

X4

0

1

0

0

X4

X5

0

1

0

1

X5

X6

0

1

1

0

X6

X7

0

1

1

1

X7

X8

1

0

0

0

X8

X9

1

0

0

1

X9

X10

1

0

1

0

X10

X11

1

0

1

1

X11

X12

1

1

0

0

X12

X13

1

1

0

1

X13

X14

1

1

1

0

X14

X15

1

1

1

1

X15

 

Výraz:

Y=X0.ABCD +  X1.ABCD + X2.ABCD + X3.ABCD + X4.ABCD + X5.ABCD + X6.ABCD +  X7.ABCD + X8.ABCD + X9.ABCD + X10.ABCD + X11.ABCD + X12.ABCD + X13.ABCD + X14.ABCD + X15.ABCD

 

Vstupy:    #0FF00h

X3

X2

X1

X0

A

B

C

D

 

Výstupy:   P1

 

 

 

 

 

 

 

Y

 

Program:


ORG 1000h

ZAC: MOV DPTR,#0FF00h
MOVX A,@DPTR
MOV 20h,A
MOV C,00h
CPL C
ANL C,/01h
ANL C,/02h
ANL C,/03h
ANL C,04h
MOV 08h,C
MOV C,00h
CPL C
ANL C,/01h
ANL C,/02h
ANL C,03h
ANL C,05h
ORL C,08h
MOV 08h,C
MOV C,00h
CPL C
ANL C,/01h
ANL C,02h
ANL C,/03h
ANL C,06h
ORL C,08h
MOV 08h,C
MOV C,00h
CPL C
ANL C,/01h
ANL C,02h
ANL C,03h
ANL C,07h
ORL C,08h
MOV 08h,C
MOV C,00h
CPL C
ANL C,01h
ANL C,/02h
ANL C,/03h
ANL C,04h
ORL C,08h
MOV 08h,C
MOV C,00h
CPL C
ANL C,01h
ANL C,/02h
ANL C,03h
ANL C,05h
ORL C,08h
MOV 08h,C
MOV C,00h
CPL C
ANL C,01h
ANL C,02h
ANL C,/03h
ANL C,06h
ORL C,08h
MOV 08h,C
MOV C,00h
CPL C
ANL C,01h
ANL C,02h
ANL C,03h
ANL C,07h
ORL C,08h
MOV 08h,C
MOV C,00h
ANL C,/01h
ANL C,/02h
ANL C,/03h
ANL C,04h
ORL C,08h
MOV 08h,C
MOV C,00h
ANL C,/01h
ANL C,/02h
ANL C,03h
ANL C,05h
ORL C,08h
MOV 08h,C
MOV C,00h
ANL C,/01h
ANL C,02h
ANL C,/03h
ANL C,06h
ORL C,08h
MOV 08h,C
MOV C,00h
ANL C,/01h
ANL C,02h
ANL C,03h
ANL C,07h
ORL C,08h
MOV 08h,C
MOV C,00h
ANL C,01h
ANL C,/02h
ANL C,/03h
ANL C,04h
ORL C,08h
MOV 08h,C
MOV C,00h
ANL C,01h
ANL C,/02h
ANL C,03h
ANL C,05h
ORL C,08h
MOV 08h,C
MOV C,00h
ANL C,01h
ANL C,02h
ANL C,/03h
ANL C,06h
ORL C,08h
MOV 08h,C
MOV C,00h
ANL C,01h
ANL C,02h
ANL C,03h
ANL C,07h
ORL C,08h
MOV 08h,C
MOV A,21h
ANL A,#01h
MOV P1,A
LJMP ZAC
END


Postup:
Pomocou inštrukčnej sady mikropočítača 8051 sme napísali program v ktorom sme realizovali multiplexor. Potrebovali sme si zadať na akej adrese budú prepínače aby sme si ich mohli neskôr načítať. Na prepínačoch máme adresné vstupy- horné 4 bity a informačné vstupy- dolné 4 bity. Podľa pravdivostnej tabuľky sme vytvorili výraz podľa ktorého tvoríme program pre multiplexor. Na napísanie výrazu používame logický súčin, ktorý robíme cez Carry bit. Ak potrebujeme nejakú hodnotu negovať použijeme buď CPL C alebo lomítko pred tou adresou, ktorú chceme negovať. Jednotlivé časti výrazu, ktoré vynásobíme ukladáme do voľnej adresy v našom prípade 08h a jednotlivé vynásobené časti výrazu k nej pomocou ORL pripočítavame až kým neurobíme celý výraz. Výsledok pošleme na akumulátor, na ktorom urobíme masku pomocou ANL A,#01h a potom z akumulátora pošleme na nami zvolený port P1. Program ukončíme skokom na začiatok, keďže skok bude väčší použijeme funkciu LJMP a na koniec dáme END.

 

Záver:
Program sme realizovali na počítači a pomocnom zariadení a po odskúšaní sme zistili že program pre multiplexor funguje. Pri písaní programu sme použili inštrukcie z inštrukčnej sady mikropočítača 8051.

 

hore :: Číslo 1 :: Číslo 2 :: home