You are on page 1of 4

EMÜ-425 MİKROİŞLEMCİLER DERSİ GENEL SINAVI SORULARI 07 OCAK 2011

S.1.) 50 Hz, 220V’luk şebekeden beslenen bir yüke uygulanan gerilim ve yükün çektiği akım, sırasıyla
gerilim ve akım trafolarıyla alınarak opamplı bir devreyle kare dalgaya dönüştürülüyor. Yani elimizde
genlik değerleri 0-5V arasında olan iki kare dalga var.
a.) Yük endüktif ise portA’nın 2. Pinine bağlı yeşil ledi, kapasitif ise portA’nın 3. Pinine bağlı kırmızı
ledi yakan PIC16F84 programını yazınız.(20p)
b.) Bu iki kare arasındaki faz farkını ölçüp derece olarak bulduğu sonucu Portb’ye yazan PIC16F84
programını yazınız.(faz farkı 0-90 derece arasında olabileceğine göre buna karşı düşen hex. sayılar (0-
5A) arasındadır.)(25p)
S.2.) 0CH adresinden itibaren 5 adet sayı yazılıdır. Bu sayıların değerleri 0-5Ah arasında herhangi bir
değerdedir. Sırasıyla bu sayıları portB’ye bağlı olan 2 tane ortak katodlu 7 parçalı göstergeye yazan
PIC16F84 programını yazınız. Bağlantı şemasını çiziniz.(20p)
S.3.) 1000h adresinden itibaren 50 adet sayıyı 2000h adresinden başlayan bellek bölgesine taşıyan 8085
programını yazınız.(18p)
S.4.) MVI A,19--MVI B,D9--SUB B—RAL—RLC--ANA B--HLT
Bu program 8085 mikroişlemcisinde çalıştırılıyor. Başlangıçta bayraklar sıfır olduğuna göre program
çalışıp bittiğinde Acc. ve bayrakların değeri ne olur?(17p)
Sınav süresi 100 dakikadır. Başarılar Dilerim. Melih C. İnce

CEVAPLAR
C.1 a)
LIST P=16F84
INCLUDE “P16F84.INC”
CLRF PORTB
BSF STATUS, 5
MOVLW h’03’ ;0. ve 1. pinler giriş 0. pin gerilim 1. pin akım bilgisi için
MOWF TRISA
BCF STATUS, 5
BASLA
BTFSC PORTA, 0 ;Gerilimin 0’dan 1’e geçiş (yükselen kenar) anı tespit ediliyor
GOTO BASLA
TEST
BTFSS PORTA, 0
GOTO TEST
BTFSS PORTA, 1 ;Akım değeri 1. mi?
GOTO ENDUKTIF
BCF PORTA, 2 ;Yeşil led söndürüldü
BSF PORTA, 3 ;Kırmızı led yandı
GOTO SON
ENDUKTIF
BSF PORTA, 2 ;Yeşil led yandı
BCF PORTA, 3 ;Kırmızı led söndürüldü
SON
GOTO SON
C.1 b)
LIST P=16F84
INCLUDE “P16F84.INC”
FAZ EQU h’0C’
CLRF PORTB
BSF STATUS, 5
MOVLW h’03’ ;0. ve 1. pinler giriş 0. pin gerilim 1. pin akım bilgisi için
MOWF TRISA
CLRF TRISB
BCF STATUS, 5
BASLA
BTFSC PORTA, 0 ;Gerilimin 0’dan 1’e geçiş (yükselen kenar) anı tespit ediliyor
GOTO BASLA
TEST
BTFSS PORTA, 0
GOTO TEST
BTFSS PORTA, 1 ;Akım değeri 1. mi?
GOTO ENDUKTIF
TEST1 ;Kapasitif
CALL BEKLE ;56 µsn bekle (360o 20 msn ise 1o 56 µsn)
BTFSS PORTA, 1 ;Akım değeri 1. mi?
GOTO YAZ
INCF FAZ, 1
GOTO TEST1
YAZ
MOVF FAZ, W
SUBLW h’B4’
CALL HEXTODEC
HEXTODEC
MOVWF PORTB
ADDWF PCL, F
GOTO SON
RETLW d’00’ ----00H
ENDUKTIF
RETLW d’01’ ----01H
CALL BEKLE
RETLW d’02’ ----02H
BTFSC PORTA, 1
. .
GOTO YAZ2
. .
INCF FAZ, 1
. .
GOTO ENDUKTIF
RETLW d’88’ ----58H
YAZ2
RETLW d’89’ ----59H
MOVF FAZ, W
RETLW d’90’ ----5AH
CALL HEXTODEC
MOVWF PORTB
SON
GOTO SON

C.2)Bağlantı şeması
LIST P=16F84
INCLUDE “P16F84.INC”
YEDEK EQU h’11’
SAYAC1 EQU h’12’
SAYAC2 EQU h’13’
SAYAC EQU h’14’
CLRF PORTB
CLRF PORTA
BSF STATUS, 5
CLRF TRISB
CLRF TRISA
BCF STATUS, 5
MOVLW h’05’ ;0C adresinden itibaren 5 sayı için sayac’a atandı
MOVWF SAYAC
MOVLW h’0C’ ;Başlangıç adresi FSR’ye atandı
MOVWF FSR
BASLA
MOVLW h’FF’
MOVWF SAYAC2
DONGU2
MOVLW h’FF’
MOVWF SAYAC1
DONGU1
MOVLW h’08’ ;2. Display (birler basamağı) seçildi
MOVWF PORTA
MOVF INDF, W ; FSR nin gös. adrs sayı W içerisine taşındı
CALL HEXTODEC ;Açının dec. karşılığı tablodan alındı
MOVWF YEDEK
ANDLW h’0F’ ;2. Displayde yazılacak kısım alındı
CALL DECTO7SEG ;DEC sayının 7 segment karşılığı tablodan alındı
MOVWF PORTB ;Açının birler basamağı 2. displayde gösterildi
CALL GECIK
MOVLW h’04’ ;1. Display (onlar basamağı) seçildi
MOVWF PORTA
MOVF YEDEK, W
ANDLW h’F0’ ;1. Displayde yazılacak kısım alındı
MOVWF YEDEK
RRF YEDEK, F ;sayı 4 kez sağa kaydırıldı
RRF YEDEK, F
RRF YEDEK, F
RRF YEDEK, F
MOVF YEDEK, W
CALL DECTO7SEG ;DEC sayının 7 segment karşılığı tablodan alındı
MOVWF PORTB
CALL GECIK
DECFSZ SAYAC1, F ;belirli bir süre boyunca açı değeri disp. gösterildi
GOTO DONGU1
DECFSZ SAYAC2, F
GOTO DONGU2
INCF FSR, F ;adres bir artırıldı
DECFSZ SAYAC, 1
GOTO BASLA ;diğer sayılar için aynı işlemler tekrarlandı
SON GOTO SON

HEXTODEC DECTO7SEG
ADDWF PCL, F ADDWF PCL, F
RETLW d’00’ ----00H RETLW b’X0111111’ ----d’00’
RETLW d’01’ ----01H RETLW b’X0000110’ ----d’01’
RETLW d’02’ ----02H RETLW b’X1011011’ ----d’02’
. . . .
. . . .
. . . .
RETLW d’88’ ----58H RETLW b’X0000111’ ---- d’07’
RETLW d’89’ ----59H RETLW b’X1111111’ ---- d’08’
RETLW d’90’ ----5AH RETLW b’X1100111’ ---- d’09’
C.3)
;1000h adr itibaren yazilmis 50 adet sayiyi 2000h adr.baslayan bellek bölgesine tasir
mvi c,32 ;sayaç
lxi h,1000 ;okunacak sayilarin basl.adr
lxi d,2000 ;yazilacagi baslangic adr
bas:
mov a,m
xchg ;hl ile de degerlerini karsilikli degistirdi
mov m,a ;yazildi
xchg
inx h
inx d
dcr c
jnz bas
hlt

C.4) ACC S Z – AC – P - CY

mvi a,19 19 0 0 x 0 x 0 x 0
mvi b,d9 19 0 0 x 0 x 0 x 0
sub b 40 0 0 x 0 x 0 x 1
ral 81 0 0 x 0 x 0 x 0
rlc 03 0 0 x 0 x 0 x 1
ana b 01 0 0 x 0 x 0 x 0
hlt

You might also like