einfache Jeti-Sensor in Bascom

Svens Turbinenseiten  

Svens Bastelstube  
  Jeti-Sensoren
    Jeti-Mrpm
    Bascom 2313
    Bascom M8
    Fadec2Jeti
    Jet2Jeti
  Nixie-Uhr
  BLMC
  Colorado
  YADRO
  Fräsen

M8 Jetisensor in Bascom

'Definition des Prozessortyps $regfile = "m8def.DAT" 'Definition Takt $crystal = 8000000 'Definition der Portrichtungen 'config Portb = Output Declare Sub Jeti_out Declare Sub Jeti_in Declare Sub Usart_cmd(byval A2 As Byte) Declare Sub Usart_txt(byval A1 As Byte) 'Definition von Variablen Dim Text(32) As Byte Dim Taster As Byte Dim Temp As Word Dim Z As Byte Dim Y As Word Dim X As Byte Dim Menue As Byte Dim Lipo As Word Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Osccal = $68 Main: Call Jeti_out Call Usart_cmd($fe) For Z = 1 To 32 Call Usart_txt(text(z)) Next Call Usart_cmd($ff) Call Jeti_in ' Userprogramm Y = Y + 1 If Y > 1020 Then Y = 0 End If Temp = Y / 4 ' Menüs Select Case Menue Case 0: If Taster.4 = 0 Then If Taster.0 = 1 Then Menue = 1 End If Z = Temp / 100 If Z = 0 Then Text(1) = " " Else Text(1) = Z + 48 End If X = Z * 100 Temp = Temp - X Z = Temp / 10 Text(2) = Z + 48 Text(3) = "." X = Z * 10 Temp = Temp - X Text(4) = Temp + 48 Text(5) = "V" Text(6) = " " Text(7) = "H" Text(8) = "a" Text(9) = "l" Text(10) = "l" Text(11) = "o" Text(12) = " " Text(13) = "R" Text(14) = "a" Text(15) = "l" Text(16) = "f" Text(17) = "T" Text(18) = "a" Text(19) = "s" Text(20) = "t" Text(21) = "e " Text(22) = "r" Text(23) = " " If Taster.7 = 1 Then Text(24) = "#" Else Text(24) = "-" End If If Taster.6 = 1 Then Text(25) = "#" Else Text(25) = "-" End If If Taster.5 = 1 Then Text(26) = "#" Else Text(26) = "-" End If If Taster.4 = 1 Then Text(27) = "#" Else Text(27) = "-" End If Text(28) = "+" If Taster.3 = 1 Then Text(29) = "#" Else Text(29) = "-" End If If Taster.2 = 1 Then Text(30) = "#" Else Text(30) = "-" End If If Taster.1 = 1 Then Text(31) = "#" Else Text(31) = "-" End If If Taster.0 = 1 Then Text(32) = "#" Else Text(32) = "-" End If Case 1: If Taster.4 = 0 Then If Taster.0 = 1 Then Menue = 2 End If If Taster.7 = 0 Then If Taster.3 = 1 Then Menue = 0 End If Text(1) = "M" Text(2) = "e" Text(3) = "n" Text(4) = "u" Text(5) = "e" Text(6) = " " Text(7) = "2" Text(8) = " " Text(9) = " " Text(10) = " " Text(11) = " " Z = Temp / 100 If Z = 0 Then Text(12) = " " Else Text(12) = Z + 48 End If X = Z * 100 Temp = Temp - X Z = Temp / 10 Text(13) = Z + 48 Text(14) = "." X = Z * 10 Temp = Temp - X Text(15) = Temp + 48 Text(16) = "V" Temp = Y / 4 If Temp < 204 Then Temp = 0 Else Temp = Temp - 204 End If Temp = Temp * 17 Temp = Temp / 51 For Z = 1 To 16 Step 1 If Z <= Temp Then Text(16 + Z) = "#" Else Text(16 + Z) = "-" End If Next Z Case 2: If Taster.4 = 0 Then If Taster.0 = 1 Then Menue = 0 End If If Taster.7 = 0 Then If Taster.3 = 1 Then Menue = 1 End If Text(1) = "M" Text(2) = "e" Text(3) = "n" Text(4) = "u" Text(5) = "e" Text(6) = " " Text(7) = "3" Text(8) = " " Text(9) = " " Text(10) = " " Text(11) = " " Lipo = Getadc(0) Temp = Lipo / 4 Z = Temp / 100 If Z = 0 Then Text(12) = " " Else Text(12) = Z + 48 End If X = Z * 100 Temp = Temp - X Z = Temp / 10 Text(13) = Z + 48 Text(14) = "." X = Z * 10 Temp = Temp - X Text(15) = Temp + 48 Text(16) = "V" Temp = Lipo / 60 Temp = Temp + 1 For Z = 1 To 16 Step 1 If Z <= Temp Then Text(16 + Z) = "#" Else Text(16 + Z) = "-" End If Next Z Case Else Menue = 0 End Select Goto Main Sub Jeti_out 'auf senden schalten 9600,9,O,1 senden Usr = 0 Ucsrb = 12 Ucsrc = 190 Ubrrl = 51 Config Portd.1 = Output End Sub Sub Jeti_in ' USART 9600,9,O,1 empfangen Waitms 3 Ucsrb = 20 Config Portd.1 = Input Portd.1 = 1 Waitms 6 Temp = Udr Taster = Taster Xor Temp Taster = Taster / 16 Temp = Temp And 240 Taster = Taster + Temp End Sub Sub Usart_cmd(byval A2 As Byte) ' sendet Textzeichen Do If Usr.udre = 1 Then Exit Do End If Loop Ucsrb = 12 Udr = A2 End Sub Sub Usart_txt(byval A1 As Byte) ' sendet Steuerzeichen Do If Usr.udre = 1 Then Exit Do End If Loop Ucsrb = 13 Udr = A1 End Sub


Fragen könnt ihr hier los werden.