|
Cayk (Köpek Bulucu) Av köpekleri için tasarlanmış bu devre küçük bir kutuya konarak, köpeğin tasmasına bağlanır. Köpek hareket halinde iken 10 saniyede bir, durduğu zaman ise sürekli ses çıkartarak köpeğin yerinin bulunmasını sağlar. Melodisi ve meledinin kaç kere tekrarlanacağı belirleyen iki adet ayar butonu ve bir adet açma kapama butonu ile kumanda edilir. İsteğe bağlı olarak manyetik olarak kutunun dışından açma kapama özelliği devreye alınabilir. Hex Dosyası, Isis Devre Şeması Dosyası, Kaynak Dosyalar Hepsi.zip ;16 kasim 2005 tarihinde serdar atakan abiye yaptigim kopek ; bulucunun programidir ;16f628a ;RA0 ses çıkışında buzzer var ;RA1 melodi butonu ;RA2 TEKRAR BUTONU ;RB0 TILT INTE INTERRUPTU define NO_CLRWDT @ __config _CP_ON & _LVP_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _BOREN_OFF & _INTOSC_OSC_NOCLKOUT @ messg "Config word yazıldı" ses var PORTA.0 tekrarb var PORTA.1 melodib var PORTA.2 melodi var byte tekrar var byte RBIE var INTCON.3 RBIF var INTCON.0 T0IF var INTCON.2 INTF var INTCON.1 T0IE var INTCON.5 INTE VAR INTCON.4 GIE VAR INTCON.7 tick var byte sn10 var byte flag var byte patana var byte patanb var byte saniyedebir var flag.0 hareket var flag.1 i var byte INTCON=0 CMCON=7 VRCON=$80 PCON.3=1 ;1=4mhz internal osc select ;0=32khz internal osc select On Interrupt Goto myint ' Define interrupt handler OPTION_REG = %11000111 ' Enable PORTB pullups INTCON = %10110000 ' Enable INTE interrupt ' Enable T0IE interrupt TRISB=%00001101 TRISA=%00000110 init: disable interrupt sn10=0 tick=0 flag=0 melodi=5 gosub muzik gosub muzik DATA 0,0,0 data @5,1 data @6,1 data @7,0 data @8,0 read 7,patana read 8,patanb pause 1000 read 5,melodi read 6,tekrar enable interrupt loop: if tekrarb == 0 then goto tekrarl loop1: if melodib==0 then goto melodil loop2: disable interrupt while saniyedebir==1 saniyedebir=0 if hareket==1 then ses=0 hareket=0 sn10=sn10+1 if sn10 >= 5 then sn10=0 gosub muzik endif else for i=1 to tekrar gosub muzik pause 50 next i endif wend enable interrupt Goto loop ' Do it forever muzik: select case melodi case 1 sound ses,[124,20] case 2 sound ses,[125,20] case 3 sound ses,[126,20] case 4 sound ses,[124,20,125,20,126,20] case 5 sound ses,[123,20] end select ses=0 return tekrarl: pause 300 IF tekrarb==0 then goto tekrarl tekrar=tekrar+1 if tekrar=4 then tekrar=1 endif write 6,tekrar goto loop1 melodil: pause 300 IF melodib==0 then goto melodil melodi=melodi+1 if melodi=6 then melodi=1 endif write 5,melodi goto loop2 ' Interrupt handler Disable interrupt ' No interrupts past this point myint: if T0IF==1 then T0IF=0 tick=tick+1 if tick >= 30 then tick=0 saniyedebir=1 endif endif if INTF==1 then INTF=0 hareket=1 endif Resume ' Return to main program Enable interrupt asm org 0x2110 de "Mustafa PATAN 05054075509 IZMIT KASIM 2005" de "Serdar ATAKAN'a yaptigim KOPEK BULUCU devresi" de "V2.000" endasm |
|
Bu web sitesi ile ilgili soru veya görüşlerinizi
mustafapatan@gmail.comadresine gönderin.
|