4059


® ©

Politechnika Lubelska

Laboratorium podstaw systemów mikroprocesorowych

w Lublinie

Ćwiczenie nr 7

Nazwisko:

Garbacz

Kuźma

Imię:

Tomasz

Jacek

Semestr

V

Grupa

ED 5.3

Rok akademicki

1997/98

Temat ćwiczenia:

System przerwań.

Data wykonania

12.12.97

Ocena:

Cel ćwiczenia :

Zapoznanie się z systemem przerwań systemu DSM '51.

Zadanie 1.

Wynik

I1

T0

T1

Zadanie 2.

Lp.

Stan pocz. T0

Stan pocz. T1

Kolejność

1

0000

0000

T0,T1

2

0000

0001

T1,T0

3

0001

0000

T0,T1

Zadanie 3.

Lp.

Stan pocz. T0

Stan pocz. T1

Kolejność

1

FFFF

FFFF

T0,T1,Y0

2

FF80

FF80

T0,T1,Y0

3

FF40

FF40

T0,Y0,T1

4

FF10

FF10

Y0,T0,T1

5

zablokowany

FF40

T1,Y0

Zadanie 4.

Lp.

Timer 0

Timer 1

Kolejność

Stan pocz.

Pr.

Stan pocz.

Pr.

1

0000

0

0000

0

T0,T1

2

0000

0

0000

1

T1,T0

3

0000

0

0001

0

T1,T0

4

0000

1

0001

0

T0,T1

5

0000

1

0001

1

T1,T0

Zadanie 5.

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

;ĆWICZENIE 7 - SYSTEM PRZERWAŃ 8051

;ZADANIE 5 -

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

LED EQU P1.7

;********* Ustawienie TIMERóW *********

;TIMER 0

T0_G EQU 0 ;GATE

T0_C EQU 0 ;COUNTER/-TIMER

T0_M EQU 1 ;MODE (0..3)

TIM0 EQU T0_M+T0_C*4+T0_G*8

;TIMER 1

T1_G EQU 0 ;GATE

T1_C EQU 0 ;COUNTER/-TIMER

T1_M EQU 0 ;MODE (0..3)

TIM1 EQU T1_M+T1_C*4+T1_G*8

TMOD_SET EQU TIM0+TIM1*16

TH0_SET EQU 256-180

TL0_SET EQU 0

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

LJMP START

;********* Przerwanie Timer 0 *********

ORG 0BH

MOV TH0,#TH0_SET

DJNZ ACC,NO_1SEK

CPL LED

MOV A,#20

NO_1SEK:

RETI

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

ORG 100H

START:

MOV TMOD,#TMOD_SET

MOV TH0,#TH0_SET

MOV TL0,#TL0_SET

SETB TR0

MOV A,#20

SETB EA

SETB ET0

SJMP $

Program wykorzystuje przerwanie do zmniejszania licznika zawartego w akumulatorze. Przerwanie generowane jest co 50ms, w akumulatorze natomiast znajduje się wartość równa 20. W kolejnych przerwaniach zmniejszana jest zawartość akumulatora o 1, po wyzerowaniu akumulatora zapalana lub gaszona jest dioda LED.

Zadanie 6.

Program nieprawidłowo wyprowadza znaki na wyświetlacz LCD. Jedynym rozwiązaniem pozwalającym na bezkonfliktową pracę programu jest zastosowanie stosu podczas obsługi programu.

Zadanie 7.

Ustawienie priorytetów przerwań i zezwoleń na przerwania w celu uzyskania odpowiedniej kolejności realizacji przerwań (T1,INT1,T0)

SETB ET1 ;zezwolenie na przerwanie z timera 1SETB PT1

SETB EX1 ;zezwolenie na przerwanie od linii INT1

SETB PX1

SETB ET0 ;zezwolenie na przerwanie z timera 0

CLR PT0

SETB EA ;ogólne zezwolenie na przerwanie

Zadanie 8.

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

;ĆWICZENIE 7 - SYSTEM PRZERWAŃ 8051

;ZADANIE 6 -

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

LED EQU P1.7

TIM EQU 30H

;********* Ustawienie TIMER˘w *********

;TIMER 0

T0_G EQU 0 ;GATE

T0_C EQU 0 ;COUNTER/-TIMER

T0_M EQU 1 ;MODE (0..3)

TIM0 EQU T0_M+T0_C*4+T0_G*8

;TIMER 1

T1_G EQU 0 ;GATE

T1_C EQU 0 ;COUNTER/-TIMER

T1_M EQU 0 ;MODE (0..3)

TIM1 EQU T1_M+T1_C*4+T1_G*8

TMOD_SET EQU TIM0+TIM1*16

TH0_SET EQU 0EAH

TL0_SET EQU 066H

KROTNOSC EQU 0FFH

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

LJMP START

;********* Przerwanie Timer 0 *********

ORG 0BH

PUSH ACC

PUSH PSW

MOV TH0,#TH0_SET

MOV TL0,#TL0_SET

DJNZ TIM,JESZCZE_NIE

CPL LED

MOV TIM,#KROTNOSC

JESZCZE_NIE:

POP PSW

POP ACC

RETI

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

ORG 100H

START:

MOV TIM,#30

MOV TMOD,#TMOD_SET

MOV TH0,#TH0_SET

MOV TL0,#TL0_SET

SETB TR0

SETB EA

SETB ET0

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

;

; Robocza część programu głównego

;

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

LOOP_0:

LCALL LCD_CLR

MOV R1,#16

LOOP:

LCALL WAIT_KEY

MOV B,A

MOV A,#2

LCALL DELAY_MS

MOV A,B

ADD A,#30H

MOV R0,#LCDWD

MOVX @R0,A

DJNZ R1,LOOP

SJMP LOOP_0

Modyfikacja programu polegała na dodaniu instrukcji wykorzystującej w obsłudze przerwania stosu, jak również licznik został przeniesiony do komórki pamięci RAM. Tak zmieniony program działa poprawnie.



Wyszukiwarka

Podobne podstrony:
4059 ac
4059
4059 pets
4059
4059
4059
4059
4059
4059
4059 ac
4059

więcej podobnych podstron