pic lcd sorunu

Başlatan harmek, 30 Aralık 2011, 22:18:36

harmek

#include <16f84A.H>
#if defined(__PCM__)
#use delay(clock=4000000)
#fuses XT,NOWDT,NOPROTECT
#define use_portb_lcd TRUE
#define RS232_XMIT     PIN_A1
#define RS232_RCV      PIN_A0  // PIC line which receives PC transmission
#use rs232(baud=600, xmit=PIN_A2, rcv=PIN_A3)
#include <lcd.c>
void main(){
char a=0;
output_low(pin_a0); //cikislari temizle
output_low(pin_a1);



     
         lcd_init();//ekranımızı kuruyoruz
   lcd_gotoxy(1,2);//1.satırın 1.karakterine gidiyoruz
  printf( lcd_putc,"merhaba");//ekranda " irin D nya" şeklinde görülecektir, yani tanımsız karakterler elbette görülmeyecektir.
   for(;;)
   {output_high(PIN_B3); 
delay_ms(500);
output_low(PIN_B3);
delay_ms(500); }
}

şeklinde 16f84a kod yazdım. proteusta çalışıyor. ve picin çalıştığını denemek için b3 e led bağladım. devreyi kurdum led yanıp sönüyor fakat lcd çalışmıyor. farklı lcd denemedim gene olmadı:S
neden olabilr acaba?

tacettin

set_tris_b(0x00);
  ekleyerek deneyebilir misin?

harmek

#2
sorunu halletttim. konstrattan yapıyor. fakat şimdi de 2 pic arasında seri iletişime geçemedim.
tek olarak yazı yazdığımda lcd çalışıyor. fakat seri iletişme geöicek kodlar olunca çalışmıyor.


alıcı kodları


#include <16f84A.H>
#use delay(clock=4000000)
#define RS232_XMIT     PIN_A2
#define RS232_RCV      PIN_A3  // PIC line which receives PC transmission
#use rs232(baud=9600, xmit=PIN_A2, rcv=PIN_A3)
#include <lcd.c>
#fuses XT,NOWDT,PUT, NOPROTECT
void main(){
char a=0;
output_low(pin_a0); //cikislari temizle
output_low(pin_a1);
lcd_init();//ekranımızı kuruyoruz
set_tris_b(0x00);
   a=getch();
      if(a=='A'){
     
   lcd_gotoxy(1,2);//1.satırın 1.karakterine gidiyoruz
  printf( lcd_putc,"123");
  else{
      if(a=='B'){

   lcd_gotoxy(1,1);//1.satırın 1.karakterine gidiyoruz
  printf( lcd_putc,"123");
      }

   }
   
   
      }}




verici kodları

#include <16f84A.H>
#use delay(clock=4000000)
#define RS232_XMIT     PIN_B2
#define RS232_RCV      PIN_B1  // PIC line which receives PC transmission
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1)
#fuses XT,NOWDT,PUT, NOPROTECT
void main(){

   while(1){
   if(!input(pin_b4) && input(pin_b5)){
      putc('A');
   }
   if(!input(pin_b5) && input(pin_b4)){
      putc('B');
   }
   for(;;)
   {output_high(PIN_A2); 
delay_ms(500);
output_low(PIN_A2);
delay_ms(500); }
}

   }

harmek

#3
http://www.fileserve.com/file/qhnS74r/son.rar
ekte devreyi yolladım. proteusta çalışıyor fakat devreyi kurunca çalışmıyor. bi anlam veremedim.:S