mein Projekt mit einem USB-HDI Interface für Windows wurde überarbeitet und ist erneut abgeschlossen. Ich habe einen PIC Microcontroller an den USB Port des PCs geschaltet um Steuerungsaufgaben zu erledigen. Das Ergebnis ist eine Interface mit 4 x In, 6 x Out, 1x AD Wandler, 1 x IR Empfänger (RC-5 = Funktioniert mit einer Philips Fernbedienung) und einen Temperaturmesser (Genauigkeit von -50 bis 125 Grad, 0,5 Grad genau). Die Stromversorgung erfolgt über den USB Port. Der Bauteileaufwand ist gering, der PIC 18F2550 kostet z.b. 7.70 Euro bei www.reichelt.de. Das Gesamtprojekt liegt circa bei 20 Euro.
Grafik: Stromlaufplan
Der erste Code beinhaltet die Steuerungsoberfläche für Windows.
Der zweite Code beinhaltet den Hexcode (Betriebssystem) für den Microcontroller.
Grafik: Einstellung für das PIC Programmiergerät
Alle Angaben sind natürlich ohne Gewähr!
P.S: Man kann alle Funktionen auch einzeln verwenden. D.h nur die Eingänge oder Ausgänge etc. Die Bauteil für die anderen Funktionen läßt man einfach weg...
Gruß
MPZ
Stromlaufplan
Steuerungsoberfläche
Code: Alles auswählen
; "MPZ PIC IO INTERFACE.pb"
;
; PowerBasic Example um ein PIC 18F2550 über USB als I/O Interface anzusteuern.
; Der PIC 18F2550 besitzt 24x I/O´s und 10x 10bit AD´s
; Dieses Programm erlaubt die Eingabe von 4x digitalen Eingängen
; 6x digitalen Ausgängen
; 1x AD Wandlung mit 10 bit
; 1x Temperaturmessung von -50 - +125 ºC in 0.5 ºC
; 1x IR Eingang nach dem RC-5 Standard (IR Philips)
;
; PowerBasic Example to use a PIC 18F2550 with USB as I/O Interface.
; The PIC 18F2550 has 24x I/O´s and 10x 10bit AD´s
; This Programm works with 4x digital Inputs
; 6x digital Outputs
; 1x AD conversion with 10 bit
; 1x temperature measurement from -50 - +125 ºC in 0.5 ºC
; 1x IR Input with RC-5 Standard (IR Philips)
;
; Version 1.01 by MPZ Dez.2006
; for PB 4.02
;
; benötigt wird die mcHID.dll von der Firma Mecanique. Die mcHID Library ist
; Bestandteil der EasyHID Software:
; You need the mcHID.dll from the company Mecanique. The mcHID Library is included
; in the EasyHID Software:
; http://www.mecanique.co.uk/software/EasyHID.zip
;
; Ein direkter Download der DLL ist über den folgenden Link möglich
; Direct downloadlink
; http://www.docpro.com.br/arquivos/mcHID.zip
;
; Definierte Übergabeparameter
;
; Wert Übergabeparameter Funktion
; 1 no Reset ; PIC wird resetet und gibt alle Daten neu aus
; reserviert
; 10 x Out PortA,(x) ; Ausgabe von PortA
; 11 x Out PortB,(x) ; Ausgabe von PortB
; 12 x Out PortC,(x) ; Ausgabe von PortC
; 13 x Out PortD,(x) ; Ausgabe von PortD
; reserviert
; 14 x In PortA,(x) ; Eingabe von PortA
; 15 x In PortB,(x) ; Eingabe von PortB
; 16 x In PortC,(x) ; Eingabe von PortC
; 17 x In PortD,(x) ; Eingabe von PortD
; reserviert
; 20 x,y AD1(x*256+y) ; AD Wandlung mit 10 bit AD Wandler 1
; 21 x,y AD2(x*256+y) ; AD Wandlung mit 10 bit AD Wandler 2
; 20 bis 30...
; 30 x,y AD10(x*256+y) ; AD Wandlung mit 10 bit AD Wandler 10
; reserviert
; 32 x,y,z Temp(x,y,z) ; Temperaturwert x = +/-, y = Grad, z = .5 in Grad Celsius
; reserviert
; 40 x,y,z IR-5(x,y) ; Infrarot Eingang x = Gerät, y = Befehl, z = Wechsel
; zwischen 1 und 2 bei neuem Tastendruck, oder Wert bleibt konstant
;
Enumeration
#Window_0
#Text_Status
#Text_DIGI_IN
#Text_Temperatur
#Text_Temperatur_IN
#Text_IR_Status
#Text_IR_Status_IN
#Listview_INPUT
#Text_AN
#Analog_AD
#Text_OUT
#Button_OUT1
#Button_OUT2
#Button_OUT3
#Button_OUT4
#Button_OUT5
#Button_OUT6
EndEnumeration
; Global
;{/ Globale Variablen
Global pVendorID.l, pProductID.l, DeviceHandle.l, ProductName.s
Global USB_HID.l,DIGITAL_OUT.b
Global Dim BufferIn.b(8),Dim BufferOut.b(8)
#WM_APP = 32768
#WM_HID_EVENT = #WM_APP + 200
#NOTIFY_PLUGGED = 1
#NOTIFY_UNPLUGGED = 2
#NOTIFY_CHANGED = 3
#NOTIFY_READ = 4
#VendorID = 6017 ; Vendor ID "MPZ PIC I/O"
#ProductID = 2000 ; ProductID "MPZ PIC I/O"
ProductName.s = Space(256)
;BufferIn.b(8), BufferOut (8)
;Buffer (0) = Controllregister
;Buffer (1) = Outregister x
;Buffer (2) = Outregister y
;Buffer (3) = Outregister z
;Buffer (4) = free for Future functions
;}
Procedure Open_Window_0()
If OpenWindow(#Window_0, 310, 185, 391, 272, "MPZ PIC I/O Interface", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered )
If CreateGadgetList(WindowID(#Window_0))
TextGadget(#Text_Status, 135, 10, 120, 20, "No Device", #PB_Text_Center | #PB_Text_Border)
TextGadget(#Text_DIGI_IN, 30, 40, 330, 12, "DIGITAL IN 1 - IN 4 / TIME", #PB_Text_Center)
TextGadget(#Text_Temperatur, 10, 220, 120, 20, "Temperatur in °C", #PB_Text_Center)
TextGadget(#Text_Temperatur_In, 50, 240, 40, 20, "no", #PB_Text_Center | #PB_Text_Border)
TextGadget(#Text_IR_Status, 220, 220, 120, 20, "IR Befehl", #PB_Text_Center)
TextGadget(#Text_IR_Status_In, 240, 240, 80, 20, "no + no", #PB_Text_Center | #PB_Text_Border)
ListViewGadget(#Listview_INPUT, 30, 56, 330, 50)
TextGadget(#Text_AN, 30, 110, 330, 12, "ANALOG IN ", #PB_Text_Center)
ProgressBarGadget(#Analog_AD, 30, 130, 330, 20, 0, 1024, #PB_ProgressBar_Smooth)
TextGadget(#Text_OUT, 20, 160, 350, 20, "DIGITAL OUT 1 - OUT6", #PB_Text_Center)
ButtonGadget(#Button_OUT1, 20, 180, 50, 30, "OUT 1", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT2, 80, 180, 50, 30, "OUT 2", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT3, 140, 180, 50, 30, "OUT 3", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT4, 200, 180, 50, 30, "OUT 4", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT5, 260, 180, 50, 30, "OUT 5", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT6, 320, 180, 50, 30, "OUT 6", #PB_Button_Default | #PB_Button_Toggle)
EndIf
ProcedureReturn = 1
EndIf
EndProcedure
;{/ DLL LIB
Prototype hidConnect (pHostWin.l); As Boolean
Prototype hidDisconnect (); As Boolean
Prototype hidRead (pHandle.l, pData.b); As Boolean
Prototype hidWrite (pHandle.l, pData.b); As Boolean
Prototype hidReadEx (pVendorID.l, pProductID.l, pData.b); As Boolean
Prototype hidWriteEx (pVendorID.l, pProductID.l, ByRef.b); As Boolean
Prototype hidGetVendorName (pHandle.l, pText.s, pLen.l); As Long
Prototype hidGetProductName (pHandle.l, pText.s, pLen.l); As Long
Prototype hidGetSerialNumber (pHandle.l, pText.s, pLen.l); As Long
Prototype hidGetVendorID (pHandle.l); As Long
Prototype hidGetProductID (pHandle.l); As Long
Prototype hidGetVersion (pHandle.l); As Long
Prototype hidGetInputReportLength (pHandle.l); As Long
Prototype hidGetOutputReportLength (pHandle.l); As Long
Prototype hidGetHandle (pVendoID.l, pProductID.l); As Long
Prototype hidGetItem (pIndex.l); As Long
Prototype hidGetItemCount (); As Long
Prototype hidSetReadNotify (pHandle.l, pValue.b);
Prototype hidIsReadNotifyEnabled (pHandle.l); As Boolean
Prototype hidIsAvailable (pVendorID.l, pProductID.l); As Boolean
Define mcHID_DLL.l = OpenLibrary(#PB_Any, "mcHID.dll")
If mcHID_DLL
Global hidConnect.hidConnect = GetFunction(mcHID_dll,"Connect") ; (ByVal pHostWin As Long) As Boolean
Global hidDisconnect.hidDisconnect = GetFunction(mcHID_dll,"Disconnect"); () As Boolean
Global hidRead.hidRead = GetFunction(mcHID_dll,"Read"); (ByVal pHandle As Long, ByRef pData As Byte) As Boolean
Global hidWrite.hidWrite = GetFunction(mcHID_dll,"Write"); (ByVal pHandle As Long, ByRef pData As Byte) As Boolean
Global hidReadEx.hidReadEx = GetFunction(mcHID_dll,"ReadEx"); (ByVal pVendorID As Long, ByVal pProductID As Long, ByRef pData As Byte) As Boolean
Global hidWriteEx.hidWriteEx = GetFunction(mcHID_dll,"WriteEx"); (ByVal pVendorID As Long, ByVal pProductID As Long, ByRef pData As Byte) As Boolean
Global hidGetVendorName.hidGetVendorName = GetFunction(mcHID_dll,"GetVendorName"); (ByVal pHandle As Long, ByVal pText As String, ByVal pLen As Long) As Long
Global hidGetProductName.hidGetProductName = GetFunction(mcHID_dll,"GetProductName"); (ByVal pHandle As Long, ByVal pText As String, ByVal pLen As Long) As Long
Global hidGetSerialNumber.hidGetSerialNumber = GetFunction(mcHID_dll,"GetSerialNumber"); (ByVal pHandle As Long, ByVal pText As String, ByVal pLen As Long) As Long
Global hidGetVendorID.hidGetVendorID = GetFunction(mcHID_dll,"GetVendorID"); (ByVal pHandle As Long) As Long
Global hidGetProductid.hidGetProductid = GetFunction(mcHID_dll,"GetProductID"); (ByVal pHandle As Long) As Long
Global hidGetVersion.hidGetVersion = GetFunction(mcHID_dll,"GetVersion"); (ByVal pHandle As Long) As Long
Global hidGetInputReportLength.hidGetInputReportLength = GetFunction(mcHID_dll,"GetInputReportLength"); (ByVal pHandle As Long) As Long
Global hidGetOutputReportLength.hidGetOutputReportLength = GetFunction(mcHID_dll,"GetOutputReportLength"); (ByVal pHandle As Long) As Long
Global hidGetHandle.hidGetHandle = GetFunction(mcHID_dll,"GetHandle"); (ByVal pVendoID As Long, ByVal pProductID As Long) As Long
Global hidGetItem.hidGetItem = GetFunction(mcHID_dll,"GetItem"); (ByVal pIndex As Long) As Long
Global hidGetItemCount.hidGetItemCount = GetFunction(mcHID_dll,"GetItemCount"); (ByVal pIndex As Long) As Long
Global hidSetReadNotify.hidSetReadNotify = GetFunction(mcHID_dll,"SetReadNotify"); ByVal pHandle As Long, ByVal pValue As Boolean)
Global hidIsReadNotifyEnabled.hidIsReadNotifyEnabled = GetFunction(mcHID_dll,"IsReadNotifyEnabled"); (ByVal pHandle As Long) As Boolean
Global hidIsAvailable.hidIsAvailable = GetFunction(mcHID_dll,"IsAvailable"); (ByVal pVendorID As Long, ByVal pProductID As Long) As Boolean
Else
MessageRequester("Fehlermeldung", "Das Programm konnte die mcHID.dll Datei nicht öffnen", #PB_MessageRequester_Ok)
End
EndIf
;}
ProcedureDLL mcHID_Free(); DLL FREE
If mcHID_DLL
CloseLibrary(#PB_Any)
EndIf
XLTable_DLL = 0
EndProcedure
;- Window Callback
Procedure WinProc(hWnd,Msg,wParam,lParam)
result = #PB_ProcessPureBasicEvents
If Msg = #WM_HID_EVENT
Select wParam
; HID device has been plugged message...
Case #NOTIFY_PLUGGED
;HID device has been plugged
DeviceHandle = hidGetHandle(#VendorID, #ProductID)
If DeviceHandle
hidGetProductName (DeviceHandle.l,ProductName,256)
SetGadgetText(#Text_Status, ProductName)
; Reset für PIC eingefügt
BufferOut(0) = 0
BufferOut(1) = 1
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
EndIf
Case #NOTIFY_UNPLUGGED
;HID device has unplugged
DeviceHandle = hidGetHandle(#VendorID, #ProductID)
If Not DeviceHandle
SetGadgetText(#Text_Status, "No Device")
EndIf
Case #NOTIFY_CHANGED
;HID device has been changed
If DeviceHandle
hidSetReadNotify (DeviceHandle, #True) ;read event...
EndIf
;DeviceHandle = hidGetHandle(#VendorID, #ProductID)
;hidSetReadNotify (DeviceHandle, #True) ! IMPORTANT ! Read works only With this flag
Case #NOTIFY_READ
; READ works only if the hidSetReadNotify flag is set
If hidRead(DeviceHandle, @BufferIn(0))
;AddGadgetItem(#Listview_INPUT,0, "Read: "+Str(BufferIn(0)) +"/"+ Str(BufferIn(1))+"/"+Str(BufferIn(2))+"/"+Str(BufferIn(3))+"/"+Str(BufferIn(4))+"/"+Str(BufferIn(5))+"/"+Str(BufferIn(6))+"/"+Str(BufferIn(7))+"/"+Str(BufferIn(8)))
If BufferIn(1) = 16 ; In PortC,(x) ; Eingabe von PortC
If BufferIn(2) = 1
AddGadgetItem(#Listview_INPUT,0, "Button 1 at "+FormatDate("%hh:%ii:%ss", Date()))
ElseIf BufferIn(2) = 2
AddGadgetItem(#Listview_INPUT,0, "Button 2 at "+FormatDate("%hh:%ii:%ss", Date()))
ElseIf BufferIn(2) = 4
AddGadgetItem(#Listview_INPUT,0, "Button 3 at "+FormatDate("%hh:%ii:%ss", Date()))
ElseIf BufferIn(2) = 8
AddGadgetItem(#Listview_INPUT,0, "Button 4 at "+FormatDate("%hh:%ii:%ss", Date()))
EndIf
ElseIf BufferIn(1) = 20 ; AD1(x*256+y) ; AD Wandlung mit 10 bit AD Wandler 1
AD_Wert = BufferIn(2)*256
If BufferIn(3) > 0
AD_Wert = AD_Wert + BufferIn(3)
Else
AD_Wert = AD_Wert + 256 + BufferIn(3)
EndIf
SetGadgetState (#Analog_AD,AD_Wert)
ElseIf BufferIn(1) = 32 ; Temp(x,y,z) ; Temperaturwert
If BufferIn(2) = 1
Temperatur$ = "+" + Str (BufferIn(3)) + "." + Str (BufferIn(4))
Else
Temperatur$ = "-" + Str (BufferIn(3)) + "." + Str (BufferIn(4))
EndIf
SetGadgetText(#Text_Temperatur_IN, Temperatur$)
ElseIf BufferIn(1) = 40 ; IR-5(x,y) ; Infrarot Eingang x = Gerät, y = Befehl
SetGadgetText(#Text_IR_Status_IN, Str(BufferIn(2)) + " + "+Str(BufferIn(3)))
AddGadgetItem(#Listview_INPUT,0, "IR = "+Str(BufferIn(2))+" + "+Str(BufferIn(3))+" + "+Str(BufferIn(4)))
EndIf
Else
AddGadgetItem(#Listview_INPUT,0, "Read Error!")
EndIf
EndSelect
EndIf
ProcedureReturn result
EndProcedure
;{ Mainunit
If Open_Window_0()
hidconnect (WindowID(#Window_0))
SetWindowCallback(@WinProc())
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_OUT1
If GetGadgetState(#Button_OUT1)
DIGITAL_OUTA = DIGITAL_OUTA | %000001
Else
DIGITAL_OUTA = DIGITAL_OUTA & %111110
EndIf
BufferOut(0) = 0
BufferOut(1) = 10 ; Out PortA,(x) ; Ausgabe von PortA
BufferOut(2) = DIGITAL_OUTA
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
Case #Button_OUT2
If GetGadgetState(#Button_OUT2)
DIGITAL_OUTC = DIGITAL_OUTC | %000010
Else
DIGITAL_OUTC = DIGITAL_OUTC & %111101
EndIf
BufferOut(0) = 0
BufferOut(1) = 12 ; Out PortC,(x) ; Ausgabe von PortC
BufferOut(2) = DIGITAL_OUTC
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
Case #Button_OUT3
If GetGadgetState(#Button_OUT3)
DIGITAL_OUTA = DIGITAL_OUTA | %000100
Else
DIGITAL_OUTA = DIGITAL_OUTA & %111011
EndIf
BufferOut(0) = 0
BufferOut(1) = 10 ; Out PortA,(x) ; Ausgabe von PortA
BufferOut(2) = DIGITAL_OUTA
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
Case #Button_OUT4
If GetGadgetState(#Button_OUT4)
DIGITAL_OUTA = DIGITAL_OUTA | %001000
Else
DIGITAL_OUTA = DIGITAL_OUTA & %110111
EndIf
BufferOut(0) = 0
BufferOut(1) = 10 ; Out PortA,(x) ; Ausgabe von PortA
BufferOut(2) = DIGITAL_OUTA
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
Case #Button_OUT5
If GetGadgetState(#Button_OUT5)
DIGITAL_OUTC = DIGITAL_OUTC | %010000
Else
DIGITAL_OUTC = DIGITAL_OUTC & %101111
EndIf
BufferOut(0) = 0
BufferOut(1) = 12 ; Out PortC,(x) ; Ausgabe von PortC
BufferOut(2) = DIGITAL_OUTC
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Button_OUT6
If GetGadgetState(#Button_OUT6)
DIGITAL_OUTA = DIGITAL_OUTA | %100000
Else
DIGITAL_OUTA = DIGITAL_OUTA & %011111
EndIf
BufferOut(0) = 0
BufferOut(1) = 10 ; Out PortA,(x) ; Ausgabe von PortA
BufferOut(2) = DIGITAL_OUTA
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
hidDisconnect ()
mcHID_Free()
EndIf
End
;}
;
Code: Alles auswählen
;PIC_IO.HEX File wird erstellt
;-----------------------------
If CreateFile(1, "PIC_IO.HEX" )
Restore StringData
Repeat
Read Daten.s
If Daten.s = "End" : Break : EndIf
WriteStringN(1,Daten.s)
ForEver
CloseFile (1)
EndIf
DataSection
StringData:
Data.s ":100000003FEF07F0FFFFFFFFE9CF01F0EACF02F07B"
Data.s ":10001000E1CF03F0E2CF04F0D9CF05F0DACF06F05C"
Data.s ":10002000D0EC04F001C0E9FF02C0EAFF03C0E1FF29"
Data.s ":1000300004C0E2FF05C0D9FF06C0DAFF11000401C9"
Data.s ":100040000401376B1E0E716E0401400E096F5B0ECA"
Data.s ":100050000A6F040E0B6F880E086F9B0E0E6F040E56"
Data.s ":100060000F6F0D6B400E0C6F1200040104012A6B20"
Data.s ":1000700014EE9BF024EE18F0080E2A5D04E2E6CFA1"
Data.s ":10008000DEFF2A2BF9D7080E3E6F3F6B12000401EA"
Data.s ":1000900004012A6B14EE20F024EE18F0020E2A5D03"
Data.s ":1000A00004E2E6CFDEFF2A2BF9D7020E3E6F3F6B4C"
Data.s ":1000B00012000401800E040110634FD01351030895"
Data.s ":1000C0002FE0135102080EE01351010801E044D063"
Data.s ":1000D000010E396F520E3A6F140E3B6F120E3E6FC7"
Data.s ":1000E0003F6B3AD0010E396F450EE16E040EE26EA1"
Data.s ":1000F0001245E126000EE222E6CF3AF4E7CF3BF4C8"
Data.s ":10010000F86AF76A040E3A25F66E3B51F7220900A9"
Data.s ":10011000F5CF3EF409000A00F5CF3FF40A001CD0E9"
Data.s ":10012000010E396F020E126502D0030E126F490ED6"
Data.s ":10013000E16E040EE26E1245E126000EE222E6CFE9"
Data.s ":100140003AF4E7CF3BF43AC4F6FF3BC4F7FF0800AC"
Data.s ":10015000F5503E6F3F6B00D0348312000401010E56"
Data.s ":100160000401396F716A726A736A746A756A766AB1"
Data.s ":10017000776A786A796A7A6A7B6A7C6A7D6A7E6A5B"
Data.s ":100180007F6A326B336B12C431F4125103E1050EF6"
Data.s ":10019000306F04D0060E306F1FEC00F01200040127"
Data.s ":1001A0000401186B196B10511F0B020814E0105159"
Data.s ":1001B0001F0B01080CE010511F0B000801E02CD0B0"
Data.s ":1001C000010E0401396F34A101D0188325D0010E2E"
Data.s ":1001D0000401396F21D0010E0401396F14510F0B46"
Data.s ":1001E0000800F350296B000F286F040E29231451C7"
Data.s ":1001F000800B01E0010E0400F35028253C6F000E37"
Data.s ":1002000029213D6F3CC4E1FF3DC4E2FFE750040BF0"
Data.s ":1002100002E0010E186F00D0010E0401396309E1FC"
Data.s ":10022000180E3A6F040E3B6F3493020E3E6F3F6B15"
Data.s ":1002300000D012000401010E0401125D0CE1105106"
Data.s ":100240001F0B000808E1010E396F030E115D02E17A"
Data.s ":10025000348101D03491000E0401125D37E1105158"
Data.s ":100260001F0B020833E114510F0B00082FE0010EA1"
Data.s ":10027000396F14510F0B0800F350296B000F286FD2"
Data.s ":10028000040E29231451800B01E0010E0400F350E9"
Data.s ":1002900028253C6F000E29213D6F030E115D07E1FB"
Data.s ":1002A000840E3CC4E1FF3DC4E2FFE76E0FD014AF03"
Data.s ":1002B00007D0000E3CC4E1FF3DC4E2FFE76E06D06C"
Data.s ":1002C000880E3CC4E1FF3DC4E2FFE76E120004016A"
Data.s ":1002D000010E0401135D04E0030E135D10E01AD05B"
Data.s ":1002E000000E0401125D04E0010E125D07E012D061"
Data.s ":1002F000020E0401396F35EC00F00CD00BD0000E6B"
Data.s ":100300000401125D01E006D0020E0401396F47ECD2"
Data.s ":1003100000F000D0180E04013A6F040E3B6F3493C6"
Data.s ":1003200012000401020E0401135D04E0030E135DCC"
Data.s ":100330000EE01AD0000E0401125D01E015D0020E8D"
Data.s ":100340000401396F5B0E3C6F040E3D6F0DD0000E43"
Data.s ":100350000401125D01E008D0020E0401396F200E85"
Data.s ":100360003C6F040E3D6F00D012000401080E040122"
Data.s ":100370003E5D000E3F5905E23EC440F43FC441F4E7"
Data.s ":1003800004D0080E406F000E416F04930491415158"
Data.s ":10039000030B041340C405F440513E5F41513F5BE1"
Data.s ":1003A000180E3C6F040E3D6F34A31AD03AC4F6FF0A"
Data.s ":1003B0003BC4F7FFF86A3CC4E1FF3DC4E2FF04011F"
Data.s ":1003C0004051411105E1F6CF3AF4F7CF3BF41FD08D"
Data.s ":1003D0000900F5CFE6FF0900400701E24107EFD72A"
Data.s ":1003E0003AC4E1FF3BC4E2FF3CC4D9FF3DC4DAFF9D"
Data.s ":1003F00004014051411105E1E1CF3AF4E2CF3BF471"
Data.s ":1004000006D0E6CFDEFF400701E24107F1D7120038"
Data.s ":10041000040104011051600BE842E842E842E8425E"
Data.s ":10042000E84200085CE111510C0858E0115107083E"
Data.s ":1004300055E011510B0846E011510A0834E0115102"
Data.s ":1004400003082EE0115101082BE01151000825E0AE"
Data.s ":100450001151080816E01151090810E01151060861"
Data.s ":100460000AE01151050801E03AD0010E0401396F8C"
Data.s ":10047000040E306F34D059EC00F031D0AEEC00F007"
Data.s ":100480002ED0010E0401396F310E3A6F040E3A6F0F"
Data.s ":100490003493010E3E6F3F6B22D0CFEC00F01FD0A3"
Data.s ":1004A0001AEC01F01CD0010E0401396F14513A6F9F"
Data.s ":1004B0003B6B320E3A27040E3B233493010E3E6F02"
Data.s ":1004C0003F6B0DD0010E0401396FE26A320E142524"
Data.s ":1004D000E16E040EE22212C4E7FF01D000D0040155"
Data.s ":1004E00012000401040110511F0B010878E114519E"
Data.s ":1004F000000875E11151060801E02AD013512108C6"
Data.s ":1005000007E01351220812E0135123081DE01DD00B"
Data.s ":10051000020E0401396F010E316304D09A0E3A6F56"
Data.s ":10052000140E3B6F090E3E6F3F6B0FD0020E04019D"
Data.s ":10053000396F010E316307D0C80E3A6F140E3B6F4E"
Data.s ":100540002F0E3E6F3F6B01D000D00401348300D0EA"
Data.s ":1005500004011051600BE842E842E842E842E842F8"
Data.s ":1005600001083DE111510B0834E01151030825E069"
Data.s ":1005700011510A081CE0115102080DE0115109083F"
Data.s ":1005800007E01151010801E02AD067EC01F027D003"
Data.s ":1005900091EC01F024D0020E0401396F350E3A6F50"
Data.s ":1005A000040E3B6F3493010E3E6F3F6B18D0020E6A"
Data.s ":1005B0000401396F1351356F12D0020E0401396FE7"
Data.s ":1005C000360E3A6F040E3B6F3493010E3E6F3F6B55"
Data.s ":1005D00006D0020E0401396F1251366F00D00401AB"
Data.s ":1005E00012000401000E040139630AD0080E016FE5"
Data.s ":1005F000100E026F040E036F840E006F046F30D074"
Data.s ":10060000040110AF1ED004013E51165D3F51175931"
Data.s ":1006100004E216C43EF417C43FF4B5EC01F0010E39"
Data.s ":100620000401386F080E016F100E026F040E036F85"
Data.s ":10063000800E006F180E066F040E076FC80E046F51"
Data.s ":100640000FD0020E0401386F056BC80E046F080E40"
Data.s ":10065000016F180E026F040E036FC80E006F00D0FA"
Data.s ":100660006D9800D012000401030E04010015436FC1"
Data.s ":1006700001C442F442513E2743513F23180E3A6FC2"
Data.s ":10068000040E3B6F3AC4E1FF3BC4E2FF3CC4D9FF18"
Data.s ":100690003DC4DAFF04014251431105E1E1CF3AF4D0"
Data.s ":1006A000E2CF3BF406D0E6CFDEFF420701E243078C"
Data.s ":1006B000F1D712000401020E0401135D04E0030EE1"
Data.s ":1006C000135D17E020D0000E0401125D01E01BD085"
Data.s ":1006D00004012A6B14EE5BF024EE9BF0080E2A5DF9"
Data.s ":1006E00004E2E6CFDEFF2A2BF9D7080E3E6F3F6B00"
Data.s ":1006F0000AD0000E0401125D01E005D0020E0401D3"
Data.s ":100700003E6F3F6B00D012000401000E0401386FF1"
Data.s ":10071000080E016F100E026F040E036F880E006F3B"
Data.s ":10072000000E046F12000401000E0401386F000E69"
Data.s ":10073000396F3E6B3F6B08EC02F0000E0401396329"
Data.s ":1007400002D071EC02F0F1EC02F012000401020E92"
Data.s ":100750000401386311D033EC03F0020E0401396355"
Data.s ":1007600002D05AEC03F0040100BD03D0C80E006FA4"
Data.s ":1007700002D0880E006F03D084EC03F000D012008A"
Data.s ":100780000401040E0401306309D012C46EFF6E50E0"
Data.s ":1007900003E0050E306F02D0030E306F010E04012E"
Data.s ":1007A00038630BD0B5EC01F0040104BD03D0C80ED2"
Data.s ":1007B000046F02D0880E046F03D084EC03F000D0E5"
Data.s ":1007C000120004010401376B08BF1BD009512C65CE"
Data.s ":1007D00002D009C42CF4376B14EE5BF02DC4D9FFA2"
Data.s ":1007E0002EC4DAFF2C51375D04E2E6CFDEFF372B53"
Data.s ":1007F000F9D7400E096F400E0817087D880E0813C0"
Data.s ":1008000000D004013751120004016D92699468947C"
Data.s ":10081000120004016A6A686A9F0E6B6E3B0E696E75"
Data.s ":100820006E6A716A726A736A746A756A766A776ADE"
Data.s ":10083000786A796A7A6A7B6A7C6A7D6A7E6A7F6A8C"
Data.s ":10084000160E706E68A602D06896FCD76D9884EC80"
Data.s ":1008500003F004013491316B030E306F1200040178"
Data.s ":10086000698468986D8212000401689C120004017A"
Data.s ":1008700070A003D084EC03F07090689A1200040119"
Data.s ":100880006892120004017C0E6C1404012F6F000E9C"
Data.s ":100890002F6301D005D0040E2F6301D00ED010D0ED"
Data.s ":1008A000040100513C0BE842E8420D0803E193ECDF"
Data.s ":1008B00003F002D0A6EC03F003D0C0EC03F000D0AC"
Data.s ":1008C000120004017C0E6C1404012F6F080E2F63BC"
Data.s ":1008D00001D005D00C0E2F6301D00DD00DD057C420"
Data.s ":1008E0002DF458C42EF4080E04012C6FE1EC03F033"
Data.s ":1008F0000401446F01D000D01200E9CF51F4EACFD7"
Data.s ":1009000052F4E1CF53F4E2CF54F4D9CF55F4DACF17"
Data.s ":1009100056F40401000E0401306301D034D069A400"
Data.s ":1009200004D068A402D004EC04F06DB22CD069A00D"
Data.s ":1009300004D068A002D009EC04F069A804D068A82B"
Data.s ":1009400002D02FEC04F069AC04D068AC02D034ECD7"
Data.s ":1009500004F069AA04D068AA02D037EC04F069A2B6"
Data.s ":1009600004D068A202D03FEC04F0030E0401306111"
Data.s ":1009700001D009D069A607D068A605D042EC04F0E2"
Data.s ":1009800061EC04F0689656C4DAFF55C4D9FF54C42C"
Data.s ":10099000E2FF53C4E1FF52C4EAFF51C4E9FF120071"
Data.s ":1009A000A0AA05D0A1AA03D07DEC04F0A19A120060"
Data.s ":1009B000340E566EFF0E556E562E01D003D0552EB6"
Data.s ":1009C000FED7FAD7D00E556E552EFED71200040171"
Data.s ":1009D00004010CBFFED7400E2C6502D0400E2C6FD8"
Data.s ":1009E0002A6B2DC4E1FF2EC4E2FF24EE9BF02C51B4"
Data.s ":1009F0002A5D04E2E6CFDEFF2A2BF9D704012CC4DE"
Data.s ":100A00000DF4400E0C170C7D880E0C131200040E12"
Data.s ":100A1000566EFF0E556E562E01D003D0552EFED7C2"
Data.s ":100A2000FAD7380E556E552EFED700001200810EF3"
Data.s ":100A3000556E552EFED7000000001200530E556E65"
Data.s ":100A4000552EFED712001A0E576EFF0E566EFF0E71"
Data.s ":100A5000556E572E01D007D0562E01D003D0552EFB"
Data.s ":100A6000FED7FAD7F6D77F0E566EFF0E556E562E6E"
Data.s ":100A700001D003D0552EFED7FAD7590E556E552EFC"
Data.s ":100A8000FED700000000120004016DB61200140E23"
Data.s ":100A90006F6E000E0401306F346B316B6D6A696AE2"
Data.s ":100AA0006D86010E306FD8EC04F06DBA06D0686A1E"
Data.s ":100AB000696A69806988020E0401306F12001200B1"
Data.s ":100AC0004C6A04010CBF4C2A4C50000A02E02E6A0A"
Data.s ":100AD0000CD0A09A2BC02DF42CC02EF42DC02CF4D9"
Data.s ":100AE000E7EC04F0A08A010E2E6E2EC04BF012002F"
Data.s ":100AF000240E556E552EFED700001200010E556EC5"
Data.s ":100B0000552EFED70000120004016DA612006D6A7A"
Data.s ":100B1000696A000E0401306F1200F26AF50EF16E80"
Data.s ":100B2000C00EF06ED09E9D6AA06A9E6AA16A0F0EEA"
Data.s ":100B3000C112020E926EFF0E936E040E946E896ABD"
Data.s ":100B40008A6A8B6A1200809082908094809682924A"
Data.s ":100B5000809A1200276A26C04DF0010E4B6E4D5050"
Data.s ":100B600004E04B364B90FF0FFBD74BC029F0291CFC"
Data.s ":100B7000286E24C04BF025C04CF04BC0E9FF24C0C8"
Data.s ":100B80004EF025C04FF04FC04BF04BC0EAFF120EA5"
Data.s ":100B9000E924E16EEACFE2FF2850EF162850E7166D"
Data.s ":100BA00007EC05F02950E71217EC05F02950EF1477"
Data.s ":100BB0004D6E4D50000A02E0010E276E07EC05F065"
Data.s ":100BC00027C04BF0120026C04CF0010E4B6E4C506B"
Data.s ":100BD00004E04B364B90FF0FFBD74BC02AF04B1C69"
Data.s ":100BE000296E24C0E9FF25C04BF04BC0EAFF120E6E"
Data.s ":100BF000E924E16EEACFE2FF286A285007081FE3E4"
Data.s ":100C000028C04CF027C04BF04C5004E04B324B9EB8"
Data.s ":100C1000FF0FFBD7010E4B144C6E2950EF162950D5"
Data.s ":100C2000E7164C50000A02E02A50E71217EC05F0D4"
Data.s ":100C30002A50E7122850070A02E0282ADED71EECC5"
Data.s ":100C400005F01EEC05F0120004EE00F0050EEE6A51"
Data.s ":100C5000EA62FDD723EC05F00401760E0401456F2E"
Data.s ":100C6000140E466F760E476F140E486F260E496FAE"
Data.s ":100C7000150E4A6F2E0E4B6F150E4C6F520E4D6FA8"
Data.s ":100C8000150E4E6F7E0E4F6F150E506F24C057F429"
Data.s ":100C900025C058F426C059F427C05AF444EC05F096"
Data.s ":100CA000A19AA08AF28CF28E1200600E2B6E000EBA"
Data.s ":100CB0002C6E24C060F025C061F026C062F027C011"
Data.s ":100CC00063F00001646B656B666B080E2D6E60EC63"
Data.s ":100CD00005F01200C26A070EC012C08E24C04BF08D"
Data.s ":100CE0004B364B904B364B904B50C212C28078EC37"
Data.s ":100CF00005F0C2824D6AC2B24D2A4D50010A02E18E"
Data.s ":100D00000000F8D7C4CF4DF0000E4E6E4DC04EF02F"
Data.s ":100D10004D6A4DC025F04EC026F0C3504D10256ED3"
Data.s ":100D20004EC026F0000E2612C29025C04BF026C001"
Data.s ":100D30004CF01200276A26C04CF0010E4B6E4C504E"
Data.s ":100D400004E04B364B90FF0FFBD74BC02AF04B1CF7"
Data.s ":100D5000296E24C0E9FF25C04BF04BC0EAFF120EFC"
Data.s ":100D6000E924E16EEACFE2FF286A2850070825E36C"
Data.s ":100D70002950EF162950E7167EEC05F02A50E712AD"
Data.s ":100D80007EEC05F02A50EF144C6E4C50000A0CE03B"
Data.s ":100D900028C04CF0010E4B6E4C5004E04B364B908B"
Data.s ":100DA000FF0FFBD74B5027121EEC05F01EEC05F091"
Data.s ":100DB0002850070A02E0282AD8D727C04BF0120093"
Data.s ":100DC0004C6A82B44C2A4CC024F0006A4D6A82B44A"
Data.s ":100DD0004D2AFA0E005CFF0ED8B0000E4B6E4B5041"
Data.s ":100DE00024144C6E4D504C1802E1002AEFD7FA0E35"
Data.s ":100DF000001802E10DEC07F0080E566EFF0E556E5E"
Data.s ":100E0000562E01D003D0552EFED7FAD71D0E556EA3"
Data.s ":100E1000552EFED70000000011D0070E566EFF0EB3"
Data.s ":100E2000556E562E01D003D0552EFED7FAD7790E27"
Data.s ":100E3000556E552EFED70000010E076E24C04BF0F4"
Data.s ":100E40001200246AA09A0401060E0401306101D048"
Data.s ":100E500008D06DB206D0445304E044C44BF0446B58"
Data.s ":100E600004D04B6A0401446B00D0A08A120024C055"
Data.s ":100E70004BF0120084EC05F0A19AA09A12000F6AC0"
Data.s ":100E8000106A8DEC05F0086A096A0A6A0B6AA3EC1D"
Data.s ":100E900005F0800E246E0F0E256E040E266EAAEC51"
Data.s ":100EA00005F0800E246E0F0E256E040E266ECC0EFD"
Data.s ":100EB000276EE3EC05F0800E246E0F0E256E040EF7"
Data.s ":100EC000266E440E276EE3EC05F0C70E556E552EC8"
Data.s ":100ED000FED700000000800E246E0F0E256E040E5B"
Data.s ":100EE000266EAAEC05F0800E246E0F0E256E040E01"
Data.s ":100EF000266ECC0E276EE3EC05F0800E246E0F0EEE"
Data.s ":100F0000256E040E266EBE0E276EE3EC05F0A00ED5"
Data.s ":100F1000246E000E256E600E266E000E276E24ECE9"
Data.s ":100F200006F01A0E576EFF0E566EFF0E556E572EB8"
Data.s ":100F300001D007D0562E01D003D0552EFED7FAD7B8"
Data.s ":100F4000F6D77F0E566EFF0E556E562E01D003D08B"
Data.s ":100F5000552EFED7FAD7590E556E552EFED70000E6"
Data.s ":100F600000001A0E576EFF0E566EFF0E556E572E6E"
Data.s ":100F700001D007D0562E01D003D0552EFED7FAD778"
Data.s ":100F8000F6D77F0E566EFF0E556E562E01D003D04B"
Data.s ":100F9000552EFED7FAD7590E556E552EFED70000A6"
Data.s ":100FA0000000010E81144F6E4F50010A0FE10C50EA"
Data.s ":100FB000000A0AE1100E246E010E256E266A276AC9"
Data.s ":100FC00055EC06F0010E0C6EE7EF07F00C6A4F6A65"
Data.s ":100FD00081B24F2A4F50010A0FE10D50000A0AE179"
Data.s ":100FE000100E246E020E256E266A276A55EC06F056"
Data.s ":100FF000010E0D6EFDEF07F00D6A4F6A81B44F2AA6"
Data.s ":101000004F50010A0FE10E50000A0AE1100E246E43"
Data.s ":10101000040E256E266A276A55EC06F0010E0E6E48"
Data.s ":1010200013EF08F00E6A4F6A81B84F2A4F50010A39"
Data.s ":101030000FE11150000A0AE1100E246E080E256E11"
Data.s ":10104000266A276A55EC06F0010E116E29EF08F0AA"
Data.s ":10105000116A000E131802E1210E12181EE1010E92"
Data.s ":10106000246E6AEC06F04BC012F04CC013F04C50EA"
Data.s ":10107000151802E114504B1810E0140E246E13C022"
Data.s ":101080004BF04C6A4BC025F012C026F0276A55EC95"
Data.s ":1010900006F012C014F013C015F0800E246E0F0E6F"
Data.s ":1010A000256E040E266EAAEC05F04BC016F04B50D0"
Data.s ":1010B000000A77E1800E246E0F0E256E040E266E58"
Data.s ":1010C000CC0E276EE3EC05F0800E246E0F0E256E1D"
Data.s ":1010D000040E266E440E276EE3EC05F0C70E556E27"
Data.s ":1010E000552EFED700000000800E246E0F0E256ED8"
Data.s ":1010F000040E266EAAEC05F0800E246E0F0E256EEF"
Data.s ":10110000040E266ECC0E276EE3EC05F0800E246EE6"
Data.s ":101110000F0E256E040E266EBE0E276EE3EC05F054"
Data.s ":10112000800E246E0F0E256E040E266E9AEC06F0CD"
Data.s ":101130004BC017F0800E246E0F0E256E040E266E27"
Data.s ":101140009AEC06F04BC018F0175019182AE0185006"
Data.s ":10115000FF0A0AE11A6AFF0E17104B6E4BC017F018"
Data.s ":101160004B50010F176E02D0010E1A6E010E1714AC"
Data.s ":101170004B6E050E4B02F3CF50F050C018F017C065"
Data.s ":101180004BF04B324B9E4BC01BF0200E246E1AC00E"
Data.s ":1011900025F04BC026F050C027F055EC06F017C0E4"
Data.s ":1011A00019F0006A506A82B4502A5050010AFF0EAA"
Data.s ":1011B000D8A4000E4F6E270E1D5C02E1100E1C5CC1"
Data.s ":1011C000FF0ED8B0000E4B6E4F504B164B5207E03F"
Data.s ":1011D0001C4A1D2A080E556E552EFED7E3D71C6AF1"
Data.s ":1011E0001D6A4F6A82B44F2A4F50000AD8A4DAD041"
Data.s ":1011F000506A82B4502A5050000AFF0ED8A4000E44"
Data.s ":101200004F6E000E4B6E010E4B5C02E1040E005C53"
Data.s ":10121000FF0ED8B0000E4B6E4F504B164B5202E0F3"
Data.s ":10122000002AE6D7000E010802E10050040810E28F"
Data.s ":10123000070E566EFF0E556E562E01D003D0552E5A"
Data.s ":10124000FED7FAD7790E556E552EFED70000A9D7D6"
Data.s ":101250000A6A0B6A020E566EFF0E556E562E01D0AC"
Data.s ":1012600003D0552EFED7FAD74A0E556E552EFED70F"
Data.s ":1012700000000000E0EC06F04B50000A03E108908B"
Data.s ":1012800043EF09F00880E0EC06F04B50000A03E160"
Data.s ":1012900009904CEF09F00980E0EC06F04B50000A91"
Data.s ":1012A00003E10B9855EF09F00B88E0EC06F04B508A"
Data.s ":1012B000000A03E10B965EEF09F00B86E0EC06F006"
Data.s ":1012C0004B50000A03E10B9467EF09F00B84E0EC4C"
Data.s ":1012D00006F04B50000A03E10B9270EF09F00B820D"
Data.s ":1012E000E0EC06F04B50000A03E10B9079EF09F0B7"
Data.s ":1012F0000B80E0EC06F04B50000A03E10A9A82EF03"
Data.s ":1013000009F00A8AE0EC06F04B50000A03E10A9863"
Data.s ":101310008BEF09F00A88E0EC06F04B50000A03E17D"
Data.s ":101320000A9694EF09F00A86E0EC06F04B50000AAA"
Data.s ":1013300003E10A949DEF09F00A84E0EC06F04B50BB"
Data.s ":10134000000A03E10A92A6EF09F00A82E0EC06F037"
Data.s ":101350004B50000A03E10A90AFEF09F00A800750F2"
Data.s ":10136000000A1FE1010E0914506E50C04FF04F36B5"
Data.s ":101370004F904F50000A03E10990C0EF09F0098037"
Data.s ":10138000280E246E0BC025F00AC026F0010E0814AA"
Data.s ":10139000506E010E09144F6E4F505024276E55ECBD"
Data.s ":1013A00006F0076A21EC07F04BC01EF01F6A1E50C2"
Data.s ":1013B0001F5C4DE2A0C020F0A1C021F00001A051AF"
Data.s ":1013C000010A02E1FF0E196E20500A0A27E1010E00"
Data.s ":1013D00021144B6E4B5203E08080F0EF09F08090B7"
Data.s ":1013E000040E21144F6E4F50040A03E18084FAEF7B"
Data.s ":1013F00009F08094080E21144F6E4F50080A03E143"
Data.s ":10140000808604EF0AF08096200E21144F6E4F5014"
Data.s ":10141000200A03E1808A0EEF0AF0809A20500C0A1D"
Data.s ":1014200014E1020E21144F6E4F50020A03E1828034"
Data.s ":101430001BEF0AF08290100E21144F6E4F50100ACD"
Data.s ":1014400003E1828225EF0AF082921F2AB0D7A9D544"
Data.s ":10145000FFD71200010000000200000000000000A1"
Data.s ":10146000080081001700D000070001000000010003"
Data.s ":101470000200000001000900020029000000010034"
Data.s ":1014800001000000A000320009000400000000007C"
Data.s ":10149000020003000000000000000900210001001C"
Data.s ":1014A00001000000010022002F00000007000500DD"
Data.s ":1014B0008100030040000000140007000500010047"
Data.s ":1014C00003004000000014000600A000FF00090017"
Data.s ":1014D0000100A10001000900030015000000260022"
Data.s ":1014E0000000FF0075000800950008008100020060"
Data.s ":1014F000090004001500000026000000FF00750030"
Data.s ":101500000800950008009100020009000500150080"
Data.s ":10151000000026000000FF00750008009500020092"
Data.s ":10152000B1000200C0000400030009000400120022"
Data.s ":10153000030055000000530000004200000020009E"
Data.s ":10154000000054000000450000005300000054005B"
Data.s ":101550000000160003004D000000500000005A007B"
Data.s ":101560000000200000005500000053000000420071"
Data.s ":10157000000020000000490000004F0000000200B1"
Data.s ":101580000300FFFFFFFFFFFFFFFFFFFFFFFFFFFF66"
Data.s ":020000040030CA"
Data.s ":0E000000E43CEEF0FFF99BFFFFFFFFFFFFFF68"
Data.s ":00000001FF"
Data.s "End"
Die Einstellung für das PIC Programmiergerätes lautet: