regfile = "m16def.dat"
$crystal = 1000000
Config Kbd = Portd , Debounce = 30
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.3 , E = Portb.2
Dim A As Byte
Dim B As Byte
Dim Key As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Dim F As Byte
Cls
Cursor Off
Locate 2 , 1
Lcd "avrprojects.info"
E = 0
B = 0
Q:
Waitms 200
'B = 0
A = Getkbd()
If A > 15 Then
      Goto Q
   Else
    Key = Lookup(a , Dta)
    If Key <= 9 Then
        D = 0
        B = 10 * B
        B = B + Key
    If E = 0 Then C = B
    If E = 1 Then D = B
            Cls : Lcd B
      Elseif Key = 10 Then
            Cls
            F = 1
            E = 1
            B = 0
      Elseif Key = 11 Then
            Cls
            E = 1
            F = 2
            B = 0
      Elseif Key = 12 Then
            Cls
            E = 1
            F = 3
            B = 0
      Elseif Key = 15 Then
            Cls
            E = 1
            F = 4
            B = 0
      Elseif Key = 13 Then
            Cls
            E = 0
            B = 0
      Elseif Key = 14 Then
          If E = 1 Then
               Cls
             Select Case F
               Case 1 :
                  B = C / D
               Case 2:
                  B = C * D
               Case 3:
                  B = C - D
               Case 4:
                  B = C + D
            End Select
          Lcd B
       End If
     End If
 End If
Locate 2 , 1
Lcd "avrprojects.info"
 Goto Q
End
Dta:
Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15