Politechnika Lubelska w Lublinie
Laboratorium Układów Mikroprocesorowych
Wykonał:
Emil Leńczuk Gr: ED 9.7 Data: 14.10.2008 Ocena:
Temat: Uklady przetworników A/C i C/A. Model: tester tranzystorów
Cel ćwiczenia:
Badanie tranzystorów za pomocą mikrokontrolera 8051
Rys.1 schemat modelu do badania tranzystorów.
1. Ręczne zdejmowanie charakterystyki za pomocą modelu testera tranzystorów.
hex dec
I Bazy -> N0 N1 -> N0 N1 U I
20 0 0 0 0 0 0 0,000 0,0000
11 12 6 17 18 6 0,118 0,0012
22 22 8 34 34 8 0,157 0,0025
33 33 9 51 51 9 0,176 0,0041
44 44 B 68 68 11 0,216 0,0056
55 55 D 85 85 13 0,255 0,0071
66 66 11 102 102 17 0,333 0,0083
77 78 15 119 120 21 0,412 0,0097
88 88 1F 136 136 31 0,608 0,0103
99 9A 2E 153 154 46 0,902 0,0106
AA AA 3E 170 170 62 1,216 0,0106
BB BB 4E 187 187 78 1,529 0,0107
CC CC 5C 204 204 92 1,804 0,0110
DD DD 6C 221 221 108 2,118 0,0111
EE EE 7B 238 238 123 2,412 0,0113
FF F9 84 255 249 132 2,588 0,0115
hex dec
I Bazy -> N0 N1 -> N0 N1 U I
50 0 0 1 0 0 1 0,020 -0,0001
11 11 4 17 17 4 0,078 0,0013
22 22 6 34 34 6 0,118 0,0027
33 33 7 51 51 7 0,137 0,0043
44 44 8 68 68 8 0,157 0,0059
55 55 9 85 85 9 0,176 0,0075
66 66 A 102 102 10 0,196 0,0090
77 77 C 119 119 12 0,235 0,0105
88 88 E 136 136 14 0,275 0,0120
99 99 11 153 153 17 0,333 0,0133
AA AA 13 170 170 19 0,373 0,0148
BB BB 17 187 187 23 0,451 0,0161
CC CC 1A 204 204 26 0,510 0,0175
DD D1 1B 221 209 27 0,529 0,0178
EE D1 1C 238 209 28 0,549 0,0177
FF D0 1B 255 208 27 0,529 0,0177
80 0 0 1 0 0 1 0,020 -0,0001
11 11 4 17 17 4 0,078 0,0013
22 22 5 34 34 5 0,098 0,0028
33 33 7 51 51 7 0,137 0,0043
44 44 7 68 68 7 0,137 0,0060
55 55 8 85 85 8 0,157 0,0075
66 66 9 102 102 9 0,176 0,0091
77 77 A 119 119 10 0,196 0,0107
88 88 B 136 136 11 0,216 0,0123
99 98 C 153 152 12 0,235 0,0137
AA A9 F 170 169 15 0,294 0,0151
BB BB 11 187 187 17 0,333 0,0167
CC CC 14 204 204 20 0,392 0,0180
DD CE 14 221 206 20 0,392 0,0182
EE CE 14 238 206 20 0,392 0,0182
FF CE 14 255 206 20 0,392 0,0182
110 0 0 1 0 0 1 0,020 -0,0001
11 11 4 17 17 4 0,078 0,0013
22 22 4 34 34 4 0,078 0,0029
33 33 5 51 51 5 0,098 0,0045
44 44 5 68 68 5 0,098 0,0062
55 55 7 85 85 7 0,137 0,0076
66 66 7 102 102 7 0,137 0,0093
77 77 8 119 119 8 0,157 0,0109
88 88 9 136 136 9 0,176 0,0125
99 99 C 153 153 12 0,235 0,0138
AA A9 B 170 169 11 0,216 0,0155
BB BB C 187 187 12 0,235 0,0172
CC CC F 204 204 15 0,294 0,0185
DD DD D 221 221 13 0,255 0,0204
EE CC E 238 204 14 0,275 0,0186
FF CC F 255 204 15 0,294 0,0185
hex dec
I Bazy -> N0 N1 -> N0 N1 U I
140 0 0 0 0 0 0 0,000 0,0000
11 11 3 17 17 3 0,059 0,0014
22 22 4 34 34 4 0,078 0,0029
33 33 5 51 51 5 0,098 0,0045
44 44 5 68 68 5 0,098 0,0062
55 55 6 85 85 6 0,118 0,0077
66 66 7 102 102 7 0,137 0,0093
77 77 7 119 119 7 0,137 0,0110
88 88 8 136 136 8 0,157 0,0125
99 99 9 153 153 9 0,176 0,0141
AA AA A 170 170 10 0,196 0,0157
BB BB B 187 187 11 0,216 0,0173
CC CB C 204 203 12 0,235 0,0187
DD CB E 221 203 14 0,275 0,0185
EE CB C 238 203 12 0,235 0,0187
FF CB D 255 203 13 0,255 0,0186
charakterystyka wyjściowa tranzystora
0,0250
0,0200
0,0150
20
50
0,0100
80
110
140
0,0050
0,0000
-0,0050
0,000 0,500 1,000 1,500 2,000 2,500 3,000
U, V
I, A
2. Charakterystyki zdjęte za pomocą modely badania tranzystorów, programu tranzystor.exe i
tranzystor.asm.
3. Modyfikowanie programu tranzystor.asm w celu zmiany prądu bazy badanego tranzystora i
ilości ściąganych charakterystyk.
Kod programu
SET_8255 EQU 1
10001011B
LJMP S
START
ORG 1
13H
PUSH PSW ;przechowanie rejestru stanu
PUSH ACC ;
;i akumulatora na stosie
MOVX A,@R1 ;odczyt ze sterownika przerwań
ANL A,#03H ;numeru przerwania
MOVX @R1,A ;
;skasowanie przerwania
JZ INT_AD ;przerwanie z przetwornika A/C
POP ACC ;inne przerwanie - faktycznie nie wystapi
POP PSW
RETI
R
;**************************************
ORG 23H
;przerwanie z portu szeregowego
;
JBC TI,NAD
CLR RI ;odbior bajtu - faktycznie
RETI ;
;nic nie jest odbierane
;**************************************
;nadawanie zmierzonych danych
NAD: ;nadanie bajtu
MOV A,DPH ;czy nadane 256*16 bajtów
CJNE A,#20H,NADNEXT
MOV SBUF,R2 ;tak - nadaj sumę i zakończ nadawanie
CLR ES ;zablokuj przerwania od RSa - nadany
;jest ostatni bajt, dodatkowo ES użyty
;jako wskaźnik końca nadawania
RETI
R
NADNEXT: ;nadaj kolejny bajt
MOVX A,@DPTR
MOV SBUF,A
XRL A,R2 ;obliczaj sumę bajtów - XOR
MOV R2,A
INC DPTR ;zwiększ wskaźnik danych
RETI
R
;**************************************
;przerwanie z przetwornika A/C - koniec pomiaru
INT_AD:
MOV A,#10 ;odczekanie czasu do zakończenia
DJNZ ACC,$ ;wewnętrznego sygnału w przetw. A/C
;wywołujacego przerwanie
;
MOVX A,@R0 ;odczyt wyniku z przetw. A/C
MOVX @DPTR,A ;zapamiętaj wynik pomiaru
INC DPTR ;
;zwiększ adres
CLR A ;skasowanie przerwania ze sterownika przerwań
MOVX @R1,A ;
;trzeba to zrobić po odczycie z A/C
POP PSW ;zdjęcie danej ze stosu
;ACC=0 jako znacznik końca pomiaru
POP PSW ;odtworzenie rejestru stanu
RETI
R
;**************************************
;
ORG 100H
START:
MOV R0,#CS55D ;inicjalizacja 8255
MOV A,#SET_8255
MOVX @
@R0,A
;**************************************
;ustawienie portu szeregowego
;
;mod 1 portu szeregowego:
;transmisja asynchroniczna
;1 bit startu, 8 bitów danych, 1 bit stopu
;prędkoźć transmisji ustawiana przez timer T1
MOV S
SCON,#01010000B
;Timer T1 pracuje w modzie 2:
;8 bitów auto-reload
MOV T
TMOD,#00100000B
;przy F=11.059 MHz v=19200 bodów
;dla TL1=256-3, SMOD=1
ORL PCON,#80H ;
;SMOD=1
MOV TL1,#256-3 ;Timer 1 liczy do trzech
MOV TH1,#256-3 ;Wartoźć automatycznie przeładowywana
SETB TR1 ;
;start Timera 1
;**************************************
;zerowanie sterownika przerwań
MOV R1,#CSAD ;
;skasowanie ewentualnego przerwania
MOVX A,@R1 ;
;wystawianego przez przetwornik A/C
MOV R1,#CSIC ;skasowanie przerwania 0 (A/C)
CLR A ;w sterowniku przerwań
MOVX @
@R1,A
;pozostałe przerwania zawieszone w sterowniku przerwań
;będa automatycznie skasowane w momencie zezwolenia na przerwania
;-przerwanie będzie wygenerowane i obsłużone - a więc skasowane
;
;**************************************
SETB EA ;
;zezwolenie na przerwania
;**************************************
;pomiar rodziny charakterystyk tranzystora
LOOP:
LCALL LCD_CLR
LCALL WAIT_ENTER ;
;oczekiwanie na rozkaz poczatku pomiarów
LCALL LCD_CLR
MOV DPTR,#TEXT1 ;wypisanie tekstu o rozpoczęciu pomiarów
LCALL WRITE_TEXT
SETB EX1 ;właczenie przerwań z wejźcia INT1
;- tj. sterownika przerwań
;
MOV DPTR,#1000H ;
;adres - miejsce w RAMie na wyniki pomiarów
MOV R5,#6 ;8 charakterystyk tranzystora
;dla różnych pradów Bazy
;
;**************************************
;pomiar 1 charakterystyki
POM1:
MOV R0,#CS55A ;ustalenie pradu Bazy
MOV A,#3 ;R5=8 -> 0 ... R5=1 -> 7
CLR C
SUBB A,R5
MOVX @
@R0,A
ADD A,#31H ;wypisanie numeru mierzonej charakterystyki
LCALL W
WRITE_DATA
MOV R7,#0 ;nr pomiaru - napięcie z przetwornika C/A
MOV R6,#0 ;licznik pomiarów
POM:
ACALL POMIAR ;wykonanie pomiarów dwóch napięć
;- napięcie z przetwornika C/A
;i napięcie na badanym elemencie
;
INC R7 ;kolejny numer pomiaru
DJNZ R6,POM ;wykonanie kolejnego pomiaru (do 256)
;jednej charakterystyki tranzystora
;
DJNZ R5,POM1 ;
;wykonanie pomiaru kolejnej charakterystyki
CLR EX1 ;wyłaczenie przerwań z wejźcia INT1
;**************************************
LCALL LCD_CLR
MOV DPTR,#TEXT2 ;wypisanie tekstu o rozpoczęciu transmisji
LCALL W
WRITE_TEXT
MOV SBUF,#55H ;wysłanie znacznika poczatku transmisji
MOV A,#2 ;odczekanie czasu na 'obudzenie' IBMa
LCALL D
DELAY_100MS
D
MOV DPTR,#1000H ;adres poczatku wyników
SETB ES ;
;zezwolenie na przerwania od RSa
;ponieważ był wysyłany znacznik więc natychniast będzie wygenerowane
;przerwanie i rozpocznie się transmisja danych
;
JB ES,$ ;
;oczekiwanie na koniec transmisji
W
AJMP L
LOOP
;**************************************
;wykonanie pomiarów dwóch napięć
;- napięcie z przetwornika C/A i napięcie na badanym elemencie
;
POMIAR:
MOV R0,#CSDA ;ustawienie napięcia na przetw. C/A
MOV A,R7
MOVX @
@R0,A
MOV R0,#CSAD | 7;adres przetwornika A/C tak zmodyfikowany,
;aby po dodaniu 1 mieć adres multiplexera
MOV R2,#2 ;
;dwa pomiary
AN1:
MOV A,R2 ;pomiar w kanale 0 i 1
CLR A
ACC.1
INC R0 ;wpisanie numeru kanału do multiplexera
MOVX @R0,A
DEC R
R0
MOV A,#5 ;odczekanie czasu ok. 10 uS na ustabilizo-
DJNZ ACC,$ ;
;wanie napięć na wejźciu przetwornika A/C
INC A ;A=1 <>0 - jako znacznik braku przerwania
MOVX @R0,A ;wpisanie dowolnej wartoźci do przetwornika
;A/C - start przetwarzania
;
JNZ $ ;A=0 - ustawiane w przerwaniu od przetw. A/C
;jako zakończenie pomiaru
;
DJNZ R2,AN1 ;
;wykonaj drugi pomiar
RET
R
;**************************************
TEXT1:
DB 'POMIAR ',0
TEXT2:
DB 'TRANSMISJA',0
;**************************************
;END
Charakterystyki po modyfikacjach:
Rys 2. Charakterystyki po zmodyfikowaniu programu.
Wnioski:
W niniejszym ćwiczeniu badaliśmy tranzystor. Ćwiczenie miało to na celu zademonstrowanie
jednej z wielu możliwości jakie daje nam mikrokontroler 8051. Niniejszy układ dzięki modułom
przetwarzania cyfrowo-analogowym i analogowo-cyfrowym jest bardzo przydatnym narzędziem do
strerowanie procesami i układami analagowymi.
Wyszukiwarka
Podobne podstrony:
kaskada sprawkoAnalizowanie działania układów mikroprocesorowychgeodezja sprawko 3sprawko 48 (1)SPALANIE SPRAWKO 7nLABORATORIUM CHEMIA I WYTRZYMALOSC MATERIALOW sprawko 1lab1 sprawkoprzykładowe sprawkoSprawko fizyka IVsprawko 3 2nd pochodna?lta=4sprawko nhip regulatorEkoma sprawko 1Numerki 5 sprawkoMikroprocesorowy miernik częstotliwości 4MHz 150MHz opiswzorcowe sprawkowięcej podobnych podstron