Device 16F628A
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
All_Digital true
TRISA = %0000000
PORTA = %0000000
TRISB = %0000000
PORTB = %0000000
Symbol toetsen = PORTA.1
Symbol luidspreker = PORTA.2
Symbol servicemenu = PORTA.3
Symbol toets1 = 31
Symbol toets2 = 94
Symbol toets3 = 159
Symbol toets4 = 228
Dim waarde As Dword
Dim datarecive As Byte
Dim datatransmit As Byte
GoTo main
TRANSMIT:
RECIVE:
SERVICEMENULUS:
Print At 1,1, "Welkom in het"
Print At 2,1, "servicemenu van"
DelayMS 1000
Cls
Print At 1,1, "877bot, bent u"
Print At 2,1, "perongeluk"
DelayMS 1000
Cls
Print At 1,1, "gekomen? Gelieve"
Print At 2,1, "dan te rebooten"
DelayMS 1000
Cls
GoSub verdergaan:
verdergaan:
Print At 1,1, "Druk op een toets"
Print At 2,1, "om verder te gaan"
Cls
If servicemenu = 0 Or toetsen = 0 Then
Print At 1,1, "Wat wilt u gaan"
Print At 2,1, "doen?"
DelayMS 1000
Cls
Print At 1,1, "1) Waarde op bus"
Print At 2,1, "zetten."
DelayMS 1000
Cls
Print At 1,1, "2) Verbinding maken"
Print At 2,1, "met andere printen"
DelayMS 1000
Cls
Print At 1,1, "Druk nu op de toets"
Print At 2,1, "naar keuze"
Cls
While toetsen = 1
Select toetsen
Case < toets1
While 1=1
Clear datatransmit
GoSub inlezen
Select toetsen
Case < toets1
datatransmit = datatransmit +1
Case < toets2
datatransmit = datatransmit +5
Case < toets3
datatransmit = datatransmit +10
Case < toets4
datatransmit = datatransmit +50
EndSelect
Cls
Print At 1,1, Dec datatransmit
If servicemenu = 0 Then GoSub TRANSMIT
Wend
Case <toets2
Print At 1,1, "Kies met welke"
Print At 2,1, "module u wilt"
DelayMS 1000
Cls
Print At 1,1, "verbinden"
DelayMS 1000
Cls
Print At 1,1, "1) Hoofdprint"
Print At 2,1, "2) Ab"
DelayMS 1000
Cls
Print At 1,1, "3) lichten"
Print At 2,1, "4) voeding"
While 1=1
GoSub inlezen
Select waarde
Case > 31
datatransmit = 23
GoSub TRANSMIT
GoSub RECIVE
If datarecive = 27 Then
Print At 1,1, "Verbinden met:"
Print At 2,1, "hoofdprint gelukt!"
DelayMS 1000
Print At 1,1, "Druk op de toets"
Print At 2,1, "om terug te gaan"
While 1=1
If servicemenu = 0 Then GoSub verdergaan
Wend
ElseIf datarecive = 28 Then
Cls
datatransmit = 17
GoSub TRANSMIT
Print At 1,1, "Verbinden met:"
Print At 2,1, "hoofdprint mislukt!"
Else
Cls
datatransmit = 17
GoSub TRANSMIT
Print At 1,1, "Er lijkt iets fout"
Print At 2,1, "zijn te gaan"
DelayMS 1000
GoSub verdergaan
EndIf
Case toets2
datatransmit = 24
GoSub TRANSMIT
GoSub RECIVE
If datarecive = 29 Then
Cls
Print At 1,1, "Verbinden met: ab"
Print At 2,1, "is gelukt!"
DelayMS 1000
Print At 1,1, "Druk op de toets"
Print At 2,1, "om terug te gaan"
While 1=1
If servicemenu = 0 Then GoSub verdergaan
Wend
ElseIf datarecive = 28 Then
Cls
datatransmit = 17
GoSub TRANSMIT
Print At 1,1, "Verbinden met: ab "
Print At 2,1, "is mislukt!"
Else
Cls
datatransmit = 17
GoSub TRANSMIT
Print At 1,1, "Er lijkt iets fout"
Print At 2,1, "zijn te gaan"
DelayMS 1000
GoSub verdergaan
EndIf
Case < toets3
datatransmit = 25
GoSub TRANSMIT
GoSub RECIVE
If datarecive = toets1 Then
Cls
Print At 1,1, "Verbinden met:"
Print At 2,1, "lichten is gelukt!"
DelayMS 1000
Print At 1,1, "Druk op de toets"
Print At 2,1, "om terug te gaan"
While 1=1
If servicemenu = 0 Then GoSub verdergaan
Wend
ElseIf datarecive = 32 Then
Cls
datatransmit = 17
GoSub TRANSMIT
Print At 1,1, "Verbinden met:"
Print At 2,1, "lichetn is mislukt!"
Else
Cls
datatransmit = 17
GoSub TRANSMIT
Print At 1,1, "Er lijkt iets fout"
Print At 2,1, "zijn te gaan"
DelayMS 1000
GoSub verdergaan
EndIf
Case > toets4
datatransmit = 25
GoSub TRANSMIT
GoSub RECIVE
If datarecive = 33 Then
Cls
Print At 1,1, "Verbinden met:"
Print At 2,1, "hoofdprint gelukt!"
DelayMS 1000
Print At 1,1, "Druk op de toets"
Print At 2,1, "om terug te gaan"
While 1=1
If servicemenu = 0 Then GoSub verdergaan
Wend
ElseIf datarecive = 34 Then
Cls
datatransmit = 17
GoSub TRANSMIT
Print At 1,1, "Verbinden met:"
Print At 2,1, "hoofdprint mislukt!"
Else
Cls
datatransmit = 17
GoSub TRANSMIT
Print At 1,1, "Er lijkt iets fout"
Print At 2,1, "zijn te gaan"
DelayMS 1000
GoSub verdergaan
EndIf
EndSelect
Wend
EndSelect
Wend
Else GoSub verdergaan
EndIf
Return
waardeopbus:
inlezen:
High toetsen
DelayMS 1
waarde = RCIn toetsen, Low
Print Dec waarde, " "
Return
main:
If servicemenu = 0 Then GoSub SERVICEMENULUS
GoSub inlezen
Select waarde
Case < toets1
datatransmit = 3
Case < toets2
datatransmit = 1
Case < toets3
datatransmit = 2
Case < toets4
datatransmit = 4
EndSelect
GoSub TRANSMIT