1314mik_8
DESCRIPTION
1314Mik_8TRANSCRIPT
-
HARRAN NVERSTES BLGSAYAR MHENDSL BLM
15 Nisan 2014 Mikroilemciler
Ara Snav---Snav Sresi 90 Dk.
1) (10p) Mikroilemcilerle Mikrodenetleyiceleri yapsal olarak ve ilevsel olarak karlatrarak avantaj ve dezavantajlarn belirtiniz. 2) (40p) PIC16F877 ile tarla sulama otomasyonu tasarlanacaktr. Tarla 8 blme ayrlm ve her blme iin ayr bir nem sensr gmlmtr. Nem sensrleri eer blgede sulamaya ihtiya var ise lojik 1, sulama ihtiyac yok ise lojik 0 k vermektedir. Eer 8 nem sensrnden 4 veya daha fazlas lojik 1 sinyali gnderiyor ise sulama motoru alacak, dier durumlarda sulama motoru almayacaktr. ( Nem sensrleri PORTBye, Sulama motoru ise RA0a balanacaktr.) (Kullandnz mikroilemcinin kristal frekans 4MHz olarak alnacaktr) a) (30p) Yukardaki ilemleri gerekletiren assembler kodlarn yaznz. b) (10p) Yukardaki ilemleri gerekletiren devreyi iziniz. (clock devresi, besleme devresi ve reset devresi dahil) 3) (20p) Aada komuttan nceki hafza ierikleri verilen registerlarn komuttan sonraki ieriklerini yaznz.
4) (30p) PIC16F877 ile Skorboard tasarlanacaktr. Skorboard devremizde 3 adet buton iki adet 7-Segment display bulunacaktr. RA0a bal butona basnca 1.Displaye, RA1e bal butona basnca 2.Displaye bir eklenecektir. RA2ye bal olan reset butonuna basnca 1 ve 2. Displayler sfrlanacaktr. Displayler PORTBye balanacaktr. Display tetikleme bitleri : RC0 lojik 1 olduunda 1.Display, RC1 lojik 1 olduunda 2.Display aktif olacaktr. Yan ksmda ana kodlar verilen ve yukardaki ilemleri gerekletiren alt programlar yaznz. -- haneGoster [7-Segmentte gsterilecek olan digit1 ve digit2yi gsterme] -- tusbak1 [RA0 kontrol etme] -- tusbak2 [RA1i kontrol etme] -- tusbak3 [RA2yi kontrol etme] -- birEkle1 [Digit1e 1 ekleme] -- birEkle2 [Digit2ye 1 ekleme] -- resetall [Tm digitleri sfrlama] -- bekle [50 msnlik bekleme] -- kod [Saylar Displaydeki deerlerine dntrme]
Baarlar,
Yrd.Do.Dr.Nurettin BEL
W=00011100 Komuttan nce [21h]=10001000 Komuttan nce XORWF 21h,W lenen Komut W=....................................... Komuttan sonra [21h]=.................................. Komuttan sonra
W=00011100 Komuttan nce [21h]=10001000 Komuttan nce MOVF 21h,F lenen Komut W=....................................... Komuttan sonra [21h]=.................................. Komuttan sonra
basla bsf status,rp0
movlw 00h movwf trisb
movwf trisc movlw FFh movwf trisa bcf status,rp0 clrf digit1 clrf digit2
clrf portb clrf tus1 clrf tus2
clrf tus3 movlw .50 movwf sayac1 movwf sayac2 movwf sayac3 basla1
call haneGoster call tusBak1 call tusBak2 call tusBak3 btfsc tus1,0 call birEkle1
btfsc tus2,0 call birEkle2
btfsc tus3,0 call resetall goto basla1
-
2013-2014 Mikroilemciler Arasnav zmleri
C.1-) Mikroilemcilerin avantaj : Servis Kolayl : Modller arzaland sadece ilgili modl deitirilerek arza giderilebilir. Mikrodenetleyicinin avantajlar : Boyut : Mikrodenetleyiciler mikroilemcilere gre daha kk boyuttadr. G : Mikrodenetleyiciler daha az g tketirler. Maliyet : Mikrodenetleyiciler daha az maliyetlidirler. Performans : Mikrodenetleyiciler daha hzl alrlar. C.2-) a) list p=16F877A include statusequ 03 rp0 equ 05 portb equ 06 trisb equ 86h porta equ 05 trisa equ 85h say0 equ 20h say1 equ 21h say2 equ 22h
org 00 movlw 00 movwf PCLATH goto basla
basla
bsf status,rp0 movlw FFh
-
movwf trisb movlw 00h movwf trisa bcf status,rp0
tekrar movf portb,w movwf say0 movlw .08 movwf say2 clrf say1 tekrar1
rlf say0,f btfsc status,0 incf say1 decfsz say2 goto tekrar1 btfsc say1,3 bsf porta,0 btfsc say1,4 bsf porta,0
goto tekrar end
C.3-)
W=00011100 Komuttan nce [21h]=10001000 Komuttan nce XORWF 21h,W lenen Komut W= 1001 0100 Komuttan sonra [21h]= 1000 1000 Komuttan sonra
W=00011100 Komuttan nce [21h]=10001000 Komuttan nce MOVF 21h,F lenen Komut W= 00011100 Komuttan sonra [21h]= 10001000 Komuttan sonra
-
C.4-) list p=16F877A include statusequ 03 rp0 equ 05 portc equ 07 trisc equ 87h portb equ 06 trisb equ 86h porta equ 05 trisa equ 85h digit1 equ 21h digit2 equ 22h sayac1 equ 28h sayac2 equ 3Dh sayac3 equ 3Eh tus1 equ 3Ah tus2 equ 3Bh tus3 equ 3Ch
org 00h movlw 0 movwf PCLATH goto basla basla bsf status,rp0 movlw 00h movwf trisb
movwf trisc movlw FFh movwf trisa bcf status,rp0 clrf digit1 clrf digit2
clrf portb clrf tus1 clrf tus2
clrf tus3 movlw .1 movwf adigit movlw .50 movwf sayac1
-
movwf sayac2 movwf sayac3 basla1
call haneGoster call tusBak1 call tusBak2 call tusBak3 btfsc tus1,0 call birEkle1
btfsc tus2,0 call birEkle2
btfsc tus3,0 call resetall goto basla1 haneGoster movf digit2,w call kod movwf portb movlw b'00000010' movwf portc call bekle clrf portb clrf portc movf digit1,w call kod movwf portb movlw b'00000001' movwf portc call bekle return tusBak1 btfss porta,0 goto tusBak21 btfsc tus1,0 goto tusBak31 decfsz sayac
goto tusBak31 bsf tus1,0 goto tusBak31 tusBak21 clrf tus1 movlw .50
-
movwf sayac1 tusBak31 return tusBak2 btfss porta,1 goto tusBak22 btfsc tus2,0 goto tusBak32 decfsz sayac
goto tusBak32 bsf tus2,0 goto tusBak32 tusBak22 clrf tus2 movlw .50 movwf sayac2 tusBak32 return tusBak3 btfss porta,2 goto tusBak23 btfsc tus3,0 goto tusBak33 decfsz sayac
goto tusBak33 bsf tus3,0 goto tusBak33 tusBak23 clrf tus3 movlw .50 movwf sayac3 tusBak33 return birEkle1 clrf tus1 incf digit1 return birEkle2 clrf tus2 incf digit2 return
-
resetall clrf tus3
clrf digit1 clrf digit2
return kod addwf PCL,1 retlw b'00111111' retlw b'00000110' retlw b'01011011' retlw b'01001111' retlw b'01100110' retlw b'01101101' retlw b'01111101' retlw b'00000111' retlw b'01111111' retlw b'01101111' end