m2


P O L I T E C H N I K A L U B E L S K A

w Lublinie

SPRAWOZDANIE

LABORATORIUM Z TECHNIK MIKROPROCESOROWYCH

Ćwiczenie nr 2

TEMAT: TESTER TRANZYSTORÓW (MODEL M-02)

Data:

2008-03-03

RACHWAŁ MAREK ID6.3

ZADANIE

Program klasyfikujący tranzystory w/g współczynnika wzmocnienia prądowego dla przyjętej wartości prądu bazy.

;TITLE 'DSM51-M02 TRANZYSTOR'

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

;Program mierzy rodzinę charakterystyk tranzystora

;dla 8 prądów bazy.

;Dla każdego punktu pomiarowego wykonywane są pomiary dwóch napięć:

;napięcia z przetwornika C/A i napięcia na badanym elemencie.

;Wyniki pomiarów przesyłane są przez złącze RS232 do komputera IBM PC.

;Program na IBMie przelicza wyniki i wykreśla na ekranie charakterystyki

;tranzystora.

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

;Ustawienie układu 8255

;PORT A - WYJ—CIE MOD 0 - regulacja prądu bazy tranzystora

;4 bitowy przetwornik D/A

;A0 -> Low bit

;A1 ->

;A2 ->

;A3 -> High bit

;A4..7 - nieużywane

;PORT B - WEJŚCIE MOD 0 - nieużywane

;PORT C - WEJŚCIE - nieużywane

SET_8255 EQU 10001011B

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

;Wykorzystanie przetworników A/C i C/A

;C/A -> napięcie pomiarowe 0..5V

; - do przetwornika wpisuję wartość 0..255

;A/C V0 <- pomiar faktycznego napięcia z wyjścia C/A

;A/C V1 <- pomiar napięcia na badanym elemencie

; - prąd na badanym elemencie można wyliczyć z równania:

; (V0 - V1)/200

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

LJMP START

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

ORG 13H

;obsługa przerwania z wejścia INT1

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 wystąpi

POP PSW

RETI

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

ORG 23H

;przerwanie z portu szeregowego

JBC TI,NAD

CLR RI ;odbiór 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

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

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

;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łującego 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

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

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 SCON,#01010000B

;Timer T1 pracuje w modzie 2:

;8 bitów auto-reload

MOV 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ędą 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 początku pomiarów

LCALL LCD_CLR

MOV DPTR,#TEXT1 ;wypisanie tekstu o rozpoczęciu pomiarów

LCALL WRITE_TEXT

SETB EX1 ;włączenie przerwań z wejścia INT1

;- tj. sterownika przerwań

MOV DPTR,#1000H ;adres - miejsce w RAMie na wyniki pomiarów

MOV R5,#8 ;8 charakterystyk tranzystora

;dla różnych prądów Bazy

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

;pomiar 1 charakterystyki

POM1:

MOV R0,#CS55A ;ustalenie prądu Bazy

MOV A,#8 ;R5=8 -> 0 ... R5=1 -> 7

CLR C

SUBB A,R5

MOVX @R0,A

ADD A,#31H ;wypisanie numeru mierzonej charakterystyki

LCALL 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łączenie przerwań z wejścia INT1

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

LCALL LCD_CLR

MOV DPTR,#TEXT2 ;wypisanie tekstu o rozpoczęciu transmisji

LCALL WRITE_TEXT

MOV SBUF,#55H ;wysłanie znacznika początku transmisji

MOV A,#2 ;odczekanie czasu na 'obudzenie' IBMa

LCALL DELAY_100MS

MOV DPTR,#1000H ;adres początku 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

AJMP 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 ACC.1

INC R0 ;wpisanie numeru kanału do multiplexera

MOVX @R0,A

DEC 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

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

TEXT1:

DB 'POMIAR ',0

TEXT2:

DB 'TRANSMISJA',0

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

;END

Modyfikując jedną z pogrubionych linii otrzymujemy następujące wykresy.

Dla wartości 1:

0x01 graphic

Dla wartości 3:

0x01 graphic

Dla wartości 5:

0x01 graphic

Dla wartości 8:

0x01 graphic

Dla wartości 10:

0x01 graphic

Dla wartości 12:

0x01 graphic

Dla wartości 13:

0x01 graphic

Dla wartości 14:

0x01 graphic

Dla wartości 16:

0x01 graphic



Wyszukiwarka

Podobne podstrony:
1 M2 StepnowskaA StepnowskaM ZAD1
grupa M2 2013[1]
ECCC Sylabus CS M2 A
M2, Studia, SiMR, II ROK, III semestr, Elektrotechnika i Elektronika II, Elektra, Elektronika i Elek
antywirusy, ECDL, m2-użytkowanie komputera, 2uk5, dysk roboczy 5
9 M2 PałaszS SpychałaJ ZAD9
m2 (2)
m2 dynamika koła zadanie dodatkowe
m2 zest 10 zad 7
Marshalloy M2 HSS TRM
7. M2 KosickiM MigdałekM ZAD7, mechanika i budowa maszyn, Wytrzymałość materiałów II, Wytrzymałość m
M2
M2 Wyznaczanie g za pomocą wahadła rewersyjnego
Konsp?DL(M2)
Zestawienie obciążeń, Zestawienie obciążeń na 1 m2 płyty
biofizyka od KACPRA, BIOFIZYKA-M2, Uniwersytet Medyczny w Łodzi
550 m2 powierzchni półkowej na…$ metrach magazynu

więcej podobnych podstron