1461


Politechnika

LABORATORIUM PODSTAW SYSTEMÓW MIKROPROCESOROWYCH

Lubelska

Ćwiczenie Nr 8

Imię i nazwisko: Piotr Jurek

Tadeusz Klukowski

Semestr

5

Grupa

ED 5.1

Rok akad.

1998/99

Temat ćwiczenia: PRZETWARZANIE A/C I C/A.

MODEL TESTERA TRANZYSTORÓW.

Data wykonania

21.12.98

Ocena

ZADANIE NR 1

a) Obserwacja pracy programu VOLT1.HEX.

Tabela kodów określająca odpowiadające im napięcia

Numer

klawisza

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

Napięcie

[V]

0,33

0,67

0,99

1,34

1,68

2

2,34

2,65

3

3,32

3,65

4

4,33

4,66

5

b) Obsługa programu VOLT2.HEX; pomiar napięcia podanego na wejście przetwornika A/C z drabinki 8 rezystorów zasilanych napięciem 5V.

Tabela pomiarowa

Wejście

multipleksera

0

1

2

3

4

5

6

7

Wartość

zmierzona

54

7F

AA

D2

DB

E3

EC

F5

Wartość

napięcia [V]

1.65

2.49

3.33

4.12

4.29

4.45

4.63

4.80

ZADANIE NR2

Uzupełnienie programu TESTER01.ASM. Pomiar charakterystyk wyjściowych tranzystora dla dwóch wartości prądu bazy.

Ustawienia wartości początkowych układu 8255:

PA_M EQU 0 ;TRYB 0

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

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

PB_M EQU 0 ;TRYB 0

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

Dalsza część programu bez zmian.

Tabela pomiarowa

Numer pomiaru

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Prąd bazy = 50μA

N0

01

11

21

31

41

54

65

76

87

97

AB

B9

CC

D3

D4

D4

Kod klawisza = 05

N1

00

04

05

06

08

08

09

09

0A

0C

0D

10

10

10

10

10

Napięcie Uce [mV]

0

80

100

120

160

160

180

180

200

240

240

260

320

320

320

320

Prąd Ic [mA]

0,1

0,7

1,6

2,5

3,3

4,6

5,6

6,7

7,7

8,5

15,6

17,2

18,8

19,5

19,6

19,6

Prąd bazy =100μA

N0

00

11

21

32

43

54

65

76

86

98

A9

BA

CB

D1

D1

D1

Kod klawisza = 0A

N1

00

03

04

05

06

07

07

08

08

09

09

0A

0B

0B

0B

0B

Napięcie Uce [mV]

0

60

80

100

120

140

140

140

160

160

180

180

200

220

220

220

Prąd Ic [mA]

0

0,8

1,7

2,7

3,7

4,7

5,8

6,9

7,8

9

16

17,7

19,3

19,8

19,8

19,8

Przykładowe obliczenia:

N0=54; N1=08;

Uce=N1*20mV=8*20=160mV

Ic=(N0-N1)*100μA=(54-8)*100=4,6mA

Wpisywany kod klawisza jest przez program powielany na cały bajt, gdyż przetwornik C/A jest 8-ro bitowy. Kody klawisza zawierają się w granicach od 0 do 15 ,a bajt sterujący może przyjmować wartości do 255 i dla tej wartości otrzymujemy 5 V, gdybyśmy nie powielali wartości to regulowalibyśmy napięcie tylko do wartości 1/15 z 5 V czyli od 0 do 0.33 V przez powielenie kodu klawisza na cały bajt uzyskujemy regulacje w całym zakresie 0 - 5V co 1/15 z 5V czyli co 0.33 V

Wykres zależności Ic=f(Uce)

ZADANIE NR 3

Modyfikacja pliku TESTER01.ASM w celu obliczenia współczynnika wzmocnienia β=Ic/Ib i wyświetlenia go na wyświetlaczu LCD.

Listing programu

PA_M EQU 0 ;TRYB 0

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

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

PB_M EQU 0 ;TRYB 0

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 ;ustawienie układu 8255

MOV A,#SET_8255

MOVX @R0,A

LCALL LCD_CLR

LCALL WAIT_KEY ;numer klawisza jako prąd

MOV R0,#CS55A ;bazy tranzystora

MOVX @R0,A

MOV R5,A ;wpisanie do R5 prądu bazy

PUSH ACC ;wpisz prąd bazy na LCD

MOV DPTR,#TEXT3

LCALL WRITE_TEXT

POP ACC

LCALL WRITE_HEX

MOV A,#8H+4H

LCALL WRITE_INSTR

MOV R0,#CSDA ;adres przetwornika C/A

MOV R1,#CSMX ;adres multipleksera

LOOP:

LCALL WAIT_KEY ;wybrany klawisz (0..15)

MOV R2,A

MOV A,#80H+40H ;LCD na początek drugiej

LCALL WRITE_INSTR ;linii

MOV A,R2 ;powielenie numeru na

SWAP A ;cały bajt

ADD A,R2

MOVX @R0,A ;wpis do przetwornika C/A

LCALL WRITE_HEX ;i wpis na LCD wartości

;podawanej na wyjście

CLR A ;podłączenie wejścia 0

MOVX @R1,A ;do przetwornika A/C

MOV DPTR,#TEXT1

LCALL WRITE_TEXT

DEC R1 ;inicjowanie pracy

MOVX @R1,A ;przetwornika A/C

MOV A,#1

LCALL DELAY_MS

MOVX A,@R1 ;wynik pomiaru wejścia 0

MOV R3,A

INC R1

LCALL WRITE_HEX

MOV A,#1 ;podłączenie wejścia 1

MOVX @R1,A ;do przetwornika A/C

MOV DPTR,#TEXT2

LCALL WRITE_TEXT

DEC R1 ;inicjowanie pracy

MOVX @R1,A ;przetwornika A/C

MOV A,#1

LCALL DELAY_MS

MOVX A,@R1 ;wynik pomiaru wejścia 1

MOV R4,A

INC R1

LCALL WRITE_HEX

MOV A,R5 ;obliczenie prądu bazy

MOV B,#10

MUL AB

XCH A,B

ADD A,B

MOV R5,A

MOV A,R3 ;obliczenie prądu kolektora

CLR C

SUBB A,R4

MOV B,R5 ;obliczenie beta

DIV AB

SWAP A

ADD A,B

MOV B,#100

MUL AB

XCH A,B

ADD A,B

PUSH ACC

MOV DPTR,#TEXT4

LCALL WRITE_TEXT

POP ACC

LCALL WRITE_HEX

SJMP LOOP

TEXT1:

DB '-> N0=',0

TEXT2:

DB ' N1=',0

TEXT3:

DB 'Prąd Bazy = ',0

TEXT4:

DB 'Wsp. Beta = ',0



Wyszukiwarka

Podobne podstrony:
1461
1461
1461
1461
1461 Nie mów więcej o miłości Krzysztof Krawczyk
1461

więcej podobnych podstron