Problem, RS232; PC'den gelen veri LCD'de || şeklinde görü

Başlatan conquerertr, 21 Mart 2009, 02:12:31

conquerertr

Problem, RS232; PC'den gelen veri LCD'de || şeklinde görünüyor;

yardımcı olabilecek kimse var mı ?

INCLUDE "modedefs.bas"
 
'@ DEVICE PIC16F877A, XT_OSC            MicroCode Studio'da hata verdiği için kullanamadım
'@ DEVICE pic16F877a, WDT_OFF
'@ DEVICE pic16F877a, PWRT_ON
'@ DEVICE pic16F877a, BOD_OFF
'@ DEVICE pic16F877a, LVP_OFF
'@ DEVICE pic16F877a, CPD_OFF
'@ DEVICE pic16F877a, PROTECT_OFF      
'DEFINE OSC 4                        



               ' LCD registerlerini ve bitlerinin tanımlanması
Define  LCD_DREG        PORTB
Define  LCD_DBIT        0
Define  LCD_RSREG       PORTB
Define  LCD_RSBIT       4
Define  LCD_EREG        PORTB
Define  LCD_EBIT        5
Define  LCD_RWREG       PORTB
Define  LCD_RWBIT       6
Define  LCD_BITS        4
Define  LCD_LINES       2
DEFINE OSC 4


TRISB = %00000000
     
Low PORTB.6                  ' LCD R/W pinini 0 yap.    

SI2      VAR     PORTC.7                    ' Seri çıkış pininin tanımlanması
SO2      VAR     PORTC.6                    ' Seri giriş pininin tanımlanması
c16      var     byte
RS232_degeri    var     byte  
       
RS232_oku:
c16=1
       PAUSE 1000
       Lcdout $fe, 1
       Lcdout "OB4CS BY FSYS"
       lcdout $FE, $C0,"................",$FE, $C0
       lcdout $FE, $0f

       Serout So2,T9600,["It's Began"]
RS232:    
 
      IF PORTC.7=0 OR PORTC.6 =0   THEN RS232         'RC7'de data yoksa bekle.
      Serout So2,T9600,["Came SomeThing: "]
      Serin SI2,T9600,RS232_degeri      'RS232_degeri değişkenine RC7'den gelen değeri yaz.

       c16 = c16+1
       if c16>16 then :c16=1 :lcdout $FE, $C0,"................",$FE, $C0
       select case RS232_degeri
       case "|"
       lcdout $FE, $C0 ,"                ",$FE, $C0
       '                 1234567890123456
       case ","  
       lcdout $FE, $2 ',"                ",$FE, $C0
       '                 1234567890123456
                   
       case else
           Lcdout RS232_degeri      'RS232_degeri değişkenindeki değeri LCD'ye yaz.
       
       end select
       Serout SO2,T9600,[RS232_degeri]       'RS232_degeri değişkenindekini RC6'dan gönder.
'       PAUSE 20
       GOTO RS232    
       
                                          
       End

bybik

Bir değişkeni lcd yazdırmak için başına # veya dec koyman gerekir.Senin kodlarında bunu göremedim.