isis de çalışan devre board üstünde çalışmıyor

Başlatan reco, 15 Şubat 2014, 21:21:10

reco

başlıkta da söylediğim gibi devre isis üstünde sağlıklı bir şekilde çalışıyor fakat işlemcilere kodları atıp çalıştırmaya kalkdığımda kontrol amaçlı koyduğum ledler çalışıyor fakat asıl işlev yerine getirilemiyor. yapmayı hedeflediğim işlev 16f628a dan yollanan değere göre 16f84a daki ledi yanmasıdır. eski konulara baktım fakat yine de sorunumu çözemedim.yardımcı olursanız sevinirim
verici;
#include "C:\Users\BurakUğur\Desktop\test\main.h"
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)
#use rs232(baud=600,xmit=PIN_b2,rcv=PIN_a0)
int deger=0;
void main()
{
while(1)
{
output_high(pin_b1);
deger=getc();
if(deger=='A')
output_high(pin_b0);
if(deger=='B')
output_low(pin_b0);
}
}
alıcı;
#include "C:\Users\BurakUğur\Desktop\test2\edef.h"


void main()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   setup_oscillator(OSC_4MHZ);

  set_tris_b(0x00);
output_b(0x00);
while(1)
{
output_high(pin_b1);
putc('A');
delay_ms(250);
output_low(pin_b1);
putc('B');
delay_ms(250);
}
}

xfrieyt

Keymarklarda sıkıntı var. 3.3 voltta kullan. alıcı vericiyi uzaklaştır. Uyandırma komutları gönder. Eğer udea modül kullanıyorsan uyandırma komutları datasheette var. onları putc(ox00) -(ox55)- (oxFF ) yazarak göndermen gerekir . Bu ucuz modüller cep telefonlarından dahi etkilenir. Zamanın var ise Mancherster Encoding ile programla sıfır hata . Kolay gelsin . (Uyandırma komutlarını ara programla yazarsan kolay bir yazım olur .  ;)   )

reco

ilgin için teşekkür ederim. ben daha modül kullanacak kadar ilerleyemedim yaptığım araştırmalar neticesinde önce mödül kullanmadan kablo ile yapın diyordu haberleşmeyi. o yüzden ben de kablo ile yaptım. kablo ile yaparken de uyandırma kodlarını yazmadım buna yazmam gerekir miydi? keymarkların ne olduğunu açıklarmısın bilgim yok çünkü onlarla ilgili. teşekkür ederim

selimkoc

PIC16F628A mikrodenetleyicisinin A Portu analog olarak tanımlıdır. Dijitale çevrilmeden dijital işlem yapmaz. Bunun için CMCON registerine "7" değerini yüklemelisin.

sadogan

Alıntı yapılan: selimkoc - 16 Şubat 2014, 12:32:44
PIC16F628A mikrodenetleyicisinin A Portu analog olarak tanımlıdır. Dijitale çevrilmeden dijital işlem yapmaz. Bunun için CMCON registerine "7" değerini yüklemelisin.
setup_comparator(NC_NC_NC_NC);
Bu komut CMCON=0x07 hocam.

reco

16f628a nın a portuyla bi işim yokki benim tanımlamam gerekiyor mu?

Recep METE

Hocam uyandırma komutu içern bir örnek belki lazım olur.


void main()
{

while(1)
{
set_tris_b(0xF);
output_b(0x00);
if(input(pin_a0))
{
putc(0b01010101);
putc('X');
putc('A');
delay_ms(50);
}


}




Yanılmıyorsam uyandırma kodu bu  "putc(0b01010101);"
bunu her karakter göndermeden önce yazmalısın.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

reco

eyvallah semfero benim bu uynadırma kodunu kullanmama gerek yok diye biliyorum. yanılıyor muyum?

reco

sorun güç kaynağımın az akım vermesinden kaynaklanıyormus. hepinize teşekkür ederim ilginiz için