modulu aktiflestirme

Başlatan selvi, 14 Kasım 2008, 08:35:18

selvi

@ DEVICE pic16F628 'islemci 16F628A
@ DEVICE pic16F628, WDT_OFF 'Watch Dog timer kapali
@ DEVICE pic16F628, PWRT_ON 'Power on timer acik
@ DEVICE pic16F628, PROTECT_OFF 'Kod Protek kapali
@ DEVICE pic16F628, MCLR_OFF 'MCLR pini kullanilmiyor.
@ DEVICE pic16F628, XT_OSC 'harici osilatör kullanilacak
@ DEVICE pic16F628, LVP_OFF
@ DEVICE pic16F628, BOD_OFF

DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2

DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25  ' 9600 Baud @ 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

VER VAR BYTE
SAYI VAR BYTE
CMCON=7           '16F628 de komparatör pinleri iptal hepsi giriþ çýkýþ
OPTION_REG.7=0    'Dahili pull-up lar AKTÝF yapýldý
TRISB=%00001011
TRISA=%00110010
PORTB=0
PORTA=0
PORTA.0=0
SAYI=0
START:
VER=0
PORTA.0=0
IF PORTA.5=0 THEN            
       LCDOUT $FE,1,"HEDEF"
           SAYI=SAYI+1
           PAUSE 200
       LCDOUT $FE,$C0,"SAYI=",#SAYI
       ENDIF
       IF PORTB.3=0 THEN
           PORTA.0=1
      LCDOUT $FE,1,"GONDER"
           VER=SAYI
      LCDOUT $FE,$C0,"VER=",#VER
           GOSUB GONDER
           WHILE PORTB.3=0
           GOSUB GONDER1
           WEND
       ENDIF
GOTO START
GONDER:
HSEROUT [REP$AA\5,REP$00\5,REP$FF\5]'uyandirma sinyali preambl
GONDER1:
HSEROUT ["A","R","A",DEC VER,123]
RETURN
END
mclr ucuna buton bagladim.ve ra0 ayagi rf modulun uyuma ve aktiflestirme ayagina bagladim.rb3 ayaginada buton bagladim.ra5 butonuna bastigimda gerekli islemleri yapiyor.fakat rb3 butonuna bastigimda lcd ekranindaki yazi gozukmuyor ve regule ve modul isiniyor.devreden beslemeyi cikartip yine bagladigimda lcd normal yazilar cikiyor.fakat butona basarak veri gonderip modul uyuma modunda aktif duruma gecirildiginde (ra0=0 dan ra0=1 geciyor) lcd de yazi gozukmuyor ve modul ve regule isiniyor.taki beslemeyi kesene kadar bu devam ediyor.normalde veri gonderme butonuna basilip birakildiginda ra0=1 den ra0=0 gecmesi gerekiyor.ama surekli porta.0=1 konumunda kalarak modul aktif halde kaliyor ve besleme kesilmeyene kadar o konumumu koruyor ve buda regule ve modulun asiri isinmasina neden oluyor. ra0 kullanmamin sebebi modul aktifken fazla akim harciyor.sadece veri gonderme esnasinda modulu aktiflestirmek icin ra0 kullandim.regule larak L7805CV kullandim.
oncelri farkli devrelerde ayni modulde farkli sorunlar cikiyordu .devreyi kutuya koydugumda ve veri gobnderme butonuna bastigimda benzer durumlar aciga cikiyordu.sonra anteni taktim bu sorun giderilmisti.
 bu en son aciga cikan durum farkli gozukuyor.ayni olan modulu kilitliyor.buton baglantilarini kontrol ettim.kisa devrelik bir durum yok.zaten kisa devrelik bir durum olsaydi butona basildiginda isinma durumu ve butonu birakildiginda normal duruma gecmesi gerekirdi.oyle olmuyor,mevcut durumda sistemi kilitliyor.
Yaşam anlamlandırıldıkça kutsaldır....

selvi

programda porta.0=0 yazdim.devreyi calistirdim.butonlarin hepsi islevli ve lcd eye gereken degerler yaziyor.yani rb3 butonuna bastigimda lcd dekiyazi gitmiyor.tabi bu durumda modul uyuma modunda oldugu icin veri gonderemiyorum.sorun modulu ra0=1 yapmamla aciga cikiyor.ve bu durum modulu surekli laktif konumda tutuyor.modulun cektigi akim(600ma) fazla oldugu icin regule ve modul isiniyor.isinmanin yaninda veride gondermiyor.tek tuk devre normale donuyor.baska sefer denedigimde tekrar eski sorunlar...simulasyonda sorun yok.
Yaşam anlamlandırıldıkça kutsaldır....