Elimdeki c kodaları hex cevirmek istiyorum

Başlatan crazy_229, 05 Ocak 2011, 16:22:04

crazy_229

Elimdeki c kodaları hex cevirmek istiyorum yardımcı olurmsunuz?

eseneren

Nasıl yardımcı olalım, gondereceksın bız mı cevırelım yoksa tarif mı edelım???
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

crazy_229

Gönderim isterseniz siz cevirin fark etmez yardımcı olunda:)

crazy_229

Alıntı yapılan: senerenemre - 05 Ocak 2011, 16:30:56
Nasıl yardımcı olalım, gondereceksın bız mı cevırelım yoksa tarif mı edelım???

   http://www.upload.gen.tr/d.php/www/kg75pfrc/Yeni_Metin_Belgesi.txt.html   link te var kardeşim bekliyorum.

eseneren

Warning [374] E:\a\b.c; 1.8 missing basic type; int assumed
Error   [195] E:\a\b.c; 1.13 expression syntax
Error   [226] E:\a\b.c; 3.1 char const too long
Error   [226] E:\a\b.c; 4.1 char const too long
Error   [226] E:\a\b.c; 5.1 char const too long
Error   [226] E:\a\b.c; 6.1 char const too long
Error   [226] E:\a\b.c; 7.1 char const too long
Error   [226] E:\a\b.c; 8.1 char const too long
Error   [226] E:\a\b.c; 15.1 char const too long
Error   [226] E:\a\b.c; 16.1 char const too long
Error   [226] E:\a\b.c; 17.1 char const too long
Error   [226] E:\a\b.c; 18.1 char const too long
Error   [226] E:\a\b.c; 19.1 char const too long
Error   [226] E:\a\b.c; 20.1 char const too long
Error   [226] E:\a\b.c; 21.1 char const too long
Error   [226] E:\a\b.c; 22.1 char const too long
Error   [226] E:\a\b.c; 23.1 char const too long
Error   [226] E:\a\b.c; 24.1 char const too long
Error   [226] E:\a\b.c; 25.1 char const too long
Error   [226] E:\a\b.c; 26.1 char const too long
Error   [226] E:\a\b.c; 27.1 char const too long
Error   [226] E:\a\b.c; 28.1 char const too long
Advisory[1] too many errors (21)
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

eseneren

Executing: "F:\Program Files\HI-TECH Software\PICC\9.71a\bin\picc.exe" --pass1 E:\a\b.c -q --chip=16F877A -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

crazy_229

Alıntı yapılan: senerenemre - 05 Ocak 2011, 16:59:18
Executing: "F:\Program Files\HI-TECH Software\PICC\9.71a\bin\picc.exe" --pass1 E:\a\b.c -q --chip=16F877A -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"

  Tesekkürler :(:(

KAZIMUGUR

@senerenemre , her gördüğüne inanma.
C dediyse C midir ?  ::)
Proton derleyicisi olan bir arkadaşımız yardım eder elbet.

@crazy_229 , kodlarını code tagları arasına yazarsan daha kolay incelenir ve cevap yazan çoğalabilir.

     Device = 18F452
    XTAL = 20
    '-/-    
'HSERIAL_BAUD  = 19200
'HSERIAL_RCSTA = %10010000
'HSERIAL_TXSTA = %00100100
'HSERIAL_CLEAR = On    
   '-/-
    Declare LCD_TYPE 500
    Declare LCD_DTPIN PORTB.1   
    Declare LCD_ENPIN PORTD.2 
    Declare LCD_RSPIN PORTD.0
    Declare LCD_INTERFACE 0
    Declare LCD_LINES 24
' Command        Operation  
' $FE, 1         Clear display 
' $FE, 2         Return home (beginning of first line) 
' $FE, $0C       Cursor off 
' $FE, $0E       Underline cursor on 
' $FE, $0F       Blinking cursor on 
' $FE, $10       Move cursor left one position 
' $FE, $14       Move cursor right one position 
' $FE, $C0       Move cursor to beginning of second line 
' $FE, $94       Move cursor to beginning of third line 
' $FE, $D4       Move cursor to beginning of fourth line 
' Note that if the command for clearing the LCD is used, then a small delay should follow it: - 
' PRINT $FE , 1 : DELAYMS 30
'****************************************************************
' VARIABLE DECLARATIONS
'****************************************************************
    Dim LCDDATA1[8]     As Byte
    Dim LCDDATA2[8]     As Byte 
    Dim BasNum          As Byte
    Dim Number1         As Float
    Dim Number2         As Float
    Dim NumberR         As Float
    Dim NumR1           As DWord
    Dim NumR2           As Byte
    Dim NumberTmp       As DWord
    Dim TCnt1           As Byte            
    Dim TCnt2           As Byte            
    Dim OpState         As Byte
    Dim SCRLoked        As Byte
    '-/-
    Dim LCD_Data        As Byte   
    Dim KeyCode         As Byte     
    Dim KeyOldCode      As Byte         
    '-/-
    Dim TmpByte1        As Byte
    Dim TmpByte2        As Byte    
    Dim i               As Byte
    Dim j               As Byte
    Dim ACTMENU         As Byte
    Dim ACTSIFRE        As Word
    Dim NEWSIFRE        As Word    
    Dim TusCnt          As Byte
    '---------------------------------------
    Dim TimeOut         As 2000
    Dim cmdACK          As 255
    Dim cmdBoot         As 240 
    '-/-
    Symbol SUT1     = PORTC.4       'Aktif 0
    Symbol SUT2     = PORTD.0       'Aktif 0    
    Symbol SUT3     = PORTE.1       'Aktif 0
    Symbol SUT4     = PORTE.2       'Aktif 0
    Symbol SUT5     = PORTC.3       'Aktif 0    
    Symbol SAT1     = PORTD.2       'Aktif 0
    Symbol SAT2     = PORTC.5       'Aktif 0    
    Symbol SAT3     = PORTC.6       'Aktif 0
    Symbol SAT4     = PORTB.7       'Aktif 0        
    '-/-
    Symbol LED      = PORTB.0       'Aktif 1   
    Symbol BUZZ     = PORTE.1       'Aktif 1
    '-/-
    Symbol LCDRS    = PORTD.4       'Aktif x
    Symbol LCDEN    = PORTD.5       'Aktif x
    '-/------------------------------------------------
   Symbol TXEN     = TXSTA.5
   Symbol SPEN     = RCSTA.7
   Symbol CREN     = RCSTA.4
    '-/-
   Symbol RCIF     = PIR1.5
   Symbol RCIE     = PIE1.5
   Symbol PEIE     = INTCON.6
   Symbol GIE      = INTCON.7
'****************************************************************
' PORT & PERIPHERAL SETTINGS
'****************************************************************
    ADCON1 = %01110000
    '-/-
    TRISA   = %00111100
    TRISB   = %00000000
    TRISC   = %11110000
    TRISD   = %00110011
    TRISE   = %11111111
    '-/-
    PORTB   = %00000000
    PORTC   = %00000000
    PORTD   = %00000000
    PORTE   = %00000000    
    '-/-
    INTCON  = %11111110
'    '-/-
'    ON_INTERRUPT GOTO INTVECTOR
'    goto main
'    '-/-
'INTVECTOR:
'    Clear gie
'    clear CREN
'    If RCIF = 1 Then
'        Clear RCIF
'        if RCREG = cmdBoot Then Clear PCL
'    End If
'ExitIntVector:
'    set gie   
'    set CREN         
'    retfie    
'****************************************************************
' MAIN PROGRAM ENTRY POINT
'****************************************************************
main:
'    clear        
'    Gosub USART_INIT
'    hrsout 100
'    SET GIE   
'    '-/- 
    BUZZ = 0: LED = 0
'----------------------------------------------------------------
RunMode0:
    Str LCDDATA1 = "                "
    Str LCDDATA2 = "                "
    Cls
    GoSub WaitUnPress
RunMode0_:
    GoSub Read_Keypad
    '-/-
    If KeyCode = 10 Then
        KeyCode = 255
        LED = 1            
        GoTo RunMode1
    End If
    GoTo  RunMode0_  
'----------------------------------------------------------------
RunMode1: 
    Str LCDDATA1 = " HESAP MAKINESI "
    Str LCDDATA2 = "    ACILIYOR    "
    Print $FE , 2
    Print Str LCDDATA1 \ 16
    Print $FE , $C0
    Print Str LCDDATA2 \ 16    
    DelayMS 1000
    Str LCDDATA1 = "                "
    Str LCDDATA2 = "                "
    Cls
    TusCnt = 0: OpState = 0: SCRLoked = 0
    Print $FE, $0E
    GoSub WaitUnPress    
    '-/-          
RunMode2:    
    GoSub Read_Keypad
    '-/-
    If KeyCode <> 255 Then 
        If SCRLoked = 0 And KeyCode < 10 And TusCnt < 16 Then 
            LCDDATA1[TusCnt] = KeyCode + 48
            TusCnt = TusCnt + 1
            Print $FE , 2
            Print Str LCDDATA1 \ 16
            GoSub WaitUnPress
        End If
        '-/-
        If KeyCode = 94 Or KeyCode = 47 Or KeyCode = 88 Or KeyCode = 45 Or KeyCode = 43 Then 
            If SCRLoked = 0 And OpState = 0 Then 
                If TusCnt > 0 And TusCnt < 16 Then 
                    LCDDATA1[TusCnt] = KeyCode
                    TusCnt = TusCnt + 1
                    Print $FE , 2
                    Print Str LCDDATA1 \ 16                
                    GoSub TakeNum1
                End If                                          
            End If
            GoSub WaitUnPress
        End If
        '-/-
        If KeyCode = 12 Then 
            If SCRLoked = 0 And OpState = 0 Then
                If TusCnt > 0 And TusCnt < 16 Then 
                    TusCnt = TusCnt + 1
                    GoSub TakeNum1
                    GoSub TakeNum3
                End If
                GoSub WaitUnPress                        
            End If
        End If        
        '-/-
        If KeyCode = 14 Then 
            If SCRLoked = 0 And OpState = 0 Then
                If TusCnt > 0 And TusCnt < 16 Then 
                    TusCnt = TusCnt + 1
                    GoSub TakeNum1
                    GoSub TakeNum4
                End If
                GoSub WaitUnPress                        
            End If
        End If              
        '-/-
        If KeyCode = 61 Then 
            If SCRLoked = 0 And OpState <> 0 And TusCnt > OpState And TusCnt < 16 Then
                LCDDATA1[TusCnt] = KeyCode
                TusCnt = TusCnt + 1
                Print $FE , 2
                Print Str LCDDATA1 \ 16              
                GoSub TakeNum2
            End If
            GoSub WaitUnPress 
        End If
        '-/-        
        If KeyCode = 10 Then 
            Print $FE, $0C
            Str LCDDATA1 = " HESAP MAKINESI "
            Str LCDDATA2 = "    KAPANIYOR   "
            Print $FE , 2
            Print Str LCDDATA1 \ 16
            Print $FE , $C0
            Print Str LCDDATA2 \ 16            
            DelayMS 1000
            '-/-
            KeyCode = 255
            LED = 0            
            GoTo RunMode0
        End If       
        '-/-
        If KeyCode = 13 Then                    'Clear SCR
            TusCnt = 0: OpState = 0: SCRLoked = 0
            Str LCDDATA1 = "                "
            Str LCDDATA2 = "                "            
            Cls       
            Print $FE, $0E
        End If
    End If                        
    '-/-
    GoTo    RunMode2
'---------------------------------------------------------------- 
TakeNum1:
    OpState = TusCnt - 1
    '-/-
    BasNum = 1
    If TusCnt > 2 Then
        For i = 0 To TusCnt - 3 
            BasNum = BasNum * 10
        Next    
    End If
    '-/-
    Number1 = 0 
    For i = 0 To TusCnt - 2
        NumberTmp = (LCDDATA1[i] - 48) * BasNum
        Number1 = Number1 + NumberTmp
        BasNum = BasNum / 10
    Next
    Return
'---------------------------------------------------------------- 
TakeNum2:
    BasNum = 1
    TmpByte1 = OpState + 1
    TmpByte2 = TusCnt - 3 
    For i = TmpByte1 To TmpByte2
        BasNum = BasNum * 10
    Next    
    '-/-
    Number2 = 0 
    For i = TmpByte1 To TusCnt - 2
        NumberTmp = (LCDDATA1[i] - 48) * BasNum
        Number2 = Number2 + NumberTmp
        BasNum = BasNum / 10
    Next
    '-/-
    Select Case LCDDATA1[OpState]
        Case 94:
                Select Case Number2
                    Case 0: NumberR = 0 
                    Case 1: NumberR = Number1  
                    Case Else
                        NumberR = 0 
                        TCnt2 = Number2 - 1 
                        For TCnt1 = 1 To TCnt2
                            If TCnt1 = 1 Then
                                NumberR = Number1 * Number1
                            Else
                                NumR1 = NumberR
                                NumberR = NumR1 * Number1               
                            End If                                
                        Next
                End Select                        
        Case 47: NumberR = Number1 / Number2
        Case 88: NumberR = Number1 * Number2
        Case 45: NumberR = Number1 - Number2                
        Case 43: NumberR = Number1 + Number2        
    End Select        
    '-/-
    Print $FE, $0C
    Print $FE, $C0
    If NumberR < 0 Then 
        NumR1 = NumberR
        Print "-"
        Print Dec NumR1  
    Else
        NumR1 = NumberR
        NumR2 = NumberR - NumR1   
        If NumR2 = 0 Then 
            Print Dec NumR1        
        Else
            Print DEC4 NumberR
        End If
    End If
    SCRLoked = 1
    Return    
'---------------------------------------------------------------- 
TakeNum3:
    If Number1 = 0 Then
        Str LCDDATA2 = "TANIMSIZ        "
        Print $FE , $C0
        Print Str LCDDATA2 \ 16    
    Else
        NumberR = Log Number1
        NumR1 = NumberR
        Print $FE, $0C
        Print $FE, $C0
        Print DEC4 NumberR
    End If
    SCRLoked = 1
    Return
'---------------------------------------------------------------- 
TakeNum4:
    If Number1 = 0 Then
        Str LCDDATA2 = "TANIMSIZ        "
        Print $FE , $C0
        Print Str LCDDATA2 \ 16            
    Else
        NumberR = Log10 Number1
        NumR1 = NumberR
        Print $FE, $0C
        Print $FE, $C0
        Print DEC4 NumberR
    End If
    SCRLoked = 1    
    Return
'----------------------------------------------------------------
WaitUnPress:    
    Call Read_Keypad  
    If KeyCode <> 255 Then GoTo WaitUnPress
    Return      
'----------------------------------------------------------------
Read_Keypad:
    KeyCode = 255
    SUT1 = 0: SUT2 = 1: SUT3 = 1: SUT4 = 1: SUT5 = 1
    If SAT1 = 0 Then KeyCode = 7:  GoTo Read_End
    If SAT2 = 0 Then KeyCode = 4:  GoTo Read_End
    If SAT3 = 0 Then KeyCode = 1:  GoTo Read_End        
    If SAT4 = 0 Then KeyCode = 0:  GoTo Read_End
    SUT1 = 1: SUT2 = 0: SUT3 = 1: SUT4 = 1: SUT5 = 1
    If SAT1 = 0 Then KeyCode = 8:  GoTo Read_End
    If SAT2 = 0 Then KeyCode = 5:  GoTo Read_End
    If SAT3 = 0 Then KeyCode = 2:  GoTo Read_End        
    If SAT4 = 0 Then KeyCode = 61: GoTo Read_End    '=
    SUT1 = 1: SUT2 = 1: SUT3 = 0: SUT4 = 1: SUT5 = 1
    If SAT1 = 0 Then KeyCode = 9:  GoTo Read_End
    If SAT2 = 0 Then KeyCode = 6:  GoTo Read_End
    If SAT3 = 0 Then KeyCode = 3:  GoTo Read_End        
    If SAT4 = 0 Then KeyCode = 13: GoTo Read_End    'Clear SCR
    SUT1 = 1: SUT2 = 1: SUT3 = 1: SUT4 = 0: SUT5 = 1
    If SAT1 = 0 Then KeyCode = 47: GoTo Read_End    '/
    If SAT2 = 0 Then KeyCode = 88: GoTo Read_End    'X
    If SAT3 = 0 Then KeyCode = 45: GoTo Read_End    '-
    If SAT4 = 0 Then KeyCode = 43: GoTo Read_End    '+
    SUT1 = 1: SUT2 = 1: SUT3 = 1: SUT4 = 1: SUT5 = 0
    If SAT1 = 0 Then KeyCode = 10: GoTo Read_End    'ON/OFF
    If SAT2 = 0 Then KeyCode = 94: GoTo Read_End    'x^y
    If SAT3 = 0 Then KeyCode = 12: GoTo Read_End    'Log
    If SAT4 = 0 Then KeyCode = 14: GoTo Read_End    'Log10
    '-/-
Read_End:
    If KeyCode <> 255 Then 
        If KeyCode <> KeyOldCode Then GoSub Beep_1
    End If
    KeyOldCode = KeyCode
    Return      
'----------------------------------------------------------------
Beep_1:
    BUZZ = 1 
    DelayMS 40
    BUZZ = 0
    DelayMS 60    
    Return
'----------------------------------------------------------------
LCD_Init:
   GoSub   LCD_Reset
   GoSub   LCD_Clear
   GoSub   LCD_On
    GoSub   two_line            
   Return
'----------------------------------------------------------------
LCD_Reset:
    DelayMS 2
   LCD_Data = $30
   GoSub   LCD_Send
   LCDRS = 1
   LCDEN = 1 
   DelayMS 1000   
   LCDEN = 0
   LCDRS = 0
   Return   
'----------------------------------------------------------------
LCD_Clear:
    DelayMS 2
   LCD_Data = $01
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 100
   LCDEN = 0
   Return   
'----------------------------------------------------------------
LCD_On:
    DelayMS 2
    LCD_Data = $2C
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return   
'----------------------------------------------------------------
two_line:
    DelayMS 2
   LCD_Data = $28
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
'----------------------------------------------------------------
cursor_inc:
    DelayMS 2
   LCD_Data = $46
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
'----------------------------------------------------------------
SET_line1:
    DelayMS 2
   LCD_Data = $10
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
'----------------------------------------------------------------
SET_line2:
    DelayMS 2
   LCD_Data = $0C
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return         
----------------------------------------------------------------
show_cursor:
    DelayMS 2
   LCD_Data = $0E
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
----------------------------------------------------------------
cur_left:
    DelayMS 2
   LCD_Data = $11
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
----------------------------------------------------------------
cur_right:
    DelayMS 2
   LCD_Data = $12
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return   
'----------------------------------------------------------------
LCD_Send:
    PORTC = LCD_Data                
    Return   
'----------------------------------------------------------------
LCD_RefFull:
    GoSub LCD_Ref1
    GoSub LCD_Ref2    
    Return      
'----------------------------------------------------------------
LCD_Ref1:
    GoSub SET_line1
    DelayMS 2
    For j = 0 To 8
        LCD_Data = LCDDATA1[j]
        If j = TusCnt Then LCD_Data = "_"
        '-/-
        GoSub   LCD_Send
       LCDRS = 1
       LCDEN = 1 
       DelayMS 1   
       LCDEN = 0
       LCDRS = 0      
      DelayMS 1
    Next
    Return
'----------------------------------------------------------------
LCD_Ref2:
    GoSub SET_line2
    DelayMS 2
    For j = 0 To 8
        LCD_Data = LCDDATA2[j]
        GoSub   LCD_Send
       LCDRS = 1
       LCDEN = 1 
       DelayMS 1   
       LCDEN = 0
       LCDRS = 0      
      DelayMS 1
    Next
    Return   
''----------------------------------------------------------------
'USART_INIT:
'    Set TXEN       ' Enable transmit
'    Set SPEN       ' Enable Serial Port
'    Set CREN       ' Enable continuous reception
'    Clear RCIF     ' Clear RCIF Interrupt Flag
'    Set RCIE       ' Set RCIE Interrupt Enable
'    Return        
'----------------------------------------------------------------
'----------------------------------------------------------------
'----------------------------------------------------------------    
    End   

eseneren

Alıntı yapılan: KAZIMUGUR - 05 Ocak 2011, 20:06:54
@senerenemre , her gördüğüne inanma.
C dediyse C midir ?  ::)
Proton derleyicisi olan bir arkadaşımız yardım eder elbet.

@crazy_229 , kodlarını code tagları arasına yazarsan daha kolay incelenir ve cevap yazan çoğalabilir.

     Device = 18F452
    XTAL = 20
    '-/-    
'HSERIAL_BAUD  = 19200
'HSERIAL_RCSTA = %10010000
'HSERIAL_TXSTA = %00100100
'HSERIAL_CLEAR = On    
   '-/-
    Declare LCD_TYPE 500
    Declare LCD_DTPIN PORTB.1   
    Declare LCD_ENPIN PORTD.2 
    Declare LCD_RSPIN PORTD.0
    Declare LCD_INTERFACE 0
    Declare LCD_LINES 24
' Command        Operation  
' $FE, 1         Clear display 
' $FE, 2         Return home (beginning of first line) 
' $FE, $0C       Cursor off 
' $FE, $0E       Underline cursor on 
' $FE, $0F       Blinking cursor on 
' $FE, $10       Move cursor left one position 
' $FE, $14       Move cursor right one position 
' $FE, $C0       Move cursor to beginning of second line 
' $FE, $94       Move cursor to beginning of third line 
' $FE, $D4       Move cursor to beginning of fourth line 
' Note that if the command for clearing the LCD is used, then a small delay should follow it: - 
' PRINT $FE , 1 : DELAYMS 30
'****************************************************************
' VARIABLE DECLARATIONS
'****************************************************************
    Dim LCDDATA1[8]     As Byte
    Dim LCDDATA2[8]     As Byte 
    Dim BasNum          As Byte
    Dim Number1         As Float
    Dim Number2         As Float
    Dim NumberR         As Float
    Dim NumR1           As DWord
    Dim NumR2           As Byte
    Dim NumberTmp       As DWord
    Dim TCnt1           As Byte            
    Dim TCnt2           As Byte            
    Dim OpState         As Byte
    Dim SCRLoked        As Byte
    '-/-
    Dim LCD_Data        As Byte   
    Dim KeyCode         As Byte     
    Dim KeyOldCode      As Byte         
    '-/-
    Dim TmpByte1        As Byte
    Dim TmpByte2        As Byte    
    Dim i               As Byte
    Dim j               As Byte
    Dim ACTMENU         As Byte
    Dim ACTSIFRE        As Word
    Dim NEWSIFRE        As Word    
    Dim TusCnt          As Byte
    '---------------------------------------
    Dim TimeOut         As 2000
    Dim cmdACK          As 255
    Dim cmdBoot         As 240 
    '-/-
    Symbol SUT1     = PORTC.4       'Aktif 0
    Symbol SUT2     = PORTD.0       'Aktif 0    
    Symbol SUT3     = PORTE.1       'Aktif 0
    Symbol SUT4     = PORTE.2       'Aktif 0
    Symbol SUT5     = PORTC.3       'Aktif 0    
    Symbol SAT1     = PORTD.2       'Aktif 0
    Symbol SAT2     = PORTC.5       'Aktif 0    
    Symbol SAT3     = PORTC.6       'Aktif 0
    Symbol SAT4     = PORTB.7       'Aktif 0        
    '-/-
    Symbol LED      = PORTB.0       'Aktif 1   
    Symbol BUZZ     = PORTE.1       'Aktif 1
    '-/-
    Symbol LCDRS    = PORTD.4       'Aktif x
    Symbol LCDEN    = PORTD.5       'Aktif x
    '-/------------------------------------------------
   Symbol TXEN     = TXSTA.5
   Symbol SPEN     = RCSTA.7
   Symbol CREN     = RCSTA.4
    '-/-
   Symbol RCIF     = PIR1.5
   Symbol RCIE     = PIE1.5
   Symbol PEIE     = INTCON.6
   Symbol GIE      = INTCON.7
'****************************************************************
' PORT & PERIPHERAL SETTINGS
'****************************************************************
    ADCON1 = %01110000
    '-/-
    TRISA   = %00111100
    TRISB   = %00000000
    TRISC   = %11110000
    TRISD   = %00110011
    TRISE   = %11111111
    '-/-
    PORTB   = %00000000
    PORTC   = %00000000
    PORTD   = %00000000
    PORTE   = %00000000    
    '-/-
    INTCON  = %11111110
'    '-/-
'    ON_INTERRUPT GOTO INTVECTOR
'    goto main
'    '-/-
'INTVECTOR:
'    Clear gie
'    clear CREN
'    If RCIF = 1 Then
'        Clear RCIF
'        if RCREG = cmdBoot Then Clear PCL
'    End If
'ExitIntVector:
'    set gie   
'    set CREN         
'    retfie    
'****************************************************************
' MAIN PROGRAM ENTRY POINT
'****************************************************************
main:
'    clear        
'    Gosub USART_INIT
'    hrsout 100
'    SET GIE   
'    '-/- 
    BUZZ = 0: LED = 0
'----------------------------------------------------------------
RunMode0:
    Str LCDDATA1 = "                "
    Str LCDDATA2 = "                "
    Cls
    GoSub WaitUnPress
RunMode0_:
    GoSub Read_Keypad
    '-/-
    If KeyCode = 10 Then
        KeyCode = 255
        LED = 1            
        GoTo RunMode1
    End If
    GoTo  RunMode0_  
'----------------------------------------------------------------
RunMode1: 
    Str LCDDATA1 = " HESAP MAKINESI "
    Str LCDDATA2 = "    ACILIYOR    "
    Print $FE , 2
    Print Str LCDDATA1 \ 16
    Print $FE , $C0
    Print Str LCDDATA2 \ 16    
    DelayMS 1000
    Str LCDDATA1 = "                "
    Str LCDDATA2 = "                "
    Cls
    TusCnt = 0: OpState = 0: SCRLoked = 0
    Print $FE, $0E
    GoSub WaitUnPress    
    '-/-          
RunMode2:    
    GoSub Read_Keypad
    '-/-
    If KeyCode <> 255 Then 
        If SCRLoked = 0 And KeyCode < 10 And TusCnt < 16 Then 
            LCDDATA1[TusCnt] = KeyCode + 48
            TusCnt = TusCnt + 1
            Print $FE , 2
            Print Str LCDDATA1 \ 16
            GoSub WaitUnPress
        End If
        '-/-
        If KeyCode = 94 Or KeyCode = 47 Or KeyCode = 88 Or KeyCode = 45 Or KeyCode = 43 Then 
            If SCRLoked = 0 And OpState = 0 Then 
                If TusCnt > 0 And TusCnt < 16 Then 
                    LCDDATA1[TusCnt] = KeyCode
                    TusCnt = TusCnt + 1
                    Print $FE , 2
                    Print Str LCDDATA1 \ 16                
                    GoSub TakeNum1
                End If                                          
            End If
            GoSub WaitUnPress
        End If
        '-/-
        If KeyCode = 12 Then 
            If SCRLoked = 0 And OpState = 0 Then
                If TusCnt > 0 And TusCnt < 16 Then 
                    TusCnt = TusCnt + 1
                    GoSub TakeNum1
                    GoSub TakeNum3
                End If
                GoSub WaitUnPress                        
            End If
        End If        
        '-/-
        If KeyCode = 14 Then 
            If SCRLoked = 0 And OpState = 0 Then
                If TusCnt > 0 And TusCnt < 16 Then 
                    TusCnt = TusCnt + 1
                    GoSub TakeNum1
                    GoSub TakeNum4
                End If
                GoSub WaitUnPress                        
            End If
        End If              
        '-/-
        If KeyCode = 61 Then 
            If SCRLoked = 0 And OpState <> 0 And TusCnt > OpState And TusCnt < 16 Then
                LCDDATA1[TusCnt] = KeyCode
                TusCnt = TusCnt + 1
                Print $FE , 2
                Print Str LCDDATA1 \ 16              
                GoSub TakeNum2
            End If
            GoSub WaitUnPress 
        End If
        '-/-        
        If KeyCode = 10 Then 
            Print $FE, $0C
            Str LCDDATA1 = " HESAP MAKINESI "
            Str LCDDATA2 = "    KAPANIYOR   "
            Print $FE , 2
            Print Str LCDDATA1 \ 16
            Print $FE , $C0
            Print Str LCDDATA2 \ 16            
            DelayMS 1000
            '-/-
            KeyCode = 255
            LED = 0            
            GoTo RunMode0
        End If       
        '-/-
        If KeyCode = 13 Then                    'Clear SCR
            TusCnt = 0: OpState = 0: SCRLoked = 0
            Str LCDDATA1 = "                "
            Str LCDDATA2 = "                "            
            Cls       
            Print $FE, $0E
        End If
    End If                        
    '-/-
    GoTo    RunMode2
'---------------------------------------------------------------- 
TakeNum1:
    OpState = TusCnt - 1
    '-/-
    BasNum = 1
    If TusCnt > 2 Then
        For i = 0 To TusCnt - 3 
            BasNum = BasNum * 10
        Next    
    End If
    '-/-
    Number1 = 0 
    For i = 0 To TusCnt - 2
        NumberTmp = (LCDDATA1[i] - 48) * BasNum
        Number1 = Number1 + NumberTmp
        BasNum = BasNum / 10
    Next
    Return
'---------------------------------------------------------------- 
TakeNum2:
    BasNum = 1
    TmpByte1 = OpState + 1
    TmpByte2 = TusCnt - 3 
    For i = TmpByte1 To TmpByte2
        BasNum = BasNum * 10
    Next    
    '-/-
    Number2 = 0 
    For i = TmpByte1 To TusCnt - 2
        NumberTmp = (LCDDATA1[i] - 48) * BasNum
        Number2 = Number2 + NumberTmp
        BasNum = BasNum / 10
    Next
    '-/-
    Select Case LCDDATA1[OpState]
        Case 94:
                Select Case Number2
                    Case 0: NumberR = 0 
                    Case 1: NumberR = Number1  
                    Case Else
                        NumberR = 0 
                        TCnt2 = Number2 - 1 
                        For TCnt1 = 1 To TCnt2
                            If TCnt1 = 1 Then
                                NumberR = Number1 * Number1
                            Else
                                NumR1 = NumberR
                                NumberR = NumR1 * Number1               
                            End If                                
                        Next
                End Select                        
        Case 47: NumberR = Number1 / Number2
        Case 88: NumberR = Number1 * Number2
        Case 45: NumberR = Number1 - Number2                
        Case 43: NumberR = Number1 + Number2        
    End Select        
    '-/-
    Print $FE, $0C
    Print $FE, $C0
    If NumberR < 0 Then 
        NumR1 = NumberR
        Print "-"
        Print Dec NumR1  
    Else
        NumR1 = NumberR
        NumR2 = NumberR - NumR1   
        If NumR2 = 0 Then 
            Print Dec NumR1        
        Else
            Print DEC4 NumberR
        End If
    End If
    SCRLoked = 1
    Return    
'---------------------------------------------------------------- 
TakeNum3:
    If Number1 = 0 Then
        Str LCDDATA2 = "TANIMSIZ        "
        Print $FE , $C0
        Print Str LCDDATA2 \ 16    
    Else
        NumberR = Log Number1
        NumR1 = NumberR
        Print $FE, $0C
        Print $FE, $C0
        Print DEC4 NumberR
    End If
    SCRLoked = 1
    Return
'---------------------------------------------------------------- 
TakeNum4:
    If Number1 = 0 Then
        Str LCDDATA2 = "TANIMSIZ        "
        Print $FE , $C0
        Print Str LCDDATA2 \ 16            
    Else
        NumberR = Log10 Number1
        NumR1 = NumberR
        Print $FE, $0C
        Print $FE, $C0
        Print DEC4 NumberR
    End If
    SCRLoked = 1    
    Return
'----------------------------------------------------------------
WaitUnPress:    
    Call Read_Keypad  
    If KeyCode <> 255 Then GoTo WaitUnPress
    Return      
'----------------------------------------------------------------
Read_Keypad:
    KeyCode = 255
    SUT1 = 0: SUT2 = 1: SUT3 = 1: SUT4 = 1: SUT5 = 1
    If SAT1 = 0 Then KeyCode = 7:  GoTo Read_End
    If SAT2 = 0 Then KeyCode = 4:  GoTo Read_End
    If SAT3 = 0 Then KeyCode = 1:  GoTo Read_End        
    If SAT4 = 0 Then KeyCode = 0:  GoTo Read_End
    SUT1 = 1: SUT2 = 0: SUT3 = 1: SUT4 = 1: SUT5 = 1
    If SAT1 = 0 Then KeyCode = 8:  GoTo Read_End
    If SAT2 = 0 Then KeyCode = 5:  GoTo Read_End
    If SAT3 = 0 Then KeyCode = 2:  GoTo Read_End        
    If SAT4 = 0 Then KeyCode = 61: GoTo Read_End    '=
    SUT1 = 1: SUT2 = 1: SUT3 = 0: SUT4 = 1: SUT5 = 1
    If SAT1 = 0 Then KeyCode = 9:  GoTo Read_End
    If SAT2 = 0 Then KeyCode = 6:  GoTo Read_End
    If SAT3 = 0 Then KeyCode = 3:  GoTo Read_End        
    If SAT4 = 0 Then KeyCode = 13: GoTo Read_End    'Clear SCR
    SUT1 = 1: SUT2 = 1: SUT3 = 1: SUT4 = 0: SUT5 = 1
    If SAT1 = 0 Then KeyCode = 47: GoTo Read_End    '/
    If SAT2 = 0 Then KeyCode = 88: GoTo Read_End    'X
    If SAT3 = 0 Then KeyCode = 45: GoTo Read_End    '-
    If SAT4 = 0 Then KeyCode = 43: GoTo Read_End    '+
    SUT1 = 1: SUT2 = 1: SUT3 = 1: SUT4 = 1: SUT5 = 0
    If SAT1 = 0 Then KeyCode = 10: GoTo Read_End    'ON/OFF
    If SAT2 = 0 Then KeyCode = 94: GoTo Read_End    'x^y
    If SAT3 = 0 Then KeyCode = 12: GoTo Read_End    'Log
    If SAT4 = 0 Then KeyCode = 14: GoTo Read_End    'Log10
    '-/-
Read_End:
    If KeyCode <> 255 Then 
        If KeyCode <> KeyOldCode Then GoSub Beep_1
    End If
    KeyOldCode = KeyCode
    Return      
'----------------------------------------------------------------
Beep_1:
    BUZZ = 1 
    DelayMS 40
    BUZZ = 0
    DelayMS 60    
    Return
'----------------------------------------------------------------
LCD_Init:
   GoSub   LCD_Reset
   GoSub   LCD_Clear
   GoSub   LCD_On
    GoSub   two_line            
   Return
'----------------------------------------------------------------
LCD_Reset:
    DelayMS 2
   LCD_Data = $30
   GoSub   LCD_Send
   LCDRS = 1
   LCDEN = 1 
   DelayMS 1000   
   LCDEN = 0
   LCDRS = 0
   Return   
'----------------------------------------------------------------
LCD_Clear:
    DelayMS 2
   LCD_Data = $01
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 100
   LCDEN = 0
   Return   
'----------------------------------------------------------------
LCD_On:
    DelayMS 2
    LCD_Data = $2C
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return   
'----------------------------------------------------------------
two_line:
    DelayMS 2
   LCD_Data = $28
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
'----------------------------------------------------------------
cursor_inc:
    DelayMS 2
   LCD_Data = $46
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
'----------------------------------------------------------------
SET_line1:
    DelayMS 2
   LCD_Data = $10
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
'----------------------------------------------------------------
SET_line2:
    DelayMS 2
   LCD_Data = $0C
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return         
----------------------------------------------------------------
show_cursor:
    DelayMS 2
   LCD_Data = $0E
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
----------------------------------------------------------------
cur_left:
    DelayMS 2
   LCD_Data = $11
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return      
----------------------------------------------------------------
cur_right:
    DelayMS 2
   LCD_Data = $12
   GoSub   LCD_Send
   LCDRS = 0
   LCDEN = 1 
   DelayMS 1
   LCDEN = 0
   Return   
'----------------------------------------------------------------
LCD_Send:
    PORTC = LCD_Data                
    Return   
'----------------------------------------------------------------
LCD_RefFull:
    GoSub LCD_Ref1
    GoSub LCD_Ref2    
    Return      
'----------------------------------------------------------------
LCD_Ref1:
    GoSub SET_line1
    DelayMS 2
    For j = 0 To 8
        LCD_Data = LCDDATA1[j]
        If j = TusCnt Then LCD_Data = "_"
        '-/-
        GoSub   LCD_Send
       LCDRS = 1
       LCDEN = 1 
       DelayMS 1   
       LCDEN = 0
       LCDRS = 0      
      DelayMS 1
    Next
    Return
'----------------------------------------------------------------
LCD_Ref2:
    GoSub SET_line2
    DelayMS 2
    For j = 0 To 8
        LCD_Data = LCDDATA2[j]
        GoSub   LCD_Send
       LCDRS = 1
       LCDEN = 1 
       DelayMS 1   
       LCDEN = 0
       LCDRS = 0      
      DelayMS 1
    Next
    Return   
''----------------------------------------------------------------
'USART_INIT:
'    Set TXEN       ' Enable transmit
'    Set SPEN       ' Enable Serial Port
'    Set CREN       ' Enable continuous reception
'    Clear RCIF     ' Clear RCIF Interrupt Flag
'    Set RCIE       ' Set RCIE Interrupt Enable
'    Return        
'----------------------------------------------------------------
'----------------------------------------------------------------
'----------------------------------------------------------------    
    End   


Ben C bilmem iz bilmem  :) yardımcı olmaya calıstım yanlısım varsa dıye hangı derleyıcı parametre vs sonradan ekledım onu artık lazım olan kısı bılecek.
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

KAZIMUGUR

Bilseydi basic de yazılmış kodları Cööö diye sormazdı. :o
Hani proton kurulu olsa ben yardım edeyim diyecemde işteee...

ferit06

#10

dosyayı protonda derledim ancak hatalar var.
dosya ve hatalar;

http://www.upload.gen.tr/d.php/www/5z8pf3d7/ttt.rar.html

dosyadaki LCD tanımlamalar,ı kullanılan devre ve kullanılan lcd nedir bilmediğim için kendimce değiştirdim. diğer hatalar düzletildi.

http://www.upload.gen.tr/d.php/www/4nurtosq/dosya.rar.html

Tagli

crazy_229, sen ilgili derleyiciyi bulup bilgisayarına kursan işler daha kolay olmaz mı? Hem zaman kazanırsın, hem de daha kolay yardım alırsın.
Gökçe Tağlıoğlu

crazy_229

Alıntı yapılan: Tagli - 06 Ocak 2011, 19:51:55
crazy_229, sen ilgili derleyiciyi bulup bilgisayarına kursan işler daha kolay olmaz mı? Hem zaman kazanırsın, hem de daha kolay yardım alırsın.

Haklısın kardeşim pic işine yeni girdiğim için fazla bilgim yok..
Hangi programlar bana yardımcı olur Asm,C,PicBasic vs. derleyici converter to hex vs.

sigmoid

İlk önce hangi dil ile program yazacağına karar vermelisin. Ondan sonra ilgili derleyiciyi indirebilirsin.

Assembly ile başlarsan PIC'e tam hakimiyetin olur. Ama büyük projeler çıkarmak zulümdür. Ondan sonrada C öğrenebilirsin.

crazy_229

Alıntı yapılan: abdullaho - 08 Ocak 2011, 16:02:26
İlk önce hangi dil ile program yazacağına karar vermelisin. Ondan sonra ilgili derleyiciyi indirebilirsin.

Assembly ile başlarsan PIC'e tam hakimiyetin olur. Ama büyük projeler çıkarmak zulümdür. Ondan sonrada C öğrenebilirsin.

Ete hocanın picbasic derslerine bakmaktayım inş. bakalım prog. yazmayı öğrenebilecekmiyiz