diff --git a/CL2.0_uvopt.bak b/CL2.0_uvopt.bak
new file mode 100644
index 0000000..1d7f89e
--- /dev/null
+++ b/CL2.0_uvopt.bak
@@ -0,0 +1,1702 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+
+
+
+ -261637721
+ 30791276
+
+
+
+ Target 1
+ 0x0
+ MCS-51
+
+ 96000000
+
+ 1
+ 1
+ 1
+ 0
+
+
+ 0
+ 65535
+ 0
+ 0
+ 0
+
+
+ 120
+ 65
+ 8
+ .\output\
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 6
+
+
+ 0
+ User's Manual
+ DATASHTS\INFINEON\XC886_UM.PDF
+
+
+ 1
+ XC800 Instruction Set Manual
+ DATASHTS\INFINEON\XC800_IS.PDF
+
+
+
+ S8051.DLL
+ -m8051EW
+ DCore51.DLL
+ -pXC886
+ S8051.DLL
+
+ TCore51.DLL
+ -pXC886
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 7
+
+
+
+
+
+
+
+
+
+
+ BIN\DAS2XC800.DLL
+
+
+
+ 0
+ DLGDC51
+ (5130=-1,-1,-1,-1,0)(5131=-1,-1,-1,-1,0)(5132=-1,-1,-1,-1,0)(5133=-1,-1,-1,-1,0)(5134=-1,-1,-1,-1,0)(1203=-1,-1,-1,-1,0)(5152=-1,-1,-1,-1,0)(94=-1,-1,-1,-1,0)(5150=-1,-1,-1,-1,0)(5140=-1,-1,-1,-1,0)(5141=-1,-1,-1,-1,0)(5142=-1,-1,-1,-1,0)(5143=-1,-1,-1,-1,0)(5144=-1,-1,-1,-1,0)(5145=-1,-1,-1,-1,0)(5019=-1,-1,-1,-1,0)(5020=-1,-1,-1,-1,0)(5018=-1,-1,-1,-1,0)(5021=-1,-1,-1,-1,0)(5022=-1,-1,-1,-1,0)(5151=-1,-1,-1,-1,0)(5155=-1,-1,-1,-1,0)(1219=-1,-1,-1,-1,0)(90=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(1207=-1,-1,-1,-1,0)(5154=-1,-1,-1,-1,0)(5153=-1,-1,-1,-1,0)(1208=-1,-1,-1,-1,0)(5156=-1,-1,-1,-1,0)(5157=-1,-1,-1,-1,0)(5158=-1,-1,-1,-1,0)(5159=-1,-1,-1,-1,0)(3047=-1,-1,-1,-1,0)(3050=-1,-1,-1,-1,0)(3060=-1,-1,-1,-1,0)(3051=-1,-1,-1,-1,0)(3061=-1,-1,-1,-1,0)
+
+
+ 0
+ DLGTC51
+ (5130=-1,-1,-1,-1,0)(5131=-1,-1,-1,-1,0)(5132=-1,-1,-1,-1,0)(5133=-1,-1,-1,-1,0)(5134=-1,-1,-1,-1,0)(1203=-1,-1,-1,-1,0)(5152=-1,-1,-1,-1,0)(94=-1,-1,-1,-1,0)(5150=-1,-1,-1,-1,0)(5140=-1,-1,-1,-1,0)(5141=-1,-1,-1,-1,0)(5142=-1,-1,-1,-1,0)(5143=-1,-1,-1,-1,0)(5144=-1,-1,-1,-1,0)(5145=-1,-1,-1,-1,0)(5019=-1,-1,-1,-1,0)(5020=-1,-1,-1,-1,0)(5018=-1,-1,-1,-1,0)(5021=-1,-1,-1,-1,0)(5022=-1,-1,-1,-1,0)(5151=-1,-1,-1,-1,0)(5155=-1,-1,-1,-1,0)(1219=-1,-1,-1,-1,0)(90=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(1207=-1,-1,-1,-1,0)(5154=-1,-1,-1,-1,0)(5153=-1,-1,-1,-1,0)(1208=-1,-1,-1,-1,0)(5156=-1,-1,-1,-1,0)(5157=-1,-1,-1,-1,0)(5158=-1,-1,-1,-1,0)(5159=-1,-1,-1,-1,0)(3047=-1,-1,-1,-1,0)(3050=-1,-1,-1,-1,0)(3051=-1,-1,-1,-1,0)
+
+
+ 0
+ DAS2XC800
+ -O255 -F29 -U768 -H"localhost" -S"UDAS" -D"MW000099A" -T4294967295
+
+
+
+
+ 0
+ 1
+ WLBuf
+
+
+
+
+ 1
+ 0
+ PntSta
+
+
+
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ Dave Files
+ 1
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 35
+ 0
+ 0
+ 0
+ 1
+ .\START_XC.a51
+ START_XC.a51
+
+
+ 1
+ 2
+ 1
+ 0
+ 0
+ 9
+ 0
+ 0
+ 0
+ 1
+ .\MAIN.C
+ MAIN.C
+
+
+ 1
+ 3
+ 1
+ 0
+ 0
+ 31
+ 0
+ 0
+ 0
+ 1
+ .\IO.C
+ IO.C
+
+
+ 1
+ 4
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ .\SHARED_INT.C
+ SHARED_INT.C
+
+
+ 1
+ 5
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ .\CAN.C
+ CAN.C
+
+
+ 1
+ 6
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ .\T2.C
+ T2.C
+
+
+ 1
+ 7
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ .\WDT.C
+ WDT.C
+
+
+
+
+ User Files
+ 1
+ 0
+ 0
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ 0
+ 198
+ 201
+ 0
+ .\User.c
+ User.c
+
+
+ 2
+ 9
+ 1
+ 1
+ 0
+ 24
+ 0
+ 0
+ 0
+ 0
+ .\boot.c
+ boot.c
+
+
+ 2
+ 10
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ .\XC88x_FLHANDLER.ASM
+ XC88x_FLHANDLER.ASM
+
+
+
+
+ Default
+ 1
+ Build
+ 0
+
+ Default
+ 1
+
+ 59392
+ 1
+ File
+ 0
+
+ 0
+
+ 1
+ 2
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 100
+ 0
+ 1
+ 0
+
+
+ 59398
+ 2
+ Build
+ 0
+
+ 0
+
+ 1
+ 2
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 100
+ 0
+ 0
+ 0
+
+
+ 59399
+ 3
+ Debug
+ 0
+
+ 0
+
+ 1
+ 2
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 100
+ 0
+ 1
+ 0
+
+
+ 197
+ 4
+ Build Output
+ 0
+
+ 0
+
+ 1
+ 2
+ 4
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 1
+ 0
+ 0
+
+
+ 198
+ 5
+ Command
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 1
+ 1
+ 0
+
+
+ 199
+ 6
+ Find in Files
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 38007
+ 7
+ Browse
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1939
+ 8
+ UART #1
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1940
+ 9
+ UART #2
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1941
+ 10
+ UART #3
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1942
+ 11
+ UART #4
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1944
+ 12
+ Call Stack
+ 197
+
+ 197
+
+ 1
+ 2
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 50
+ 0
+ 1
+ 0
+
+
+ 1507
+ 13
+ Call Stack
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 50
+ 0
+ 1
+ 0
+
+
+ 1935
+ 14
+ Locals
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1936
+ 15
+ Watch 1
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1937
+ 16
+ Watch 2
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1465
+ 17
+ Memory 1
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1466
+ 18
+ Memory 2
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1467
+ 19
+ Memory 3
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1468
+ 20
+ Memory 4
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1506
+ 21
+ Symbols
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1005
+ 22
+ Project
+ 0
+
+ 0
+
+ 1
+ 2
+ 1
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 1
+ 0
+
+
+ 109
+ 23
+ Books
+ 1005
+
+ 1005
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 195
+ 24
+ Functions
+ 1005
+
+ 1005
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 196
+ 25
+ Templates
+ 1005
+
+ 1005
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 38003
+ 26
+ Registers
+ 1005
+
+ 1005
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 1
+ 1
+ 0
+
+
+ 35885
+ 27
+ not set
+ 0
+
+ 0
+
+ 1
+ 2
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35886
+ 28
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35887
+ 29
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35888
+ 30
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35889
+ 31
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35890
+ 32
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35891
+ 33
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35892
+ 34
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35893
+ 35
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35894
+ 36
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35895
+ 37
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35896
+ 38
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35897
+ 39
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35898
+ 40
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35899
+ 41
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35900
+ 42
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35901
+ 43
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35902
+ 44
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35903
+ 45
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35904
+ 46
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35905
+ 47
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 203
+ 48
+ Disassembly
+ 0
+
+ 0
+
+ 1
+ 2
+ 3
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1913
+ 49
+ Instruction Trace
+ 203
+
+ 203
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35824
+ 50
+ Logic Analyzer
+ 0
+
+ 0
+
+ 1
+ 6
+ 0
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 1
+ 0
+ 0
+ 0
+
+
+ 343
+ 51
+ Performance Analyzer
+ 203
+
+ 203
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 204
+ 52
+ Performance Analyzer
+ 203
+
+ 203
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 346
+ 53
+ Code Coverage
+ 203
+
+ 203
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+
+ 100
+ 0
+
+
+ .\User.c
+ 0
+ 198
+ 201
+
+
+
+
+
+
diff --git a/CL2.0_uvproj.bak b/CL2.0_uvproj.bak
new file mode 100644
index 0000000..fe007f1
--- /dev/null
+++ b/CL2.0_uvproj.bak
@@ -0,0 +1,410 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ Target 1
+ 0x0
+ MCS-51
+
+
+ XC886CLM-8FF
+ Infineon
+ IRAM(0-0xFF) XRAM(0xF000-0xF5FF) IROM(0-0x5FFF) IROM2(0xA000-0xBFFF) CLOCK(24000000) MOD517DP
+ XC800_FLOAD.EXE ("#H" f")
+ "LIB\START_XC88x.A51" ("Infineon XC800 Startup Code")
+
+ 4021
+ XC886CLM.H
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+ Infineon\
+ Infineon\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\output\
+ CL2.0
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\output\
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 65535
+
+
+ S8051.DLL
+ -m8051EW
+ DCore51.DLL
+ -pXC886
+ S8051.DLL
+
+ TCore51.DLL
+ -pXC886
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+
+
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 1
+
+ 0
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BIN\DAS2XC800.DLL
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 4100
+
+ BIN\DAS2XC800.DLL
+ "XC800_FLOAD.EXE" ("#H" f")
+
+
+
+
+ 2
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+
+
+ 0
+ 0x0
+ 0xffff
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x6000
+
+
+ 0
+ 0x0
+ 0x100
+
+
+ 0
+ 0xf000
+ 0x600
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0xa000
+ 0x2000
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 1
+ 3
+ 9
+ 2
+ 1
+ 1
+ 1
+ 8192
+
+
+
+
+
+
+
+
+ 0
+ 1
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 2
+ 1
+
+ RESERVE (I:0xC0-I:0xFF)
+
+
+
+
+
+ CODE(C:0x2100-C:0x5FFF)
+
+ ?C_C51STARTUP(C:0x2100), ?PR?main?MAIN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dave Files
+
+
+ START_XC.a51
+ 2
+ .\START_XC.a51
+
+
+ MAIN.C
+ 1
+ .\MAIN.C
+
+
+ IO.C
+ 1
+ .\IO.C
+
+
+ SHARED_INT.C
+ 1
+ .\SHARED_INT.C
+
+
+ CAN.C
+ 1
+ .\CAN.C
+
+
+ T2.C
+ 1
+ .\T2.C
+
+
+ WDT.C
+ 1
+ .\WDT.C
+
+
+
+
+ User Files
+
+
+ User.c
+ 1
+ .\User.c
+
+
+ boot.c
+ 1
+ .\boot.c
+
+
+ XC88x_FLHANDLER.ASM
+ 2
+ .\XC88x_FLHANDLER.ASM
+
+
+
+
+
+
+
+
diff --git a/Config.H b/Config.H
new file mode 100644
index 0000000..3fe6897
--- /dev/null
+++ b/Config.H
@@ -0,0 +1,210 @@
+#ifndef _Configfff_H_
+#define _Configfff_H_
+
+
+//-----宏定义-----------------------------------------------------------------
+//开关部分--------------------------------------------------------------
+//支持平台:
+// ___XC164CM___ SSC工作于查询方式
+// ___XC2765X___ SSC工作于查询方式
+#define ___XC886CLM___
+
+#define NumChipSw 2//定义MC33993芯片的数量
+#define DF_SwInNum 1//定义采集芯片的数量
+#define DF_SwOutNum 1//定义输出芯片的数量
+
+#define Tog 2
+#define On 1
+#define Off 0
+
+//#define N 6 //N为偶数
+
+
+#define uchar unsigned char
+#define ulong unsigned long
+#define uint unsigned int
+//如果有CAN数据接收,需要定义___CANRX___
+//#define ___CANRX___
+
+//看门狗
+//#define DF_WDT P1_OUT_P0
+
+//定义
+#define SwIn01 P1_2 // Output7
+#define SwIn02 P1_3 // Output2
+#define SwIn03 P1_4 // Output4
+#define SwIn04 P1_5 // Output3
+#define SwIn05 P3_6 // Output5
+#define SwIn06 P4_3 // Output6
+#define SwIn07 P3_0
+#define SwIn08 P2_6
+
+#define SwOut01 P3_2
+#define SwOut02 P3_4
+#define SwOut03 P4_0
+#define SwOut04 P0_7
+#define SwOut05 P0_0
+#define SwOut06 P0_1
+#define SwOut07 P2_3
+#define SwOut08 P2_5
+#define SwOut09 P0_3
+#define SwOut10 P4_1
+#define SwOut11 P3_5
+#define SwOut12 P3_3
+#define SwOut13 P1_4
+#define SwOut14 P1_2
+#define SwOut15 P0_2
+#define SwOut16 P1_7
+
+//LED输出数据结构
+typedef union _SwOut
+{
+ struct
+ {
+// ubyte Arr[DF_SwOutNum][4]; //芯片数量改变需修改
+ ubyte Arr[DF_SwOutNum][4]; //芯片数量改变需修改
+ }ArrData;
+ struct
+ {
+//-------输出芯片1-------------------------------
+ unsigned int S21 : 1;//FLGSP0
+ unsigned int S22 : 1;//FLGSP1
+ unsigned int S23 : 1;//FLGSP2
+ unsigned int S24 : 1;//FLGSP3
+ unsigned int S34 : 1;//FLGSP4
+ unsigned int S33 : 1;//FLGSP5
+ unsigned int S32 : 1;//FLGSP6
+ unsigned int S31 : 1;//FLGSP7
+ unsigned int S25 : 1;//FLGSG0
+ unsigned int S26 : 1;//FLGSG1
+ unsigned int S27 : 1;//FLGSG2
+ unsigned int S28 : 1;//FLGSG3
+ unsigned int S30 : 1;//FLGSG4
+ unsigned int S29 : 1;//FLGSG5
+ unsigned int S43 : 1;//FLGSG6
+ unsigned int S35 : 1;//FLGSG7
+ unsigned int S36 : 1;//FLGSG8
+ unsigned int S37 : 1;//FLGSG9
+ unsigned int S38 : 1;//FLGSG10
+ unsigned int S40 : 1;//FLGSG11
+ unsigned int S39 : 1;//FLGSG12
+ unsigned int S44 : 1;//FLGSG13
+ unsigned int : 1;
+ unsigned int : 1;
+ unsigned int : 8;
+//-------------------------------------------------
+ }BitData;
+}UnSwOut,*pUnSwOut;
+
+
+//CAN部分--------------------------------------------------------------
+#define NumTxCan 1
+#define NumRxCan 1//15
+#define NumTxCanMoS 16 //发送消息存放的消息对象起始
+#define NumRxCanMoS 0 //接收消息存放的消息对象起始
+#define ___CANRX___
+
+//CAN信息结构
+typedef union _InfCan
+{
+ struct
+ {
+ ubyte Arr[1][8];
+ ubyte ArrRX[2][8];
+ }ArrData;
+ struct
+ {
+//----------发送0-0x14000001 -------------------------------------------
+ unsigned int Sta09 : 1 ; //FlgSp1
+ unsigned int Sta10 : 1 ; //FlgSp0
+ unsigned int Sta11 : 1 ; //FlgSp7
+ unsigned int Sta12 : 1 ; //FlgSp6
+ unsigned int Sta13 : 1 ; //FlgSp5
+ unsigned int Sta14 : 1 ; //FlgSp4
+
+ unsigned int Sta15 : 1 ; //FlgSg7
+ unsigned int Sta16 : 1 ; //FlgSg8
+
+ unsigned int Sta01 : 1 ; //FlgSg4
+ unsigned int Sta02 : 1 ; //FlgSg5
+ unsigned int Sta03 : 1 ; //FlgSg3
+ unsigned int Sta04 : 1 ; //FlgSg2
+ unsigned int Sta05 : 1 ; //FlgSg1
+ unsigned int Sta06 : 1 ; //FlgSg0
+ unsigned int Sta07 : 1 ; //FlgSp3
+ unsigned int Sta08 : 1 ; //FlgSp2
+
+ unsigned int CanTx3 : 8 ; ////
+
+ unsigned int Dia01 : 1 ; //FlgSg4
+ unsigned int Dia02 : 1 ; //FlgSg5
+ unsigned int Dia03 : 1 ; //FlgSg3
+ unsigned int Dia04 : 1 ; //FlgSg2
+ unsigned int Dia05 : 1 ; //FlgSg1
+ unsigned int Dia06 : 1 ; //FlgSg0
+ unsigned int Dia07 : 1 ; //FlgSp3
+ unsigned int Dia08 : 1 ; //FlgSp2
+
+ unsigned int CanTx5 : 8 ; ////
+ unsigned int CanTx4 : 8 ; ////
+ unsigned int CanTx7 : 8 ; ////
+ unsigned int CanTx6 : 8 ; ////
+
+//----------接收0x14000002 --------------------------------------------
+ unsigned int D29 : 1 ; //FlgSp1
+ unsigned int D30 : 1 ; //FlgSp0
+ unsigned int D31 : 1 ; //FlgSp7
+ unsigned int D32 : 1 ; //FlgSp6
+ unsigned int D33 : 1 ; //FlgSp5
+ unsigned int D34 : 1 ; //FlgSp4
+ unsigned int D35 : 1 ; //FlgSg7
+ unsigned int D36 : 1 ; //FlgSg8
+
+ unsigned int D21 : 1 ; //FlgSg4
+ unsigned int D22 : 1 ; //FlgSg5
+ unsigned int D23 : 1 ; //FlgSg3
+ unsigned int D24 : 1 ; //FlgSg2
+ unsigned int D25 : 1 ; //FlgSg1
+ unsigned int D26 : 1 ; //FlgSg0
+ unsigned int D27 : 1 ; //FlgSp3
+ unsigned int D28 : 1 ; //FlgSp2
+
+ unsigned int CanRx3 : 8 ; ////
+ unsigned int CanRx2 : 8 ; ////
+ unsigned int CanRx5 : 8 ; ////
+ unsigned int CanRx4 : 8 ; ////
+ unsigned int CanRx7 : 8 ; ////
+ unsigned int CanRx6 : 8 ; ////
+
+//----------接收0x14000003 --------------------------------------------
+ unsigned int Pwm_01 : 4 ; //FlgSp1
+ unsigned int Pwm_02 : 4 ; //FlgSp0
+ unsigned int Pwm_03 : 4 ; //FlgSp7
+ unsigned int Pwm_04 : 4 ; //FlgSp6
+ unsigned int Pwm_05 : 4 ; //FlgSp5
+ unsigned int Pwm_06 : 4 ; //FlgSp4
+ unsigned int Pwm_07 : 4 ; //FlgSg7
+ unsigned int Pwm_08 : 4 ; //FlgSg8
+ unsigned int Pwm_09 : 4 ; //FlgSg4
+ unsigned int Pwm_10 : 4 ; //FlgSg5
+ unsigned int Pwm_11 : 4 ; //FlgSg3
+ unsigned int Pwm_12 : 4 ; //FlgSg2
+ unsigned int Pwm_13 : 4 ; //FlgSg1
+ unsigned int Pwm_14 : 4 ; //FlgSg0
+ unsigned int Pwm_15 : 4 ; //FlgSp3
+ unsigned int Pwm_16 : 4 ; //FlgSp2
+
+ }BitData;
+}UnInfCan,*pInfCan;
+
+
+
+
+
+
+//-----文件包含----------------------------------------------
+#include "user.H"
+#include "boot.H"
+#include "RTC.H"
+#include "temperature.H"
+#endif
\ No newline at end of file
diff --git a/Config.H.bak b/Config.H.bak
new file mode 100644
index 0000000..8f29e50
--- /dev/null
+++ b/Config.H.bak
@@ -0,0 +1,247 @@
+#ifndef _Configfff_H_
+#define _Configfff_H_
+
+
+//-----宏定义-----------------------------------------------------------------
+//开关部分--------------------------------------------------------------
+//支持平台:
+// ___XC164CM___ SSC工作于查询方式
+// ___XC2765X___ SSC工作于查询方式
+#define ___XC886CLM___
+
+#define NumChipSw 2//定义MC33993芯片的数量
+#define DF_SwInNum 1//定义采集芯片的数量
+#define DF_SwOutNum 1//定义输出芯片的数量
+
+#define Tog 2
+#define On 1
+#define Off 0
+
+//#define N 6 //N为偶数
+
+
+#define uchar unsigned char
+#define ulong unsigned long
+#define uint unsigned int
+//如果有CAN数据接收,需要定义___CANRX___
+//#define ___CANRX___
+
+//看门狗
+//#define DF_WDT P1_OUT_P0
+
+//定义
+#define SwIn01 P3_0
+#define SwIn02 P3_7
+#define SwIn03 P2_4
+#define SwIn04 P2_5
+#define SwIn05 P3_1
+#define SwIn06 P3_6
+#define SwIn07 P2_6
+#define SwIn08 P2_7
+#define SwOut01 P3_2
+#define SwOut02 P3_4
+#define SwOut03 P4_0
+#define SwOut04 P0_7
+#define SwOut05 P0_0
+#define SwOut06 P0_1
+#define SwOut07 P1_3
+#define SwOut08 P1_5
+#define SwOut09 P0_3
+#define SwOut10 P4_1
+#define SwOut11 P3_5
+#define SwOut12 P3_3
+#define SwOut13 P1_4
+#define SwOut14 P1_2
+#define SwOut15 P0_2
+#define SwOut16 P1_7
+
+
+//开关采集数据结构,和硬件相关,硬件修改需要响应修改
+typedef union _SwSample
+{
+ struct
+ {
+ ubyte Arr[DF_SwInNum][4];
+ }ArrData;
+ struct
+ {
+//-------采集芯片1-------------------------------
+ unsigned int S6 : 1;//FlgSg0
+ unsigned int S5 : 1;//FlgSg1
+ unsigned int S4 : 1;//FlgSg2
+ unsigned int S3 : 1;//FlgSg3
+ unsigned int S1 : 1;//FlgSg4
+ unsigned int S2 : 1;//FlgSg5
+ unsigned int S41 : 1;//FlgSg6
+ unsigned int S15 : 1;//FlgSg7
+ unsigned int S16 : 1;//FlgSg8
+ unsigned int S17 : 1;//FlgSg9
+ unsigned int S18 : 1;//FlgSg10
+ unsigned int S20 : 1;//FlgSg11
+ unsigned int S19 : 1;//FlgSg12
+ unsigned int S42 : 1;//FlgSg13
+ unsigned int S10 : 1;//FlgSp0
+ unsigned int S9 : 1;//FlgSp1
+ unsigned int S8 : 1;//FlgSp2
+ unsigned int S7 : 1;//FlgSp3
+ unsigned int S14 : 1;//FlgSp4
+ unsigned int S13 : 1;//FlgSp5
+ unsigned int S12 : 1;//FlgSp6
+ unsigned int S11 : 1;//FlgSp7
+ unsigned int : 1;//FlgInt
+ unsigned int : 1;//FlgThem
+ unsigned int : 8;//
+
+ }BitData;
+}UnSwSample,*pUnSwSample;
+
+//LED输出数据结构
+typedef union _SwOut
+{
+ struct
+ {
+ ubyte Arr[DF_SwOutNum][4]; //芯片数量改变需修改
+ }ArrData;
+ struct
+ {
+//-------输出芯片1-------------------------------
+ unsigned int S21 : 1;//FLGSP0
+ unsigned int S22 : 1;//FLGSP1
+ unsigned int S23 : 1;//FLGSP2
+ unsigned int S24 : 1;//FLGSP3
+ unsigned int S34 : 1;//FLGSP4
+ unsigned int S33 : 1;//FLGSP5
+ unsigned int S32 : 1;//FLGSP6
+ unsigned int S31 : 1;//FLGSP7
+ unsigned int S25 : 1;//FLGSG0
+ unsigned int S26 : 1;//FLGSG1
+ unsigned int S27 : 1;//FLGSG2
+ unsigned int S28 : 1;//FLGSG3
+ unsigned int S30 : 1;//FLGSG4
+ unsigned int S29 : 1;//FLGSG5
+ unsigned int S43 : 1;//FLGSG6
+ unsigned int S35 : 1;//FLGSG7
+ unsigned int S36 : 1;//FLGSG8
+ unsigned int S37 : 1;//FLGSG9
+ unsigned int S38 : 1;//FLGSG10
+ unsigned int S40 : 1;//FLGSG11
+ unsigned int S39 : 1;//FLGSG12
+ unsigned int S44 : 1;//FLGSG13
+ unsigned int : 1;
+ unsigned int : 1;
+ unsigned int : 8;
+//-------------------------------------------------
+ }BitData;
+}UnSwOut,*pUnSwOut;
+
+
+//CAN部分--------------------------------------------------------------
+#define NumTxCan 1
+#define NumRxCan 1//15
+#define NumTxCanMoS 16 //发送消息存放的消息对象起始
+#define NumRxCanMoS 0 //接收消息存放的消息对象起始
+#define ___CANRX___
+
+//CAN信息结构
+typedef union _InfCan
+{
+ struct
+ {
+ ubyte Arr[1][8];
+ ubyte ArrRX[2][8];
+ }ArrData;
+ struct
+ {
+//----------发送0-0x10000001 -------------------------------------------
+ unsigned int Sta09 : 1 ; //FlgSp1
+ unsigned int Sta10 : 1 ; //FlgSp0
+ unsigned int Sta11 : 1 ; //FlgSp7
+ unsigned int Sta12 : 1 ; //FlgSp6
+ unsigned int Sta13 : 1 ; //FlgSp5
+ unsigned int Sta14 : 1 ; //FlgSp4
+ unsigned int Sta15 : 1 ; //FlgSg7
+ unsigned int Sta16 : 1 ; //FlgSg8
+
+ unsigned int Sta01 : 1 ; //FlgSg4
+ unsigned int Sta02 : 1 ; //FlgSg5
+ unsigned int Sta03 : 1 ; //FlgSg3
+ unsigned int Sta04 : 1 ; //FlgSg2
+ unsigned int Sta05 : 1 ; //FlgSg1
+ unsigned int Sta06 : 1 ; //FlgSg0
+ unsigned int Sta07 : 1 ; //FlgSp3
+ unsigned int Sta08 : 1 ; //FlgSp2
+
+ unsigned int CanTx3 : 8 ; ////
+
+ unsigned int Dia01 : 1 ; //FlgSg4
+ unsigned int Dia02 : 1 ; //FlgSg5
+ unsigned int Dia03 : 1 ; //FlgSg3
+ unsigned int Dia04 : 1 ; //FlgSg2
+ unsigned int Dia05 : 1 ; //FlgSg1
+ unsigned int Dia06 : 1 ; //FlgSg0
+ unsigned int Dia07 : 1 ; //FlgSp3
+ unsigned int Dia08 : 1 ; //FlgSp2
+
+ unsigned int CanTx5 : 8 ; ////
+ unsigned int CanTx4 : 8 ; ////
+ unsigned int CanTx7 : 8 ; ////
+ unsigned int CanTx6 : 8 ; ////
+
+//----------接收0x10000002 --------------------------------------------
+ unsigned int D29 : 1 ; //FlgSp1
+ unsigned int D30 : 1 ; //FlgSp0
+ unsigned int D31 : 1 ; //FlgSp7
+ unsigned int D32 : 1 ; //FlgSp6
+ unsigned int D33 : 1 ; //FlgSp5
+ unsigned int D34 : 1 ; //FlgSp4
+ unsigned int D35 : 1 ; //FlgSg7
+ unsigned int D36 : 1 ; //FlgSg8
+
+ unsigned int D21 : 1 ; //FlgSg4
+ unsigned int D22 : 1 ; //FlgSg5
+ unsigned int D23 : 1 ; //FlgSg3
+ unsigned int D24 : 1 ; //FlgSg2
+ unsigned int D25 : 1 ; //FlgSg1
+ unsigned int D26 : 1 ; //FlgSg0
+ unsigned int D27 : 1 ; //FlgSp3
+ unsigned int D28 : 1 ; //FlgSp2
+
+ unsigned int CanRx3 : 8 ; ////
+ unsigned int CanRx2 : 8 ; ////
+ unsigned int CanRx5 : 8 ; ////
+ unsigned int CanRx4 : 8 ; ////
+ unsigned int CanRx7 : 8 ; ////
+ unsigned int CanRx6 : 8 ; ////
+
+//----------接收0x14000003 --------------------------------------------
+ unsigned int Pwm01 : 4 ; //FlgSp1
+ unsigned int Pwm02 : 4 ; //FlgSp0
+ unsigned int Pwm03 : 4 ; //FlgSp7
+ unsigned int Pwm04 : 4 ; //FlgSp6
+ unsigned int Pwm05 : 4 ; //FlgSp5
+ unsigned int Pwm06 : 4 ; //FlgSp4
+ unsigned int Pwm07 : 4 ; //FlgSg7
+ unsigned int Pwm08 : 4 ; //FlgSg8
+ unsigned int Pwm09 : 4 ; //FlgSg4
+ unsigned int Pwm10 : 4 ; //FlgSg5
+ unsigned int Pwm11 : 4 ; //FlgSg3
+ unsigned int Pwm12 : 4 ; //FlgSg2
+ unsigned int Pwm13 : 4 ; //FlgSg1
+ unsigned int Pwm14 : 4 ; //FlgSg0
+ unsigned int Pwm15 : 4 ; //FlgSp3
+ unsigned int Pwm16 : 4 ; //FlgSp2
+
+ }BitData;
+}UnInfCan,*pInfCan;
+
+
+
+
+
+
+
+
+//-----文件包含----------------------------------------------
+#include "user.H"
+#include "boot.H"
+#endif
\ No newline at end of file
diff --git a/ExtDll.iex b/ExtDll.iex
new file mode 100644
index 0000000..b661f48
--- /dev/null
+++ b/ExtDll.iex
@@ -0,0 +1,2 @@
+[EXTDLL]
+Count=0