From 1bae677e0620d32a4174af11165e48fbc1a93c1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=90=AA?= Date: Mon, 7 Jul 2025 10:41:49 +0800 Subject: [PATCH] init --- CA51F5.BAT | 17 + CA51F5_Touch.uvgui.85008 | 3673 +++++++++++++++++++++++++ CA51F5_Touch.uvgui.Administrator | 1450 ++++++++++ CA51F5_Touch.uvgui.Mac | 1468 ++++++++++ CA51F5_Touch.uvgui.dell | 3681 +++++++++++++++++++++++++ CA51F5_Touch.uvopt | 510 ++++ CA51F5_Touch.uvproj | 445 ++++ CA51F5_Touch_uvopt.bak | 1864 +++++++++++++ Library/Includes/Delay.h.bak | 7 + Library/Includes/delay.h | 7 + Library/Includes/exint.h | 26 + Library/Includes/flash.h | 32 + Library/Includes/i2c.h | 40 + Library/Includes/pwm.h | 110 + Library/Includes/stop_idle.h | 9 + Library/Includes/system_clock.h | 16 + Library/Includes/tmc.h | 5 + Library/Includes/uart.h | 42 + Library/Includes/wdt.h | 28 + Library/Lib/STARTUP.A51 | 198 ++ Library/Sources/delay.c | 20 + Library/Sources/flash.c | 245 ++ Library/Sources/i2c.c | 35 + Library/Sources/pwm.c | 269 ++ Library/Sources/stop_idle.c | 63 + Library/Sources/system_clock.c | 24 + Library/Sources/uart.c | 139 + Library/Sources/wdt.c | 36 + TS_Lib/Includes/ts_api.h | 177 ++ TS_Lib/Includes/ts_configuration.h | 288 ++ TS_Lib/Includes/ts_def.h | 170 ++ TS_Lib/Includes/ts_service.h | 20 + TS_Lib/Sources/debug.c | 122 + TS_Lib/Sources/ts_api.c | 1836 +++++++++++++ TS_Lib/Sources/ts_service.LIB | Bin 0 -> 17991 bytes ca51f5_config.h | 39 + hex/ExtDll.iex | 2 + hex/STARTUP._ia | 1 + hex/STARTUP.obj | Bin 0 -> 838 bytes hex/ca51fx_onoff | Bin 0 -> 237893 bytes hex/ca51fx_onoff.SBR | Bin 0 -> 175515 bytes hex/ca51fx_onoff.build_log.htm | 78 + hex/ca51fx_onoff.hex | 350 +++ hex/ca51fx_onoff.lnp | 15 + hex/ca51fx_onoff.plg | 23 + hex/debug.__i | 1 + hex/debug.obj | Bin 0 -> 30257 bytes hex/delay.__i | 1 + hex/delay.obj | Bin 0 -> 1434 bytes hex/interrupt.__i | 1 + hex/interrupt.obj | Bin 0 -> 33917 bytes hex/main.__i | 1 + hex/main.obj | Bin 0 -> 43369 bytes hex/rf_send.__i | 1 + hex/rf_send.obj | Bin 0 -> 18626 bytes hex/system_clock.__i | 1 + hex/system_clock.obj | Bin 0 -> 17480 bytes hex/ts_api.__i | 1 + hex/ts_api.obj | Bin 0 -> 69806 bytes hex/uart.__i | 1 + hex/uart.obj | Bin 0 -> 21907 bytes hex/校验码为:0014ed6c .zip | Bin 0 -> 6346 bytes includes/ca51f5sfr.h | 221 ++ includes/ca51f5xsfr.h | 107 + includes/gpiodef_f5.h | 60 + includes/system.h | 46 + interrupt.c | 93 + lst/STARTUP.lst | 253 ++ lst/ca51fx.m51 | 1343 ++++++++++ lst/ca51fx.map | 3990 +++++++++++++++++++++++++++ lst/ca51fx_.map | 3994 ++++++++++++++++++++++++++++ lst/ca51fx_onoff.map | 3900 +++++++++++++++++++++++++++ lst/debug.lst | 165 ++ lst/delay.lst | 50 + lst/display.lst | 13 + lst/interrupt.lst | 135 + lst/key.lst | 251 ++ lst/main.lst | 696 +++++ lst/rf_send.lst | 223 ++ lst/rtc.lst | 156 ++ lst/system_clock.lst | 55 + lst/ts_api.lst | 1941 ++++++++++++++ lst/ts_sevice.lst | 412 +++ lst/uart.lst | 176 ++ main.c | 612 +++++ rf_send.c | 188 ++ rf_send.h | 18 + 修改说明.txt | 0 88 files changed, 36686 insertions(+) create mode 100644 CA51F5.BAT create mode 100644 CA51F5_Touch.uvgui.85008 create mode 100644 CA51F5_Touch.uvgui.Administrator create mode 100644 CA51F5_Touch.uvgui.Mac create mode 100644 CA51F5_Touch.uvgui.dell create mode 100644 CA51F5_Touch.uvopt create mode 100644 CA51F5_Touch.uvproj create mode 100644 CA51F5_Touch_uvopt.bak create mode 100644 Library/Includes/Delay.h.bak create mode 100644 Library/Includes/delay.h create mode 100644 Library/Includes/exint.h create mode 100644 Library/Includes/flash.h create mode 100644 Library/Includes/i2c.h create mode 100644 Library/Includes/pwm.h create mode 100644 Library/Includes/stop_idle.h create mode 100644 Library/Includes/system_clock.h create mode 100644 Library/Includes/tmc.h create mode 100644 Library/Includes/uart.h create mode 100644 Library/Includes/wdt.h create mode 100644 Library/Lib/STARTUP.A51 create mode 100644 Library/Sources/delay.c create mode 100644 Library/Sources/flash.c create mode 100644 Library/Sources/i2c.c create mode 100644 Library/Sources/pwm.c create mode 100644 Library/Sources/stop_idle.c create mode 100644 Library/Sources/system_clock.c create mode 100644 Library/Sources/uart.c create mode 100644 Library/Sources/wdt.c create mode 100644 TS_Lib/Includes/ts_api.h create mode 100644 TS_Lib/Includes/ts_configuration.h create mode 100644 TS_Lib/Includes/ts_def.h create mode 100644 TS_Lib/Includes/ts_service.h create mode 100644 TS_Lib/Sources/debug.c create mode 100644 TS_Lib/Sources/ts_api.c create mode 100644 TS_Lib/Sources/ts_service.LIB create mode 100644 ca51f5_config.h create mode 100644 hex/ExtDll.iex create mode 100644 hex/STARTUP._ia create mode 100644 hex/STARTUP.obj create mode 100644 hex/ca51fx_onoff create mode 100644 hex/ca51fx_onoff.SBR create mode 100644 hex/ca51fx_onoff.build_log.htm create mode 100644 hex/ca51fx_onoff.hex create mode 100644 hex/ca51fx_onoff.lnp create mode 100644 hex/ca51fx_onoff.plg create mode 100644 hex/debug.__i create mode 100644 hex/debug.obj create mode 100644 hex/delay.__i create mode 100644 hex/delay.obj create mode 100644 hex/interrupt.__i create mode 100644 hex/interrupt.obj create mode 100644 hex/main.__i create mode 100644 hex/main.obj create mode 100644 hex/rf_send.__i create mode 100644 hex/rf_send.obj create mode 100644 hex/system_clock.__i create mode 100644 hex/system_clock.obj create mode 100644 hex/ts_api.__i create mode 100644 hex/ts_api.obj create mode 100644 hex/uart.__i create mode 100644 hex/uart.obj create mode 100644 hex/校验码为:0014ed6c .zip create mode 100644 includes/ca51f5sfr.h create mode 100644 includes/ca51f5xsfr.h create mode 100644 includes/gpiodef_f5.h create mode 100644 includes/system.h create mode 100644 interrupt.c create mode 100644 lst/STARTUP.lst create mode 100644 lst/ca51fx.m51 create mode 100644 lst/ca51fx.map create mode 100644 lst/ca51fx_.map create mode 100644 lst/ca51fx_onoff.map create mode 100644 lst/debug.lst create mode 100644 lst/delay.lst create mode 100644 lst/display.lst create mode 100644 lst/interrupt.lst create mode 100644 lst/key.lst create mode 100644 lst/main.lst create mode 100644 lst/rf_send.lst create mode 100644 lst/rtc.lst create mode 100644 lst/system_clock.lst create mode 100644 lst/ts_api.lst create mode 100644 lst/ts_sevice.lst create mode 100644 lst/uart.lst create mode 100644 main.c create mode 100644 rf_send.c create mode 100644 rf_send.h create mode 100644 修改说明.txt diff --git a/CA51F5.BAT b/CA51F5.BAT new file mode 100644 index 0000000..6728682 --- /dev/null +++ b/CA51F5.BAT @@ -0,0 +1,17 @@ +SET C51INC=D:\Program Files\Keil_v5\C51\Inc;D:\Program Files\Keil_v5\C51\Inc\Cast +SET C51LIB=D:\Program Files\Keil_v5\C51\Lib +SET CPU_TYPE=R8051XC2 +SET CPU_VENDOR=CAST, Inc. +SET UV2_TARGET=CA51F5 +SET CPU_XTAL=0x016E3600 +"D:\Program Files\Keil_v5\C51\BIN\C51.EXE" @".\hex\main.__i" +"D:\Program Files\Keil_v5\C51\BIN\C51.EXE" @".\hex\delay.__i" +"D:\Program Files\Keil_v5\C51\BIN\C51.EXE" @".\hex\SYSTEM~1.__I" +"D:\Program Files\Keil_v5\C51\BIN\C51.EXE" @".\hex\uart.__i" +"D:\Program Files\Keil_v5\C51\BIN\C51.EXE" @".\hex\INTERR~1.__I" +"D:\Program Files\Keil_v5\C51\BIN\C51.EXE" @".\hex\rf_send.__i" +"D:\Program Files\Keil_v5\C51\BIN\C51.EXE" @".\hex\debug.__i" +"D:\Program Files\Keil_v5\C51\BIN\C51.EXE" @".\hex\ts_api.__i" +"D:\Program Files\Keil_v5\C51\BIN\A51.EXE" @".\hex\STARTUP._ia" +"D:\Program Files\Keil_v5\C51\BIN\LX51.EXE" @".\hex\CA51FX~1.LNP" +"D:\Program Files\Keil_v5\C51\BIN\OHX51.EXE" ".\hex\ca51fx_onoff" HEX diff --git a/CA51F5_Touch.uvgui.85008 b/CA51F5_Touch.uvgui.85008 new file mode 100644 index 0000000..86ac434 --- /dev/null +++ b/CA51F5_Touch.uvgui.85008 @@ -0,0 +1,3673 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + + + + + 38003 + Registers + 188 55 + + + 346 + Code Coverage + 877 160 + + + 204 + Performance Analyzer + 1037 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 71 71 71 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 500 + 300 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -32000 + -32000 + + + -1 + -1 + + + 9 + 9 + 1714 + 1026 + + + + 0 + + 1159 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000007000000020000000100000066443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF6F443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6361353166355F636F6E6669672E68000000000F6361353166355F636F6E6669672E6800000000FFDC7800FFFFFFFF82443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C496E636C756465735C74735F636F6E66696775726174696F6E2E68000000001274735F636F6E66696775726174696F6E2E6800000000BECEA100FFFFFFFF69443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E63000000000972665F73656E642E6300000000F0A0A100FFFFFFFF69443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E68000000000972665F73656E642E6800000000BCA8E100FFFFFFFF77443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C536F75726365735C74735F6170692E63000000000874735F6170692E63000000009CC1B600FFFFFFFF76443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C756172742E630000000006756172742E6300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000000101000066000000AB06000059030000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + D90000004F000000F0040000DA000000 + + + 16 + D900000066000000F0040000F1000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FA00000029030000 + + + 16 + A4000000BB0000007901000082010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FA00000029030000 + + + 16 + A4000000BB000000A0010000E8020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000ED040000C1000000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000007901000082010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000007901000082010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000007901000082010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FA00000029030000 + + + 16 + A4000000BB000000A0010000E8020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FA00000029030000 + + + 16 + A4000000BB000000A0010000E8020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000005A030000AB060000D1030000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000006020000F0040000A5020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000005D030000FD090000B8030000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + DC00000066000000ED040000C1000000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000ED040000C1000000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000ED040000C1000000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000ED040000C1000000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000ED040000C1000000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000ED040000C1000000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FA0000009E040000 + + + 16 + A4000000BB000000A0010000E8020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000005D030000FD090000B8030000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000005D030000FD090000B8030000 + + + 16 + A4000000BB000000A0010000E8020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000007901000082010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000007901000082010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000005D030000FD090000B8030000 + + + 16 + A4000000BB000000A0010000E8020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000005D030000FD090000B8030000 + + + 16 + A4000000BB000000A0010000E8020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000ED040000C1000000 + + + 16 + A4000000BB0000001C03000046010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E04000066000000ED040000FD010000 + + + 16 + A4000000BB0000007901000082010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000D1030000AB060000E4030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001D020000ED0400008C020000 + + + 16 + A4000000BB0000007901000082010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFD9000000DA000000F0040000DE000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000D900000066000000F0040000F1000000D90000004F000000F0040000DA0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF170400004F0000001B04000016020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001B04000066000000F00400002D0200001B0400004F000000F00400001602000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFFD0000004F0000000101000042030000010000000200001004000000010000002DFFFFFFCD050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000FD000000CE040000000000004F000000FD000000420300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000002020000F00400000602000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000001D020000F0040000BC0200000000000006020000F0040000A502000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF78020000060200007C020000A502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000042030000AB06000046030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000D2040000000A00005D0500000000000046030000AB060000D10300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2578 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B6C6F63616C74696D655F72960000000000000002000B6C6F63616C74696D655F72095461736B436F6D70730000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 972 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000064341353146359600000000000000010006434135314635000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1707 + 1067 + + + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + D90000004F000000000A000012010000 + + + 16 + 09F4FFFF3200000030FDFFFFF5000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D200000052040000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D200000052040000 + + + 16 + BAF3FFFF6D00000036F5FFFF7A030000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000FD090000F9000000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 1936 + 1936 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D200000052040000 + + + 16 + BAF3FFFF6D00000036F5FFFF7A030000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D200000052040000 + + + 16 + BAF3FFFF6D00000036F5FFFF7A030000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000110300006D070000A4030000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000006F0400000005000046050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000110300006D070000A4030000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + D900000063000000000A000012010000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000FD090000F9000000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000FD090000F9000000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000FD090000F9000000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000FD090000F9000000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000FD090000F9000000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000D200000052040000 + + + 16 + BAF3FFFF6D00000036F5FFFF7A030000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000110300006D070000A4030000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000110300006D070000A4030000 + + + 16 + BAF3FFFF6D00000036F5FFFF7A030000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000110300006D070000A4030000 + + + 16 + BAF3FFFF6D00000036F5FFFF7A030000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000110300006D070000A4030000 + + + 16 + BAF3FFFF6D00000036F5FFFF7A030000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + DC00000066000000FD090000F9000000 + + + 16 + BAF3FFFF6D00000072F7FFFF30010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 9E060000660000006D070000DD020000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0000000046050000000A000059050000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0705000086040000FD0900002D050000 + + + 16 + BAF3FFFF6D0000008FF4FFFF34010000 + + + + 3311 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFD900000012010000000A000016010000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000100000009F4FFFF3200000030FDFFFFF5000000D90000004F000000000A0000120100000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF970600004F0000009B060000F6020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000CBF9FFFF32000000A0FAFFFFD90200009B0600004F00000070070000F602000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD50000004F000000D90000006B040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000030F3FFFF3200000005F4FFFF4E040000000000004F000000D50000006B0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000006B040000000A00006F04000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000100000034F8FFFF5204000030FDFFFF29050000040500006F040000000A00004605000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFF000500006F040000040500004605000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000F602000070070000FA020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000000000030F3FFFFDD020000A0FAFFFFA003000000000000FA02000070070000BD0300000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2863 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D55617274305F50757443686172960000000000000014000D55617274305F507574436861720B495243384D5F56414C5545177263755F7065726970685F636C6F636B5F656E61626C650E7263755F706C6C5F636F6E666967094750494F5F4F43544C1CBCECB2E2B5BDB0B4BCFCBAF3A3ACBFAACABCCBA2D0C2CAFDC2EBB9DC0A44656C61795461626C650D544D313631365F5570646174610D6272696768746E6573736E756D05616464723104706E756D035035340A5F6666745F696D61676507476574436F64650870776D3174656D700D6D6F64653674656D70666C6167096D6F64656D666C673104735F544F086D656E75666C6167087374647579666C670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1707 + 1067 + + + + + + 1 + 0 + + 100 + 2 + + .\main.c + 0 + 365 + 400 + 1 + + 0 + + + ca51f5_config.h + 10 + 1 + 22 + 1 + + 0 + + + TS_Lib\Includes\ts_configuration.h + 27 + 91 + 121 + 1 + 257 + 0 + + + .\rf_send.c + 0 + 82 + 117 + 1 + + 0 + + + rf_send.h + 30 + 1 + 9 + 1 + + 0 + + + .\TS_Lib\Sources\ts_api.c + 0 + 34 + 35 + 1 + + 0 + + + .\Library\Sources\uart.c + 0 + 1 + 1 + 1 + + 0 + + + + +
diff --git a/CA51F5_Touch.uvgui.Administrator b/CA51F5_Touch.uvgui.Administrator new file mode 100644 index 0000000..1cd3d86 --- /dev/null +++ b/CA51F5_Touch.uvgui.Administrator @@ -0,0 +1,1450 @@ + + + + -5.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 115 275 + + + 346 + Code Coverage + 560 160 + + + 204 + Performance Analyzer + 720 + + + + + + 1506 + Symbols + + 133 133 133 + + + 1936 + Watch 1 + + 133 133 133 + + + 1937 + Watch 2 + + 133 133 133 + + + 1935 + Call Stack + Locals + + 133 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 2 + 3 + + -32000 + -32000 + + + -1 + -1 + + + 80 + 44 + 1068 + 889 + + + + 0 + + 1542 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000B000000070000000100000053433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C6D61696E2E6300000000066D61696E2E6300000000F6FA7D00FFFFFFFF64433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C54535F4C69625C536F75726365735C74735F6170692E63000000000874735F6170692E6300000000EAD6A300FFFFFFFF6F433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C54535F4C69625C496E636C756465735C74735F636F6E66696775726174696F6E2E68000000001274735F636F6E66696775726174696F6E2E6800000000B3A6BE00FFFFFFFF65433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C54535F4C69625C496E636C756465735C74735F6170692E68000000000874735F6170692E6800000000A5C2D700FFFFFFFF5E433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C696E636C756465735C73797374656D2E68000000000873797374656D2E6800000000D9ADC200FFFFFFFF65433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C54535F4C69625C496E636C756465735C74735F6465662E68000000000874735F6465662E6800000000F7B88600FFFFFFFF69433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C54535F4C69625C496E636C756465735C74735F736572766963652E68000000000C74735F736572766963652E68000000009CC1B600FFFFFFFF5C433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C6361353166355F636F6E6669672E68000000000F6361353166355F636F6E6669672E6800000000BCA8E100FFFFFFFF56433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C72665F73656E642E63000000000972665F73656E642E6300000000F0A0A100FFFFFFFF58433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C696E746572727570742E63000000000B696E746572727570742E6300000000BECEA100FFFFFFFF61433A5C55736572735C41646D696E6973747261746F725C4465736B746F705CBFC6C2A1CCA95C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F3230323230315C696E636C756465735C6361353166357366722E68000000000B6361353166357366722E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000940100006500000080070000EB020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 94010000590000006E040000C7000000 + + + 16 + 940100006F0000006E040000DD000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000008D010000BC020000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000008D010000BC020000 + + + 16 + 270000004200000009010000FB010000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 97010000700000006B040000AE000000 + + + 16 + 27000000420000005E020000B0000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000008D010000BC020000 + + + 16 + 270000004200000009010000FB010000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000008D010000BC020000 + + + 16 + 270000004200000009010000FB010000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000F00200007D070000CE030000 + + + 16 + 27000000420000005E020000B0000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000830100006E0400000E020000 + + + 16 + 27000000420000005E020000B0000000 + + + + 199 + 199 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F00200007D070000CE030000 + + + 16 + 27000000420000005E020000B0000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 97010000700000006B040000AE000000 + + + 16 + 27000000420000005E020000B0000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 97010000700000006B040000AE000000 + + + 16 + 27000000420000005E020000B0000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 27000000420000005E020000B0000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 97010000700000006B040000AE000000 + + + 16 + 27000000420000005E020000B0000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 97010000700000006B040000AE000000 + + + 16 + 27000000420000005E020000B0000000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 97010000700000006B040000AE000000 + + + 16 + 27000000420000005E020000B0000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + E1020000700000006B04000083010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000008D010000BC020000 + + + 16 + 270000004200000009010000FB010000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F00200007D070000CE030000 + + + 16 + 27000000420000005E020000B0000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F00200007D070000CE030000 + + + 16 + 270000004200000009010000FB010000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000009A0100006B040000F5010000 + + + 16 + 2700000042000000B7010000D2010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E703000080070000FA030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 463 + 0 + 8192 + 1 + + 16 + 000000001C000000DA01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2619 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000C70000006E040000CB000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000940100006F0000006E040000DD00000094010000590000006E040000C70000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFDA02000059000000DE0200009C010000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000001800040000000000000DE0200006F0000006E040000B2010000DE020000590000006E0400009C0100000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF900100004F00000094010000D5020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000006500000090010000EB020000000000004F00000090010000D50200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000007F0100006E0400008301000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000990100006E0400002402000000000000830100006E0400000E02000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF37020000830100003B0200000E02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000D502000080070000D902000001000000010000100400000001000000FCFCFFFF6C000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000100000000000000EF02000080070000FD03000000000000D902000080070000E70300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2261 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000A44656C61795F35307573960000000000000013000A44656C61795F353075730448544D4504666C6167035030350341535405414443485305434B53454C0D55617274315F5075744368617205434B4449560B756172745F7072696E74660855415254315F454E0B55415254315F5052494E540B55415254305F5052494E54086164635F666C6167045033304609696E7465727275707418C9E8D6C3494E5431D6D0B6CFCEAAD7EEB8DFD3C5CFC8BCB604503132460C504C4C5F4D756C7469706C6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 674 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000064341353146359600000000000000010006434135314635000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2220 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 7 + + .\main.c + 6 + 174 + 180 + 1 + + 0 + + + .\TS_Lib\Sources\ts_api.c + 10 + 922 + 927 + 1 + + 0 + + + TS_Lib\Includes\ts_configuration.h + 29 + 104 + 115 + 1 + + 0 + + + TS_Lib\Includes\ts_api.h + 0 + 96 + 100 + 1 + + 0 + + + includes\system.h + 0 + 1 + 1 + 1 + + 0 + + + TS_Lib\Includes\ts_def.h + 0 + 118 + 122 + 1 + + 0 + + + TS_Lib\Includes\ts_service.h + 0 + 1 + 1 + 1 + + 0 + + + ca51f5_config.h + 6 + 5 + 26 + 1 + + 0 + + + .\rf_send.c + 0 + 22 + 23 + 1 + + 0 + + + .\interrupt.c + 0 + 44 + 71 + 1 + + 0 + + + includes\ca51f5sfr.h + 0 + 1 + 1 + 1 + + 0 + + + + +
diff --git a/CA51F5_Touch.uvgui.Mac b/CA51F5_Touch.uvgui.Mac new file mode 100644 index 0000000..9e716f3 --- /dev/null +++ b/CA51F5_Touch.uvgui.Mac @@ -0,0 +1,1468 @@ + + + + -5.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 115 150 + + + 346 + Code Coverage + 507 160 + + + 204 + Performance Analyzer + 667 + + + + + + 1506 + Symbols + + 133 133 133 + + + 1936 + Watch 1 + + 133 133 133 + + + 1937 + Watch 2 + + 133 133 133 + + + 1935 + Call Stack + Locals + + 133 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + 344 + -1936 + -976 + 872 + + + + 0 + + 2244 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D000000020000000100000086433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C536F75726365735C64656275672E63000000000764656275672E63000000005FC3CF00FFFFFFFF92433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C49425C494E434C554445535C54535F434F4E46494755524154494F4E2E48000000001254535F434F4E46494755524154494F4E2E4800000000B5E99D00FFFFFFFF76433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6D61696E2E6300000000066D61696E2E6300000000F6FA7D00FFFFFFFF7B433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C696E746572727570742E63000000000B696E746572727570742E6300000000EAD6A300FFFFFFFF79433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E63000000000972665F73656E642E6300000000B3A6BE00FFFFFFFF86433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C756172742E630000000006756172742E6300000000A5C2D700FFFFFFFF8E433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C73797374656D5F636C6F636B2E63000000000E73797374656D5F636C6F636B2E6300000000D9ADC200FFFFFFFF87433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C64656C61792E63000000000764656C61792E6300000000F7B88600FFFFFFFF87433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C536F75726365735C74735F6170692E63000000000874735F6170692E63000000009CC1B600FFFFFFFF88433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C49425C494E434C554445535C54535F4150492E48000000000854535F4150492E4800000000BCA8E100FFFFFFFF79433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C52465F53454E442E48000000000952465F53454E442E4800000000F0A0A100FFFFFFFF85433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C494E434C554445535C4750494F4445465F46352E48000000000C4750494F4445465F46352E4800000000BECEA100FFFFFFFF85433A5C55736572735C4D61635C4465736B746F705CCDACB2BDCEC4BCFE5CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C3836C3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C494E434C554445535C434135314635585346522E48000000000C434135314635585346522E4800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000017F7FFFFB700000000000000B6050000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 940100004F00000039040000C3000000 + + + 16 + 94F7FFFFB700000039FAFFFF2B010000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000001001000035050000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000001001000035050000 + + + 16 + 2200000039000000FA0000000C020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 970100006600000036040000AA000000 + + + 16 + 22000000390000003E020000AD000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000001001000035050000 + + + 16 + 2200000039000000FA0000000C020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000001001000035050000 + + + 16 + 2200000039000000FA0000000C020000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0300000040040000FD09000035050000 + + + 16 + 22000000390000003E020000AD000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000AC0100003904000034020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000040040000FD09000035050000 + + + 16 + 22000000390000003E020000AD000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 970100006600000036040000AA000000 + + + 16 + 22000000390000003E020000AD000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 970100006600000036040000AA000000 + + + 16 + 22000000390000003E020000AD000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 22000000390000003E020000AD000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 970100006600000036040000AA000000 + + + 16 + 22000000390000003E020000AD000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 970100006600000036040000AA000000 + + + 16 + 22000000390000003E020000AD000000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 970100006600000036040000AA000000 + + + 16 + 22000000390000003E020000AD000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + AC0200006600000036040000A3010000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000001001000035050000 + + + 16 + 2200000039000000FA0000000C020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000040040000FD09000035050000 + + + 16 + 22000000390000003E020000AD000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000040040000FD09000035050000 + + + 16 + 2200000039000000FA0000000C020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C3010000360400001B020000 + + + 16 + 2200000039000000B2010000C9010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000004E050000000A000061050000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 463 + 0 + 8192 + 1 + + 16 + 000000001C000000DA01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2619 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000C300000039040000C7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E65002000000000000094F7FFFFB700000039FAFFFF2B010000940100004F00000039040000C30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFA50200004F000000A9020000BC010000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000001800040000000000000A9F8FFFFB700000039FAFFFF24020000A90200004F00000039040000BC0100000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF130100004F000000170100004E0500000100000002000010040000000100000072FEFFFF67030000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000F6FFFFB700000013F7FFFFB6050000000000004F000000130100004E0500000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000A801000039040000AC01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000F6FFFF1402000039FAFFFF9C02000000000000AC010000390400003402000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF1D020000AC010000210200003402000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000025040000000A0000290400000000000001000000040000000100000054FBFFFF48000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000000000000F6FFFF9104000000000000B60500000000000029040000000A00004E0500000000000040820046040000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2048 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D5072654B657973466C6167534E960000000000000002000D5072654B657973466C6167534E0A4B657973466C6167534E0000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 674 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000064341353146359600000000000000010006434135314635000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2220 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1280 + 800 + + + + + + 1 + 0 + + 100 + 2 + + .\TS_Lib\Sources\debug.c + 0 + 1 + 1 + 1 + + 0 + + + TS_LIB\INCLUDES\TS_CONFIGURATION.H + 0 + 227 + 246 + 1 + + 0 + + + .\main.c + 27 + 361 + 386 + 1 + + 0 + + + .\interrupt.c + 6 + 24 + 25 + 1 + + 0 + + + .\rf_send.c + 0 + 16 + 59 + 1 + + 0 + + + .\Library\Sources\uart.c + 0 + 1 + 1 + 1 + + 0 + + + .\Library\Sources\system_clock.c + 6 + 1 + 24 + 1 + + 0 + + + .\Library\Sources\delay.c + 0 + 1 + 1 + 1 + + 0 + + + .\TS_Lib\Sources\ts_api.c + 29 + 27 + 29 + 1 + + 0 + + + TS_LIB\INCLUDES\TS_API.H + 46 + 127 + 145 + 1 + + 0 + + + RF_SEND.H + 0 + 1 + 11 + 1 + + 0 + + + INCLUDES\GPIODEF_F5.H + 0 + 6 + 7 + 1 + + 0 + + + INCLUDES\CA51F5XSFR.H + 13 + 57 + 98 + 1 + + 0 + + + + +
diff --git a/CA51F5_Touch.uvgui.dell b/CA51F5_Touch.uvgui.dell new file mode 100644 index 0000000..48736f8 --- /dev/null +++ b/CA51F5_Touch.uvgui.dell @@ -0,0 +1,3681 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 140 90 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 500 + 166 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + 63 + -14 + 945 + 822 + + + + 0 + + 1307 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000009000000010000000100000058463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E63000000000972665F73656E642E6300000000FFDC7800FFFFFFFF55463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6D61696E2E6300000000066D61696E2E6300000000BECEA100FFFFFFFF65463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C536F75726365735C64656275672E63000000000764656275672E6300000000F0A0A100FFFFFFFF65463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C756172742E630000000006756172742E6300000000BCA8E100FFFFFFFF5E463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6361353166355F636F6E6669672E68000000000F6361353166355F636F6E6669672E68000000009CC1B600FFFFFFFF71463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C496E636C756465735C74735F636F6E66696775726174696F6E2E68000000001274735F636F6E66696775726174696F6E2E6800000000F7B88600FFFFFFFF66463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C696E636C756465735C756172742E680000000006756172742E6800000000D9ADC200FFFFFFFF66463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C536F75726365735C74735F6170692E63000000000874735F6170692E6300000000A5C2D700FFFFFFFF64463A5C6F6C6420465C574F524B5C50524F4A4543545CC1CEF6CED2E75C32303232303332335C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C696E636C756465735C636135316635787366722E68000000000C636135316635787366722E6800000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000069030000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DF000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000039030000 + + + 16 + A4000000BB0000009401000086010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000039030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000002D02000090050000BD020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000001010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000039030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000039030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000006A03000080070000E6030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006D0300008D050000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F40000006300000090050000DF000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A0040000630000009005000029020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000002D02000090050000A9020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000A4020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000006A03000090050000E6030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006D0300008D050000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006D0300008D050000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006D0300008D050000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000006300000090050000DF000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0000000000000000C40300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 3317 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000A4000000BB0000006C0300004B010000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A4000000BB0000009401000086010000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000052030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000A4000000BB0000009401000086010000000000004F000000F0000000520300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000A4000000BB0000009401000086010000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000520300008007000056030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000A4000000BB0000006C0300004B010000000000005603000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2518 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000C53544F5F53746172745F5570960000000000000014000C53544F5F53746172745F557008696E745F666C61670A74696D655F666C6167320763757268616E670974696D655F666C61670A74696D655F666C6167330954575F4245464F52450854575F414654455205545249534506544E4F49534509544E4F4953455F4E531754494D5F53656C6563744F7574707574547269676765720453746F70064C5644434F4E074C56445F434F4E0F4C45445F4C4556454C5F434F4C4F520A43414C435F535650574D1A535650574D5F335368756E7443616C63447574794379636C6573044A53515205534D5052310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 972 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000064341353146359600000000000000010006434135314635000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000080070000DF000000 + + + 16 + F40000006600000090050000F6000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000FC010000 + + + 16 + BE000000D5000000DA01000015030000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + BE000000D50000008603000065010000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000FC010000 + + + 16 + BE000000D5000000DA01000015030000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000FC010000 + + + 16 + BE000000D5000000DA01000015030000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + BE000000D50000008603000065010000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000042030000C0030000E6030000 + + + 16 + BE000000D50000008603000065010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + BE000000D50000008603000065010000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F40000006300000080070000DF000000 + + + 16 + BE000000D50000008603000065010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + BE000000D50000008603000065010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D50000008603000065010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + BE000000D50000008603000065010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + BE000000D50000008603000065010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + BE000000D50000008603000065010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + BE000000D5000000DA01000015030000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + BE000000D50000008603000065010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + BE000000D5000000DA01000015030000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + BE000000D5000000DA01000015030000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + BE000000D5000000DA01000015030000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + BE000000D50000008603000065010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 953 + 0 + 8192 + 0 + + 16 + 0000000000000000C40300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300005903000085060000CD030000 + + + 16 + BE000000D5000000AE010000A0010000 + + + + 3316 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000DF00000080070000E3000000010000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F40000006600000090050000F6000000F40000004F00000080070000DF0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000003E030000010000000200000004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F00000002C020000000000004F000000F00000003E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000003E030000800700004203000001000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000CC0200003002000090050000D4020000C40300004203000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000042030000C4030000E603000001000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004402000090050000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2520 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000976616C756553656E64960000000000000014000976616C756553656E64124C6F776572566F6C746167655F56616C7565124641554C545F554E444552564F4C54414745104D4F544F525F4641554C545F434F44450B756172745F7072696E746612554152545F436F6E66696752756E4D6F646508736E7072696E746606737363616E66085F5F54494D455F5F0450313346045031364604503137460D75617274305F72785F666C616709626F646833326269740A73775F6B315F6D6F64650A736C6565705F657869740C6C6F775F656C655F666C61670973746F705F74696D65074348525F4C44470473746F700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 1 + + .\rf_send.c + 0 + 1 + 23 + 1 + + 0 + + + .\main.c + 0 + 373 + 339 + 1 + + 0 + + + .\TS_Lib\Sources\debug.c + 0 + 65 + 94 + 1 + + 0 + + + .\Library\Sources\uart.c + 18 + 42 + 55 + 1 + + 0 + + + ca51f5_config.h + 17 + 1 + 22 + 1 + + 0 + + + TS_Lib\Includes\ts_configuration.h + 86 + 94 + 240 + 1 + + 0 + + + Library\includes\uart.h + 0 + 1 + 34 + 1 + + 0 + + + .\TS_Lib\Sources\ts_api.c + 0 + 1114 + 1124 + 1 + + 0 + + + Library\Sources\../../includes/ca51f5xsfr.h + 0 + 1 + 5 + 1 + + 0 + + + + +
diff --git a/CA51F5_Touch.uvopt b/CA51F5_Touch.uvopt new file mode 100644 index 0000000..f8fc283 --- /dev/null +++ b/CA51F5_Touch.uvopt @@ -0,0 +1,510 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + CA51F5 + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\lst\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 13 + + + + + + + + + + + BIN\CA8051.dll + + + + 0 + DLGTC51 + + + + 0 + CA8051 + -S4 -B57600 -O-858993460 + + + 0 + DLGDC51 + (94=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(81=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(1201=-1,-1,-1,-1,0)(90=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(5045=-1,-1,-1,-1,0)(5046=-1,-1,-1,-1,0)(5031=-1,-1,-1,-1,0)(104=-1,-1,-1,-1,0)(5015=-1,-1,-1,-1,0)(5160=-1,-1,-1,-1,0)(5057=-1,-1,-1,-1,0)(5166=-1,-1,-1,-1,0)(5164=-1,-1,-1,-1,0)(5165=-1,-1,-1,-1,0) + + + + + 0 + 0 + 432 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 1 + 0 + 436 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 2 + 0 + 433 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 3 + 0 + 437 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 4 + 0 + 400 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 5 + 0 + 402 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 6 + 0 + 403 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 7 + 0 + 399 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 8 + 0 + 401 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 9 + 0 + 431 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 10 + 0 + 435 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\workplace\工作文件\程序\锦锐\CA51F551S3\8键面板触摸\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+
+ + + 0 + 1 + KeysFlagSN + + + + 0 + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + +
+
+ + + Sources + 1 + 0 + 0 + 0 + + 1 + 1 + 1 + 1 + 0 + 0 + .\main.c + main.c + 0 + 0 + + + 1 + 2 + 1 + 0 + 0 + 0 + .\Library\Sources\delay.c + delay.c + 0 + 0 + + + 1 + 3 + 1 + 1 + 0 + 0 + .\Library\Sources\system_clock.c + system_clock.c + 0 + 0 + + + 1 + 4 + 1 + 0 + 0 + 0 + .\Library\Sources\uart.c + uart.c + 0 + 0 + + + 1 + 5 + 1 + 0 + 0 + 0 + .\interrupt.c + interrupt.c + 0 + 0 + + + 1 + 6 + 1 + 0 + 0 + 0 + .\rf_send.c + rf_send.c + 0 + 0 + + + + + TS_lib + 1 + 0 + 0 + 0 + + 2 + 7 + 1 + 0 + 0 + 0 + .\TS_Lib\Sources\debug.c + debug.c + 0 + 0 + + + 2 + 8 + 1 + 0 + 0 + 0 + .\TS_Lib\Sources\ts_api.c + ts_api.c + 0 + 0 + + + 2 + 9 + 4 + 0 + 0 + 0 + .\TS_Lib\Sources\ts_service.LIB + ts_service.LIB + 0 + 0 + + + + + Lib + 0 + 0 + 0 + 0 + + 3 + 10 + 2 + 0 + 0 + 0 + .\Library\Lib\STARTUP.A51 + STARTUP.A51 + 0 + 0 + + + +
diff --git a/CA51F5_Touch.uvproj b/CA51F5_Touch.uvproj new file mode 100644 index 0000000..6a750d8 --- /dev/null +++ b/CA51F5_Touch.uvproj @@ -0,0 +1,445 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + CA51F5 + 0x0 + MCS-51 + 8 + + + R8051XC2 + CAST, Inc. + IRAM(0-0xFF) CLOCK(24000000) MOD517DP MDU_R515 + + "LIB\STARTUP.A51" ("Standard 8051 Startup Code") + + 4918 + REG51XC2.H + + + + + + + + + + + 0 + 0 + + + + Cast\ + Cast\ + + 0 + 0 + 0 + 0 + 1 + + .\hex\ + ca51fx_onoff + 1 + 0 + 1 + 1 + 1 + .\lst\ + 0 + 0 + 1 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + make_bin.bat + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + -PMW -DPC -BSE + DCore51.DLL + -pR8051XC2 -o38081BFBFFF + S8051.DLL + + TCore51.DLL + -pR8051XC + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + + 0 + 13 + + + + + + + + + + + + + + BIN\CA8051.dll + + + + + 1 + 0 + 0 + 0 + 0 + -1 + + 0 + + "" () + + + + + 0 + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x2000 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x200 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 8 + 9 + 2 + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 1 + 0 + 1 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + REMOVEUNUSED + + + + + + + + + 0X0000-0X3FFF + 0X0000-0X0FFF + + + + + + + + + + + + + + + + + Sources + + + main.c + 1 + .\main.c + + + delay.c + 1 + .\Library\Sources\delay.c + + + system_clock.c + 1 + .\Library\Sources\system_clock.c + + + uart.c + 1 + .\Library\Sources\uart.c + + + interrupt.c + 1 + .\interrupt.c + + + rf_send.c + 1 + .\rf_send.c + + + + + TS_lib + + + debug.c + 1 + .\TS_Lib\Sources\debug.c + + + ts_api.c + 1 + .\TS_Lib\Sources\ts_api.c + + + ts_service.LIB + 4 + .\TS_Lib\Sources\ts_service.LIB + + + + + Lib + + + STARTUP.A51 + 2 + .\Library\Lib\STARTUP.A51 + + + + + + + +
diff --git a/CA51F5_Touch_uvopt.bak b/CA51F5_Touch_uvopt.bak new file mode 100644 index 0000000..009dbd3 --- /dev/null +++ b/CA51F5_Touch_uvopt.bak @@ -0,0 +1,1864 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + CA51F5 + 0x0 + MCS-51 + + 24000000 + + 0 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\lst\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 0 + + S8051.DLL + -PMW -DPC -BSE + DCore51.DLL + -pR8051XC2 -o38081BFBFFF + S8051.DLL + + TCore51.DLL + -pR8051XC + + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 9 + + + + + + + + + + + BIN\CACHIP.dll + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + Sources + 1 + 0 + 0 + + 1 + 1 + 1 + 1 + 0 + 42 + 0 + 67 + 67 + 0 + .\main.c + main.c + + + 1 + 2 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\Library\Sources\delay.c + delay.c + + + 1 + 3 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\Library\Sources\system_clock.c + system_clock.c + + + 1 + 4 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\Library\Sources\uart.c + uart.c + + + 1 + 5 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\interrupt.c + interrupt.c + + + 1 + 6 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\rf_send.c + rf_send.c + + + + + TS_lib + 1 + 0 + 0 + + 2 + 7 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\TS_Lib\Sources\debug.c + debug.c + + + 2 + 8 + 1 + 0 + 0 + 64 + 0 + 918 + 925 + 0 + .\TS_Lib\Sources\ts_api.c + ts_api.c + + + 2 + 9 + 4 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\TS_Lib\Sources\ts_service.LIB + ts_service.LIB + + + + + Lib + 0 + 0 + 0 + + 3 + 10 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\Library\Lib\STARTUP.A51 + STARTUP.A51 + + + + + D:\工作文件\Fengshu\常规产品\幻彩程序\量产程序\常规幻彩遥控器程序\遥控器触摸通码改S灵敏度-通码\遥控器触摸色环唤醒修改-不可对码\CA51F5_Touch_DemoProj_v2.3-433M\CA51F5_CONFIG.H + 1 + 22 + 0 + + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + + + D:\工作文件\Fengshu\常规产品\幻彩程序\量产程序\常规幻彩遥控器程序\遥控器触摸通码改S灵敏度-通码\遥控器触摸色环唤醒修改-不可对码\CA51F5_Touch_DemoProj_v2.3-433M\TS_LIB\INCLUDES\TS_SERVICE.H + 1 + 1 + 0 + + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + + + D:\工作文件\Fengshu\常规产品\幻彩程序\量产程序\常规幻彩遥控器程序\遥控器触摸通码改S灵敏度-通码\遥控器触摸色环唤醒修改-不可对码\CA51F5_Touch_DemoProj_v2.3-433M\TS_LIB\INCLUDES\TS_DEF.H + 7 + 7 + 0 + + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + + + D:\工作文件\Fengshu\常规产品\幻彩程序\量产程序\常规幻彩遥控器程序\遥控器触摸通码改S灵敏度-通码\遥控器触摸色环唤醒修改-不可对码\CA51F5_Touch_DemoProj_v2.3-433M\INCLUDES\SYSTEM.H + 1 + 1 + 0 + + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + + + D:\工作文件\Fengshu\常规产品\幻彩程序\量产程序\常规幻彩遥控器程序\遥控器触摸通码改S灵敏度-通码\遥控器触摸色环唤醒修改-不可对码\CA51F5_Touch_DemoProj_v2.3-433M\TS_LIB\INCLUDES\TS_API.H + 25 + 31 + 0 + + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + + + D:\工作文件\Fengshu\常规产品\幻彩程序\量产程序\常规幻彩遥控器程序\遥控器触摸通码改S灵敏度-通码\遥控器触摸色环唤醒修改-不可对码\CA51F5_Touch_DemoProj_v2.3-433M\TS_LIB\INCLUDES\TS_CONFIGURATION.H + 100 + 128 + 0 + + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + + + 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 + 2 + + + .\main.c + 42 + 67 + 67 + + + .\TS_Lib\Sources\ts_api.c + 64 + 918 + 925 + + + TS_LIB\INCLUDES\TS_CONFIGURATION.H + 16 + 100 + 128 + + + TS_LIB\INCLUDES\TS_API.H + 26 + 25 + 31 + + + INCLUDES\SYSTEM.H + 0 + 1 + 1 + + + TS_LIB\INCLUDES\TS_DEF.H + 0 + 7 + 7 + + + TS_LIB\INCLUDES\TS_SERVICE.H + 0 + 1 + 1 + + + CA51F5_CONFIG.H + 3 + 1 + 22 + + + + + +
diff --git a/Library/Includes/Delay.h.bak b/Library/Includes/Delay.h.bak new file mode 100644 index 0000000..8863ee9 --- /dev/null +++ b/Library/Includes/Delay.h.bak @@ -0,0 +1,7 @@ +#ifndef _Delay_H_ +#define _Delay_H_ +/*********************************************************************************************************************/ +void Delay_50us(unsigned int n); +void Delay_ms(unsigned char n); +/*********************************************************************************************************************/ +#endif \ No newline at end of file diff --git a/Library/Includes/delay.h b/Library/Includes/delay.h new file mode 100644 index 0000000..aaa8692 --- /dev/null +++ b/Library/Includes/delay.h @@ -0,0 +1,7 @@ +#ifndef _Delay_H_ +#define _Delay_H_ +/*********************************************************************************************************************/ +void Delay_50us(unsigned int n); +void Delay_ms(unsigned int delay_nms); +/*********************************************************************************************************************/ +#endif \ No newline at end of file diff --git a/Library/Includes/exint.h b/Library/Includes/exint.h new file mode 100644 index 0000000..fd758b7 --- /dev/null +++ b/Library/Includes/exint.h @@ -0,0 +1,26 @@ +//EPxCONĴ +#define EPIE(N) (N<<7) //N=0-1 +#define EPPL(N) (N<<6) //N=0-1 + +//EPIF +#define EPIF2 (1<<2) +#define EPIF1 (1<<1) +#define EPIF0 (1<<0) +enum +{ + P00_INDEX = 0, + P01_INDEX = 1, + P02_INDEX = 2, + P03_INDEX = 3, + P04_INDEX = 4, + P05_INDEX = 5, + P06_INDEX = 6, + P07_INDEX = 7, + + P30_INDEX = 8, + P31_INDEX = 9, + P32_INDEX = 10, + P33_INDEX = 11, + P34_INDEX = 12, + P35_INDEX = 13, +}; \ No newline at end of file diff --git a/Library/Includes/flash.h b/Library/Includes/flash.h new file mode 100644 index 0000000..d0be13b --- /dev/null +++ b/Library/Includes/flash.h @@ -0,0 +1,32 @@ +#ifndef FLASH_H +#define FLASH_H +enum +{ + CMD_DATA_AREA_READ = 1, + CMD_DATA_AREA_WIRTE = 2, + CMD_DATA_AREA_ERASE_SECTOR = 3, + CMD_FLASH_ERASE_ALL = 4, + CMD_CODE_AREA_READ = 5, + CMD_CODE_AREA_WRITE = 6, + CMD_CODE_AREA_ERASE_SECTOR = 7, +}; +enum +{ + CMD_FLASH_UNLOCK = 0x28, + CMD_CODE_AREA_UNLOCK = 0x29, + CMD_DATA_AREA_UNLOCK = 0x2A, + CMD_FLASH_LOCK = 0xAA, +}; + + //ĴFSCMDλ +#define IFEN (1<<7) + + +void Data_Area_Sector_Erase(unsigned char SectorNumber); +void Data_Area_Write_Byte(unsigned int Address,unsigned char Data); +void Data_Area_Mass_Write(unsigned int Address,unsigned char *pData,unsigned int Length); +unsigned char Data_Area_Read_Byte(unsigned int Address); +void Data_Area_Mass_Read(unsigned int Address,unsigned char *pData,unsigned int Length); +void Code_Area_Sector_Erase(unsigned char SectorNumber); +unsigned long int GetChipID(void); +#endif \ No newline at end of file diff --git a/Library/Includes/i2c.h b/Library/Includes/i2c.h new file mode 100644 index 0000000..9c7cc49 --- /dev/null +++ b/Library/Includes/i2c.h @@ -0,0 +1,40 @@ + +//I2CCON +#define I2CE(N) (N<<7) +#define I2CIE(N) (N<<6) +#define STA(N) (N<<5) +#define STP(N) (N<<4) +#define CKHD(N) (N<<3) +#define AAK(N) (N<<2) +#define CBSE(N) (N<<1) +#define STFE(N) (N<<0) + +//I2CADR +#define GCE(N) (N<<7) //N = 0~1 + +//I2CFLG +#define I2CF (1<<0) + + +typedef enum { + I2CE_disable = 0, + I2CE_enable = 1, +} I2CE_TypeDef; + +typedef enum { + I2CIE_disable = 0, + I2CIE_enable = 1, +} I2CIE_TypeDef; + +typedef enum { + STFE_disable = 0, + STFE_enable = 1, +} STFE_TypeDef; + + +typedef enum { + I2C_SEL_P30_P31 = 0, + I2C_SEL_P03_P02 = 1, +} I2CIOS_TypeDef; +void I2C_init(I2CE_TypeDef i2ce,I2CIE_TypeDef i2cie,STFE_TypeDef stfe,unsigned char i2cadr,unsigned char i2ccr); +void I2C_SelectComPin(I2CIOS_TypeDef i2cios); \ No newline at end of file diff --git a/Library/Includes/pwm.h b/Library/Includes/pwm.h new file mode 100644 index 0000000..bf00557 --- /dev/null +++ b/Library/Includes/pwm.h @@ -0,0 +1,110 @@ +#ifndef PWM_H +#define PWM_H + +//PWMxCON +#define PWMIE(N) (N<<7) //N=0-1 +#define PWMTOG(N) (N<<6) //N=0-1 +#define PWMMOD(N) (N<<3) //N=0-7 +#define PWMPOL(N) (N<<2) //N=0-1 +#define PWMCKS_SYS 0 +#define PWMCKS_IL 1 +#define PWMCKS_IH 2 + + +//PWMIF +#define PWM5IF (1<<5) +#define PWM4IF (1<<4) +#define PWM3IF (1<<3) +#define PWM2IF (1<<2) +#define PWM1IF (1<<1) +#define PWM0IF (1<<0) + +//LEFLG +#define LEF1 (1<<7) +#define LEBSY1 (1<<6) +#define LEF0 (1<<3) +#define LEBSY0 (1<<2) + +//PWMCON +#define TIE(N) (N<<7) +#define ZIE(N) (N<<6) +#define PIE(N) (N<<5) +#define NIE(N) (N<<4) +#define MS(N) (N<<3) //Ķģʽ +#define MOD(N) (N<<0) //ģʽ + +#define CKS(N) (N) //N=0~6 + + +//PWMCFG +#define TOG(N) (N<<7) + + +typedef enum { + PWM_CH0 = 0, + PWM_CH1 = 1, + PWM_CH2 = 2, + PWM_CH3 = 3, + PWM_CH4 = 4, + PWM_CH5 = 5, +} PWM_Channel_TypeDef; + +typedef enum { + PWMIE_off = 0, + PWMIE_on = 1, +} PWMIE_TypeDef; + +typedef enum { + CKS_SYS = 0, + CKS_IL = 1, + CKS_IH = 2, +} PWM_CKS_TypeDef; + +typedef enum { + Toggle_Off = 0, + Toggle_On = 1, +} PWM_Toggle_TypeDef; + + + + +void PWM0_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal); +void PWM1_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal, + unsigned char pwmmod); +void PWM2_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal, + unsigned char pwmmod); +void PWM3_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal); +void PWM4_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal); +void PWM5_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal); +void PWM0_CfgDivDuty(unsigned int DIV,unsigned int DUT); +void PWM1_CfgDivDuty(unsigned int DIV,unsigned int DUT); +void PWM2_CfgDivDuty(unsigned int DIV,unsigned int DUT); +void PWM3_CfgDivDuty(unsigned int DIV,unsigned int DUT); +void PWM4_CfgDivDuty(unsigned int DIV,unsigned int DUT); +void PWM5_CfgDivDuty(unsigned int DIV,unsigned int DUT); +void PWM_CfgLedut(unsigned int Ledut); +void PWM_CfgLedwtm(unsigned int Ledwtm); +void PWM1_WriteLedat(unsigned char Ledat); +void PWM2_WriteLedat(unsigned char Ledat); +void PWM_Enable(PWM_Channel_TypeDef Pwmch); +void PWM_Disable(PWM_Channel_TypeDef Pwmch); + +#endif \ No newline at end of file diff --git a/Library/Includes/stop_idle.h b/Library/Includes/stop_idle.h new file mode 100644 index 0000000..55b652c --- /dev/null +++ b/Library/Includes/stop_idle.h @@ -0,0 +1,9 @@ +//PCON +#define STOP (1<<1) +#define IDLE (1<<0) + + +void StopEnter(void); +unsigned char CheckStopCondition(void); +void IdleEnter(void); +unsigned char CheckIdleCondition(void); \ No newline at end of file diff --git a/Library/Includes/system_clock.h b/Library/Includes/system_clock.h new file mode 100644 index 0000000..9b351fd --- /dev/null +++ b/Library/Includes/system_clock.h @@ -0,0 +1,16 @@ +#ifndef SYS_CLOCK_H +#define SYS_CLOCK_H + +//CKCONĴ +#define IHCKE (1<<7) +#define ILCKE (1<<6) + +#define SCKS (1<<0) //0-IH,1-IL + +#define CKSEL_IRCH 0 +#define CKSEL_IRCL 1 + + +void Sys_Clk_Set_IRCH(void); +void Sys_Clk_Set_IRCL(void); +#endif diff --git a/Library/Includes/tmc.h b/Library/Includes/tmc.h new file mode 100644 index 0000000..ce31d57 --- /dev/null +++ b/Library/Includes/tmc.h @@ -0,0 +1,5 @@ +//TMCON +#define TME(N) (N<<7) //N=0-1 +#define TMF (1<<0) + + diff --git a/Library/Includes/uart.h b/Library/Includes/uart.h new file mode 100644 index 0000000..bd43313 --- /dev/null +++ b/Library/Includes/uart.h @@ -0,0 +1,42 @@ + +#define UART0_TX_BUF_SIZE 20 +#define UART0_RX_BUF_SIZE 20 + +typedef struct +{ + unsigned char head; + unsigned char tail; +}T_Buf_Info; + + +#ifdef _UART_C_ +#ifdef UART0_EN + T_Buf_Info xdata uart0_send; + T_Buf_Info xdata uart0_rev; + unsigned char uart0_tx_buf[UART0_TX_BUF_SIZE]; + unsigned char xdata uart0_rx_buf[UART0_RX_BUF_SIZE]; + bit uart0_tx_flag; +#endif +#else +#ifdef UART0_EN + extern T_Buf_Info xdata uart0_send; + extern T_Buf_Info xdata uart0_rev; + extern unsigned char uart0_tx_buf[UART0_TX_BUF_SIZE]; + extern unsigned char xdata uart0_rx_buf[UART0_RX_BUF_SIZE]; + extern bit uart0_tx_flag; +#endif +#endif +#ifndef UART0_EN + #define Uart0_PutChar(n) +#endif + +#ifdef UART0_EN +void Uart0_PutChar(unsigned char bdat); +void Uart0_Initial(unsigned long int baudrate); +void UART0_RX_ISR(void); +void UART0_TX_ISR(void); +#endif + +#ifdef PRINT_EN +void uart_printf(char *fmt,...); +#endif \ No newline at end of file diff --git a/Library/Includes/wdt.h b/Library/Includes/wdt.h new file mode 100644 index 0000000..fd869ed --- /dev/null +++ b/Library/Includes/wdt.h @@ -0,0 +1,28 @@ +#ifndef WDT_H +#define WDT_H +/*************************************************************************************************************/ +//WDCON +#define WDTS(N) (N<<6) //N=0~2 +#define WDRE(N) (N<<0) //N=0~1 + + +//WDFLG +#define WDIF (1<<1) +#define WDRF (1<<0) + + +typedef enum { + WDTS_DISABLE = 0, + WDTS_IRCH = 1, + WDTS_IRCL = 2, +} WDTS_TypeDef; + +typedef enum { + WDRE_int = 0, + WDRE_reset = 1, +} WDRE_TypeDef; + +void WDT_init(WDTS_TypeDef wdts,WDRE_TypeDef wdre,unsigned int wdtvh); +void WDT_FeedDog(void); +/*************************************************************************************************************/ +#endif \ No newline at end of file diff --git a/Library/Lib/STARTUP.A51 b/Library/Lib/STARTUP.A51 new file mode 100644 index 0000000..baa2046 --- /dev/null +++ b/Library/Lib/STARTUP.A51 @@ -0,0 +1,198 @@ +$NOMOD51 +;------------------------------------------------------------------------------ +; This file is part of the C51 Compiler package +; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc. +; Version 8.01 +; +; *** <<< Use Configuration Wizard in Context Menu >>> *** +;------------------------------------------------------------------------------ +; STARTUP.A51: This code is executed after processor reset. +; +; To translate this file use A51 with the following invocation: +; +; A51 STARTUP.A51 +; +; To link the modified STARTUP.OBJ file to your application use the following +; Lx51 invocation: +; +; Lx51 your object file list, STARTUP.OBJ controls +; +;------------------------------------------------------------------------------ +; +; User-defined Power-On Initialization of Memory +; +; With the following EQU statements the initialization of memory +; at processor reset can be defined: +; +; IDATALEN: IDATA memory size <0x0-0x100> +; Note: The absolute start-address of IDATA memory is always 0 +; The IDATA space overlaps physically the DATA and BIT areas. +IDATALEN EQU 80H +; +; XDATASTART: XDATA memory start address <0x0-0xFFFF> +; The absolute start address of XDATA memory +XDATASTART EQU 0 +; +; XDATALEN: XDATA memory size <0x0-0xFFFF> +; The length of XDATA memory in bytes. +XDATALEN EQU 0 +; +; PDATASTART: PDATA memory start address <0x0-0xFFFF> +; The absolute start address of PDATA memory +PDATASTART EQU 0H +; +; PDATALEN: PDATA memory size <0x0-0xFF> +; The length of PDATA memory in bytes. +PDATALEN EQU 0H +; +; +;------------------------------------------------------------------------------ +; +; Reentrant Stack Initialization +; +; The following EQU statements define the stack pointer for reentrant +; functions and initialized it: +; +; Stack Space for reentrant functions in the SMALL model. +; IBPSTACK: Enable SMALL model reentrant stack +; Stack space for reentrant functions in the SMALL model. +IBPSTACK EQU 0 ; set to 1 if small reentrant is used. +; IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF> +; Set the top of the stack to the highest location. +IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 +; +; +; Stack Space for reentrant functions in the LARGE model. +; XBPSTACK: Enable LARGE model reentrant stack +; Stack space for reentrant functions in the LARGE model. +XBPSTACK EQU 0 ; set to 1 if large reentrant is used. +; XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF> +; Set the top of the stack to the highest location. +XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1 +; +; +; Stack Space for reentrant functions in the COMPACT model. +; PBPSTACK: Enable COMPACT model reentrant stack +; Stack space for reentrant functions in the COMPACT model. +PBPSTACK EQU 0 ; set to 1 if compact reentrant is used. +; +; PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF> +; Set the top of the stack to the highest location. +PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 +; +; +;------------------------------------------------------------------------------ +; +; Memory Page for Using the Compact Model with 64 KByte xdata RAM +; Compact Model Page Definition +; +; Define the XDATA page used for PDATA variables. +; PPAGE must conform with the PPAGE set in the linker invocation. +; +; Enable pdata memory page initalization +PPAGEENABLE EQU 0 ; set to 1 if pdata object are used. +; +; PPAGE number <0x0-0xFF> +; uppermost 256-byte address of the page used for PDATA variables. +PPAGE EQU 0 +; +; SFR address which supplies uppermost address byte <0x0-0xFF> +; most 8051 variants use P2 as uppermost address byte +PPAGE_SFR DATA 0A0H +; +; +;------------------------------------------------------------------------------ + +; Standard SFR Symbols +ACC DATA 0E0H +B DATA 0F0H +SP DATA 81H +DPL DATA 82H +DPH DATA 83H + + NAME ?C_STARTUP + + +?C_C51STARTUP SEGMENT CODE +?STACK SEGMENT IDATA + + RSEG ?STACK + DS 1 + + EXTRN CODE (?C_START) + PUBLIC ?C_STARTUP + + CSEG AT 0 +?C_STARTUP: LJMP STARTUP1 + + RSEG ?C_C51STARTUP + +STARTUP1: + +IF IDATALEN <> 0 + MOV R0,#IDATALEN - 1 + CLR A +IDATALOOP: MOV @R0,A + DJNZ R0,IDATALOOP +ENDIF + +IF XDATALEN <> 0 + MOV DPTR,#XDATASTART + MOV R7,#LOW (XDATALEN) + IF (LOW (XDATALEN)) <> 0 + MOV R6,#(HIGH (XDATALEN)) +1 + ELSE + MOV R6,#HIGH (XDATALEN) + ENDIF + CLR A +XDATALOOP: MOVX @DPTR,A + INC DPTR + DJNZ R7,XDATALOOP + DJNZ R6,XDATALOOP +ENDIF + +IF PPAGEENABLE <> 0 + MOV PPAGE_SFR,#PPAGE +ENDIF + +IF PDATALEN <> 0 + MOV R0,#LOW (PDATASTART) + MOV R7,#LOW (PDATALEN) + CLR A +PDATALOOP: MOVX @R0,A + INC R0 + DJNZ R7,PDATALOOP +ENDIF + +IF IBPSTACK <> 0 +EXTRN DATA (?C_IBP) + + MOV ?C_IBP,#LOW IBPSTACKTOP +ENDIF + +IF XBPSTACK <> 0 +EXTRN DATA (?C_XBP) + + MOV ?C_XBP,#HIGH XBPSTACKTOP + MOV ?C_XBP+1,#LOW XBPSTACKTOP +ENDIF + +IF PBPSTACK <> 0 +EXTRN DATA (?C_PBP) + MOV ?C_PBP,#LOW PBPSTACKTOP +ENDIF + + MOV SP,#?STACK-1 + +; This code is required if you use L51_BANK.A51 with Banking Mode 4 +; Code Banking +; Select Bank 0 for L51_BANK.A51 Mode 4 +#if 0 +; Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4. +EXTRN CODE (?B_SWITCH0) + CALL ?B_SWITCH0 ; init bank mechanism to code bank 0 +#endif +; + LJMP ?C_START + + END diff --git a/Library/Sources/delay.c b/Library/Sources/delay.c new file mode 100644 index 0000000..3a8f1e6 --- /dev/null +++ b/Library/Sources/delay.c @@ -0,0 +1,20 @@ +#ifndef _Delay_C_ +#define _Delay_C_ +/*********************************************************************************************************************/ +void Delay_50us(unsigned int n) +{ + unsigned char i; + while(n--) + { + for(i=0;i<71;i++); + } +} +void Delay_ms(unsigned int delay_nms) +{ + while(delay_nms--) + { + Delay_50us(20); + } +} +/*********************************************************************************************************************/ +#endif \ No newline at end of file diff --git a/Library/Sources/flash.c b/Library/Sources/flash.c new file mode 100644 index 0000000..62b6610 --- /dev/null +++ b/Library/Sources/flash.c @@ -0,0 +1,245 @@ +#ifndef _FLASH_C_ +#define _FLASH_C_ +/*********************************************************************************************************************/ +#include "ca51f5_config.h" +#include "../../includes/ca51f5sfr.h" +#include "../../includes/ca51f5xsfr.h" +#include "../../includes/gpiodef_f5.h" + +#include "../../includes/system.h" +#include "../../Library/includes/flash.h" +#include +/*********************************************************************************************************************/ + +/*********************************************************************************** + Data_Area_Erase_Sector +ռһ +˵ + 룺unsigned char SectorNumber ţΧ 0-255 + أ +***********************************************************************************/ +void Data_Area_Sector_Erase(unsigned char SectorNumber) +{ + unsigned int SectorAddress; + FSCMD = 0; + SectorAddress = 0x80*SectorNumber; + LOCK = CMD_DATA_AREA_UNLOCK; // + PTSH = (unsigned char)(SectorAddress>>8); //дַ + PTSL = (unsigned char)(SectorAddress); //дַ + FSCMD = CMD_DATA_AREA_ERASE_SECTOR; //ִв + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH +} +/*********************************************************************************** + Data_Area_Write_Byte +FLASHдһֽ + 룺unsigned int Address ռдַ + unsigned char Data д + أ +***********************************************************************************/ +void Data_Area_Write_Byte(unsigned int Address,unsigned char Data) +{ + FSCMD = 0; + LOCK = CMD_DATA_AREA_UNLOCK; // + PTSH = (unsigned char)(Address>>8); //дλַ + PTSL = (unsigned char)Address; //дλַ + FSCMD = CMD_DATA_AREA_WIRTE; //ִд + FSDAT = Data; //װ + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH +} +/*********************************************************************************** + Data_Area_Mass_Write +FLASHд + 룺unsigned int wAddress ռдʼַ + unsigned char *pData ָ룬ָдݻ + unsigned char Length дݳ + أ +***********************************************************************************/ +void Data_Area_Mass_Write(unsigned int Address,unsigned char *pData,unsigned int Length) +{ + unsigned int i; + FSCMD = 0; + LOCK = CMD_DATA_AREA_UNLOCK; // + PTSH = (unsigned char)(Address>>8); //дλַ + PTSL = (unsigned char)Address; //дλַ + FSCMD = CMD_DATA_AREA_WIRTE; //ִд + for(i = 0; i < Length; i++) + { + FSDAT = *pData++; //װ + } + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH +} +/*********************************************************************************** + Data_Area_Read_Byte +FLASHһֽ + 룺unsigned int Address ռַ + أȡһֽ +***********************************************************************************/ +unsigned char Data_Area_Read_Byte(unsigned int Address) +{ + unsigned char Data_Temp; + FSCMD = 0; + LOCK = CMD_DATA_AREA_UNLOCK; // + PTSH = (unsigned char)(Address>>8); //дλַ + PTSL = (unsigned char)Address; //дλַ + FSCMD = CMD_DATA_AREA_READ; //ִж + Data_Temp = FSDAT; + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH + return Data_Temp; +} +/*********************************************************************************** + Data_Area_Mass_Read +FLASH + 룺unsigned int Address ռʼַ + unsigned char *pData ָ룬ָݻ + unsigned char Length ݳ + أ +***********************************************************************************/ +void Data_Area_Mass_Read(unsigned int Address,unsigned char *pData,unsigned int Length) +{ + unsigned int i; + FSCMD = 0; + LOCK = CMD_DATA_AREA_UNLOCK; // + PTSH = (unsigned char)(Address>>8); //дλַ + PTSL = (unsigned char)Address; //дλַ + FSCMD = CMD_DATA_AREA_READ; //ִж + for(i = 0; i < Length; i++) + { + *pData++ = FSDAT; + } + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH +} +/*********************************************************************************** + Code_Area_Erase_Sector +ռһ +˵ + 룺unsigned char SectorNumber ţΧ 0-255 + أ +***********************************************************************************/ +void Code_Area_Sector_Erase(unsigned char SectorNumber) +{ + unsigned int SectorAddress; + FSCMD = 0; + SectorAddress = 0x80*SectorNumber; + LOCK = CMD_CODE_AREA_UNLOCK; // + PTSH = (unsigned char)(SectorAddress>>8); //дַ + PTSL = (unsigned char)(SectorAddress); //дַ + FSCMD = CMD_CODE_AREA_ERASE_SECTOR; //ִв + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH +} +/*********************************************************************************** + Code_Area_Write_Byte +FLASHдһֽ + 룺unsigned int Address ռдַ + unsigned char Data д + أ +***********************************************************************************/ +void Code_Area_Write_Byte(unsigned int Address,unsigned char Data) +{ + FSCMD = 0; + LOCK = CMD_CODE_AREA_UNLOCK; // + PTSH = (unsigned char)(Address>>8); //дλַ + PTSL = (unsigned char)Address; //дλַ + FSCMD = CMD_CODE_AREA_WRITE; //ִд + FSDAT = Data; //װ + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH +} +/*********************************************************************************** + Code_Area_Mass_Write +FLASHд + 룺unsigned int Address ռдʼַ + unsigned char *pData ָ룬ָдݻ + unsigned char Length дݳ + أ +***********************************************************************************/ +void Code_Area_Mass_Write(unsigned int Address,unsigned char *pData,unsigned int Length) +{ + unsigned int i; + FSCMD = 0; + LOCK = CMD_CODE_AREA_UNLOCK; // + PTSH = (unsigned char)(Address>>8); //дλַ + PTSL = (unsigned char)Address; //дλַ + FSCMD = CMD_CODE_AREA_WRITE; //ִд + for(i = 0; i < Length; i++) + { + FSDAT = *pData++; //װ + } + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH +} +/*********************************************************************************** + Code_Area_Read_Byte +FLASHһֽ + 룺unsigned int Address ռַ + أȡһֽ +***********************************************************************************/ +unsigned char Code_Area_Read_Byte(unsigned int Address) +{ + unsigned char Data_Temp; + FSCMD = 0; + LOCK = CMD_CODE_AREA_UNLOCK; // + PTSH = (unsigned char)(Address>>8); //дλַ + PTSL = (unsigned char)Address; //дλַ + FSCMD = CMD_CODE_AREA_READ; //ִж + Data_Temp = FSDAT; + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH + return Data_Temp; +} +/*********************************************************************************** + Code_Area_Mass_Read + FLASH + 룺 unsigned int Address ռʼַ + unsigned char *pData ָ룬ָݻ + unsigned char Length ݳ + أ +***********************************************************************************/ +void Code_Area_Mass_Read(unsigned int Address,unsigned char *pData,unsigned int Length) +{ + unsigned int i; + FSCMD = 0; + LOCK = CMD_CODE_AREA_UNLOCK; // + PTSH = (unsigned char)(Address>>8); //дλַ + PTSL = (unsigned char)Address; //дλַ + FSCMD = CMD_CODE_AREA_READ; //ִж + for(i = 0; i < Length; i++) + { + *pData++ = FSDAT; + } + FSCMD = 0; + LOCK = CMD_FLASH_LOCK; //FLASH +} + +/*********************************************************************************** + GetChipID + оƬоƬʶ(ÿоƬΨһʶ룩 + 룺 + أ 32λ +***********************************************************************************/ +unsigned long int GetChipID(void) +{ + unsigned long int ID; + LOCK = 0x2B; + FSCMD = 0x80; + PTSH = 0x00; + PTSL = 0x00; + FSCMD = 0x81; + ID = FSDAT; + ID *= 256; + ID |= FSDAT; + ID *= 256; + ID |= FSDAT; + ID *= 256; + ID |= FSDAT; + FSCMD = 0; + LOCK = 0xAA; + return ID; +} + +#endif \ No newline at end of file diff --git a/Library/Sources/i2c.c b/Library/Sources/i2c.c new file mode 100644 index 0000000..cc938f6 --- /dev/null +++ b/Library/Sources/i2c.c @@ -0,0 +1,35 @@ +#ifndef _I2C_C_ +#define _I2C_C_ + +/*********************************************************************************************************************/ +#include "ca51f5_config.h" +#include "../../../includes/ca51f5sfr.h" +#include "../../../includes/ca51f5xsfr.h" +#include "../../../includes/gpiodef_f5.h" + +#include "../../../includes/system.h" +#include "../../../Library/includes/i2c.h" +#include +/*********************************************************************************************************************/ +void I2C_init(I2CE_TypeDef i2ce,I2CIE_TypeDef i2cie,STFE_TypeDef stfe,unsigned char i2cadr,unsigned char i2ccr) +{ + I2CCON = I2CE(i2ce) | I2CIE(i2cie) | STA(0) | STP(0)| CKHD(1) | AAK(1)| CBSE(0) | STFE(stfe); + I2CADR = GCE(0)|(i2cadr>>1); + I2CCR = (i2ccr>>1); +} + +void I2C_SelectComPin(I2CIOS_TypeDef i2cios) +{ + I2CIOS = i2cios; + if(i2cios == I2C_SEL_P30_P31) + { + GPIO_Init(P30F,P30_I2C_SDA_SETTING | PU_EN); + GPIO_Init(P31F,P31_I2C_SCL_SETTING | PU_EN); + } + else if(i2cios == I2C_SEL_P03_P02) + { + GPIO_Init(P03F,P03_I2C_SDA_SETTING | PU_EN); + GPIO_Init(P02F,P02_I2C_SCL_SETTING | PU_EN); + } +} +#endif \ No newline at end of file diff --git a/Library/Sources/pwm.c b/Library/Sources/pwm.c new file mode 100644 index 0000000..18a642c --- /dev/null +++ b/Library/Sources/pwm.c @@ -0,0 +1,269 @@ +#ifndef _PWM_C_ +#define _PWM_C_ + +/*********************************************************************************************************************/ +#include "../../includes/ca51f5sfr.h" +#include "../../includes/ca51f5xsfr.h" + +#include "../../Library/includes/pwm.h" +#include +/*********************************************************************************************************************/ +/****************************************************************************** +PWM0_init +PWM0ͨܳʼ +: ie PWM0жϿ + cks PWM0ʱԴ + toggle PWM0Ƿ + Prescal PWM0ʱӷƵ +ֵ + +******************************************************************************/ +void PWM0_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal) +{ + PWM0CON = PWMIE(ie) | PWMTOG(toggle) | cks; + PWM0CKD = Prescal; +} +/****************************************************************************** +PWM1_init +PWM1ͨܳʼ +: ie PWM1жϿ + cks PWM1ʱԴ + toggle PWM1Ƿ + Prescal PWM1ʱӷƵ + pwmmod pwmmod=0:PWMģʽpwmmod>0:LEDģʽͬʱpwmmodʾpwmmodֽڲʱʱ +ֵ +******************************************************************************/ +void PWM1_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal, + unsigned char pwmmod) +{ + PWM1CON = PWMIE(ie) | PWMTOG(toggle) | PWMMOD(pwmmod) | PWMPOL(0) | cks; + PWM1CKD = Prescal; +} +/****************************************************************************** +PWM2_init +PWM2ͨܳʼ +: ie PWM2жϿ + cks PWM2ʱԴ + toggle PWM2Ƿ + Prescal PWM2ʱӷƵ + pwmmod pwmmod=0:PWMģʽpwmmod>0:LEDģʽͬʱpwmmodʾpwmmodֽڲʱʱ +ֵ +******************************************************************************/ +void PWM2_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal, + unsigned char pwmmod) +{ + PWM2CON = PWMIE(ie) | PWMTOG(toggle) | PWMMOD(pwmmod) | PWMPOL(0) | cks; + PWM2CKD = Prescal; +} +/****************************************************************************** +PWM3_init +PWM3ͨܳʼ +: ie PWM3жϿ + cks PWM3ʱԴ + toggle PWM3Ƿ + Prescal PWM3ʱӷƵ +ֵ + +******************************************************************************/ +void PWM3_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal) +{ + PWM3CON = PWMIE(ie) | PWMTOG(toggle) | cks; + PWM3CKD = Prescal; +} +/****************************************************************************** +PWM4_init +PWM4ͨܳʼ +: ie PWM4жϿ + cks PWM4ʱԴ + toggle PWM4Ƿ + Prescal PWM4ʱӷƵ +ֵ + +******************************************************************************/ +void PWM4_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal) +{ + PWM4CON = PWMIE(ie) | PWMTOG(toggle) | cks; + PWM4CKD = Prescal; +} +/****************************************************************************** +PWM5_init +PWM5ͨܳʼ +: ie PWM5жϿ + cks PWM5ʱԴ + toggle PWM5Ƿ + Prescal PWM5ʱӷƵ +ֵ + +******************************************************************************/ +void PWM5_init( PWMIE_TypeDef ie, + PWM_CKS_TypeDef cks, + PWM_Toggle_TypeDef toggle, + unsigned char Prescal) +{ + PWM5CON = PWMIE(ie) | PWMTOG(toggle) | cks; + PWM5CKD = Prescal; +} +/****************************************************************************** + PWM0_CfgDivDuty +PWM0ںռձ +: DIV PWM + DUT PWMռձ +ֵ +******************************************************************************/ +void PWM0_CfgDivDuty(unsigned int DIV,unsigned int DUT) +{ + PWM0DIVH = (unsigned char)(DIV>>8); + PWM0DIVL = (unsigned char)(DIV); + PWM0DUTH = (unsigned char)(DUT>>8); + PWM0DUTL = (unsigned char)(DUT); +} +/****************************************************************************** + PWM1_CfgDivDuty +PWM1ںռձ +: DIV PWM + DUT PWMռձ +ֵ +******************************************************************************/ +void PWM1_CfgDivDuty(unsigned int DIV,unsigned int DUT) +{ + PWM1DIVH = (unsigned char)(DIV>>8); + PWM1DIVL = (unsigned char)(DIV); + PWM1DUTH = (unsigned char)(DUT>>8); + PWM1DUTL = (unsigned char)(DUT); +} +/****************************************************************************** + PWM2_CfgDivDuty +PWM2ںռձ +: DIV PWM + DUT PWMռձ +ֵ +******************************************************************************/ +void PWM2_CfgDivDuty(unsigned int DIV,unsigned int DUT) +{ + PWM2DIVH = (unsigned char)(DIV>>8); + PWM2DIVL = (unsigned char)(DIV); + PWM2DUTH = (unsigned char)(DUT>>8); + PWM2DUTL = (unsigned char)(DUT); +} +/****************************************************************************** + PWM3_CfgDivDuty +PWM0ںռձ +: DIV PWM + DUT PWMռձ +ֵ +******************************************************************************/ +void PWM3_CfgDivDuty(unsigned int DIV,unsigned int DUT) +{ + PWM3DIVH = (unsigned char)(DIV>>8); + PWM3DIVL = (unsigned char)(DIV); + PWM3DUTH = (unsigned char)(DUT>>8); + PWM3DUTL = (unsigned char)(DUT); +} +/****************************************************************************** + PWM4_CfgDivDuty +PWM4ںռձ +: DIV PWM + DUT PWMռձ +ֵ +******************************************************************************/ +void PWM4_CfgDivDuty(unsigned int DIV,unsigned int DUT) +{ + PWM4DIVH = (unsigned char)(DIV>>8); + PWM4DIVL = (unsigned char)(DIV); + PWM4DUTH = (unsigned char)(DUT>>8); + PWM4DUTL = (unsigned char)(DUT); +} +/****************************************************************************** + PWM5_CfgDivDuty +PWM5ںռձ +: DIV PWM + DUT PWMռձ +ֵ +******************************************************************************/ +void PWM5_CfgDivDuty(unsigned int DIV,unsigned int DUT) +{ + PWM5DIVH = (unsigned char)(DIV>>8); + PWM5DIVL = (unsigned char)(DIV); + PWM5DUTH = (unsigned char)(DUT>>8); + PWM5DUTL = (unsigned char)(DUT); +} +/****************************************************************************** + PWM_CfgLedut +PWM1/2ΪLEDģʽʱ÷λΪ1ʱPWMռձ +: Ledut λΪ1ʱPWMռձ +ֵ +******************************************************************************/ +void PWM_CfgLedut(unsigned int Ledut) +{ + LEDUTH = (unsigned char)(Ledut>>8); + LEDUTL = (unsigned char)(Ledut); +} +/****************************************************************************** + PWM_CfgLedwtm +PWM1/2ΪLEDģʽʱʱʱ +: Ledwtm ʱPWMʱ +ֵ +******************************************************************************/ +void PWM_CfgLedwtm(unsigned int Ledwtm) +{ + LEDWTMH = (unsigned char)(Ledwtm>>8); + LEDWTML = (unsigned char)(Ledwtm); +} +/****************************************************************************** + PWM1_WriteLedat +PWM1ΪLEDģʽʱ1ֽ +: Ledat ͵ +ֵ +******************************************************************************/ +void PWM1_WriteLedat(unsigned char Ledat) +{ + while(LEFLG & LEF0); + LEDAT0 = Ledat; +} +/****************************************************************************** + PWM2_WriteLedat +PWM2ΪLEDģʽʱ1ֽ +: Ledat ͵ +ֵ +******************************************************************************/ +void PWM2_WriteLedat(unsigned char Ledat) +{ + while(LEFLG & LEF1); + LEDAT1 = Ledat; +} +/****************************************************************************** + PWM_Enable +PWMʹ +: Pwmch ʹܵPWMͨ +ֵ +******************************************************************************/ +void PWM_Enable(PWM_Channel_TypeDef Pwmch) +{ + PWMEN |= 1< +/*********************************************************************************************************************/ +/****************************************************************************************** +StopEnter +˵STOPģʽ + +ֵ +******************************************************************************************/ +void StopEnter(void) +{ + PCON |= STOP; + _nop_(); + _nop_(); +} + +/****************************************************************************************** +CheckStopCondition +˵STOPģʽעSTPSTHSTPSTLΪ0ʹִSTOPָоƬҲSTOP + +ֵ 0ܽSTOP 1 ԽSTOP +******************************************************************************************/ +unsigned char CheckStopCondition(void) +{ + if(STPST) return 0; + else return 1; +} + +/****************************************************************************************** + IdleEnter +˵IDLEģʽ + +ֵ +******************************************************************************************/ +void IdleEnter(void) +{ + PCON |= IDLE; + _nop_(); + _nop_(); +} + +/****************************************************************************************** +CheckIdleCondition +˵IDLEģʽעIDLSTHIDLSTLΪ0ʹִIDLEָоƬҲIDLE + +ֵ 0ܽIDLE 1 ԽIDLE +******************************************************************************************/ +unsigned char CheckIdleCondition(void) +{ + if(IDLST) return 0; + else return 1; +} +/*********************************************************************************************************************/ +#endif \ No newline at end of file diff --git a/Library/Sources/system_clock.c b/Library/Sources/system_clock.c new file mode 100644 index 0000000..6d9d980 --- /dev/null +++ b/Library/Sources/system_clock.c @@ -0,0 +1,24 @@ +#ifndef _SYSTEM_CLOCK_C_ +#define _SYSTEM_CLOCK_C_ +/*********************************************************************************************************************/ +#include "ca51f5_config.h" +#include "../../includes/ca51f5sfr.h" +#include "../../includes/ca51f5xsfr.h" +#include "../../includes/gpiodef_f5.h" + +#include "../../includes/system.h" +#include "../../Library/includes/system_clock.h" +#include +/*********************************************************************************************************************/ +void Sys_Clk_Set_IRCH(void) +{ + CKCON |= IHCKE; + CKCON = (CKCON&0xFE) | CKSEL_IRCH; +} +void Sys_Clk_Set_IRCL(void) +{ + CKCON |= ILCKE; + CKCON = (CKCON&0xFE) | CKSEL_IRCL; +} +/*********************************************************************************************************************/ +#endif diff --git a/Library/Sources/uart.c b/Library/Sources/uart.c new file mode 100644 index 0000000..1a3e59f --- /dev/null +++ b/Library/Sources/uart.c @@ -0,0 +1,139 @@ +#ifndef _UART_C_ +#define _UART_C_ +#include "ca51f5_config.h" +#include "../../includes/ca51f5sfr.h" +#include "../../includes/ca51f5xsfr.h" +#include "../../includes/gpiodef_f5.h" +#include "../../includes/system.h" + +#include "../../Library/includes/uart.h" +#include +#include +#include +#include +#include +#include +/*********************************************************************************************************************/ +/*********************************************************************************************************************/ +#ifdef UART0_EN +/********************************************************************************************************************* +ע⣺²òǰϵͳʱΪ16MHz޸ϵͳʱƵʣòм㡣 +***********************************************************************************************************************/ +void Uart0_Initial(unsigned long int baudrate) +{ + code unsigned long int BR_TAB[]= + { + 1200, + 2400, + 4800, + 9600, + 19200, + 38400, + 57600, + 115200, + }; + code unsigned int BR_SET_TAB[][2]= + { + {416,31}, + {208,31}, + {104,31}, + {52,31}, + {26,31}, + {13,31}, + {10,27}, + {5,27}, + }; + unsigned int value_temp; + unsigned char i; + + uart0_send.head = 0; + uart0_send.tail = 0; + uart0_rev.head = 0; + uart0_rev.tail = 0; + uart0_tx_flag = 0; + + GPIO_Init(P31F,P31_UART0_RX_SETTING); + GPIO_Init(P30F,P30_UART0_TX_SETTING); + + for(i=0;i>8); + T2CL = (unsigned char)(value_temp); + TH2 = (unsigned char)(value_temp>>8); + TL2 = (unsigned char)(value_temp);; + TR2 = 1; + + S0CON = 0x50; + ES0 = 1; +} +void Uart0_PutChar(unsigned char bdat) +{ + unsigned char free_space; + unsigned char tail_tmp; + while(1) + { + tail_tmp = uart0_send.tail; + if(uart0_send.head < tail_tmp) + { + free_space = tail_tmp - uart0_send.head; + } + else + { + free_space = UART0_TX_BUF_SIZE + tail_tmp - uart0_send.head; + } + if(free_space > 1) + { + ES0 = 0; + uart0_send.head++; + uart0_send.head %= UART0_TX_BUF_SIZE; + uart0_tx_buf[uart0_send.head] = bdat; + if(!uart0_tx_flag) + { + ES0 = 1; + uart0_send.tail++; + uart0_send.tail %= UART0_TX_BUF_SIZE; + S0BUF=uart0_tx_buf[uart0_send.tail]; + uart0_tx_flag = 1; + } + else + { + ES0 = 1; + } + break; + } + } +} +void UART0_RX_ISR (void) +{ + RI0 = 0; + uart0_rev.head++; + uart0_rev.head %= UART0_RX_BUF_SIZE; + uart0_rx_buf[uart0_rev.head]=S0BUF; +} +void UART0_TX_ISR (void) +{ + TI0 = 0; + if(uart0_send.head!=uart0_send.tail) + { + uart0_send.tail++; + uart0_send.tail %= UART0_TX_BUF_SIZE; + S0BUF=uart0_tx_buf[uart0_send.tail]; + } + else + { + uart0_tx_flag=0; + } +} +#endif +/*********************************************************************************************************************/ +#endif \ No newline at end of file diff --git a/Library/Sources/wdt.c b/Library/Sources/wdt.c new file mode 100644 index 0000000..0a61c5a --- /dev/null +++ b/Library/Sources/wdt.c @@ -0,0 +1,36 @@ +#ifndef _WDT_C_ +#define _WDT_C_ +/*********************************************************************************************************************/ +#include "../../includes/ca51f5sfr.h" +#include "../../includes/ca51f5xsfr.h" +#include "../../includes/system.h" +#include "../../Library/includes/wdt.h" +#include +/*********************************************************************************************************************/ +/***************************************************************************** +WDT_init +ʼŹ +wdts ŹʱԴ + wdre Źģʽ + wdtch Źʱ +ֵ +******************************************************************************/ +void WDT_init(WDTS_TypeDef wdts,WDRE_TypeDef wdre,unsigned int wdtvh) +{ + WDCON = WDTS(wdts) | WDRE(wdre); + WDVTHH = (unsigned char)(wdtvh>>8); + WDVTHL = (unsigned char)(wdtvh); +} + +/***************************************************************************** +WDT_FeedDog +ˢ¿Ź + +ֵ +******************************************************************************/ +void WDT_FeedDog(void) +{ + WDFLG = 0xA5; +} +/*********************************************************************************************************************/ +#endif \ No newline at end of file diff --git a/TS_Lib/Includes/ts_api.h b/TS_Lib/Includes/ts_api.h new file mode 100644 index 0000000..7ca7ace --- /dev/null +++ b/TS_Lib/Includes/ts_api.h @@ -0,0 +1,177 @@ +#ifndef _TS_API_H +#define _TS_API_H + +#ifdef _TK_API_C_ +/***************************************************************************************************************/ +/***************************************************************************************************************/ +TSState_T idata TS_State; + +TYPE_SN idata PreKeysFlagSN; +TYPE_SN xdata KeysFlagSN; +#if TK_FREQ_JUMP_EN +unsigned char xdata NowTKFreqIndex; +#endif +unsigned int TS_Key; +unsigned int TS_LongKeyTimer; +unsigned char TK_State; + +bit TS_CycleScanDoneFlag; +unsigned char idata TS_Cnt; +unsigned int xdata TS_RawData[OPENED_TS_COUNT+1]; +unsigned int xdata TS_BaseLineData[OPENED_TS_COUNT]; +unsigned int xdata TS_FirstAreaData[OPENED_TS_COUNT]; +unsigned char xdata TS_AreaConfirmTimer[OPENED_TS_COUNT]; +unsigned int xdata TS_PostData[OPENED_TS_COUNT+1]; +#if TK_FREQ_JUMP_EN +unsigned int xdata TS_JumpFreqData[2][OPENED_TS_COUNT+1]; +#endif +#if (TS_ACQ_TIMES > 1) +unsigned char xdata TS_Acq_Counter = 0; +unsigned int xdata TS_DataSum[OPENED_TS_COUNT+1]; +#endif +#if SUPPORT_KEY +unsigned int xdata TSKey_FingerThd[KEY_CH_COUNT]; +unsigned char xdata TSKey_LongTouchLimitTimer[KEY_CH_COUNT]; +#if SUPPORT_ANTI_WATER_FUNCTION + bit KeyPressedFlag; + unsigned char xdata PressedKeyIndex; +#endif +#if TK_BASE_TRIM_WHILE_KEY_PRESSED + unsigned int xdata RefChDataBak[KEY_CH_COUNT]; + unsigned int xdata TS_BaseLineDataBak[KEY_CH_COUNT]; +#endif +#else +unsigned int xdata TSKey_FingerThd[1]; +#endif +/***************************************************************************************************************/ +/***************************************************************************************************************/ +unsigned int xdata TS_FilterBuf[OPENED_TS_COUNT+1][FILTER_COUNT]; +unsigned char xdata TS_FilterPosIdx[OPENED_TS_COUNT+1]; + + +unsigned char xdata TS_Init_Step; +unsigned char idata TS_RefCHBaseLineAdjuTimer; +unsigned char TS_Index; + +unsigned char idata TS_CH[OPENED_TS_COUNT]; + +unsigned char xdata EnterStopScanTimer; +unsigned char xdata MainLoopCnt1; +unsigned char xdata MainLoopCnt2; + +#if SUPPORT_KEY +#if ANTI_SPEAKER_EN +#define REF_CH_DATA_BUF_SIZE 10 +unsigned int xdata RefChDataBuf[REF_CH_DATA_BUF_SIZE]; +unsigned char xdata RefChDataBufIdx; +unsigned char xdata RefChDataTimer; +#endif +#endif + +bit TS_StableFlag; + +#if SUPPORT_TOUCH_SLEEP_MODE +bit TS_SleepEn; +bit TS_SleepMode; +#endif + +unsigned char xdata TS_HalfSecCnt; + +#if SUPPORT_KEY +#if DEBUG +unsigned char xdata Key_Cnt_Debug; +TSState_T xdata TS_State_Debug; +unsigned char xdata TS_CH_Debug[OPENED_TS_COUNT]; +unsigned int xdata TS_RefChBaseLineData; +unsigned int xdata TS_RefPostData; +unsigned int xdata KeysFlagSN_Debug; +#endif + +#if SUPPORT_COVER_PANAL_AFTER_POWERON +unsigned char PanalCoverJudgeTimer; +bit PanalCoverJudgeFlag; +#endif +#endif +#if SUPPORT_WHEEL_SLIDER +unsigned char xdata TSWheelSlider_TouchConfirmTimer; +unsigned char xdata TSWheelSlider_LongTouchLimitTimer; +unsigned char xdata WheelSliderState; +unsigned char xdata WheelSliderTouchFlag; +int xdata WheelSliderPosition; +unsigned char xdata WheelSliderRefCh; +unsigned int xdata WheelSliderCapRateFilter; +unsigned char xdata WheelSliderMaxIdx; +bit W_S_RefChSet; +#else +unsigned char xdata WheelSliderRefCh; +unsigned int xdata WheelSliderCapRateFilter; +unsigned char xdata WheelSliderMaxIdx; +#endif +unsigned char TS_BaseCh; +unsigned char ActiveTouchType; +#else +/***************************************************************************************************************/ +/***************************************************************************************************************/ +extern TSState_T idata TS_State; +#ifndef TS_SERVICE_C +extern TYPE_SN idata PreKeysFlagSN; +extern TYPE_SN xdata KeysFlagSN; +#endif +extern unsigned int TS_Key; +extern unsigned int TS_LongKeyTimer; +extern unsigned char TK_State; + +extern bit TS_CycleScanDoneFlag; +extern unsigned char idata TS_Cnt; +extern unsigned int xdata TS_RefChRawData; +extern unsigned int xdata TS_RawData[]; + +extern unsigned int xdata TS_BaseLineData[]; +extern unsigned int xdata TS_FirstAreaData[]; +extern unsigned char xdata TS_AreaConfirmTimer[]; +extern unsigned int xdata TS_PostData[]; + +extern unsigned int xdata TSKey_FingerThd[]; +extern unsigned char xdata TSKey_LongTouchLimitTimer[]; + +/***************************************************************************************************************/ +/***************************************************************************************************************/ +extern unsigned char xdata TS_Init_Step; +extern unsigned char idata TS_RefCHBaseLineAdjuTimer; +extern unsigned char TS_Index; + +extern unsigned char idata TS_CH[]; +extern unsigned char TS_AcqCnt; +extern unsigned char xdata EnterStopScanTimer; + +extern code unsigned int TS_CH_INFO_SEQ[][2]; +extern bit TS_StableFlag; +extern bit TS_SleepEn; +extern bit TS_SleepMode; + +extern unsigned char xdata TSWheelSlider_TouchConfirmTimer; +extern unsigned char xdata TSWheelSlider_LongTouchLimitTimer; + +extern unsigned char xdata WheelSliderState; +extern unsigned char xdata WheelSliderTouchFlag; +extern int xdata WheelSliderPosition; +extern unsigned int xdata WheelSliderCapRateFilter; +extern unsigned char TS_BaseCh; +extern unsigned char ActiveTouchType; +extern unsigned char xdata WheelSliderRefCh; +extern bit W_S_RefChSet; +extern unsigned char xdata WheelSliderMaxIdx; +extern code unsigned int TS_KEY_CH_INFO_SEQ[][2]; + +extern code unsigned char WHEEL_SLIDER0_MAX_MIN_TAB[]; +extern code unsigned char AREA_CONFIRM_TIME_TAB[]; +extern code unsigned int MASK_TAB[]; + +#endif + +void TS_init(void); +void TS_Action(void); +void TS_GetKey(void); +void TS_EnterSleepMode(void); +void TS_ISR(void); +#endif \ No newline at end of file diff --git a/TS_Lib/Includes/ts_configuration.h b/TS_Lib/Includes/ts_configuration.h new file mode 100644 index 0000000..32fd193 --- /dev/null +++ b/TS_Lib/Includes/ts_configuration.h @@ -0,0 +1,288 @@ +#ifndef _TS_CFG_H +#define _TS_CFG_H + +//------------------------------------------------------------------------------------------------------------------- +#define DEBUG 0 //1:ߵԹ; 0:رߵԹ +//ע⣺ֻдӦò֧ߵԣӦò֧ߵԡ +/******************************************************************************************************** +˵ +ߵԹܿPCʾǰֵ׼ֵֵPCôȣļ +˹ϷλCACHIPTOOL.exeʹáϸʹ÷οĵ˵ +********************************************************************************************************/ + +//------------------------------------------------------------------------------------------------------------------- +#define SUPPORT_KEY 1 //1:ִ֧; 0:ִ֧ +#define SUPPORT_WHEEL_SLIDER 1 //1:ִ֧Բ0:ִ֧Բ +//------------------------------------------------------------------------------------------------------------------- + + +/***********ʡģʽ********************************************************************************************************/ +#define SUPPORT_TOUCH_SLEEP_MODE 1 //1֧ 0֧ + +#if SUPPORT_TOUCH_SLEEP_MODE + #define ENTER_STOP_MODE_TIME 5 //봥ʡģʽʱ䣬λΪ0.5S綨Ϊ55*0.5=2.5룬2.5޴ʡģʽ + #define SLEEP_MODE_SCAN_INTERVAL_TIME 100 //ɨ败ļʱ䣬λԼΪ1msע⣺ʱԽоƬԽͣӦٶԽdemoֵ100 + #define SLEEP_TOUTH_THD 9/*15*/ //ʡģʽֵãݱ仯ڴֵ˳ʡģʽ + + #define ENTER_SLEEP_PRINT_EN 1 //ʡģʽӡ,ҪΪ֤Ƿʡģʽ봥ʡģʽʱӡ"sleep"˳ʡģʽʱӡ"exit" + +//ע⣺ʹܴʡģʽijЩҪʡģʽֻҪTS_SleepEnΪ0ҪʡģʽTS_SleepEnΪ1 +#endif +//------------------------------------------------------------------------------------------------------------------- + +#define TS_ACQ_TIMES 1 //öʾٴβɼӽ + +//------------------------------------------------------------------------------------------------------------------- +/********************˲*********************************************************/ +#define FILTER_COUNT 5 +//˵ֵԽԽƽǰӦٶԽ +//------------------------------------------------------------------------------------------------------------------- + + +//------------------------------------------------------------------------------------------------------------------- +/*******************ͱȽ׼ѡ***********************************************************************/ +#define SOURCE_VDD 0 +#define SOURCE_INNER 1 + +#define TK_CHARGE_REF_SELECT SOURCE_INNER //SOURCE_VDD: ԴѡΪVDD,Ƚ׼ΪVDDѹ SOURCE_INNERԴΪڲ˷ţȽ׼Ϊڲ׼ +//ע⣺һоƬڵƵʱѡΪSOURCE_INNER ѡΪSOURCE_INNER оƬ̬1~2mA. + +#if (TK_CHARGE_REF_SELECT == SOURCE_VDD) + #define VRS_VAL 2 //ȽֵȡֵΧΪ0~7ֵԽ󣬱ȽֵѹԽ͡ +#elif (TK_CHARGE_REF_SELECT == SOURCE_INNER) + #define VDS_VAL 1 //ڲ˷ѹѡ񣬿ѡΧ0~302V 12.5V 23V 34V + #define VIRS_VAL 1 //Ƚֵѹѡ񣬿ѡΧ0~301V 11.5V 22V 32.5V +#endif +#define TKDIV_VAL 0 //ŵʱӷƵϵȡֵΧΪ0~7ӦʱƵΪ4M~500KֵԽƵԽ͡ +#define TKTMS_VAL 10 //ŵʱ䶨壬ȡֵΧΪ1~31ֵԽ󣬷ŵʱԽ + +/* + ˵ + 1. Ϊڲ˷żڲ׼ʱTK_CHARGE_REF_SELECT==SOURCE_INNERڲ˷ŵѹҪڱȽֵѹVDS_VALĵѹҪVIRS_VALĵѹ + 2. Ϊڲ˷żڲ׼ʱTK_CHARGE_REF_SELECT==SOURCE_INNERڲ˷ŵѹҪоƬѹ0.5Vϣ˷ŵѹܲȶ + 3. Ϊڲ˷żڲ׼ʱTK_CHARGE_REF_SELECT==SOURCE_INNERоƬҪ10uFϵݡ +*/ +//------------------------------------------------------------------------------------------------------------------- +#define POWER_ON_WAIT_TK_STABLE_EN 0 //ϵȴȶôֵֵ +//------------------------------------------------------------------------------------------------------------------------ +#define SUPPORT_ANTI_WATER_FUNCTION 0 //ˮģʽ + +#if SUPPORT_ANTI_WATER_FUNCTION + #define TK_PC_VAL 2 +#else + #define TK_PC_VAL 1 +#endif +/* +˵ + 1. ˹ֻڴʱ򿪣Բ֧֡ + 2. 򿪷ˮģʽʱԴѡΪVDD( TK_CHARGE_REF_SELECT == SOURCE_VDD) + 3. ڴģʽ£߶Եؼļݱڴͨļݣ޷ﵽȽֵѹPCB̵أߵļྡܿ + 4. 򿪷ˮģʽֻһӦָ֧ϼ +*/ + +//--------------------------------------------------------------------------------------------------- +#define TK_BASE_TRIM_WHILE_KEY_PRESSED 0 //ڴʱôͨڲοͨΪοʵʱ»ֵ˹ܿɽijЩӦУʱٴ¸ôͨ޷»ֵӶ´Чȷı⡣ +//ע⣺ TK_CAPӵΪͨݣ¶Уڿٰһʱ󣬴п᳤ܻڴ򿪴˹ܿɽ +//--------------------------------------------------------------------------------------------------- +#define TK_FREQ_JUMP_EN 0 //ƵʹܿأƵܶCS֤нϴήʹɼٶȣܶԴӦʱһӰ +#if TK_FREQ_JUMP_EN +#if (TKDIV_VAL < 7) + #define TKDIV_VAL2 (TKDIV_VAL+1) +#else + #define TKDIV_VAL2 (TKDIV_VAL-1) +#endif +#endif + +//-----------------Ӧ-------------------------------------------------------------------------------------------------- +#if SUPPORT_KEY +#define GENERATE_TS_KEY_EN 0 //KeysFlagSN״̬ϢTS_KeyʹܣҪTS_KeyûֱӸKeysFlagSNжϰ״̬ +#if GENERATE_TS_KEY_EN + #define GENERATE_DOUBLE_KEY_EN 0 //ϼ + #define PRINT_TS_KEY_EN 0 //ӡֵ +#endif + +/***********ϵٸϴ幦ܲض*******************************************************************************************************/ +#define SUPPORT_COVER_PANAL_AFTER_POWERON 0 //1:֧ϵٸϴ 0֧ +#if SUPPORT_COVER_PANAL_AFTER_POWERON + #define PANAL_COVER_JUDGE_TIME 2 //λΪ15.625ms + #define JUDGE_TK_NUM (KEY_CH_COUNT-2) +#endif +//˵ϵٸϴ壬һ»жֵ仯ӽֵΪ˷ֹڼ⵽ӽֵʱðЧôܡ +/*******************************************************************************************************************************/ + +//------------------------------------------------------------------------------------------------------------------- +/********ֵͨ***********************************************************/ + #define KEY_CH_COUNT 8 //ȷд +// +// #define KEY_SEQ \ +// {TS_CH0 , 300 }, \ +// {TS_CH1 , 300 }, \ +// {TS_CH2 , 500 }, \ +// {TS_CH3 , 500 }, \ +// {TS_CH4 , 300 }, \ +// {TS_CH5 , 400 }, \ +// {TS_CH6 , 600 }, \ +// {TS_CH7 , 500 }, \ + + + #define KEY_SEQ \ + {TS_CH0 , 100 }, \ + {TS_CH1 , 100 }, \ + {TS_CH2 , 200 }, \ + {TS_CH3 , 90 }, \ + {TS_CH4 , 90 }, \ + {TS_CH5 , 100 }, \ + {TS_CH6 , 250 }, \ + {TS_CH7 , 300 }, \ + + + /* + {TS_CH0 , 190 }, \ + {TS_CH1 , 190 }, \ + */ + +/********************************************************************* +˵ +1 {TS_CHx, XX} + | | + | | + | ------------->Ӧֵͨݱ仯ڴֵʱ + --------------------->ͨš + +2 ϴֵڴߵģʽλ(CACHIPTOOL.exe) +*********************************************************************/ + +/***********NOISEֵ************************************************************************************/ +#define NOISE_THRESHOLD 30 //ֵΪֵ1/4 ~ 1/2 +/*************************************************************************************************************/ + +#define ANTI_SPEAKER_EN 0 //Խʹܿأ˹ҪڲοͨжϵԴǷܶԽţǵԴܶԽŶİ + +#if ANTI_SPEAKER_EN + #define REF_CH_ABNORMAL_THD 8 //ڲοֵͨ仯ٲΪжԽ +#endif + +//------------------------------------------------------------------------------------------------------------------- +#define TK_SHARE_LED_EN 0 //ŸLEDŹܿ + +#if TK_SHARE_LED_EN +/************************************************************************************** +Ҫ: ڴӦУLEDƱڽݣͬLEDƵĽݴڽϴ죬Ҵ˽LEDʱ +ܴڲ(ǰɫLEDȽ)˽ݶԴڲӰ죬Ӧô˹ʱҪϸѡLEDƣ +ҪLEDҪµȡ +***************************************************************************************/ + +//--------------------------------------------------------------------------------------- + #define LED_DRV_CNT 2000 //LEDɨռձȣֵԽLEDԽߣɼٶԽ +//--------------------------------------------------------------------------------------- + + #define TK_SENSITIVE_AUTO_TRIM_EN 0 //˵ + +/* + ˹ѡڽӦòͬLEDȲ⣬ + Ӧʱдбֵֵĺްʱÿͨļֵ + ˳Ӧ涨KEY_SEQбֵҲӦKEY_SEQжֵ + ӦʱϲͬλͬɫLEDƣڲͬɫLEDƵĽݿܲͬ + ӶɴֵҲͬ¶IJοֵӦֵӶʹ + ӦòͬLEDȻһ£Ҫû +*/ + + #if TK_SENSITIVE_AUTO_TRIM_EN + + #define TK_BASELINE_VALUE_SEQ \ + 1740, \ + 1872, \ + 1812, \ + 1830, \ + 1947, \ + 1779, \ + 1672, \ + 1960, \ + 1808, \ + 1710, + #endif +#else + #define TK_SENSITIVE_AUTO_TRIM_EN 0 +#endif + +//------------------------------------------------------------------------------------------------------------------- +/***********ʱ䶨************************************************************************************/ +#define FINGER_TOUCH_CONFIRM_TIME 2 //ȷʱ䣬λΪ15.625ms +#define FINGER_TOUCH_RELEASE_CONFIRM_TIME 2 //ͷȷʱ䣬λΪ15.625ms +#define FINGER_LONG_TOUCH_TIME_LIMIT 0 //ưʱ䣬λΪ0.5sΪ0رմ˹ +//------------------------------------------------------------------------------------------------------------------- + +//------------------------------------------------------------------------------------------------------------------- +/***********ֵٶ********************************************************/ +#define AREA_PNOISE_PLUS_CONFIRM_TIME 100 //λΪ15.625ms +#define AREA_PNOISE_CONFIRM_TIME 80 //λΪ15.625ms +#define AREA_NNOISE_CONFIRM_TIME 30 //λΪ15.625ms +#define AREA_OVERLOW_CONFIRM_TIME 30 //λΪ15.625ms + +//˵һ£ֵٶûҪãĬֵɡ +//------------------------------------------------------------------------------------------------------------------- +#else +#define KEY_CH_COUNT 0 +#endif + + + + +//-----------------ԲӦ------------------------------------------------------------------------------------------------- +#if SUPPORT_WHEEL_SLIDER +//----------------------------------------------------------------------------- + #define PRINT_WHEEL_SLIDER_POSITION_EN 0 //ӡԲλÿ + #define PRINT_WHEEL_SLIDER_DATA_EN 0 //ӡԲݿ + #define PRINT_WHEEL_SLIDER_RATE_EN 0 //ӡֵ + + + #define WHEEL_SLIDER_BASELINE_UPDATE_TIME 50 //λΪ15.625ms + +//----------------------------------------------------------------------------- + + #define WHEEL_SLIDER_TOUCH_CONFIRM_TIME 2 //Բȷʱ䣬λΪ15.625ms + #define WHEEL_SLIDER_TOUCH_RELEASE_CONFIRM_TIME 2 //Բͷȷʱ䣬λΪ15.625ms + #define WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT 0 //Բͻʱ䣬λΪ0.5sΪ0رմ˹ +//------------------------------------------------------------------------------------ + + #define WHEEL_OR_SLIDER_DEF0 WHEEL //ǻԲǻΪSLIDER,ԲΪWHEEL + + #define WHEEL_SLIDER0_CH_COUNT 4 //һԲͨĿȷд + #define WHEEL_SLIDER0_SEQ TS_CH8,TS_CH11,TS_CH10,TS_CH9 //ͨб˳ʱӻҵ˳д + #define WHEEL_SLIDER0_CH_MIN_RATE 70, 40, 40, 70 //ָijͨмλʱڽͨͨ仯ıʣֵͨһһӦֵͨ򿪺궨PRINT_WHEEL_SLIDER_RATE_ENͨUARTӡ + + + #define WHEEL_SLIDER0_TOUCH_THD 0x4a //Բ߻ãֵԽСԽ + #define WHEEL_SLIDER0_NOISE_THD 0x08 + + #if !SUPPORT_KEY + #define NOISE_THRESHOLD WHEEL_SLIDER0_NOISE_THD + #endif +//------------------------------------------------------------------------------------ +#else + #define WHEEL_SLIDER0_CH_COUNT 0 +#endif + +//------------------------------------------------------------------------------------------------------------------- +#define OPENED_TS_COUNT (KEY_CH_COUNT+WHEEL_SLIDER0_CH_COUNT) + +#if (!SUPPORT_KEY) + #undef DEBUG + #define DEBUG 0 +#endif +#if DEBUG + #define I2C_SELECT_P30_P31 +// #define I2C_SELECT_P02_P03 + + #ifdef I2C_SELECT_P30_P31 + #ifdef UART0_EN + #error "ca51f5_config.hйرպ궨UART0_EN!" + #endif + #endif + + #undef SUPPORT_TOUCH_SLEEP_MODE //ʡģʽִ֧ߵԣҪرʡģʽ + #define SUPPORT_TOUCH_SLEEP_MODE 0 +#endif +#define TK_Debug_UartPutChar Uart0_PutChar +#endif +//------------------------------------------------------------------------------------------------------------------- diff --git a/TS_Lib/Includes/ts_def.h b/TS_Lib/Includes/ts_def.h new file mode 100644 index 0000000..78859e1 --- /dev/null +++ b/TS_Lib/Includes/ts_def.h @@ -0,0 +1,170 @@ +//TKCON +#define TKST(N) (N<<7) //N=0-1 +#define TKIE(N) (N<<6) //N=0-1 +#define TMEN(N) (N<<5) //N=0-1 //RTCTKST +#define TWKE(N) (N<<4) //N=0-1 //ʡԶ 0TKST=0TKIF, 1: TKST=0ȽŲTKIF + +#define VRS(N) (N<<0) //N=0-7 //Ƚοѹѡ + +//TKCFG +#define TKDIV(N) (N<<5) //N=0-7 //ʱӷƵ Ƶϵ TKDIV+10Ƶ +#define TKTMS(N) (N<<0) //N=0-31 //ŵʱ ŵʱ䣺 (TKTMS)*32*Ttk , TKTMS0Ϊ0ŵ + +//TKxCHS //x=0-5 +#define MPOL(N) (N<<7) //N=0-1 //0- TKxMS < ATKxM; 1- TKxMS >= ATKxM +#define NPOL(N) (N<<6) //N=0-1 //0- TKxMS < ATKxN; 1- TKxMS >= ATKxN +#define TKPS(N) (N<<0) //N=0-14 0ѡ 1-13ӦTK0-TK12; 14ӦTKCAP + +//TKIF //TKST=0һλ +#define TKIF5 (1<<5) +#define TKIF4 (1<<4) +#define TKIF3 (1<<3) +#define TKIF2 (1<<2) +#define TKIF1 (1<<1) +#define TKIF0 (1<<0) + +//TKPWC +#define TKPC(N) (N<<6) //N=0-3 +#define VDS(N) (N<<4) //N=0-3 +#define VIRS(N) (N<<2) //N=0-3 +#define TKPWS(N) (N<<1) //N=0-1 +#define TKCVS(N) (N<<0) //N=0-1 + +//TLCON +#define TLEIE(N) (N<<7) //N=0-1 +#define TLKIE(N) (N<<6) //N=0-1 +#define TLLIE(N) (N<<5) //N=0-3 +#define TLLVS(N) (N<<1) //N=0-3 +#define TLPOL(N) (N<<0) //N=0-1 + + +//TLFLG //TKST=0һλ +#define TLERR (1<<7) +#define TLKOV (1<<6) +#define TLLOV (1<<5) + +//TLCKS?? +#define TLCKS(N) (N<<0) //N=0-7 + +//TLCKS?? +#define TLCOMS(N) (N<<0) //N=0-7 + + +typedef union +{ + unsigned long int dwVal; + unsigned int wVal[2]; + unsigned char bVal[4]; +} +DWORD_UNION; + +typedef union +{ + unsigned int wVal; + unsigned char bVal[2]; +} +WORD_UNION; + +typedef enum +{ + TS_INIT, + TS_DEAL +} TSState_T; + +enum +{ + AREA_FINGER_TOUCH, + AREA_PNOISE_PLUS, + AREA_PNOISE, + AREA_NNOISE, + AREA_OVER_LOW +}; +enum +{ + WHEEL_SLIDER_NO_TOUCH, + WHEEL_SLIDER_TOUCH, +}; + +#define WHEEL 0 +#define SLIDER 1 +enum +{ + TS_CH0, + TS_CH1, + TS_CH2, + TS_CH3, + TS_CH4, + TS_CH5, + TS_CH6, + TS_CH7, + TS_CH8, + TS_CH9, + TS_CH10, + TS_CH11, + TS_CH12, +}; +enum +{ + LED_ON, + LED_OFF, + LED_ALL_OFF, +}; +#ifndef TS_SERVICE_C +#if (KEY_CH_COUNT <= 8) + #define TYPE_SN unsigned char +#elif (KEY_CH_COUNT <= 16) + #define TYPE_SN unsigned int +#else + #define TYPE_SN unsigned long int +#endif +#endif + +#define KEY_BREAK 0x1000 //̧̰ +#define KEY_LONG 0x2000 // +#define KEY_LONG_BREAK 0x3000 //̧ +#define KEY_LONG_START 0x4000 //ʼ + +#define K1 0x0001 +#define K2 0x0002 +#define K3 0x0003 +#define K4 0x0004 +#define K5 0x0005 +#define K6 0x0006 +#define K7 0x0007 +#define K8 0x0008 +#define K9 0x0009 +#define K10 0x000a +#define K11 0x000b +#define K12 0x000c +#define K13 0x000d +#define K14 0x000e +#define K15 0x000f +#define K16 0x0010 +#define K17 0x0011 +#define K18 0x0012 +#define K19 0x0013 +#define K20 0x0014 +#define K21 0x0015 +#define K22 0x0016 +#define K23 0x0017 +#define K24 0x0018 +#define K25 0x0019 +#define K26 0x001a +#define K27 0x001b +#define K28 0x001c +#define K29 0x001d +#define K30 0x001e +#define K31 0x001f + +enum +{ + TK_STATE_RELEASE, + TK_STATE_SINGLE_KEY_PRESS, + TK_STATE_DOUBLE_KEY_PRESS, +}; + +#define TS_LONG_START_TIME 250 +#define TS_LONG_TIME 70 + + + diff --git a/TS_Lib/Includes/ts_service.h b/TS_Lib/Includes/ts_service.h new file mode 100644 index 0000000..5d70934 --- /dev/null +++ b/TS_Lib/Includes/ts_service.h @@ -0,0 +1,20 @@ +#ifndef _TS_SERVICE_H_ +#define _TS_SERVICE_H_ + +void TS_IO_init(void); +void TS_ScanStart(void); +void TS_ScanContinue(void); +void TSKey_DataDeal(void); +void TS_RunInit(void); +void TS_CheckRefCh(void); +void TS_AreaConfirmTimerSet(unsigned char ts_ch, unsigned char area); +void TS_MS_ISR(void); +void TS_HS_ISR(void); +void TS_CfgPinFunc(unsigned char idx,unsigned char Func); +unsigned char TS_GetDataArea(unsigned char ts_ch,unsigned int ts_data,int noise_thd,bit key_pressed_flag); +unsigned char TS_AreaDeviateDetection(unsigned int cmp_data,unsigned int real_data,int range); +void TS_BaseLineForceUpdate(void); +void SetWheelSliderRefCh(unsigned char SliderNum); +int WheelTouchJudge(unsigned char WHEEL_SLIDER0_CH_COUNT_V,unsigned int WHEEL_SLIDER0_TOUCH_THD_V); +int SliderTouchJudge(unsigned char WHEEL_SLIDER0_CH_COUNT_V,unsigned int WHEEL_SLIDER0_TOUCH_THD_V); +#endif diff --git a/TS_Lib/Sources/debug.c b/TS_Lib/Sources/debug.c new file mode 100644 index 0000000..ded9d73 --- /dev/null +++ b/TS_Lib/Sources/debug.c @@ -0,0 +1,122 @@ +#ifndef _I2C_C_ +#define _I2C_C_ + +/*********************************************************************************************************************/ +#include "ca51f5_config.h" +#include "includes\ca51f5sfr.h" +#include "includes\ca51f5xsfr.h" +#include "includes\gpiodef_f5.h" +#include "Library\Includes\system_clock.h" +#include "Library\Includes\i2c.h" +/*********************************************************************************************************************/ +#include "TS_Lib\Includes\ts_configuration.h" +#include "TS_Lib\Includes\ts_def.h" +#include "TS_Lib\Includes\ts_api.h" +#include "TS_Lib\Includes\ts_service.h" +/*********************************************************************************************************************/ +#if DEBUG +#define I2C_ADDR 0xCA +unsigned char xdata TouchDebugID = '5'; +unsigned char rxOffset; +unsigned char regAddr; +bit iicReadMode; +extern TSState_T xdata TS_State_Debug; +extern unsigned char xdata Key_Cnt_Debug; +extern unsigned char xdata TS_CH_Debug[OPENED_TS_COUNT]; +extern unsigned int xdata TS_RefChBaseLineData; +extern unsigned int xdata TS_RefPostData; +extern unsigned int xdata KeysFlagSN_Debug; +code unsigned char *TS_INFO[]= +{ + &TouchDebugID, + &TS_State_Debug, + &Key_Cnt_Debug, + &TS_RefChBaseLineData, + &TS_RefPostData, + &KeysFlagSN_Debug, + &TS_BaseLineData[0], + &TS_PostData[0], + &TSKey_FingerThd[0], + &TS_CH_Debug[0], +}; +unsigned char *pTS_Info; +void I2C_ISR(void) +{ + unsigned char Sta_Temp; + TouchDebugID = '5'; + Sta_Temp = I2CSTA; + + if(Sta_Temp == 0x60) //յӻַ+дλ + { + rxOffset = 0xff; + iicReadMode = 0; + I2CCON |= AAK(1); + } + else if(Sta_Temp == 0x80) + { + if(iicReadMode) //һֽ + { + rxOffset++; + I2CDAT = *(pTS_Info+rxOffset); + } + else //յһֽ + { + if(rxOffset == 0xff) //ַ + { + regAddr=I2CDAT; + pTS_Info = TS_INFO[regAddr]; + rxOffset=0; + I2CCON |= AAK(1); + } + else // + { + *(pTS_Info+rxOffset) = I2CDAT; + rxOffset++; + I2CCON |= AAK(1); + } + } + } + else if(Sta_Temp==0xA8) //յӻַ+λACKź + { + I2CDAT = *(pTS_Info+rxOffset); + iicReadMode = 1; + } + else if(Sta_Temp == 0x88) + { + } + I2CFLG |= I2CF; +} +void Debug_init(void) +{ +#ifdef I2C_SELECT_P30_P31 + I2CIOS = 0; + GPIO_Init(P30F,P30_I2C_SDA_SETTING); + GPIO_Init(P31F,P31_I2C_SCL_SETTING); +#elif defined I2C_SELECT_P02_P03 + I2CIOS = 1; + GPIO_Init(P03F,P03_I2C_SDA_SETTING); + GPIO_Init(P02F,P02_I2C_SCL_SETTING); +#endif + + I2CCON = I2CE(1) | I2CIE(1) | STA(0) | STP(0)| CKHD(0) | AAK(1)| CBSE(0) | STFE(0); + I2CADR = (I2C_ADDR>>1); + + INT4EN = 1; + PS1 = 1; +} +void Debug_ParamLoad(void) +{ + unsigned char i; + KeysFlagSN_Debug = (unsigned int)KeysFlagSN; + TS_State_Debug = TS_State; + Key_Cnt_Debug = KEY_CH_COUNT; + for(i = 0; i < KEY_CH_COUNT; i++) + { + TS_CH_Debug[i] = TS_CH[i]; + } + TS_RefPostData = TS_PostData[OPENED_TS_COUNT]; + TS_RefChBaseLineData = TS_RefPostData; +} + +#endif +#endif \ No newline at end of file diff --git a/TS_Lib/Sources/ts_api.c b/TS_Lib/Sources/ts_api.c new file mode 100644 index 0000000..aac4bd2 --- /dev/null +++ b/TS_Lib/Sources/ts_api.c @@ -0,0 +1,1836 @@ +#ifndef _TK_API_C_ +#define _TK_API_C_ + +/*********************************************************************************************************************/ +#include "ca51f5_config.h" +#include "includes\ca51f5sfr.h" +#include "includes\ca51f5xsfr.h" +#include "includes\gpiodef_f5.h" + +#include "Library\Includes\tmc.h" +#include "Library\Includes\system_clock.h" +#include "Library\includes\uart.h" +#include "includes\system.h" + +#include "Library\includes\delay.h" +#include +/*********************************************************************************************************************/ +#include "TS_Lib\Includes\ts_configuration.h" +#include "TS_Lib\Includes\ts_def.h" +#include "TS_Lib\Includes\ts_api.h" +#include "TS_Lib\Includes\ts_service.h" +/*********************************************************************************************************************/ + +#include "rf_send.h" + +void Debug_init(void); +void Debug_ParamLoad(void); +#if SUPPORT_KEY +#if TK_SENSITIVE_AUTO_TRIM_EN +void TK_TouchThdTrim(unsigned char ch); +#endif +code unsigned int TS_KEY_CH_INFO_SEQ[][2]= +{ + KEY_SEQ +}; +#if TK_SENSITIVE_AUTO_TRIM_EN +code unsigned int TK_BASELINE_VALUE_INFO_SEQ[]= +{ + TK_BASELINE_VALUE_SEQ +}; +#endif +#endif +#if SUPPORT_WHEEL_SLIDER +code unsigned char TS_WHEEL_SLIDER_CH_SEQ[]= +{ + WHEEL_SLIDER0_SEQ, +}; +code unsigned char WHEEL_SLIDER0_MAX_MIN_TAB[]={WHEEL_SLIDER0_CH_MIN_RATE}; +#else +code unsigned char WHEEL_SLIDER0_MAX_MIN_TAB[1]={0}; +#endif +#if SUPPORT_KEY +code TYPE_SN MASK_TAB[]= +{ + 0x0001, +#if (KEY_CH_COUNT > 1) + 0x0002, +#endif +#if (KEY_CH_COUNT > 2) + 0x0004, +#endif +#if (KEY_CH_COUNT > 3) + 0x0008, +#endif +#if (KEY_CH_COUNT > 4) + 0x0010, +#endif +#if (KEY_CH_COUNT > 5) + 0x0020, +#endif +#if (KEY_CH_COUNT > 6) + 0x0040, +#endif +#if (KEY_CH_COUNT > 7) + 0x0080, +#endif +#if (KEY_CH_COUNT > 8) + 0x0100, +#endif +#if (KEY_CH_COUNT > 9) + 0x0200, +#endif +#if (KEY_CH_COUNT > 10) + 0x0400, +#endif +#if (KEY_CH_COUNT > 11) + 0x0800, +#endif +#if (KEY_CH_COUNT > 12) + 0x1000, +#endif + +}; +code unsigned char AREA_CONFIRM_TIME_TAB[]= +{ + FINGER_TOUCH_CONFIRM_TIME, + AREA_PNOISE_PLUS_CONFIRM_TIME, + AREA_PNOISE_CONFIRM_TIME, + AREA_NNOISE_CONFIRM_TIME, + AREA_OVERLOW_CONFIRM_TIME, +}; +#else +code unsigned char AREA_CONFIRM_TIME_TAB[1]={0}; +code unsigned int MASK_TAB[1]={0}; +#endif +void TS_MS_ISR (void) +{ + static unsigned char xdata ms_cnt = 0; + unsigned char i; + + ms_cnt++; + if(ms_cnt >= 4) + { + ms_cnt = 0; + for(i = 0; i < TS_Cnt; i++) + { + if(TS_AreaConfirmTimer[i]) + { + TS_AreaConfirmTimer[i]--; + } + } +#if SUPPORT_WHEEL_SLIDER + if(TSWheelSlider_TouchConfirmTimer) + { + TSWheelSlider_TouchConfirmTimer--; + } +#endif +#if SUPPORT_KEY +#if SUPPORT_COVER_PANAL_AFTER_POWERON + if(PanalCoverJudgeTimer) PanalCoverJudgeTimer--; +#endif +#endif +#if SUPPORT_KEY +#if ANTI_SPEAKER_EN + if(RefChDataTimer) RefChDataTimer--; +#endif +#endif + } +} +void TS_HS_ISR (void) +{ +#if SUPPORT_KEY +#if (FINGER_LONG_TOUCH_TIME_LIMIT > 0) + unsigned char i; +#endif +#endif + TS_HalfSecCnt++; + +#if SUPPORT_KEY +#if (FINGER_LONG_TOUCH_TIME_LIMIT > 0) + for(i = 0; i < KEY_CH_COUNT; i++) + { + if(TSKey_LongTouchLimitTimer[i]) + { + TSKey_LongTouchLimitTimer[i]--; + } + } +#endif +#endif +#if SUPPORT_WHEEL_SLIDER +#if (WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT > 0) + if(TSWheelSlider_LongTouchLimitTimer) + { + TSWheelSlider_LongTouchLimitTimer--; + } +#endif +#endif + if(TS_RefCHBaseLineAdjuTimer) + { + TS_RefCHBaseLineAdjuTimer--; + } + if(EnterStopScanTimer) + { + EnterStopScanTimer--; + } +} +void TS_ISR (void) +{ + unsigned char i; + WORD_UNION TS_Data[6]; +#if TK_FREQ_JUMP_EN + static unsigned int xdata TSDataTemp[2][OPENED_TS_COUNT+1]; + unsigned int xdata delta[2]; + unsigned int min_delta; + unsigned char min_index; + unsigned char j; +#endif + if(TLFLG & (TLERR|TLKOV|TLLOV)) + { + TLFLG |= TLERR|TLKOV|TLLOV; + } + + if(TKIF & TKIF0) + { + TKIF = TKIF0; + TS_Data[0].bVal[0] = TK0MSH; + TS_Data[0].bVal[1] = TK0MSL; + } + if(TKIF & TKIF1) + { + TKIF = TKIF1; + TS_Data[1].bVal[0] = TK1MSH; + TS_Data[1].bVal[1] = TK1MSL; + } + if(TKIF & TKIF2) + { + TKIF = TKIF2; + TS_Data[2].bVal[0] = TK2MSH; + TS_Data[2].bVal[1] = TK2MSL; + } + if(TKIF & TKIF3) + { + TKIF = TKIF3; + TS_Data[3].bVal[0] = TK3MSH; + TS_Data[3].bVal[1] = TK3MSL; + } + if(TKIF & TKIF4) + { + TKIF = TKIF4; + TS_Data[4].bVal[0] = TK4MSH; + TS_Data[4].bVal[1] = TK4MSL; + } + if(TKIF & TKIF5) + { + TKIF = TKIF5; + TS_Data[5].bVal[0] = TK5MSH; + TS_Data[5].bVal[1] = TK5MSL; + } + + for(i = 0; i < 6; i++) + { +#if TK_FREQ_JUMP_EN + if(TS_State == TS_DEAL) + { + TSDataTemp[NowTKFreqIndex][TS_Index+i] = TS_Data[i].wVal; + + if(NowTKFreqIndex == 1) + { + min_delta = 0xFFFF; + for(j = 0; j < 2; j++) + { + if(TSDataTemp[j][TS_Index+i] > TS_JumpFreqData[j][TS_Index+i]/TS_ACQ_TIMES) + { + delta[j] = TSDataTemp[j][TS_Index+i] - TS_JumpFreqData[j][TS_Index+i]/TS_ACQ_TIMES; + } + else + { + delta[j] = TS_JumpFreqData[j][TS_Index+i]/TS_ACQ_TIMES - TSDataTemp[j][TS_Index+i]; + } + if(delta[j] < min_delta) + { + min_delta = delta[j]; + min_index = j; + } + } + TS_Data[i].wVal = TSDataTemp[min_index][TS_Index+i] + TS_JumpFreqData[1][TS_Index+i]/TS_ACQ_TIMES - TS_JumpFreqData[min_index][TS_Index+i]/TS_ACQ_TIMES; + } + + } +#endif +#if TK_FREQ_JUMP_EN + if(((TS_State == TS_DEAL)&&(NowTKFreqIndex == 1)) ||(TS_State != TS_DEAL)) +#endif + { +#if (TS_ACQ_TIMES == 1) + TS_RawData[TS_Index+i] = TS_Data[i].wVal; +#else + TS_DataSum[TS_Index+i] += TS_Data[i].wVal; +#endif + } + if(TS_Index+i == TS_Cnt) + { + break; + } + + } +#if TK_FREQ_JUMP_EN + if(TS_State == TS_DEAL) + { + if(NowTKFreqIndex == 1) + { + NowTKFreqIndex = 0; + TKCFG = TKDIV(TKDIV_VAL2)|TKTMS(TKTMS_VAL); + TKCON |= TKST(1); + return; + } + else + { + NowTKFreqIndex = 1; + TKCFG = TKDIV(TKDIV_VAL)|TKTMS(TKTMS_VAL); + } + } +#endif + if(TS_Index+6 > TS_Cnt) + { +#if (TS_ACQ_TIMES == 1) + TS_CycleScanDoneFlag = 1; +#else + TS_Acq_Counter++; + if(TS_Acq_Counter >= TS_ACQ_TIMES) + { + for(i = 0; i < TS_Cnt+1; i++) + { + TS_RawData[i] = TS_DataSum[i]; + TS_DataSum[i] = 0; + } + TS_CycleScanDoneFlag = 1; + TS_Acq_Counter = 0; + } +#endif + TS_Index = 0; + } + else + { + TS_Index += 6; + } + TS_ScanStart(); + if(TS_HalfSecCnt) TS_HalfSecCnt--; + if(MainLoopCnt1 != MainLoopCnt2) + { + MainLoopCnt2 = MainLoopCnt1; + WDFLG = 0xA5; + } +} +void TS_DataFiltering(void) +{ + unsigned char i; +#if (FILTER_COUNT > 1) + unsigned char j; + unsigned int DataSum,DataMax,DataMin; +#endif + for(i = 0; i < TS_Cnt+1; i++) + { +#if (FILTER_COUNT == 1) + TS_PostData[i] = TS_RawData[i]; +#else + TS_FilterPosIdx[i]++; + if(TS_FilterPosIdx[i] >= FILTER_COUNT) + { + TS_FilterPosIdx[i] = 0; + } + INT3EN = 0; + TS_FilterBuf[i][TS_FilterPosIdx[i]] = TS_RawData[i]; + INT3EN = 1; + + DataSum = 0; + DataMax = 0; + DataMin = 0xFFFF; + for(j = 0; j < FILTER_COUNT; j++) + { + DataSum += TS_FilterBuf[i][j]; +#if (FILTER_COUNT > 2) + if(TS_FilterBuf[i][j] > DataMax) + { + DataMax = TS_FilterBuf[i][j]; + } + if(TS_FilterBuf[i][j] < DataMin) + { + DataMin = TS_FilterBuf[i][j]; + } +#endif + } +#if (FILTER_COUNT == 2) + TS_PostData[i] = (DataSum)/(FILTER_COUNT); +#else + TS_PostData[i] = (DataSum - DataMax - DataMin)/(FILTER_COUNT-2); +#endif +#endif + } +} +#if SUPPORT_KEY +#if ANTI_SPEAKER_EN +bit TS_RefChAbnormalJudge(void) +{ + unsigned int ref_value,crt_value,delta; + + if(RefChDataBufIdx == (REF_CH_DATA_BUF_SIZE-1)) + { + ref_value = RefChDataBuf[0]; + } + else + { + ref_value = RefChDataBuf[RefChDataBufIdx + 1]; + } + crt_value = TS_PostData[OPENED_TS_COUNT]; + if(ref_value > crt_value) + { + delta = ref_value - crt_value; + } + else + { + delta = crt_value - ref_value; + } + if(delta >= REF_CH_ABNORMAL_THD) + { + return 1; + } + else + { + return 0; + } +} +void TS_RefChCheck(void) +{ + if(!RefChDataTimer) + { + RefChDataTimer = 3; + RefChDataBufIdx++; + if(RefChDataBufIdx >= REF_CH_DATA_BUF_SIZE) + { + RefChDataBufIdx = 0; + } + RefChDataBuf[RefChDataBufIdx] = TS_PostData[OPENED_TS_COUNT]; + } +} +#endif +#endif +void TS_RunInit(void) +{ + unsigned char i,j; + static unsigned char TS_ScanTimes=0; +#if (POWER_ON_WAIT_TK_STABLE_EN || TK_FREQ_JUMP_EN) + static unsigned char TS_Init_Step_Sub; +#endif + if(TS_Init_Step == 0) + { +#if (TS_ACQ_TIMES > 1) + for(i = 0; i < TS_Cnt; i++) + { + TS_DataSum[i] = 0; + } + TS_Acq_Counter = 0; +#endif +#if TK_FREQ_JUMP_EN + NowTKFreqIndex = 0; + TKCFG = TKDIV(TKDIV_VAL2)|TKTMS(TKTMS_VAL); + TS_Init_Step_Sub = 0; +#endif + TS_CycleScanDoneFlag = 0; + TS_HalfSecCnt = 0; + TS_Index = 0; + TS_ScanStart(); +#if POWER_ON_WAIT_TK_STABLE_EN + TS_Init_Step = 1; + TS_Init_Step_Sub = 0; + TS_ScanTimes = 5; +#else + TS_Init_Step = 2; + TS_ScanTimes = 50; +#endif + } +#if POWER_ON_WAIT_TK_STABLE_EN + else if(TS_Init_Step == 1) + { + if(TS_CycleScanDoneFlag) + { + TS_CycleScanDoneFlag = 0; + if(TS_Init_Step_Sub == 0) + { + if(--TS_ScanTimes) + { + return; + } + for(i = 0; i < TS_Cnt+1; i++) + { + TS_PostData[i] = TS_RawData[i]; + } + TS_Init_Step_Sub = 1; + TS_AreaConfirmTimer[0] = 40; + } + else if(TS_Init_Step_Sub == 1) + { + if(!TS_AreaConfirmTimer[0]) + { + int delta; + for(i = 0; i < TS_Cnt+1; i++) + { + delta = (int)TS_PostData[i] - (int)TS_RawData[i]; + if((delta > NOISE_THRESHOLD) || (delta < -NOISE_THRESHOLD)) + { + TS_Init_Step_Sub = 0; + return; + } + } + TS_Init_Step = 2; + TS_ScanTimes = 10; + } + } + } + } +#endif + else if(TS_Init_Step == 2) + { + if(TS_CycleScanDoneFlag) + { + TS_CycleScanDoneFlag = 0; + if(--TS_ScanTimes) + { + return; + } +#if TK_FREQ_JUMP_EN + if(TS_Init_Step_Sub == 0) + { + for(i = 0; i < TS_Cnt+1; i++) + { + TS_JumpFreqData[0][i] = TS_RawData[i]; + } + TS_Init_Step_Sub++; + + NowTKFreqIndex = 1; + TKCFG = TKDIV(TKDIV_VAL)|TKTMS(TKTMS_VAL); + TS_ScanTimes = 3; + return; + } +#endif + TS_RefCHBaseLineAdjuTimer = 0; + for(i = 0; i < TS_Cnt+1; i++) + { + for(j = 0; j < FILTER_COUNT; j++) + { + TS_FilterBuf[i][j] = TS_RawData[i]; + } + TS_FilterPosIdx[i] = 0; + +#if TK_FREQ_JUMP_EN + TS_JumpFreqData[1][i] = TS_RawData[i]; +#endif + + if(i == TS_Cnt) break; + TS_BaseLineData[i] = TS_RawData[i]; + TS_FirstAreaData[i] = TS_RawData[i]; +#if TK_BASE_TRIM_WHILE_KEY_PRESSED + RefChDataBak[i] = TS_RawData[OPENED_TS_COUNT]; + TS_BaseLineDataBak[i] = TS_BaseLineData[i]; +#endif +#if (SUPPORT_KEY && SUPPORT_WHEEL_SLIDER) + if(i < KEY_CH_COUNT) + { +#if TK_SENSITIVE_AUTO_TRIM_EN + TK_TouchThdTrim(i); +#else + TSKey_FingerThd[i] = TS_KEY_CH_INFO_SEQ[i][1]; +#endif + TS_AreaConfirmTimerSet(i,AREA_PNOISE); + } + else + { + TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + } +#elif SUPPORT_KEY +#if TK_SENSITIVE_AUTO_TRIM_EN + TK_TouchThdTrim(i); +#else + TSKey_FingerThd[i] = TS_KEY_CH_INFO_SEQ[i][1]; +#endif + TS_AreaConfirmTimerSet(i,AREA_PNOISE); +#elif SUPPORT_WHEEL_SLIDER + TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; +#endif + } +#if SUPPORT_KEY +#if ANTI_SPEAKER_EN + for(i = 0; i < REF_CH_DATA_BUF_SIZE; i++) + { + RefChDataBuf[i] = TS_PostData[OPENED_TS_COUNT]; + } + RefChDataBufIdx = 0; +#endif +#endif +#if (DEBUG) + Debug_ParamLoad(); +#endif + TS_State = TS_DEAL; + } + } +} +#if SUPPORT_KEY +#if TK_SHARE_LED_EN +void TKLED_Set(unsigned char ch,unsigned char mode) +{ + unsigned char real_ch,idx,mask_bit; + switch(mode) + { + case LED_ON: + case LED_OFF: + real_ch = TS_KEY_CH_INFO_SEQ[ch][0]; + idx = real_ch>>3; + mask_bit = (real_ch&0x07); + if(mode == LED_ON) + { + if(idx == 0) TLDAT0 |= 1< 0) + TSKey_LongTouchLimitTimer[i] = FINGER_LONG_TOUCH_TIME_LIMIT; +#endif + TS_AreaConfirmTimer[i] = FINGER_TOUCH_RELEASE_CONFIRM_TIME; + } + } + else + { +#if SUPPORT_ANTI_WATER_FUNCTION + if(i != AntiWaterModeGetMaxDeltaCh()) + { + goto ANTI_WATER_MODE_KEY_RELEASE; + } +#endif + +#if TK_BASE_TRIM_WHILE_KEY_PRESSED + TS_BaseLineData[i] = ((unsigned long int)TS_BaseLineDataBak[i]*TS_PostData[OPENED_TS_COUNT])/RefChDataBak[i]; +#endif + + TS_AreaConfirmTimer[i] = FINGER_TOUCH_RELEASE_CONFIRM_TIME; +#if (FINGER_LONG_TOUCH_TIME_LIMIT > 0) + if(!TSKey_LongTouchLimitTimer[i]) + { + PreKeysFlagSN &= ~MASK_TAB[i]; + TS_FirstAreaData[i] = TS_PostData[i]; + TS_BaseLineData[i] = TS_PostData[i]; +#if TK_SENSITIVE_AUTO_TRIM_EN + TK_TouchThdTrim(i); +#endif + TS_AreaConfirmTimerSet(i,AREA_PNOISE); +#if SUPPORT_ANTI_WATER_FUNCTION + KeyPressedFlag = 0; + break; +#endif + } +#endif + } + } + else + { + if(PreKeysFlagSN & MASK_TAB[i]) + { + if(!TS_AreaConfirmTimer[i]) + { +#if SUPPORT_ANTI_WATER_FUNCTION +ANTI_WATER_MODE_KEY_RELEASE: + KeyPressedFlag = 0; +#endif + PreKeysFlagSN &= ~MASK_TAB[i]; + + TS_FirstAreaData[i] = TS_BaseLineData[i]; + TS_AreaConfirmTimerSet(i,AREA_PNOISE); +#if SUPPORT_ANTI_WATER_FUNCTION + break; +#endif + } + } + else + { + TS_FirstAreaData[i] = TS_PostData[i]; + TS_AreaConfirmTimerSet(i,NowArea); + } + } + continue; + } + else + { + if(NowArea == AREA_FINGER_TOUCH) + { + TS_FirstAreaData[i] = TS_PostData[i]; + TS_AreaConfirmTimerSet(i,AREA_FINGER_TOUCH); + continue; + } + } + if(PreKeysFlagSN != 0) + { + TS_FirstAreaData[i] = TS_BaseLineData[i]; + TS_AreaConfirmTimerSet(i,AREA_PNOISE); + continue; + } + if(TS_AreaDeviateDetection(TS_FirstAreaData[i],TS_PostData[i],NOISE_THRESHOLD)) //жƫǷΧ + { + if(!TS_AreaConfirmTimer[i]) + { + TS_FirstAreaData[i] = TS_PostData[i]; + TS_BaseLineData[i] = TS_PostData[i]; + +#if TK_SENSITIVE_AUTO_TRIM_EN + TK_TouchThdTrim(i); +#endif + +#if TK_BASE_TRIM_WHILE_KEY_PRESSED + RefChDataBak[i] = TS_PostData[OPENED_TS_COUNT]; + TS_BaseLineDataBak[i] = TS_BaseLineData[i]; +#endif + TS_AreaConfirmTimerSet(i,AREA_PNOISE); + } + } + else + { + TS_FirstAreaData[i] = TS_PostData[i]; + TS_AreaConfirmTimerSet(i,NowArea); + } + } +#if SUPPORT_ANTI_WATER_FUNCTION + if(KeysFlagSN == 0) + { + if(PreKeysFlagSN != 0) + { + PressedKeyIndex = AntiWaterModeGetMaxDeltaCh(); + PreKeysFlagSN = MASK_TAB[PressedKeyIndex]; +#if (FINGER_LONG_TOUCH_TIME_LIMIT > 0) + TSKey_LongTouchLimitTimer[PressedKeyIndex] = FINGER_LONG_TOUCH_TIME_LIMIT; +#endif + TS_AreaConfirmTimer[PressedKeyIndex] = FINGER_TOUCH_RELEASE_CONFIRM_TIME; + KeyPressedFlag = 1; + } + } +#endif +#if SUPPORT_COVER_PANAL_AFTER_POWERON + if(!PanalCoverJudgeFlag) + { + if(PreKeysFlagSN != 0) + { + if(KeysFlagSN == 0) + { + PanalCoverJudgeFlag = 1; + PanalCoverJudgeTimer = PANAL_COVER_JUDGE_TIME; + } + else + { + if((PanalToggleCount >= JUDGE_TK_NUM)||(TS_RefChAbnormalJudge())) + { + PreKeysFlagSN = 0; + PanalCoverJudgeFlag = 0; + TS_BaseLineForceUpdate(); + } + KeysFlagSN = PreKeysFlagSN; + } + } + else + { + KeysFlagSN = PreKeysFlagSN; + } + } + else + { + if(!PanalCoverJudgeTimer) + { + PanalCoverJudgeFlag = 0; + KeysFlagSN = PreKeysFlagSN; + } + else + { + if((PanalToggleCount >= JUDGE_TK_NUM)||(TS_RefChAbnormalJudge())) + { + PreKeysFlagSN = 0; + PanalCoverJudgeFlag = 0; + TS_BaseLineForceUpdate(); + } + } + } +#else +#if ANTI_SPEAKER_EN + if((PreKeysFlagSN != 0)&&(KeysFlagSN == 0)) + { + if(TS_RefChAbnormalJudge()) + { + PreKeysFlagSN = 0; + +#if SUPPORT_ANTI_WATER_FUNCTION + KeyPressedFlag = 0; +#endif + TS_BaseLineForceUpdate(); + } + } +#endif + KeysFlagSN = PreKeysFlagSN; + +#endif + if(KeysFlagSN != 0) + { + ActiveTouchType = 1; + } + else + { + ActiveTouchType = 0; + } +} +#endif +#if SUPPORT_WHEEL_SLIDER +void TS_WheelSliderDeal(void) +{ + unsigned char i; + unsigned int Delta,Position; + bit WheelSliderTogFlag = 0; + TS_BaseCh = KEY_CH_COUNT; + if(!W_S_RefChSet) + { + W_S_RefChSet = 1; + SetWheelSliderRefCh(WHEEL_SLIDER0_CH_COUNT); + } + +#if PRINT_WHEEL_SLIDER_DATA_EN + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('i'); + TK_Debug_UartPutChar('d'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('r'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('d'); + TK_Debug_UartPutChar('a'); + TK_Debug_UartPutChar('t'); + TK_Debug_UartPutChar('a'); + TK_Debug_UartPutChar(':'); + TK_Debug_UartPutChar(0xaa); + for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) + { + if(TS_BaseLineData[i] > TS_PostData[i]) + { + Delta = (int)TS_BaseLineData[i] - (int)TS_PostData[i]; + } + else + { + Delta = 0; + } + TK_Debug_UartPutChar(30+i); + TK_Debug_UartPutChar(30+TS_PostData[i]>>8); + TK_Debug_UartPutChar(30+TS_PostData[i]); + TK_Debug_UartPutChar(30+TS_BaseLineData[i]>>8); + TK_Debug_UartPutChar(30+TS_BaseLineData[i]); + TK_Debug_UartPutChar(30+Delta>>8); + TK_Debug_UartPutChar(30+Delta); + } +#endif +#if (WHEEL_OR_SLIDER_DEF0 == SLIDER) + Position = SliderTouchJudge(WHEEL_SLIDER0_CH_COUNT,WHEEL_SLIDER0_TOUCH_THD); +#elif (WHEEL_OR_SLIDER_DEF0 == WHEEL) + Position = WheelTouchJudge(WHEEL_SLIDER0_CH_COUNT,WHEEL_SLIDER0_TOUCH_THD); +#endif + if(Position != -1) + { + TS_StableFlag = 0; + } + if(WheelSliderState == WHEEL_SLIDER_NO_TOUCH) + { + if(!WheelSliderTouchFlag) + { + if(Position != -1) + { + WheelSliderTouchFlag = 1; + TSWheelSlider_TouchConfirmTimer = WHEEL_SLIDER_TOUCH_CONFIRM_TIME; + } + else + { + for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) + { + if(TS_FirstAreaData[i] > TS_PostData[i]) + { + Delta = TS_FirstAreaData[i] - TS_PostData[i]; + } + else + { + Delta = TS_PostData[i] - TS_FirstAreaData[i]; + } + if(Delta <= WHEEL_SLIDER0_NOISE_THD) + { + if(!TS_AreaConfirmTimer[i]) + { + TS_FirstAreaData[i] = TS_PostData[i]; + TS_BaseLineData[i] = TS_PostData[i]; + TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + } + } + else + { + TS_FirstAreaData[i] = TS_PostData[i]; + TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + } + } + } + } + else + { + if(Position != -1) + { + if(!TSWheelSlider_TouchConfirmTimer) + { + WheelSliderState = WHEEL_SLIDER_TOUCH; +#if (WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT > 0) + TSWheelSlider_LongTouchLimitTimer = WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT; +#endif + } + } + else + { + WheelSliderTouchFlag = 0; + for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) + { + TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + } + } + } + } + else if(WheelSliderState == WHEEL_SLIDER_TOUCH) + { +#if (WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT > 0) + if(!TSWheelSlider_LongTouchLimitTimer) + { + for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) + { + TS_FirstAreaData[i] = TS_PostData[i]; + TS_BaseLineData[i] = TS_PostData[i]; + } + WheelSliderTouchFlag = 0; + goto WHEEL_SLIDER_RELEASE; + } +#endif + if(WheelSliderTouchFlag) + { + if(Position == -1) + { + WheelSliderTouchFlag = 0; + TSWheelSlider_TouchConfirmTimer = WHEEL_SLIDER_TOUCH_RELEASE_CONFIRM_TIME; + } + } + else + { + if(Position == -1) + { + if(!TSWheelSlider_TouchConfirmTimer) + { +//WHEEL_SLIDER_RELEASE: + WheelSliderState = WHEEL_SLIDER_NO_TOUCH; + WheelSliderCapRateFilter = 0; + WheelSliderPosition = -1; + for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) + { + TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + } + } + } + else + { + WheelSliderTouchFlag = 1; + } + } + } + if(WheelSliderState == WHEEL_SLIDER_TOUCH) + { + if(Position != -1) + { + WheelSliderPosition = Position; + } +#if PRINT_WHEEL_SLIDER_POSITION_EN + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('i'); + TK_Debug_UartPutChar('d'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('r'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('p'); + TK_Debug_UartPutChar('o'); + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('i'); + TK_Debug_UartPutChar(':'); + TK_Debug_UartPutChar(WheelSliderPosition/100+0x30); + TK_Debug_UartPutChar((WheelSliderPosition%100)/10+0x30); + TK_Debug_UartPutChar((WheelSliderPosition%10)+0x30); + + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); +#endif +#if PRINT_WHEEL_SLIDER_RATE_EN + { + unsigned char DeltaRate; + DeltaRate = WheelSliderCapRateFilter/4; + TK_Debug_UartPutChar(WheelSliderMaxIdx + 0x30); + TK_Debug_UartPutChar(' '); + + TK_Debug_UartPutChar(DeltaRate/100+0x30); + TK_Debug_UartPutChar((DeltaRate%100)/10+0x30); + TK_Debug_UartPutChar((DeltaRate%10)+0x30); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } +#endif + } + else + { + WheelSliderPosition = -1; + } + + if(WheelSliderPosition != -1) + { + ActiveTouchType = 2; + } + else + { + ActiveTouchType = 0; + } +} +#endif + +void TS_init(void) +{ + unsigned char i,ch_idx; +#if (DEBUG) + Debug_init(); +#endif + + TS_Cnt = OPENED_TS_COUNT; + ch_idx = 0; + for(i = 0;i < OPENED_TS_COUNT; i++) + { +#if (SUPPORT_KEY && SUPPORT_WHEEL_SLIDER) + if(i < KEY_CH_COUNT) + { + TS_CH[ch_idx++] = TS_KEY_CH_INFO_SEQ[i][0]; + } + else + { + TS_CH[ch_idx++] = TS_WHEEL_SLIDER_CH_SEQ[i-KEY_CH_COUNT]; + } +#elif SUPPORT_KEY + TS_CH[ch_idx++] = TS_KEY_CH_INFO_SEQ[i][0]; +#elif SUPPORT_WHEEL_SLIDER + TS_CH[ch_idx++] = TS_WHEEL_SLIDER_CH_SEQ[i]; +#endif + } + CKCON |= ILCKE; + TMCON = TME(1); + TMSNU = 0; + INT3EN =1; + + TS_IO_init(); + + + TKCFG = TKDIV(TKDIV_VAL)|TKTMS(TKTMS_VAL); +#if (TK_CHARGE_REF_SELECT == SOURCE_VDD) + TKCON = TKST(0)|TKIE(1)|TMEN(0)|TWKE(0)|VRS(VRS_VAL); + TKPWC = TKPC(TK_PC_VAL)|VDS(0)|VIRS(0)|TKPWS(0)|TKCVS(0); +#elif (TK_CHARGE_REF_SELECT == SOURCE_INNER) + TKCON = TKST(0)|TKIE(1)|TMEN(0)|TWKE(0)|VRS(0); + TKPWC = TKPC(TK_PC_VAL)|VDS(VDS_VAL)|VIRS(VIRS_VAL)|TKPWS(1)|TKCVS(1); +#endif + +#if SUPPORT_KEY +#if TK_SHARE_LED_EN + TLEN0 = 0xFF; + TLDAT0 = 0x00; + TLEN1 = 0x1F; + TLDAT1 = 0x00; + + TLCON = TLEIE(0)|TLKIE(0)|TLLIE(0)|TLLVS(0)|TLPOL(0); + TLCKS = TLCKS(2); + + TLCNTKH = 0x00; + TLCNTKL = 0x20; + + TLCNTLH = LED_DRV_CNT/256; + TLCNTLL = LED_DRV_CNT%256; + + TLDIV = 0; + TLCOMS = 0x01; + P01F = 6; + P01C &= (1<<5); +#endif +#endif + INT3EN = 1; + + TS_CycleScanDoneFlag = 0; +#if SUPPORT_KEY + KeysFlagSN = 0; + PreKeysFlagSN = 0; +#endif + ActiveTouchType = 0; +#if SUPPORT_KEY +#if SUPPORT_COVER_PANAL_AFTER_POWERON + PanalCoverJudgeFlag = 0; +#endif +#endif +#if SUPPORT_TOUCH_SLEEP_MODE + EnterStopScanTimer = ENTER_STOP_MODE_TIME; + TS_SleepEn = 1; + TS_SleepMode = 0; +#endif +#if SUPPORT_WHEEL_SLIDER + W_S_RefChSet = 0; + + WheelSliderState = WHEEL_SLIDER_NO_TOUCH; + WheelSliderTouchFlag = 0; + WheelSliderPosition = -1; + WheelSliderCapRateFilter = 0; +#endif + TS_State = TS_INIT; + TS_Init_Step = 0; + +#if SUPPORT_KEY +#if ANTI_SPEAKER_EN + RefChDataTimer = 0; +#endif +#endif + + MainLoopCnt1 = MainLoopCnt2 = 0; +#if SUPPORT_KEY +#if GENERATE_TS_KEY_EN + TK_State = TK_STATE_RELEASE; + TS_Key = 0; +#endif +#endif +} + +extern unsigned char flagSend; +void TS_Action(void) +{ + switch(TS_State) + { + case TS_INIT: + TS_RunInit(); + break; + case TS_DEAL: + if(TS_CycleScanDoneFlag) + { + TS_CycleScanDoneFlag = 0; + + MainLoopCnt1 = MainLoopCnt2 + 1; + +#if SUPPORT_KEY +#if ANTI_SPEAKER_EN + TS_RefChCheck(); +#endif +#endif + TS_DataFiltering(); + TS_StableFlag = 1; + +// if(flagSend &&(RF_Time>5)) +// { +// flagSend = 0; +// RF_Time=0; +// EA = 0; +// RF_send(15); +// EA = 1; +// } + + +#if SUPPORT_KEY + if(ActiveTouchType != 2) + { + TSKey_DataDeal(); + } +#endif +#if (DEBUG) + Debug_ParamLoad(); +#endif +#if SUPPORT_WHEEL_SLIDER + if(ActiveTouchType != 1) + { + TS_WheelSliderDeal(); + } +#endif +#if SUPPORT_TOUCH_SLEEP_MODE + if(!TS_StableFlag || !TS_SleepEn || (PCON & BIT2)) // ڷģʽSTOPģʽ + { + EnterStopScanTimer = ENTER_STOP_MODE_TIME; + } + if(!EnterStopScanTimer&&TS_SleepEn) + { +#if ENTER_SLEEP_PRINT_EN + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('p'); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + Delay_ms(1); +#endif + TS_EnterSleepMode(); +#if ENTER_SLEEP_PRINT_EN + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('x'); + TK_Debug_UartPutChar('i'); + TK_Debug_UartPutChar('t'); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); +#endif + } +#endif + } + if(TS_HalfSecCnt >= 5) + { + TKCON = 0; + TKIF = 0x3F; + TS_init(); + } + break; + default: + break; + } +#if SUPPORT_KEY +#if TK_SHARE_LED_EN + TKLED_Update(); +#endif +#if GENERATE_TS_KEY_EN + TS_GetKey(); +#endif +#endif +} +#if SUPPORT_TOUCH_SLEEP_MODE +void TS_SetChannel(unsigned char index,unsigned char ch); +void TS_SleepScanStart(void) +{ + unsigned char i; + for(i = 0; i < 6; i++) + { + if(TS_Index + i < TS_Cnt) + { + TS_SetChannel(i,(TS_CH[TS_Index+i])+1); + } + else + { + TS_SetChannel(i,0); + } + } + TKCON |= TKST(1); +} +void TS_EnterSleepMode(void) +{ +//ʡģʽ + #define STOP_TKDIV_VAL 0 + #define STOP_TKTMS_VAL 15 //ŵʱ + #define STOP_VRS_VAL 7 //Ƚֵ + unsigned char TS_SampleComplete = 0,i; + unsigned int xdata WakeUp_PThdVal[OPENED_TS_COUNT]; + unsigned int xdata WakeUp_NThdVal[OPENED_TS_COUNT]; + WORD_UNION TS_Data; + + TKCON = 0; + TKIF = 0x3F; + + TS_SleepMode = 1; +#if SUPPORT_KEY +#if TK_SHARE_LED_EN + TLEN0 = 0x00; + TLDAT0 = 0x00; + TLEN1 = 0x00; + TLDAT1 = 0x00; + P01F = HIGH_Z|PU_EN; + P01C &= (1<<5); //ѡ +#endif +#endif + TMCON &= ~TME(1); + TMCON |= TMF; + + TKCON = (TKCON&0xF8) | VRS(STOP_VRS_VAL); + TKCON &= ~TKIE(1); + TKCFG = TKDIV(STOP_TKDIV_VAL)|TKTMS(STOP_TKTMS_VAL); + +#if (OPENED_TS_COUNT%6 == 0) + TKMTS = (SLEEP_MODE_SCAN_INTERVAL_TIME*6)/(OPENED_TS_COUNT); +#else + TKMTS = (SLEEP_MODE_SCAN_INTERVAL_TIME)/((OPENED_TS_COUNT/6)+1); +#endif + + TKPWC = TKPC(1)|VDS(0)|VIRS(0)|TKPWS(0)|TKCVS(0); //ʡΪVDD + +#ifdef LVD_RST_ENABLE + LVDCON = 0; +#endif + I2CCON = 0; + CKCON = 0; + + MECON |= BIT6; + PWCON = (PWCON&0xF0)|0x07; + + TS_Index = 0; + TS_SleepScanStart(); + WDFLG = 0xA5; + + TMCON = TME(1); + TMSNU = 127; + + while(1) + { + if(TS_SampleComplete) + { + CKCON &= ~IHCKE; + CKCON = (CKCON&0xFE) | CKSEL_IRCL; + EA = 0; + PCON |= (1<<1); + _nop_(); + _nop_(); + _nop_(); + CKCON |= IHCKE; + CKCON = (CKCON&0xFE) | CKSEL_IRCH; + EA = 1; + } + if(TS_HalfSecCnt >= 5) + { + break; + } + if(TKIF != 0) + { + if(TS_HalfSecCnt) TS_HalfSecCnt--; + for(i = 0; i < 6; i++) + { + if(TKIF & (1<= WakeUp_NThdVal[TS_Index+i])) + { + goto SLEEP_EXIT; + } + } + } + } + if(TS_Index+6 < TS_Cnt) + { + TS_Index += 6; + } + else + { + TS_Index = 0; + if(TS_SampleComplete == 0) + { + TS_SampleComplete = 1; + TKCON |= TMEN(1); + } + } + TS_SleepScanStart(); + WDFLG = 0xA5; + } + } +SLEEP_EXIT: + TKCON = 0; + TKIF = 0x3F; + PWCON = (PWCON&0xF0)|0x0D; + + TKCFG = TKDIV(TKDIV_VAL)|TKTMS(TKTMS_VAL); +#if (TK_CHARGE_REF_SELECT == SOURCE_VDD) + TKCON = TKST(0)|TKIE(1)|TMEN(0)|TWKE(0)|VRS(VRS_VAL); + TKPWC = TKPC(TK_PC_VAL)|VDS(0)|VIRS(0)|TKPWS(0)|TKCVS(0); +#elif (TK_CHARGE_REF_SELECT == SOURCE_INNER) + TKCON = TKST(0)|TKIE(1)|TMEN(0)|TWKE(0)|VRS(0); + TKPWC = TKPC(TK_PC_VAL)|VDS(VDS_VAL)|VIRS(VIRS_VAL)|TKPWS(1)|TKCVS(1); +#endif +#if SUPPORT_KEY +#if TK_SHARE_LED_EN + TLEN0 = 0xFF; + TLEN1 = 0x1F; + P01F = 6; +#endif +#endif + CKCON |= ILCKE; + TMCON &= ~TME(1); + TMCON |= TMF; + Delay_50us(1); + TMCON = TME(1); + TMSNU = 0; + TS_Index = 0; + TS_ScanStart(); + EnterStopScanTimer = ENTER_STOP_MODE_TIME; + TS_SleepMode = 0; +#ifdef LVD_RST_ENABLE + LVDCON = 0xE3; //LVDλѹΪ2V +#endif +} +#endif +/*********************************************************************************************************************/ +#if SUPPORT_KEY +#if GENERATE_TS_KEY_EN +#if GENERATE_DOUBLE_KEY_EN +typedef struct +{ + unsigned char TogKeyNum; + unsigned char TogKeyList[2]; +} +T_TogKeyInfo; +#endif +code unsigned char TS_KEY_TAB[]= +{ + K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13 +}; +#if GENERATE_DOUBLE_KEY_EN +void TS_GetTogKeyInfor(T_TogKeyInfo *pKeyInfo) +{ + unsigned char i,index; + pKeyInfo->TogKeyNum = 0; + index = 0; + for(i = 0; i < KEY_CH_COUNT; i++) + { + if(KeysFlagSN & MASK_TAB[i]) + { + pKeyInfo->TogKeyNum++; + + if(pKeyInfo->TogKeyNum <= 2) + { + pKeyInfo->TogKeyList[index++] = TS_KEY_TAB[i]; + } + } + } +} +#endif +#if PRINT_TS_KEY_EN +void Hex2CharPrint(unsigned int integar) +{ + unsigned char CharBuf[4]; + unsigned char i, temp; + for(i = 0; i < 4; i++) + { + temp = (unsigned char)(integar&0x0F); + if(temp >= 0x0A) + { + CharBuf[i] = (temp - 0x0A) + 'A'; + } + else + { + CharBuf[i] = temp + '0'; + } + integar >>= 4; + } + TK_Debug_UartPutChar('0'); + TK_Debug_UartPutChar('x'); + TK_Debug_UartPutChar(CharBuf[2]); + TK_Debug_UartPutChar(CharBuf[1]); + TK_Debug_UartPutChar(CharBuf[0]); +} +#endif +void TS_GetKey(void) +{ + static unsigned int KeyBak; + static bit LongFlag; +#if GENERATE_DOUBLE_KEY_EN + T_TogKeyInfo KeyInfo; + TS_GetTogKeyInfor(&KeyInfo); +#else + static unsigned char KeyidxBak; + unsigned char i; +#endif + TS_Key = 0; + if(TK_State == TK_STATE_RELEASE) + { +#if GENERATE_DOUBLE_KEY_EN + if(KeyInfo.TogKeyNum != 0) + { + if(KeyInfo.TogKeyNum == 1) + { + KeyBak = (unsigned int)KeyInfo.TogKeyList[0]; + TK_State = TK_STATE_SINGLE_KEY_PRESS; + } + else if(KeyInfo.TogKeyNum == 2) + { + KeyBak = ((unsigned int)KeyInfo.TogKeyList[0]<<5)|(unsigned int)KeyInfo.TogKeyList[1]; + TK_State = TK_STATE_DOUBLE_KEY_PRESS; + } + TS_Key = KeyBak; + LongFlag = 0; + TS_LongKeyTimer = TS_LONG_START_TIME; + } +#else + if(KeysFlagSN != 0) + { + for(i = 0; i < KEY_CH_COUNT; i++) + { + if(KeysFlagSN & MASK_TAB[i]) + { + KeyidxBak = i; + KeyBak = TS_KEY_TAB[i]; + break; + } + } + TS_Key = KeyBak; + LongFlag = 0; + TS_LongKeyTimer = TS_LONG_START_TIME; + TK_State = TK_STATE_SINGLE_KEY_PRESS; + } +#endif + } + else if(TK_State == TK_STATE_SINGLE_KEY_PRESS) + { +#if GENERATE_DOUBLE_KEY_EN + if(KeyInfo.TogKeyNum == 1) + { + if(KeyBak == (unsigned int)KeyInfo.TogKeyList[0]) + { + if(!TS_LongKeyTimer) + { + if(!LongFlag) + { + LongFlag = 1; + TS_Key = KeyBak | KEY_LONG_START; + } + else + { + TS_Key = KeyBak | KEY_LONG; + } + TS_LongKeyTimer = TS_LONG_TIME; + } + } + else + { + if(!LongFlag) + { + TS_Key = KeyBak | KEY_BREAK; + } + else + { + TS_Key = KeyBak | KEY_LONG_BREAK; + } + TK_State = TK_STATE_RELEASE; + } + } + else if(KeyInfo.TogKeyNum == 2) + { + KeyBak = ((unsigned int)KeyInfo.TogKeyList[0]<<5) | (unsigned int)KeyInfo.TogKeyList[1]; + TK_State = TK_STATE_DOUBLE_KEY_PRESS; + TS_Key = KeyBak; + LongFlag = 0; + TS_LongKeyTimer = TS_LONG_START_TIME; + } + else if(KeyInfo.TogKeyNum == 0) + { + if(!LongFlag) + { + TS_Key = KeyBak | KEY_BREAK; + } + else + { + TS_Key = KeyBak | KEY_LONG_BREAK; + } + TK_State = TK_STATE_RELEASE; + } +#else + if(KeysFlagSN & MASK_TAB[KeyidxBak]) + { + if(!TS_LongKeyTimer) + { + if(!LongFlag) + { + LongFlag = 1; + TS_Key = KeyBak | KEY_LONG_START; + } + else + { + TS_Key = KeyBak | KEY_LONG; + } + TS_LongKeyTimer = TS_LONG_TIME; + } + } + else + { + if(!LongFlag) + { + TS_Key = KeyBak | KEY_BREAK; + } + else + { + TS_Key = KeyBak | KEY_LONG_BREAK; + } + TK_State = TK_STATE_RELEASE; + } +#endif + } +#if GENERATE_DOUBLE_KEY_EN + else if(TK_State == TK_STATE_DOUBLE_KEY_PRESS) + { + if(KeyInfo.TogKeyNum == 2) + { + if(KeyBak == ((unsigned int)KeyInfo.TogKeyList[0]<<5)|(unsigned int)KeyInfo.TogKeyList[1]) + { + if(!TS_LongKeyTimer) + { + if(!LongFlag) + { + LongFlag = 1; + TS_Key = KeyBak | KEY_LONG_START; + } + else + { + TS_Key = KeyBak | KEY_LONG; + } + TS_LongKeyTimer = TS_LONG_TIME; + } + } + } + else if(KeyInfo.TogKeyNum == 0) + { + if(!LongFlag) + { + TS_Key = KeyBak | KEY_BREAK; + } + else + { + TS_Key = KeyBak | KEY_LONG_BREAK; + } + TK_State = TK_STATE_RELEASE; + } + } +#endif +#if PRINT_TS_KEY_EN + if(TS_Key != 0) + { + if((TS_Key & 0xFF00) == 0) + { +#if GENERATE_DOUBLE_KEY_EN + if(TS_Key > 0x1F) + { + TK_Debug_UartPutChar('d'); + TK_Debug_UartPutChar('o'); + TK_Debug_UartPutChar('u'); + TK_Debug_UartPutChar('b'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('e'); + } + else + { + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('i'); + TK_Debug_UartPutChar('n'); + TK_Debug_UartPutChar('g'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('e'); + } + TK_Debug_UartPutChar(' '); +#endif + TK_Debug_UartPutChar('k'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('y'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('='); + TK_Debug_UartPutChar(' '); + Hex2CharPrint(TS_Key); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + else if(TS_Key & KEY_BREAK) + { + TK_Debug_UartPutChar('k'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('y'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('u'); + TK_Debug_UartPutChar('p'); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + else if(TS_Key & KEY_LONG_START) + { + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('o'); + TK_Debug_UartPutChar('n'); + TK_Debug_UartPutChar('g'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('t'); + TK_Debug_UartPutChar('a'); + TK_Debug_UartPutChar('r'); + TK_Debug_UartPutChar('t'); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + else if(TS_Key & KEY_LONG) + { + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('o'); + TK_Debug_UartPutChar('n'); + TK_Debug_UartPutChar('g'); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + } +#endif +} +#endif +#endif +/*********************************************************************************************************************/ + +/*********************************************************************************************************************/ +#endif \ No newline at end of file diff --git a/TS_Lib/Sources/ts_service.LIB b/TS_Lib/Sources/ts_service.LIB new file mode 100644 index 0000000000000000000000000000000000000000..12264d00697b521e413d56774020d5bfc019362b GIT binary patch literal 17991 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 literal 0 HcmV?d00001 diff --git a/ca51f5_config.h b/ca51f5_config.h new file mode 100644 index 0000000..761dfd0 --- /dev/null +++ b/ca51f5_config.h @@ -0,0 +1,39 @@ +#ifndef CA51F_CONFIG_H +#define CA51F_CONFIG_H +/**************************************************************************************************************/ +#define IRCH 0 +#define IRCL 1 + +/**************************************************************************************************************/ +#define SYSCLK_SRC IRCH //оƬϵͳʱѡ +/**************************************************************************************************************/ + + +/************ϵͳʱƵʶ壬ҪUART**********************************************************/ +#if (SYSCLK_SRC == IRCH) + #define FOSC (16000000) +#elif (SYSCLK_SRC == IRCL) + #define FOSC (131000) +#endif +/***************************************************************************************************************/ + + +/*************************UARTܿغ궨********************************************************************/ + //#define UART0_EN //ʹUART0򿪴˺궨 + +#ifdef UART0_EN + #define UART0_BAUTRATE 115200 +#endif +/*********************************************************************************************************************/ + #define LVD_RST_ENABLE + +#endif + + + +/*********************************************/ + + + + + diff --git a/hex/ExtDll.iex b/hex/ExtDll.iex new file mode 100644 index 0000000..b661f48 --- /dev/null +++ b/hex/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/hex/STARTUP._ia b/hex/STARTUP._ia new file mode 100644 index 0000000..55adbdd --- /dev/null +++ b/hex/STARTUP._ia @@ -0,0 +1 @@ +"Library\Lib\STARTUP.A51" NOMOD51 SET (SMALL) DEBUG PRINT(.\lst\STARTUP.lst) OBJECT(.\hex\STARTUP.obj) EP \ No newline at end of file diff --git a/hex/STARTUP.obj b/hex/STARTUP.obj new file mode 100644 index 0000000000000000000000000000000000000000..3d62da9ad94f9fddf3eea5efc4dc77a509da8226 GIT binary patch literal 838 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 literal 0 HcmV?d00001 diff --git a/hex/ca51fx_onoff.build_log.htm b/hex/ca51fx_onoff.build_log.htm new file mode 100644 index 0000000..e556215 --- /dev/null +++ b/hex/ca51fx_onoff.build_log.htm @@ -0,0 +1,78 @@ + + +

+

Vision Build Log

+

Tool Versions:

+IDE-Version: Vision V5.38.0.0 +Copyright (C) 2022 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: 1 850080437@qq.com, 1, LIC=58E4T-R1XQA-VPRZ0-B1X1S-MM33I-0X956 + +Tool Versions: +Toolchain: PK51 Prof. Developers Kit Version: 9.60.7.0 +Toolchain Path: D:\Program Files\Keil_v5\C51\BIN +C Compiler: C51.exe V9.60.7.0 +Assembler: A51.exe V8.2.7.0 +Linker/Locator: LX51.exe V4.66.100.0 +Library Manager: LIBX51.exe V4.30.1.0 +Hex Converter: OHX51.exe V1.47.0.0 +CPU DLL: S8051.DLL V3.125.1.0 +Dialog DLL: DCore51.DLL V2.81.8.0 +Target DLL: CA8051.dll V??? +Dialog DLL: TCore51.DLL V2.66.5.0 + +

Project:

+D:\workplace\ļ\\\CA51F551S3\8崥\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch.uvproj +Project File Date: 11/24/2023 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +TS_Lib\Includes\ts_configuration.h(117): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(118): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(119): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(120): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(121): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(122): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(123): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(124): warning C329: single-line comment contains line-continuation +compiling delay.c... +compiling system_clock.c... +compiling uart.c... +compiling interrupt.c... +TS_Lib\Includes\ts_configuration.h(117): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(118): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(119): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(120): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(121): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(122): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(123): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(124): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +TS_Lib\Includes\ts_configuration.h(117): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(118): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(119): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(120): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(121): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(122): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(123): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(124): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +TS_Lib\Includes\ts_configuration.h(117): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(118): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(119): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(120): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(121): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(122): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(123): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(124): warning C329: single-line comment contains line-continuation +assembling STARTUP.A51... +linking... +Program Size: data=93.7 xdata=419 const=347 code=5200 +creating hex file from ".\hex\ca51fx_onoff"... +".\hex\ca51fx_onoff" - 0 Error(s), 32 Warning(s). +Build Time Elapsed: 00:00:08 +
+ + diff --git a/hex/ca51fx_onoff.hex b/hex/ca51fx_onoff.hex new file mode 100644 index 0000000..65e6ff1 --- /dev/null +++ b/hex/ca51fx_onoff.hex @@ -0,0 +1,350 @@ +:10000000020F719404E50C9400223202120B90014D +:1000100000E004F0785AE66001169000FBE0600210 +:0700200014F02202000A3275 +:03002B0002107C44 +:10003300020026BB010689828A83F0225002F7223E +:10004300BBFE01F322EF8DF0A4A8F0CF8CF0A4281F +:10005300CE8DF0A42EFE22BC000BBE0029EF8DF046 +:1000630084FFADF022E4CCF875F008EF2FFFEE33F8 +:10007300FEEC33FCEE9DEC984005FCEE9DFE0FD5A7 +:10008300F0E9E4CEFD22EDF8F5F0EE8420D21CFE7B +:10009300ADF075F008EF2FFFED33FD4007985006E4 +:1000A300D5F0F222C398FD0FD5F0EA22C2D5EC3089 +:1000B300E709B2D5E4C39DFDE49CFCEE30E715B23D +:1000C300D5E4C39FFFE49EFE12005AC3E49DFDE402 +:1000D3009CFC800312005A30D507C3E49FFFE49EC3 +:1000E300FE22C5F0F8A3E028F0C5F0F8E5821582FA +:1000F30070021583E038F022E88FF0A4CC8BF0A4D3 +:100103002CFCE98EF0A42CFC8AF0EDA42CFCEA8EE6 +:10011300F0A4CDA8F08BF0A42DCC3825F0FDE98F09 +:10012300F0A42CCD35F0FCEB8EF0A4FEA9F0EB8F00 +:10013300F0A4CFC5F02ECD39FEE43CFCEAA42DCECD +:1001430035F0FDE43CFC2275F008758200EF2FFFCB +:10015300EE33FECD33CDCC33CCC58233C5829BED9C +:100163009AEC99E58298400CF582EE9BFEED9AFDA0 +:10017300EC99FC0FD5F0D6E4CEFBE4CDFAE4CCF950 +:10018300A88222B800C1B90059BA002DEC8BF084C3 +:10019300CFCECDFCE5F0CBF97818EF2FFFEE33FE91 +:1001A300ED33FDEC33FCEB33FB10D703994004EB49 +:1001B30099FB0FD8E5E4F9FA227818EF2FFFEE3315 +:1001C300FEED33FDEC33FCC933C910D7059BE99A27 +:1001D3004007EC9BFCE99AF90FD8E0E4C9FAE4CCB8 +:1001E300FB2275F010EF2FFFEE33FEED33FDCC3322 +:1001F300CCC833C810D7079BEC9AE899400AED9B0B +:10020300FDEC9AFCE899F80FD5F0DAE4CDFBE4CCE9 +:10021300FAE4C8F922E8600FECC313FCED13FDEE1A +:1002230013FEEF13FFD8F122A42582F582E5F03502 +:1002330083F58322E493FB740193FA740293F92206 +:10024300D083D082F8E4937012740193700DA3A34A +:1002530093F8740193F5828883E47374029368605E +:10026300EFA3A3A380DFEC8EF0A4CCC5F0CCCDF834 +:10027300EFA4CEC5F02DFDE43CFCE8A42EC8C5F0E8 +:100283003DFDE43CFCEFA4FFE5F028FEE43DFDE486 +:100293003CFC228F358C368D37E4F543F544F5412C +:1002A300F542F538E538C3953540030203809000E5 +:1002B300B5E0FF6538701CE5192FFFE412080CFC4C +:1002C300A3E0FD1207F7FEA3E0C39DF540EE9CF506 +:1002D3003F80641207E31208031208D08F3C8E3B61 +:1002E3008D3A8C39E5192538FFE41207EE1208E63A +:1002F300AF3CAE3B1201868E3D8F3E1207E31208E0 +:10030300031208DB953EFFEE953DAB07FAE4F9F8DF +:10031300AF3CAE3BAD3AAC391201868E3D8F3E9079 +:1003230000B5E02519FFE41207EEFEA3E0C3953EF6 +:10033300F540EE953DF53FC3E53F6480948050055D +:10034300E4F53FF540D3E5409542E53F9541401440 +:10035300854546854143854244853845853F4185EA +:1003630040428014D3E5409544E53F9543400985D9 +:100373003846853F4385404405380202A7E54225B8 +:1003830044FFE5413543FEC3EF9537EE95365005FF +:100393007EFF7FFF22E536C313FEE53713FFC3E578 +:1003A300429FF540E5419EF53FFEAF407C007D0A4C +:1003B3001200481208B9EDD3941F40027D1FEDAC23 +:1003C30036AD37120875CEC313CE13D8F9F53E8E6A +:1003D3003D2542F542E53D3541F541E53E2544F5F0 +:1003E30044E53D3543F543E544AE437807C333CE97 +:1003F30033CED8F9FF1208B9900124E07002A3E0CC +:100403007005120892800D1208C3CEC313CE13D801 +:10041300F912084B1208F0CEC313CE13D8F9FD908E +:1004230000D0E545F075F040A485F047F548E54573 +:100433001208A25002AD07E545120821C333CE339B +:10044300CED8F9120833AD07AC06E545700AE53599 +:1004530014B54604C206801BE53514B54508E546C8 +:100463007004D206800DE545C395465004D206803C +:1004730002C20630060CED2548F548EC3547F54732 +:100483008022E54845477011E53575F040A4AEF08C +:1004930024FFF548EE34FFF547C3E5489DF548E5ED +:1004A300479CF547AE47AF4822E4F532F5F875FBB4 +:1004B3003FD20153D57F43D501E5F854F84407F5FE +:1004C300F853F8BF75F90F75FA329081037440F051 +:1004D300E4F5E8F5C0908030F090FC00E04440F093 +:1004E300E58654F04407F586E4F5161213EA75A180 +:1004F300A575D58075D67FE532601F908030E054B6 +:100503007FF0E054FE4401F0C2AF438702000000D5 +:10051300E04480F0E054FEF0D2AF900100E0FFC36E +:1005230094054003020620E5FB60CCEF600214F063 +:10053300E4FD7E007401A805088005C333CE33CEE5 +:10054300D8F9FFACFBECFBEF5B70030205F0A805E9 +:100553007401088002C333D8FCF5FBED700885E213 +:100563003385E1348035BD010885E43385E3348088 +:100573002ABD020885E63385E534801FBD0308855F +:10058300D93385E7348014BD040885DB3385DA3439 +:100593008009BD050685DD3385DC34E532702CE545 +:1005A3003424F7FFE53334FFFEE5162DFC1209D69C +:1005B300EEF0A3EFF0E5342409FFE43533FEEC124B +:1005C3000A08F583EEF0A3EFF08022E5162DFF1263 +:1005D30009D6E0FAA3E0C39534EA9533503FEF120E +:1005E3000A08120962D39534EE953340300DED6459 +:1005F300066003020535E5162406120985500874C2 +:10060300062516F516800DE4F516E53270067532EB +:100613000143F8201213EA75A1A50204FAE4F5F8E0 +:1006230075FB3FE58654F0440DF5861209C99080A9 +:1006330030E04440F053D57F43D5017F017E001263 +:10064300143075D580E4F5D6F5161211BD120A01E2 +:10065300C20175E8E322C205751908200307D20316 +:100663007F0412124C7D4A7C007F04120296EFF441 +:100673007002EEF46002C204900123E0F960030209 +:100683000763900122E06003020733EFF47002EE88 +:10069300F4600B7401F09000FF04F00207B38519B6 +:1006A3003212094340030207B3120924E532120947 +:1006B30018E0FAA3E0FBD39DEA9CE5324007120958 +:1006C30026C3EB8014120918E0FCA3E0FDE5321207 +:1006D30009A7F583E0FAA3E0C39DF534EA9CF5335B +:1006E300D3E5349408E5339400502174162532126F +:1006F300093BE07036120924E532120918ECF0A325 +:10070300EDF0120924E5321209F7800E120924E5EF +:100713003225E02402F582E43400F583ECF0A3ED06 +:10072300F07416253212093B7432F005320206A426 +:10073300EFF47002EEF4600D9000FFE07072900130 +:100743002304F0806BE4900122F0851932120943EF +:10075300505E7416253212093B7432F0053280ED77 +:10076300E96401704B900122E06011EFF47002EE36 +:10077300F4703DF09000FF7402F08034EFF47002E7 +:10078300EEF470269000FFE07026900123F0A3F0B2 +:10079300A31209B185193212094350147416253274 +:1007A30012093B7432F0053280ED9001227401F09E +:1007B300900123E0B40112EFF47002EEF4600D90A7 +:1007C30000FCEEF0A3EFF080031209B29000FCE00E +:1007D300F47003A3E0F4600475180222E4F5182210 +:1007E3009000B5E0AD197C002DFFEC33FEEF25E062 +:1007F300FFEE33FE741A2FF58274003EF583E02278 +:10080300FAA3E0FBED2538FFEC33FEEF25E0FFEE26 +:1008130033FE74B62FF58274003EF583E022901503 +:100823007C93FCFFEDC39FFFE49400FEEF78052269 +:10083300FFECFDC374809DFDE49400FC0200AF75E2 +:10084300F00290001A02022BFFC3EB9FFFEA9E9077 +:100853000124F0A3EFF0EDFF900124E48FF00200F8 +:10086300E5E5009000B675F00212022BE0FEA3E06E +:10087300FF22FFC374209FFFE49400FE120048EFA1 +:10088300780622C3EB9FEE6480F8EA64809822ED39 +:1008930075F004A4FF900124E5F0F0A3EFF022909B +:1008A300157C93FFEDC39F22E500C313FEE5001300 +:1008B300FFC3E5009F22AC41AD4212005AAD0722AF +:1008C300900124E0FAA3E0FBAE02780222FEA3E04B +:1008D300FFAD03AC02020269FEA3E02BFFEE3AFE7A +:1008E300C3EF22FEA3E0FBAA06E4F9F82290012459 +:1008F300E0FEA3E0780222AC00AD0012005AAD077F +:1009030022E53225E024B6F582E43400F583E0FEE7 +:10091300A3E0FFE53225E02402F582E43400F58309 +:1009230022E53225E024B6F582E43400F583E0FCC9 +:10093300A3E0FD2274162532F582E43401F5832207 +:10094300E5192404FDE433FCC3E5329DEC6480F82F +:1009530074809822E53225E024D1F582E43400F551 +:1009630083E0FEA3E02274012532F582E43401F52D +:100973008322E53275F00AA42432F582E43400F5CB +:100983008322FFE433C3FE7859E6FDEF9D7480F8BC +:100993006E982225E0241AF582E43400F583EEF004 +:1009A300A3EFF02225E024B6F582E4340022F074AC +:1009B300FF9000FCF0A3F022E53290158093FF78BE +:1009C3005BE6FEEF5E2275F90A75F84090810374C9 +:1009D30057F02225E02428F582E43401F5832278B8 +:1009E30059E62401FFE433FEC32225E024D1F58236 +:1009F300E434002225E0241AF582E4340022900036 +:100A0300FB7405F02225E02440F582E4340122E45E +:100A1300F530F52FF52EF52DF53175E8E39080309F +:100A2300E04440F075A081E4F5A375A24B75A1A540 +:100A3300D2AF120FFD90801A7402F0C2B212128D5F +:100A4300E48F308E2FF52EF52DAD2EAC2D780812B8 +:100A530002188F1385301485140F8513105389FCE6 +:100A6300758CFB758A1BC28CD2A9C2B91210FA907D +:100A730000FCE0FEA3E0FFF47002EEF4601B754996 +:100A830001E4F54B75310174592FF58274143EF569 +:100A930083E493F54A240FF54A9000FEE0FF60518A +:100AA300754901E4F54BEF1202430AC9010ACE026C +:100AB3000AD3040AD8080ADD100AE2200AE7400A2A +:100AC300EC8000000AF1754A058026754A0C8021E6 +:100AD300754A0A801C754A0B8017754A098012757E +:100AE3004A07800D754A038008754A018003E4F5BF +:100AF300499000FCE0B4FF0EA3E0B4FF099000FEB0 +:100B0300E07003754B01E54964016003020A6FF568 +:100B130049D28C854A11020A6FE50914602C1460CE +:100B230048147003020BFC24036003020C18D2B2B6 +:100B3300050DE50D7002050CC31200035003020CF2 +:100B430018E4F50CF50D75090122C2B2050DE50D8A +:100B53007002050CC39478E50C94005003020C1842 +:100B6300E4F50CF50D75090222E512700B751201FF +:100B7300740F250AF8E6F50B050DE50D7002050C5B +:100B8300E50B30E726D3E50D940CE50C94005004F7 +:100B9300D2B28044C3E50D940DE50C94004039C2F4 +:100BA300B2E50D6410450C702F8021D3E50D1200C2 +:100BB300035004D2B28021C3E50D9405E50C9400E3 +:100BC3004016C2B2E50D6410450C700CF50CF50D22 +:100BD300E50B25E0F50B050EE50E64087037F50E01 +:100BE300F512050AE50A6403702BF50AE54BB40117 +:100BF3000475090322E4F50922050DE50D700205CC +:100C03000CD31200035003D2B222C2B2E4F50CF5A6 +:100C13000DF509C28C22E4F532120916E0FCA3E0BB +:100C2300FD120CFE8F33E532120926120CFE8F34AF +:100C3300E53464026008E53464036002C204E5330A +:100C43007030E534701B1209BB700E120937E06077 +:100C530003020CE1EF4EF680001209377402F080B4 +:100C63007D1209BB6069120937E07072EFF45EF61A +:100C73008015E534700C120904EEF0A3EFF0E4FDE7 +:100C83008057785BE66011E5321209F712090FEE1F +:100C9300F0A3EFF07D028041120916E0FEA3E0FF0E +:100CA300E5321209267B1E7A00121364EF602012CC +:100CB3000937E07029120904EEF0A3EFF0E53212D0 +:100CC30009A7120962FFE5321209967D02800A1212 +:100CD3000904EEF0A3EFF0AD34AF3212144605323F +:100CE300E532C394085003020C1C785BE69000FEC7 +:100CF300F0600475180122E4F51822E5329015809E +:100D030093785B5624FF92057B1E7A00AF32121153 +:100D13005E229000B4E07015C200900100F0F51659 +:100D23001211BD9000B47402F0751532229000B414 +:100D3300E064026003020DED200003020DEDC2002A +:100D43001515E5156003020DED785AF6F532120913 +:100D5300E2E5329FEE1209504003020DE9E4FFE59C +:100D6300321209ED12092FE53212097775F002EFFD +:100D730012022BECF0A3EDF00FBF05E37401253253 +:100D830012096DE4F0E532785966605A120957FF8B +:100D9300E532120996120957FFE532120918EEF0EF +:100DA300A3EFF0E532C39408502DE53225E025E0AA +:100DB300245AF582E43415F583E493FE740193FF1A +:100DC300E53225E024EBF582E4340012099F7D022D +:100DD300AF32121446800A7416253212093B74325C +:100DE300F00532020D51784C760122908109E054CE +:100DF300E06004E044E0F0E5FB30E00975FB0185C9 +:100E0300E22185E122E5FB30E10975FB0285E4235C +:100E130085E324E5FB30E20975FB0485E62585E5DA +:100E230026E5FB30E30975FB0885D92785E728E527 +:100E3300FB30E40975FB1085DB2985DA2AE5FB30F5 +:100E4300E50975FB2085DD2B85DC2CE4FFEF25E030 +:100E53002421F8E6FC08E6FDE5162F1209EDF583DB +:100E6300ECF0A3EDF0EFFDE5162DFDE433FC78592E +:100E7300E66D7001EC60040FBF06D2E5162406FF91 +:100E8300E433D31209894007D200E4F516800674CF +:100E9300062516F5161211BD900100E0600214F04C +:100EA300900127E0FF900126E0FE6F6006A3EEF0BD +:100EB30075A1A522E4F5321209E2E5329FEE12098B +:100EC300504003020F70120969E004F0120969E04F +:100ED300C394054005120969E4F0C2ADE532120975 +:100EE30059FF120975C083C082120969E0D082D00C +:100EF3008375F00212022BEEF0A3EFF0D2ADE4F50E +:100F030033F534F535F53674FFF537F538E4FF126C +:100F1300097575F002EF12022BE0FCA3E0FD253406 +:100F2300F534EC3533F533D3ED9536EC9535400494 +:100F33008C358D36C3ED9538EC953750048C378D51 +:100F4300380FBF05CAC3E5349536FFE5339535FE43 +:100F5300C3EF9538FFEE9537FE7C007D0312005AF0 +:100F6300E5321209A712099F0532020EBA22787FD1 +:100F7300E4F6D8FD75815D020FB8020A12E493A36B +:100F8300F8E493A34003F68001F208DFF48029E438 +:100F930093A3F85407240CC8C333C4540F4420C884 +:100FA300834004F456800146F6DFE4800B0102041B +:100FB3000810204080901392E47E019360BCA3FF4D +:100FC300543F30E509541FFEE493A360010ECF5450 +:100FD300C025E060A840B8E493A3FAE493A3F8E43F +:100FE30093A3C8C582C8CAC583CAF0A3C8C582C8AB +:100FF300CAC583CADFE9DEE780BE7859760CE4FF11 +:10100300FEEEC39408EE501125E025E02458F58246 +:10101300E43415F5837401800390157093FDAC07D8 +:101023000F744D2CF8A6050EBE0CD6908030E0440C +:1010330040F075D580E4F5D6D2AD1213351209C947 +:10104300D2ADC200E49000FEF0785BF6F518120A08 +:1010530001D202C201C203E4900123F090012212E3 +:1010630009B1E4900124F0A3F0784CF69000B4F0B9 +:10107300900127F0900126F022C0E0C0F0C083C0A9 +:1010830082C0D075D000C000C001C002C003C0043C +:10109300C005C006C007E5D530E03743D5013001B0 +:1010A30008900100E004F080331212FFE51D451C97 +:1010B3006008E51D151D7002151C051EE51EC39471 +:1010C300804006751E0012000EE508C394FA500214 +:1010D3000508200107E5FB6003120DEED007D006DB +:1010E300D005D004D003D002D001D000D0D0D0821C +:1010F300D083D0F0D0E032784CE614600604705A06 +:10110300020D15300042C200900127E00490012631 +:10111300F0120EB7D204E51864026003120C19E54D +:101123001864016003120659300408300205E5878C +:1011330030E203120A019000FBE0700C3002097FD9 +:1011430001FE1214151204AC900100E0C394054093 +:1011530009E4F5F875FB3F120FFD228A358B36A99A +:1011630007E9120842E0FEA3E0C39DFFEE9CAB0734 +:10117300FAE99000EB12086930050B7C007D091237 +:1011830000480D1200AF12088640037F0022D3EB04 +:101193009536E53512088A40037F0122C3EA64804D +:1011A300948040037F0222C3E49536FFE49535FE25 +:1011B3001208867F0440027F0322E4FEEEC39406F6 +:1011C3005042EEFDE5162DFDE433FC7859E6FBC3F2 +:1011D300ED9B7480F86C98401AAF067D0E1212C70F +:1011E300EE04FCECC39406501BAF04E4FD1212C7DB +:1011F3000C80F0AF06E5162E244DF8E604FD12121E +:10120300C70E80B843F88022C0E0C0F0C083C0821C +:10121300C0D075D000C000C001C002C003C004C06C +:1012230005C006C007758CFB758A1B120B1CD00703 +:10123300D006D005D004D003D002D001D000D0D046 +:10124300D082D083D0F0D0E032A90774FFF535F512 +:1012530036AF19E4FEE92519FDE433FCEFC39DEC39 +:101263006480F8748098502175F002EF120845E00D +:10127300FCA3E0FDC39536EC953550099000B5EE1F +:10128300F08C358D360F0E80CC2290FC017480F0EB +:10129300E490FC06F090FC05F090FC017481F0A34F +:1012A300E0FFE48F35F534F533F532AE34AD33ACCE +:1012B300321213C21213BE1213BEF532E490FC01B4 +:1012C300F0AC3222EF14601614601914601C146021 +:1012D3001F14602224057023ED4440F5FC22ED44E5 +:1012E30040F5FD22ED4440F5FE22ED4440F5FF229A +:1012F300ED4440F5F122ED4440F5F222900000E088 +:1013030004F0E0C394044029E4F0FF7859E6FEEFCB +:10131300C39E501574162F12093BE0600974162FF3 +:1013230012093BE014F00F80E29000FFE06002142A +:10133300F02290801D7404F0E4FF7859E6FEEFC3B9 +:101343009E501D744D2FF8E675F003A4248DF5828D +:10135300E43415F58312023774041200360F80DA71 +:1013630022C3EF9DFFEE9CFED3EF9BEA6480F8EE71 +:101373006480985017C3E49BFDE49AFCC3EF9DEC93 +:101383006480F8EE64809840037F01227F0022018D +:101393004900014A00014B00011E00010900020C33 +:1013A3000000030F000000010A00010E00010B0002 +:1013B3000112004100000001150000F532FCE4FBBE +:1013C3007A01F9F81200FB8F358E348D338C32900D +:1013D300FC02E0FFE5354FFFE534FEE533FDE53282 +:1013E3008F358E348D3322E4F535E5162535120914 +:1013F30085500BE5162535244DF8E6048001E4FD00 +:10140300AF351212C70535E535C3940640DC43F802 +:1014130080228F828E83E5821582AE8370021583CC +:101423004E60097F147E0012143080EA22EF1FAA57 +:101433000670011E4A600BE4FDEDC3944750EE0DA8 +:1014430080F722ED90158893FE74162FF582E4340D +:1014530001F583EEF02200010203040506070809E3 +:101463000A0B0C0D0E0F1011121213141516171868 +:10147300191A1B1C1D1E1F20212223242525262764 +:1014830028292A2B2C2D2E2F303132333435363761 +:101493003838393A3B3C3D3E3F4041424344454660 +:1014A3004748494A4A4B4C4D4E4F5051525354555D +:1014B300565758595A5B5C5D5D5E5F606162636459 +:1014C30065666768696A6B6C6D6E6F707071727355 +:1014D3007475767778797A7B7C7D7E7F8081828252 +:1014E300838485868788898A8B8C8D8E8F90919251 +:1014F30093949595969798999A9B9C9D9E9FA0A14E +:10150300A2A3A4A5A6A7A8A8A9AAABACADAEAFB049 +:10151300B1B2B3B4B5B6B7B8B9BABABBBCBDBEBF46 +:10152300C0C1C2C3C4C5C6C7C8C9CACBCCCDCDCE42 +:10153300CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE40 +:10154300DFE0E0E1E2E3E4E5E6E7E8E9EAEBECED3E +:10155300EEEFEFF0F0000000640001006400020011 +:10156300C80003005A0004005A0005006400060086 +:10157300FA0007012C080B0A094628284601020431 +:1015830008102040800264501E1E0180190180183B +:1015930001800701800601800501800401800301A9 +:1015A300800201800101800001801C01801B0180F9 +:0115B3001A1D +:00000001FF diff --git a/hex/ca51fx_onoff.lnp b/hex/ca51fx_onoff.lnp new file mode 100644 index 0000000..6b34875 --- /dev/null +++ b/hex/ca51fx_onoff.lnp @@ -0,0 +1,15 @@ +".\hex\main.obj", +".\hex\delay.obj", +".\hex\system_clock.obj", +".\hex\uart.obj", +".\hex\interrupt.obj", +".\hex\rf_send.obj", +".\hex\debug.obj", +".\hex\ts_api.obj", +".\TS_Lib\Sources\ts_service.LIB", +".\hex\STARTUP.obj" +TO ".\hex\ca51fx_onoff" + +PRINT(".\lst\ca51fx_onoff.map") REMOVEUNUSED +CLASSES (XDATA (X:0x0-X:0x1FF), HDATA (X:0x0-X:0x1FF), CODE (C:0x0-C:0x1FFF), CONST (C:0x0-C:0x1FFF), +ECODE (C:0x0-C:0x1FFF), HCONST (C:0x0-C:0x1FFF)) diff --git a/hex/ca51fx_onoff.plg b/hex/ca51fx_onoff.plg new file mode 100644 index 0000000..020d5ff --- /dev/null +++ b/hex/ca51fx_onoff.plg @@ -0,0 +1,23 @@ + + +
+

Vision Build Log

+

Project:

+D:\ļ\Fengshu\Ʒ\òʳ\\òң\ңͨS-ͨ\ңɫ޸-ɶ\CA51F5_Touch_DemoProj_v2.3-433M\CA51F5_Touch.uvproj +Project File Date: 04/09/2021 + +

Output:

+Build target 'CA51F5' +compiling main.c... +compiling delay.c... +compiling system_clock.c... +compiling uart.c... +compiling interrupt.c... +compiling rf_send.c... +compiling debug.c... +compiling ts_api.c... +assembling STARTUP.A51... +linking... +Program Size: data=87.0 xdata=419 const=105 code=5331 +creating hex file from ".\hex\ca51fx_onoff"... +".\hex\ca51fx_onoff" - 0 Error(s), 0 Warning(s). diff --git a/hex/debug.__i b/hex/debug.__i new file mode 100644 index 0000000..b018d65 --- /dev/null +++ b/hex/debug.__i @@ -0,0 +1 @@ +"TS_Lib\Sources\debug.c" OMF2 OPTIMIZE (9,SIZE) BROWSE DEBUG PRINT(.\lst\debug.lst) TABS (2) OBJECT(.\hex\debug.obj) \ No newline at end of file diff --git a/hex/debug.obj b/hex/debug.obj new file mode 100644 index 0000000000000000000000000000000000000000..127093b7eaade648ee6f9aa76ed9c257cfc60f01 GIT binary patch literal 30257 zcmeHwiGLh-dH1X=S-Wza`;Ox%b}r{|c6ImwLcH3Y)h@f*-Rz7cU+GvYtt~mSlbal)S&;?^$yi4fsxf_BOLa`!KlanBPYvd#LwhcEP2;%9iNVzFL2Gh; zZuiWd_0t{Nt1G|0%=}bi zx3zl^aPN8g=(clcLKY?#4(%*3>cvBgOO1Wj?8kHxhPtyj~u*vcclT1?ZropnC0Wx}xt|8nFE>aDd-w^{?^$ZBnw zrmYZjop5Iv%kjY@=V+apc8uM@o^h`SR^>A4(M3Jvyn8*cHa8qur!CjCWBs#!Lfd>} zt&Y-ox;3p!&3$_pEYyDs*WQ~^4v^aHF3(?jI%XSZS>ajbi zofO>(!*c9W>(| z)g=A&l2ht3i!WLVOkf}tf#58#p&E>_9^P0ak_U?_oTueON%ZkYW}R~lCryGy)HG3;d7!(pUvZY zoT@HDtYcVrdKESjT_6FS|L1f7EB!W-e-u>%cGW+LszJNzHm9mHTTSNa=Z`z(j)G1< z-Ql&S(0Z#^PL}BBf8ny(mqGi3PI-BuFO$xWQ0aE=k*%f(B9`$OR}@}$+GzzxOoIwv zWB@`55)U|K8)c13|K`+mm-OtoIRd)>=~Q)@BSv|Y3XeJ!fXbDIsr0a@$)>S2{=uo~ zC{&5Dw>gY;WVTWLe{pZ3kv6eR|LW8@RKePd+$n7qlWP25;2H&nh504dP@k0Q^KG|= zfYhe_fm>r1?Rk94tsx-Q=LNUMEcPor_j3&m(eCqZr>4s=t7`NAoVzFn!Satp&45Dl z3sI9&GyW4%GpPFfO4Qh^a*I>bVbI)Z&x`hc;E3JIvsoFVwjYZ20Y&5MPEDs?#X-}4 zEP4#89{S}+2L#k>w!(%*U=XtjXxZB9*RRV_rU!vpA}rq?_GS~_5CI&x)MwVz1F zmU;dAsi-@x%SoH)SLgp{9tK)9V7SG@Ks?1dJq!a>%n1ww3d2zk1Fb1A-0EQh=_ct7jar0kmSdo_J_&EsB8zg_dRS3`KP`@iMY45&V_G;>zavG(8fIuId% zJn7X8+8`MZ1iRsTUI*d?Aph;v5GSblsZ$dhq94BLH4_tPe!{CE8mRe>Q?o3cp?fKo z<-vl`kOzz6L)_T}q1X@?3nsN{U-n?Z zRnuWIR;9uhxT`TjOla?LyOzMyqh2czz0+$2)knNm!mEABYen&|onjmpe6}z~dolJf zvt3nd@d?o-<#c(#?V?uWQMYJ-gNGc5F39Z~75-MB=yOm!cBDTJ|^lw9CaUZ>TDKK z^Jk)0GCOL5?f)U_Qcm4_MO~j$_lKgc->LgkQ3rgW@qSS^;Pm@*Q3o36_a{zWmysMA z%~9cxM5jRq@B^X_i~#U`q7ICp?vI^1LT2j(_li#7f;z<>=2fk!tKmM;1@zG67GAGx zl_a$G&y3dWv#*24yb7Dn=eeS!+xph8xq?*l+%TcM!$H{rA*B5UH;-rS{-1OzY-PHb zrQ+X&q4(zL`iKU6IgX-V?__tI2GfAd%S3}iKwd#N49qimNZ=4U1@RK|UW_Pfmc z6paCPV}}-E;-5Nku`=>IwAW$g-!Rdu4E+u*$d*?Y=2xf-?8V?N%D!APah@{xJG4lX z|E2n|u|LIEere1nSG6gbqb%dNLBya1wI@`Jizzg^^;Zmv1DOq@>Zdo zt5}A9)oBszK+xa;_z&yHDDdTESXhZkAh%E}L%wP1e3}U;zzGdf5Dy?RAB%QTl|NBGLt#3pn(VXa=CX`Ti3VVr zh4S#Tq1<$77YQ6Y>OBfaXQ7tK&kzt;$AkaxnHq#6g&66e1+pKTkq&KTOZhla&eanN zep#_E2}b-l?Zw65AT99#=Z}~Xvsles9RYNf4Wodj>L)4WD{1rv-I|(NoT$$>ej7UW zZtV;KJ?*iX`fdb8|Dvx@6uT-_OE13~N~udDom)K^+=xf1@0kcnxEb&O<^^|k`%|r} z3mi@A$2-Q`YhBs}KtK<0TwS*(`?zXygGELv?~YR<;E%Dv75w!c-~CTV@Qr&F4`@DL zKU2-n$!5{Y!cl9DPAn`{4=iP-Cl`?ZCPrx0rC0hAgN(L03w%> zCbwa|evabg4B~`LQB$`JIvFM1D(c&;YE3tc_lC|xLTM;GrYGyCDNHA%YkJzs5f;5> znU&E@epdtry0p~;-uk_n9QaP#c)TNliyseQeo((qQ9aiftyU{F)5=uFh;B7qPM557 z&cx4^alKY4V?F(cj1O*Ho3Rlpj4`?<_xj2`+ICSs-{W%dsWzM*mr#fBfXnARm<`{K zfbmP-Qx(6*SNr>EU#3#LF{8xR$u>1B4RGU=5d(zMhzFDM{rd5Wm7eiREo+UI3zf1(pj)W0UAx>DQ^ zLsZ5C&?~$%J3wn`f4=~r;q1#o$jqtA*LYwQd{gnI`!5NO@$ zUW+TV6M=;uAnG9hH3T6Zl;6yQp-~J?EH+9rbB!#ieZM4pSZ`J{4hgm378_i_|CZs& z5roaj3vedEH>qEc(CrcMhw9E1K{wfWrqiJsv^lR3Pk_7d$bLg$6;3B0*5dd@nD|8;aa<>${%44M|3jM&Wf18T>|QS zzEg$XtJL1y?8KfUp-6g^Q4Ks`<-6`7?N3IjJ21rY*f5TINPF2BX`2J@Mu1eq1EBf3 zBi-G5x2Bi$w4whoA!t&k_7jv)#wR2Aw#R8IN?n5K&M?o^PgIL|45@;yCRhk1*saNZ zwU768Wz?*WnwZfhA#UfhOY2q??SXoSs8p(q;ShywH+dQiHe;mVv$Y8ledS!CHeyjk zTmN1tzPR>t!Nt4SjH&kbS!R;O)$WKvTr9x1u{k!Ht`W3ehWQjU4yaeB3&43+isU#z z{wk0T!q7p7;}wD74p+rZ_S-6MHqGq+D1!Y91&*Db+#JZfpMb&y($xa!A{O!GO2N=A zGf&E3zEaBmB!Y2yES_a}+TppHewFo>(Gl1K_qW08#19OpxCY+{9-I(JiLG|gDfb`< zs~)?($7iYRai`j|dq*Y?7N!nu!rWH*iye3SaLZ}o2N zd;rq}csb3v_k|Me)XuhH6wovaJKTiEi*1wRiI3F+YJv}Ap+sJ)Jao#iHI*Fha*37b z6s?SalG;{=MNK+gd^nWBZdxzTSUecckLxEW6f2Bvq)U`4nWB|HK9u}&pBmES(+jD6cPLP|QUaOa%>pR* z&IllRDP7B#Qnepyb;^~KQ6>jY1ykM6R4F8x`Locu>C~zMXpn^~>1WE@(^P;lI&ZeE zazJQWivsW%wq5G^BSxG1lZequ zgZny3Dz!d>)MH0-#|E!TiwMv!puyZNmGPFvR<7I~1q;c&R0_8i|a`t-)OY?Jk zl-g99**CMKHu+TO(0Wu907$XPzwgdR|6u0cP@qoj4+I+**6n+++bm_uW+}fv0!}*m zu8{NCcUiUZF+R@RB9~zh&fQ>LD4{N00Ahp9*3VP@R+CCGM7pwN)(Rumc)lS0ReJWs zHgxO@i)*G}0(OT~lYZpiily0z`Jl*2#H#c&s1Lh~=R=N_kM-XjqN zHwl6x>^XtNoNYAr>vR9EKw+P@`geLXzvpp{n!;6%gDy~ne4%Xu`C^P~Ul)9Q!dpd3 zV0t+eD&bSymKch3m!giqM)2A%NA93{Fv&NveJsqo%*6g09jx5UEZxfqH3RT=wjVFV zNbvyC)2umANP>cf4>(|aDy3s=qYb6N$_z#ciZk*N;ui{(^we2;mBfhaDeR z7ez{EPxHk&$Wj?BdxS5*N95l!Y0k*n+wnBfJ zlp^FIMi_`(2-#ag$;VZ?Ay8qmZt;=d0IRb}O+n=AfT0IqXY)ojsw3&GodgvoZQfu5 zDX5~5oA!N3n#|`yIZdc!9VYpW`dT&Ovpr8O#hBA&3YC*@bc~`<(2L#?iY@LlDW-kn z-uO_&xF^L3R=J`sNrqcrrphwsUqcaeX(@rA#sb$Y8YYa|ustIE<2Nx-X2{SNLV>zT zF53^5=pX~-DnqMDO`Xjv?&307Ava56tRIlh!6nIgI<2Fjk2dB z${htigq-P*xLQ5#*r~?Bw-cgH`oqUqYW43Dyd3qd>}IGPO==F>(G3B1CQldnp)%oK z>`tvFfcja~D2HLjx~6Tgtj|GRv>&X^9rd%+a-5<`3P@qoj1VMEvSn{y*GJ9v}9FW_}*@Kvax3Zq8=AdfB z%c-~^0?{`GLmy>XWR~=D5++WVEZQQVbPuXn&`%DfmGGHyJJ|wJQOVq}mH(?yNW4L0 zKN#-K9zDIBS{K2kjMQ&tD3w!^4yDyiWA

#M^RfEj?n5Zfdl_J<@MKv@PqQN}sLgE6BlO=py)xsS4R8lWt5Vo*NQM(5&_88>KO)zU6qzG#>B zG|K0;^k36bmhmz4Kd+@-dU??Lpva~}`PPX8a zmkrwcTH5Z*M8@XesY(DNBn2{7D5JF@J4@RF&&~C95lrmLl>kVPu4*e|}i7@-0>u7MFH6kcboJqqtB2ZRg0j4wcnO zIZ*EelcMy-HX+TrLtK+Wui-{G%$#mD=8$9v-Ka@~+LfGcpCwsmTScYd^|A6g84BK| zN%=I+w-Kc~7sgf*RM<@`rRpR{wa9xJep}L;w_>Jlc(`N6B054;si zo&}5?{9}~B$L=pA3`q@qp82pc>A_U4&r)}I-a>YUpAQ~C*1&$i$E_`U%%t2-g9WTL`6 zQbzVM)oU7uto;j(#l^;ywVN_gkl2U`$E4x!T}~9BeZo00({_{OIZZ1)wfBGu%OFez zJZyQ~A>s*l6J|V^`kyl^6qK{F>7wfgdm&;1q@!nw_l!#7&gBk=!X>nQHeE&dL|!hM zxLi~MqEyxv8E9gmq0-U9PM6dW7ujV-;nhruPD(8U;o;wy9B4+Of&E~1U;(XcDNAK@ zi1ROmHB+5moWZ;Qa7$pD<1c94CRX6j1fWKSn zy{g}twm_DC6AZax4~&sC)ydj}=@~xrCRPA?m^edRh?6`oL08M}SFfXp`{%s9?$ny$bV+ z0uBzR+$U)MfNA2D#@z6KM9`EPWsYO7GELeFamk0&zKoiV^F$>&26booraJ$zl_wG*?r zk>R6a0Mevgvho%m*M<$=sZOvD<2)J;@UJFEniH0&%(lW~;y3dM)@IspYQdBT_T;%a9U z8K`C~^1c3jC}iAcL2YF11k-(Ja<+j4pX~fx1LE#Q#dEMMxKRvs8S_m0JNN#GfnxXJ z!MR=F6(h>&%vDMqGT`?057=`~o@>J@U<9yNiSi}9>ug^%dEHIrb%z(&kB{$~xX-b% zhY#CWp=MzIViABF1mU-^UQBoPtkNstUxiQz(ktclI>*r*d9fue^4_Z?9&$TEVG1*S zJ}P+dQVL4+W+psmVH-`_=0hyXOxO-9LdTo%d8FL)y+4sa!9JTTS}Gjg9P2AUhR@Bp-EeQJ*yr_9&@DNKZL?|`}|NC(krW z;52OI8-h@;3zQtpM0uH|Ya_{uCJA-*GC{^F61||qg~Qn?=-t3)MC~-3t_Rv6y<_h8 zXT^Q~lE?X&a%k_kHbi{B6WR@eg-%zO#4AzsJ|-pb7btN@z50a^s$PCmD5|(NBv8GX zB__WQAkS|*64t%rEsor{`X~hOLKtGoWXSYY_i&a<1^uK@))GE<=nfXC>JoI`cRZ7T zn?$Dlymb3~v6Es~{V~~cex_Q= zQVIH9p^Q(m`Y58|hzK+ZXZux}(8_{Virt3hwko|=ULJ0fk*pOYv;_eNEkHVvP`*yI zAN57(%k2^Ri`odWIuuu*(gH3VrjM{@O}Z*2C{Vxx=H7=08VMainY8x`HePV`IkMa) zuO%y8cOcmzD^o$($5ltCUtC|*)E@AKF7Clozf$F2nenNc3s1W11cuvkGXiOQehxDAt z*jKCP^}|dUOzqiX z%hXw+%N0t96snidk$E0Gy0~v$c5skS1(57qVoFqbcPKc%sA50ZzPG!!3qDp%N&nsp z@#<9{vRx)aQN`7#9Dxj|?qxR#v|+QjiG5m8&bbo=D+?a{MuK;bZxp+`vLV>wTF49~#&~ zT_9<&+VaZ`Z=^CFz`_ZSWm`_M@5+b)S3{TuB~upO5V~{;U#iFmi-anIphy{R60x9J z7^HeUV5;oiM3l5wE|`^2xPoo!oT5SZDr69e*U2Ssv=w+i|7RGcdJ!)3$*QxaKU7?ub z>VuZVquQ~batA_zWwW^X^~g~f>b;f+LcueuW|(xw(&UBO7)qW#ng-hR;GFGc7Zmxg zGL#xItWyLnM@*FHYxP(h|7@_b8E?r|i~F`B@_prD{yaPUjLK+@=6Ng|ka)m;hqx~- z1*qgMKZbW6{8Hg@y>3!>?FWOrp6PqR*Duk~f@P{-PfmCOWe`pu_bWO7NC=ulf;X<* zX!5$>&Brod7|vVU5ljgKlj7uN-WIkv$<55|X)Ku2Q~&1h9VA5Vv`4Jg_17$|;ohV# zC2S=)|5AGDJov$bsnS>>pPQdqY*a=^k4ye={WLU`LAxz1H zz=bk>l2Sc9g)4pK9OIcd|kFi#;FhP5*NppnjBWTs71J<>oD83n)*CTcG zOPLg9b=PWm!^GiR{qKEAD51#=+fjERi}a!-eE)wJ3K`d=)i&I=drINrdATnFem$Q< zy0jn_EyQuF{V9V;H)%H8kAJt%kM4dLFFm<5b6rEd6ppL!Ai;;d@$f;hN>8!)Aj>3G z&cnD37F+)8WA9e)Pex`9ogrw=@>Rki5q!+9W}X^4%L&aNH@7#v`Yjst0z3&@m16Z7 zXQ)9jxS>kS8cfXpvDS@(SY*b;nSw+2LkDJwqHSR|4qO)(2q^ap zPLuogs|1BIO$at7G#4x^+a}Nr{I`Vj>KXEgD#kMe7Is>s9sCyFJ?i)Nw7)atee+1F zPPiCPaJHF!G4^OOnja%pr6=Nxd?_O{GhHfKm0S*{bdv_uzS0S8j_UCM_X#XA>C+FE z=~|ohQ1C9_OCnqAaW!up#nfp85_UG;Y7=x6H0P_Q_CBxFoDUk(p2;N-ha!oqUzfvd z-^HJKBKwW>efpFyn;ljJ=j#OwlP_OSN|i51u>Vzo>2LX{kbHn1 zuss4!x-g1-SJ3a9p^q>>NMK>xP=Zz6vG&6|6}C#Z2o8VCdx{P-CAuylc>|s!kPDK) zw+q-;7*A>XRwf_ zPaMG+9Y*UeLF-p8dxKGl2>$!XF)N^y@HaajZlmX!6^nvij0D)VEoIsMiht~>`y$4^ zN8mY~WiDOMjY|pW_1(_=xy}-0Ng?78w)y0HNpJF|IR))6Y?|LL*!!hB%^OaP0P$}+ zhdFwsVRHILXGqHkDG16hqDsTM)dnp3=d%w9d`*H6+P2eFj|XD(G*(=oT`Nud^?jf3 zd>e(r@dw^S^?f&D)b9{5zi=mNBOFIzb9;vXd71AdC4WzkfZ8gcE@X96B*3fhHjER3 z;BC<3`*fT4rOH%4uFo)5-zkW`=#Fkv_-E1*>i3HQ3JdXTp2V@5fx{3+rdyCX$S*ug z&C4p2Ck!7fc!{tysdvy8Fa?%Nm~t^SfcQ%oW&cYVe0^??%HHxjSNV(asX^EZVPxJV zSUbvwCtf^IABC9=h3xXZL|J6(v6>|Hpy*~mM+G@n3d+}cld|EdP?`z#o9_UICHxu7 zCi+TeWJ=x+LFi(S(8g~^5PG+O`6=J$ZcZhoRQjxhb}{X_MV=6tKFp`X;uoWgT#dZ3 z*2hCxfj8WKFy`A>4YT!2PTIx=zlD17-jmK{sn^1}EaQ5s-DM*qfTFFe9Gyw{ngXBH z{}WV?2kad7W^>b%p+iV$f${8CyX&4%q6tlAar6o0CcQOxKY;}cmQJ5<_9~Cp%?LGw z9fv0m!SvtJ^OyY=X~z@^-XWX;ln}KRoOP0 zjAkO4)#>2kawe9@PRA4TkyS^`Ci};3^~(N0$T#M@>+SCA38J#go(cb*pjRI9dM1bE zz=Ur+)a{s_&n{_x_|Gnf20X#;Uc2n~jCcp>em1e9-7iMx>;Q9{p@jLwu>f1ot@oQw z38%cP18K-RIxzL&lO9Bn0R*A;Wd{fVIxS?&NnZjgISYV^GQHjBa628>9nLp}%OF+* zlSW)6u=WQg`ojz#b~z`5{p@d3;o^~9E3<2;up85?@?|qdLpTvh7*=YhTn!xp#N;RMaMK}jS@>fa5OAQ4- z+h13wg|?9y^7 zf8=6R)ms8m$3n$MB&_l5k2AlyPS;08Jua!G)QKKiwO~Uj=Jyq=vYk(h*8KR4;qiq> za2_CcU{hY0@DmLJ&#adPD?%-CagqQiY^)Y3GeA8moG?=OYet2f7F1~pmd3`P=>XW% zLvv-p>7ea6?)Nj-u&@Ga09HUs#v@A+X@#w6TC3O+TZ|{91UsFjbwAS1UX1{!y_=nA z9p(+7=d&>tGl3p!Ue8*9VaD+>pn-^cEk{t?0qQa3#e@L9sD*)QR1nS6xBpNsbW>4U zZyAclgrf*uRk0_2XVlElyc~mJH^e9ux~bNV22-15QYFX$1C$@wQMw;Ms5j%_=9%@#v49@8>f}yu_SD&yJJseZ<^u F`~_@?5D)+W literal 0 HcmV?d00001 diff --git a/hex/interrupt.__i b/hex/interrupt.__i new file mode 100644 index 0000000..e3a76be --- /dev/null +++ b/hex/interrupt.__i @@ -0,0 +1 @@ +"interrupt.c" OMF2 OPTIMIZE (9,SIZE) BROWSE DEBUG PRINT(.\lst\interrupt.lst) TABS (2) OBJECT(.\hex\interrupt.obj) \ No newline at end of file diff --git a/hex/interrupt.obj b/hex/interrupt.obj new file mode 100644 index 0000000000000000000000000000000000000000..66d556781b056502a40d7bf67f94964e6c6003e3 GIT binary patch literal 33917 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 literal 0 HcmV?d00001 diff --git a/hex/main.__i b/hex/main.__i new file mode 100644 index 0000000..9e0d1fd --- /dev/null +++ b/hex/main.__i @@ -0,0 +1 @@ +"main.c" OMF2 OPTIMIZE (9,SIZE) BROWSE DEBUG PRINT(.\lst\main.lst) TABS (2) OBJECT(.\hex\main.obj) \ No newline at end of file diff --git a/hex/main.obj b/hex/main.obj new file mode 100644 index 0000000000000000000000000000000000000000..051e608c4ae80b8cb43aff42f061a2ef48aa9149 GIT binary patch literal 43369 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 EFIrKf(f|Me literal 0 HcmV?d00001 diff --git a/hex/rf_send.__i b/hex/rf_send.__i new file mode 100644 index 0000000..d05cad7 --- /dev/null +++ b/hex/rf_send.__i @@ -0,0 +1 @@ +"rf_send.c" OMF2 OPTIMIZE (9,SIZE) BROWSE DEBUG PRINT(.\lst\rf_send.lst) TABS (2) OBJECT(.\hex\rf_send.obj) \ No newline at end of file diff --git a/hex/rf_send.obj b/hex/rf_send.obj new file mode 100644 index 0000000000000000000000000000000000000000..92743cb19f168d33f18b7e9d770ac0b80880a967 GIT binary patch literal 18626 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 G75@uX#RS9v literal 0 HcmV?d00001 diff --git a/hex/system_clock.__i b/hex/system_clock.__i new file mode 100644 index 0000000..0b75396 --- /dev/null +++ b/hex/system_clock.__i @@ -0,0 +1 @@ +"Library\Sources\system_clock.c" OMF2 OPTIMIZE (9,SIZE) BROWSE DEBUG PRINT(.\lst\system_clock.lst) TABS (2) OBJECT(.\hex\system_clock.obj) \ No newline at end of file diff --git a/hex/system_clock.obj b/hex/system_clock.obj new file mode 100644 index 0000000000000000000000000000000000000000..3a443bc0f28e2d910e4617aa2df9c9ca4d8c1cf1 GIT binary patch literal 17480 zcmeHPf1F%Zb$>Ivv%8QVgz~F^hD{)l1iG1@n}kY}**7yg!@QY&%zOJI$�y{gG_4 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 literal 0 HcmV?d00001 diff --git a/hex/ts_api.__i b/hex/ts_api.__i new file mode 100644 index 0000000..c200882 --- /dev/null +++ b/hex/ts_api.__i @@ -0,0 +1 @@ +"TS_Lib\Sources\ts_api.c" OMF2 OPTIMIZE (9,SIZE) BROWSE DEBUG PRINT(.\lst\ts_api.lst) TABS (2) OBJECT(.\hex\ts_api.obj) \ No newline at end of file diff --git a/hex/ts_api.obj b/hex/ts_api.obj new file mode 100644 index 0000000000000000000000000000000000000000..52ebffc724a283b8233cbad71993fd8d36272964 GIT binary patch literal 69806 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ƶCqX7 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 Dj+_ZA literal 0 HcmV?d00001 diff --git a/hex/uart.__i b/hex/uart.__i new file mode 100644 index 0000000..fc8c49e --- /dev/null +++ b/hex/uart.__i @@ -0,0 +1 @@ +"Library\Sources\uart.c" OMF2 OPTIMIZE (9,SIZE) BROWSE DEBUG PRINT(.\lst\uart.lst) TABS (2) OBJECT(.\hex\uart.obj) \ No newline at end of file diff --git a/hex/uart.obj b/hex/uart.obj new file mode 100644 index 0000000000000000000000000000000000000000..e76c6ed490978fb9a23be72afee059a4f871e369 GIT binary patch literal 21907 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 literal 0 HcmV?d00001 diff --git a/hex/校验码为:0014ed6c .zip b/hex/校验码为:0014ed6c .zip new file mode 100644 index 0000000000000000000000000000000000000000..b3240f113ae535b4dae5052de52ee01b99035d27 GIT binary patch literal 6346 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 literal 0 HcmV?d00001 diff --git a/includes/ca51f5sfr.h b/includes/ca51f5sfr.h new file mode 100644 index 0000000..d6e677a --- /dev/null +++ b/includes/ca51f5sfr.h @@ -0,0 +1,221 @@ +#ifndef __CA51F2_SFR_H__ +#define __CA51F2_SFR_H__ + +sfr P0 = 0x80; +sfr SP = 0x81; +sfr DP0L = 0x82; +sfr DP0H = 0x83; +sfr DP1L = 0x84; +sfr DP1H = 0x85; +sfr PWCON = 0x86; +sfr PCON = 0x87; +sfr TCON = 0x88; +sfr TMOD = 0x89; +sfr TL0 = 0x8a; +sfr TL1 = 0x8b; +sfr TH0 = 0x8c; +sfr TH1 = 0x8d; +sfr IDLST = 0x8e; +sfr STPST = 0x8f; + +sfr PWMEN = 0x90; +sfr PWM2DUTH = 0x91; +sfr PWM3DUTL = 0x92; +sfr PWM3DUTH = 0x93; +sfr PWM4DUTL = 0x94; +sfr PWM4DUTH = 0x95; +sfr PWM5DUTL = 0x96; +sfr PWM5DUTH = 0x97; +sfr S0CON = 0x98; +sfr S0BUF = 0x99; +sfr PWM5DIVH = 0x9a; +sfr PWM0DUTL = 0x9b; +sfr PWM0DUTH = 0x9c; +sfr PWM1DUTL = 0x9d; +sfr PWM1DUTH = 0x9e; +sfr PWM2DUTL = 0x9f; + +sfr WDCON = 0xa0; +sfr WDFLG = 0xa1; +sfr WDVTHL = 0xa2; +sfr WDVTHH = 0xa3; +sfr PWM3DIVH = 0xa4; +sfr PWM4DIVL = 0xa5; +sfr PWM4DIVH = 0xa6; +sfr PWM5DIVL = 0xa7; +sfr IE = 0xa8; +sfr PWM0DIVL = 0xa9; +sfr PWM0DIVH = 0xaa; +sfr PWM1DIVL = 0xab; +sfr PWM1DIVH = 0xac; +sfr PWM2DIVL = 0xad; +sfr PWM2DIVH = 0xae; +sfr PWM3DIVL = 0xaf; + +sfr P3 = 0xb0; +sfr PWM0CKD = 0xb1; +sfr PWM1CKD = 0xb2; +sfr PWM2CKD = 0xb3; +sfr PWM3CKD = 0xb4; +sfr PWM4CKD = 0xb5; +sfr PWM5CKD = 0xb6; +sfr PWMIF = 0xb7; +sfr IP = 0xb8; +sfr PWM0CON = 0xb9; +sfr PWM1CON = 0xba; +sfr PWM2CON = 0xbb; +sfr PWM3CON = 0xbc; +sfr PWM4CON = 0xbd; +sfr PWM5CON = 0xbe; +sfr LEFLG = 0xbf; + +sfr I2CCON = 0xc0; +sfr I2CADR = 0xc1; +sfr I2CADM = 0xc2; +sfr I2CCR = 0xc3; +sfr I2CDAT = 0xc4; +sfr I2CSTA = 0xc5; +sfr I2CFLG = 0xc6; +sfr LEDAT1 = 0xc7; +sfr T2CON = 0xc8; +sfr T2MOD = 0xc9; +sfr T2CL = 0xca; +sfr T2CH = 0xcb; +sfr TL2 = 0xcc; +sfr TH2 = 0xcd; +sfr LEDWTML = 0xce; +sfr LEDWTMH = 0xcf; + +sfr PSW = 0xd0; +sfr EP0CON = 0xd1; +sfr EP1CON = 0xd2; +sfr EP2CON = 0xd3; +sfr EPIF = 0xd4; +sfr TMCON = 0xd5; +sfr TMSNU = 0xd6; +sfr LEDAT0 = 0xd7; +sfr UDCKS = 0xd8; +sfr TK3MSH = 0xd9; +sfr TK4MSL = 0xda; +sfr TK4MSH = 0xdb; +sfr TK5MSL = 0xdc; +sfr TK5MSH = 0xdd; +sfr AK0CON = 0xde; +sfr AK1CON = 0xdf; + +sfr ACC = 0xe0; +sfr TK0MSL = 0xe1; +sfr TK0MSH = 0xe2; +sfr TK1MSL = 0xe3; +sfr TK1MSH = 0xe4; +sfr TK2MSL = 0xe5; +sfr TK2MSH = 0xe6; +sfr TK3MSL = 0xe7; +sfr LVDCON = 0xe8; +sfr ATK2CH = 0xe9; +sfr ATK3CL = 0xea; +sfr ATK3CH = 0xeb; +sfr ATK4CL = 0xec; +sfr ATK4CH = 0xed; +sfr ATK5CL = 0xee; +sfr ATK5CH = 0xef; + +sfr B = 0xf0; +sfr TK4CHS = 0xf1; +sfr TK5CHS = 0xf2; +sfr ATK0CL = 0xf3; +sfr ATK0CH = 0xf4; +sfr ATK1CL = 0xf5; +sfr ATK1CH = 0xf6; +sfr ATK2CL = 0xf7; +sfr TKCON = 0xf8; +sfr TKCFG = 0xf9; +sfr TKMTS = 0xfa; +sfr TKIF = 0xfb; +sfr TK0CHS = 0xfc; +sfr TK1CHS = 0xfd; +sfr TK2CHS = 0xfe; +sfr TK3CHS = 0xff; +/* BIT Register */ +/* PSW */ +sbit CY = 0xD7; +sbit AC = 0xD6; +sbit F0 = 0xD5; +sbit RS1 = 0xD4; +sbit RS0 = 0xD3; +sbit OV = 0xD2; +sbit DPS = 0xD1; +sbit P = 0xD0; + +/* TCON */ +sbit TF1 = 0x8F; +sbit TR1 = 0x8E; +sbit TF0 = 0x8D; +sbit TR0 = 0x8C; +sbit IE1 = 0x8B; +sbit IT1 = 0x8A; +sbit IE0 = 0x89; +sbit IT0 = 0x88; + +/* S0CON */ +sbit SM0 = 0x9F; +sbit SM1 = 0x9E; +sbit SM2 = 0x9D; +sbit REN = 0x9C; +sbit TB8 = 0x9B; +sbit RB8 = 0x9A; +sbit TI0 = 0x99; +sbit RI0 = 0x98; + +/* IE */ +sbit EA = 0xAF; +sbit INT4EN = 0xAE; +sbit INT3EN = 0xAD; +sbit ES0 = 0xAC; +sbit ET1 = 0xAB; +sbit EX1 = 0xAA; +sbit ET0 = 0xA9; +sbit EX0 = 0xA8; + +/* IP */ +sbit PS1 = 0xBE; +sbit PT2 = 0xBD; +sbit PS0 = 0xBC; +sbit PT1 = 0xBB; +sbit PX1 = 0xBA; +sbit PT0 = 0xB9; +sbit PX0 = 0xB8; + +/* T2CON */ +sbit TF2 = 0xCF; +sbit TR2 = 0xCE; +sbit T2R1 = 0xCD; +sbit T2R0 = 0xCC; +sbit T2IE = 0xCB; +sbit UCKS = 0xCA; +sbit T2P1 = 0xC9; +sbit T2P0 = 0xC8; + + +/* P0 */ +sbit P00 = P0^0; +sbit P01 = P0^1; +sbit P02 = P0^2; +sbit P03 = P0^3; +sbit P04 = P0^4; +sbit P05 = P0^5; +sbit P06 = P0^6; +sbit P07 = P0^7; + +/* P3 */ +sbit P30 = P3^0; +sbit P31 = P3^1; +sbit P32 = P3^2; +sbit P33 = P3^3; +sbit P34 = P3^4; +sbit P35 = P3^5; + + + + +#endif diff --git a/includes/ca51f5xsfr.h b/includes/ca51f5xsfr.h new file mode 100644 index 0000000..9d86b27 --- /dev/null +++ b/includes/ca51f5xsfr.h @@ -0,0 +1,107 @@ +#ifndef _CA51F2_XRAM_H_ +#define _CA51F2_XRAM_H_ + +/*********************************************************************************************************************/ +#ifdef _MAIN_C_ +#define XRAM_U8 volatile unsigned char xdata +#define XRAM_U16 volatile unsigned int xdata +#define XRAM_AT_(x) _at_ x +#else +#define XRAM_U8 extern volatile unsigned char xdata +#define XRAM_U16 extern volatile unsigned int xdata +#define XRAM_AT_(x) +#endif + +XRAM_U8 P00F XRAM_AT_(0x8000); +XRAM_U8 P01F XRAM_AT_(0x8001); +XRAM_U8 P02F XRAM_AT_(0x8002); +XRAM_U8 P03F XRAM_AT_(0x8003); +XRAM_U8 P04F XRAM_AT_(0x8004); +XRAM_U8 P05F XRAM_AT_(0x8005); +XRAM_U8 P06F XRAM_AT_(0x8006); +XRAM_U8 P07F XRAM_AT_(0x8007); + + +XRAM_U8 P30F XRAM_AT_(0x8018); +XRAM_U8 P31F XRAM_AT_(0x8019); +XRAM_U8 P32F XRAM_AT_(0x801a); +XRAM_U8 P33F XRAM_AT_(0x801b); +XRAM_U8 P34F XRAM_AT_(0x801c); +XRAM_U8 P35F XRAM_AT_(0x801d); + + +XRAM_U8 CKCON XRAM_AT_(0x8030); +XRAM_U8 CKDIV XRAM_AT_(0x8031); +XRAM_U8 IHCFG XRAM_AT_(0x8032); +XRAM_U8 ILCFGL XRAM_AT_(0x8033); +XRAM_U8 ILCFGH XRAM_AT_(0x8034); + + +XRAM_U8 ATK0NL XRAM_AT_(0x8050); +XRAM_U8 ATK0NH XRAM_AT_(0x8051); +XRAM_U8 ATK1NL XRAM_AT_(0x8052); +XRAM_U8 ATK1NH XRAM_AT_(0x8053); +XRAM_U8 ATK2NL XRAM_AT_(0x8054); +XRAM_U8 ATK2NH XRAM_AT_(0x8055); +XRAM_U8 ATK3NL XRAM_AT_(0x8056); +XRAM_U8 ATK3NH XRAM_AT_(0x8057); +XRAM_U8 ATK4NL XRAM_AT_(0x8058); +XRAM_U8 ATK4NH XRAM_AT_(0x8059); +XRAM_U8 ATK5NL XRAM_AT_(0x805a); +XRAM_U8 ATK5NH XRAM_AT_(0x805b); +XRAM_U8 TKMAXF XRAM_AT_(0x805c); +XRAM_U8 TKMINF XRAM_AT_(0x805d); + +XRAM_U8 LEDUTL XRAM_AT_(0x8060); +XRAM_U8 LEDUTH XRAM_AT_(0x8061); + +XRAM_U8 SPMAX XRAM_AT_(0x8100); +XRAM_U8 I2CIOS XRAM_AT_(0x8101); +XRAM_U8 TKCKS XRAM_AT_(0x8102); +XRAM_U8 TKPWC XRAM_AT_(0x8103); + +XRAM_U8 LVDCFG XRAM_AT_(0x8105); +XRAM_U8 TLEN0 XRAM_AT_(0x8106); +XRAM_U8 TLDAT0 XRAM_AT_(0x8107); +XRAM_U8 TLCON XRAM_AT_(0x8108); +XRAM_U8 TLFLG XRAM_AT_(0x8109); +XRAM_U8 TLCKS XRAM_AT_(0x810a); +XRAM_U8 TLCNTKL XRAM_AT_(0x810b); +XRAM_U8 TLCNTKH XRAM_AT_(0x810c); +XRAM_U8 TLCNTLL XRAM_AT_(0x810d); +XRAM_U8 TLCNTLH XRAM_AT_(0x810e); +XRAM_U8 TLDIV XRAM_AT_(0x810f); + +XRAM_U8 TLCOMS XRAM_AT_(0x8110); +XRAM_U8 TLEN1 XRAM_AT_(0x8111); +XRAM_U8 TLDAT1 XRAM_AT_(0x8112); + + +XRAM_U8 P00C XRAM_AT_(0x8120); +XRAM_U8 P01C XRAM_AT_(0x8121); +XRAM_U8 P02C XRAM_AT_(0x8122); +XRAM_U8 P03C XRAM_AT_(0x8123); +XRAM_U8 P04C XRAM_AT_(0x8124); +XRAM_U8 P05C XRAM_AT_(0x8125); +XRAM_U8 P06C XRAM_AT_(0x8126); +XRAM_U8 P07C XRAM_AT_(0x8127); + +XRAM_U8 P30C XRAM_AT_(0x8138); +XRAM_U8 P31C XRAM_AT_(0x8139); +XRAM_U8 P32C XRAM_AT_(0x813a); +XRAM_U8 P33C XRAM_AT_(0x813b); +XRAM_U8 P34C XRAM_AT_(0x813c); +XRAM_U8 P35C XRAM_AT_(0x813d); + +XRAM_U8 MECON XRAM_AT_(0xfc00); +XRAM_U8 FSCMD XRAM_AT_(0xfc01); +XRAM_U8 FSDAT XRAM_AT_(0xfc02); +XRAM_U8 LOCK XRAM_AT_(0xfc03); +XRAM_U8 PADRD XRAM_AT_(0xfc04); +XRAM_U8 PTSL XRAM_AT_(0xfc05); +XRAM_U8 PTSH XRAM_AT_(0xfc06); +XRAM_U8 MEMPTEC XRAM_AT_(0xfc0d); + +/*********************************************************************************************************************/ + +#endif \ No newline at end of file diff --git a/includes/gpiodef_f5.h b/includes/gpiodef_f5.h new file mode 100644 index 0000000..e648cda --- /dev/null +++ b/includes/gpiodef_f5.h @@ -0,0 +1,60 @@ +#ifndef _GPIODEF_H_ +#define _GPIODEF_H_ +enum +{ + HIGH_Z = 0, + INPUT = 1, + OUTPUT = 2, + + P31_TK0_SETTING = 4, + P30_TK1_SETTING = 4, + P07_TK2_SETTING = 4, + P06_TK3_SETTING = 4, + P05_TK4_SETTING = 4, + P04_TK5_SETTING = 4, + P03_TK6_SETTING = 4, + P02_TK7_SETTING = 4, + P01_TK8_SETTING = 4, + P00_TK9_SETTING = 4, + P34_TK10_SETTING = 4, + P33_TK11_SETTING = 4, + P32_TK12_SETTING = 4, + P35_CAP_SETTING = 4, + + P32_PWM0_SETTING = 5, + P33_PWM1_SETTING = 5, + P34_PWM2_SETTING = 5, + P01_PWM3_SETTING = 5, + P04_PWM4_SETTING = 5, + P05_PWM5_SETTING = 5, + + P00_DAK0_SETTING = 3, + P01_DAK1_SETTING = 3, + + P30_UART0_TX_SETTING = 5, + P31_UART0_RX_SETTING = 5, + + P30_I2C_SDA_SETTING = 3, + P31_I2C_SCL_SETTING = 3, + P03_I2C_SDA_SETTING = 3, + P02_I2C_SCL_SETTING = 3, + + P32_T0_SETTING = 3, + P35_T1_SETTING = 3, + P06_T2_SETTING = 3, + + P07_RESET_SETTING = 3, + + + P04_T2CP_SETTING = 3, + P05_T2EX_SETTING = 3, + + PU_EN = 0x80, + PD_EN = 0x40, + OP_EN = 0x20, +}; +#define GPIO_Init(reg,val) reg = val + +/******************************************************************************/ + +#endif diff --git a/includes/system.h b/includes/system.h new file mode 100644 index 0000000..84502c1 --- /dev/null +++ b/includes/system.h @@ -0,0 +1,46 @@ +#ifndef DEFINE_H +#define DEFINE_H + + + + +#define BIT0 0x01 +#define BIT1 0x02 +#define BIT2 0x04 +#define BIT3 0x08 +#define BIT4 0x10 +#define BIT5 0x20 +#define BIT6 0x40 +#define BIT7 0x80 +#define BIT8 0x100 +#define BIT9 0x200 +#define BIT10 0x400 +#define BIT11 0x800 +#define BIT12 0x1000 +#define BIT13 0x2000 +#define BIT14 0x4000 +#define BIT15 0x8000 + + +#define __NOP1__ _nop_() +#define __NOP2__ __NOP1__; __NOP1__ +#define __NOP4__ __NOP2__; __NOP2__ +#define __NOP8__ __NOP4__; __NOP4__ +#define __NOP16__ __NOP8__; __NOP8__ +#define __NOP32__ __NOP16__; __NOP16__ +#define __NOP64__ __NOP32__; __NOP32__ +#define __NOP128__ __NOP64__; __NOP64__ + + +#define DelayNop(a) \ + if ((a)&(0x01)) {__NOP1__;} \ + if ((a)&(0x02)) {__NOP2__;} \ + if ((a)&(0x04)) {__NOP4__;} \ + if ((a)&(0x08)) {__NOP8__;} \ + if ((a)&(0x10)) {__NOP16__;} \ + if ((a)&(0x20)) {__NOP32__;} \ + if ((a)&(0x40)) {__NOP64__;} \ + if ((a)&(0x80)) {__NOP128__;} + + +#endif diff --git a/interrupt.c b/interrupt.c new file mode 100644 index 0000000..287bb02 --- /dev/null +++ b/interrupt.c @@ -0,0 +1,93 @@ +#ifndef _INTERRUPT_C_ +#define _INTERRUPT_C_ + +/*********************************************************************************************************************/ +#include "ca51f5_config.h" +#include "includes\ca51f5sfr.h" +#include "includes\ca51f5xsfr.h" +#include "includes\gpiodef_f5.h" +#include "includes\system.h" +#include "Library\includes\uart.h" +#include "Library\Includes\tmc.h" + +#include "TS_Lib\Includes\ts_configuration.h" +#include "TS_Lib\Includes\ts_def.h" +#include "TS_Lib\Includes\ts_api.h" +#include "TS_Lib\Includes\ts_service.h" +#include + +#include "rf_send.h" + + +#if DEBUG +#include "Library\Includes\i2c.h" +void I2C_ISR(void); +#endif +/*********************************************************************************************************************/ +extern unsigned char xdata TS_HalfSecCnt; +void INT2_Handler (void) interrupt 4 +{ +#ifdef UART0_EN + if(RI0) + { + UART0_RX_ISR(); + } + if(TI0) + { + UART0_TX_ISR(); + } +#endif +} + +void INT3_ISR (void) interrupt 5 +{ + static unsigned char TmCnt = 0; + if(TMCON & TMF) //ж + { + TMCON |= TMF; +#if SUPPORT_TOUCH_SLEEP_MODE + if(TS_SleepMode) + { + TS_HalfSecCnt++; + return; + } + else + { + TS_MS_ISR(); + } +#else + TS_MS_ISR(); +#endif + if(TS_LongKeyTimer) + { + TS_LongKeyTimer--; + } + TmCnt++; + if(TmCnt >= 128) + { + TmCnt = 0; + TS_HS_ISR(); + } + if(RF_Time<250)RF_Time++; //4ms + } +#if SUPPORT_TOUCH_SLEEP_MODE + if(TS_SleepMode) + { + return; + } +#endif + if(TKIF != 0) + { + TS_ISR(); + } +} +void INT4_ISR(void) interrupt 6 +{ +#if DEBUG + if(I2CFLG & I2CF) + { + I2C_ISR(); + } +#endif +} +#endif diff --git a/lst/STARTUP.lst b/lst/STARTUP.lst new file mode 100644 index 0000000..44ff3c0 --- /dev/null +++ b/lst/STARTUP.lst @@ -0,0 +1,253 @@ +A51 MACRO ASSEMBLER STARTUP 07/03/2025 11:27:53 PAGE 1 + + +MACRO ASSEMBLER A51 V8.2.7.0 +OBJECT MODULE PLACED IN .\hex\STARTUP.obj +ASSEMBLER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\A51.EXE Library\Lib\STARTUP.A51 NOMOD51 SET(SMALL) DEBUG PRINT(.\ + lst\STARTUP.lst) OBJECT(.\hex\STARTUP.obj) EP + +LOC OBJ LINE SOURCE + + 1 $nomod51 + 2 ;------------------------------------------------------------------------------ + 3 ; This file is part of the C51 Compiler package + 4 ; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc. + 5 ; Version 8.01 + 6 ; + 7 ; *** <<< Use Configuration Wizard in Context Menu >>> *** + 8 ;------------------------------------------------------------------------------ + 9 ; STARTUP.A51: This code is executed after processor reset. + 10 ; + 11 ; To translate this file use A51 with the following invocation: + 12 ; + 13 ; A51 STARTUP.A51 + 14 ; + 15 ; To link the modified STARTUP.OBJ file to your application use the following + 16 ; Lx51 invocation: + 17 ; + 18 ; Lx51 your object file list, STARTUP.OBJ controls + 19 ; + 20 ;------------------------------------------------------------------------------ + 21 ; + 22 ; User-defined Power-On Initialization of Memory + 23 ; + 24 ; With the following EQU statements the initialization of memory + 25 ; at processor reset can be defined: + 26 ; + 27 ; IDATALEN: IDATA memory size <0x0-0x100> + 28 ; Note: The absolute start-address of IDATA memory is always 0 + 29 ; The IDATA space overlaps physically the DATA and BIT areas. + 0080 30 IDATALEN EQU 80H + 31 ; + 32 ; XDATASTART: XDATA memory start address <0x0-0xFFFF> + 33 ; The absolute start address of XDATA memory + 0000 34 XDATASTART EQU 0 + 35 ; + 36 ; XDATALEN: XDATA memory size <0x0-0xFFFF> + 37 ; The length of XDATA memory in bytes. + 0000 38 XDATALEN EQU 0 + 39 ; + 40 ; PDATASTART: PDATA memory start address <0x0-0xFFFF> + 41 ; The absolute start address of PDATA memory + 0000 42 PDATASTART EQU 0H + 43 ; + 44 ; PDATALEN: PDATA memory size <0x0-0xFF> + 45 ; The length of PDATA memory in bytes. + 0000 46 PDATALEN EQU 0H + 47 ; + 48 ; + 49 ;------------------------------------------------------------------------------ + 50 ; + 51 ; Reentrant Stack Initialization + 52 ; + 53 ; The following EQU statements define the stack pointer for reentrant + 54 ; functions and initialized it: + 55 ; + 56 ; Stack Space for reentrant functions in the SMALL model. + 57 ; IBPSTACK: Enable SMALL model reentrant stack + A51 MACRO ASSEMBLER STARTUP 07/03/2025 11:27:53 PAGE 2 + + 58 ; Stack space for reentrant functions in the SMALL model. + 0000 59 IBPSTACK EQU 0 ; set to 1 if small reentrant is used. + 60 ; IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF> + 61 ; Set the top of the stack to the highest location. + 0100 62 IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 + 63 ; + 64 ; + 65 ; Stack Space for reentrant functions in the LARGE model. + 66 ; XBPSTACK: Enable LARGE model reentrant stack + 67 ; Stack space for reentrant functions in the LARGE model. + 0000 68 XBPSTACK EQU 0 ; set to 1 if large reentrant is used. + 69 ; XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF> + 70 ; Set the top of the stack to the highest location. + 0000 71 XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1 + 72 ; + 73 ; + 74 ; Stack Space for reentrant functions in the COMPACT model. + 75 ; PBPSTACK: Enable COMPACT model reentrant stack + 76 ; Stack space for reentrant functions in the COMPACT model. + 0000 77 PBPSTACK EQU 0 ; set to 1 if compact reentrant is used. + 78 ; + 79 ; PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF> + 80 ; Set the top of the stack to the highest location. + 0100 81 PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 + 82 ; + 83 ; + 84 ;------------------------------------------------------------------------------ + 85 ; + 86 ; Memory Page for Using the Compact Model with 64 KByte xdata RAM + 87 ; Compact Model Page Definition + 88 ; + 89 ; Define the XDATA page used for PDATA variables. + 90 ; PPAGE must conform with the PPAGE set in the linker invocation. + 91 ; + 92 ; Enable pdata memory page initalization + 0000 93 PPAGEENABLE EQU 0 ; set to 1 if pdata object are used. + 94 ; + 95 ; PPAGE number <0x0-0xFF> + 96 ; uppermost 256-byte address of the page used for PDATA variables. + 0000 97 PPAGE EQU 0 + 98 ; + 99 ; SFR address which supplies uppermost address byte <0x0-0xFF> + 100 ; most 8051 variants use P2 as uppermost address byte + 00A0 101 PPAGE_SFR DATA 0A0H + 102 ; + 103 ; + 104 ;------------------------------------------------------------------------------ + 105 + 106 ; Standard SFR Symbols + 00E0 107 ACC DATA 0E0H + 00F0 108 B DATA 0F0H + 0081 109 SP DATA 81H + 0082 110 DPL DATA 82H + 0083 111 DPH DATA 83H + 112 + 113 NAME ?C_STARTUP + 114 + 115 + 116 ?C_C51STARTUP SEGMENT CODE + 117 ?STACK SEGMENT IDATA + 118 +---- 119 RSEG ?STACK +0000 120 DS 1 + 121 + 122 EXTRN CODE (?C_START) + 123 PUBLIC ?C_STARTUP + A51 MACRO ASSEMBLER STARTUP 07/03/2025 11:27:53 PAGE 3 + + 124 +---- 125 CSEG AT 0 +0000 020000 F 126 ?C_STARTUP: LJMP STARTUP1 + 127 +---- 128 RSEG ?C_C51STARTUP + 129 +0000 130 STARTUP1: + 131 + 132 IF IDATALEN <> 0 +0000 787F 133 MOV R0,#IDATALEN - 1 +0002 E4 134 CLR A +0003 F6 135 IDATALOOP: MOV @R0,A +0004 D8FD 136 DJNZ R0,IDATALOOP + 137 ENDIF + 138 + 139 IF XDATALEN <> 0 + MOV DPTR,#XDATASTART + MOV R7,#LOW (XDATALEN) + IF (LOW (XDATALEN)) <> 0 + MOV R6,#(HIGH (XDATALEN)) +1 + ELSE + MOV R6,#HIGH (XDATALEN) + ENDIF + CLR A + XDATALOOP: MOVX @DPTR,A + INC DPTR + DJNZ R7,XDATALOOP + DJNZ R6,XDATALOOP + ENDIF + 153 + 154 IF PPAGEENABLE <> 0 + MOV PPAGE_SFR,#PPAGE + ENDIF + 157 + 158 IF PDATALEN <> 0 + MOV R0,#LOW (PDATASTART) + MOV R7,#LOW (PDATALEN) + CLR A + PDATALOOP: MOVX @R0,A + INC R0 + DJNZ R7,PDATALOOP + ENDIF + 166 + 167 IF IBPSTACK <> 0 + EXTRN DATA (?C_IBP) + + MOV ?C_IBP,#LOW IBPSTACKTOP + ENDIF + 172 + 173 IF XBPSTACK <> 0 + EXTRN DATA (?C_XBP) + + MOV ?C_XBP,#HIGH XBPSTACKTOP + MOV ?C_XBP+1,#LOW XBPSTACKTOP + ENDIF + 179 + 180 IF PBPSTACK <> 0 + EXTRN DATA (?C_PBP) + MOV ?C_PBP,#LOW PBPSTACKTOP + ENDIF + 184 +0006 758100 F 185 MOV SP,#?STACK-1 + 186 + 187 ; This code is required if you use L51_BANK.A51 with Banking Mode 4 + 188 ; Code Banking + 189 ; Select Bank 0 for L51_BANK.A51 Mode 4 + A51 MACRO ASSEMBLER STARTUP 07/03/2025 11:27:53 PAGE 4 + + 190 + + + + + 195 ; +0009 020000 F 196 LJMP ?C_START + 197 + 198 END + A51 MACRO ASSEMBLER STARTUP 07/03/2025 11:27:53 PAGE 5 + +SYMBOL TABLE LISTING +------ ----- ------- + + +N A M E T Y P E V A L U E ATTRIBUTES + +?C_C51STARTUP. . . C SEG 000CH REL=UNIT +?C_START . . . . . C ADDR ----- EXT +?C_STARTUP . . . . C ADDR 0000H A +?STACK . . . . . . I SEG 0001H REL=UNIT +ACC. . . . . . . . D ADDR 00E0H A +B. . . . . . . . . D ADDR 00F0H A +DPH. . . . . . . . D ADDR 0083H A +DPL. . . . . . . . D ADDR 0082H A +IBPSTACK . . . . . N NUMB 0000H A +IBPSTACKTOP. . . . N NUMB 0100H A +IDATALEN . . . . . N NUMB 0080H A +IDATALOOP. . . . . C ADDR 0003H R SEG=?C_C51STARTUP +PBPSTACK . . . . . N NUMB 0000H A +PBPSTACKTOP. . . . N NUMB 0100H A +PDATALEN . . . . . N NUMB 0000H A +PDATASTART . . . . N NUMB 0000H A +PPAGE. . . . . . . N NUMB 0000H A +PPAGEENABLE. . . . N NUMB 0000H A +PPAGE_SFR. . . . . D ADDR 00A0H A +SP . . . . . . . . D ADDR 0081H A +STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP +XBPSTACK . . . . . N NUMB 0000H A +XBPSTACKTOP. . . . N NUMB 0000H A +XDATALEN . . . . . N NUMB 0000H A +XDATASTART . . . . N NUMB 0000H A + + +REGISTER BANK(S) USED: 0 + + +ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/ca51fx.m51 b/lst/ca51fx.m51 new file mode 100644 index 0000000..9cfac2f --- /dev/null +++ b/lst/ca51fx.m51 @@ -0,0 +1,1343 @@ +BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 1 + + +BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: +C:\KEIL\C51\BIN\BL51.EXE .\hex\main.obj, .\hex\delay.obj, .\hex\system_clock.obj, .\hex\uart.obj, .\hex\key.obj, .\hex\i +>> nterrupt.obj, .\hex\debug.obj, .\hex\ts_api.obj, .\hex\ts_sevice.obj TO .\hex\ca51fx PRINT (.\lst\ca51fx.m51) RAMSIZE +>> (256) CODE (0X0000-0X3FFF) XDATA (0X0000-0X0FFF) + + +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\hex\main.obj (MAIN) + .\hex\delay.obj (DELAY) + .\hex\system_clock.obj (SYSTEM_CLOCK) + .\hex\uart.obj (UART) + .\hex\key.obj (KEY) + .\hex\interrupt.obj (INTERRUPT) + .\hex\debug.obj (DEBUG) + .\hex\ts_api.obj (TS_API) + .\hex\ts_sevice.obj (TS_SEVICE) + C:\KEIL\C51\LIB\C51S.LIB (?C_STARTUP) + C:\KEIL\C51\LIB\C51S.LIB (?C?CSTPTR) + C:\KEIL\C51\LIB\C51S.LIB (?C?IMUL) + C:\KEIL\C51\LIB\C51S.LIB (?C?UIDIV) + C:\KEIL\C51\LIB\C51S.LIB (?C?IILDX) + C:\KEIL\C51\LIB\C51S.LIB (?C?ILDPTR) + C:\KEIL\C51\LIB\C51S.LIB (?C?ULDIV) + C:\KEIL\C51\LIB\C51S.LIB (?C?LAND) + C:\KEIL\C51\LIB\C51S.LIB (?C?LNOT) + C:\KEIL\C51\LIB\C51S.LIB (?C?LLDCODE) + C:\KEIL\C51\LIB\C51S.LIB (?C?LLDCODE0) + C:\KEIL\C51\LIB\C51S.LIB (?C?OFFXADD) + C:\KEIL\C51\LIB\C51S.LIB (?C?PLDIIDATA) + C:\KEIL\C51\LIB\C51S.LIB (?C?PLDCODE) + C:\KEIL\C51\LIB\C51S.LIB (?C?LIMUL) + C:\KEIL\C51\LIB\C51S.LIB (?C_INIT) + + +LINK MAP OF MODULE: .\hex\ca51fx (MAIN) + + + TYPE BASE LENGTH RELOCATION SEGMENT NAME + ----------------------------------------------------- + + * * * * * * * D A T A M E M O R Y * * * * * * * + REG 0000H 0008H ABSOLUTE "REG BANK 0" + DATA 0008H 0018H UNIT _DATA_GROUP_ + BIT 0020H.0 0000H.2 UNIT ?BI?TS_SEVICE + 0020H.2 0000H.6 *** GAP *** + DATA 0021H 0007H UNIT ?DT?KEY + DATA 0028H 0004H UNIT ?DT?TS_SEVICE + DATA 002CH 0001H UNIT ?DT?INTERRUPT + IDATA 002DH 000AH UNIT _IDATA_GROUP_ + IDATA 0037H 0002H UNIT ?ID?TS_SEVICE + IDATA 0039H 0001H UNIT ?STACK + + * * * * * * * X D A T A M E M O R Y * * * * * * * + XDATA 0000H 00EDH UNIT ?XD?TS_SEVICE + XDATA 00EDH 0003H UNIT ?XD?TS_API + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 2 + + + 00F0H 7F10H *** GAP *** + XDATA 8000H 0001H ABSOLUTE + XDATA 8001H 0001H ABSOLUTE + XDATA 8002H 0001H ABSOLUTE + XDATA 8003H 0001H ABSOLUTE + XDATA 8004H 0001H ABSOLUTE + XDATA 8005H 0001H ABSOLUTE + XDATA 8006H 0001H ABSOLUTE + XDATA 8007H 0001H ABSOLUTE + 8008H 0010H *** GAP *** + XDATA 8018H 0001H ABSOLUTE + XDATA 8019H 0001H ABSOLUTE + XDATA 801AH 0001H ABSOLUTE + XDATA 801BH 0001H ABSOLUTE + XDATA 801CH 0001H ABSOLUTE + XDATA 801DH 0001H ABSOLUTE + 801EH 0012H *** GAP *** + XDATA 8030H 0001H ABSOLUTE + XDATA 8031H 0001H ABSOLUTE + XDATA 8032H 0001H ABSOLUTE + XDATA 8033H 0001H ABSOLUTE + XDATA 8034H 0001H ABSOLUTE + 8035H 001BH *** GAP *** + XDATA 8050H 0001H ABSOLUTE + XDATA 8051H 0001H ABSOLUTE + XDATA 8052H 0001H ABSOLUTE + XDATA 8053H 0001H ABSOLUTE + XDATA 8054H 0001H ABSOLUTE + XDATA 8055H 0001H ABSOLUTE + XDATA 8056H 0001H ABSOLUTE + XDATA 8057H 0001H ABSOLUTE + XDATA 8058H 0001H ABSOLUTE + XDATA 8059H 0001H ABSOLUTE + XDATA 805AH 0001H ABSOLUTE + XDATA 805BH 0001H ABSOLUTE + XDATA 805CH 0001H ABSOLUTE + XDATA 805DH 0001H ABSOLUTE + 805EH 0002H *** GAP *** + XDATA 8060H 0001H ABSOLUTE + XDATA 8061H 0001H ABSOLUTE + 8062H 009EH *** GAP *** + XDATA 8100H 0001H ABSOLUTE + XDATA 8101H 0001H ABSOLUTE + 8102H 7AFEH *** GAP *** + XDATA FC00H 0001H ABSOLUTE + XDATA FC01H 0001H ABSOLUTE + XDATA FC02H 0001H ABSOLUTE + XDATA FC03H 0001H ABSOLUTE + XDATA FC04H 0001H ABSOLUTE + XDATA FC05H 0001H ABSOLUTE + XDATA FC06H 0001H ABSOLUTE + XDATA FC07H 0001H ABSOLUTE + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 0003H ABSOLUTE + CODE 0003H 001FH INBLOCK ?PR?TS_HS_ISR?TS_SEVICE + CODE 0022H 0001H INBLOCK ?PR?INT2_HANDLER?INTERRUPT + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 3 + + + CODE 0023H 0003H ABSOLUTE + 0026H 0005H *** GAP *** + CODE 002BH 0003H ABSOLUTE + CODE 002EH 0217H UNIT ?C?LIB_CODE + CODE 0245H 016FH INBLOCK ?PR?TSKEY_DATADEAL?TS_SEVICE + CODE 03B4H 0139H INBLOCK ?PR?TS_SEVICE + CODE 04EDH 00BDH INBLOCK ?PR?TS_RUNINIT?TS_SEVICE + CODE 05AAH 00B3H INBLOCK ?PR?TS_ISR?TS_SEVICE + CODE 065DH 00AFH UNIT ?CO?TS_SEVICE + CODE 070CH 0096H INBLOCK ?PR?TS_GETKEY?KEY + CODE 07A2H 008CH UNIT ?C_C51STARTUP + CODE 082EH 0088H INBLOCK ?PR?_TS_GETDATAAREA?TS_SEVICE + CODE 08B6H 0084H INBLOCK ?PR?_GETMIDVAL?TS_SEVICE + CODE 093AH 007AH INBLOCK ?PR?TS_DATAFILTERING?TS_SEVICE + CODE 09B4H 0069H INBLOCK ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE + CODE 0A1DH 0067H INBLOCK ?PR?INT3_ISR?INTERRUPT + CODE 0A84H 0055H INBLOCK ?PR?TS_CHECKREFCH?TS_SEVICE + CODE 0AD9H 004AH INBLOCK ?PR?TS_SCANSTART?TS_SEVICE + CODE 0B23H 0044H INBLOCK ?PR?_TS_RAWDATACALIBRATE?TS_SEVICE + CODE 0B67H 0038H INBLOCK ?PR?_TS_SETCHANNEL?TS_SEVICE + CODE 0B9FH 0035H INBLOCK ?PR?TS_INIT?TS_API + CODE 0BD4H 0030H INBLOCK ?PR?MAIN?MAIN + CODE 0C04H 002CH INBLOCK ?PR?TS_MS_ISR?TS_SEVICE + CODE 0C30H 002BH INBLOCK ?PR?KEY + CODE 0C5BH 002BH INBLOCK ?PR?TS_IO_INIT?TS_SEVICE + CODE 0C86H 0029H INBLOCK ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE + CODE 0CAFH 0022H INBLOCK ?PR?TS_ACTION?TS_API + CODE 0CD1H 0016H INBLOCK ?PR?_DELAY_50US?DELAY + CODE 0CE7H 0012H INBLOCK ?PR?_DELAY_MS?DELAY + CODE 0CF9H 000EH INBLOCK ?PR?SYS_CLK_SET_IRCL?SYSTEM_CLOCK + CODE 0D07H 000CH INBLOCK ?PR?SYS_CLK_SET_IRCH?SYSTEM_CLOCK + CODE 0D13H 000BH UNIT ?C_INITSEG + CODE 0D1EH 000AH UNIT ?CO?KEY + CODE 0D28H 0008H INBLOCK ?PR?TSKEY_INIT?KEY + + + +OVERLAY MAP OF MODULE: .\hex\ca51fx (MAIN) + + +SEGMENT DATA_GROUP IDATA_GROUP + +--> CALLED SEGMENT START LENGTH START LENGTH +---------------------------------------------------------------------------------- +?PR?INT3_ISR?INTERRUPT ----- ----- ----- ----- + +--> ?PR?TS_MS_ISR?TS_SEVICE + +--> ?PR?TS_HS_ISR?TS_SEVICE + +--> ?PR?TS_ISR?TS_SEVICE + +?PR?TS_MS_ISR?TS_SEVICE ----- ----- ----- ----- + +--> ?PR?TS_SEVICE + +?PR?TS_SEVICE ----- ----- ----- ----- + +--> ?CO?TS_SEVICE + +?PR?TS_HS_ISR?TS_SEVICE ----- ----- ----- ----- + +--> ?PR?TS_SEVICE + + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 4 + + +?PR?TS_ISR?TS_SEVICE 0008H 000CH ----- ----- + +--> ?PR?TS_SEVICE + +--> ?PR?TS_SCANSTART?TS_SEVICE + +?PR?TS_SCANSTART?TS_SEVICE ----- ----- ----- ----- + +--> ?PR?_TS_SETCHANNEL?TS_SEVICE + +--> ?PR?TS_SEVICE + +*** NEW ROOT *************************************************** + +?C_C51STARTUP ----- ----- ----- ----- + +--> ?PR?MAIN?MAIN + +--> ?C_INITSEG + +?PR?MAIN?MAIN ----- ----- ----- ----- + +--> ?PR?TS_INIT?TS_API + +--> ?PR?TSKEY_INIT?KEY + +--> ?PR?_DELAY_MS?DELAY + +--> ?PR?TS_ACTION?TS_API + +--> ?PR?TS_GETKEY?KEY + +?PR?TS_INIT?TS_API ----- ----- ----- ----- + +--> ?PR?TS_IO_INIT?TS_SEVICE + +?PR?TS_IO_INIT?TS_SEVICE ----- ----- ----- ----- + +--> ?PR?TS_SEVICE + +--> ?CO?TS_SEVICE + +?PR?_DELAY_MS?DELAY ----- ----- ----- ----- + +--> ?PR?_DELAY_50US?DELAY + +?PR?TS_ACTION?TS_API ----- ----- ----- ----- + +--> ?PR?TS_RUNINIT?TS_SEVICE + +--> ?PR?TS_CHECKREFCH?TS_SEVICE + +--> ?PR?TS_DATAFILTERING?TS_SEVICE + +--> ?PR?TS_SCANSTART?TS_SEVICE + +--> ?PR?TSKEY_DATADEAL?TS_SEVICE + +?PR?TS_RUNINIT?TS_SEVICE 0014H 0001H ----- ----- + +--> ?PR?TS_SCANSTART?TS_SEVICE + +--> ?PR?TS_SEVICE + +--> ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE + +?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE ----- ----- ----- ----- + +--> ?PR?TS_SEVICE + +?PR?TS_CHECKREFCH?TS_SEVICE ----- ----- ----- ----- + +--> ?PR?_TS_RAWDATACALIBRATE?TS_SEVICE + +?PR?_TS_RAWDATACALIBRATE?TS_SEVICE 0014H 0005H ----- ----- + +--> ?PR?TS_SEVICE + +?PR?TS_DATAFILTERING?TS_SEVICE 0014H 0001H ----- ----- + +--> ?PR?TS_SEVICE + +--> ?PR?_GETMIDVAL?TS_SEVICE + +?PR?_GETMIDVAL?TS_SEVICE 0015H 0004H 002DH 000AH + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 5 + + + +?PR?TSKEY_DATADEAL?TS_SEVICE 0014H 0005H ----- ----- + +--> ?PR?TS_SEVICE + +--> ?PR?_TS_GETDATAAREA?TS_SEVICE + +--> ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE + +--> ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE + +?PR?_TS_GETDATAAREA?TS_SEVICE 0019H 0005H ----- ----- + +--> ?PR?TS_SEVICE + +?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE 0019H 0007H ----- ----- + +--> ?CO?TS_SEVICE + +--> ?PR?TS_SEVICE + +?PR?TS_GETKEY?KEY 0014H 0001H ----- ----- + +--> ?PR?KEY + +?PR?KEY ----- ----- ----- ----- + +--> ?CO?TS_SEVICE + +--> ?CO?KEY + + + +SYMBOL TABLE OF MODULE: .\hex\ca51fx (MAIN) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + X:801DH PUBLIC P35F + D:0080H PUBLIC P0 + D:00B0H PUBLIC P3 + B:00A8H.7 PUBLIC EA + X:8100H PUBLIC SPMAX + C:0BD4H PUBLIC main + X:8051H PUBLIC ATK0NH + X:8053H PUBLIC ATK1NH + X:FC03H PUBLIC LOCK + X:8055H PUBLIC ATK2NH + X:8101H PUBLIC I2CIOS + X:8057H PUBLIC ATK3NH + X:8059H PUBLIC ATK4NH + X:8050H PUBLIC ATK0NL + X:805BH PUBLIC ATK5NH + X:8052H PUBLIC ATK1NL + X:8054H PUBLIC ATK2NL + X:8056H PUBLIC ATK3NL + X:8034H PUBLIC ILCFGH + X:8058H PUBLIC ATK4NL + X:805AH PUBLIC ATK5NL + X:8033H PUBLIC ILCFGL + B:0080H.5 PUBLIC P05 + X:FC06H PUBLIC PTSH + X:FC05H PUBLIC PTSL + X:8061H PUBLIC LEDUTH + X:805DH PUBLIC TKMINF + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 6 + + + X:8060H PUBLIC LEDUTL + X:805CH PUBLIC TKMAXF + X:FC07H PUBLIC REPSET + X:8032H PUBLIC IHCFG + X:FC04H PUBLIC PADRD + X:FC01H PUBLIC FSCMD + X:8030H PUBLIC CKCON + X:8031H PUBLIC CKDIV + X:FC02H PUBLIC FSDAT + X:FC00H PUBLIC MECON + X:8000H PUBLIC P00F + X:8001H PUBLIC P01F + X:8002H PUBLIC P02F + X:8018H PUBLIC P30F + X:8003H PUBLIC P03F + X:8019H PUBLIC P31F + X:8004H PUBLIC P04F + X:801AH PUBLIC P32F + X:8005H PUBLIC P05F + X:801BH PUBLIC P33F + X:8006H PUBLIC P06F + X:801CH PUBLIC P34F + X:8007H PUBLIC P07F + ------- PROC MAIN + C:0BD4H LINE# 22 + C:0BD4H LINE# 23 + C:0BD4H LINE# 24 + C:0BDAH LINE# 25 + C:0BDCH LINE# 32 + C:0BDEH LINE# 34 + C:0BE1H LINE# 36 + C:0BE4H LINE# 38 + C:0BE6H LINE# 39 + C:0BEBH LINE# 40 + C:0BF0H LINE# 41 + C:0BF5H LINE# 42 + C:0BFAH LINE# 43 + C:0BFCH LINE# 44 + C:0BFCH LINE# 45 + C:0BFCH LINE# 46 + C:0BFFH LINE# 48 + C:0C02H LINE# 50 + ------- ENDPROC MAIN + ------- ENDMOD MAIN + + ------- MODULE DELAY + C:0000H SYMBOL _ICE_DUMMY_ + C:0CD1H PUBLIC _Delay_50us + C:0CE7H PUBLIC _Delay_ms + ------- PROC _DELAY_50US + D:0006H SYMBOL n + ------- DO + D:0005H SYMBOL i + ------- ENDDO + C:0CD1H LINE# 5 + C:0CD1H LINE# 6 + C:0CD1H LINE# 8 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 7 + + + C:0CDBH LINE# 9 + C:0CDBH LINE# 10 + C:0CE6H LINE# 11 + C:0CE6H LINE# 12 + ------- ENDPROC _DELAY_50US + ------- PROC _DELAY_MS + D:0004H SYMBOL n + C:0CE7H LINE# 13 + C:0CE9H LINE# 14 + C:0CE9H LINE# 15 + C:0CEFH LINE# 16 + C:0CEFH LINE# 17 + C:0CF6H LINE# 18 + C:0CF8H LINE# 19 + ------- ENDPROC _DELAY_MS + ------- ENDMOD DELAY + + ------- MODULE SYSTEM_CLOCK + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:00B0H PUBLIC P3 + C:0D07H PUBLIC Sys_Clk_Set_IRCH + C:0CF9H PUBLIC Sys_Clk_Set_IRCL + ------- PROC SYS_CLK_SET_IRCH + C:0D07H LINE# 13 + C:0D07H LINE# 14 + C:0D07H LINE# 15 + C:0D0EH LINE# 16 + C:0D12H LINE# 17 + ------- ENDPROC SYS_CLK_SET_IRCH + ------- PROC SYS_CLK_SET_IRCL + C:0CF9H LINE# 18 + C:0CF9H LINE# 19 + C:0CF9H LINE# 20 + C:0D00H LINE# 21 + C:0D06H LINE# 22 + ------- ENDPROC SYS_CLK_SET_IRCL + ------- ENDMOD SYSTEM_CLOCK + + ------- MODULE UART + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:00B0H PUBLIC P3 + ------- ENDMOD UART + + ------- MODULE KEY + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:00B0H PUBLIC P3 + D:0023H PUBLIC TK_State + C:0D1EH PUBLIC TS_KEY_TAB + D:0024H PUBLIC TS_Key + B:0080H.5 PUBLIC P05 + D:0026H PUBLIC TS_LongKeyTimer + C:070CH PUBLIC TS_GetKey + C:0D28H PUBLIC TSKey_init + C:0C30H SYMBOL Com0015 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 8 + + + C:0C30H SYMBOL L?0022 + C:0C48H SYMBOL L?0023 + C:0C48H SYMBOL L?0024 + C:0C4FH SYMBOL L?0025 + ------- PROC COM0015 + ------- ENDPROC COM0015 + ------- PROC TSKEY_INIT + C:0D28H LINE# 35 + C:0D28H LINE# 36 + C:0D28H LINE# 37 + C:0D2BH LINE# 38 + C:0D2FH LINE# 39 + ------- ENDPROC TSKEY_INIT + ------- PROC TS_GETKEY + ------- DO + D:0021H SYMBOL KeyChIndex + D:0022H SYMBOL LongFlag + D:0014H SYMBOL i + ------- ENDDO + C:070CH LINE# 40 + C:070CH LINE# 41 + C:070CH LINE# 44 + C:0711H LINE# 45 + C:0715H LINE# 46 + C:0715H LINE# 47 + C:0721H LINE# 48 + C:0721H LINE# 49 + C:0724H LINE# 50 + C:0724H LINE# 51 + C:072EH LINE# 52 + C:072EH LINE# 53 + C:0731H LINE# 54 + C:0734H LINE# 55 + C:073CH LINE# 56 + C:0742H LINE# 57 + C:0745H LINE# 59 + C:0747H LINE# 60 + C:0748H LINE# 61 + C:0748H LINE# 62 + C:0750H LINE# 63 + C:0750H LINE# 64 + C:0750H LINE# 65 + C:0756H LINE# 66 + C:0756H LINE# 67 + C:0760H LINE# 68 + C:0760H LINE# 69 + C:0766H LINE# 70 + C:0766H LINE# 71 + C:076AH LINE# 72 + C:076AH LINE# 73 + C:076DH LINE# 74 + C:0773H LINE# 75 + C:0775H LINE# 77 + C:0775H LINE# 78 + C:077FH LINE# 79 + C:077FH LINE# 80 + C:0785H LINE# 81 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 9 + + + C:0785H LINE# 82 + C:0786H LINE# 84 + C:0786H LINE# 85 + C:078AH LINE# 86 + C:078AH LINE# 87 + C:0790H LINE# 88 + C:0792H LINE# 90 + C:0792H LINE# 91 + C:079CH LINE# 92 + C:079CH LINE# 93 + C:079FH LINE# 94 + C:07A1H LINE# 95 + C:07A1H LINE# 96 + C:07A1H LINE# 145 + ------- ENDPROC TS_GETKEY + ------- ENDMOD KEY + + ------- MODULE INTERRUPT + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:00D5H PUBLIC TMCON + D:00B0H PUBLIC P3 + D:00FBH PUBLIC TKIF + C:0022H PUBLIC INT2_Handler + C:0A1DH PUBLIC INT3_ISR + ------- PROC INT2_HANDLER + C:0022H LINE# 21 + C:0022H LINE# 33 + ------- ENDPROC INT2_HANDLER + ------- PROC INT3_ISR + ------- DO + D:002CH SYMBOL TmCnt + ------- ENDDO + C:0A1DH LINE# 34 + C:0A3AH LINE# 37 + C:0A3FH LINE# 38 + C:0A3FH LINE# 39 + C:0A42H LINE# 40 + C:0A45H LINE# 41 + C:0A4BH LINE# 42 + C:0A4BH LINE# 43 + C:0A53H LINE# 44 + C:0A53H LINE# 45 + C:0A55H LINE# 46 + C:0A5CH LINE# 47 + C:0A5CH LINE# 48 + C:0A5FH LINE# 49 + C:0A62H LINE# 50 + C:0A62H LINE# 51 + C:0A62H LINE# 52 + C:0A66H LINE# 53 + C:0A66H LINE# 54 + C:0A69H LINE# 55 + C:0A69H LINE# 56 + ------- ENDPROC INT3_ISR + ------- ENDMOD INTERRUPT + + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 10 + + + ------- MODULE DEBUG + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:00B0H PUBLIC P3 + ------- ENDMOD DEBUG + + ------- MODULE TS_API + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:00F8H PUBLIC TKCON + D:00D5H PUBLIC TMCON + D:00B0H PUBLIC P3 + X:00EDH PUBLIC TS_State + D:00D6H PUBLIC TMSNU + B:00A8H.5 PUBLIC INT3EN + X:00EEH PUBLIC KeysFlagSN + C:0B9FH PUBLIC TS_init + C:0CAFH PUBLIC TS_Action + D:00F9H PUBLIC TKCFG + ------- PROC TS_INIT + C:0B9FH LINE# 19 + C:0B9FH LINE# 20 + C:0B9FH LINE# 30 + C:0BA6H LINE# 31 + C:0BA9H LINE# 32 + C:0BACH LINE# 33 + C:0BAEH LINE# 35 + C:0BB4H LINE# 37 + C:0BB7H LINE# 38 + C:0BBAH LINE# 39 + C:0BBDH LINE# 40 + C:0BBFH LINE# 42 + C:0BC1H LINE# 43 + C:0BC5H LINE# 45 + C:0BCBH LINE# 51 + C:0BCFH LINE# 52 + C:0BD3H LINE# 63 + ------- ENDPROC TS_INIT + ------- PROC TS_ACTION + C:0CAFH LINE# 65 + C:0CAFH LINE# 66 + C:0CAFH LINE# 70 + C:0CB9H LINE# 71 + C:0CB9H LINE# 72 + C:0CB9H LINE# 73 + C:0CBCH LINE# 74 + C:0CBCH LINE# 75 + C:0CBCH LINE# 77 + C:0CBFH LINE# 78 + C:0CBFH LINE# 80 + C:0CC1H LINE# 81 + C:0CC4H LINE# 83 + C:0CC7H LINE# 88 + C:0CC7H LINE# 89 + C:0CCAH LINE# 90 + C:0CCDH LINE# 91 + C:0CCDH LINE# 99 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 11 + + + C:0CD0H LINE# 119 + C:0CD0H LINE# 120 + C:0CD0H LINE# 121 + C:0CD0H LINE# 122 + C:0CD0H LINE# 123 + C:0CD0H LINE# 125 + ------- ENDPROC TS_ACTION + ------- ENDMOD TS_API + + ------- MODULE TS_SEVICE + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:00F8H PUBLIC TKCON + D:002AH PUBLIC TS_Index + D:00B0H PUBLIC P3 + B:0020H.0 PUBLIC TS_CycleScanDoneFlag + C:0C86H PUBLIC _TS_AreaConfirmTimerSet + X:0001H PUBLIC TS_FirstAreaData + X:0015H PUBLIC TS_BaseLineData + X:0029H PUBLIC TS_FilterBuf + X:008DH PUBLIC TS_CH + X:0097H PUBLIC TS_Init_Step + B:0020H.1 PUBLIC OverHighFlag + C:0AD9H PUBLIC TS_ScanStart + C:082EH PUBLIC _TS_GetDataArea + I:0037H PUBLIC TS_InitTimer + C:0245H PUBLIC TSKey_DataDeal + X:0098H PUBLIC TS_PostData + X:00ACH PUBLIC TS_Cnt + C:093AH PUBLIC TS_DataFiltering + D:00FCH PUBLIC TK0CHS + D:00FBH PUBLIC TKIF + X:00ADH PUBLIC TS_RawData + D:00FDH PUBLIC TK1CHS + D:002BH PUBLIC TS_BaseCh + D:00FEH PUBLIC TK2CHS + D:00FFH PUBLIC TK3CHS + D:00F1H PUBLIC TK4CHS + C:0A84H PUBLIC TS_CheckRefCh + D:00F2H PUBLIC TK5CHS + C:0C5BH PUBLIC TS_IO_init + D:00E2H PUBLIC TK0MSH + D:00E4H PUBLIC TK1MSH + D:00E6H PUBLIC TK2MSH + D:00D9H PUBLIC TK3MSH + D:00E1H PUBLIC TK0MSL + D:00DBH PUBLIC TK4MSH + C:0B23H PUBLIC _TS_RawDataCalibrate + D:00E3H PUBLIC TK1MSL + D:00DDH PUBLIC TK5MSH + D:00E5H PUBLIC TK2MSL + D:00E7H PUBLIC TK3MSL + D:00DAH PUBLIC TK4MSL + D:00DCH PUBLIC TK5MSL + I:0038H PUBLIC TS_RefCHBaseLineAdjuTimer + X:00C1H PUBLIC TS_FilterPosIdx + X:00D5H PUBLIC TSKey_LongTouchLimitTimer + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 12 + + + C:04EDH PUBLIC TS_RunInit + X:00DFH PUBLIC TS_RefChBaseLineData + X:00E1H PUBLIC TS_AreaConfirmTimer + C:08B6H PUBLIC _GetMidVal + C:06ACH PUBLIC MASK_TAB + C:065DH PUBLIC TS_CH_INFO_SEQ + C:09B4H PUBLIC _TS_AreaDeviateDetection + C:0003H PUBLIC TS_HS_ISR + C:0B67H PUBLIC _TS_SetChannel + C:05AAH PUBLIC TS_ISR + C:0C04H PUBLIC TS_MS_ISR + X:00EBH PUBLIC TS_RefChRawData + C:03B4H SYMBOL Com00A1 + C:03B4H SYMBOL L?0162 + C:03D8H SYMBOL L?0163 + C:03E3H SYMBOL L?0164 + C:03EFH SYMBOL L?0165 + C:03EFH SYMBOL L?0166 + C:03FAH SYMBOL L?0167 + C:03FCH SYMBOL L?0168 + C:040AH SYMBOL L?0169 + C:040AH SYMBOL L?0170 + C:040CH SYMBOL L?0171 + C:0420H SYMBOL L?0172 + C:0421H SYMBOL L?0173 + C:0423H SYMBOL L?0174 + C:042FH SYMBOL L?0175 + C:042FH SYMBOL L?0176 + C:0433H SYMBOL L?0177 + C:043BH SYMBOL L?0178 + C:043BH SYMBOL L?0179 + C:043DH SYMBOL L?0180 + C:0449H SYMBOL L?0181 + C:0449H SYMBOL L?0182 + C:0450H SYMBOL L?0183 + C:0458H SYMBOL L?0184 + C:0458H SYMBOL L?0185 + C:0469H SYMBOL L?0186 + C:0469H SYMBOL L?0187 + C:046BH SYMBOL L?0188 + C:0473H SYMBOL L?0189 + C:0473H SYMBOL L?0190 + C:047EH SYMBOL L?0191 + C:0489H SYMBOL L?0192 + C:0490H SYMBOL L?0193 + C:0495H SYMBOL L?0194 + C:049DH SYMBOL L?0195 + C:04B0H SYMBOL L?0196 + C:04B4H SYMBOL L?0197 + C:04BDH SYMBOL L?0198 + C:04BFH SYMBOL L?0199 + C:04C9H SYMBOL L?0200 + C:04CCH SYMBOL L?0201 + C:04D4H SYMBOL L?0202 + C:04E2H SYMBOL L?0203 + ------- PROC COM00A1 + ------- ENDPROC COM00A1 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 13 + + + ------- PROC TS_IO_INIT + ------- DO + D:0007H SYMBOL i + C:0685H SYMBOL pXSFR + D:0001H SYMBOL pPinS + ------- ENDDO + C:0C5BH LINE# 96 + C:0C5BH LINE# 97 + C:0C5BH LINE# 117 + C:0C61H LINE# 119 + C:0C63H LINE# 120 + C:0C63H LINE# 121 + C:0C7CH LINE# 122 + C:0C81H LINE# 123 + C:0C85H LINE# 124 + ------- ENDPROC TS_IO_INIT + ------- PROC TS_MS_ISR + ------- DO + X:0000H SYMBOL ms_cnt + D:0007H SYMBOL i + ------- ENDDO + C:0C04H LINE# 154 + C:0C04H LINE# 155 + C:0C04H LINE# 159 + C:0C09H LINE# 160 + C:0C09H LINE# 161 + C:0C0AH LINE# 162 + C:0C0AH LINE# 163 + C:0C10H LINE# 164 + C:0C16H LINE# 165 + C:0C16H LINE# 166 + C:0C18H LINE# 167 + C:0C19H LINE# 168 + C:0C19H LINE# 169 + C:0C22H LINE# 170 + C:0C22H LINE# 171 + C:0C2BH LINE# 172 + C:0C2BH LINE# 173 + C:0C2FH LINE# 184 + C:0C2FH LINE# 185 + ------- ENDPROC TS_MS_ISR + ------- PROC TS_HS_ISR + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:0003H LINE# 186 + C:0003H LINE# 187 + C:0003H LINE# 191 + C:0005H LINE# 192 + C:0005H LINE# 193 + C:000EH LINE# 194 + C:000EH LINE# 195 + C:0017H LINE# 196 + C:0017H LINE# 197 + C:001BH LINE# 213 + C:0020H LINE# 214 + C:0020H LINE# 215 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 14 + + + C:0021H LINE# 216 + C:0021H LINE# 223 + ------- ENDPROC TS_HS_ISR + ------- PROC TS_ISR + ------- DO + D:0007H SYMBOL i + D:0008H SYMBOL TS_Data + ------- ENDDO + C:05AAH LINE# 224 + C:05AAH LINE# 225 + C:05AAH LINE# 228 + C:05AFH LINE# 229 + C:05AFH LINE# 230 + C:05B2H LINE# 231 + C:05B5H LINE# 232 + C:05B8H LINE# 233 + C:05B8H LINE# 234 + C:05BDH LINE# 235 + C:05BDH LINE# 236 + C:05C0H LINE# 237 + C:05C3H LINE# 238 + C:05C6H LINE# 239 + C:05C6H LINE# 240 + C:05CBH LINE# 241 + C:05CBH LINE# 242 + C:05CEH LINE# 243 + C:05D1H LINE# 244 + C:05D4H LINE# 245 + C:05D4H LINE# 246 + C:05D9H LINE# 247 + C:05D9H LINE# 248 + C:05DCH LINE# 249 + C:05DFH LINE# 250 + C:05E2H LINE# 251 + C:05E2H LINE# 252 + C:05E7H LINE# 253 + C:05E7H LINE# 254 + C:05EAH LINE# 255 + C:05EDH LINE# 256 + C:05F0H LINE# 257 + C:05F0H LINE# 258 + C:05F5H LINE# 259 + C:05F5H LINE# 260 + C:05F8H LINE# 261 + C:05FBH LINE# 262 + C:05FEH LINE# 263 + C:05FEH LINE# 265 + C:0600H LINE# 266 + C:0600H LINE# 267 + C:060FH LINE# 268 + C:060FH LINE# 269 + C:0621H LINE# 270 + C:0623H LINE# 271 + C:0623H LINE# 272 + C:0639H LINE# 273 + C:063DH LINE# 274 + C:0650H LINE# 275 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 15 + + + C:0650H LINE# 276 + C:0652H LINE# 277 + C:0653H LINE# 279 + C:0653H LINE# 280 + C:0659H LINE# 281 + C:065CH LINE# 282 + C:065CH LINE# 283 + ------- ENDPROC TS_ISR + ------- PROC _TS_SETCHANNEL + D:0007H SYMBOL index + D:0005H SYMBOL ch + C:0B67H LINE# 284 + C:0B67H LINE# 285 + C:0B67H LINE# 286 + C:0B7BH LINE# 287 + C:0B7BH LINE# 288 + C:0B7BH LINE# 289 + C:0B80H LINE# 290 + C:0B81H LINE# 291 + C:0B81H LINE# 292 + C:0B86H LINE# 293 + C:0B87H LINE# 294 + C:0B87H LINE# 295 + C:0B8CH LINE# 296 + C:0B8DH LINE# 297 + C:0B8DH LINE# 298 + C:0B92H LINE# 299 + C:0B93H LINE# 300 + C:0B93H LINE# 301 + C:0B98H LINE# 302 + C:0B99H LINE# 303 + C:0B99H LINE# 304 + C:0B9EH LINE# 305 + C:0B9EH LINE# 306 + C:0B9EH LINE# 307 + ------- ENDPROC _TS_SETCHANNEL + ------- PROC TS_SCANSTART + ------- DO + D:0006H SYMBOL i + D:0004H SYMBOL j + ------- ENDDO + C:0AD9H LINE# 308 + C:0AD9H LINE# 309 + C:0AD9H LINE# 311 + C:0AE1H LINE# 312 + C:0AE1H LINE# 313 + C:0AF5H LINE# 314 + C:0AF5H LINE# 315 + C:0AFCH LINE# 316 + C:0B05H LINE# 317 + C:0B05H LINE# 318 + C:0B0CH LINE# 319 + C:0B0FH LINE# 320 + C:0B0FH LINE# 321 + C:0B0FH LINE# 322 + C:0B1CH LINE# 323 + C:0B1FH LINE# 324 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 16 + + + C:0B22H LINE# 325 + ------- ENDPROC TS_SCANSTART + ------- PROC TS_RUNINIT + ------- DO + D:0014H SYMBOL i + D:0007H SYMBOL j + D:0028H SYMBOL TS_ScanTimes + ------- ENDDO + C:04EDH LINE# 621 + C:04EDH LINE# 622 + C:04EDH LINE# 627 + C:04F4H LINE# 628 + C:04F4H LINE# 629 + C:04FBH LINE# 630 + C:04FBH LINE# 631 + C:04FDH LINE# 632 + C:04FFH LINE# 633 + C:04FFH LINE# 634 + C:0500H LINE# 635 + C:0504H LINE# 636 + C:0504H LINE# 637 + C:0507H LINE# 638 + C:050AH LINE# 639 + C:0510H LINE# 640 + C:0513H LINE# 641 + C:0514H LINE# 642 + C:051EH LINE# 643 + C:051EH LINE# 644 + C:0523H LINE# 645 + C:0523H LINE# 646 + C:0525H LINE# 647 + C:052BH LINE# 648 + C:052BH LINE# 649 + C:052BH LINE# 650 + C:052DH LINE# 652 + C:052DH LINE# 653 + C:0531H LINE# 654 + C:0533H LINE# 655 + C:0533H LINE# 656 + C:0535H LINE# 657 + C:0535H LINE# 658 + C:054EH LINE# 659 + C:0552H LINE# 660 + C:055AH LINE# 662 + C:056DH LINE# 663 + C:057CH LINE# 664 + C:0583H LINE# 665 + C:058CH LINE# 667 + C:059BH LINE# 668 + C:05A1H LINE# 670 + C:05A3H LINE# 672 + C:05A6H LINE# 673 + C:05A9H LINE# 674 + C:05A9H LINE# 675 + C:05A9H LINE# 676 + ------- ENDPROC TS_RUNINIT + ------- PROC _TS_GETDATAAREA + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 17 + + + D:0019H SYMBOL ts_ch + D:0004H SYMBOL ts_data + ------- DO + D:001AH SYMBOL Delta + D:0006H SYMBOL NoiseThd + D:001CH SYMBOL FingerThd + ------- ENDDO + C:082EH LINE# 677 + C:0830H LINE# 678 + C:0830H LINE# 682 + C:0842H LINE# 683 + C:085EH LINE# 684 + C:085EH LINE# 685 + C:0866H LINE# 686 + C:0868H LINE# 688 + C:0868H LINE# 689 + C:0877H LINE# 690 + C:0877H LINE# 692 + C:087FH LINE# 694 + C:088EH LINE# 695 + C:0897H LINE# 696 + C:08A3H LINE# 697 + C:08B3H LINE# 698 + C:08B5H LINE# 700 + ------- ENDPROC _TS_GETDATAAREA + ------- PROC _TS_AREADEVIATEDETECTION + D:0001H SYMBOL ts_ch + D:001AH SYMBOL cmp_data + D:001CH SYMBOL real_data + D:001EH SYMBOL area + ------- DO + D:0004H SYMBOL Delta + D:0006H SYMBOL permit_devia + D:001FH SYMBOL rate + ------- ENDDO + C:09B4H LINE# 701 + C:09BEH LINE# 702 + C:09BEH LINE# 705 + C:09CEH LINE# 706 + C:09CEH LINE# 707 + C:09CEH LINE# 708 + C:09D1H LINE# 709 + C:09D3H LINE# 710 + C:09D3H LINE# 713 + C:09D3H LINE# 714 + C:09D3H LINE# 715 + C:09D3H LINE# 716 + C:09D6H LINE# 718 + C:09D6H LINE# 719 + C:09D6H LINE# 720 + C:09D6H LINE# 721 + C:09D6H LINE# 722 + C:09F9H LINE# 724 + C:0A04H LINE# 726 + C:0A17H LINE# 727 + C:0A17H LINE# 728 + C:0A1AH LINE# 729 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 18 + + + C:0A1AH LINE# 731 + C:0A1AH LINE# 732 + C:0A1CH LINE# 733 + C:0A1CH LINE# 734 + ------- ENDPROC _TS_AREADEVIATEDETECTION + ------- PROC _TS_AREACONFIRMTIMERSET + D:0007H SYMBOL ts_ch + D:0005H SYMBOL area + ------- DO + D:0006H SYMBOL set_value + ------- ENDDO + C:0C86H LINE# 735 + C:0C86H LINE# 736 + C:0C86H LINE# 739 + C:0C98H LINE# 740 + C:0C98H LINE# 741 + C:0C98H LINE# 743 + C:0C9AH LINE# 745 + C:0C9CH LINE# 746 + C:0C9CH LINE# 747 + C:0C9EH LINE# 748 + C:0CA0H LINE# 749 + C:0CA0H LINE# 750 + C:0CA2H LINE# 751 + C:0CA4H LINE# 752 + C:0CA4H LINE# 755 + C:0CA4H LINE# 756 + C:0CA6H LINE# 757 + C:0CA6H LINE# 758 + C:0CA6H LINE# 759 + C:0CA6H LINE# 760 + C:0CA6H LINE# 761 + C:0CAEH LINE# 762 + ------- ENDPROC _TS_AREACONFIRMTIMERSET + ------- PROC _GETMIDVAL + D:0015H SYMBOL pBuf + ------- DO + D:0018H SYMBOL i + D:0007H SYMBOL j + D:0004H SYMBOL temp + I:002DH SYMBOL BufTmp + ------- ENDDO + C:08B6H LINE# 763 + C:08BCH LINE# 764 + C:08BCH LINE# 768 + C:08BFH LINE# 769 + C:08BFH LINE# 770 + C:08D8H LINE# 771 + C:08DFH LINE# 772 + C:08E2H LINE# 773 + C:08E2H LINE# 774 + C:08EFH LINE# 775 + C:08EFH LINE# 776 + C:0907H LINE# 777 + C:0907H LINE# 778 + C:0907H LINE# 779 + C:091DH LINE# 780 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 19 + + + C:0928H LINE# 781 + C:0928H LINE# 782 + C:092BH LINE# 783 + C:0932H LINE# 785 + C:0939H LINE# 789 + ------- ENDPROC _GETMIDVAL + ------- PROC TS_DATAFILTERING + ------- DO + D:0014H SYMBOL i + ------- ENDDO + C:093AH LINE# 790 + C:093AH LINE# 791 + C:093AH LINE# 793 + C:093DH LINE# 794 + C:093DH LINE# 795 + C:0947H LINE# 796 + C:0956H LINE# 797 + C:0956H LINE# 798 + C:095DH LINE# 799 + C:095DH LINE# 800 + C:098FH LINE# 801 + C:09AAH LINE# 802 + C:09B3H LINE# 803 + ------- ENDPROC TS_DATAFILTERING + ------- PROC TSKEY_DATADEAL + ------- DO + D:0014H SYMBOL i + D:0015H SYMBOL TouchArea + D:0016H SYMBOL NowArea + D:0029H SYMBOL OverHighCh + D:0002H SYMBOL Delta + D:0017H SYMBOL MaxDelta + ------- ENDDO + C:0245H LINE# 805 + C:0245H LINE# 806 + C:0245H LINE# 816 + C:024AH LINE# 817 + C:024CH LINE# 818 + C:024CH LINE# 819 + C:025DH LINE# 822 + C:025DH LINE# 823 + C:025DH LINE# 829 + C:025DH LINE# 830 + C:025DH LINE# 833 + C:025DH LINE# 835 + C:025DH LINE# 838 + C:025DH LINE# 839 + C:025DH LINE# 841 + C:0260H LINE# 842 + C:0260H LINE# 843 + C:0278H LINE# 844 + C:0278H LINE# 845 + C:0287H LINE# 846 + C:0287H LINE# 847 + C:028BH LINE# 848 + C:028EH LINE# 849 + C:0290H LINE# 850 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 20 + + + C:0290H LINE# 851 + C:0290H LINE# 852 + C:0292H LINE# 854 + C:0292H LINE# 855 + C:0297H LINE# 856 + C:02A8H LINE# 857 + C:02A8H LINE# 858 + C:02AAH LINE# 859 + C:02AAH LINE# 860 + C:02AAH LINE# 861 + C:02B2H LINE# 863 + C:02B5H LINE# 864 + C:02B5H LINE# 865 + C:02BEH LINE# 866 + C:02BEH LINE# 867 + C:02C6H LINE# 868 + C:02C6H LINE# 869 + C:02CCH LINE# 870 + C:02CCH LINE# 871 + C:02DBH LINE# 872 + C:02DBH LINE# 873 + C:02DDH LINE# 874 + C:02DDH LINE# 875 + C:02E8H LINE# 876 + C:02F6H LINE# 885 + C:02FCH LINE# 886 + C:02FCH LINE# 887 + C:0302H LINE# 888 + C:0302H LINE# 889 + C:030AH LINE# 890 + C:030AH LINE# 891 + C:0312H LINE# 892 + C:0312H LINE# 893 + C:0321H LINE# 895 + C:0327H LINE# 897 + C:032DH LINE# 898 + C:032DH LINE# 899 + C:032FH LINE# 901 + C:032FH LINE# 902 + C:0334H LINE# 904 + C:033AH LINE# 905 + C:033AH LINE# 906 + C:0340H LINE# 907 + C:0340H LINE# 908 + C:0346H LINE# 909 + C:0346H LINE# 910 + C:0346H LINE# 912 + C:0346H LINE# 913 + C:0348H LINE# 915 + C:0348H LINE# 916 + C:0350H LINE# 917 + C:0350H LINE# 918 + C:0356H LINE# 919 + C:0356H LINE# 920 + C:035CH LINE# 921 + C:035CH LINE# 922 + C:035CH LINE# 923 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 21 + + + C:035CH LINE# 924 + C:035EH LINE# 926 + C:035EH LINE# 927 + C:035EH LINE# 928 + C:035EH LINE# 929 + C:035EH LINE# 930 + C:035EH LINE# 931 + C:0360H LINE# 932 + C:0360H LINE# 934 + C:0360H LINE# 935 + C:0365H LINE# 936 + C:0365H LINE# 937 + C:036BH LINE# 938 + C:036DH LINE# 939 + C:036FH LINE# 940 + C:036FH LINE# 941 + C:036FH LINE# 943 + C:0388H LINE# 944 + C:0388H LINE# 945 + C:038EH LINE# 946 + C:038EH LINE# 947 + C:038EH LINE# 948 + C:0397H LINE# 949 + C:0399H LINE# 950 + C:0399H LINE# 951 + C:039BH LINE# 953 + C:039BH LINE# 954 + C:03A1H LINE# 955 + C:03A8H LINE# 956 + C:03A8H LINE# 957 + C:03B3H LINE# 958 + ------- ENDPROC TSKEY_DATADEAL + ------- PROC _TS_RAWDATACALIBRATE + D:0014H SYMBOL data1 + D:0016H SYMBOL data2 + ------- DO + D:0018H SYMBOL i + ------- ENDDO + C:0B23H LINE# 1359 + C:0B2BH LINE# 1360 + C:0B2BH LINE# 1363 + C:0B2EH LINE# 1364 + C:0B2EH LINE# 1365 + C:0B5FH LINE# 1366 + C:0B66H LINE# 1367 + ------- ENDPROC _TS_RAWDATACALIBRATE + ------- PROC TS_CHECKREFCH + ------- DO + D:0006H SYMBOL Delta + ------- ENDDO + C:0A84H LINE# 1368 + C:0A84H LINE# 1369 + C:0A84H LINE# 1372 + C:0A89H LINE# 1373 + C:0A89H LINE# 1374 + C:0A8BH LINE# 1375 + C:0AA0H LINE# 1377 + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 22 + + + C:0AABH LINE# 1378 + C:0AABH LINE# 1379 + C:0AB2H LINE# 1380 + C:0AB4H LINE# 1381 + C:0ABCH LINE# 1382 + C:0ABCH LINE# 1383 + C:0AC6H LINE# 1384 + C:0AC6H LINE# 1385 + C:0AC6H LINE# 1386 + ------- ENDPROC TS_CHECKREFCH + ------- ENDMOD TS_SEVICE + + ------- MODULE ?C?CSTPTR + C:002EH PUBLIC ?C?CSTPTR + ------- ENDMOD ?C?CSTPTR + + ------- MODULE ?C?IMUL + C:0040H PUBLIC ?C?IMUL + ------- ENDMOD ?C?IMUL + + ------- MODULE ?C?UIDIV + C:0052H PUBLIC ?C?UIDIV + ------- ENDMOD ?C?UIDIV + + ------- MODULE ?C?IILDX + C:00A7H PUBLIC ?C?IILDX + ------- ENDMOD ?C?IILDX + + ------- MODULE ?C?ILDPTR + C:00BDH PUBLIC ?C?ILDPTR + ------- ENDMOD ?C?ILDPTR + + ------- MODULE ?C?ULDIV + C:0124H PUBLIC ?C?ULDIV + ------- ENDMOD ?C?ULDIV + + ------- MODULE ?C?LAND + C:01B6H PUBLIC ?C?LAND + ------- ENDMOD ?C?LAND + + ------- MODULE ?C?LNOT + C:01C3H PUBLIC ?C?LNOT + ------- ENDMOD ?C?LNOT + + ------- MODULE ?C?LLDCODE + C:01D0H PUBLIC ?C?LLDCODE + ------- ENDMOD ?C?LLDCODE + + ------- MODULE ?C?LLDCODE0 + C:01E0H PUBLIC ?C?LLDCODE0 + ------- ENDMOD ?C?LLDCODE0 + + ------- MODULE ?C?OFFXADD + C:01F0H PUBLIC ?C?OFFXADD + ------- ENDMOD ?C?OFFXADD + + ------- MODULE ?C?PLDIIDATA + BL51 BANKED LINKER/LOCATER V6.22 11/23/2017 15:48:29 PAGE 23 + + + C:01FCH PUBLIC ?C?PLDIIDATA + ------- ENDMOD ?C?PLDIIDATA + + ------- MODULE ?C?PLDCODE + C:020CH PUBLIC ?C?PLDCODE + ------- ENDMOD ?C?PLDCODE + + ------- MODULE ?C?LIMUL + C:0218H PUBLIC ?C?LIMUL + ------- ENDMOD ?C?LIMUL + +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?SYS_CLK_SET_IRCH?SYSTEM_CLOCK + +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?SYS_CLK_SET_IRCL?SYSTEM_CLOCK + +Program Size: data=57.2 xdata=285 code=3371 +LINK/LOCATE RUN COMPLETE. 2 WARNING(S), 0 ERROR(S) diff --git a/lst/ca51fx.map b/lst/ca51fx.map new file mode 100644 index 0000000..f5861d5 --- /dev/null +++ b/lst/ca51fx.map @@ -0,0 +1,3990 @@ +LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 1 + + +LX51 LINKER/LOCATER V4.41, INVOKED BY: +D:\KEIL_V5\C51\BIN\LX51.EXE .\hex\main.obj, .\hex\delay.obj, .\hex\system_clock.obj, .\hex\uart.obj, .\hex\interrupt.obj +>> , .\hex\rf_send.obj, .\hex\debug.obj, .\hex\ts_api.obj, .\TS_Lib\Sources\ts_service.LIB, .\hex\STARTUP.obj TO .\hex\c +>> a51fx PRINT (.\lst\ca51fx.map) REMOVEUNUSED CLASSES (XDATA (X:0X0-X:0X1FF), HDATA (X:0X0-X:0X1FF), CODE (C:0X0-C:0X1F +>> FF), CONST (C:0X0-C:0X1FFF), ECODE (C:0X0-C:0X1FFF), HCONST (C:0X0-C:0X1FFF)) + + +CPU MODE: 8051 MODE +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\hex\main.obj (MAIN) + COMMENT TYPE 0: C51 V9.00 + .\hex\delay.obj (DELAY) + COMMENT TYPE 0: C51 V9.00 + .\hex\system_clock.obj (SYSTEM_CLOCK) + COMMENT TYPE 0: C51 V9.00 + .\hex\uart.obj (UART) + COMMENT TYPE 0: C51 V9.00 + .\hex\interrupt.obj (INTERRUPT) + COMMENT TYPE 0: C51 V9.00 + .\hex\rf_send.obj (RF_SEND) + COMMENT TYPE 0: C51 V9.00 + .\hex\debug.obj (DEBUG) + COMMENT TYPE 0: C51 V9.00 + .\hex\ts_api.obj (TS_API) + COMMENT TYPE 0: C51 V9.00 + .\TS_Lib\Sources\ts_service.LIB (TS_SEVICE) + COMMENT TYPE 0: C51 V9.51 + .\hex\STARTUP.obj (?C_STARTUP) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CSTPTR) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?IMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?SIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?IILDX) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULSHR) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?OFFXADD) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?PLDCODE) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CCASE) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LIMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + + +ACTIVE MEMORY CLASSES OF MODULE: .\hex\ca51fx (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA +X:000000H X:000000H X:0001FFH HDATA + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 2 + + +C:000000H C:000000H C:001FFFH 0014FDH CODE +C:000000H C:000000H C:001FFFH 000069H CONST +C:000000H C:000000H C:001FFFH ECODE +B00:0000H C:000000H C:001FFFH HCONST +I:000000H I:000000H I:00007FH 000042H DATA +I:000000H I:000000H I:0000FFH 000013H IDATA +I:000020H.0 I:000020H.0 I:00002FH.7 000001H.0 BIT + + +MEMORY MAP OF MODULE: .\hex\ca51fx (MAIN) + + +START STOP LENGTH ALIGN RELOC MEMORY CLASS SEGMENT NAME +========================================================================= + +* * * * * * * * * * * D A T A M E M O R Y * * * * * * * * * * * * * +000000H 000007H 000008H --- AT.. DATA "REG BANK 0" +000008H 000013H 00000CH BYTE UNIT DATA ?DT?TS_API +000014H 000016H 000003H BYTE UNIT DATA ?DT?RF_SEND +000017H 000018H 000002H BYTE UNIT DATA ?DT?MAIN +000019H 000019H 000001H BYTE UNIT DATA ?DT?INTERRUPT +00001AH 00001BH 000002H BYTE UNIT IDATA ?ID?RF_SEND +00001CH.0 00001FH.7 000004H.0 --- --- **GAP** +000020H.0 000020H.5 000000H.6 BIT UNIT BIT ?BI?TS_API +000020H.6 000020H.7 000000H.2 BIT UNIT BIT _BIT_GROUP_ +000021H 000048H 000028H BYTE UNIT DATA _DATA_GROUP_ +000049H 000058H 000010H BYTE UNIT IDATA ?ID?TS_API +000059H 000059H 000001H BYTE UNIT IDATA ?STACK + +* * * * * * * * * * * C O D E M E M O R Y * * * * * * * * * * * * * +000000H 000002H 000003H --- OFFS.. CODE ?CO??C_STARTUP?0 +000003H 00001DH 00001BH BYTE UNIT CODE ?PR?_DELAY_MS?DELAY +00001EH 00001EH 000001H BYTE UNIT CODE ?PR?INT2_HANDLER?INTERRUPT +00001FH 00001FH 000001H BYTE UNIT CODE ?PR?INT4_ISR?INTERRUPT +000020H 000022H 000003H --- --- **GAP** +000023H 000025H 000003H BYTE OFFS.. CODE ?INTERRUPT?00023 +000026H 00002AH 000005H --- --- **GAP** +00002BH 00002DH 000003H BYTE OFFS.. CODE ?INTERRUPT?0002B +00002EH 000032H 000005H --- --- **GAP** +000033H 000035H 000003H BYTE OFFS.. CODE ?INTERRUPT?00033 +000036H 000295H 000260H BYTE UNIT CODE ?C?LIB_CODE +000296H 0004ABH 000216H BYTE UNIT CODE ?PR?_WHEELTOUCHJUDGE?TS_SEVICE +0004ACH 0006B2H 000207H BYTE UNIT CODE ?PR?TS_WHEELSLIDERDEAL?TS_API +0006B3H 000862H 0001B0H BYTE UNIT CODE ?PR?TS_ENTERSLEEPMODE?TS_API +000863H 00099EH 00013CH BYTE UNIT CODE ?PR?TSKEY_DATADEAL?TS_API +00099FH 000ABFH 000121H BYTE UNIT CODE ?PR?TS_SEVICE +000AC0H 000BD2H 000113H BYTE UNIT CODE ?PR?TS_API +000BD3H 000CB7H 0000E5H BYTE UNIT CODE ?PR?TS_RUNINIT?TS_API +000CB8H 000D97H 0000E0H BYTE UNIT CODE ?PR?MAIN?MAIN +000D98H 000E5EH 0000C7H BYTE UNIT CODE ?PR?TS_ISR?TS_API +000E5FH 000F22H 0000C4H BYTE UNIT CODE ?PR?TS_DATAFILTERING?TS_API +000F23H 000FC3H 0000A1H BYTE UNIT CODE ?PR?TS_GETKEY?TS_API +000FC4H 00104FH 00008CH BYTE UNIT CODE ?C_C51STARTUP +001050H 0010D4H 000085H BYTE UNIT CODE ?PR?TS_INIT?TS_API +0010D5H 001152H 00007EH BYTE UNIT CODE ?PR?INT3_ISR?INTERRUPT +001153H 0011BAH 000068H BYTE UNIT CODE ?PR?TS_ACTION?TS_API +0011BBH 001219H 00005FH BYTE UNIT CODE ?PR?_TS_GETDATAAREA?TS_SEVICE +00121AH 001267H 00004EH BYTE UNIT CODE ?PR?TS_SCANSTART?TS_SEVICE +001268H 0012A8H 000041H BYTE UNIT CODE ?PR?_SETWHEELSLIDERREFCH?TS_SEVICE +0012A9H 0012E2H 00003AH BYTE UNIT CODE ?PR?READ_32BIT_UID?MAIN +0012E3H 00131BH 000039H BYTE UNIT CODE ?PR?_SEND_8BIT?RF_SEND +00131CH 001353H 000038H BYTE UNIT CODE ?PR?_TS_SETCHANNEL?TS_SEVICE +001354H 001389H 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +00138AH 0013BEH 000035H BYTE UNIT CODE ?PR?TS_HS_ISR?TS_API +0013BFH 0013EFH 000031H BYTE UNIT CODE ?PR?_RF_SEND?RF_SEND + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 3 + + +0013F0H 00141EH 00002FH BYTE UNIT CODE ?PR?TS_IO_INIT?TS_SEVICE +00141FH 00144CH 00002EH BYTE UNIT CODE ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE +00144DH 001478H 00002CH BYTE UNIT CODE ?PR?MAIN +001479H 0014A4H 00002CH BYTE UNIT CODE ?PR?_HEX2CHARPRINT?TS_API +0014A5H 0014CFH 00002BH BYTE UNIT CODE ?PR?TS_SLEEPSCANSTART?TS_API +0014D0H 0014E5H 000016H BYTE UNIT CODE ?PR?_DELAY_50US?DELAY +0014E6H 0014F8H 000013H BYTE UNIT CODE ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE +0014F9H 001509H 000011H BYTE UNIT CODE ?C_INITSEG +00150AH 00154BH 000042H BYTE UNIT CONST ?CO?TS_API +00154CH 001572H 000027H BYTE UNIT CONST ?CO?TS_SEVICE + +* * * * * * * * * * * X D A T A M E M O R Y * * * * * * * * * * * * * +000000H 000127H 000128H BYTE UNIT XDATA ?XD?TS_API +000128H 000157H 000030H BYTE UNIT XDATA _XDATA_GROUP_ +000158H 007FFFH 007EA8H --- --- **GAP** +008000H 008000H 000001H BYTE OFFS.. XDATA ?XD?MAIN?52 +008001H 008001H 000001H BYTE OFFS.. XDATA ?XD?MAIN?55 +008002H 008002H 000001H BYTE OFFS.. XDATA ?XD?MAIN?58 +008003H 008003H 000001H BYTE OFFS.. XDATA ?XD?MAIN?62 +008004H 008004H 000001H BYTE OFFS.. XDATA ?XD?MAIN?67 +008005H 008005H 000001H BYTE OFFS.. XDATA ?XD?MAIN?70 +008006H 008006H 000001H BYTE OFFS.. XDATA ?XD?MAIN?72 +008007H 008007H 000001H BYTE OFFS.. XDATA ?XD?MAIN?74 +008008H 008017H 000010H --- --- **GAP** +008018H 008018H 000001H BYTE OFFS.. XDATA ?XD?MAIN?61 +008019H 008019H 000001H BYTE OFFS.. XDATA ?XD?MAIN?66 +00801AH 00801AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?69 +00801BH 00801BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?71 +00801CH 00801CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?73 +00801DH 00801DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?0 +00801EH 00802FH 000012H --- --- **GAP** +008030H 008030H 000001H BYTE OFFS.. XDATA ?XD?MAIN?43 +008031H 008031H 000001H BYTE OFFS.. XDATA ?XD?MAIN?44 +008032H 008032H 000001H BYTE OFFS.. XDATA ?XD?MAIN?38 +008033H 008033H 000001H BYTE OFFS.. XDATA ?XD?MAIN?29 +008034H 008034H 000001H BYTE OFFS.. XDATA ?XD?MAIN?26 +008035H 00804FH 00001BH --- --- **GAP** +008050H 008050H 000001H BYTE OFFS.. XDATA ?XD?MAIN?21 +008051H 008051H 000001H BYTE OFFS.. XDATA ?XD?MAIN?12 +008052H 008052H 000001H BYTE OFFS.. XDATA ?XD?MAIN?23 +008053H 008053H 000001H BYTE OFFS.. XDATA ?XD?MAIN?13 +008054H 008054H 000001H BYTE OFFS.. XDATA ?XD?MAIN?24 +008055H 008055H 000001H BYTE OFFS.. XDATA ?XD?MAIN?15 +008056H 008056H 000001H BYTE OFFS.. XDATA ?XD?MAIN?25 +008057H 008057H 000001H BYTE OFFS.. XDATA ?XD?MAIN?18 +008058H 008058H 000001H BYTE OFFS.. XDATA ?XD?MAIN?27 +008059H 008059H 000001H BYTE OFFS.. XDATA ?XD?MAIN?20 +00805AH 00805AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?28 +00805BH 00805BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?22 +00805CH 00805CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?36 +00805DH 00805DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?34 +00805EH 00805FH 000002H --- --- **GAP** +008060H 008060H 000001H BYTE OFFS.. XDATA ?XD?MAIN?35 +008061H 008061H 000001H BYTE OFFS.. XDATA ?XD?MAIN?33 +008062H 0080FFH 00009EH --- --- **GAP** +008100H 008100H 000001H BYTE OFFS.. XDATA ?XD?MAIN?6 +008101H 008101H 000001H BYTE OFFS.. XDATA ?XD?MAIN?17 +008102H 008102H 000001H BYTE OFFS.. XDATA ?XD?MAIN?2 +008103H 008103H 000001H BYTE OFFS.. XDATA ?XD?MAIN?5 +008104H 008104H 000001H --- --- **GAP** +008105H 008105H 000001H BYTE OFFS.. XDATA ?XD?MAIN?30 +008106H 008106H 000001H BYTE OFFS.. XDATA ?XD?MAIN?39 +008107H 008107H 000001H BYTE OFFS.. XDATA ?XD?MAIN?16 +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 +008109H 008109H 000001H BYTE OFFS.. XDATA ?XD?MAIN?65 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 4 + + +00810AH 00810AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?3 +00810BH 00810BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?10 +00810CH 00810CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?8 +00810DH 00810DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?11 +00810EH 00810EH 000001H BYTE OFFS.. XDATA ?XD?MAIN?9 +00810FH 00810FH 000001H BYTE OFFS.. XDATA ?XD?MAIN?4 +008110H 008110H 000001H BYTE OFFS.. XDATA ?XD?MAIN?37 +008111H 008111H 000001H BYTE OFFS.. XDATA ?XD?MAIN?40 +008112H 008112H 000001H BYTE OFFS.. XDATA ?XD?MAIN?19 +008113H 00811FH 00000DH --- --- **GAP** +008120H 008120H 000001H BYTE OFFS.. XDATA ?XD?MAIN?47 +008121H 008121H 000001H BYTE OFFS.. XDATA ?XD?MAIN?48 +008122H 008122H 000001H BYTE OFFS.. XDATA ?XD?MAIN?49 +008123H 008123H 000001H BYTE OFFS.. XDATA ?XD?MAIN?51 +008124H 008124H 000001H BYTE OFFS.. XDATA ?XD?MAIN?54 +008125H 008125H 000001H BYTE OFFS.. XDATA ?XD?MAIN?57 +008126H 008126H 000001H BYTE OFFS.. XDATA ?XD?MAIN?60 +008127H 008127H 000001H BYTE OFFS.. XDATA ?XD?MAIN?64 +008128H 008137H 000010H --- --- **GAP** +008138H 008138H 000001H BYTE OFFS.. XDATA ?XD?MAIN?50 +008139H 008139H 000001H BYTE OFFS.. XDATA ?XD?MAIN?53 +00813AH 00813AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?56 +00813BH 00813BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?59 +00813CH 00813CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?63 +00813DH 00813DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?68 +00813EH 00FBFFH 007AC2H --- --- **GAP** +00FC00H 00FC00H 000001H BYTE OFFS.. XDATA ?XD?MAIN?46 +00FC01H 00FC01H 000001H BYTE OFFS.. XDATA ?XD?MAIN?42 +00FC02H 00FC02H 000001H BYTE OFFS.. XDATA ?XD?MAIN?45 +00FC03H 00FC03H 000001H BYTE OFFS.. XDATA ?XD?MAIN?14 +00FC04H 00FC04H 000001H BYTE OFFS.. XDATA ?XD?MAIN?41 +00FC05H 00FC05H 000001H BYTE OFFS.. XDATA ?XD?MAIN?32 +00FC06H 00FC06H 000001H BYTE OFFS.. XDATA ?XD?MAIN?31 +00FC07H 00FC0CH 000006H --- --- **GAP** +00FC0DH 00FC0DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?7 + +* * * * * * * * * R E M O V E D S E G M E N T S * * * * * * * * + *DEL*: 00000CH BYTE UNIT CODE ?PR?SYS_CLK_SET_IRCH?SYSTEM_CLOCK + *DEL*: 00000EH BYTE UNIT CODE ?PR?SYS_CLK_SET_IRCL?SYSTEM_CLOCK + *DEL*: 000037H BYTE UNIT CODE ?PR?TS_BASELINEFORCEUPDATE?TS_SEVICE + *DEL*: 000001H BYTE UNIT DATA ?DT?TS_BASELINEFORCEUPDATE?TS_SEVICE + *DEL*: 000239H BYTE UNIT CODE ?PR?_SLIDERTOUCHJUDGE?TS_SEVICE + *DEL*: 000014H BYTE UNIT DATA ?DT?_SLIDERTOUCHJUDGE?TS_SEVICE + + + +OVERLAY MAP OF MODULE: .\hex\ca51fx (MAIN) + + +FUNCTION/MODULE BIT_GROUP DATA_GROUP XDATA_GROUP +--> CALLED FUNCTION/MODULE START STOP START STOP START STOP +============================================================================= +INT2_HANDLER/INTERRUPT ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +INT3_ISR/INTERRUPT ----- ----- ----- ----- ----- ----- + +--> ?PR?TS_MS_ISR?TS_API + +--> ?PR?TS_HS_ISR?TS_API + +--> ?PR?TS_ISR?TS_API + +TS_MS_ISR/TS_API ----- ----- ----- ----- ----- ----- + +--> ?PR?TS_API + +TS_API ----- ----- ----- ----- ----- ----- + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 5 + + + +--> ?CO?TS_API + +?CO?TS_API ----- ----- ----- ----- ----- ----- + +TS_HS_ISR/TS_API ----- ----- ----- ----- ----- ----- + +--> ?PR?TS_API + +TS_ISR/TS_API ----- ----- 0021H 002CH ----- ----- + +--> ?PR?TS_API + +--> ?PR?TS_SCANSTART?TS_SEVICE + +TS_SCANSTART/TS_SEVICE ----- ----- ----- ----- ----- ----- + +--> ?PR?_TS_SETCHANNEL?TS_SEVICE + +_TS_SETCHANNEL/TS_SEVICE ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +INT4_ISR/INTERRUPT ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +?C_C51STARTUP ----- ----- ----- ----- ----- ----- + +--> ?PR?MAIN?MAIN + +--> ?C_INITSEG + +MAIN/MAIN ----- ----- 002DH 0030H ----- ----- + +--> ?PR?TS_INIT?TS_API + +--> ?PR?READ_32BIT_UID?MAIN + +--> ?PR?TS_ACTION?TS_API + +--> ?PR?_RF_SEND?RF_SEND + +TS_INIT/TS_API ----- ----- ----- ----- ----- ----- + +--> ?CO?TS_API + +--> ?PR?TS_IO_INIT?TS_SEVICE + +--> ?PR?TS_API + +TS_IO_INIT/TS_SEVICE ----- ----- ----- ----- ----- ----- + +--> ?CO?TS_SEVICE + +?CO?TS_SEVICE ----- ----- ----- ----- ----- ----- + +READ_32BIT_UID/MAIN ----- ----- 0031H 0034H ----- ----- + +--> ?PR?MAIN + +MAIN ----- ----- ----- ----- ----- ----- + +TS_ACTION/TS_API ----- ----- ----- ----- ----- ----- + +--> ?PR?TS_RUNINIT?TS_API + +--> ?PR?TS_DATAFILTERING?TS_API + +--> ?PR?TSKEY_DATADEAL?TS_API + +--> ?PR?TS_WHEELSLIDERDEAL?TS_API + +--> ?PR?TS_API + +--> ?PR?_DELAY_MS?DELAY + +--> ?PR?TS_ENTERSLEEPMODE?TS_API + +--> ?PR?TS_INIT?TS_API + +--> ?PR?TS_GETKEY?TS_API + +TS_RUNINIT/TS_API ----- ----- 0031H 0031H ----- ----- + +--> ?PR?TS_SCANSTART?TS_SEVICE + +--> ?PR?TS_API + +--> ?CO?TS_API + +--> ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 6 + + + +--> ?CO?TS_API + +TS_DATAFILTERING/TS_API ----- ----- 0031H 0037H ----- ----- + +--> ?PR?TS_API + +TSKEY_DATADEAL/TS_API ----- ----- 0031H 0033H ----- ----- + +--> ?PR?TS_API + +--> ?CO?TS_API + +--> ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE + +--> ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE + +--> ?PR?_TS_GETDATAAREA?TS_SEVICE + +_TS_AREADEVIATEDETECTION/TS_SEVICE ----- ----- ----- ----- ----- ----- + +_TS_GETDATAAREA/TS_SEVICE 20H.6 20H.6 0034H 0035H ----- ----- + +--> ?PR?TS_SEVICE + +TS_SEVICE ----- ----- ----- ----- ----- ----- + +--> ?CO?TS_API + +TS_WHEELSLIDERDEAL/TS_API 20H.6 20H.6 0031H 0034H ----- ----- + +--> ?PR?_SETWHEELSLIDERREFCH?TS_SEVICE + +--> ?PR?TS_API + +--> ?PR?_WHEELTOUCHJUDGE?TS_SEVICE + +_SETWHEELSLIDERREFCH/TS_SEVICE ----- ----- 0035H 0036H ----- ----- + +--> ?PR?TS_SEVICE + +_WHEELTOUCHJUDGE/TS_SEVICE 20H.7 20H.7 0035H 0048H ----- ----- + +--> ?PR?TS_SEVICE + +_DELAY_MS/DELAY ----- ----- ----- ----- ----- ----- + +--> ?PR?_DELAY_50US?DELAY + +_DELAY_50US/DELAY ----- ----- ----- ----- ----- ----- + +TS_ENTERSLEEPMODE/TS_API ----- ----- 0031H 0033H 0128H 0157H + +--> ?PR?TS_SLEEPSCANSTART?TS_API + +--> ?PR?TS_API + +--> ?PR?_DELAY_50US?DELAY + +--> ?PR?TS_SCANSTART?TS_SEVICE + +TS_SLEEPSCANSTART/TS_API ----- ----- 0034H 0034H ----- ----- + +--> ?PR?TS_API + +--> ?PR?_TS_SETCHANNEL?TS_SEVICE + +TS_GETKEY/TS_API ----- ----- ----- ----- ----- ----- + +--> ?CO?TS_API + +--> ?PR?_HEX2CHARPRINT?TS_API + +_HEX2CHARPRINT/TS_API ----- ----- 0031H 0034H ----- ----- + +_RF_SEND/RF_SEND ----- ----- 0031H 0031H ----- ----- + +--> ?PR?_DELAY_50US?DELAY + +--> ?PR?_DELAY_MS?DELAY + +--> ?PR?_SEND_8BIT?RF_SEND + +_SEND_8BIT/RF_SEND ----- ----- 0032H 0033H ----- ----- + +--> ?PR?_DELAY_50US?DELAY + +?C_INITSEG ----- ----- ----- ----- ----- ----- + + + +PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx (MAIN) + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 7 + + + + + VALUE CLASS TYPE PUBLIC SYMBOL NAME + ================================================= + 00000020H.6 BIT BIT ?_TS_GetDataArea?BIT + 01000243H CODE --- ?C?CCASE + 00000000H NUMBER --- ?C?CODESEG + 01000036H CODE --- ?C?CSTPTR + 010000E5H CODE --- ?C?IILDX + 01000048H CODE --- ?C?IMUL + 01000269H CODE --- ?C?LIMUL + 010000FBH CODE --- ?C?LMUL + 0100022BH CODE --- ?C?OFFXADD + 01000237H CODE --- ?C?PLDCODE + 010000AFH CODE --- ?C?SIDIV + 0100005AH CODE --- ?C?UIDIV + 01000186H CODE --- ?C?ULDIV + 01000218H CODE --- ?C?ULSHR + 00000000H NUMBER --- ?C?XDATASEG + 0100100BH CODE --- ?C_START + 01000000H CODE --- ?C_STARTUP + 010014D0H CODE --- _Delay_50us + 01000003H CODE --- _Delay_ms + 01001479H CODE --- _Hex2CharPrint + 010013BFH CODE --- _RF_send + 010012E3H CODE --- _send_8bit + 01001268H CODE --- _SetWheelSliderRefCh +*DEL*:00000000H CODE --- _SliderTouchJudge + 010014E6H CODE --- _TS_AreaConfirmTimerSet + 0100141FH CODE --- _TS_AreaDeviateDetection + 010011BBH CODE --- _TS_GetDataArea + 0100131CH CODE --- _TS_SetChannel + 01000296H CODE --- _WheelTouchJudge +*SFR* 000000D0H.6 DATA BIT AC +*SFR* 000000E0H DATA BYTE ACC + 0000000EH DATA BYTE ActiveTouchType +*SFR* 000000DEH DATA BYTE AK0CON +*SFR* 000000DFH DATA BYTE AK1CON + 0100153AH CONST --- AREA_CONFIRM_TIME_TAB +*SFR* 000000F4H DATA BYTE ATK0CH +*SFR* 000000F3H DATA BYTE ATK0CL + 02008051H XDATA BYTE ATK0NH + 02008050H XDATA BYTE ATK0NL +*SFR* 000000F6H DATA BYTE ATK1CH +*SFR* 000000F5H DATA BYTE ATK1CL + 02008053H XDATA BYTE ATK1NH + 02008052H XDATA BYTE ATK1NL +*SFR* 000000E9H DATA BYTE ATK2CH +*SFR* 000000F7H DATA BYTE ATK2CL + 02008055H XDATA BYTE ATK2NH + 02008054H XDATA BYTE ATK2NL +*SFR* 000000EBH DATA BYTE ATK3CH +*SFR* 000000EAH DATA BYTE ATK3CL + 02008057H XDATA BYTE ATK3NH + 02008056H XDATA BYTE ATK3NL +*SFR* 000000EDH DATA BYTE ATK4CH +*SFR* 000000ECH DATA BYTE ATK4CL + 02008059H XDATA BYTE ATK4NH + 02008058H XDATA BYTE ATK4NL +*SFR* 000000EFH DATA BYTE ATK5CH +*SFR* 000000EEH DATA BYTE ATK5CL + 0200805BH XDATA BYTE ATK5NH + 0200805AH XDATA BYTE ATK5NL +*SFR* 000000F0H DATA BYTE B + 02008030H XDATA BYTE CKCON + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 8 + + + 02008031H XDATA BYTE CKDIV +*SFR* 000000D0H.7 DATA BIT CY + 00000015H DATA BYTE D0 + 00000016H DATA BYTE D1 +*SFR* 00000083H DATA BYTE DP0H +*SFR* 00000082H DATA BYTE DP0L +*SFR* 00000085H DATA BYTE DP1H +*SFR* 00000084H DATA BYTE DP1L +*SFR* 000000D0H.1 DATA BIT DPS +*SFR* 000000A8H.7 DATA BIT EA + 020000FBH XDATA BYTE EnterStopScanTimer +*SFR* 000000D1H DATA BYTE EP0CON +*SFR* 000000D2H DATA BYTE EP1CON +*SFR* 000000D3H DATA BYTE EP2CON +*SFR* 000000D4H DATA BYTE EPIF +*SFR* 000000A8H.4 DATA BIT ES0 +*SFR* 000000A8H.1 DATA BIT ET0 +*SFR* 000000A8H.3 DATA BIT ET1 +*SFR* 000000A8H DATA BIT EX0 +*SFR* 000000A8H.2 DATA BIT EX1 +*SFR* 000000D0H.5 DATA BIT F0 + 00000017H DATA BYTE flagSend + 0200FC01H XDATA BYTE FSCMD + 0200FC02H XDATA BYTE FSDAT +*SFR* 000000C2H DATA BYTE I2CADM +*SFR* 000000C1H DATA BYTE I2CADR +*SFR* 000000C0H DATA BYTE I2CCON +*SFR* 000000C3H DATA BYTE I2CCR +*SFR* 000000C4H DATA BYTE I2CDAT +*SFR* 000000C6H DATA BYTE I2CFLG + 02008101H XDATA BYTE I2CIOS +*SFR* 000000C5H DATA BYTE I2CSTA + 0000001AH IDATA WORD ID +*SFR* 0000008EH DATA BYTE IDLST +*SFR* 000000A8H DATA BYTE IE +*SFR* 00000088H.1 DATA BIT IE0 +*SFR* 00000088H.3 DATA BIT IE1 + 02008032H XDATA BYTE IHCFG + 02008034H XDATA BYTE ILCFGH + 02008033H XDATA BYTE ILCFGL + 0100001EH CODE --- INT2_Handler + 010010D5H CODE --- INT3_ISR +*SFR* 000000A8H.5 DATA BIT INT3EN + 0100001FH CODE --- INT4_ISR +*SFR* 000000A8H.6 DATA BIT INT4EN +*SFR* 000000B8H DATA BYTE IP +*SFR* 00000088H DATA BIT IT0 +*SFR* 00000088H.2 DATA BIT IT1 + 020000FEH XDATA BYTE KeysFlagSN +*SFR* 000000D7H DATA BYTE LEDAT0 +*SFR* 000000C7H DATA BYTE LEDAT1 + 02008061H XDATA BYTE LEDUTH + 02008060H XDATA BYTE LEDUTL +*SFR* 000000CFH DATA BYTE LEDWTMH +*SFR* 000000CEH DATA BYTE LEDWTML +*SFR* 000000BFH DATA BYTE LEFLG + 0200FC03H XDATA BYTE LOCK + 02008105H XDATA BYTE LVDCFG +*SFR* 000000E8H DATA BYTE LVDCON + 01000CB8H CODE --- main + 02000126H XDATA BYTE MainLoopCnt1 + 02000127H XDATA BYTE MainLoopCnt2 + 01001532H CONST --- MASK_TAB + 0200FC00H XDATA BYTE MECON + 0200FC0DH XDATA BYTE MEMPTEC + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 9 + + +*SFR* 000000D0H.2 DATA BIT OV +*SFR* 000000D0H DATA BIT P +*SFR* 00000080H DATA BYTE P0 +*SFR* 00000080H DATA BIT P00 + 02008120H XDATA BYTE P00C + 02008000H XDATA BYTE P00F +*SFR* 00000080H.1 DATA BIT P01 + 02008121H XDATA BYTE P01C + 02008001H XDATA BYTE P01F +*SFR* 00000080H.2 DATA BIT P02 + 02008122H XDATA BYTE P02C + 02008002H XDATA BYTE P02F +*SFR* 00000080H.3 DATA BIT P03 + 02008123H XDATA BYTE P03C + 02008003H XDATA BYTE P03F +*SFR* 00000080H.4 DATA BIT P04 + 02008124H XDATA BYTE P04C + 02008004H XDATA BYTE P04F +*SFR* 00000080H.5 DATA BIT P05 + 02008125H XDATA BYTE P05C + 02008005H XDATA BYTE P05F +*SFR* 00000080H.6 DATA BIT P06 + 02008126H XDATA BYTE P06C + 02008006H XDATA BYTE P06F +*SFR* 00000080H.7 DATA BIT P07 + 02008127H XDATA BYTE P07C + 02008007H XDATA BYTE P07F +*SFR* 000000B0H DATA BYTE P3 +*SFR* 000000B0H DATA BIT P30 + 02008138H XDATA BYTE P30C + 02008018H XDATA BYTE P30F +*SFR* 000000B0H.1 DATA BIT P31 + 02008139H XDATA BYTE P31C + 02008019H XDATA BYTE P31F +*SFR* 000000B0H.2 DATA BIT P32 + 0200813AH XDATA BYTE P32C + 0200801AH XDATA BYTE P32F +*SFR* 000000B0H.3 DATA BIT P33 + 0200813BH XDATA BYTE P33C + 0200801BH XDATA BYTE P33F +*SFR* 000000B0H.4 DATA BIT P34 + 0200813CH XDATA BYTE P34C + 0200801CH XDATA BYTE P34F +*SFR* 000000B0H.5 DATA BIT P35 + 0200813DH XDATA BYTE P35C + 0200801DH XDATA BYTE P35F + 0200FC04H XDATA BYTE PADRD +*SFR* 00000087H DATA BYTE PCON +*SFR* 000000B0H.2 DATA BIT Pin_rf + 00000058H IDATA BYTE PreKeysFlagSN +*SFR* 000000B8H.4 DATA BIT PS0 +*SFR* 000000B8H.6 DATA BIT PS1 +*SFR* 000000D0H DATA BYTE PSW +*SFR* 000000B8H.1 DATA BIT PT0 +*SFR* 000000B8H.3 DATA BIT PT1 +*SFR* 000000B8H.5 DATA BIT PT2 + 0200FC06H XDATA BYTE PTSH + 0200FC05H XDATA BYTE PTSL +*SFR* 00000086H DATA BYTE PWCON +*SFR* 000000B1H DATA BYTE PWM0CKD +*SFR* 000000B9H DATA BYTE PWM0CON +*SFR* 000000AAH DATA BYTE PWM0DIVH +*SFR* 000000A9H DATA BYTE PWM0DIVL +*SFR* 0000009CH DATA BYTE PWM0DUTH +*SFR* 0000009BH DATA BYTE PWM0DUTL + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 10 + + +*SFR* 000000B2H DATA BYTE PWM1CKD +*SFR* 000000BAH DATA BYTE PWM1CON +*SFR* 000000ACH DATA BYTE PWM1DIVH +*SFR* 000000ABH DATA BYTE PWM1DIVL +*SFR* 0000009EH DATA BYTE PWM1DUTH +*SFR* 0000009DH DATA BYTE PWM1DUTL +*SFR* 000000B3H DATA BYTE PWM2CKD +*SFR* 000000BBH DATA BYTE PWM2CON +*SFR* 000000AEH DATA BYTE PWM2DIVH +*SFR* 000000ADH DATA BYTE PWM2DIVL +*SFR* 00000091H DATA BYTE PWM2DUTH +*SFR* 0000009FH DATA BYTE PWM2DUTL +*SFR* 000000B4H DATA BYTE PWM3CKD +*SFR* 000000BCH DATA BYTE PWM3CON +*SFR* 000000A4H DATA BYTE PWM3DIVH +*SFR* 000000AFH DATA BYTE PWM3DIVL +*SFR* 00000093H DATA BYTE PWM3DUTH +*SFR* 00000092H DATA BYTE PWM3DUTL +*SFR* 000000B5H DATA BYTE PWM4CKD +*SFR* 000000BDH DATA BYTE PWM4CON +*SFR* 000000A6H DATA BYTE PWM4DIVH +*SFR* 000000A5H DATA BYTE PWM4DIVL +*SFR* 00000095H DATA BYTE PWM4DUTH +*SFR* 00000094H DATA BYTE PWM4DUTL +*SFR* 000000B6H DATA BYTE PWM5CKD +*SFR* 000000BEH DATA BYTE PWM5CON +*SFR* 0000009AH DATA BYTE PWM5DIVH +*SFR* 000000A7H DATA BYTE PWM5DIVL +*SFR* 00000097H DATA BYTE PWM5DUTH +*SFR* 00000096H DATA BYTE PWM5DUTL +*SFR* 00000090H DATA BYTE PWMEN +*SFR* 000000B7H DATA BYTE PWMIF +*SFR* 000000B8H DATA BIT PX0 +*SFR* 000000B8H.2 DATA BIT PX1 + 0100154CH CONST --- pXSFR +*SFR* 00000098H.2 DATA BIT RB8 + 010012A9H CODE --- Read_32bit_UID +*SFR* 00000098H.4 DATA BIT REN + 00000014H DATA BYTE RF_Time +*SFR* 00000098H DATA BIT RI0 +*SFR* 000000D0H.3 DATA BIT RS0 +*SFR* 000000D0H.4 DATA BIT RS1 +*SFR* 00000099H DATA BYTE S0BUF +*SFR* 00000098H DATA BYTE S0CON +*SFR* 00000098H.7 DATA BIT SM0 +*SFR* 00000098H.6 DATA BIT SM1 +*SFR* 00000098H.5 DATA BIT SM2 +*SFR* 00000081H DATA BYTE SP + 02008100H XDATA BYTE SPMAX +*SFR* 0000008FH DATA BYTE STPST +*DEL*:00000000H CODE --- Sys_Clk_Set_IRCH +*DEL*:00000000H CODE --- Sys_Clk_Set_IRCL +*SFR* 000000CBH DATA BYTE T2CH +*SFR* 000000CAH DATA BYTE T2CL +*SFR* 000000C8H DATA BYTE T2CON +*SFR* 000000C8H.3 DATA BIT T2IE +*SFR* 000000C9H DATA BYTE T2MOD +*SFR* 000000C8H DATA BIT T2P0 +*SFR* 000000C8H.1 DATA BIT T2P1 +*SFR* 000000C8H.4 DATA BIT T2R0 +*SFR* 000000C8H.5 DATA BIT T2R1 +*SFR* 00000098H.3 DATA BIT TB8 +*SFR* 00000088H DATA BYTE TCON +*SFR* 00000088H.5 DATA BIT TF0 +*SFR* 00000088H.7 DATA BIT TF1 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 11 + + +*SFR* 000000C8H.7 DATA BIT TF2 +*SFR* 0000008CH DATA BYTE TH0 +*SFR* 0000008DH DATA BYTE TH1 +*SFR* 000000CDH DATA BYTE TH2 +*SFR* 00000098H.1 DATA BIT TI0 +*SFR* 000000FCH DATA BYTE TK0CHS +*SFR* 000000E2H DATA BYTE TK0MSH +*SFR* 000000E1H DATA BYTE TK0MSL +*SFR* 000000FDH DATA BYTE TK1CHS +*SFR* 000000E4H DATA BYTE TK1MSH +*SFR* 000000E3H DATA BYTE TK1MSL +*SFR* 000000FEH DATA BYTE TK2CHS +*SFR* 000000E6H DATA BYTE TK2MSH +*SFR* 000000E5H DATA BYTE TK2MSL +*SFR* 000000FFH DATA BYTE TK3CHS +*SFR* 000000D9H DATA BYTE TK3MSH +*SFR* 000000E7H DATA BYTE TK3MSL +*SFR* 000000F1H DATA BYTE TK4CHS +*SFR* 000000DBH DATA BYTE TK4MSH +*SFR* 000000DAH DATA BYTE TK4MSL +*SFR* 000000F2H DATA BYTE TK5CHS +*SFR* 000000DDH DATA BYTE TK5MSH +*SFR* 000000DCH DATA BYTE TK5MSL + 0000000DH DATA BYTE TK_State +*SFR* 000000F9H DATA BYTE TKCFG + 02008102H XDATA BYTE TKCKS +*SFR* 000000F8H DATA BYTE TKCON +*SFR* 000000FBH DATA BYTE TKIF + 0200805CH XDATA BYTE TKMAXF + 0200805DH XDATA BYTE TKMINF +*SFR* 000000FAH DATA BYTE TKMTS + 02008103H XDATA BYTE TKPWC +*SFR* 0000008AH DATA BYTE TL0 +*SFR* 0000008BH DATA BYTE TL1 +*SFR* 000000CCH DATA BYTE TL2 + 0200810AH XDATA BYTE TLCKS + 0200810CH XDATA BYTE TLCNTKH + 0200810BH XDATA BYTE TLCNTKL + 0200810EH XDATA BYTE TLCNTLH + 0200810DH XDATA BYTE TLCNTLL + 02008110H XDATA BYTE TLCOMS + 02008108H XDATA BYTE TLCON + 02008107H XDATA BYTE TLDAT0 + 02008112H XDATA BYTE TLDAT1 + 0200810FH XDATA BYTE TLDIV + 02008106H XDATA BYTE TLEN0 + 02008111H XDATA BYTE TLEN1 + 02008109H XDATA BYTE TLFLG +*SFR* 000000D5H DATA BYTE TMCON +*SFR* 00000089H DATA BYTE TMOD +*SFR* 000000D6H DATA BYTE TMSNU +*SFR* 00000088H.4 DATA BIT TR0 +*SFR* 00000088H.6 DATA BIT TR1 +*SFR* 000000C8H.6 DATA BIT TR2 + 01001153H CODE --- TS_Action + 02000116H XDATA --- TS_AreaConfirmTimer + 0000000FH DATA BYTE TS_BaseCh + 0200001AH XDATA --- TS_BaseLineData +*DEL*:00000000H CODE --- TS_BaseLineForceUpdate + 0000004AH IDATA --- TS_CH + 00000056H IDATA BYTE TS_Cnt + 00000020H.1 BIT BIT TS_CycleScanDoneFlag + 01000E5FH CODE --- TS_DataFiltering + 010006B3H CODE --- TS_EnterSleepMode + 02000032H XDATA --- TS_FilterBuf + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 12 + + + 02000101H XDATA --- TS_FilterPosIdx + 02000002H XDATA --- TS_FirstAreaData + 01000F23H CODE --- TS_GetKey + 02000100H XDATA BYTE TS_HalfSecCnt + 0100138AH CODE --- TS_HS_ISR + 0000000CH DATA BYTE TS_Index + 01001050H CODE --- TS_init + 020000B4H XDATA BYTE TS_Init_Step + 010013F0H CODE --- TS_IO_init + 01000D98H CODE --- TS_ISR + 00000010H DATA WORD TS_Key + 0100150AH CONST --- TS_KEY_CH_INFO_SEQ + 0100153FH CONST --- TS_KEY_TAB + 00000012H DATA WORD TS_LongKeyTimer + 01001354H CODE --- TS_MS_ISR + 020000B6H XDATA --- TS_PostData + 020000D1H XDATA --- TS_RawData + 00000057H IDATA BYTE TS_RefCHBaseLineAdjuTimer + 01000BD3H CODE --- TS_RunInit + 0100121AH CODE --- TS_ScanStart + 00000020H.3 BIT BIT TS_SleepEn + 00000020H.2 BIT BIT TS_SleepMode + 010014A5H CODE --- TS_SleepScanStart + 00000020H.5 BIT BIT TS_StableFlag + 00000049H IDATA BYTE TS_State + 0100152AH CONST --- TS_WHEEL_SLIDER_CH_SEQ + 010004ACH CODE --- TS_WheelSliderDeal + 01000863H CODE --- TSKey_DataDeal + 020000EBH XDATA --- TSKey_FingerThd + 0200010EH XDATA --- TSKey_LongTouchLimitTimer + 02000001H XDATA BYTE TSWheelSlider_LongTouchLimitTimer + 020000FFH XDATA BYTE TSWheelSlider_TouchConfirmTimer +*SFR* 000000C8H.2 DATA BIT UCKS +*SFR* 000000D8H DATA BYTE UDCKS + 00000018H DATA BYTE valueSend + 00000020H.4 BIT BIT W_S_RefChSet +*SFR* 000000A0H DATA BYTE WDCON +*SFR* 000000A1H DATA BYTE WDFLG +*SFR* 000000A3H DATA BYTE WDVTHH +*SFR* 000000A2H DATA BYTE WDVTHL + 0100152EH CONST --- WHEEL_SLIDER0_MAX_MIN_TAB + 02000124H XDATA WORD WheelSliderCapRateFilter + 020000D0H XDATA BYTE WheelSliderMaxIdx + 020000FCH XDATA INT WheelSliderPosition + 020000B5H XDATA BYTE WheelSliderRefCh + 02000123H XDATA BYTE WheelSliderState + 02000122H XDATA BYTE WheelSliderTouchFlag + + + +SYMBOL TABLE OF MODULE: .\hex\ca51fx (MAIN) + + VALUE REP CLASS TYPE SYMBOL NAME + ==================================================== + --- MODULE --- --- MAIN + 02008007H PUBLIC XDATA BYTE P07F + 0200801CH PUBLIC XDATA BYTE P34F + 02008006H PUBLIC XDATA BYTE P06F + 0200801BH PUBLIC XDATA BYTE P33F + 02008005H PUBLIC XDATA BYTE P05F + 0200801AH PUBLIC XDATA BYTE P32F + 0200813DH PUBLIC XDATA BYTE P35C + 02008004H PUBLIC XDATA BYTE P04F + 02008019H PUBLIC XDATA BYTE P31F + 02008109H PUBLIC XDATA BYTE TLFLG + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 13 + + + 02008127H PUBLIC XDATA BYTE P07C + 0200813CH PUBLIC XDATA BYTE P34C + 02008003H PUBLIC XDATA BYTE P03F + 02008018H PUBLIC XDATA BYTE P30F + 02008126H PUBLIC XDATA BYTE P06C + 0200813BH PUBLIC XDATA BYTE P33C + 02008002H PUBLIC XDATA BYTE P02F + 02008125H PUBLIC XDATA BYTE P05C + 0200813AH PUBLIC XDATA BYTE P32C + 02008001H PUBLIC XDATA BYTE P01F + 02008124H PUBLIC XDATA BYTE P04C + 02008139H PUBLIC XDATA BYTE P31C + 02008000H PUBLIC XDATA BYTE P00F + 02008123H PUBLIC XDATA BYTE P03C + 02008138H PUBLIC XDATA BYTE P30C + 02008122H PUBLIC XDATA BYTE P02C + 02008121H PUBLIC XDATA BYTE P01C + 02008120H PUBLIC XDATA BYTE P00C + 0200FC00H PUBLIC XDATA BYTE MECON + 0200FC02H PUBLIC XDATA BYTE FSDAT + 02008031H PUBLIC XDATA BYTE CKDIV + 02008030H PUBLIC XDATA BYTE CKCON + 0200FC01H PUBLIC XDATA BYTE FSCMD + 0200FC04H PUBLIC XDATA BYTE PADRD + 02008111H PUBLIC XDATA BYTE TLEN1 + 02008106H PUBLIC XDATA BYTE TLEN0 + 02008032H PUBLIC XDATA BYTE IHCFG + 02008110H PUBLIC XDATA BYTE TLCOMS + 0200805CH PUBLIC XDATA BYTE TKMAXF + 02008060H PUBLIC XDATA BYTE LEDUTL + 0200805DH PUBLIC XDATA BYTE TKMINF + 02008061H PUBLIC XDATA BYTE LEDUTH + 0200FC05H PUBLIC XDATA BYTE PTSL + 0200FC06H PUBLIC XDATA BYTE PTSH + 02008105H PUBLIC XDATA BYTE LVDCFG + 02008033H PUBLIC XDATA BYTE ILCFGL + 0200805AH PUBLIC XDATA BYTE ATK5NL + 02008058H PUBLIC XDATA BYTE ATK4NL + 02008034H PUBLIC XDATA BYTE ILCFGH + 02008056H PUBLIC XDATA BYTE ATK3NL + 02008054H PUBLIC XDATA BYTE ATK2NL + 02008052H PUBLIC XDATA BYTE ATK1NL + 0200805BH PUBLIC XDATA BYTE ATK5NH + 00000018H PUBLIC DATA BYTE valueSend + 02008050H PUBLIC XDATA BYTE ATK0NL + 02008059H PUBLIC XDATA BYTE ATK4NH + 02008112H PUBLIC XDATA BYTE TLDAT1 + 02008057H PUBLIC XDATA BYTE ATK3NH + 02008101H PUBLIC XDATA BYTE I2CIOS + 02008107H PUBLIC XDATA BYTE TLDAT0 + 02008055H PUBLIC XDATA BYTE ATK2NH + 0200FC03H PUBLIC XDATA BYTE LOCK + 02008053H PUBLIC XDATA BYTE ATK1NH + 00000017H PUBLIC DATA BYTE flagSend + 02008051H PUBLIC XDATA BYTE ATK0NH + 0200810DH PUBLIC XDATA BYTE TLCNTLL + 0200810BH PUBLIC XDATA BYTE TLCNTKL + 0200810EH PUBLIC XDATA BYTE TLCNTLH + 0200810CH PUBLIC XDATA BYTE TLCNTKH + 0200FC0DH PUBLIC XDATA BYTE MEMPTEC + 02008100H PUBLIC XDATA BYTE SPMAX + 02008103H PUBLIC XDATA BYTE TKPWC + 0200810FH PUBLIC XDATA BYTE TLDIV + 0200810AH PUBLIC XDATA BYTE TLCKS + 02008102H PUBLIC XDATA BYTE TKCKS + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 14 + + + 02008108H PUBLIC XDATA BYTE TLCON + 0200801DH PUBLIC XDATA BYTE P35F + 01000CB8H PUBLIC CODE --- main + 010012A9H PUBLIC CODE --- Read_32bit_UID + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 15 + + + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 16 + + + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 0100144DH BLOCK CODE --- LVL=0 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 17 + + + --- BLOCKEND --- --- LVL=0 + + 010012A9H BLOCK CODE --- LVL=0 + 010012A9H BLOCK CODE NEAR LAB LVL=1 + 00000031H SYMBOL DATA DWORD ID + --- BLOCKEND --- --- LVL=1 + 010012A9H LINE CODE --- #50 + 010012A9H LINE CODE --- #51 + 010012A9H LINE CODE --- #53 + 010012AFH LINE CODE --- #54 + 010012B4H LINE CODE --- #55 + 010012B8H LINE CODE --- #56 + 010012BEH LINE CODE --- #57 + 010012CAH LINE CODE --- #58 + 010012D0H LINE CODE --- #59 + 010012D3H LINE CODE --- #60 + 010012D3H LINE CODE --- #61 + 010012D6H LINE CODE --- #62 + 010012D6H LINE CODE --- #63 + 010012DBH LINE CODE --- #64 + 010012E0H LINE CODE --- #65 + 010012E2H LINE CODE --- #66 + --- BLOCKEND --- --- LVL=0 + + 01000CB8H BLOCK CODE --- LVL=0 + 01000CB8H BLOCK CODE NEAR LAB LVL=1 + 0000002DH SYMBOL DATA DWORD addr + --- BLOCKEND --- --- LVL=1 + 01000CB8H LINE CODE --- #68 + 01000CB8H LINE CODE --- #69 + 01000CB8H LINE CODE --- #70 + 01000CC1H LINE CODE --- #72 + 01000CC4H LINE CODE --- #80 + 01000CCBH LINE CODE --- #81 + 01000CCEH LINE CODE --- #82 + 01000CD1H LINE CODE --- #83 + 01000CD4H LINE CODE --- #84 + 01000CD7H LINE CODE --- #86 + 01000CD9H LINE CODE --- #88 + 01000CDCH LINE CODE --- #90 + 01000CE2H LINE CODE --- #91 + 01000CE4H LINE CODE --- #93 + 01000CF0H LINE CODE --- #94 + 01000CFBH LINE CODE --- #95 + 01000CFEH LINE CODE --- #96 + 01000CFEH LINE CODE --- #97 + 01000CFEH LINE CODE --- #98 + 01000D01H LINE CODE --- #100 + 01000D10H LINE CODE --- #101 + 01000D10H LINE CODE --- #103 + 01000D13H LINE CODE --- #105 + 01000D1CH LINE CODE --- #106 + 01000D22H LINE CODE --- #107 + 01000D22H LINE CODE --- #109 + 01000D28H LINE CODE --- #110 + 01000D28H LINE CODE --- #111 + 01000D2DH LINE CODE --- #112 + 01000D2FH LINE CODE --- #115 + 01000D2FH LINE CODE --- #116 + 01000D32H LINE CODE --- #117 + 01000D55H LINE CODE --- #118 + 01000D55H LINE CODE --- #120 + 01000D55H LINE CODE --- #121 + 01000D58H LINE CODE --- #122 + 01000D5AH LINE CODE --- #123 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 18 + + + 01000D5AH LINE CODE --- #124 + 01000D5DH LINE CODE --- #125 + 01000D5FH LINE CODE --- #126 + 01000D5FH LINE CODE --- #127 + 01000D62H LINE CODE --- #128 + 01000D64H LINE CODE --- #129 + 01000D64H LINE CODE --- #130 + 01000D67H LINE CODE --- #131 + 01000D69H LINE CODE --- #132 + 01000D69H LINE CODE --- #133 + 01000D6CH LINE CODE --- #134 + 01000D6EH LINE CODE --- #135 + 01000D6EH LINE CODE --- #136 + 01000D71H LINE CODE --- #137 + 01000D73H LINE CODE --- #138 + 01000D73H LINE CODE --- #139 + 01000D76H LINE CODE --- #140 + 01000D78H LINE CODE --- #141 + 01000D78H LINE CODE --- #142 + 01000D7BH LINE CODE --- #143 + 01000D7DH LINE CODE --- #144 + 01000D7DH LINE CODE --- #145 + 01000D80H LINE CODE --- #146 + 01000D80H LINE CODE --- #147 + 01000D80H LINE CODE --- #148 + 01000D80H LINE CODE --- #149 + 01000D80H LINE CODE --- #152 + 01000D87H LINE CODE --- #153 + 01000D87H LINE CODE --- #154 + 01000D8AH LINE CODE --- #155 + 01000D8CH LINE CODE --- #156 + 01000D8EH LINE CODE --- #157 + 01000D93H LINE CODE --- #158 + 01000D95H LINE CODE --- #159 + 01000D95H LINE CODE --- #161 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- DELAY + 01000003H PUBLIC CODE --- _Delay_ms + 010014D0H PUBLIC CODE --- _Delay_50us + + 010014D0H BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD n + 010014D0H BLOCK CODE NEAR LAB LVL=1 + 00000005H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010014D0H LINE CODE --- #4 + 010014D0H LINE CODE --- #5 + 010014D0H LINE CODE --- #7 + 010014DAH LINE CODE --- #8 + 010014DAH LINE CODE --- #9 + 010014E5H LINE CODE --- #10 + 010014E5H LINE CODE --- #11 + --- BLOCKEND --- --- LVL=0 + + 01000003H BLOCK CODE --- LVL=0 + 00000082H SYMBOL DATA WORD delay_nms + 01000003H LINE CODE --- #12 + 01000007H LINE CODE --- #13 + 01000007H LINE CODE --- #14 + 01000014H LINE CODE --- #15 + 01000014H LINE CODE --- #16 + 0100001BH LINE CODE --- #17 + 0100001DH LINE CODE --- #18 + --- BLOCKEND --- --- LVL=0 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 19 + + + + --- MODULE --- --- SYSTEM_CLOCK + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 20 + + + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 21 + + + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + --- MODULE --- --- UART + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 22 + + + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 23 + + + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 24 + + + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + --- MODULE --- --- INTERRUPT + 0100001FH PUBLIC CODE --- INT4_ISR + 010010D5H PUBLIC CODE --- INT3_ISR + 0100001EH PUBLIC CODE --- INT2_Handler + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 25 + + + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 26 + + + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 27 + + + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 0100001EH BLOCK CODE --- LVL=0 + 0100001EH LINE CODE --- #28 + 0100001EH LINE CODE --- #40 + --- BLOCKEND --- --- LVL=0 + + 010010D5H BLOCK CODE --- LVL=0 + 010010F2H BLOCK CODE NEAR LAB LVL=1 + 00000019H SYMBOL DATA BYTE TmCnt + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 28 + + + --- BLOCKEND --- --- LVL=1 + 010010D5H LINE CODE --- #42 + 010010F2H LINE CODE --- #45 + 010010F7H LINE CODE --- #46 + 010010F7H LINE CODE --- #47 + 010010FAH LINE CODE --- #49 + 010010FDH LINE CODE --- #50 + 010010FDH LINE CODE --- #51 + 01001105H LINE CODE --- #53 + 01001105H LINE CODE --- #55 + 01001105H LINE CODE --- #56 + 01001108H LINE CODE --- #57 + 01001108H LINE CODE --- #61 + 0100110EH LINE CODE --- #62 + 0100110EH LINE CODE --- #63 + 01001116H LINE CODE --- #64 + 01001116H LINE CODE --- #65 + 01001118H LINE CODE --- #66 + 0100111FH LINE CODE --- #67 + 0100111FH LINE CODE --- #68 + 01001122H LINE CODE --- #69 + 01001125H LINE CODE --- #70 + 01001125H LINE CODE --- #71 + 0100112EH LINE CODE --- #72 + 0100112EH LINE CODE --- #74 + 01001131H LINE CODE --- #75 + 01001131H LINE CODE --- #77 + 01001131H LINE CODE --- #79 + 01001135H LINE CODE --- #80 + 01001135H LINE CODE --- #81 + 01001138H LINE CODE --- #82 + 01001138H LINE CODE --- #83 + --- BLOCKEND --- --- LVL=0 + + 0100001FH BLOCK CODE --- LVL=0 + 0100001FH LINE CODE --- #84 + 0100001FH LINE CODE --- #92 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- RF_SEND + 00000016H PUBLIC DATA BYTE D1 + 00000015H PUBLIC DATA BYTE D0 + 0000001AH PUBLIC IDATA WORD ID + 00000014H PUBLIC DATA BYTE RF_Time + 010012E3H PUBLIC CODE --- _send_8bit + 010013BFH PUBLIC CODE --- _RF_send + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 29 + + + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 30 + + + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 31 + + + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 000000B0H.2 SFRSYM DATA BIT Pin_rf + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 010013BFH BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE cnt + 010013BFH BLOCK CODE NEAR LAB LVL=1 + 00000031H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010013BFH LINE CODE --- #23 + 010013BFH LINE CODE --- #24 + 010013BFH LINE CODE --- #27 + 010013C8H LINE CODE --- #28 + 010013C8H LINE CODE --- #29 + 010013CAH LINE CODE --- #30 + 010013D1H LINE CODE --- #31 + 010013D3H LINE CODE --- #32 + 010013DAH LINE CODE --- #33 + 010013DCH LINE CODE --- #35 + 010013E1H LINE CODE --- #36 + 010013E6H LINE CODE --- #37 + 010013EBH LINE CODE --- #38 + 010013EFH LINE CODE --- #39 + --- BLOCKEND --- --- LVL=0 + + 010012E3H BLOCK CODE --- LVL=0 + 00000032H SYMBOL DATA BYTE n + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 32 + + + 010012E5H BLOCK CODE NEAR LAB LVL=1 + 00000033H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010012E3H LINE CODE --- #41 + 010012E5H LINE CODE --- #42 + 010012E5H LINE CODE --- #44 + 010012E8H LINE CODE --- #45 + 010012E8H LINE CODE --- #46 + 010012EAH LINE CODE --- #47 + 010012EFH LINE CODE --- #48 + 010012EFH LINE CODE --- #49 + 010012F6H LINE CODE --- #50 + 010012F8H LINE CODE --- #51 + 010012FAH LINE CODE --- #52 + 010012FCH LINE CODE --- #54 + 010012FCH LINE CODE --- #55 + 01001303H LINE CODE --- #56 + 01001305H LINE CODE --- #57 + 0100130CH LINE CODE --- #58 + 0100130CH LINE CODE --- #60 + 01001312H LINE CODE --- #63 + 0100131BH LINE CODE --- #64 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- DEBUG + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 33 + + + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 34 + + + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 35 + + + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + --- MODULE --- --- TS_API + 02000127H PUBLIC XDATA BYTE MainLoopCnt2 + 02000126H PUBLIC XDATA BYTE MainLoopCnt1 + 02000124H PUBLIC XDATA WORD WheelSliderCapRateFilter + 00000058H PUBLIC IDATA BYTE PreKeysFlagSN + 02000123H PUBLIC XDATA BYTE WheelSliderState + 00000020H.5 PUBLIC BIT BIT TS_StableFlag + 02000122H PUBLIC XDATA BYTE WheelSliderTouchFlag + 00000020H.4 PUBLIC BIT BIT W_S_RefChSet + 02000116H PUBLIC XDATA --- TS_AreaConfirmTimer + 0200010EH PUBLIC XDATA --- TSKey_LongTouchLimitTimer + 02000101H PUBLIC XDATA --- TS_FilterPosIdx + 00000012H PUBLIC DATA WORD TS_LongKeyTimer + 02000100H PUBLIC XDATA BYTE TS_HalfSecCnt + 00000057H PUBLIC IDATA BYTE TS_RefCHBaseLineAdjuTimer + 020000FFH PUBLIC XDATA BYTE TSWheelSlider_TouchConfirmTimer + 020000FEH PUBLIC XDATA BYTE KeysFlagSN + 020000FCH PUBLIC XDATA INT WheelSliderPosition + 00000020H.3 PUBLIC BIT BIT TS_SleepEn + 020000FBH PUBLIC XDATA BYTE EnterStopScanTimer + 020000EBH PUBLIC XDATA --- TSKey_FingerThd + 00000010H PUBLIC DATA WORD TS_Key + 0000000FH PUBLIC DATA BYTE TS_BaseCh + 020000D1H PUBLIC XDATA --- TS_RawData + 020000D0H PUBLIC XDATA BYTE WheelSliderMaxIdx + 00000056H PUBLIC IDATA BYTE TS_Cnt + 020000B6H PUBLIC XDATA --- TS_PostData + 020000B5H PUBLIC XDATA BYTE WheelSliderRefCh + 020000B4H PUBLIC XDATA BYTE TS_Init_Step + 0000004AH PUBLIC IDATA --- TS_CH + 02000032H PUBLIC XDATA --- TS_FilterBuf + 0200001AH PUBLIC XDATA --- TS_BaseLineData + 00000049H PUBLIC IDATA BYTE TS_State + 02000002H PUBLIC XDATA --- TS_FirstAreaData + 00000020H.2 PUBLIC BIT BIT TS_SleepMode + 0000000EH PUBLIC DATA BYTE ActiveTouchType + 02000001H PUBLIC XDATA BYTE TSWheelSlider_LongTouchLimitTimer + 00000020H.1 PUBLIC BIT BIT TS_CycleScanDoneFlag + 0000000DH PUBLIC DATA BYTE TK_State + 0000000CH PUBLIC DATA BYTE TS_Index + 0100153FH PUBLIC CONST --- TS_KEY_TAB + 0100153AH PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 01001532H PUBLIC CONST --- MASK_TAB + 0100152EH PUBLIC CONST --- WHEEL_SLIDER0_MAX_MIN_TAB + 0100152AH PUBLIC CONST --- TS_WHEEL_SLIDER_CH_SEQ + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 36 + + + 0100150AH PUBLIC CONST --- TS_KEY_CH_INFO_SEQ + 01000F23H PUBLIC CODE --- TS_GetKey + 01001479H PUBLIC CODE --- _Hex2CharPrint + 010006B3H PUBLIC CODE --- TS_EnterSleepMode + 010014A5H PUBLIC CODE --- TS_SleepScanStart + 01001153H PUBLIC CODE --- TS_Action + 01001050H PUBLIC CODE --- TS_init + 010004ACH PUBLIC CODE --- TS_WheelSliderDeal + 01000863H PUBLIC CODE --- TSKey_DataDeal + 01000BD3H PUBLIC CODE --- TS_RunInit + 01000E5FH PUBLIC CODE --- TS_DataFiltering + 01000D98H PUBLIC CODE --- TS_ISR + 0100138AH PUBLIC CODE --- TS_HS_ISR + 01001354H PUBLIC CODE --- TS_MS_ISR + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 37 + + + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 38 + + + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 39 + + + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 01000AC0H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 01001354H BLOCK CODE --- LVL=0 + 01001354H BLOCK CODE NEAR LAB LVL=1 + 02000000H SYMBOL XDATA BYTE ms_cnt + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 01001354H LINE CODE --- #106 + 01001354H LINE CODE --- #107 + 01001354H LINE CODE --- #111 + 0100135AH LINE CODE --- #112 + 01001360H LINE CODE --- #113 + 01001360H LINE CODE --- #114 + 01001362H LINE CODE --- #115 + 0100136CH LINE CODE --- #116 + 0100136CH LINE CODE --- #117 + 01001375H LINE CODE --- #118 + 01001375H LINE CODE --- #119 + 0100137EH LINE CODE --- #120 + 0100137EH LINE CODE --- #121 + 01001381H LINE CODE --- #123 + 01001387H LINE CODE --- #124 + 01001387H LINE CODE --- #125 + 01001389H LINE CODE --- #126 + 01001389H LINE CODE --- #138 + 01001389H LINE CODE --- #139 + --- BLOCKEND --- --- LVL=0 + + 0100138AH BLOCK CODE --- LVL=0 + 0100138AH BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 0100138AH LINE CODE --- #140 + 0100138AH LINE CODE --- #141 + 0100138AH LINE CODE --- #147 + 01001390H LINE CODE --- #151 + 01001392H LINE CODE --- #152 + 01001392H LINE CODE --- #153 + 0100139BH LINE CODE --- #154 + 0100139BH LINE CODE --- #155 + 010013A4H LINE CODE --- #156 + 010013A4H LINE CODE --- #157 + 010013A8H LINE CODE --- #162 + 010013AEH LINE CODE --- #163 + 010013AEH LINE CODE --- #164 + 010013B0H LINE CODE --- #165 + 010013B0H LINE CODE --- #168 + 010013B5H LINE CODE --- #169 + 010013B5H LINE CODE --- #170 + 010013B6H LINE CODE --- #171 + 010013B6H LINE CODE --- #172 + 010013BCH LINE CODE --- #173 + 010013BCH LINE CODE --- #174 + 010013BEH LINE CODE --- #175 + 010013BEH LINE CODE --- #176 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 40 + + + --- BLOCKEND --- --- LVL=0 + + 01000D98H BLOCK CODE --- LVL=0 + 01000D98H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000021H SYMBOL DATA --- TS_Data + --- BLOCKEND --- --- LVL=1 + 01000D98H LINE CODE --- #177 + 01000D98H LINE CODE --- #178 + 01000D98H LINE CODE --- #188 + 01000DA0H LINE CODE --- #189 + 01000DA0H LINE CODE --- #190 + 01000DA4H LINE CODE --- #191 + 01000DA4H LINE CODE --- #193 + 01000DA9H LINE CODE --- #194 + 01000DA9H LINE CODE --- #195 + 01000DACH LINE CODE --- #196 + 01000DAFH LINE CODE --- #197 + 01000DB2H LINE CODE --- #198 + 01000DB2H LINE CODE --- #199 + 01000DB7H LINE CODE --- #200 + 01000DB7H LINE CODE --- #201 + 01000DBAH LINE CODE --- #202 + 01000DBDH LINE CODE --- #203 + 01000DC0H LINE CODE --- #204 + 01000DC0H LINE CODE --- #205 + 01000DC5H LINE CODE --- #206 + 01000DC5H LINE CODE --- #207 + 01000DC8H LINE CODE --- #208 + 01000DCBH LINE CODE --- #209 + 01000DCEH LINE CODE --- #210 + 01000DCEH LINE CODE --- #211 + 01000DD3H LINE CODE --- #212 + 01000DD3H LINE CODE --- #213 + 01000DD6H LINE CODE --- #214 + 01000DD9H LINE CODE --- #215 + 01000DDCH LINE CODE --- #216 + 01000DDCH LINE CODE --- #217 + 01000DE1H LINE CODE --- #218 + 01000DE1H LINE CODE --- #219 + 01000DE4H LINE CODE --- #220 + 01000DE7H LINE CODE --- #221 + 01000DEAH LINE CODE --- #222 + 01000DEAH LINE CODE --- #223 + 01000DEFH LINE CODE --- #224 + 01000DEFH LINE CODE --- #225 + 01000DF2H LINE CODE --- #226 + 01000DF5H LINE CODE --- #227 + 01000DF8H LINE CODE --- #228 + 01000DF8H LINE CODE --- #230 + 01000DFAH LINE CODE --- #231 + 01000DFAH LINE CODE --- #264 + 01000DFAH LINE CODE --- #266 + 01000E10H LINE CODE --- #270 + 01000E10H LINE CODE --- #271 + 01000E22H LINE CODE --- #272 + 01000E22H LINE CODE --- #273 + 01000E22H LINE CODE --- #274 + 01000E22H LINE CODE --- #276 + 01000E26H LINE CODE --- #294 + 01000E33H LINE CODE --- #295 + 01000E33H LINE CODE --- #297 + 01000E35H LINE CODE --- #311 + 01000E38H LINE CODE --- #312 + 01000E3AH LINE CODE --- #314 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 41 + + + 01000E3AH LINE CODE --- #315 + 01000E40H LINE CODE --- #316 + 01000E40H LINE CODE --- #317 + 01000E43H LINE CODE --- #318 + 01000E4BH LINE CODE --- #319 + 01000E58H LINE CODE --- #320 + 01000E58H LINE CODE --- #321 + 01000E5BH LINE CODE --- #322 + 01000E5EH LINE CODE --- #323 + 01000E5EH LINE CODE --- #324 + --- BLOCKEND --- --- LVL=0 + + 01000E5FH BLOCK CODE --- LVL=0 + 01000E5FH BLOCK CODE NEAR LAB LVL=1 + 00000031H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE j + 00000032H SYMBOL DATA WORD DataSum + 00000034H SYMBOL DATA WORD DataMax + 00000036H SYMBOL DATA WORD DataMin + --- BLOCKEND --- --- LVL=1 + 01000E5FH LINE CODE --- #325 + 01000E5FH LINE CODE --- #326 + 01000E5FH LINE CODE --- #332 + 01000E71H LINE CODE --- #333 + 01000E71H LINE CODE --- #337 + 01000E77H LINE CODE --- #338 + 01000E80H LINE CODE --- #339 + 01000E80H LINE CODE --- #340 + 01000E85H LINE CODE --- #341 + 01000E85H LINE CODE --- #342 + 01000E87H LINE CODE --- #343 + 01000EABH LINE CODE --- #344 + 01000EADH LINE CODE --- #346 + 01000EB2H LINE CODE --- #347 + 01000EB6H LINE CODE --- #348 + 01000EBCH LINE CODE --- #349 + 01000EBEH LINE CODE --- #350 + 01000EBEH LINE CODE --- #351 + 01000ED6H LINE CODE --- #353 + 01000EDFH LINE CODE --- #354 + 01000EDFH LINE CODE --- #355 + 01000EE3H LINE CODE --- #356 + 01000EE3H LINE CODE --- #357 + 01000EECH LINE CODE --- #358 + 01000EECH LINE CODE --- #359 + 01000EF0H LINE CODE --- #360 + 01000EF0H LINE CODE --- #362 + 01000EF4H LINE CODE --- #366 + 01000F1DH LINE CODE --- #369 + 01000F22H LINE CODE --- #370 + --- BLOCKEND --- --- LVL=0 + + 01000BD3H BLOCK CODE --- LVL=0 + 01000BD3H BLOCK CODE NEAR LAB LVL=1 + 00000031H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE j + 00000008H SYMBOL DATA BYTE TS_ScanTimes + --- BLOCKEND --- --- LVL=1 + 01000BD3H LINE CODE --- #418 + 01000BD3H LINE CODE --- #419 + 01000BD3H LINE CODE --- #425 + 01000BD9H LINE CODE --- #426 + 01000BD9H LINE CODE --- #439 + 01000BDBH LINE CODE --- #440 + 01000BDFH LINE CODE --- #441 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 42 + + + 01000BE1H LINE CODE --- #442 + 01000BE4H LINE CODE --- #448 + 01000BEAH LINE CODE --- #449 + 01000BEDH LINE CODE --- #451 + 01000BEEH LINE CODE --- #492 + 01000BF9H LINE CODE --- #493 + 01000BF9H LINE CODE --- #494 + 01000BFFH LINE CODE --- #495 + 01000BFFH LINE CODE --- #496 + 01000C01H LINE CODE --- #497 + 01000C0AH LINE CODE --- #498 + 01000C0AH LINE CODE --- #500 + 01000C0AH LINE CODE --- #516 + 01000C0EH LINE CODE --- #517 + 01000C1FH LINE CODE --- #518 + 01000C1FH LINE CODE --- #519 + 01000C21H LINE CODE --- #520 + 01000C21H LINE CODE --- #521 + 01000C3AH LINE CODE --- #522 + 01000C3EH LINE CODE --- #523 + 01000C47H LINE CODE --- #529 + 01000C4EH LINE CODE --- #530 + 01000C5EH LINE CODE --- #531 + 01000C70H LINE CODE --- #537 + 01000C77H LINE CODE --- #538 + 01000C77H LINE CODE --- #542 + 01000C9BH LINE CODE --- #544 + 01000CA2H LINE CODE --- #545 + 01000CA4H LINE CODE --- #547 + 01000CA4H LINE CODE --- #548 + 01000CAEH LINE CODE --- #549 + 01000CAEH LINE CODE --- #560 + 01000CB3H LINE CODE --- #573 + 01000CB7H LINE CODE --- #574 + 01000CB7H LINE CODE --- #575 + 01000CB7H LINE CODE --- #576 + --- BLOCKEND --- --- LVL=0 + + 01000863H BLOCK CODE --- LVL=0 + 01000863H BLOCK CODE NEAR LAB LVL=1 + 00000031H SYMBOL DATA BYTE i + 00000032H SYMBOL DATA BYTE TouchArea + 00000033H SYMBOL DATA BYTE NowArea + --- BLOCKEND --- --- LVL=1 + 01000863H LINE CODE --- #676 + 01000863H LINE CODE --- #677 + 01000863H LINE CODE --- #683 + 01000866H LINE CODE --- #684 + 01000866H LINE CODE --- #696 + 0100086FH LINE CODE --- #697 + 01000879H LINE CODE --- #699 + 01000885H LINE CODE --- #700 + 01000885H LINE CODE --- #701 + 01000887H LINE CODE --- #702 + 01000887H LINE CODE --- #709 + 0100088BH LINE CODE --- #710 + 0100088BH LINE CODE --- #711 + 0100088FH LINE CODE --- #712 + 0100088FH LINE CODE --- #713 + 01000894H LINE CODE --- #714 + 01000894H LINE CODE --- #715 + 0100089DH LINE CODE --- #716 + 0100089DH LINE CODE --- #717 + 010008A0H LINE CODE --- #719 + 010008A6H LINE CODE --- #721 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 43 + + + 010008ACH LINE CODE --- #722 + 010008ACH LINE CODE --- #723 + 010008AFH LINE CODE --- #725 + 010008AFH LINE CODE --- #737 + 010008B5H LINE CODE --- #739 + 010008BEH LINE CODE --- #740 + 010008BEH LINE CODE --- #741 + 010008C9H LINE CODE --- #742 + 010008C9H LINE CODE --- #743 + 010008C9H LINE CODE --- #747 + 010008C9H LINE CODE --- #752 + 010008C9H LINE CODE --- #754 + 010008C9H LINE CODE --- #755 + 010008CBH LINE CODE --- #757 + 010008CBH LINE CODE --- #758 + 010008D3H LINE CODE --- #759 + 010008D3H LINE CODE --- #760 + 010008DCH LINE CODE --- #761 + 010008DCH LINE CODE --- #766 + 010008E0H LINE CODE --- #768 + 010008E0H LINE CODE --- #769 + 010008E0H LINE CODE --- #773 + 010008E0H LINE CODE --- #774 + 010008E2H LINE CODE --- #782 + 010008E2H LINE CODE --- #784 + 010008E2H LINE CODE --- #785 + 010008E6H LINE CODE --- #786 + 010008E6H LINE CODE --- #787 + 010008F3H LINE CODE --- #788 + 010008F5H LINE CODE --- #789 + 010008F7H LINE CODE --- #790 + 010008F7H LINE CODE --- #791 + 010008F7H LINE CODE --- #792 + 010008FCH LINE CODE --- #793 + 010008FCH LINE CODE --- #794 + 0100090CH LINE CODE --- #795 + 0100090EH LINE CODE --- #796 + 01000910H LINE CODE --- #797 + 01000910H LINE CODE --- #798 + 0100092BH LINE CODE --- #799 + 0100092BH LINE CODE --- #800 + 01000931H LINE CODE --- #801 + 01000931H LINE CODE --- #802 + 0100093EH LINE CODE --- #803 + 0100094FH LINE CODE --- #813 + 01000951H LINE CODE --- #814 + 01000951H LINE CODE --- #815 + 01000953H LINE CODE --- #817 + 01000953H LINE CODE --- #818 + 01000960H LINE CODE --- #819 + 01000967H LINE CODE --- #820 + 01000967H LINE CODE --- #821 + 01000973H LINE CODE --- #895 + 0100097AH LINE CODE --- #898 + 0100097CH LINE CODE --- #899 + 0100097CH LINE CODE --- #900 + 0100097FH LINE CODE --- #901 + 01000980H LINE CODE --- #903 + 01000980H LINE CODE --- #904 + 01000983H LINE CODE --- #905 + 01000983H LINE CODE --- #906 + --- BLOCKEND --- --- LVL=0 + + 010004ACH BLOCK CODE --- LVL=0 + 010004ACH BLOCK CODE NEAR LAB LVL=1 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 44 + + + 00000031H SYMBOL DATA BYTE i + 00000032H SYMBOL DATA WORD Delta + 00000006H SYMBOL DATA WORD Position + 00000020H.6 SYMBOL BIT BIT WheelSliderTogFlag + 0100064AH SYMBOL CODE VOID WHEEL_SLIDER_RELEASE + 01000688H BLOCK CODE NEAR LAB LVL=2 + 00000034H SYMBOL DATA BYTE DeltaRate + --- BLOCKEND --- --- LVL=2 + --- BLOCKEND --- --- LVL=1 + 010004ACH LINE CODE --- #909 + 010004ACH LINE CODE --- #910 + 010004ACH LINE CODE --- #913 + 010004AEH LINE CODE --- #914 + 010004B1H LINE CODE --- #915 + 010004B4H LINE CODE --- #916 + 010004B4H LINE CODE --- #917 + 010004B6H LINE CODE --- #918 + 010004BBH LINE CODE --- #919 + 010004BBH LINE CODE --- #923 + 010004D0H LINE CODE --- #924 + 010004D0H LINE CODE --- #925 + 010004E7H LINE CODE --- #926 + 010004E7H LINE CODE --- #927 + 010004EFH LINE CODE --- #928 + 010004F1H LINE CODE --- #930 + 010004F1H LINE CODE --- #931 + 010004F6H LINE CODE --- #932 + 010004F6H LINE CODE --- #940 + 010004FAH LINE CODE --- #945 + 01000503H LINE CODE --- #947 + 0100050BH LINE CODE --- #948 + 0100050BH LINE CODE --- #949 + 0100050DH LINE CODE --- #950 + 0100050DH LINE CODE --- #951 + 01000517H LINE CODE --- #952 + 01000517H LINE CODE --- #953 + 01000520H LINE CODE --- #954 + 01000520H LINE CODE --- #955 + 01000528H LINE CODE --- #956 + 01000528H LINE CODE --- #957 + 0100052BH LINE CODE --- #958 + 01000530H LINE CODE --- #959 + 01000533H LINE CODE --- #961 + 01000533H LINE CODE --- #962 + 0100053EH LINE CODE --- #963 + 0100053EH LINE CODE --- #964 + 01000557H LINE CODE --- #965 + 01000557H LINE CODE --- #966 + 01000560H LINE CODE --- #967 + 01000562H LINE CODE --- #969 + 01000562H LINE CODE --- #970 + 01000578H LINE CODE --- #971 + 01000578H LINE CODE --- #972 + 01000583H LINE CODE --- #973 + 01000583H LINE CODE --- #974 + 0100058DH LINE CODE --- #975 + 0100058DH LINE CODE --- #976 + 0100058DH LINE CODE --- #977 + 01000593H LINE CODE --- #978 + 01000593H LINE CODE --- #979 + 01000593H LINE CODE --- #980 + 01000595H LINE CODE --- #982 + 01000595H LINE CODE --- #983 + 010005AEH LINE CODE --- #984 + 010005B8H LINE CODE --- #985 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 45 + + + 010005B8H LINE CODE --- #986 + 010005BDH LINE CODE --- #987 + 010005BDH LINE CODE --- #988 + 010005BDH LINE CODE --- #990 + 010005BDH LINE CODE --- #991 + 010005C5H LINE CODE --- #992 + 010005C5H LINE CODE --- #993 + 010005CEH LINE CODE --- #994 + 010005CEH LINE CODE --- #995 + 010005D3H LINE CODE --- #997 + 010005D9H LINE CODE --- #999 + 010005D9H LINE CODE --- #1000 + 010005DCH LINE CODE --- #1002 + 010005DCH LINE CODE --- #1003 + 010005E1H LINE CODE --- #1004 + 010005ECH LINE CODE --- #1005 + 010005ECH LINE CODE --- #1006 + 010005F6H LINE CODE --- #1007 + 010005FAH LINE CODE --- #1008 + 010005FAH LINE CODE --- #1009 + 010005FAH LINE CODE --- #1010 + 010005FAH LINE CODE --- #1011 + 010005FFH LINE CODE --- #1012 + 010005FFH LINE CODE --- #1014 + 01000605H LINE CODE --- #1015 + 01000605H LINE CODE --- #1016 + 0100060DH LINE CODE --- #1017 + 0100060DH LINE CODE --- #1018 + 0100060DH LINE CODE --- #1019 + 0100061AH LINE CODE --- #1020 + 0100061EH LINE CODE --- #1021 + 01000623H LINE CODE --- #1022 + 01000625H LINE CODE --- #1023 + 01000625H LINE CODE --- #1025 + 0100062BH LINE CODE --- #1026 + 0100062BH LINE CODE --- #1027 + 01000633H LINE CODE --- #1028 + 01000633H LINE CODE --- #1029 + 01000634H LINE CODE --- #1030 + 0100063AH LINE CODE --- #1031 + 0100063AH LINE CODE --- #1032 + 0100063CH LINE CODE --- #1034 + 0100063CH LINE CODE --- #1035 + 01000644H LINE CODE --- #1036 + 01000644H LINE CODE --- #1037 + 0100064AH LINE CODE --- #1038 + 0100064AH LINE CODE --- #1039 + 0100064AH LINE CODE --- #1040 + 0100064FH LINE CODE --- #1041 + 01000652H LINE CODE --- #1042 + 01000655H LINE CODE --- #1043 + 0100065DH LINE CODE --- #1044 + 0100065DH LINE CODE --- #1045 + 01000667H LINE CODE --- #1046 + 0100066BH LINE CODE --- #1047 + 0100066BH LINE CODE --- #1048 + 0100066BH LINE CODE --- #1050 + 0100066BH LINE CODE --- #1051 + 01000671H LINE CODE --- #1052 + 01000671H LINE CODE --- #1053 + 01000671H LINE CODE --- #1054 + 01000671H LINE CODE --- #1055 + 01000678H LINE CODE --- #1056 + 01000678H LINE CODE --- #1057 + 01000680H LINE CODE --- #1058 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 46 + + + 01000680H LINE CODE --- #1059 + 01000688H LINE CODE --- #1060 + 01000688H LINE CODE --- #1070 + 01000688H LINE CODE --- #1072 + 0100069AH LINE CODE --- #1081 + 0100069AH LINE CODE --- #1083 + 0100069CH LINE CODE --- #1085 + 0100069CH LINE CODE --- #1086 + 0100069FH LINE CODE --- #1087 + 0100069FH LINE CODE --- #1089 + 010006ABH LINE CODE --- #1090 + 010006ABH LINE CODE --- #1091 + 010006AEH LINE CODE --- #1092 + 010006AFH LINE CODE --- #1094 + 010006AFH LINE CODE --- #1095 + 010006B2H LINE CODE --- #1096 + 010006B2H LINE CODE --- #1097 + --- BLOCKEND --- --- LVL=0 + + 01001050H BLOCK CODE --- LVL=0 + 01001050H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE ch_idx + --- BLOCKEND --- --- LVL=1 + 01001050H LINE CODE --- #1100 + 01001050H LINE CODE --- #1101 + 01001050H LINE CODE --- #1107 + 01001054H LINE CODE --- #1108 + 01001056H LINE CODE --- #1109 + 01001057H LINE CODE --- #1110 + 01001057H LINE CODE --- #1112 + 0100105EH LINE CODE --- #1113 + 0100105EH LINE CODE --- #1114 + 0100106DH LINE CODE --- #1115 + 0100106FH LINE CODE --- #1117 + 0100106FH LINE CODE --- #1118 + 0100107DH LINE CODE --- #1119 + 0100107DH LINE CODE --- #1125 + 01001081H LINE CODE --- #1126 + 01001088H LINE CODE --- #1127 + 0100108BH LINE CODE --- #1128 + 0100108EH LINE CODE --- #1129 + 01001090H LINE CODE --- #1131 + 01001093H LINE CODE --- #1134 + 01001093H LINE CODE --- #1139 + 01001093H LINE CODE --- #1140 + 01001096H LINE CODE --- #1165 + 01001098H LINE CODE --- #1167 + 0100109AH LINE CODE --- #1169 + 0100109FH LINE CODE --- #1170 + 010010A2H LINE CODE --- #1172 + 010010A4H LINE CODE --- #1179 + 010010A7H LINE CODE --- #1180 + 010010A9H LINE CODE --- #1181 + 010010ABH LINE CODE --- #1184 + 010010ADH LINE CODE --- #1186 + 010010B2H LINE CODE --- #1187 + 010010B5H LINE CODE --- #1188 + 010010B8H LINE CODE --- #1189 + 010010BFH LINE CODE --- #1191 + 010010C2H LINE CODE --- #1192 + 010010C6H LINE CODE --- #1200 + 010010CEH LINE CODE --- #1203 + 010010D0H LINE CODE --- #1204 + 010010D4H LINE CODE --- #1207 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 47 + + + --- BLOCKEND --- --- LVL=0 + + 01001153H BLOCK CODE --- LVL=0 + 01001153H LINE CODE --- #1210 + 01001153H LINE CODE --- #1211 + 01001153H LINE CODE --- #1212 + 0100115CH LINE CODE --- #1213 + 0100115CH LINE CODE --- #1214 + 0100115CH LINE CODE --- #1215 + 0100115FH LINE CODE --- #1216 + 01001161H LINE CODE --- #1217 + 01001161H LINE CODE --- #1218 + 01001164H LINE CODE --- #1219 + 01001164H LINE CODE --- #1220 + 01001166H LINE CODE --- #1222 + 0100116FH LINE CODE --- #1229 + 01001172H LINE CODE --- #1230 + 01001174H LINE CODE --- #1234 + 0100117AH LINE CODE --- #1235 + 0100117AH LINE CODE --- #1236 + 0100117DH LINE CODE --- #1237 + 0100117DH LINE CODE --- #1243 + 01001183H LINE CODE --- #1244 + 01001183H LINE CODE --- #1245 + 01001186H LINE CODE --- #1246 + 01001186H LINE CODE --- #1249 + 01001191H LINE CODE --- #1250 + 01001191H LINE CODE --- #1251 + 01001194H LINE CODE --- #1252 + 01001194H LINE CODE --- #1253 + 0100119DH LINE CODE --- #1254 + 0100119DH LINE CODE --- #1263 + 010011A3H LINE CODE --- #1265 + 010011A6H LINE CODE --- #1274 + 010011A6H LINE CODE --- #1276 + 010011A6H LINE CODE --- #1277 + 010011AFH LINE CODE --- #1278 + 010011AFH LINE CODE --- #1279 + 010011B2H LINE CODE --- #1280 + 010011B5H LINE CODE --- #1281 + 010011B8H LINE CODE --- #1282 + 010011B8H LINE CODE --- #1283 + 010011B8H LINE CODE --- #1284 + 010011B8H LINE CODE --- #1285 + 010011B8H LINE CODE --- #1286 + 010011B8H LINE CODE --- #1292 + --- BLOCKEND --- --- LVL=0 + + 010014A5H BLOCK CODE --- LVL=0 + 010014A5H BLOCK CODE NEAR LAB LVL=1 + 00000034H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010014A5H LINE CODE --- #1298 + 010014A5H LINE CODE --- #1299 + 010014A5H LINE CODE --- #1301 + 010014A8H LINE CODE --- #1302 + 010014A8H LINE CODE --- #1303 + 010014B1H LINE CODE --- #1304 + 010014B1H LINE CODE --- #1305 + 010014BAH LINE CODE --- #1306 + 010014BCH LINE CODE --- #1308 + 010014BCH LINE CODE --- #1309 + 010014C3H LINE CODE --- #1310 + 010014C3H LINE CODE --- #1311 + 010014CCH LINE CODE --- #1312 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 48 + + + 010014CFH LINE CODE --- #1313 + --- BLOCKEND --- --- LVL=0 + + 010006B3H BLOCK CODE --- LVL=0 + 010006B3H BLOCK CODE NEAR LAB LVL=1 + 00000031H SYMBOL DATA BYTE TS_SampleComplete + 00000005H SYMBOL DATA BYTE i + 02000128H SYMBOL XDATA --- WakeUp_PThdVal + 02000140H SYMBOL XDATA --- WakeUp_NThdVal + 00000032H SYMBOL DATA --- TS_Data + 0100082AH SYMBOL CODE VOID SLEEP_EXIT + --- BLOCKEND --- --- LVL=1 + 010006B3H LINE CODE --- #1314 + 010006B3H LINE CODE --- #1315 + 010006B3H LINE CODE --- #1320 + 010006B6H LINE CODE --- #1325 + 010006B8H LINE CODE --- #1326 + 010006BBH LINE CODE --- #1328 + 010006BDH LINE CODE --- #1339 + 010006C0H LINE CODE --- #1340 + 010006C3H LINE CODE --- #1342 + 010006CBH LINE CODE --- #1343 + 010006CEH LINE CODE --- #1344 + 010006D1H LINE CODE --- #1347 + 010006D4H LINE CODE --- #1352 + 010006DAH LINE CODE --- #1355 + 010006DDH LINE CODE --- #1357 + 010006DFH LINE CODE --- #1358 + 010006E3H LINE CODE --- #1360 + 010006EAH LINE CODE --- #1361 + 010006F2H LINE CODE --- #1363 + 010006F5H LINE CODE --- #1364 + 010006F8H LINE CODE --- #1365 + 010006FBH LINE CODE --- #1367 + 010006FEH LINE CODE --- #1368 + 01000701H LINE CODE --- #1370 + 01000701H LINE CODE --- #1371 + 01000701H LINE CODE --- #1372 + 01000705H LINE CODE --- #1373 + 01000705H LINE CODE --- #1374 + 0100070CH LINE CODE --- #1375 + 01000712H LINE CODE --- #1376 + 01000714H LINE CODE --- #1377 + 01000717H LINE CODE --- #1378 + 01000718H LINE CODE --- #1379 + 01000719H LINE CODE --- #1380 + 0100071AH LINE CODE --- #1381 + 0100071EH LINE CODE --- #1382 + 01000722H LINE CODE --- #1383 + 01000724H LINE CODE --- #1384 + 01000724H LINE CODE --- #1385 + 01000731H LINE CODE --- #1386 + 01000731H LINE CODE --- #1387 + 01000731H LINE CODE --- #1388 + 01000731H LINE CODE --- #1389 + 01000735H LINE CODE --- #1390 + 01000735H LINE CODE --- #1391 + 0100073EH LINE CODE --- #1392 + 01000740H LINE CODE --- #1393 + 01000740H LINE CODE --- #1394 + 0100075CH LINE CODE --- #1395 + 0100075CH LINE CODE --- #1396 + 01000769H LINE CODE --- #1397 + 0100076CH LINE CODE --- #1398 + 0100076CH LINE CODE --- #1399 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 49 + + + 0100076FH LINE CODE --- #1400 + 01000772H LINE CODE --- #1401 + 01000774H LINE CODE --- #1402 + 01000777H LINE CODE --- #1403 + 01000777H LINE CODE --- #1404 + 0100077AH LINE CODE --- #1405 + 0100077DH LINE CODE --- #1406 + 0100077FH LINE CODE --- #1407 + 01000782H LINE CODE --- #1408 + 01000782H LINE CODE --- #1409 + 01000785H LINE CODE --- #1410 + 01000788H LINE CODE --- #1411 + 0100078AH LINE CODE --- #1412 + 0100078DH LINE CODE --- #1413 + 0100078DH LINE CODE --- #1414 + 01000790H LINE CODE --- #1415 + 01000793H LINE CODE --- #1416 + 01000795H LINE CODE --- #1417 + 01000798H LINE CODE --- #1418 + 01000798H LINE CODE --- #1419 + 0100079BH LINE CODE --- #1420 + 0100079EH LINE CODE --- #1421 + 010007A0H LINE CODE --- #1422 + 010007A3H LINE CODE --- #1423 + 010007A3H LINE CODE --- #1424 + 010007A6H LINE CODE --- #1425 + 010007A9H LINE CODE --- #1426 + 010007A9H LINE CODE --- #1427 + 010007ADH LINE CODE --- #1428 + 010007ADH LINE CODE --- #1429 + 010007C3H LINE CODE --- #1430 + 010007D5H LINE CODE --- #1431 + 010007D7H LINE CODE --- #1433 + 010007D7H LINE CODE --- #1434 + 010007FAH LINE CODE --- #1435 + 010007FAH LINE CODE --- #1436 + 010007FAH LINE CODE --- #1437 + 010007FAH LINE CODE --- #1438 + 010007FAH LINE CODE --- #1439 + 010007FAH LINE CODE --- #1440 + 01000803H LINE CODE --- #1441 + 0100080CH LINE CODE --- #1442 + 0100080CH LINE CODE --- #1443 + 01000812H LINE CODE --- #1444 + 01000814H LINE CODE --- #1446 + 01000814H LINE CODE --- #1447 + 01000817H LINE CODE --- #1448 + 0100081BH LINE CODE --- #1449 + 0100081BH LINE CODE --- #1450 + 0100081EH LINE CODE --- #1451 + 01000821H LINE CODE --- #1452 + 01000821H LINE CODE --- #1453 + 01000821H LINE CODE --- #1454 + 01000824H LINE CODE --- #1455 + 01000827H LINE CODE --- #1456 + 01000827H LINE CODE --- #1457 + 0100082AH LINE CODE --- #1458 + 0100082AH LINE CODE --- #1459 + 0100082DH LINE CODE --- #1460 + 01000830H LINE CODE --- #1461 + 01000838H LINE CODE --- #1463 + 01000838H LINE CODE --- #1468 + 01000838H LINE CODE --- #1469 + 0100083BH LINE CODE --- #1478 + 01000842H LINE CODE --- #1479 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 50 + + + 01000845H LINE CODE --- #1480 + 01000848H LINE CODE --- #1481 + 0100084FH LINE CODE --- #1482 + 01000852H LINE CODE --- #1483 + 01000855H LINE CODE --- #1484 + 01000857H LINE CODE --- #1485 + 0100085AH LINE CODE --- #1486 + 0100085DH LINE CODE --- #1487 + 0100085FH LINE CODE --- #1489 + 01000862H LINE CODE --- #1491 + --- BLOCKEND --- --- LVL=0 + + 01001479H BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD integar + 01001479H BLOCK CODE NEAR LAB LVL=1 + 00000031H SYMBOL DATA --- CharBuf + 00000005H SYMBOL DATA BYTE i + 00000004H SYMBOL DATA BYTE temp + --- BLOCKEND --- --- LVL=1 + 01001479H LINE CODE --- #1529 + 01001479H LINE CODE --- #1530 + 01001479H LINE CODE --- #1533 + 0100147BH LINE CODE --- #1534 + 0100147BH LINE CODE --- #1535 + 0100147FH LINE CODE --- #1536 + 01001485H LINE CODE --- #1537 + 01001485H LINE CODE --- #1538 + 01001487H LINE CODE --- #1539 + 01001489H LINE CODE --- #1541 + 01001489H LINE CODE --- #1542 + 01001492H LINE CODE --- #1543 + 01001492H LINE CODE --- #1544 + 010014A0H LINE CODE --- #1545 + 010014A4H LINE CODE --- #1551 + --- BLOCKEND --- --- LVL=0 + + 01000F23H BLOCK CODE --- LVL=0 + 01000F23H BLOCK CODE NEAR LAB LVL=1 + 00000009H SYMBOL DATA WORD KeyBak + 00000020H.0 SYMBOL BIT BIT LongFlag + 0000000BH SYMBOL DATA BYTE KeyidxBak + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 01000F23H LINE CODE --- #1553 + 01000F23H LINE CODE --- #1554 + 01000F23H LINE CODE --- #1564 + 01000F28H LINE CODE --- #1565 + 01000F2CH LINE CODE --- #1566 + 01000F2CH LINE CODE --- #1585 + 01000F35H LINE CODE --- #1586 + 01000F35H LINE CODE --- #1587 + 01000F37H LINE CODE --- #1588 + 01000F37H LINE CODE --- #1589 + 01000F44H LINE CODE --- #1590 + 01000F44H LINE CODE --- #1591 + 01000F46H LINE CODE --- #1592 + 01000F50H LINE CODE --- #1593 + 01000F52H LINE CODE --- #1594 + 01000F52H LINE CODE --- #1595 + 01000F56H LINE CODE --- #1596 + 01000F5CH LINE CODE --- #1597 + 01000F5EH LINE CODE --- #1598 + 01000F64H LINE CODE --- #1599 + 01000F67H LINE CODE --- #1600 + 01000F67H LINE CODE --- #1602 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 51 + + + 01000F69H LINE CODE --- #1603 + 01000F6FH LINE CODE --- #1604 + 01000F6FH LINE CODE --- #1658 + 01000F7DH LINE CODE --- #1659 + 01000F7DH LINE CODE --- #1660 + 01000F83H LINE CODE --- #1661 + 01000F83H LINE CODE --- #1662 + 01000F86H LINE CODE --- #1663 + 01000F86H LINE CODE --- #1664 + 01000F88H LINE CODE --- #1665 + 01000F8CH LINE CODE --- #1666 + 01000F8EH LINE CODE --- #1668 + 01000F8EH LINE CODE --- #1669 + 01000F97H LINE CODE --- #1670 + 01000F97H LINE CODE --- #1671 + 01000F9DH LINE CODE --- #1672 + 01000F9DH LINE CODE --- #1673 + 01000F9FH LINE CODE --- #1675 + 01000F9FH LINE CODE --- #1676 + 01000FA4H LINE CODE --- #1677 + 01000FA4H LINE CODE --- #1678 + 01000FA6H LINE CODE --- #1679 + 01000FA8H LINE CODE --- #1681 + 01000FA8H LINE CODE --- #1682 + 01000FAFH LINE CODE --- #1683 + 01000FAFH LINE CODE --- #1684 + 01000FB2H LINE CODE --- #1685 + 01000FB2H LINE CODE --- #1687 + 01000FB2H LINE CODE --- #1725 + 01000FB8H LINE CODE --- #1726 + 01000FB8H LINE CODE --- #1727 + 01000FBCH LINE CODE --- #1728 + 01000FBCH LINE CODE --- #1756 + 01000FC3H LINE CODE --- #1759 + 01000FC3H LINE CODE --- #1760 + 01000FC3H LINE CODE --- #1761 + 01000FC3H LINE CODE --- #1770 + 01000FC3H LINE CODE --- #1771 + 01000FC3H LINE CODE --- #1772 + 01000FC3H LINE CODE --- #1785 + 01000FC3H LINE CODE --- #1786 + 01000FC3H LINE CODE --- #1787 + 01000FC3H LINE CODE --- #1794 + 01000FC3H LINE CODE --- #1795 + 01000FC3H LINE CODE --- #1797 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- TS_SEVICE + 0100154CH PUBLIC CONST --- pXSFR + 01000296H PUBLIC CODE --- _WheelTouchJudge + 01001268H PUBLIC CODE --- _SetWheelSliderRefCh + 010014E6H PUBLIC CODE --- _TS_AreaConfirmTimerSet + 0100141FH PUBLIC CODE --- _TS_AreaDeviateDetection + 00000020H.6 PUBLIC BIT BIT ?_TS_GetDataArea?BIT + 010011BBH PUBLIC CODE --- _TS_GetDataArea + 0100121AH PUBLIC CODE --- TS_ScanStart + 0100131CH PUBLIC CODE --- _TS_SetChannel + 010013F0H PUBLIC CODE --- TS_IO_init + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 52 + + + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 53 + + + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 54 + + + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 0100099FH BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 010013F0H BLOCK CODE --- LVL=0 + 010013F0H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000001H SYMBOL DATA --- pPinS + --- BLOCKEND --- --- LVL=1 + 010013F0H LINE CODE --- #32 + 010013F0H LINE CODE --- #33 + 010013F0H LINE CODE --- #36 + 010013F6H LINE CODE --- #38 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 55 + + + 01001401H LINE CODE --- #39 + 01001401H LINE CODE --- #40 + 01001416H LINE CODE --- #41 + 0100141BH LINE CODE --- #42 + 0100141EH LINE CODE --- #43 + --- BLOCKEND --- --- LVL=0 + + 0100131CH BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE index + 00000005H SYMBOL DATA BYTE ch + 0100131CH LINE CODE --- #44 + 0100131CH LINE CODE --- #45 + 0100131CH LINE CODE --- #46 + 01001330H LINE CODE --- #47 + 01001330H LINE CODE --- #48 + 01001330H LINE CODE --- #49 + 01001335H LINE CODE --- #50 + 01001336H LINE CODE --- #51 + 01001336H LINE CODE --- #52 + 0100133BH LINE CODE --- #53 + 0100133CH LINE CODE --- #54 + 0100133CH LINE CODE --- #55 + 01001341H LINE CODE --- #56 + 01001342H LINE CODE --- #57 + 01001342H LINE CODE --- #58 + 01001347H LINE CODE --- #59 + 01001348H LINE CODE --- #60 + 01001348H LINE CODE --- #61 + 0100134DH LINE CODE --- #62 + 0100134EH LINE CODE --- #63 + 0100134EH LINE CODE --- #64 + 01001353H LINE CODE --- #65 + 01001353H LINE CODE --- #66 + 01001353H LINE CODE --- #67 + --- BLOCKEND --- --- LVL=0 + + 0100121AH BLOCK CODE --- LVL=0 + 0100121AH BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000004H SYMBOL DATA BYTE j + --- BLOCKEND --- --- LVL=1 + 0100121AH LINE CODE --- #68 + 0100121AH LINE CODE --- #69 + 0100121AH LINE CODE --- #71 + 01001222H LINE CODE --- #72 + 01001222H LINE CODE --- #73 + 01001239H LINE CODE --- #74 + 01001239H LINE CODE --- #75 + 01001240H LINE CODE --- #76 + 01001249H LINE CODE --- #77 + 01001249H LINE CODE --- #78 + 01001250H LINE CODE --- #79 + 01001253H LINE CODE --- #80 + 01001253H LINE CODE --- #81 + 01001253H LINE CODE --- #82 + 01001261H LINE CODE --- #83 + 01001264H LINE CODE --- #84 + 01001267H LINE CODE --- #85 + --- BLOCKEND --- --- LVL=0 + + 010011BBH BLOCK CODE --- LVL=0 + 00000001H SYMBOL DATA BYTE ts_ch + 00000004H SYMBOL DATA WORD ts_data + 00000034H SYMBOL DATA INT NoiseThd + 00000020H.6 SYMBOL BIT BIT key_pressed_flag + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 56 + + + 010011C1H BLOCK CODE NEAR LAB LVL=1 + 00000002H SYMBOL DATA INT Delta + 00000006H SYMBOL DATA INT FingerThd + --- BLOCKEND --- --- LVL=1 + 010011BBH LINE CODE --- #86 + 010011C1H LINE CODE --- #87 + 010011C1H LINE CODE --- #91 + 010011D1H LINE CODE --- #92 + 010011D8H LINE CODE --- #94 + 010011DBH LINE CODE --- #95 + 010011DBH LINE CODE --- #96 + 010011E6H LINE CODE --- #97 + 010011E6H LINE CODE --- #99 + 010011EEH LINE CODE --- #100 + 010011FCH LINE CODE --- #101 + 01001207H LINE CODE --- #102 + 01001219H LINE CODE --- #103 + 01001219H LINE CODE --- #104 + --- BLOCKEND --- --- LVL=0 + + 0100141FH BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD cmp_data + 00000004H SYMBOL DATA WORD real_data + 00000002H SYMBOL DATA INT range + 0100141FH BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA INT Delta + --- BLOCKEND --- --- LVL=1 + 0100141FH LINE CODE --- #105 + 0100141FH LINE CODE --- #106 + 0100141FH LINE CODE --- #108 + 01001426H LINE CODE --- #109 + 01001447H LINE CODE --- #110 + 01001447H LINE CODE --- #111 + 0100144AH LINE CODE --- #112 + 0100144AH LINE CODE --- #114 + 0100144AH LINE CODE --- #115 + 0100144CH LINE CODE --- #116 + 0100144CH LINE CODE --- #117 + --- BLOCKEND --- --- LVL=0 + + 010014E6H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE ts_ch + 00000005H SYMBOL DATA BYTE area + 010014E6H LINE CODE --- #130 + 010014E6H LINE CODE --- #131 + 010014E6H LINE CODE --- #132 + 010014F8H LINE CODE --- #133 + --- BLOCKEND --- --- LVL=0 + + 01001268H BLOCK CODE --- LVL=0 + 00000001H SYMBOL DATA BYTE Slider_Cnt + 0100126AH BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000006H SYMBOL DATA BYTE j + 00000035H SYMBOL DATA WORD MinVal + --- BLOCKEND --- --- LVL=1 + 01001268H LINE CODE --- #134 + 0100126AH LINE CODE --- #135 + 0100126AH LINE CODE --- #138 + 01001270H LINE CODE --- #139 + 01001287H LINE CODE --- #140 + 01001287H LINE CODE --- #141 + 0100129BH LINE CODE --- #142 + 0100129BH LINE CODE --- #143 + 010012A0H LINE CODE --- #144 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 57 + + + 010012A4H LINE CODE --- #145 + 010012A4H LINE CODE --- #146 + 010012A8H LINE CODE --- #147 + --- BLOCKEND --- --- LVL=0 + + 01000296H BLOCK CODE --- LVL=0 + 00000035H SYMBOL DATA BYTE WHEEL_SLIDER0_CH_COUNT_V + 00000036H SYMBOL DATA WORD WHEEL_SLIDER0_TOUCH_THD_V + 0100029CH BLOCK CODE NEAR LAB LVL=1 + 00000038H SYMBOL DATA BYTE i + 00000039H SYMBOL DATA DWORD CalcTemp1 + 0000003DH SYMBOL DATA WORD CalcTemp2 + 00000006H SYMBOL DATA WORD CalcTemp3 + 00000005H SYMBOL DATA BYTE DeltaRate + 0000003FH SYMBOL DATA INT Delta + 00000041H SYMBOL DATA WORD MaxDelta1 + 00000043H SYMBOL DATA WORD MaxDelta2 + 00000045H SYMBOL DATA BYTE Maxidx1 + 00000046H SYMBOL DATA BYTE Maxidx2 + 00000047H SYMBOL DATA INT Position + 00000004H SYMBOL DATA INT PosOffset + 01000428H BLOCK CODE NEAR LAB LVL=2 + 00000020H.7 SYMBOL BIT BIT dir_flag + --- BLOCKEND --- --- LVL=2 + --- BLOCKEND --- --- LVL=1 + 01000296H LINE CODE --- #149 + 0100029CH LINE CODE --- #150 + 0100029CH LINE CODE --- #160 + 010002A5H LINE CODE --- #161 + 010002B1H LINE CODE --- #162 + 010002B1H LINE CODE --- #163 + 010002BAH LINE CODE --- #164 + 010002BAH LINE CODE --- #165 + 010002D4H LINE CODE --- #166 + 010002D6H LINE CODE --- #168 + 010002D6H LINE CODE --- #169 + 010002E7H LINE CODE --- #170 + 010002FEH LINE CODE --- #171 + 0100030DH LINE CODE --- #172 + 01000322H LINE CODE --- #173 + 0100033AH LINE CODE --- #174 + 0100033AH LINE CODE --- #175 + 01000348H LINE CODE --- #178 + 01000353H LINE CODE --- #179 + 01000353H LINE CODE --- #181 + 0100035CH LINE CODE --- #182 + 01000365H LINE CODE --- #183 + 01000367H LINE CODE --- #184 + 01000372H LINE CODE --- #185 + 01000372H LINE CODE --- #187 + 0100037BH LINE CODE --- #188 + 0100037BH LINE CODE --- #193 + 01000380H LINE CODE --- #195 + 01000393H LINE CODE --- #196 + 01000393H LINE CODE --- #197 + 01000398H LINE CODE --- #198 + 01000398H LINE CODE --- #200 + 010003ACH LINE CODE --- #201 + 010003B9H LINE CODE --- #202 + 010003C1H LINE CODE --- #204 + 010003D4H LINE CODE --- #206 + 010003DEH LINE CODE --- #207 + 010003EAH LINE CODE --- #209 + 010003FBH LINE CODE --- #210 + 01000405H LINE CODE --- #211 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 58 + + + 01000405H LINE CODE --- #212 + 01000408H LINE CODE --- #213 + 0100040AH LINE CODE --- #215 + 0100040AH LINE CODE --- #216 + 01000414H LINE CODE --- #217 + 01000417H LINE CODE --- #218 + 01000417H LINE CODE --- #219 + 01000422H LINE CODE --- #220 + 01000428H LINE CODE --- #222 + 01000428H LINE CODE --- #224 + 01000431H LINE CODE --- #225 + 0100043AH LINE CODE --- #226 + 0100044DH LINE CODE --- #228 + 0100045BH LINE CODE --- #229 + 01000469H LINE CODE --- #230 + 01000474H LINE CODE --- #231 + 01000476H LINE CODE --- #233 + 01000479H LINE CODE --- #234 + 01000479H LINE CODE --- #235 + 01000483H LINE CODE --- #236 + 01000485H LINE CODE --- #238 + 01000485H LINE CODE --- #239 + 0100048BH LINE CODE --- #240 + 0100048BH LINE CODE --- #241 + 0100049CH LINE CODE --- #242 + 0100049CH LINE CODE --- #243 + 010004A7H LINE CODE --- #244 + 010004A7H LINE CODE --- #245 + 010004A7H LINE CODE --- #246 + 010004ABH LINE CODE --- #247 + --- BLOCKEND --- --- LVL=0 + 00000006H SYMBOL DATA WORD CalcTemp3 + 00000005H SYMBOL DATA BYTE DeltaRate + 00000006H SYMBOL DATA INT PosOffset + + --- MODULE --- --- ?C_STARTUP + 01000000H PUBLIC CODE --- ?C_STARTUP + 000000E0H SYMBOL DATA --- ACC + 000000F0H SYMBOL DATA --- B + 00000083H SYMBOL DATA --- DPH + 00000082H SYMBOL DATA --- DPL + 00000000H SYMBOL NUMBER --- IBPSTACK + 00000100H SYMBOL NUMBER --- IBPSTACKTOP + 00000080H SYMBOL NUMBER --- IDATALEN + 01000FC7H SYMBOL CODE --- IDATALOOP + 00000000H SYMBOL NUMBER --- PBPSTACK + 00000100H SYMBOL NUMBER --- PBPSTACKTOP + 00000000H SYMBOL NUMBER --- PDATALEN + 00000000H SYMBOL NUMBER --- PDATASTART + 00000000H SYMBOL NUMBER --- PPAGE + 00000000H SYMBOL NUMBER --- PPAGEENABLE + 000000A0H SYMBOL DATA --- PPAGE_SFR + 00000081H SYMBOL DATA --- SP + 01000FC4H SYMBOL CODE --- STARTUP1 + 00000000H SYMBOL NUMBER --- XBPSTACK + 00000000H SYMBOL NUMBER --- XBPSTACKTOP + 00000000H SYMBOL NUMBER --- XDATALEN + 00000000H SYMBOL NUMBER --- XDATASTART + 01000000H LINE CODE --- #126 + 01000FC4H LINE CODE --- #133 + 01000FC6H LINE CODE --- #134 + 01000FC7H LINE CODE --- #135 + 01000FC8H LINE CODE --- #136 + 01000FCAH LINE CODE --- #185 + 01000FCDH LINE CODE --- #196 + LX51 LINKER/LOCATER V4.41 03/05/2021 13:52:11 PAGE 59 + + + + --- MODULE --- --- ?C_INIT + 0100100BH PUBLIC CODE --- ?C_START + + --- MODULE --- --- ?C?CSTPTR + 01000036H PUBLIC CODE --- ?C?CSTPTR + + --- MODULE --- --- ?C?IMUL + 01000048H PUBLIC CODE --- ?C?IMUL + + --- MODULE --- --- ?C?UIDIV + 0100005AH PUBLIC CODE --- ?C?UIDIV + + --- MODULE --- --- ?C?SIDIV + 010000AFH PUBLIC CODE --- ?C?SIDIV + + --- MODULE --- --- ?C?IILDX + 010000E5H PUBLIC CODE --- ?C?IILDX + + --- MODULE --- --- ?C?LMUL + 010000FBH PUBLIC CODE --- ?C?LMUL + + --- MODULE --- --- ?C?ULDIV + 01000186H PUBLIC CODE --- ?C?ULDIV + + --- MODULE --- --- ?C?ULSHR + 01000218H PUBLIC CODE --- ?C?ULSHR + + --- MODULE --- --- ?C?OFFXADD + 0100022BH PUBLIC CODE --- ?C?OFFXADD + + --- MODULE --- --- ?C?PLDCODE + 01000237H PUBLIC CODE --- ?C?PLDCODE + + --- MODULE --- --- ?C?CCASE + 01000243H PUBLIC CODE --- ?C?CCASE + + --- MODULE --- --- ?C?LIMUL + 01000269H PUBLIC CODE --- ?C?LIMUL + +Program Size: data=86.0 xdata=419 const=105 code=5373 +LX51 RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/ca51fx_.map b/lst/ca51fx_.map new file mode 100644 index 0000000..997a7ad --- /dev/null +++ b/lst/ca51fx_.map @@ -0,0 +1,3994 @@ +LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 1 + + +LX51 LINKER/LOCATER V4.41, INVOKED BY: +D:\KEIL_V5\C51\BIN\LX51.EXE .\hex\main.obj, .\hex\delay.obj, .\hex\system_clock.obj, .\hex\uart.obj, .\hex\interrupt.obj +>> , .\hex\rf_send.obj, .\hex\debug.obj, .\hex\ts_api.obj, .\TS_Lib\Sources\ts_service.LIB, .\hex\STARTUP.obj TO .\hex\c +>> a51fx_ PRINT (.\lst\ca51fx_.map) REMOVEUNUSED CLASSES (XDATA (X:0X0-X:0X1FF), HDATA (X:0X0-X:0X1FF), CODE (C:0X0-C:0X +>> 1FFF), CONST (C:0X0-C:0X1FFF), ECODE (C:0X0-C:0X1FFF), HCONST (C:0X0-C:0X1FFF)) + + +CPU MODE: 8051 MODE +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\hex\main.obj (MAIN) + COMMENT TYPE 0: C51 V9.00 + .\hex\delay.obj (DELAY) + COMMENT TYPE 0: C51 V9.00 + .\hex\system_clock.obj (SYSTEM_CLOCK) + COMMENT TYPE 0: C51 V9.00 + .\hex\uart.obj (UART) + COMMENT TYPE 0: C51 V9.00 + .\hex\interrupt.obj (INTERRUPT) + COMMENT TYPE 0: C51 V9.00 + .\hex\rf_send.obj (RF_SEND) + COMMENT TYPE 0: C51 V9.00 + .\hex\debug.obj (DEBUG) + COMMENT TYPE 0: C51 V9.00 + .\hex\ts_api.obj (TS_API) + COMMENT TYPE 0: C51 V9.00 + .\TS_Lib\Sources\ts_service.LIB (TS_SEVICE) + COMMENT TYPE 0: C51 V9.51 + .\hex\STARTUP.obj (?C_STARTUP) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CSTPTR) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?IMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?SIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?IILDX) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULSHR) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?OFFXADD) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?PLDCODE) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CCASE) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LIMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + + +ACTIVE MEMORY CLASSES OF MODULE: .\hex\ca51fx_ (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA +X:000000H X:000000H X:0001FFH HDATA + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 2 + + +C:000000H C:000000H C:001FFFH 00150FH CODE +C:000000H C:000000H C:001FFFH 000069H CONST +C:000000H C:000000H C:001FFFH ECODE +B00:0000H C:000000H C:001FFFH HCONST +I:000000H I:000000H I:00007FH 000043H DATA +I:000000H I:000000H I:0000FFH 000013H IDATA +I:000020H.0 I:000020H.0 I:00002FH.7 000001H.0 BIT + + +MEMORY MAP OF MODULE: .\hex\ca51fx_ (MAIN) + + +START STOP LENGTH ALIGN RELOC MEMORY CLASS SEGMENT NAME +========================================================================= + +* * * * * * * * * * * D A T A M E M O R Y * * * * * * * * * * * * * +000000H 000007H 000008H --- AT.. DATA "REG BANK 0" +000008H 000013H 00000CH BYTE UNIT DATA ?DT?TS_API +000014H 000016H 000003H BYTE UNIT DATA ?DT?RF_SEND +000017H 000018H 000002H BYTE UNIT DATA ?DT?MAIN +000019H 000019H 000001H BYTE UNIT DATA ?DT?INTERRUPT +00001AH 00001BH 000002H BYTE UNIT IDATA ?ID?RF_SEND +00001CH.0 00001FH.7 000004H.0 --- --- **GAP** +000020H.0 000020H.5 000000H.6 BIT UNIT BIT ?BI?TS_API +000020H.6 000020H.7 000000H.2 BIT UNIT BIT _BIT_GROUP_ +000021H 000049H 000029H BYTE UNIT DATA _DATA_GROUP_ +00004AH 000059H 000010H BYTE UNIT IDATA ?ID?TS_API +00005AH 00005AH 000001H BYTE UNIT IDATA ?STACK + +* * * * * * * * * * * C O D E M E M O R Y * * * * * * * * * * * * * +000000H 000002H 000003H --- OFFS.. CODE ?CO??C_STARTUP?0 +000003H 00001DH 00001BH BYTE UNIT CODE ?PR?_DELAY_MS?DELAY +00001EH 00001EH 000001H BYTE UNIT CODE ?PR?INT2_HANDLER?INTERRUPT +00001FH 00001FH 000001H BYTE UNIT CODE ?PR?INT4_ISR?INTERRUPT +000020H 000022H 000003H --- --- **GAP** +000023H 000025H 000003H BYTE OFFS.. CODE ?INTERRUPT?00023 +000026H 00002AH 000005H --- --- **GAP** +00002BH 00002DH 000003H BYTE OFFS.. CODE ?INTERRUPT?0002B +00002EH 000032H 000005H --- --- **GAP** +000033H 000035H 000003H BYTE OFFS.. CODE ?INTERRUPT?00033 +000036H 000295H 000260H BYTE UNIT CODE ?C?LIB_CODE +000296H 0004ABH 000216H BYTE UNIT CODE ?PR?_WHEELTOUCHJUDGE?TS_SEVICE +0004ACH 0006B2H 000207H BYTE UNIT CODE ?PR?TS_WHEELSLIDERDEAL?TS_API +0006B3H 000862H 0001B0H BYTE UNIT CODE ?PR?TS_ENTERSLEEPMODE?TS_API +000863H 00099EH 00013CH BYTE UNIT CODE ?PR?TSKEY_DATADEAL?TS_API +00099FH 000ABFH 000121H BYTE UNIT CODE ?PR?TS_SEVICE +000AC0H 000BD2H 000113H BYTE UNIT CODE ?PR?TS_API +000BD3H 000CC4H 0000F2H BYTE UNIT CODE ?PR?MAIN?MAIN +000CC5H 000DA9H 0000E5H BYTE UNIT CODE ?PR?TS_RUNINIT?TS_API +000DAAH 000E70H 0000C7H BYTE UNIT CODE ?PR?TS_ISR?TS_API +000E71H 000F34H 0000C4H BYTE UNIT CODE ?PR?TS_DATAFILTERING?TS_API +000F35H 000FD5H 0000A1H BYTE UNIT CODE ?PR?TS_GETKEY?TS_API +000FD6H 001061H 00008CH BYTE UNIT CODE ?C_C51STARTUP +001062H 0010E6H 000085H BYTE UNIT CODE ?PR?TS_INIT?TS_API +0010E7H 001164H 00007EH BYTE UNIT CODE ?PR?INT3_ISR?INTERRUPT +001165H 0011CCH 000068H BYTE UNIT CODE ?PR?TS_ACTION?TS_API +0011CDH 00122BH 00005FH BYTE UNIT CODE ?PR?_TS_GETDATAAREA?TS_SEVICE +00122CH 001279H 00004EH BYTE UNIT CODE ?PR?TS_SCANSTART?TS_SEVICE +00127AH 0012BAH 000041H BYTE UNIT CODE ?PR?_SETWHEELSLIDERREFCH?TS_SEVICE +0012BBH 0012F4H 00003AH BYTE UNIT CODE ?PR?READ_32BIT_UID?MAIN +0012F5H 00132DH 000039H BYTE UNIT CODE ?PR?_SEND_8BIT?RF_SEND +00132EH 001365H 000038H BYTE UNIT CODE ?PR?_TS_SETCHANNEL?TS_SEVICE +001366H 00139BH 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +00139CH 0013D0H 000035H BYTE UNIT CODE ?PR?TS_HS_ISR?TS_API +0013D1H 001401H 000031H BYTE UNIT CODE ?PR?_RF_SEND?RF_SEND + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 3 + + +001402H 001430H 00002FH BYTE UNIT CODE ?PR?TS_IO_INIT?TS_SEVICE +001431H 00145EH 00002EH BYTE UNIT CODE ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE +00145FH 00148AH 00002CH BYTE UNIT CODE ?PR?MAIN +00148BH 0014B6H 00002CH BYTE UNIT CODE ?PR?_HEX2CHARPRINT?TS_API +0014B7H 0014E1H 00002BH BYTE UNIT CODE ?PR?TS_SLEEPSCANSTART?TS_API +0014E2H 0014F7H 000016H BYTE UNIT CODE ?PR?_DELAY_50US?DELAY +0014F8H 00150AH 000013H BYTE UNIT CODE ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE +00150BH 00151BH 000011H BYTE UNIT CODE ?C_INITSEG +00151CH 00155DH 000042H BYTE UNIT CONST ?CO?TS_API +00155EH 001584H 000027H BYTE UNIT CONST ?CO?TS_SEVICE + +* * * * * * * * * * * X D A T A M E M O R Y * * * * * * * * * * * * * +000000H 000127H 000128H BYTE UNIT XDATA ?XD?TS_API +000128H 000157H 000030H BYTE UNIT XDATA _XDATA_GROUP_ +000158H 007FFFH 007EA8H --- --- **GAP** +008000H 008000H 000001H BYTE OFFS.. XDATA ?XD?MAIN?52 +008001H 008001H 000001H BYTE OFFS.. XDATA ?XD?MAIN?55 +008002H 008002H 000001H BYTE OFFS.. XDATA ?XD?MAIN?58 +008003H 008003H 000001H BYTE OFFS.. XDATA ?XD?MAIN?62 +008004H 008004H 000001H BYTE OFFS.. XDATA ?XD?MAIN?67 +008005H 008005H 000001H BYTE OFFS.. XDATA ?XD?MAIN?70 +008006H 008006H 000001H BYTE OFFS.. XDATA ?XD?MAIN?72 +008007H 008007H 000001H BYTE OFFS.. XDATA ?XD?MAIN?74 +008008H 008017H 000010H --- --- **GAP** +008018H 008018H 000001H BYTE OFFS.. XDATA ?XD?MAIN?61 +008019H 008019H 000001H BYTE OFFS.. XDATA ?XD?MAIN?66 +00801AH 00801AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?69 +00801BH 00801BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?71 +00801CH 00801CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?73 +00801DH 00801DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?0 +00801EH 00802FH 000012H --- --- **GAP** +008030H 008030H 000001H BYTE OFFS.. XDATA ?XD?MAIN?43 +008031H 008031H 000001H BYTE OFFS.. XDATA ?XD?MAIN?44 +008032H 008032H 000001H BYTE OFFS.. XDATA ?XD?MAIN?38 +008033H 008033H 000001H BYTE OFFS.. XDATA ?XD?MAIN?29 +008034H 008034H 000001H BYTE OFFS.. XDATA ?XD?MAIN?26 +008035H 00804FH 00001BH --- --- **GAP** +008050H 008050H 000001H BYTE OFFS.. XDATA ?XD?MAIN?21 +008051H 008051H 000001H BYTE OFFS.. XDATA ?XD?MAIN?12 +008052H 008052H 000001H BYTE OFFS.. XDATA ?XD?MAIN?23 +008053H 008053H 000001H BYTE OFFS.. XDATA ?XD?MAIN?13 +008054H 008054H 000001H BYTE OFFS.. XDATA ?XD?MAIN?24 +008055H 008055H 000001H BYTE OFFS.. XDATA ?XD?MAIN?15 +008056H 008056H 000001H BYTE OFFS.. XDATA ?XD?MAIN?25 +008057H 008057H 000001H BYTE OFFS.. XDATA ?XD?MAIN?18 +008058H 008058H 000001H BYTE OFFS.. XDATA ?XD?MAIN?27 +008059H 008059H 000001H BYTE OFFS.. XDATA ?XD?MAIN?20 +00805AH 00805AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?28 +00805BH 00805BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?22 +00805CH 00805CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?36 +00805DH 00805DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?34 +00805EH 00805FH 000002H --- --- **GAP** +008060H 008060H 000001H BYTE OFFS.. XDATA ?XD?MAIN?35 +008061H 008061H 000001H BYTE OFFS.. XDATA ?XD?MAIN?33 +008062H 0080FFH 00009EH --- --- **GAP** +008100H 008100H 000001H BYTE OFFS.. XDATA ?XD?MAIN?6 +008101H 008101H 000001H BYTE OFFS.. XDATA ?XD?MAIN?17 +008102H 008102H 000001H BYTE OFFS.. XDATA ?XD?MAIN?2 +008103H 008103H 000001H BYTE OFFS.. XDATA ?XD?MAIN?5 +008104H 008104H 000001H --- --- **GAP** +008105H 008105H 000001H BYTE OFFS.. XDATA ?XD?MAIN?30 +008106H 008106H 000001H BYTE OFFS.. XDATA ?XD?MAIN?39 +008107H 008107H 000001H BYTE OFFS.. XDATA ?XD?MAIN?16 +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 +008109H 008109H 000001H BYTE OFFS.. XDATA ?XD?MAIN?65 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 4 + + +00810AH 00810AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?3 +00810BH 00810BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?10 +00810CH 00810CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?8 +00810DH 00810DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?11 +00810EH 00810EH 000001H BYTE OFFS.. XDATA ?XD?MAIN?9 +00810FH 00810FH 000001H BYTE OFFS.. XDATA ?XD?MAIN?4 +008110H 008110H 000001H BYTE OFFS.. XDATA ?XD?MAIN?37 +008111H 008111H 000001H BYTE OFFS.. XDATA ?XD?MAIN?40 +008112H 008112H 000001H BYTE OFFS.. XDATA ?XD?MAIN?19 +008113H 00811FH 00000DH --- --- **GAP** +008120H 008120H 000001H BYTE OFFS.. XDATA ?XD?MAIN?47 +008121H 008121H 000001H BYTE OFFS.. XDATA ?XD?MAIN?48 +008122H 008122H 000001H BYTE OFFS.. XDATA ?XD?MAIN?49 +008123H 008123H 000001H BYTE OFFS.. XDATA ?XD?MAIN?51 +008124H 008124H 000001H BYTE OFFS.. XDATA ?XD?MAIN?54 +008125H 008125H 000001H BYTE OFFS.. XDATA ?XD?MAIN?57 +008126H 008126H 000001H BYTE OFFS.. XDATA ?XD?MAIN?60 +008127H 008127H 000001H BYTE OFFS.. XDATA ?XD?MAIN?64 +008128H 008137H 000010H --- --- **GAP** +008138H 008138H 000001H BYTE OFFS.. XDATA ?XD?MAIN?50 +008139H 008139H 000001H BYTE OFFS.. XDATA ?XD?MAIN?53 +00813AH 00813AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?56 +00813BH 00813BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?59 +00813CH 00813CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?63 +00813DH 00813DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?68 +00813EH 00FBFFH 007AC2H --- --- **GAP** +00FC00H 00FC00H 000001H BYTE OFFS.. XDATA ?XD?MAIN?46 +00FC01H 00FC01H 000001H BYTE OFFS.. XDATA ?XD?MAIN?42 +00FC02H 00FC02H 000001H BYTE OFFS.. XDATA ?XD?MAIN?45 +00FC03H 00FC03H 000001H BYTE OFFS.. XDATA ?XD?MAIN?14 +00FC04H 00FC04H 000001H BYTE OFFS.. XDATA ?XD?MAIN?41 +00FC05H 00FC05H 000001H BYTE OFFS.. XDATA ?XD?MAIN?32 +00FC06H 00FC06H 000001H BYTE OFFS.. XDATA ?XD?MAIN?31 +00FC07H 00FC0CH 000006H --- --- **GAP** +00FC0DH 00FC0DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?7 + +* * * * * * * * * R E M O V E D S E G M E N T S * * * * * * * * + *DEL*: 00000CH BYTE UNIT CODE ?PR?SYS_CLK_SET_IRCH?SYSTEM_CLOCK + *DEL*: 00000EH BYTE UNIT CODE ?PR?SYS_CLK_SET_IRCL?SYSTEM_CLOCK + *DEL*: 000037H BYTE UNIT CODE ?PR?TS_BASELINEFORCEUPDATE?TS_SEVICE + *DEL*: 000001H BYTE UNIT DATA ?DT?TS_BASELINEFORCEUPDATE?TS_SEVICE + *DEL*: 000239H BYTE UNIT CODE ?PR?_SLIDERTOUCHJUDGE?TS_SEVICE + *DEL*: 000014H BYTE UNIT DATA ?DT?_SLIDERTOUCHJUDGE?TS_SEVICE + + + +OVERLAY MAP OF MODULE: .\hex\ca51fx_ (MAIN) + + +FUNCTION/MODULE BIT_GROUP DATA_GROUP XDATA_GROUP +--> CALLED FUNCTION/MODULE START STOP START STOP START STOP +============================================================================= +INT2_HANDLER/INTERRUPT ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +INT3_ISR/INTERRUPT ----- ----- ----- ----- ----- ----- + +--> ?PR?TS_MS_ISR?TS_API + +--> ?PR?TS_HS_ISR?TS_API + +--> ?PR?TS_ISR?TS_API + +TS_MS_ISR/TS_API ----- ----- ----- ----- ----- ----- + +--> ?PR?TS_API + +TS_API ----- ----- ----- ----- ----- ----- + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 5 + + + +--> ?CO?TS_API + +?CO?TS_API ----- ----- ----- ----- ----- ----- + +TS_HS_ISR/TS_API ----- ----- ----- ----- ----- ----- + +--> ?PR?TS_API + +TS_ISR/TS_API ----- ----- 0021H 002CH ----- ----- + +--> ?PR?TS_API + +--> ?PR?TS_SCANSTART?TS_SEVICE + +TS_SCANSTART/TS_SEVICE ----- ----- ----- ----- ----- ----- + +--> ?PR?_TS_SETCHANNEL?TS_SEVICE + +_TS_SETCHANNEL/TS_SEVICE ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +INT4_ISR/INTERRUPT ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +?C_C51STARTUP ----- ----- ----- ----- ----- ----- + +--> ?PR?MAIN?MAIN + +--> ?C_INITSEG + +MAIN/MAIN ----- ----- 002DH 0031H ----- ----- + +--> ?PR?TS_INIT?TS_API + +--> ?PR?READ_32BIT_UID?MAIN + +--> ?PR?TS_ACTION?TS_API + +--> ?PR?_RF_SEND?RF_SEND + +TS_INIT/TS_API ----- ----- ----- ----- ----- ----- + +--> ?CO?TS_API + +--> ?PR?TS_IO_INIT?TS_SEVICE + +--> ?PR?TS_API + +TS_IO_INIT/TS_SEVICE ----- ----- ----- ----- ----- ----- + +--> ?CO?TS_SEVICE + +?CO?TS_SEVICE ----- ----- ----- ----- ----- ----- + +READ_32BIT_UID/MAIN ----- ----- 0032H 0035H ----- ----- + +--> ?PR?MAIN + +MAIN ----- ----- ----- ----- ----- ----- + +TS_ACTION/TS_API ----- ----- ----- ----- ----- ----- + +--> ?PR?TS_RUNINIT?TS_API + +--> ?PR?TS_DATAFILTERING?TS_API + +--> ?PR?TSKEY_DATADEAL?TS_API + +--> ?PR?TS_WHEELSLIDERDEAL?TS_API + +--> ?PR?TS_API + +--> ?PR?_DELAY_MS?DELAY + +--> ?PR?TS_ENTERSLEEPMODE?TS_API + +--> ?PR?TS_INIT?TS_API + +--> ?PR?TS_GETKEY?TS_API + +TS_RUNINIT/TS_API ----- ----- 0032H 0032H ----- ----- + +--> ?PR?TS_SCANSTART?TS_SEVICE + +--> ?PR?TS_API + +--> ?CO?TS_API + +--> ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 6 + + + +--> ?CO?TS_API + +TS_DATAFILTERING/TS_API ----- ----- 0032H 0038H ----- ----- + +--> ?PR?TS_API + +TSKEY_DATADEAL/TS_API ----- ----- 0032H 0034H ----- ----- + +--> ?PR?TS_API + +--> ?CO?TS_API + +--> ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE + +--> ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE + +--> ?PR?_TS_GETDATAAREA?TS_SEVICE + +_TS_AREADEVIATEDETECTION/TS_SEVICE ----- ----- ----- ----- ----- ----- + +_TS_GETDATAAREA/TS_SEVICE 20H.6 20H.6 0035H 0036H ----- ----- + +--> ?PR?TS_SEVICE + +TS_SEVICE ----- ----- ----- ----- ----- ----- + +--> ?CO?TS_API + +TS_WHEELSLIDERDEAL/TS_API 20H.6 20H.6 0032H 0035H ----- ----- + +--> ?PR?_SETWHEELSLIDERREFCH?TS_SEVICE + +--> ?PR?TS_API + +--> ?PR?_WHEELTOUCHJUDGE?TS_SEVICE + +_SETWHEELSLIDERREFCH/TS_SEVICE ----- ----- 0036H 0037H ----- ----- + +--> ?PR?TS_SEVICE + +_WHEELTOUCHJUDGE/TS_SEVICE 20H.7 20H.7 0036H 0049H ----- ----- + +--> ?PR?TS_SEVICE + +_DELAY_MS/DELAY ----- ----- ----- ----- ----- ----- + +--> ?PR?_DELAY_50US?DELAY + +_DELAY_50US/DELAY ----- ----- ----- ----- ----- ----- + +TS_ENTERSLEEPMODE/TS_API ----- ----- 0032H 0034H 0128H 0157H + +--> ?PR?TS_SLEEPSCANSTART?TS_API + +--> ?PR?TS_API + +--> ?PR?_DELAY_50US?DELAY + +--> ?PR?TS_SCANSTART?TS_SEVICE + +TS_SLEEPSCANSTART/TS_API ----- ----- 0035H 0035H ----- ----- + +--> ?PR?TS_API + +--> ?PR?_TS_SETCHANNEL?TS_SEVICE + +TS_GETKEY/TS_API ----- ----- ----- ----- ----- ----- + +--> ?CO?TS_API + +--> ?PR?_HEX2CHARPRINT?TS_API + +_HEX2CHARPRINT/TS_API ----- ----- 0032H 0035H ----- ----- + +_RF_SEND/RF_SEND ----- ----- 0032H 0032H ----- ----- + +--> ?PR?_DELAY_50US?DELAY + +--> ?PR?_DELAY_MS?DELAY + +--> ?PR?_SEND_8BIT?RF_SEND + +_SEND_8BIT/RF_SEND ----- ----- 0033H 0034H ----- ----- + +--> ?PR?_DELAY_50US?DELAY + +?C_INITSEG ----- ----- ----- ----- ----- ----- + + + +PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx_ (MAIN) + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 7 + + + + + VALUE CLASS TYPE PUBLIC SYMBOL NAME + ================================================= + 00000020H.6 BIT BIT ?_TS_GetDataArea?BIT + 01000243H CODE --- ?C?CCASE + 00000000H NUMBER --- ?C?CODESEG + 01000036H CODE --- ?C?CSTPTR + 010000E5H CODE --- ?C?IILDX + 01000048H CODE --- ?C?IMUL + 01000269H CODE --- ?C?LIMUL + 010000FBH CODE --- ?C?LMUL + 0100022BH CODE --- ?C?OFFXADD + 01000237H CODE --- ?C?PLDCODE + 010000AFH CODE --- ?C?SIDIV + 0100005AH CODE --- ?C?UIDIV + 01000186H CODE --- ?C?ULDIV + 01000218H CODE --- ?C?ULSHR + 00000000H NUMBER --- ?C?XDATASEG + 0100101DH CODE --- ?C_START + 01000000H CODE --- ?C_STARTUP + 010014E2H CODE --- _Delay_50us + 01000003H CODE --- _Delay_ms + 0100148BH CODE --- _Hex2CharPrint + 010013D1H CODE --- _RF_send + 010012F5H CODE --- _send_8bit + 0100127AH CODE --- _SetWheelSliderRefCh +*DEL*:00000000H CODE --- _SliderTouchJudge + 010014F8H CODE --- _TS_AreaConfirmTimerSet + 01001431H CODE --- _TS_AreaDeviateDetection + 010011CDH CODE --- _TS_GetDataArea + 0100132EH CODE --- _TS_SetChannel + 01000296H CODE --- _WheelTouchJudge +*SFR* 000000D0H.6 DATA BIT AC +*SFR* 000000E0H DATA BYTE ACC + 0000000EH DATA BYTE ActiveTouchType +*SFR* 000000DEH DATA BYTE AK0CON +*SFR* 000000DFH DATA BYTE AK1CON + 0100154CH CONST --- AREA_CONFIRM_TIME_TAB +*SFR* 000000F4H DATA BYTE ATK0CH +*SFR* 000000F3H DATA BYTE ATK0CL + 02008051H XDATA BYTE ATK0NH + 02008050H XDATA BYTE ATK0NL +*SFR* 000000F6H DATA BYTE ATK1CH +*SFR* 000000F5H DATA BYTE ATK1CL + 02008053H XDATA BYTE ATK1NH + 02008052H XDATA BYTE ATK1NL +*SFR* 000000E9H DATA BYTE ATK2CH +*SFR* 000000F7H DATA BYTE ATK2CL + 02008055H XDATA BYTE ATK2NH + 02008054H XDATA BYTE ATK2NL +*SFR* 000000EBH DATA BYTE ATK3CH +*SFR* 000000EAH DATA BYTE ATK3CL + 02008057H XDATA BYTE ATK3NH + 02008056H XDATA BYTE ATK3NL +*SFR* 000000EDH DATA BYTE ATK4CH +*SFR* 000000ECH DATA BYTE ATK4CL + 02008059H XDATA BYTE ATK4NH + 02008058H XDATA BYTE ATK4NL +*SFR* 000000EFH DATA BYTE ATK5CH +*SFR* 000000EEH DATA BYTE ATK5CL + 0200805BH XDATA BYTE ATK5NH + 0200805AH XDATA BYTE ATK5NL +*SFR* 000000F0H DATA BYTE B + 02008030H XDATA BYTE CKCON + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 8 + + + 02008031H XDATA BYTE CKDIV +*SFR* 000000D0H.7 DATA BIT CY + 00000015H DATA BYTE D0 + 00000016H DATA BYTE D1 +*SFR* 00000083H DATA BYTE DP0H +*SFR* 00000082H DATA BYTE DP0L +*SFR* 00000085H DATA BYTE DP1H +*SFR* 00000084H DATA BYTE DP1L +*SFR* 000000D0H.1 DATA BIT DPS +*SFR* 000000A8H.7 DATA BIT EA + 020000FBH XDATA BYTE EnterStopScanTimer +*SFR* 000000D1H DATA BYTE EP0CON +*SFR* 000000D2H DATA BYTE EP1CON +*SFR* 000000D3H DATA BYTE EP2CON +*SFR* 000000D4H DATA BYTE EPIF +*SFR* 000000A8H.4 DATA BIT ES0 +*SFR* 000000A8H.1 DATA BIT ET0 +*SFR* 000000A8H.3 DATA BIT ET1 +*SFR* 000000A8H DATA BIT EX0 +*SFR* 000000A8H.2 DATA BIT EX1 +*SFR* 000000D0H.5 DATA BIT F0 + 00000017H DATA BYTE flagSend + 0200FC01H XDATA BYTE FSCMD + 0200FC02H XDATA BYTE FSDAT +*SFR* 000000C2H DATA BYTE I2CADM +*SFR* 000000C1H DATA BYTE I2CADR +*SFR* 000000C0H DATA BYTE I2CCON +*SFR* 000000C3H DATA BYTE I2CCR +*SFR* 000000C4H DATA BYTE I2CDAT +*SFR* 000000C6H DATA BYTE I2CFLG + 02008101H XDATA BYTE I2CIOS +*SFR* 000000C5H DATA BYTE I2CSTA + 0000001AH IDATA WORD ID +*SFR* 0000008EH DATA BYTE IDLST +*SFR* 000000A8H DATA BYTE IE +*SFR* 00000088H.1 DATA BIT IE0 +*SFR* 00000088H.3 DATA BIT IE1 + 02008032H XDATA BYTE IHCFG + 02008034H XDATA BYTE ILCFGH + 02008033H XDATA BYTE ILCFGL + 0100001EH CODE --- INT2_Handler + 010010E7H CODE --- INT3_ISR +*SFR* 000000A8H.5 DATA BIT INT3EN + 0100001FH CODE --- INT4_ISR +*SFR* 000000A8H.6 DATA BIT INT4EN +*SFR* 000000B8H DATA BYTE IP +*SFR* 00000088H DATA BIT IT0 +*SFR* 00000088H.2 DATA BIT IT1 + 020000FEH XDATA BYTE KeysFlagSN +*SFR* 000000D7H DATA BYTE LEDAT0 +*SFR* 000000C7H DATA BYTE LEDAT1 + 02008061H XDATA BYTE LEDUTH + 02008060H XDATA BYTE LEDUTL +*SFR* 000000CFH DATA BYTE LEDWTMH +*SFR* 000000CEH DATA BYTE LEDWTML +*SFR* 000000BFH DATA BYTE LEFLG + 0200FC03H XDATA BYTE LOCK + 02008105H XDATA BYTE LVDCFG +*SFR* 000000E8H DATA BYTE LVDCON + 01000BD3H CODE --- main + 02000126H XDATA BYTE MainLoopCnt1 + 02000127H XDATA BYTE MainLoopCnt2 + 01001544H CONST --- MASK_TAB + 0200FC00H XDATA BYTE MECON + 0200FC0DH XDATA BYTE MEMPTEC + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 9 + + +*SFR* 000000D0H.2 DATA BIT OV +*SFR* 000000D0H DATA BIT P +*SFR* 00000080H DATA BYTE P0 +*SFR* 00000080H DATA BIT P00 + 02008120H XDATA BYTE P00C + 02008000H XDATA BYTE P00F +*SFR* 00000080H.1 DATA BIT P01 + 02008121H XDATA BYTE P01C + 02008001H XDATA BYTE P01F +*SFR* 00000080H.2 DATA BIT P02 + 02008122H XDATA BYTE P02C + 02008002H XDATA BYTE P02F +*SFR* 00000080H.3 DATA BIT P03 + 02008123H XDATA BYTE P03C + 02008003H XDATA BYTE P03F +*SFR* 00000080H.4 DATA BIT P04 + 02008124H XDATA BYTE P04C + 02008004H XDATA BYTE P04F +*SFR* 00000080H.5 DATA BIT P05 + 02008125H XDATA BYTE P05C + 02008005H XDATA BYTE P05F +*SFR* 00000080H.6 DATA BIT P06 + 02008126H XDATA BYTE P06C + 02008006H XDATA BYTE P06F +*SFR* 00000080H.7 DATA BIT P07 + 02008127H XDATA BYTE P07C + 02008007H XDATA BYTE P07F +*SFR* 000000B0H DATA BYTE P3 +*SFR* 000000B0H DATA BIT P30 + 02008138H XDATA BYTE P30C + 02008018H XDATA BYTE P30F +*SFR* 000000B0H.1 DATA BIT P31 + 02008139H XDATA BYTE P31C + 02008019H XDATA BYTE P31F +*SFR* 000000B0H.2 DATA BIT P32 + 0200813AH XDATA BYTE P32C + 0200801AH XDATA BYTE P32F +*SFR* 000000B0H.3 DATA BIT P33 + 0200813BH XDATA BYTE P33C + 0200801BH XDATA BYTE P33F +*SFR* 000000B0H.4 DATA BIT P34 + 0200813CH XDATA BYTE P34C + 0200801CH XDATA BYTE P34F +*SFR* 000000B0H.5 DATA BIT P35 + 0200813DH XDATA BYTE P35C + 0200801DH XDATA BYTE P35F + 0200FC04H XDATA BYTE PADRD +*SFR* 00000087H DATA BYTE PCON +*SFR* 000000B0H.2 DATA BIT Pin_rf + 00000059H IDATA BYTE PreKeysFlagSN +*SFR* 000000B8H.4 DATA BIT PS0 +*SFR* 000000B8H.6 DATA BIT PS1 +*SFR* 000000D0H DATA BYTE PSW +*SFR* 000000B8H.1 DATA BIT PT0 +*SFR* 000000B8H.3 DATA BIT PT1 +*SFR* 000000B8H.5 DATA BIT PT2 + 0200FC06H XDATA BYTE PTSH + 0200FC05H XDATA BYTE PTSL +*SFR* 00000086H DATA BYTE PWCON +*SFR* 000000B1H DATA BYTE PWM0CKD +*SFR* 000000B9H DATA BYTE PWM0CON +*SFR* 000000AAH DATA BYTE PWM0DIVH +*SFR* 000000A9H DATA BYTE PWM0DIVL +*SFR* 0000009CH DATA BYTE PWM0DUTH +*SFR* 0000009BH DATA BYTE PWM0DUTL + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 10 + + +*SFR* 000000B2H DATA BYTE PWM1CKD +*SFR* 000000BAH DATA BYTE PWM1CON +*SFR* 000000ACH DATA BYTE PWM1DIVH +*SFR* 000000ABH DATA BYTE PWM1DIVL +*SFR* 0000009EH DATA BYTE PWM1DUTH +*SFR* 0000009DH DATA BYTE PWM1DUTL +*SFR* 000000B3H DATA BYTE PWM2CKD +*SFR* 000000BBH DATA BYTE PWM2CON +*SFR* 000000AEH DATA BYTE PWM2DIVH +*SFR* 000000ADH DATA BYTE PWM2DIVL +*SFR* 00000091H DATA BYTE PWM2DUTH +*SFR* 0000009FH DATA BYTE PWM2DUTL +*SFR* 000000B4H DATA BYTE PWM3CKD +*SFR* 000000BCH DATA BYTE PWM3CON +*SFR* 000000A4H DATA BYTE PWM3DIVH +*SFR* 000000AFH DATA BYTE PWM3DIVL +*SFR* 00000093H DATA BYTE PWM3DUTH +*SFR* 00000092H DATA BYTE PWM3DUTL +*SFR* 000000B5H DATA BYTE PWM4CKD +*SFR* 000000BDH DATA BYTE PWM4CON +*SFR* 000000A6H DATA BYTE PWM4DIVH +*SFR* 000000A5H DATA BYTE PWM4DIVL +*SFR* 00000095H DATA BYTE PWM4DUTH +*SFR* 00000094H DATA BYTE PWM4DUTL +*SFR* 000000B6H DATA BYTE PWM5CKD +*SFR* 000000BEH DATA BYTE PWM5CON +*SFR* 0000009AH DATA BYTE PWM5DIVH +*SFR* 000000A7H DATA BYTE PWM5DIVL +*SFR* 00000097H DATA BYTE PWM5DUTH +*SFR* 00000096H DATA BYTE PWM5DUTL +*SFR* 00000090H DATA BYTE PWMEN +*SFR* 000000B7H DATA BYTE PWMIF +*SFR* 000000B8H DATA BIT PX0 +*SFR* 000000B8H.2 DATA BIT PX1 + 0100155EH CONST --- pXSFR +*SFR* 00000098H.2 DATA BIT RB8 + 010012BBH CODE --- Read_32bit_UID +*SFR* 00000098H.4 DATA BIT REN + 00000014H DATA BYTE RF_Time +*SFR* 00000098H DATA BIT RI0 +*SFR* 000000D0H.3 DATA BIT RS0 +*SFR* 000000D0H.4 DATA BIT RS1 +*SFR* 00000099H DATA BYTE S0BUF +*SFR* 00000098H DATA BYTE S0CON +*SFR* 00000098H.7 DATA BIT SM0 +*SFR* 00000098H.6 DATA BIT SM1 +*SFR* 00000098H.5 DATA BIT SM2 +*SFR* 00000081H DATA BYTE SP + 02008100H XDATA BYTE SPMAX +*SFR* 0000008FH DATA BYTE STPST +*DEL*:00000000H CODE --- Sys_Clk_Set_IRCH +*DEL*:00000000H CODE --- Sys_Clk_Set_IRCL +*SFR* 000000CBH DATA BYTE T2CH +*SFR* 000000CAH DATA BYTE T2CL +*SFR* 000000C8H DATA BYTE T2CON +*SFR* 000000C8H.3 DATA BIT T2IE +*SFR* 000000C9H DATA BYTE T2MOD +*SFR* 000000C8H DATA BIT T2P0 +*SFR* 000000C8H.1 DATA BIT T2P1 +*SFR* 000000C8H.4 DATA BIT T2R0 +*SFR* 000000C8H.5 DATA BIT T2R1 +*SFR* 00000098H.3 DATA BIT TB8 +*SFR* 00000088H DATA BYTE TCON +*SFR* 00000088H.5 DATA BIT TF0 +*SFR* 00000088H.7 DATA BIT TF1 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 11 + + +*SFR* 000000C8H.7 DATA BIT TF2 +*SFR* 0000008CH DATA BYTE TH0 +*SFR* 0000008DH DATA BYTE TH1 +*SFR* 000000CDH DATA BYTE TH2 +*SFR* 00000098H.1 DATA BIT TI0 +*SFR* 000000FCH DATA BYTE TK0CHS +*SFR* 000000E2H DATA BYTE TK0MSH +*SFR* 000000E1H DATA BYTE TK0MSL +*SFR* 000000FDH DATA BYTE TK1CHS +*SFR* 000000E4H DATA BYTE TK1MSH +*SFR* 000000E3H DATA BYTE TK1MSL +*SFR* 000000FEH DATA BYTE TK2CHS +*SFR* 000000E6H DATA BYTE TK2MSH +*SFR* 000000E5H DATA BYTE TK2MSL +*SFR* 000000FFH DATA BYTE TK3CHS +*SFR* 000000D9H DATA BYTE TK3MSH +*SFR* 000000E7H DATA BYTE TK3MSL +*SFR* 000000F1H DATA BYTE TK4CHS +*SFR* 000000DBH DATA BYTE TK4MSH +*SFR* 000000DAH DATA BYTE TK4MSL +*SFR* 000000F2H DATA BYTE TK5CHS +*SFR* 000000DDH DATA BYTE TK5MSH +*SFR* 000000DCH DATA BYTE TK5MSL + 0000000DH DATA BYTE TK_State +*SFR* 000000F9H DATA BYTE TKCFG + 02008102H XDATA BYTE TKCKS +*SFR* 000000F8H DATA BYTE TKCON +*SFR* 000000FBH DATA BYTE TKIF + 0200805CH XDATA BYTE TKMAXF + 0200805DH XDATA BYTE TKMINF +*SFR* 000000FAH DATA BYTE TKMTS + 02008103H XDATA BYTE TKPWC +*SFR* 0000008AH DATA BYTE TL0 +*SFR* 0000008BH DATA BYTE TL1 +*SFR* 000000CCH DATA BYTE TL2 + 0200810AH XDATA BYTE TLCKS + 0200810CH XDATA BYTE TLCNTKH + 0200810BH XDATA BYTE TLCNTKL + 0200810EH XDATA BYTE TLCNTLH + 0200810DH XDATA BYTE TLCNTLL + 02008110H XDATA BYTE TLCOMS + 02008108H XDATA BYTE TLCON + 02008107H XDATA BYTE TLDAT0 + 02008112H XDATA BYTE TLDAT1 + 0200810FH XDATA BYTE TLDIV + 02008106H XDATA BYTE TLEN0 + 02008111H XDATA BYTE TLEN1 + 02008109H XDATA BYTE TLFLG +*SFR* 000000D5H DATA BYTE TMCON +*SFR* 00000089H DATA BYTE TMOD +*SFR* 000000D6H DATA BYTE TMSNU +*SFR* 00000088H.4 DATA BIT TR0 +*SFR* 00000088H.6 DATA BIT TR1 +*SFR* 000000C8H.6 DATA BIT TR2 + 01001165H CODE --- TS_Action + 02000116H XDATA --- TS_AreaConfirmTimer + 0000000FH DATA BYTE TS_BaseCh + 0200001AH XDATA --- TS_BaseLineData +*DEL*:00000000H CODE --- TS_BaseLineForceUpdate + 0000004BH IDATA --- TS_CH + 00000057H IDATA BYTE TS_Cnt + 00000020H.1 BIT BIT TS_CycleScanDoneFlag + 01000E71H CODE --- TS_DataFiltering + 010006B3H CODE --- TS_EnterSleepMode + 02000032H XDATA --- TS_FilterBuf + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 12 + + + 02000101H XDATA --- TS_FilterPosIdx + 02000002H XDATA --- TS_FirstAreaData + 01000F35H CODE --- TS_GetKey + 02000100H XDATA BYTE TS_HalfSecCnt + 0100139CH CODE --- TS_HS_ISR + 0000000CH DATA BYTE TS_Index + 01001062H CODE --- TS_init + 020000B4H XDATA BYTE TS_Init_Step + 01001402H CODE --- TS_IO_init + 01000DAAH CODE --- TS_ISR + 00000010H DATA WORD TS_Key + 0100151CH CONST --- TS_KEY_CH_INFO_SEQ + 01001551H CONST --- TS_KEY_TAB + 00000012H DATA WORD TS_LongKeyTimer + 01001366H CODE --- TS_MS_ISR + 020000B6H XDATA --- TS_PostData + 020000D1H XDATA --- TS_RawData + 00000058H IDATA BYTE TS_RefCHBaseLineAdjuTimer + 01000CC5H CODE --- TS_RunInit + 0100122CH CODE --- TS_ScanStart + 00000020H.3 BIT BIT TS_SleepEn + 00000020H.2 BIT BIT TS_SleepMode + 010014B7H CODE --- TS_SleepScanStart + 00000020H.5 BIT BIT TS_StableFlag + 0000004AH IDATA BYTE TS_State + 0100153CH CONST --- TS_WHEEL_SLIDER_CH_SEQ + 010004ACH CODE --- TS_WheelSliderDeal + 01000863H CODE --- TSKey_DataDeal + 020000EBH XDATA --- TSKey_FingerThd + 0200010EH XDATA --- TSKey_LongTouchLimitTimer + 02000001H XDATA BYTE TSWheelSlider_LongTouchLimitTimer + 020000FFH XDATA BYTE TSWheelSlider_TouchConfirmTimer +*SFR* 000000C8H.2 DATA BIT UCKS +*SFR* 000000D8H DATA BYTE UDCKS + 00000018H DATA BYTE valueSend + 00000020H.4 BIT BIT W_S_RefChSet +*SFR* 000000A0H DATA BYTE WDCON +*SFR* 000000A1H DATA BYTE WDFLG +*SFR* 000000A3H DATA BYTE WDVTHH +*SFR* 000000A2H DATA BYTE WDVTHL + 01001540H CONST --- WHEEL_SLIDER0_MAX_MIN_TAB + 02000124H XDATA WORD WheelSliderCapRateFilter + 020000D0H XDATA BYTE WheelSliderMaxIdx + 020000FCH XDATA INT WheelSliderPosition + 020000B5H XDATA BYTE WheelSliderRefCh + 02000123H XDATA BYTE WheelSliderState + 02000122H XDATA BYTE WheelSliderTouchFlag + + + +SYMBOL TABLE OF MODULE: .\hex\ca51fx_ (MAIN) + + VALUE REP CLASS TYPE SYMBOL NAME + ==================================================== + --- MODULE --- --- MAIN + 02008007H PUBLIC XDATA BYTE P07F + 0200801CH PUBLIC XDATA BYTE P34F + 02008006H PUBLIC XDATA BYTE P06F + 0200801BH PUBLIC XDATA BYTE P33F + 02008005H PUBLIC XDATA BYTE P05F + 0200801AH PUBLIC XDATA BYTE P32F + 0200813DH PUBLIC XDATA BYTE P35C + 02008004H PUBLIC XDATA BYTE P04F + 02008019H PUBLIC XDATA BYTE P31F + 02008109H PUBLIC XDATA BYTE TLFLG + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 13 + + + 02008127H PUBLIC XDATA BYTE P07C + 0200813CH PUBLIC XDATA BYTE P34C + 02008003H PUBLIC XDATA BYTE P03F + 02008018H PUBLIC XDATA BYTE P30F + 02008126H PUBLIC XDATA BYTE P06C + 0200813BH PUBLIC XDATA BYTE P33C + 02008002H PUBLIC XDATA BYTE P02F + 02008125H PUBLIC XDATA BYTE P05C + 0200813AH PUBLIC XDATA BYTE P32C + 02008001H PUBLIC XDATA BYTE P01F + 02008124H PUBLIC XDATA BYTE P04C + 02008139H PUBLIC XDATA BYTE P31C + 02008000H PUBLIC XDATA BYTE P00F + 02008123H PUBLIC XDATA BYTE P03C + 02008138H PUBLIC XDATA BYTE P30C + 02008122H PUBLIC XDATA BYTE P02C + 02008121H PUBLIC XDATA BYTE P01C + 02008120H PUBLIC XDATA BYTE P00C + 0200FC00H PUBLIC XDATA BYTE MECON + 0200FC02H PUBLIC XDATA BYTE FSDAT + 02008031H PUBLIC XDATA BYTE CKDIV + 02008030H PUBLIC XDATA BYTE CKCON + 0200FC01H PUBLIC XDATA BYTE FSCMD + 0200FC04H PUBLIC XDATA BYTE PADRD + 02008111H PUBLIC XDATA BYTE TLEN1 + 02008106H PUBLIC XDATA BYTE TLEN0 + 02008032H PUBLIC XDATA BYTE IHCFG + 02008110H PUBLIC XDATA BYTE TLCOMS + 0200805CH PUBLIC XDATA BYTE TKMAXF + 02008060H PUBLIC XDATA BYTE LEDUTL + 0200805DH PUBLIC XDATA BYTE TKMINF + 02008061H PUBLIC XDATA BYTE LEDUTH + 0200FC05H PUBLIC XDATA BYTE PTSL + 0200FC06H PUBLIC XDATA BYTE PTSH + 02008105H PUBLIC XDATA BYTE LVDCFG + 02008033H PUBLIC XDATA BYTE ILCFGL + 0200805AH PUBLIC XDATA BYTE ATK5NL + 02008058H PUBLIC XDATA BYTE ATK4NL + 02008034H PUBLIC XDATA BYTE ILCFGH + 02008056H PUBLIC XDATA BYTE ATK3NL + 02008054H PUBLIC XDATA BYTE ATK2NL + 02008052H PUBLIC XDATA BYTE ATK1NL + 0200805BH PUBLIC XDATA BYTE ATK5NH + 00000018H PUBLIC DATA BYTE valueSend + 02008050H PUBLIC XDATA BYTE ATK0NL + 02008059H PUBLIC XDATA BYTE ATK4NH + 02008112H PUBLIC XDATA BYTE TLDAT1 + 02008057H PUBLIC XDATA BYTE ATK3NH + 02008101H PUBLIC XDATA BYTE I2CIOS + 02008107H PUBLIC XDATA BYTE TLDAT0 + 02008055H PUBLIC XDATA BYTE ATK2NH + 0200FC03H PUBLIC XDATA BYTE LOCK + 02008053H PUBLIC XDATA BYTE ATK1NH + 00000017H PUBLIC DATA BYTE flagSend + 02008051H PUBLIC XDATA BYTE ATK0NH + 0200810DH PUBLIC XDATA BYTE TLCNTLL + 0200810BH PUBLIC XDATA BYTE TLCNTKL + 0200810EH PUBLIC XDATA BYTE TLCNTLH + 0200810CH PUBLIC XDATA BYTE TLCNTKH + 0200FC0DH PUBLIC XDATA BYTE MEMPTEC + 02008100H PUBLIC XDATA BYTE SPMAX + 02008103H PUBLIC XDATA BYTE TKPWC + 0200810FH PUBLIC XDATA BYTE TLDIV + 0200810AH PUBLIC XDATA BYTE TLCKS + 02008102H PUBLIC XDATA BYTE TKCKS + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 14 + + + 02008108H PUBLIC XDATA BYTE TLCON + 0200801DH PUBLIC XDATA BYTE P35F + 01000BD3H PUBLIC CODE --- main + 010012BBH PUBLIC CODE --- Read_32bit_UID + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 15 + + + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 16 + + + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 0100145FH BLOCK CODE --- LVL=0 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 17 + + + --- BLOCKEND --- --- LVL=0 + + 010012BBH BLOCK CODE --- LVL=0 + 010012BBH BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA DWORD ID + --- BLOCKEND --- --- LVL=1 + 010012BBH LINE CODE --- #50 + 010012BBH LINE CODE --- #51 + 010012BBH LINE CODE --- #53 + 010012C1H LINE CODE --- #54 + 010012C6H LINE CODE --- #55 + 010012CAH LINE CODE --- #56 + 010012D0H LINE CODE --- #57 + 010012DCH LINE CODE --- #58 + 010012E2H LINE CODE --- #59 + 010012E5H LINE CODE --- #60 + 010012E5H LINE CODE --- #61 + 010012E8H LINE CODE --- #62 + 010012E8H LINE CODE --- #63 + 010012EDH LINE CODE --- #64 + 010012F2H LINE CODE --- #65 + 010012F4H LINE CODE --- #66 + --- BLOCKEND --- --- LVL=0 + + 01000BD3H BLOCK CODE --- LVL=0 + 01000BD3H BLOCK CODE NEAR LAB LVL=1 + 0000002DH SYMBOL DATA DWORD addr + 00000031H SYMBOL DATA BYTE send_times + --- BLOCKEND --- --- LVL=1 + 01000BD3H LINE CODE --- #68 + 01000BD3H LINE CODE --- #69 + 01000BD3H LINE CODE --- #70 + 01000BDCH LINE CODE --- #71 + 01000BDEH LINE CODE --- #73 + 01000BE1H LINE CODE --- #81 + 01000BE8H LINE CODE --- #82 + 01000BEBH LINE CODE --- #83 + 01000BEEH LINE CODE --- #84 + 01000BF1H LINE CODE --- #85 + 01000BF4H LINE CODE --- #87 + 01000BF6H LINE CODE --- #89 + 01000BF9H LINE CODE --- #91 + 01000BFFH LINE CODE --- #92 + 01000C01H LINE CODE --- #94 + 01000C0DH LINE CODE --- #95 + 01000C18H LINE CODE --- #96 + 01000C1BH LINE CODE --- #97 + 01000C1BH LINE CODE --- #98 + 01000C1BH LINE CODE --- #99 + 01000C1EH LINE CODE --- #101 + 01000C2DH LINE CODE --- #102 + 01000C2DH LINE CODE --- #103 + 01000C30H LINE CODE --- #105 + 01000C33H LINE CODE --- #107 + 01000C3CH LINE CODE --- #108 + 01000C42H LINE CODE --- #109 + 01000C42H LINE CODE --- #111 + 01000C48H LINE CODE --- #112 + 01000C48H LINE CODE --- #113 + 01000C4DH LINE CODE --- #114 + 01000C4FH LINE CODE --- #117 + 01000C4FH LINE CODE --- #118 + 01000C52H LINE CODE --- #119 + 01000C55H LINE CODE --- #120 + 01000C78H LINE CODE --- #121 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 18 + + + 01000C78H LINE CODE --- #123 + 01000C78H LINE CODE --- #124 + 01000C7BH LINE CODE --- #125 + 01000C7DH LINE CODE --- #126 + 01000C7DH LINE CODE --- #127 + 01000C80H LINE CODE --- #128 + 01000C82H LINE CODE --- #129 + 01000C82H LINE CODE --- #130 + 01000C85H LINE CODE --- #131 + 01000C87H LINE CODE --- #132 + 01000C87H LINE CODE --- #133 + 01000C8AH LINE CODE --- #134 + 01000C8CH LINE CODE --- #135 + 01000C8CH LINE CODE --- #136 + 01000C8FH LINE CODE --- #137 + 01000C91H LINE CODE --- #138 + 01000C91H LINE CODE --- #139 + 01000C94H LINE CODE --- #140 + 01000C96H LINE CODE --- #141 + 01000C96H LINE CODE --- #142 + 01000C99H LINE CODE --- #143 + 01000C9BH LINE CODE --- #144 + 01000C9BH LINE CODE --- #145 + 01000C9EH LINE CODE --- #146 + 01000CA0H LINE CODE --- #147 + 01000CA0H LINE CODE --- #148 + 01000CA3H LINE CODE --- #149 + 01000CA3H LINE CODE --- #150 + 01000CA3H LINE CODE --- #151 + 01000CA3H LINE CODE --- #152 + 01000CA3H LINE CODE --- #155 + 01000CB4H LINE CODE --- #156 + 01000CB4H LINE CODE --- #157 + 01000CB7H LINE CODE --- #158 + 01000CB9H LINE CODE --- #159 + 01000CBBH LINE CODE --- #160 + 01000CC0H LINE CODE --- #161 + 01000CC2H LINE CODE --- #162 + 01000CC2H LINE CODE --- #164 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- DELAY + 01000003H PUBLIC CODE --- _Delay_ms + 010014E2H PUBLIC CODE --- _Delay_50us + + 010014E2H BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD n + 010014E2H BLOCK CODE NEAR LAB LVL=1 + 00000005H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010014E2H LINE CODE --- #4 + 010014E2H LINE CODE --- #5 + 010014E2H LINE CODE --- #7 + 010014ECH LINE CODE --- #8 + 010014ECH LINE CODE --- #9 + 010014F7H LINE CODE --- #10 + 010014F7H LINE CODE --- #11 + --- BLOCKEND --- --- LVL=0 + + 01000003H BLOCK CODE --- LVL=0 + 00000082H SYMBOL DATA WORD delay_nms + 01000003H LINE CODE --- #12 + 01000007H LINE CODE --- #13 + 01000007H LINE CODE --- #14 + 01000014H LINE CODE --- #15 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 19 + + + 01000014H LINE CODE --- #16 + 0100001BH LINE CODE --- #17 + 0100001DH LINE CODE --- #18 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- SYSTEM_CLOCK + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 20 + + + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 21 + + + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 22 + + + + --- MODULE --- --- UART + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 23 + + + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 24 + + + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + --- MODULE --- --- INTERRUPT + 0100001FH PUBLIC CODE --- INT4_ISR + 010010E7H PUBLIC CODE --- INT3_ISR + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 25 + + + 0100001EH PUBLIC CODE --- INT2_Handler + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 26 + + + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 27 + + + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 0100001EH BLOCK CODE --- LVL=0 + 0100001EH LINE CODE --- #28 + 0100001EH LINE CODE --- #40 + --- BLOCKEND --- --- LVL=0 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 28 + + + + 010010E7H BLOCK CODE --- LVL=0 + 01001104H BLOCK CODE NEAR LAB LVL=1 + 00000019H SYMBOL DATA BYTE TmCnt + --- BLOCKEND --- --- LVL=1 + 010010E7H LINE CODE --- #42 + 01001104H LINE CODE --- #45 + 01001109H LINE CODE --- #46 + 01001109H LINE CODE --- #47 + 0100110CH LINE CODE --- #49 + 0100110FH LINE CODE --- #50 + 0100110FH LINE CODE --- #51 + 01001117H LINE CODE --- #53 + 01001117H LINE CODE --- #55 + 01001117H LINE CODE --- #56 + 0100111AH LINE CODE --- #57 + 0100111AH LINE CODE --- #61 + 01001120H LINE CODE --- #62 + 01001120H LINE CODE --- #63 + 01001128H LINE CODE --- #64 + 01001128H LINE CODE --- #65 + 0100112AH LINE CODE --- #66 + 01001131H LINE CODE --- #67 + 01001131H LINE CODE --- #68 + 01001134H LINE CODE --- #69 + 01001137H LINE CODE --- #70 + 01001137H LINE CODE --- #71 + 01001140H LINE CODE --- #72 + 01001140H LINE CODE --- #74 + 01001143H LINE CODE --- #75 + 01001143H LINE CODE --- #77 + 01001143H LINE CODE --- #79 + 01001147H LINE CODE --- #80 + 01001147H LINE CODE --- #81 + 0100114AH LINE CODE --- #82 + 0100114AH LINE CODE --- #83 + --- BLOCKEND --- --- LVL=0 + + 0100001FH BLOCK CODE --- LVL=0 + 0100001FH LINE CODE --- #84 + 0100001FH LINE CODE --- #92 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- RF_SEND + 00000016H PUBLIC DATA BYTE D1 + 00000015H PUBLIC DATA BYTE D0 + 0000001AH PUBLIC IDATA WORD ID + 00000014H PUBLIC DATA BYTE RF_Time + 010012F5H PUBLIC CODE --- _send_8bit + 010013D1H PUBLIC CODE --- _RF_send + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 29 + + + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 30 + + + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 31 + + + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 000000B0H.2 SFRSYM DATA BIT Pin_rf + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 010013D1H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE cnt + 010013D1H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010013D1H LINE CODE --- #23 + 010013D1H LINE CODE --- #24 + 010013D1H LINE CODE --- #27 + 010013DAH LINE CODE --- #28 + 010013DAH LINE CODE --- #29 + 010013DCH LINE CODE --- #30 + 010013E3H LINE CODE --- #31 + 010013E5H LINE CODE --- #32 + 010013ECH LINE CODE --- #33 + 010013EEH LINE CODE --- #35 + 010013F3H LINE CODE --- #36 + 010013F8H LINE CODE --- #37 + 010013FDH LINE CODE --- #38 + 01001401H LINE CODE --- #39 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 32 + + + --- BLOCKEND --- --- LVL=0 + + 010012F5H BLOCK CODE --- LVL=0 + 00000033H SYMBOL DATA BYTE n + 010012F7H BLOCK CODE NEAR LAB LVL=1 + 00000034H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010012F5H LINE CODE --- #41 + 010012F7H LINE CODE --- #42 + 010012F7H LINE CODE --- #44 + 010012FAH LINE CODE --- #45 + 010012FAH LINE CODE --- #46 + 010012FCH LINE CODE --- #47 + 01001301H LINE CODE --- #48 + 01001301H LINE CODE --- #49 + 01001308H LINE CODE --- #50 + 0100130AH LINE CODE --- #51 + 0100130CH LINE CODE --- #52 + 0100130EH LINE CODE --- #54 + 0100130EH LINE CODE --- #55 + 01001315H LINE CODE --- #56 + 01001317H LINE CODE --- #57 + 0100131EH LINE CODE --- #58 + 0100131EH LINE CODE --- #60 + 01001324H LINE CODE --- #63 + 0100132DH LINE CODE --- #64 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- DEBUG + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 33 + + + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 34 + + + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 35 + + + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + --- MODULE --- --- TS_API + 02000127H PUBLIC XDATA BYTE MainLoopCnt2 + 02000126H PUBLIC XDATA BYTE MainLoopCnt1 + 02000124H PUBLIC XDATA WORD WheelSliderCapRateFilter + 00000059H PUBLIC IDATA BYTE PreKeysFlagSN + 02000123H PUBLIC XDATA BYTE WheelSliderState + 00000020H.5 PUBLIC BIT BIT TS_StableFlag + 02000122H PUBLIC XDATA BYTE WheelSliderTouchFlag + 00000020H.4 PUBLIC BIT BIT W_S_RefChSet + 02000116H PUBLIC XDATA --- TS_AreaConfirmTimer + 0200010EH PUBLIC XDATA --- TSKey_LongTouchLimitTimer + 02000101H PUBLIC XDATA --- TS_FilterPosIdx + 00000012H PUBLIC DATA WORD TS_LongKeyTimer + 02000100H PUBLIC XDATA BYTE TS_HalfSecCnt + 00000058H PUBLIC IDATA BYTE TS_RefCHBaseLineAdjuTimer + 020000FFH PUBLIC XDATA BYTE TSWheelSlider_TouchConfirmTimer + 020000FEH PUBLIC XDATA BYTE KeysFlagSN + 020000FCH PUBLIC XDATA INT WheelSliderPosition + 00000020H.3 PUBLIC BIT BIT TS_SleepEn + 020000FBH PUBLIC XDATA BYTE EnterStopScanTimer + 020000EBH PUBLIC XDATA --- TSKey_FingerThd + 00000010H PUBLIC DATA WORD TS_Key + 0000000FH PUBLIC DATA BYTE TS_BaseCh + 020000D1H PUBLIC XDATA --- TS_RawData + 020000D0H PUBLIC XDATA BYTE WheelSliderMaxIdx + 00000057H PUBLIC IDATA BYTE TS_Cnt + 020000B6H PUBLIC XDATA --- TS_PostData + 020000B5H PUBLIC XDATA BYTE WheelSliderRefCh + 020000B4H PUBLIC XDATA BYTE TS_Init_Step + 0000004BH PUBLIC IDATA --- TS_CH + 02000032H PUBLIC XDATA --- TS_FilterBuf + 0200001AH PUBLIC XDATA --- TS_BaseLineData + 0000004AH PUBLIC IDATA BYTE TS_State + 02000002H PUBLIC XDATA --- TS_FirstAreaData + 00000020H.2 PUBLIC BIT BIT TS_SleepMode + 0000000EH PUBLIC DATA BYTE ActiveTouchType + 02000001H PUBLIC XDATA BYTE TSWheelSlider_LongTouchLimitTimer + 00000020H.1 PUBLIC BIT BIT TS_CycleScanDoneFlag + 0000000DH PUBLIC DATA BYTE TK_State + 0000000CH PUBLIC DATA BYTE TS_Index + 01001551H PUBLIC CONST --- TS_KEY_TAB + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 36 + + + 0100154CH PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 01001544H PUBLIC CONST --- MASK_TAB + 01001540H PUBLIC CONST --- WHEEL_SLIDER0_MAX_MIN_TAB + 0100153CH PUBLIC CONST --- TS_WHEEL_SLIDER_CH_SEQ + 0100151CH PUBLIC CONST --- TS_KEY_CH_INFO_SEQ + 01000F35H PUBLIC CODE --- TS_GetKey + 0100148BH PUBLIC CODE --- _Hex2CharPrint + 010006B3H PUBLIC CODE --- TS_EnterSleepMode + 010014B7H PUBLIC CODE --- TS_SleepScanStart + 01001165H PUBLIC CODE --- TS_Action + 01001062H PUBLIC CODE --- TS_init + 010004ACH PUBLIC CODE --- TS_WheelSliderDeal + 01000863H PUBLIC CODE --- TSKey_DataDeal + 01000CC5H PUBLIC CODE --- TS_RunInit + 01000E71H PUBLIC CODE --- TS_DataFiltering + 01000DAAH PUBLIC CODE --- TS_ISR + 0100139CH PUBLIC CODE --- TS_HS_ISR + 01001366H PUBLIC CODE --- TS_MS_ISR + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 37 + + + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 38 + + + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 39 + + + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 01000AC0H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 01001366H BLOCK CODE --- LVL=0 + 01001366H BLOCK CODE NEAR LAB LVL=1 + 02000000H SYMBOL XDATA BYTE ms_cnt + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 01001366H LINE CODE --- #106 + 01001366H LINE CODE --- #107 + 01001366H LINE CODE --- #111 + 0100136CH LINE CODE --- #112 + 01001372H LINE CODE --- #113 + 01001372H LINE CODE --- #114 + 01001374H LINE CODE --- #115 + 0100137EH LINE CODE --- #116 + 0100137EH LINE CODE --- #117 + 01001387H LINE CODE --- #118 + 01001387H LINE CODE --- #119 + 01001390H LINE CODE --- #120 + 01001390H LINE CODE --- #121 + 01001393H LINE CODE --- #123 + 01001399H LINE CODE --- #124 + 01001399H LINE CODE --- #125 + 0100139BH LINE CODE --- #126 + 0100139BH LINE CODE --- #138 + 0100139BH LINE CODE --- #139 + --- BLOCKEND --- --- LVL=0 + + 0100139CH BLOCK CODE --- LVL=0 + 0100139CH BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 0100139CH LINE CODE --- #140 + 0100139CH LINE CODE --- #141 + 0100139CH LINE CODE --- #147 + 010013A2H LINE CODE --- #151 + 010013A4H LINE CODE --- #152 + 010013A4H LINE CODE --- #153 + 010013ADH LINE CODE --- #154 + 010013ADH LINE CODE --- #155 + 010013B6H LINE CODE --- #156 + 010013B6H LINE CODE --- #157 + 010013BAH LINE CODE --- #162 + 010013C0H LINE CODE --- #163 + 010013C0H LINE CODE --- #164 + 010013C2H LINE CODE --- #165 + 010013C2H LINE CODE --- #168 + 010013C7H LINE CODE --- #169 + 010013C7H LINE CODE --- #170 + 010013C8H LINE CODE --- #171 + 010013C8H LINE CODE --- #172 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 40 + + + 010013CEH LINE CODE --- #173 + 010013CEH LINE CODE --- #174 + 010013D0H LINE CODE --- #175 + 010013D0H LINE CODE --- #176 + --- BLOCKEND --- --- LVL=0 + + 01000DAAH BLOCK CODE --- LVL=0 + 01000DAAH BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000021H SYMBOL DATA --- TS_Data + --- BLOCKEND --- --- LVL=1 + 01000DAAH LINE CODE --- #177 + 01000DAAH LINE CODE --- #178 + 01000DAAH LINE CODE --- #188 + 01000DB2H LINE CODE --- #189 + 01000DB2H LINE CODE --- #190 + 01000DB6H LINE CODE --- #191 + 01000DB6H LINE CODE --- #193 + 01000DBBH LINE CODE --- #194 + 01000DBBH LINE CODE --- #195 + 01000DBEH LINE CODE --- #196 + 01000DC1H LINE CODE --- #197 + 01000DC4H LINE CODE --- #198 + 01000DC4H LINE CODE --- #199 + 01000DC9H LINE CODE --- #200 + 01000DC9H LINE CODE --- #201 + 01000DCCH LINE CODE --- #202 + 01000DCFH LINE CODE --- #203 + 01000DD2H LINE CODE --- #204 + 01000DD2H LINE CODE --- #205 + 01000DD7H LINE CODE --- #206 + 01000DD7H LINE CODE --- #207 + 01000DDAH LINE CODE --- #208 + 01000DDDH LINE CODE --- #209 + 01000DE0H LINE CODE --- #210 + 01000DE0H LINE CODE --- #211 + 01000DE5H LINE CODE --- #212 + 01000DE5H LINE CODE --- #213 + 01000DE8H LINE CODE --- #214 + 01000DEBH LINE CODE --- #215 + 01000DEEH LINE CODE --- #216 + 01000DEEH LINE CODE --- #217 + 01000DF3H LINE CODE --- #218 + 01000DF3H LINE CODE --- #219 + 01000DF6H LINE CODE --- #220 + 01000DF9H LINE CODE --- #221 + 01000DFCH LINE CODE --- #222 + 01000DFCH LINE CODE --- #223 + 01000E01H LINE CODE --- #224 + 01000E01H LINE CODE --- #225 + 01000E04H LINE CODE --- #226 + 01000E07H LINE CODE --- #227 + 01000E0AH LINE CODE --- #228 + 01000E0AH LINE CODE --- #230 + 01000E0CH LINE CODE --- #231 + 01000E0CH LINE CODE --- #264 + 01000E0CH LINE CODE --- #266 + 01000E22H LINE CODE --- #270 + 01000E22H LINE CODE --- #271 + 01000E34H LINE CODE --- #272 + 01000E34H LINE CODE --- #273 + 01000E34H LINE CODE --- #274 + 01000E34H LINE CODE --- #276 + 01000E38H LINE CODE --- #294 + 01000E45H LINE CODE --- #295 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 41 + + + 01000E45H LINE CODE --- #297 + 01000E47H LINE CODE --- #311 + 01000E4AH LINE CODE --- #312 + 01000E4CH LINE CODE --- #314 + 01000E4CH LINE CODE --- #315 + 01000E52H LINE CODE --- #316 + 01000E52H LINE CODE --- #317 + 01000E55H LINE CODE --- #318 + 01000E5DH LINE CODE --- #319 + 01000E6AH LINE CODE --- #320 + 01000E6AH LINE CODE --- #321 + 01000E6DH LINE CODE --- #322 + 01000E70H LINE CODE --- #323 + 01000E70H LINE CODE --- #324 + --- BLOCKEND --- --- LVL=0 + + 01000E71H BLOCK CODE --- LVL=0 + 01000E71H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE j + 00000033H SYMBOL DATA WORD DataSum + 00000035H SYMBOL DATA WORD DataMax + 00000037H SYMBOL DATA WORD DataMin + --- BLOCKEND --- --- LVL=1 + 01000E71H LINE CODE --- #325 + 01000E71H LINE CODE --- #326 + 01000E71H LINE CODE --- #332 + 01000E83H LINE CODE --- #333 + 01000E83H LINE CODE --- #337 + 01000E89H LINE CODE --- #338 + 01000E92H LINE CODE --- #339 + 01000E92H LINE CODE --- #340 + 01000E97H LINE CODE --- #341 + 01000E97H LINE CODE --- #342 + 01000E99H LINE CODE --- #343 + 01000EBDH LINE CODE --- #344 + 01000EBFH LINE CODE --- #346 + 01000EC4H LINE CODE --- #347 + 01000EC8H LINE CODE --- #348 + 01000ECEH LINE CODE --- #349 + 01000ED0H LINE CODE --- #350 + 01000ED0H LINE CODE --- #351 + 01000EE8H LINE CODE --- #353 + 01000EF1H LINE CODE --- #354 + 01000EF1H LINE CODE --- #355 + 01000EF5H LINE CODE --- #356 + 01000EF5H LINE CODE --- #357 + 01000EFEH LINE CODE --- #358 + 01000EFEH LINE CODE --- #359 + 01000F02H LINE CODE --- #360 + 01000F02H LINE CODE --- #362 + 01000F06H LINE CODE --- #366 + 01000F2FH LINE CODE --- #369 + 01000F34H LINE CODE --- #370 + --- BLOCKEND --- --- LVL=0 + + 01000CC5H BLOCK CODE --- LVL=0 + 01000CC5H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE j + 00000008H SYMBOL DATA BYTE TS_ScanTimes + --- BLOCKEND --- --- LVL=1 + 01000CC5H LINE CODE --- #418 + 01000CC5H LINE CODE --- #419 + 01000CC5H LINE CODE --- #425 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 42 + + + 01000CCBH LINE CODE --- #426 + 01000CCBH LINE CODE --- #439 + 01000CCDH LINE CODE --- #440 + 01000CD1H LINE CODE --- #441 + 01000CD3H LINE CODE --- #442 + 01000CD6H LINE CODE --- #448 + 01000CDCH LINE CODE --- #449 + 01000CDFH LINE CODE --- #451 + 01000CE0H LINE CODE --- #492 + 01000CEBH LINE CODE --- #493 + 01000CEBH LINE CODE --- #494 + 01000CF1H LINE CODE --- #495 + 01000CF1H LINE CODE --- #496 + 01000CF3H LINE CODE --- #497 + 01000CFCH LINE CODE --- #498 + 01000CFCH LINE CODE --- #500 + 01000CFCH LINE CODE --- #516 + 01000D00H LINE CODE --- #517 + 01000D11H LINE CODE --- #518 + 01000D11H LINE CODE --- #519 + 01000D13H LINE CODE --- #520 + 01000D13H LINE CODE --- #521 + 01000D2CH LINE CODE --- #522 + 01000D30H LINE CODE --- #523 + 01000D39H LINE CODE --- #529 + 01000D40H LINE CODE --- #530 + 01000D50H LINE CODE --- #531 + 01000D62H LINE CODE --- #537 + 01000D69H LINE CODE --- #538 + 01000D69H LINE CODE --- #542 + 01000D8DH LINE CODE --- #544 + 01000D94H LINE CODE --- #545 + 01000D96H LINE CODE --- #547 + 01000D96H LINE CODE --- #548 + 01000DA0H LINE CODE --- #549 + 01000DA0H LINE CODE --- #560 + 01000DA5H LINE CODE --- #573 + 01000DA9H LINE CODE --- #574 + 01000DA9H LINE CODE --- #575 + 01000DA9H LINE CODE --- #576 + --- BLOCKEND --- --- LVL=0 + + 01000863H BLOCK CODE --- LVL=0 + 01000863H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000033H SYMBOL DATA BYTE TouchArea + 00000034H SYMBOL DATA BYTE NowArea + --- BLOCKEND --- --- LVL=1 + 01000863H LINE CODE --- #676 + 01000863H LINE CODE --- #677 + 01000863H LINE CODE --- #683 + 01000866H LINE CODE --- #684 + 01000866H LINE CODE --- #696 + 0100086FH LINE CODE --- #697 + 01000879H LINE CODE --- #699 + 01000885H LINE CODE --- #700 + 01000885H LINE CODE --- #701 + 01000887H LINE CODE --- #702 + 01000887H LINE CODE --- #709 + 0100088BH LINE CODE --- #710 + 0100088BH LINE CODE --- #711 + 0100088FH LINE CODE --- #712 + 0100088FH LINE CODE --- #713 + 01000894H LINE CODE --- #714 + 01000894H LINE CODE --- #715 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 43 + + + 0100089DH LINE CODE --- #716 + 0100089DH LINE CODE --- #717 + 010008A0H LINE CODE --- #719 + 010008A6H LINE CODE --- #721 + 010008ACH LINE CODE --- #722 + 010008ACH LINE CODE --- #723 + 010008AFH LINE CODE --- #725 + 010008AFH LINE CODE --- #737 + 010008B5H LINE CODE --- #739 + 010008BEH LINE CODE --- #740 + 010008BEH LINE CODE --- #741 + 010008C9H LINE CODE --- #742 + 010008C9H LINE CODE --- #743 + 010008C9H LINE CODE --- #747 + 010008C9H LINE CODE --- #752 + 010008C9H LINE CODE --- #754 + 010008C9H LINE CODE --- #755 + 010008CBH LINE CODE --- #757 + 010008CBH LINE CODE --- #758 + 010008D3H LINE CODE --- #759 + 010008D3H LINE CODE --- #760 + 010008DCH LINE CODE --- #761 + 010008DCH LINE CODE --- #766 + 010008E0H LINE CODE --- #768 + 010008E0H LINE CODE --- #769 + 010008E0H LINE CODE --- #773 + 010008E0H LINE CODE --- #774 + 010008E2H LINE CODE --- #782 + 010008E2H LINE CODE --- #784 + 010008E2H LINE CODE --- #785 + 010008E6H LINE CODE --- #786 + 010008E6H LINE CODE --- #787 + 010008F3H LINE CODE --- #788 + 010008F5H LINE CODE --- #789 + 010008F7H LINE CODE --- #790 + 010008F7H LINE CODE --- #791 + 010008F7H LINE CODE --- #792 + 010008FCH LINE CODE --- #793 + 010008FCH LINE CODE --- #794 + 0100090CH LINE CODE --- #795 + 0100090EH LINE CODE --- #796 + 01000910H LINE CODE --- #797 + 01000910H LINE CODE --- #798 + 0100092BH LINE CODE --- #799 + 0100092BH LINE CODE --- #800 + 01000931H LINE CODE --- #801 + 01000931H LINE CODE --- #802 + 0100093EH LINE CODE --- #803 + 0100094FH LINE CODE --- #813 + 01000951H LINE CODE --- #814 + 01000951H LINE CODE --- #815 + 01000953H LINE CODE --- #817 + 01000953H LINE CODE --- #818 + 01000960H LINE CODE --- #819 + 01000967H LINE CODE --- #820 + 01000967H LINE CODE --- #821 + 01000973H LINE CODE --- #895 + 0100097AH LINE CODE --- #898 + 0100097CH LINE CODE --- #899 + 0100097CH LINE CODE --- #900 + 0100097FH LINE CODE --- #901 + 01000980H LINE CODE --- #903 + 01000980H LINE CODE --- #904 + 01000983H LINE CODE --- #905 + 01000983H LINE CODE --- #906 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 44 + + + --- BLOCKEND --- --- LVL=0 + + 010004ACH BLOCK CODE --- LVL=0 + 010004ACH BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000033H SYMBOL DATA WORD Delta + 00000006H SYMBOL DATA WORD Position + 00000020H.6 SYMBOL BIT BIT WheelSliderTogFlag + 0100064AH SYMBOL CODE VOID WHEEL_SLIDER_RELEASE + 01000688H BLOCK CODE NEAR LAB LVL=2 + 00000035H SYMBOL DATA BYTE DeltaRate + --- BLOCKEND --- --- LVL=2 + --- BLOCKEND --- --- LVL=1 + 010004ACH LINE CODE --- #909 + 010004ACH LINE CODE --- #910 + 010004ACH LINE CODE --- #913 + 010004AEH LINE CODE --- #914 + 010004B1H LINE CODE --- #915 + 010004B4H LINE CODE --- #916 + 010004B4H LINE CODE --- #917 + 010004B6H LINE CODE --- #918 + 010004BBH LINE CODE --- #919 + 010004BBH LINE CODE --- #923 + 010004D0H LINE CODE --- #924 + 010004D0H LINE CODE --- #925 + 010004E7H LINE CODE --- #926 + 010004E7H LINE CODE --- #927 + 010004EFH LINE CODE --- #928 + 010004F1H LINE CODE --- #930 + 010004F1H LINE CODE --- #931 + 010004F6H LINE CODE --- #932 + 010004F6H LINE CODE --- #940 + 010004FAH LINE CODE --- #945 + 01000503H LINE CODE --- #947 + 0100050BH LINE CODE --- #948 + 0100050BH LINE CODE --- #949 + 0100050DH LINE CODE --- #950 + 0100050DH LINE CODE --- #951 + 01000517H LINE CODE --- #952 + 01000517H LINE CODE --- #953 + 01000520H LINE CODE --- #954 + 01000520H LINE CODE --- #955 + 01000528H LINE CODE --- #956 + 01000528H LINE CODE --- #957 + 0100052BH LINE CODE --- #958 + 01000530H LINE CODE --- #959 + 01000533H LINE CODE --- #961 + 01000533H LINE CODE --- #962 + 0100053EH LINE CODE --- #963 + 0100053EH LINE CODE --- #964 + 01000557H LINE CODE --- #965 + 01000557H LINE CODE --- #966 + 01000560H LINE CODE --- #967 + 01000562H LINE CODE --- #969 + 01000562H LINE CODE --- #970 + 01000578H LINE CODE --- #971 + 01000578H LINE CODE --- #972 + 01000583H LINE CODE --- #973 + 01000583H LINE CODE --- #974 + 0100058DH LINE CODE --- #975 + 0100058DH LINE CODE --- #976 + 0100058DH LINE CODE --- #977 + 01000593H LINE CODE --- #978 + 01000593H LINE CODE --- #979 + 01000593H LINE CODE --- #980 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 45 + + + 01000595H LINE CODE --- #982 + 01000595H LINE CODE --- #983 + 010005AEH LINE CODE --- #984 + 010005B8H LINE CODE --- #985 + 010005B8H LINE CODE --- #986 + 010005BDH LINE CODE --- #987 + 010005BDH LINE CODE --- #988 + 010005BDH LINE CODE --- #990 + 010005BDH LINE CODE --- #991 + 010005C5H LINE CODE --- #992 + 010005C5H LINE CODE --- #993 + 010005CEH LINE CODE --- #994 + 010005CEH LINE CODE --- #995 + 010005D3H LINE CODE --- #997 + 010005D9H LINE CODE --- #999 + 010005D9H LINE CODE --- #1000 + 010005DCH LINE CODE --- #1002 + 010005DCH LINE CODE --- #1003 + 010005E1H LINE CODE --- #1004 + 010005ECH LINE CODE --- #1005 + 010005ECH LINE CODE --- #1006 + 010005F6H LINE CODE --- #1007 + 010005FAH LINE CODE --- #1008 + 010005FAH LINE CODE --- #1009 + 010005FAH LINE CODE --- #1010 + 010005FAH LINE CODE --- #1011 + 010005FFH LINE CODE --- #1012 + 010005FFH LINE CODE --- #1014 + 01000605H LINE CODE --- #1015 + 01000605H LINE CODE --- #1016 + 0100060DH LINE CODE --- #1017 + 0100060DH LINE CODE --- #1018 + 0100060DH LINE CODE --- #1019 + 0100061AH LINE CODE --- #1020 + 0100061EH LINE CODE --- #1021 + 01000623H LINE CODE --- #1022 + 01000625H LINE CODE --- #1023 + 01000625H LINE CODE --- #1025 + 0100062BH LINE CODE --- #1026 + 0100062BH LINE CODE --- #1027 + 01000633H LINE CODE --- #1028 + 01000633H LINE CODE --- #1029 + 01000634H LINE CODE --- #1030 + 0100063AH LINE CODE --- #1031 + 0100063AH LINE CODE --- #1032 + 0100063CH LINE CODE --- #1034 + 0100063CH LINE CODE --- #1035 + 01000644H LINE CODE --- #1036 + 01000644H LINE CODE --- #1037 + 0100064AH LINE CODE --- #1038 + 0100064AH LINE CODE --- #1039 + 0100064AH LINE CODE --- #1040 + 0100064FH LINE CODE --- #1041 + 01000652H LINE CODE --- #1042 + 01000655H LINE CODE --- #1043 + 0100065DH LINE CODE --- #1044 + 0100065DH LINE CODE --- #1045 + 01000667H LINE CODE --- #1046 + 0100066BH LINE CODE --- #1047 + 0100066BH LINE CODE --- #1048 + 0100066BH LINE CODE --- #1050 + 0100066BH LINE CODE --- #1051 + 01000671H LINE CODE --- #1052 + 01000671H LINE CODE --- #1053 + 01000671H LINE CODE --- #1054 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 46 + + + 01000671H LINE CODE --- #1055 + 01000678H LINE CODE --- #1056 + 01000678H LINE CODE --- #1057 + 01000680H LINE CODE --- #1058 + 01000680H LINE CODE --- #1059 + 01000688H LINE CODE --- #1060 + 01000688H LINE CODE --- #1070 + 01000688H LINE CODE --- #1072 + 0100069AH LINE CODE --- #1081 + 0100069AH LINE CODE --- #1083 + 0100069CH LINE CODE --- #1085 + 0100069CH LINE CODE --- #1086 + 0100069FH LINE CODE --- #1087 + 0100069FH LINE CODE --- #1089 + 010006ABH LINE CODE --- #1090 + 010006ABH LINE CODE --- #1091 + 010006AEH LINE CODE --- #1092 + 010006AFH LINE CODE --- #1094 + 010006AFH LINE CODE --- #1095 + 010006B2H LINE CODE --- #1096 + 010006B2H LINE CODE --- #1097 + --- BLOCKEND --- --- LVL=0 + + 01001062H BLOCK CODE --- LVL=0 + 01001062H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE ch_idx + --- BLOCKEND --- --- LVL=1 + 01001062H LINE CODE --- #1100 + 01001062H LINE CODE --- #1101 + 01001062H LINE CODE --- #1107 + 01001066H LINE CODE --- #1108 + 01001068H LINE CODE --- #1109 + 01001069H LINE CODE --- #1110 + 01001069H LINE CODE --- #1112 + 01001070H LINE CODE --- #1113 + 01001070H LINE CODE --- #1114 + 0100107FH LINE CODE --- #1115 + 01001081H LINE CODE --- #1117 + 01001081H LINE CODE --- #1118 + 0100108FH LINE CODE --- #1119 + 0100108FH LINE CODE --- #1125 + 01001093H LINE CODE --- #1126 + 0100109AH LINE CODE --- #1127 + 0100109DH LINE CODE --- #1128 + 010010A0H LINE CODE --- #1129 + 010010A2H LINE CODE --- #1131 + 010010A5H LINE CODE --- #1134 + 010010A5H LINE CODE --- #1139 + 010010A5H LINE CODE --- #1140 + 010010A8H LINE CODE --- #1165 + 010010AAH LINE CODE --- #1167 + 010010ACH LINE CODE --- #1169 + 010010B1H LINE CODE --- #1170 + 010010B4H LINE CODE --- #1172 + 010010B6H LINE CODE --- #1179 + 010010B9H LINE CODE --- #1180 + 010010BBH LINE CODE --- #1181 + 010010BDH LINE CODE --- #1184 + 010010BFH LINE CODE --- #1186 + 010010C4H LINE CODE --- #1187 + 010010C7H LINE CODE --- #1188 + 010010CAH LINE CODE --- #1189 + 010010D1H LINE CODE --- #1191 + 010010D4H LINE CODE --- #1192 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 47 + + + 010010D8H LINE CODE --- #1200 + 010010E0H LINE CODE --- #1203 + 010010E2H LINE CODE --- #1204 + 010010E6H LINE CODE --- #1207 + --- BLOCKEND --- --- LVL=0 + + 01001165H BLOCK CODE --- LVL=0 + 01001165H LINE CODE --- #1210 + 01001165H LINE CODE --- #1211 + 01001165H LINE CODE --- #1212 + 0100116EH LINE CODE --- #1213 + 0100116EH LINE CODE --- #1214 + 0100116EH LINE CODE --- #1215 + 01001171H LINE CODE --- #1216 + 01001173H LINE CODE --- #1217 + 01001173H LINE CODE --- #1218 + 01001176H LINE CODE --- #1219 + 01001176H LINE CODE --- #1220 + 01001178H LINE CODE --- #1222 + 01001181H LINE CODE --- #1229 + 01001184H LINE CODE --- #1230 + 01001186H LINE CODE --- #1243 + 0100118CH LINE CODE --- #1244 + 0100118CH LINE CODE --- #1245 + 0100118FH LINE CODE --- #1246 + 0100118FH LINE CODE --- #1252 + 01001195H LINE CODE --- #1253 + 01001195H LINE CODE --- #1254 + 01001198H LINE CODE --- #1255 + 01001198H LINE CODE --- #1258 + 010011A3H LINE CODE --- #1259 + 010011A3H LINE CODE --- #1260 + 010011A6H LINE CODE --- #1261 + 010011A6H LINE CODE --- #1262 + 010011AFH LINE CODE --- #1263 + 010011AFH LINE CODE --- #1272 + 010011B5H LINE CODE --- #1274 + 010011B8H LINE CODE --- #1283 + 010011B8H LINE CODE --- #1285 + 010011B8H LINE CODE --- #1286 + 010011C1H LINE CODE --- #1287 + 010011C1H LINE CODE --- #1288 + 010011C4H LINE CODE --- #1289 + 010011C7H LINE CODE --- #1290 + 010011CAH LINE CODE --- #1291 + 010011CAH LINE CODE --- #1292 + 010011CAH LINE CODE --- #1293 + 010011CAH LINE CODE --- #1294 + 010011CAH LINE CODE --- #1295 + 010011CAH LINE CODE --- #1301 + --- BLOCKEND --- --- LVL=0 + + 010014B7H BLOCK CODE --- LVL=0 + 010014B7H BLOCK CODE NEAR LAB LVL=1 + 00000035H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010014B7H LINE CODE --- #1307 + 010014B7H LINE CODE --- #1308 + 010014B7H LINE CODE --- #1310 + 010014BAH LINE CODE --- #1311 + 010014BAH LINE CODE --- #1312 + 010014C3H LINE CODE --- #1313 + 010014C3H LINE CODE --- #1314 + 010014CCH LINE CODE --- #1315 + 010014CEH LINE CODE --- #1317 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 48 + + + 010014CEH LINE CODE --- #1318 + 010014D5H LINE CODE --- #1319 + 010014D5H LINE CODE --- #1320 + 010014DEH LINE CODE --- #1321 + 010014E1H LINE CODE --- #1322 + --- BLOCKEND --- --- LVL=0 + + 010006B3H BLOCK CODE --- LVL=0 + 010006B3H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE TS_SampleComplete + 00000005H SYMBOL DATA BYTE i + 02000128H SYMBOL XDATA --- WakeUp_PThdVal + 02000140H SYMBOL XDATA --- WakeUp_NThdVal + 00000033H SYMBOL DATA --- TS_Data + 0100082AH SYMBOL CODE VOID SLEEP_EXIT + --- BLOCKEND --- --- LVL=1 + 010006B3H LINE CODE --- #1323 + 010006B3H LINE CODE --- #1324 + 010006B3H LINE CODE --- #1329 + 010006B6H LINE CODE --- #1334 + 010006B8H LINE CODE --- #1335 + 010006BBH LINE CODE --- #1337 + 010006BDH LINE CODE --- #1348 + 010006C0H LINE CODE --- #1349 + 010006C3H LINE CODE --- #1351 + 010006CBH LINE CODE --- #1352 + 010006CEH LINE CODE --- #1353 + 010006D1H LINE CODE --- #1356 + 010006D4H LINE CODE --- #1361 + 010006DAH LINE CODE --- #1364 + 010006DDH LINE CODE --- #1366 + 010006DFH LINE CODE --- #1367 + 010006E3H LINE CODE --- #1369 + 010006EAH LINE CODE --- #1370 + 010006F2H LINE CODE --- #1372 + 010006F5H LINE CODE --- #1373 + 010006F8H LINE CODE --- #1374 + 010006FBH LINE CODE --- #1376 + 010006FEH LINE CODE --- #1377 + 01000701H LINE CODE --- #1379 + 01000701H LINE CODE --- #1380 + 01000701H LINE CODE --- #1381 + 01000705H LINE CODE --- #1382 + 01000705H LINE CODE --- #1383 + 0100070CH LINE CODE --- #1384 + 01000712H LINE CODE --- #1385 + 01000714H LINE CODE --- #1386 + 01000717H LINE CODE --- #1387 + 01000718H LINE CODE --- #1388 + 01000719H LINE CODE --- #1389 + 0100071AH LINE CODE --- #1390 + 0100071EH LINE CODE --- #1391 + 01000722H LINE CODE --- #1392 + 01000724H LINE CODE --- #1393 + 01000724H LINE CODE --- #1394 + 01000731H LINE CODE --- #1395 + 01000731H LINE CODE --- #1396 + 01000731H LINE CODE --- #1397 + 01000731H LINE CODE --- #1398 + 01000735H LINE CODE --- #1399 + 01000735H LINE CODE --- #1400 + 0100073EH LINE CODE --- #1401 + 01000740H LINE CODE --- #1402 + 01000740H LINE CODE --- #1403 + 0100075CH LINE CODE --- #1404 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 49 + + + 0100075CH LINE CODE --- #1405 + 01000769H LINE CODE --- #1406 + 0100076CH LINE CODE --- #1407 + 0100076CH LINE CODE --- #1408 + 0100076FH LINE CODE --- #1409 + 01000772H LINE CODE --- #1410 + 01000774H LINE CODE --- #1411 + 01000777H LINE CODE --- #1412 + 01000777H LINE CODE --- #1413 + 0100077AH LINE CODE --- #1414 + 0100077DH LINE CODE --- #1415 + 0100077FH LINE CODE --- #1416 + 01000782H LINE CODE --- #1417 + 01000782H LINE CODE --- #1418 + 01000785H LINE CODE --- #1419 + 01000788H LINE CODE --- #1420 + 0100078AH LINE CODE --- #1421 + 0100078DH LINE CODE --- #1422 + 0100078DH LINE CODE --- #1423 + 01000790H LINE CODE --- #1424 + 01000793H LINE CODE --- #1425 + 01000795H LINE CODE --- #1426 + 01000798H LINE CODE --- #1427 + 01000798H LINE CODE --- #1428 + 0100079BH LINE CODE --- #1429 + 0100079EH LINE CODE --- #1430 + 010007A0H LINE CODE --- #1431 + 010007A3H LINE CODE --- #1432 + 010007A3H LINE CODE --- #1433 + 010007A6H LINE CODE --- #1434 + 010007A9H LINE CODE --- #1435 + 010007A9H LINE CODE --- #1436 + 010007ADH LINE CODE --- #1437 + 010007ADH LINE CODE --- #1438 + 010007C3H LINE CODE --- #1439 + 010007D5H LINE CODE --- #1440 + 010007D7H LINE CODE --- #1442 + 010007D7H LINE CODE --- #1443 + 010007FAH LINE CODE --- #1444 + 010007FAH LINE CODE --- #1445 + 010007FAH LINE CODE --- #1446 + 010007FAH LINE CODE --- #1447 + 010007FAH LINE CODE --- #1448 + 010007FAH LINE CODE --- #1449 + 01000803H LINE CODE --- #1450 + 0100080CH LINE CODE --- #1451 + 0100080CH LINE CODE --- #1452 + 01000812H LINE CODE --- #1453 + 01000814H LINE CODE --- #1455 + 01000814H LINE CODE --- #1456 + 01000817H LINE CODE --- #1457 + 0100081BH LINE CODE --- #1458 + 0100081BH LINE CODE --- #1459 + 0100081EH LINE CODE --- #1460 + 01000821H LINE CODE --- #1461 + 01000821H LINE CODE --- #1462 + 01000821H LINE CODE --- #1463 + 01000824H LINE CODE --- #1464 + 01000827H LINE CODE --- #1465 + 01000827H LINE CODE --- #1466 + 0100082AH LINE CODE --- #1467 + 0100082AH LINE CODE --- #1468 + 0100082DH LINE CODE --- #1469 + 01000830H LINE CODE --- #1470 + 01000838H LINE CODE --- #1472 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 50 + + + 01000838H LINE CODE --- #1477 + 01000838H LINE CODE --- #1478 + 0100083BH LINE CODE --- #1487 + 01000842H LINE CODE --- #1488 + 01000845H LINE CODE --- #1489 + 01000848H LINE CODE --- #1490 + 0100084FH LINE CODE --- #1491 + 01000852H LINE CODE --- #1492 + 01000855H LINE CODE --- #1493 + 01000857H LINE CODE --- #1494 + 0100085AH LINE CODE --- #1495 + 0100085DH LINE CODE --- #1496 + 0100085FH LINE CODE --- #1498 + 01000862H LINE CODE --- #1500 + --- BLOCKEND --- --- LVL=0 + + 0100148BH BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD integar + 0100148BH BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA --- CharBuf + 00000005H SYMBOL DATA BYTE i + 00000004H SYMBOL DATA BYTE temp + --- BLOCKEND --- --- LVL=1 + 0100148BH LINE CODE --- #1538 + 0100148BH LINE CODE --- #1539 + 0100148BH LINE CODE --- #1542 + 0100148DH LINE CODE --- #1543 + 0100148DH LINE CODE --- #1544 + 01001491H LINE CODE --- #1545 + 01001497H LINE CODE --- #1546 + 01001497H LINE CODE --- #1547 + 01001499H LINE CODE --- #1548 + 0100149BH LINE CODE --- #1550 + 0100149BH LINE CODE --- #1551 + 010014A4H LINE CODE --- #1552 + 010014A4H LINE CODE --- #1553 + 010014B2H LINE CODE --- #1554 + 010014B6H LINE CODE --- #1560 + --- BLOCKEND --- --- LVL=0 + + 01000F35H BLOCK CODE --- LVL=0 + 01000F35H BLOCK CODE NEAR LAB LVL=1 + 00000009H SYMBOL DATA WORD KeyBak + 00000020H.0 SYMBOL BIT BIT LongFlag + 0000000BH SYMBOL DATA BYTE KeyidxBak + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 01000F35H LINE CODE --- #1562 + 01000F35H LINE CODE --- #1563 + 01000F35H LINE CODE --- #1573 + 01000F3AH LINE CODE --- #1574 + 01000F3EH LINE CODE --- #1575 + 01000F3EH LINE CODE --- #1594 + 01000F47H LINE CODE --- #1595 + 01000F47H LINE CODE --- #1596 + 01000F49H LINE CODE --- #1597 + 01000F49H LINE CODE --- #1598 + 01000F56H LINE CODE --- #1599 + 01000F56H LINE CODE --- #1600 + 01000F58H LINE CODE --- #1601 + 01000F62H LINE CODE --- #1602 + 01000F64H LINE CODE --- #1603 + 01000F64H LINE CODE --- #1604 + 01000F68H LINE CODE --- #1605 + 01000F6EH LINE CODE --- #1606 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 51 + + + 01000F70H LINE CODE --- #1607 + 01000F76H LINE CODE --- #1608 + 01000F79H LINE CODE --- #1609 + 01000F79H LINE CODE --- #1611 + 01000F7BH LINE CODE --- #1612 + 01000F81H LINE CODE --- #1613 + 01000F81H LINE CODE --- #1667 + 01000F8FH LINE CODE --- #1668 + 01000F8FH LINE CODE --- #1669 + 01000F95H LINE CODE --- #1670 + 01000F95H LINE CODE --- #1671 + 01000F98H LINE CODE --- #1672 + 01000F98H LINE CODE --- #1673 + 01000F9AH LINE CODE --- #1674 + 01000F9EH LINE CODE --- #1675 + 01000FA0H LINE CODE --- #1677 + 01000FA0H LINE CODE --- #1678 + 01000FA9H LINE CODE --- #1679 + 01000FA9H LINE CODE --- #1680 + 01000FAFH LINE CODE --- #1681 + 01000FAFH LINE CODE --- #1682 + 01000FB1H LINE CODE --- #1684 + 01000FB1H LINE CODE --- #1685 + 01000FB6H LINE CODE --- #1686 + 01000FB6H LINE CODE --- #1687 + 01000FB8H LINE CODE --- #1688 + 01000FBAH LINE CODE --- #1690 + 01000FBAH LINE CODE --- #1691 + 01000FC1H LINE CODE --- #1692 + 01000FC1H LINE CODE --- #1693 + 01000FC4H LINE CODE --- #1694 + 01000FC4H LINE CODE --- #1696 + 01000FC4H LINE CODE --- #1734 + 01000FCAH LINE CODE --- #1735 + 01000FCAH LINE CODE --- #1736 + 01000FCEH LINE CODE --- #1737 + 01000FCEH LINE CODE --- #1765 + 01000FD5H LINE CODE --- #1768 + 01000FD5H LINE CODE --- #1769 + 01000FD5H LINE CODE --- #1770 + 01000FD5H LINE CODE --- #1779 + 01000FD5H LINE CODE --- #1780 + 01000FD5H LINE CODE --- #1781 + 01000FD5H LINE CODE --- #1794 + 01000FD5H LINE CODE --- #1795 + 01000FD5H LINE CODE --- #1796 + 01000FD5H LINE CODE --- #1803 + 01000FD5H LINE CODE --- #1804 + 01000FD5H LINE CODE --- #1806 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- TS_SEVICE + 0100155EH PUBLIC CONST --- pXSFR + 01000296H PUBLIC CODE --- _WheelTouchJudge + 0100127AH PUBLIC CODE --- _SetWheelSliderRefCh + 010014F8H PUBLIC CODE --- _TS_AreaConfirmTimerSet + 01001431H PUBLIC CODE --- _TS_AreaDeviateDetection + 00000020H.6 PUBLIC BIT BIT ?_TS_GetDataArea?BIT + 010011CDH PUBLIC CODE --- _TS_GetDataArea + 0100122CH PUBLIC CODE --- TS_ScanStart + 0100132EH PUBLIC CODE --- _TS_SetChannel + 01001402H PUBLIC CODE --- TS_IO_init + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 52 + + + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 53 + + + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 54 + + + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 0100099FH BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 01001402H BLOCK CODE --- LVL=0 + 01001402H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000001H SYMBOL DATA --- pPinS + --- BLOCKEND --- --- LVL=1 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 55 + + + 01001402H LINE CODE --- #32 + 01001402H LINE CODE --- #33 + 01001402H LINE CODE --- #36 + 01001408H LINE CODE --- #38 + 01001413H LINE CODE --- #39 + 01001413H LINE CODE --- #40 + 01001428H LINE CODE --- #41 + 0100142DH LINE CODE --- #42 + 01001430H LINE CODE --- #43 + --- BLOCKEND --- --- LVL=0 + + 0100132EH BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE index + 00000005H SYMBOL DATA BYTE ch + 0100132EH LINE CODE --- #44 + 0100132EH LINE CODE --- #45 + 0100132EH LINE CODE --- #46 + 01001342H LINE CODE --- #47 + 01001342H LINE CODE --- #48 + 01001342H LINE CODE --- #49 + 01001347H LINE CODE --- #50 + 01001348H LINE CODE --- #51 + 01001348H LINE CODE --- #52 + 0100134DH LINE CODE --- #53 + 0100134EH LINE CODE --- #54 + 0100134EH LINE CODE --- #55 + 01001353H LINE CODE --- #56 + 01001354H LINE CODE --- #57 + 01001354H LINE CODE --- #58 + 01001359H LINE CODE --- #59 + 0100135AH LINE CODE --- #60 + 0100135AH LINE CODE --- #61 + 0100135FH LINE CODE --- #62 + 01001360H LINE CODE --- #63 + 01001360H LINE CODE --- #64 + 01001365H LINE CODE --- #65 + 01001365H LINE CODE --- #66 + 01001365H LINE CODE --- #67 + --- BLOCKEND --- --- LVL=0 + + 0100122CH BLOCK CODE --- LVL=0 + 0100122CH BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000004H SYMBOL DATA BYTE j + --- BLOCKEND --- --- LVL=1 + 0100122CH LINE CODE --- #68 + 0100122CH LINE CODE --- #69 + 0100122CH LINE CODE --- #71 + 01001234H LINE CODE --- #72 + 01001234H LINE CODE --- #73 + 0100124BH LINE CODE --- #74 + 0100124BH LINE CODE --- #75 + 01001252H LINE CODE --- #76 + 0100125BH LINE CODE --- #77 + 0100125BH LINE CODE --- #78 + 01001262H LINE CODE --- #79 + 01001265H LINE CODE --- #80 + 01001265H LINE CODE --- #81 + 01001265H LINE CODE --- #82 + 01001273H LINE CODE --- #83 + 01001276H LINE CODE --- #84 + 01001279H LINE CODE --- #85 + --- BLOCKEND --- --- LVL=0 + + 010011CDH BLOCK CODE --- LVL=0 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 56 + + + 00000001H SYMBOL DATA BYTE ts_ch + 00000004H SYMBOL DATA WORD ts_data + 00000035H SYMBOL DATA INT NoiseThd + 00000020H.6 SYMBOL BIT BIT key_pressed_flag + 010011D3H BLOCK CODE NEAR LAB LVL=1 + 00000002H SYMBOL DATA INT Delta + 00000006H SYMBOL DATA INT FingerThd + --- BLOCKEND --- --- LVL=1 + 010011CDH LINE CODE --- #86 + 010011D3H LINE CODE --- #87 + 010011D3H LINE CODE --- #91 + 010011E3H LINE CODE --- #92 + 010011EAH LINE CODE --- #94 + 010011EDH LINE CODE --- #95 + 010011EDH LINE CODE --- #96 + 010011F8H LINE CODE --- #97 + 010011F8H LINE CODE --- #99 + 01001200H LINE CODE --- #100 + 0100120EH LINE CODE --- #101 + 01001219H LINE CODE --- #102 + 0100122BH LINE CODE --- #103 + 0100122BH LINE CODE --- #104 + --- BLOCKEND --- --- LVL=0 + + 01001431H BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD cmp_data + 00000004H SYMBOL DATA WORD real_data + 00000002H SYMBOL DATA INT range + 01001431H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA INT Delta + --- BLOCKEND --- --- LVL=1 + 01001431H LINE CODE --- #105 + 01001431H LINE CODE --- #106 + 01001431H LINE CODE --- #108 + 01001438H LINE CODE --- #109 + 01001459H LINE CODE --- #110 + 01001459H LINE CODE --- #111 + 0100145CH LINE CODE --- #112 + 0100145CH LINE CODE --- #114 + 0100145CH LINE CODE --- #115 + 0100145EH LINE CODE --- #116 + 0100145EH LINE CODE --- #117 + --- BLOCKEND --- --- LVL=0 + + 010014F8H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE ts_ch + 00000005H SYMBOL DATA BYTE area + 010014F8H LINE CODE --- #130 + 010014F8H LINE CODE --- #131 + 010014F8H LINE CODE --- #132 + 0100150AH LINE CODE --- #133 + --- BLOCKEND --- --- LVL=0 + + 0100127AH BLOCK CODE --- LVL=0 + 00000001H SYMBOL DATA BYTE Slider_Cnt + 0100127CH BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000006H SYMBOL DATA BYTE j + 00000036H SYMBOL DATA WORD MinVal + --- BLOCKEND --- --- LVL=1 + 0100127AH LINE CODE --- #134 + 0100127CH LINE CODE --- #135 + 0100127CH LINE CODE --- #138 + 01001282H LINE CODE --- #139 + 01001299H LINE CODE --- #140 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 57 + + + 01001299H LINE CODE --- #141 + 010012ADH LINE CODE --- #142 + 010012ADH LINE CODE --- #143 + 010012B2H LINE CODE --- #144 + 010012B6H LINE CODE --- #145 + 010012B6H LINE CODE --- #146 + 010012BAH LINE CODE --- #147 + --- BLOCKEND --- --- LVL=0 + + 01000296H BLOCK CODE --- LVL=0 + 00000036H SYMBOL DATA BYTE WHEEL_SLIDER0_CH_COUNT_V + 00000037H SYMBOL DATA WORD WHEEL_SLIDER0_TOUCH_THD_V + 0100029CH BLOCK CODE NEAR LAB LVL=1 + 00000039H SYMBOL DATA BYTE i + 0000003AH SYMBOL DATA DWORD CalcTemp1 + 0000003EH SYMBOL DATA WORD CalcTemp2 + 00000006H SYMBOL DATA WORD CalcTemp3 + 00000005H SYMBOL DATA BYTE DeltaRate + 00000040H SYMBOL DATA INT Delta + 00000042H SYMBOL DATA WORD MaxDelta1 + 00000044H SYMBOL DATA WORD MaxDelta2 + 00000046H SYMBOL DATA BYTE Maxidx1 + 00000047H SYMBOL DATA BYTE Maxidx2 + 00000048H SYMBOL DATA INT Position + 00000004H SYMBOL DATA INT PosOffset + 01000428H BLOCK CODE NEAR LAB LVL=2 + 00000020H.7 SYMBOL BIT BIT dir_flag + --- BLOCKEND --- --- LVL=2 + --- BLOCKEND --- --- LVL=1 + 01000296H LINE CODE --- #149 + 0100029CH LINE CODE --- #150 + 0100029CH LINE CODE --- #160 + 010002A5H LINE CODE --- #161 + 010002B1H LINE CODE --- #162 + 010002B1H LINE CODE --- #163 + 010002BAH LINE CODE --- #164 + 010002BAH LINE CODE --- #165 + 010002D4H LINE CODE --- #166 + 010002D6H LINE CODE --- #168 + 010002D6H LINE CODE --- #169 + 010002E7H LINE CODE --- #170 + 010002FEH LINE CODE --- #171 + 0100030DH LINE CODE --- #172 + 01000322H LINE CODE --- #173 + 0100033AH LINE CODE --- #174 + 0100033AH LINE CODE --- #175 + 01000348H LINE CODE --- #178 + 01000353H LINE CODE --- #179 + 01000353H LINE CODE --- #181 + 0100035CH LINE CODE --- #182 + 01000365H LINE CODE --- #183 + 01000367H LINE CODE --- #184 + 01000372H LINE CODE --- #185 + 01000372H LINE CODE --- #187 + 0100037BH LINE CODE --- #188 + 0100037BH LINE CODE --- #193 + 01000380H LINE CODE --- #195 + 01000393H LINE CODE --- #196 + 01000393H LINE CODE --- #197 + 01000398H LINE CODE --- #198 + 01000398H LINE CODE --- #200 + 010003ACH LINE CODE --- #201 + 010003B9H LINE CODE --- #202 + 010003C1H LINE CODE --- #204 + 010003D4H LINE CODE --- #206 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 58 + + + 010003DEH LINE CODE --- #207 + 010003EAH LINE CODE --- #209 + 010003FBH LINE CODE --- #210 + 01000405H LINE CODE --- #211 + 01000405H LINE CODE --- #212 + 01000408H LINE CODE --- #213 + 0100040AH LINE CODE --- #215 + 0100040AH LINE CODE --- #216 + 01000414H LINE CODE --- #217 + 01000417H LINE CODE --- #218 + 01000417H LINE CODE --- #219 + 01000422H LINE CODE --- #220 + 01000428H LINE CODE --- #222 + 01000428H LINE CODE --- #224 + 01000431H LINE CODE --- #225 + 0100043AH LINE CODE --- #226 + 0100044DH LINE CODE --- #228 + 0100045BH LINE CODE --- #229 + 01000469H LINE CODE --- #230 + 01000474H LINE CODE --- #231 + 01000476H LINE CODE --- #233 + 01000479H LINE CODE --- #234 + 01000479H LINE CODE --- #235 + 01000483H LINE CODE --- #236 + 01000485H LINE CODE --- #238 + 01000485H LINE CODE --- #239 + 0100048BH LINE CODE --- #240 + 0100048BH LINE CODE --- #241 + 0100049CH LINE CODE --- #242 + 0100049CH LINE CODE --- #243 + 010004A7H LINE CODE --- #244 + 010004A7H LINE CODE --- #245 + 010004A7H LINE CODE --- #246 + 010004ABH LINE CODE --- #247 + --- BLOCKEND --- --- LVL=0 + 00000006H SYMBOL DATA WORD CalcTemp3 + 00000005H SYMBOL DATA BYTE DeltaRate + 00000006H SYMBOL DATA INT PosOffset + + --- MODULE --- --- ?C_STARTUP + 01000000H PUBLIC CODE --- ?C_STARTUP + 000000E0H SYMBOL DATA --- ACC + 000000F0H SYMBOL DATA --- B + 00000083H SYMBOL DATA --- DPH + 00000082H SYMBOL DATA --- DPL + 00000000H SYMBOL NUMBER --- IBPSTACK + 00000100H SYMBOL NUMBER --- IBPSTACKTOP + 00000080H SYMBOL NUMBER --- IDATALEN + 01000FD9H SYMBOL CODE --- IDATALOOP + 00000000H SYMBOL NUMBER --- PBPSTACK + 00000100H SYMBOL NUMBER --- PBPSTACKTOP + 00000000H SYMBOL NUMBER --- PDATALEN + 00000000H SYMBOL NUMBER --- PDATASTART + 00000000H SYMBOL NUMBER --- PPAGE + 00000000H SYMBOL NUMBER --- PPAGEENABLE + 000000A0H SYMBOL DATA --- PPAGE_SFR + 00000081H SYMBOL DATA --- SP + 01000FD6H SYMBOL CODE --- STARTUP1 + 00000000H SYMBOL NUMBER --- XBPSTACK + 00000000H SYMBOL NUMBER --- XBPSTACKTOP + 00000000H SYMBOL NUMBER --- XDATALEN + 00000000H SYMBOL NUMBER --- XDATASTART + 01000000H LINE CODE --- #126 + 01000FD6H LINE CODE --- #133 + 01000FD8H LINE CODE --- #134 + LX51 LINKER/LOCATER V4.41 03/05/2021 14:38:23 PAGE 59 + + + 01000FD9H LINE CODE --- #135 + 01000FDAH LINE CODE --- #136 + 01000FDCH LINE CODE --- #185 + 01000FDFH LINE CODE --- #196 + + --- MODULE --- --- ?C_INIT + 0100101DH PUBLIC CODE --- ?C_START + + --- MODULE --- --- ?C?CSTPTR + 01000036H PUBLIC CODE --- ?C?CSTPTR + + --- MODULE --- --- ?C?IMUL + 01000048H PUBLIC CODE --- ?C?IMUL + + --- MODULE --- --- ?C?UIDIV + 0100005AH PUBLIC CODE --- ?C?UIDIV + + --- MODULE --- --- ?C?SIDIV + 010000AFH PUBLIC CODE --- ?C?SIDIV + + --- MODULE --- --- ?C?IILDX + 010000E5H PUBLIC CODE --- ?C?IILDX + + --- MODULE --- --- ?C?LMUL + 010000FBH PUBLIC CODE --- ?C?LMUL + + --- MODULE --- --- ?C?ULDIV + 01000186H PUBLIC CODE --- ?C?ULDIV + + --- MODULE --- --- ?C?ULSHR + 01000218H PUBLIC CODE --- ?C?ULSHR + + --- MODULE --- --- ?C?OFFXADD + 0100022BH PUBLIC CODE --- ?C?OFFXADD + + --- MODULE --- --- ?C?PLDCODE + 01000237H PUBLIC CODE --- ?C?PLDCODE + + --- MODULE --- --- ?C?CCASE + 01000243H PUBLIC CODE --- ?C?CCASE + + --- MODULE --- --- ?C?LIMUL + 01000269H PUBLIC CODE --- ?C?LIMUL + +Program Size: data=87.0 xdata=419 const=105 code=5391 +LX51 RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/ca51fx_onoff.map b/lst/ca51fx_onoff.map new file mode 100644 index 0000000..9670fe7 --- /dev/null +++ b/lst/ca51fx_onoff.map @@ -0,0 +1,3900 @@ +LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 1 + + +LX51 LINKER/LOCATER V4.66.100.0, INVOKED BY: +D:\PROGRAM FILES\KEIL_V5\C51\BIN\LX51.EXE .\hex\main.obj, .\hex\delay.obj, .\hex\system_clock.obj, .\hex\uart.obj, .\hex +>> \interrupt.obj, .\hex\rf_send.obj, .\hex\debug.obj, .\hex\ts_api.obj, .\TS_Lib\Sources\ts_service.LIB, .\hex\STARTUP. +>> obj TO .\hex\ca51fx_onoff PRINT (.\lst\ca51fx_onoff.map) REMOVEUNUSED CLASSES (XDATA (X:0X0-X:0X1FF), HDATA (X:0X0-X: +>> 0X1FF), CODE (C:0X0-C:0X1FFF), CONST (C:0X0-C:0X1FFF), ECODE (C:0X0-C:0X1FFF), HCONST (C:0X0-C:0X1FFF)) + + +CPU MODE: 8051 MODE +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\hex\main.obj (MAIN) + COMMENT TYPE 0: C51 V9.60.7.0 + .\hex\delay.obj (DELAY) + COMMENT TYPE 0: C51 V9.60.7.0 + .\hex\system_clock.obj (SYSTEM_CLOCK) + COMMENT TYPE 0: C51 V9.60.7.0 + .\hex\uart.obj (UART) + COMMENT TYPE 0: C51 V9.60.7.0 + .\hex\interrupt.obj (INTERRUPT) + COMMENT TYPE 0: C51 V9.60.7.0 + .\hex\rf_send.obj (RF_SEND) + COMMENT TYPE 0: C51 V9.60.7.0 + .\hex\debug.obj (DEBUG) + COMMENT TYPE 0: C51 V9.60.7.0 + .\hex\ts_api.obj (TS_API) + COMMENT TYPE 0: C51 V9.60.7.0 + .\TS_Lib\Sources\ts_service.LIB (TS_SEVICE) + COMMENT TYPE 0: C51 V9.51 + .\hex\STARTUP.obj (?C_STARTUP) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?CSTPTR) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?IMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?SIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?IILDX) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?LMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?ULDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?ULSHR) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?OFFXADD) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?PLDCODE) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?CCASE) + COMMENT TYPE 1: A51 / ASM51 Assembler + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C?LIMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + + +ACTIVE MEMORY CLASSES OF MODULE: .\hex\ca51fx_onoff (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA +X:000000H X:000000H X:0001FFH HDATA + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 2 + + +C:000000H C:000000H C:001FFFH 001450H CODE +C:000000H C:000000H C:001FFFH 00015BH CONST +C:000000H C:000000H C:001FFFH ECODE +C:000000H C:000000H C:001FFFH HCONST +I:000000H I:000000H I:00007FH 00004AH DATA +I:000000H I:000000H I:0000FFH 000013H IDATA +I:000020H.0 I:000020H.0 I:00002FH.7 000000H.7 BIT + + +MEMORY MAP OF MODULE: .\hex\ca51fx_onoff (MAIN) + + +START STOP LENGTH ALIGN RELOC MEMORY CLASS SEGMENT NAME +========================================================================= + +* * * * * * * * * * * D A T A M E M O R Y * * * * * * * * * * * * * +000000H 000007H 000008H --- AT.. DATA "REG BANK 0" +000008H 000014H 00000DH BYTE UNIT DATA ?DT?RF_SEND +000015H 00001DH 000009H BYTE UNIT DATA ?DT?TS_API +00001EH 00001EH 000001H BYTE UNIT DATA ?DT?INTERRUPT +00001FH.0 00001FH.7 000001H.0 --- --- **GAP** +000020H.0 000020H.4 000000H.5 BIT UNIT BIT ?BI?TS_API +000020H.5 000020H.6 000000H.2 BIT UNIT BIT _BIT_GROUP_ +000020H.7 000020H 000000H.1 --- --- **GAP** +000021H 000048H 000028H BYTE UNIT DATA _DATA_GROUP_ +000049H 00004BH 000003H BYTE UNIT DATA ?DT?MAIN +00004CH 00005BH 000010H BYTE UNIT IDATA ?ID?TS_API +00005CH 00005DH 000002H BYTE UNIT IDATA ?ID?RF_SEND +00005EH 00005EH 000001H BYTE UNIT IDATA ?STACK + +* * * * * * * * * * * C O D E M E M O R Y * * * * * * * * * * * * * +000000H 000002H 000003H --- OFFS.. CODE ?CO??C_STARTUP?0 +000003H 000009H 000007H BYTE UNIT CODE ?PR?RF_SEND +00000AH 00000AH 000001H BYTE UNIT CODE ?PR?INT2_HANDLER?INTERRUPT +00000BH 00000DH 000003H BYTE OFFS.. CODE ?MAIN?0000B +00000EH 000022H 000015H BYTE UNIT CODE ?PR?TS_HS_ISR?TS_API +000023H 000025H 000003H BYTE OFFS.. CODE ?INTERRUPT?00023 +000026H 000026H 000001H BYTE UNIT CODE ?PR?INT4_ISR?INTERRUPT +000027H 00002AH 000004H --- --- **GAP** +00002BH 00002DH 000003H BYTE OFFS.. CODE ?INTERRUPT?0002B +00002EH 000032H 000005H --- --- **GAP** +000033H 000035H 000003H BYTE OFFS.. CODE ?INTERRUPT?00033 +000036H 000295H 000260H BYTE UNIT CODE ?C?LIB_CODE +000296H 0004ABH 000216H BYTE UNIT CODE ?PR?_WHEELTOUCHJUDGE?TS_SEVICE +0004ACH 000658H 0001ADH BYTE UNIT CODE ?PR?TS_ENTERSLEEPMODE?TS_API +000659H 0007E2H 00018AH BYTE UNIT CODE ?PR?TS_WHEELSLIDERDEAL?TS_API +0007E3H 000903H 000121H BYTE UNIT CODE ?PR?TS_SEVICE +000904H 000A11H 00010EH BYTE UNIT CODE ?PR?TS_API +000A12H 000B1BH 00010AH BYTE UNIT CODE ?PR?MAIN?MAIN +000B1CH 000C18H 0000FDH BYTE UNIT CODE ?PR?SEND433_BYTE?RF_SEND +000C19H 000D14H 0000FCH BYTE UNIT CODE ?PR?TSKEY_DATADEAL?TS_API +000D15H 000DEDH 0000D9H BYTE UNIT CODE ?PR?TS_RUNINIT?TS_API +000DEEH 000EB6H 0000C9H BYTE UNIT CODE ?PR?TS_ISR?TS_API +000EB7H 000F70H 0000BAH BYTE UNIT CODE ?PR?TS_DATAFILTERING?TS_API +000F71H 000FFCH 00008CH BYTE UNIT CODE ?C_C51STARTUP +000FFDH 00107BH 00007FH BYTE UNIT CODE ?PR?TS_INIT?TS_API +00107CH 0010F9H 00007EH BYTE UNIT CODE ?PR?INT3_ISR?INTERRUPT +0010FAH 00115DH 000064H BYTE UNIT CODE ?PR?TS_ACTION?TS_API +00115EH 0011BCH 00005FH BYTE UNIT CODE ?PR?_TS_GETDATAAREA?TS_SEVICE +0011BDH 00120AH 00004EH BYTE UNIT CODE ?PR?TS_SCANSTART?TS_SEVICE +00120BH 00124BH 000041H BYTE UNIT CODE ?PR?TIMER0_ISR?MAIN +00124CH 00128CH 000041H BYTE UNIT CODE ?PR?_SETWHEELSLIDERREFCH?TS_SEVICE +00128DH 0012C6H 00003AH BYTE UNIT CODE ?PR?READ_32BIT_UID?MAIN +0012C7H 0012FEH 000038H BYTE UNIT CODE ?PR?_TS_SETCHANNEL?TS_SEVICE +0012FFH 001334H 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 3 + + +001335H 001363H 00002FH BYTE UNIT CODE ?PR?TS_IO_INIT?TS_SEVICE +001364H 001391H 00002EH BYTE UNIT CODE ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE +001392H 0013BDH 00002CH BYTE UNIT CODE ?C_INITSEG +0013BEH 0013E9H 00002CH BYTE UNIT CODE ?PR?MAIN +0013EAH 001414H 00002BH BYTE UNIT CODE ?PR?TS_SLEEPSCANSTART?TS_API +001415H 00142FH 00001BH BYTE UNIT CODE ?PR?_DELAY_MS?DELAY +001430H 001445H 000016H BYTE UNIT CODE ?PR?_DELAY_50US?DELAY +001446H 001458H 000013H BYTE UNIT CODE ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE +001459H 001557H 0000FFH BYTE UNIT CONST ?CO?MAIN +001558H 00158CH 000035H BYTE UNIT CONST ?CO?TS_API +00158DH 0015B3H 000027H BYTE UNIT CONST ?CO?TS_SEVICE + +* * * * * * * * * * * X D A T A M E M O R Y * * * * * * * * * * * * * +000000H 000127H 000128H BYTE UNIT XDATA ?XD?TS_API +000128H 000157H 000030H BYTE UNIT XDATA _XDATA_GROUP_ +000158H 007FFFH 007EA8H --- --- **GAP** +008000H 008000H 000001H BYTE OFFS.. XDATA ?XD?MAIN?52 +008001H 008001H 000001H BYTE OFFS.. XDATA ?XD?MAIN?55 +008002H 008002H 000001H BYTE OFFS.. XDATA ?XD?MAIN?58 +008003H 008003H 000001H BYTE OFFS.. XDATA ?XD?MAIN?62 +008004H 008004H 000001H BYTE OFFS.. XDATA ?XD?MAIN?67 +008005H 008005H 000001H BYTE OFFS.. XDATA ?XD?MAIN?70 +008006H 008006H 000001H BYTE OFFS.. XDATA ?XD?MAIN?72 +008007H 008007H 000001H BYTE OFFS.. XDATA ?XD?MAIN?74 +008008H 008017H 000010H --- --- **GAP** +008018H 008018H 000001H BYTE OFFS.. XDATA ?XD?MAIN?61 +008019H 008019H 000001H BYTE OFFS.. XDATA ?XD?MAIN?66 +00801AH 00801AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?69 +00801BH 00801BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?71 +00801CH 00801CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?73 +00801DH 00801DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?0 +00801EH 00802FH 000012H --- --- **GAP** +008030H 008030H 000001H BYTE OFFS.. XDATA ?XD?MAIN?43 +008031H 008031H 000001H BYTE OFFS.. XDATA ?XD?MAIN?44 +008032H 008032H 000001H BYTE OFFS.. XDATA ?XD?MAIN?38 +008033H 008033H 000001H BYTE OFFS.. XDATA ?XD?MAIN?29 +008034H 008034H 000001H BYTE OFFS.. XDATA ?XD?MAIN?26 +008035H 00804FH 00001BH --- --- **GAP** +008050H 008050H 000001H BYTE OFFS.. XDATA ?XD?MAIN?21 +008051H 008051H 000001H BYTE OFFS.. XDATA ?XD?MAIN?12 +008052H 008052H 000001H BYTE OFFS.. XDATA ?XD?MAIN?23 +008053H 008053H 000001H BYTE OFFS.. XDATA ?XD?MAIN?13 +008054H 008054H 000001H BYTE OFFS.. XDATA ?XD?MAIN?24 +008055H 008055H 000001H BYTE OFFS.. XDATA ?XD?MAIN?15 +008056H 008056H 000001H BYTE OFFS.. XDATA ?XD?MAIN?25 +008057H 008057H 000001H BYTE OFFS.. XDATA ?XD?MAIN?18 +008058H 008058H 000001H BYTE OFFS.. XDATA ?XD?MAIN?27 +008059H 008059H 000001H BYTE OFFS.. XDATA ?XD?MAIN?20 +00805AH 00805AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?28 +00805BH 00805BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?22 +00805CH 00805CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?36 +00805DH 00805DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?34 +00805EH 00805FH 000002H --- --- **GAP** +008060H 008060H 000001H BYTE OFFS.. XDATA ?XD?MAIN?35 +008061H 008061H 000001H BYTE OFFS.. XDATA ?XD?MAIN?33 +008062H 0080FFH 00009EH --- --- **GAP** +008100H 008100H 000001H BYTE OFFS.. XDATA ?XD?MAIN?6 +008101H 008101H 000001H BYTE OFFS.. XDATA ?XD?MAIN?17 +008102H 008102H 000001H BYTE OFFS.. XDATA ?XD?MAIN?2 +008103H 008103H 000001H BYTE OFFS.. XDATA ?XD?MAIN?5 +008104H 008104H 000001H --- --- **GAP** +008105H 008105H 000001H BYTE OFFS.. XDATA ?XD?MAIN?30 +008106H 008106H 000001H BYTE OFFS.. XDATA ?XD?MAIN?39 +008107H 008107H 000001H BYTE OFFS.. XDATA ?XD?MAIN?16 +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 4 + + +008109H 008109H 000001H BYTE OFFS.. XDATA ?XD?MAIN?65 +00810AH 00810AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?3 +00810BH 00810BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?10 +00810CH 00810CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?8 +00810DH 00810DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?11 +00810EH 00810EH 000001H BYTE OFFS.. XDATA ?XD?MAIN?9 +00810FH 00810FH 000001H BYTE OFFS.. XDATA ?XD?MAIN?4 +008110H 008110H 000001H BYTE OFFS.. XDATA ?XD?MAIN?37 +008111H 008111H 000001H BYTE OFFS.. XDATA ?XD?MAIN?40 +008112H 008112H 000001H BYTE OFFS.. XDATA ?XD?MAIN?19 +008113H 00811FH 00000DH --- --- **GAP** +008120H 008120H 000001H BYTE OFFS.. XDATA ?XD?MAIN?47 +008121H 008121H 000001H BYTE OFFS.. XDATA ?XD?MAIN?48 +008122H 008122H 000001H BYTE OFFS.. XDATA ?XD?MAIN?49 +008123H 008123H 000001H BYTE OFFS.. XDATA ?XD?MAIN?51 +008124H 008124H 000001H BYTE OFFS.. XDATA ?XD?MAIN?54 +008125H 008125H 000001H BYTE OFFS.. XDATA ?XD?MAIN?57 +008126H 008126H 000001H BYTE OFFS.. XDATA ?XD?MAIN?60 +008127H 008127H 000001H BYTE OFFS.. XDATA ?XD?MAIN?64 +008128H 008137H 000010H --- --- **GAP** +008138H 008138H 000001H BYTE OFFS.. XDATA ?XD?MAIN?50 +008139H 008139H 000001H BYTE OFFS.. XDATA ?XD?MAIN?53 +00813AH 00813AH 000001H BYTE OFFS.. XDATA ?XD?MAIN?56 +00813BH 00813BH 000001H BYTE OFFS.. XDATA ?XD?MAIN?59 +00813CH 00813CH 000001H BYTE OFFS.. XDATA ?XD?MAIN?63 +00813DH 00813DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?68 +00813EH 00FBFFH 007AC2H --- --- **GAP** +00FC00H 00FC00H 000001H BYTE OFFS.. XDATA ?XD?MAIN?46 +00FC01H 00FC01H 000001H BYTE OFFS.. XDATA ?XD?MAIN?42 +00FC02H 00FC02H 000001H BYTE OFFS.. XDATA ?XD?MAIN?45 +00FC03H 00FC03H 000001H BYTE OFFS.. XDATA ?XD?MAIN?14 +00FC04H 00FC04H 000001H BYTE OFFS.. XDATA ?XD?MAIN?41 +00FC05H 00FC05H 000001H BYTE OFFS.. XDATA ?XD?MAIN?32 +00FC06H 00FC06H 000001H BYTE OFFS.. XDATA ?XD?MAIN?31 +00FC07H 00FC0CH 000006H --- --- **GAP** +00FC0DH 00FC0DH 000001H BYTE OFFS.. XDATA ?XD?MAIN?7 + +* * * * * * * * * R E M O V E D S E G M E N T S * * * * * * * * + *DEL*: 00000CH BYTE UNIT CODE ?PR?SYS_CLK_SET_IRCH?SYSTEM_CLOCK + *DEL*: 00000EH BYTE UNIT CODE ?PR?SYS_CLK_SET_IRCL?SYSTEM_CLOCK + *DEL*: 000037H BYTE UNIT CODE ?PR?TS_BASELINEFORCEUPDATE?TS_SEVICE + *DEL*: 000001H BYTE UNIT DATA ?DT?TS_BASELINEFORCEUPDATE?TS_SEVICE + *DEL*: 000239H BYTE UNIT CODE ?PR?_SLIDERTOUCHJUDGE?TS_SEVICE + *DEL*: 000014H BYTE UNIT DATA ?DT?_SLIDERTOUCHJUDGE?TS_SEVICE + + + +OVERLAY MAP OF MODULE: .\hex\ca51fx_onoff (MAIN) + + +FUNCTION/MODULE BIT_GROUP DATA_GROUP XDATA_GROUP +--> CALLED FUNCTION/MODULE START STOP START STOP START STOP +============================================================================= +TIMER0_ISR/MAIN ----- ----- ----- ----- ----- ----- + +--> SEND433_BYTE/RF_SEND + +SEND433_BYTE/RF_SEND ----- ----- ----- ----- ----- ----- + +--> RF_SEND + +RF_SEND ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +INT2_HANDLER/INTERRUPT ----- ----- ----- ----- ----- ----- + + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 5 + + +*** NEW ROOT ************************** + +INT3_ISR/INTERRUPT ----- ----- ----- ----- ----- ----- + +--> TS_MS_ISR/TS_API + +--> TS_HS_ISR/TS_API + +--> TS_ISR/TS_API + +TS_MS_ISR/TS_API ----- ----- ----- ----- ----- ----- + +--> TS_API + +TS_API ----- ----- ----- ----- ----- ----- + +TS_HS_ISR/TS_API ----- ----- ----- ----- ----- ----- + +TS_ISR/TS_API ----- ----- 0021H 002CH ----- ----- + +--> TS_API + +--> TS_SCANSTART/TS_SEVICE + +TS_SCANSTART/TS_SEVICE ----- ----- ----- ----- ----- ----- + +--> _TS_SETCHANNEL/TS_SEVICE + +_TS_SETCHANNEL/TS_SEVICE ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +INT4_ISR/INTERRUPT ----- ----- ----- ----- ----- ----- + +*** NEW ROOT ************************** + +?C_C51STARTUP ----- ----- ----- ----- ----- ----- + +--> MAIN/MAIN + +--> ?C_INITSEG + +MAIN/MAIN ----- ----- 002DH 0031H ----- ----- + +--> TS_INIT/TS_API + +--> READ_32BIT_UID/MAIN + +--> TS_ACTION/TS_API + +TS_INIT/TS_API ----- ----- ----- ----- ----- ----- + +--> TS_IO_INIT/TS_SEVICE + +--> TS_API + +TS_IO_INIT/TS_SEVICE ----- ----- ----- ----- ----- ----- + +READ_32BIT_UID/MAIN ----- ----- 0032H 0035H ----- ----- + +--> MAIN + +MAIN ----- ----- ----- ----- ----- ----- + +TS_ACTION/TS_API ----- ----- ----- ----- ----- ----- + +--> TS_RUNINIT/TS_API + +--> TS_DATAFILTERING/TS_API + +--> TSKEY_DATADEAL/TS_API + +--> TS_WHEELSLIDERDEAL/TS_API + +--> TS_API + +--> _DELAY_MS/DELAY + +--> TS_ENTERSLEEPMODE/TS_API + +--> TS_INIT/TS_API + +TS_RUNINIT/TS_API ----- ----- 0032H 0032H ----- ----- + +--> TS_SCANSTART/TS_SEVICE + +--> TS_API + +--> _TS_AREACONFIRMTIMERSET/TS_SEVICE + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 6 + + + +TS_DATAFILTERING/TS_API ----- ----- 0032H 0038H ----- ----- + +--> TS_API + +TSKEY_DATADEAL/TS_API ----- ----- 0032H 0034H ----- ----- + +--> TS_API + +--> _TS_AREADEVIATEDETECTION/TS_SEVICE + +--> _TS_AREACONFIRMTIMERSET/TS_SEVICE + +--> _TS_GETDATAAREA/TS_SEVICE + +_TS_AREADEVIATEDETECTION/TS_SEVICE ----- ----- ----- ----- ----- ----- + +_TS_GETDATAAREA/TS_SEVICE 20H.5 20H.5 0035H 0036H ----- ----- + +--> TS_SEVICE + +TS_SEVICE ----- ----- ----- ----- ----- ----- + +TS_WHEELSLIDERDEAL/TS_API 20H.5 20H.5 0032H 0034H ----- ----- + +--> _SETWHEELSLIDERREFCH/TS_SEVICE + +--> _WHEELTOUCHJUDGE/TS_SEVICE + +--> TS_API + +_SETWHEELSLIDERREFCH/TS_SEVICE ----- ----- 0035H 0036H ----- ----- + +--> TS_SEVICE + +_WHEELTOUCHJUDGE/TS_SEVICE 20H.6 20H.6 0035H 0048H ----- ----- + +--> TS_SEVICE + +_DELAY_MS/DELAY ----- ----- ----- ----- ----- ----- + +--> _DELAY_50US/DELAY + +_DELAY_50US/DELAY ----- ----- ----- ----- ----- ----- + +TS_ENTERSLEEPMODE/TS_API ----- ----- 0032H 0034H 0128H 0157H + +--> TS_SLEEPSCANSTART/TS_API + +--> TS_API + +--> _DELAY_50US/DELAY + +--> TS_SCANSTART/TS_SEVICE + +TS_SLEEPSCANSTART/TS_API ----- ----- 0035H 0035H ----- ----- + +--> TS_API + +--> _TS_SETCHANNEL/TS_SEVICE + +?C_INITSEG ----- ----- ----- ----- ----- ----- + + + +PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx_onoff (MAIN) + + + VALUE CLASS TYPE PUBLIC SYMBOL NAME + ================================================= + 00000020H.5 BIT BIT ?_TS_GetDataArea?BIT + 01000243H CODE --- ?C?CCASE + 00000000H NUMBER --- ?C?CODESEG + 01000036H CODE --- ?C?CSTPTR + 010000E5H CODE --- ?C?IILDX + 01000048H CODE --- ?C?IMUL + 01000269H CODE --- ?C?LIMUL + 010000FBH CODE --- ?C?LMUL + 0100022BH CODE --- ?C?OFFXADD + 01000237H CODE --- ?C?PLDCODE + 010000AFH CODE --- ?C?SIDIV + 0100005AH CODE --- ?C?UIDIV + 01000186H CODE --- ?C?ULDIV + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 7 + + + 01000218H CODE --- ?C?ULSHR + 00000000H NUMBER --- ?C?XDATASEG + 01000FB8H CODE --- ?C_START + 01000000H CODE --- ?C_STARTUP + 01001430H CODE --- _Delay_50us + 01001415H CODE --- _Delay_ms + 0100124CH CODE --- _SetWheelSliderRefCh +*DEL*:00000000H CODE --- _SliderTouchJudge + 01001446H CODE --- _TS_AreaConfirmTimerSet + 01001364H CODE --- _TS_AreaDeviateDetection + 0100115EH CODE --- _TS_GetDataArea + 010012C7H CODE --- _TS_SetChannel + 01000296H CODE --- _WheelTouchJudge +*SFR* 000000D0H.6 DATA BIT AC +*SFR* 000000E0H DATA BYTE ACC + 00000018H DATA BYTE ActiveTouchType +*SFR* 000000DEH DATA BYTE AK0CON +*SFR* 000000DFH DATA BYTE AK1CON + 01001588H CONST --- AREA_CONFIRM_TIME_TAB +*SFR* 000000F4H DATA BYTE ATK0CH +*SFR* 000000F3H DATA BYTE ATK0CL + 02008051H XDATA BYTE ATK0NH + 02008050H XDATA BYTE ATK0NL +*SFR* 000000F6H DATA BYTE ATK1CH +*SFR* 000000F5H DATA BYTE ATK1CL + 02008053H XDATA BYTE ATK1NH + 02008052H XDATA BYTE ATK1NL +*SFR* 000000E9H DATA BYTE ATK2CH +*SFR* 000000F7H DATA BYTE ATK2CL + 02008055H XDATA BYTE ATK2NH + 02008054H XDATA BYTE ATK2NL +*SFR* 000000EBH DATA BYTE ATK3CH +*SFR* 000000EAH DATA BYTE ATK3CL + 02008057H XDATA BYTE ATK3NH + 02008056H XDATA BYTE ATK3NL +*SFR* 000000EDH DATA BYTE ATK4CH +*SFR* 000000ECH DATA BYTE ATK4CL + 02008059H XDATA BYTE ATK4NH + 02008058H XDATA BYTE ATK4NL +*SFR* 000000EFH DATA BYTE ATK5CH +*SFR* 000000EEH DATA BYTE ATK5CL + 0200805BH XDATA BYTE ATK5NH + 0200805AH XDATA BYTE ATK5NL +*SFR* 000000F0H DATA BYTE B + 00000012H DATA BYTE Chose_Data_En + 02008030H XDATA BYTE CKCON + 02008031H XDATA BYTE CKDIV +*SFR* 000000D0H.7 DATA BIT CY + 00000013H DATA BYTE D0 + 00000014H DATA BYTE D1 +*SFR* 00000083H DATA BYTE DP0H +*SFR* 00000082H DATA BYTE DP0L +*SFR* 00000085H DATA BYTE DP1H +*SFR* 00000084H DATA BYTE DP1L +*SFR* 000000D0H.1 DATA BIT DPS +*SFR* 000000A8H.7 DATA BIT EA + 020000FBH XDATA BYTE EnterStopScanTimer +*SFR* 000000D1H DATA BYTE EP0CON +*SFR* 000000D2H DATA BYTE EP1CON +*SFR* 000000D3H DATA BYTE EP2CON +*SFR* 000000D4H DATA BYTE EPIF +*SFR* 000000A8H.4 DATA BIT ES0 +*SFR* 000000A8H.1 DATA BIT ET0 +*SFR* 000000A8H.3 DATA BIT ET1 +*SFR* 000000A8H.0 DATA BIT EX0 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 8 + + +*SFR* 000000A8H.2 DATA BIT EX1 +*SFR* 000000D0H.5 DATA BIT F0 + 00000049H DATA BYTE flagSend + 0000004BH DATA BYTE flagStart + 0200FC01H XDATA BYTE FSCMD + 0200FC02H XDATA BYTE FSDAT +*SFR* 000000C2H DATA BYTE I2CADM +*SFR* 000000C1H DATA BYTE I2CADR +*SFR* 000000C0H DATA BYTE I2CCON +*SFR* 000000C3H DATA BYTE I2CCR +*SFR* 000000C4H DATA BYTE I2CDAT +*SFR* 000000C6H DATA BYTE I2CFLG + 02008101H XDATA BYTE I2CIOS +*SFR* 000000C5H DATA BYTE I2CSTA + 0000005CH IDATA WORD ID +*SFR* 0000008EH DATA BYTE IDLST +*SFR* 000000A8H DATA BYTE IE +*SFR* 00000088H.1 DATA BIT IE0 +*SFR* 00000088H.3 DATA BIT IE1 + 02008032H XDATA BYTE IHCFG + 02008034H XDATA BYTE ILCFGH + 02008033H XDATA BYTE ILCFGL + 0100000AH CODE --- INT2_Handler + 0100107CH CODE --- INT3_ISR +*SFR* 000000A8H.5 DATA BIT INT3EN + 01000026H CODE --- INT4_ISR +*SFR* 000000A8H.6 DATA BIT INT4EN +*SFR* 000000B8H DATA BYTE IP +*SFR* 00000088H.0 DATA BIT IT0 +*SFR* 00000088H.2 DATA BIT IT1 + 020000FEH XDATA BYTE KeysFlagSN +*SFR* 000000D7H DATA BYTE LEDAT0 +*SFR* 000000C7H DATA BYTE LEDAT1 + 02008061H XDATA BYTE LEDUTH + 02008060H XDATA BYTE LEDUTL +*SFR* 000000CFH DATA BYTE LEDWTMH +*SFR* 000000CEH DATA BYTE LEDWTML +*SFR* 000000BFH DATA BYTE LEFLG + 0200FC03H XDATA BYTE LOCK + 02008105H XDATA BYTE LVDCFG +*SFR* 000000E8H DATA BYTE LVDCON + 01000A12H CODE --- main + 02000126H XDATA BYTE MainLoopCnt1 + 02000127H XDATA BYTE MainLoopCnt2 + 01001580H CONST --- MASK_TAB + 0200FC00H XDATA BYTE MECON + 0200FC0DH XDATA BYTE MEMPTEC +*SFR* 000000D0H.2 DATA BIT OV +*SFR* 000000D0H.0 DATA BIT P +*SFR* 00000080H DATA BYTE P0 +*SFR* 00000080H.0 DATA BIT P00 + 02008120H XDATA BYTE P00C + 02008000H XDATA BYTE P00F +*SFR* 00000080H.1 DATA BIT P01 + 02008121H XDATA BYTE P01C + 02008001H XDATA BYTE P01F +*SFR* 00000080H.2 DATA BIT P02 + 02008122H XDATA BYTE P02C + 02008002H XDATA BYTE P02F +*SFR* 00000080H.3 DATA BIT P03 + 02008123H XDATA BYTE P03C + 02008003H XDATA BYTE P03F +*SFR* 00000080H.4 DATA BIT P04 + 02008124H XDATA BYTE P04C + 02008004H XDATA BYTE P04F + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 9 + + +*SFR* 00000080H.5 DATA BIT P05 + 02008125H XDATA BYTE P05C + 02008005H XDATA BYTE P05F +*SFR* 00000080H.6 DATA BIT P06 + 02008126H XDATA BYTE P06C + 02008006H XDATA BYTE P06F +*SFR* 00000080H.7 DATA BIT P07 + 02008127H XDATA BYTE P07C + 02008007H XDATA BYTE P07F +*SFR* 000000B0H DATA BYTE P3 +*SFR* 000000B0H.0 DATA BIT P30 + 02008138H XDATA BYTE P30C + 02008018H XDATA BYTE P30F +*SFR* 000000B0H.1 DATA BIT P31 + 02008139H XDATA BYTE P31C + 02008019H XDATA BYTE P31F +*SFR* 000000B0H.2 DATA BIT P32 + 0200813AH XDATA BYTE P32C + 0200801AH XDATA BYTE P32F +*SFR* 000000B0H.3 DATA BIT P33 + 0200813BH XDATA BYTE P33C + 0200801BH XDATA BYTE P33F +*SFR* 000000B0H.4 DATA BIT P34 + 0200813CH XDATA BYTE P34C + 0200801CH XDATA BYTE P34F +*SFR* 000000B0H.5 DATA BIT P35 + 0200813DH XDATA BYTE P35C + 0200801DH XDATA BYTE P35F + 0200FC04H XDATA BYTE PADRD +*SFR* 00000087H DATA BYTE PCON +*SFR* 000000B0H.2 DATA BIT Pin_rf + 0000005BH IDATA BYTE PreKeysFlagSN +*SFR* 000000B8H.4 DATA BIT PS0 +*SFR* 000000B8H.6 DATA BIT PS1 +*SFR* 000000D0H DATA BYTE PSW +*SFR* 000000B8H.1 DATA BIT PT0 +*SFR* 000000B8H.3 DATA BIT PT1 +*SFR* 000000B8H.5 DATA BIT PT2 + 0200FC06H XDATA BYTE PTSH + 0200FC05H XDATA BYTE PTSL +*SFR* 00000086H DATA BYTE PWCON +*SFR* 000000B1H DATA BYTE PWM0CKD +*SFR* 000000B9H DATA BYTE PWM0CON +*SFR* 000000AAH DATA BYTE PWM0DIVH +*SFR* 000000A9H DATA BYTE PWM0DIVL +*SFR* 0000009CH DATA BYTE PWM0DUTH +*SFR* 0000009BH DATA BYTE PWM0DUTL +*SFR* 000000B2H DATA BYTE PWM1CKD +*SFR* 000000BAH DATA BYTE PWM1CON +*SFR* 000000ACH DATA BYTE PWM1DIVH +*SFR* 000000ABH DATA BYTE PWM1DIVL +*SFR* 0000009EH DATA BYTE PWM1DUTH +*SFR* 0000009DH DATA BYTE PWM1DUTL +*SFR* 000000B3H DATA BYTE PWM2CKD +*SFR* 000000BBH DATA BYTE PWM2CON +*SFR* 000000AEH DATA BYTE PWM2DIVH +*SFR* 000000ADH DATA BYTE PWM2DIVL +*SFR* 00000091H DATA BYTE PWM2DUTH +*SFR* 0000009FH DATA BYTE PWM2DUTL +*SFR* 000000B4H DATA BYTE PWM3CKD +*SFR* 000000BCH DATA BYTE PWM3CON +*SFR* 000000A4H DATA BYTE PWM3DIVH +*SFR* 000000AFH DATA BYTE PWM3DIVL +*SFR* 00000093H DATA BYTE PWM3DUTH +*SFR* 00000092H DATA BYTE PWM3DUTL + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 10 + + +*SFR* 000000B5H DATA BYTE PWM4CKD +*SFR* 000000BDH DATA BYTE PWM4CON +*SFR* 000000A6H DATA BYTE PWM4DIVH +*SFR* 000000A5H DATA BYTE PWM4DIVL +*SFR* 00000095H DATA BYTE PWM4DUTH +*SFR* 00000094H DATA BYTE PWM4DUTL +*SFR* 000000B6H DATA BYTE PWM5CKD +*SFR* 000000BEH DATA BYTE PWM5CON +*SFR* 0000009AH DATA BYTE PWM5DIVH +*SFR* 000000A7H DATA BYTE PWM5DIVL +*SFR* 00000097H DATA BYTE PWM5DUTH +*SFR* 00000096H DATA BYTE PWM5DUTL +*SFR* 00000090H DATA BYTE PWMEN +*SFR* 000000B7H DATA BYTE PWMIF +*SFR* 000000B8H.0 DATA BIT PX0 +*SFR* 000000B8H.2 DATA BIT PX1 + 0100158DH CONST --- pXSFR +*SFR* 00000098H.2 DATA BIT RB8 + 0100128DH CODE --- Read_32bit_UID +*SFR* 00000098H.4 DATA BIT REN + 01001459H CONST --- rf_data + 00000008H DATA BYTE RF_Time +*SFR* 00000098H.0 DATA BIT RI0 +*SFR* 000000D0H.3 DATA BIT RS0 +*SFR* 000000D0H.4 DATA BIT RS1 +*SFR* 00000099H DATA BYTE S0BUF +*SFR* 00000098H DATA BYTE S0CON + 0000000EH DATA BYTE Send433_Bit_Cont + 01000B1CH CODE --- Send433_Byte + 0000000AH DATA BYTE Send433_Byte_Cont + 00000009H DATA BYTE Send433_Status + 0000000CH DATA WORD Send433_Time +*SFR* 00000098H.7 DATA BIT SM0 +*SFR* 00000098H.6 DATA BIT SM1 +*SFR* 00000098H.5 DATA BIT SM2 +*SFR* 00000081H DATA BYTE SP + 02008100H XDATA BYTE SPMAX +*SFR* 0000008FH DATA BYTE STPST +*DEL*:00000000H CODE --- Sys_Clk_Set_IRCH +*DEL*:00000000H CODE --- Sys_Clk_Set_IRCL +*SFR* 000000CBH DATA BYTE T2CH +*SFR* 000000CAH DATA BYTE T2CL +*SFR* 000000C8H DATA BYTE T2CON +*SFR* 000000C8H.3 DATA BIT T2IE +*SFR* 000000C9H DATA BYTE T2MOD +*SFR* 000000C8H.0 DATA BIT T2P0 +*SFR* 000000C8H.1 DATA BIT T2P1 +*SFR* 000000C8H.4 DATA BIT T2R0 +*SFR* 000000C8H.5 DATA BIT T2R1 +*SFR* 00000098H.3 DATA BIT TB8 +*SFR* 00000088H DATA BYTE TCON + 0000000BH DATA BYTE Temp +*SFR* 00000088H.5 DATA BIT TF0 +*SFR* 00000088H.7 DATA BIT TF1 +*SFR* 000000C8H.7 DATA BIT TF2 +*SFR* 0000008CH DATA BYTE TH0 +*SFR* 0000008DH DATA BYTE TH1 +*SFR* 000000CDH DATA BYTE TH2 +*SFR* 00000098H.1 DATA BIT TI0 + 0100120BH CODE --- TIMER0_ISR +*SFR* 000000FCH DATA BYTE TK0CHS +*SFR* 000000E2H DATA BYTE TK0MSH +*SFR* 000000E1H DATA BYTE TK0MSL +*SFR* 000000FDH DATA BYTE TK1CHS +*SFR* 000000E4H DATA BYTE TK1MSH + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 11 + + +*SFR* 000000E3H DATA BYTE TK1MSL +*SFR* 000000FEH DATA BYTE TK2CHS +*SFR* 000000E6H DATA BYTE TK2MSH +*SFR* 000000E5H DATA BYTE TK2MSL +*SFR* 000000FFH DATA BYTE TK3CHS +*SFR* 000000D9H DATA BYTE TK3MSH +*SFR* 000000E7H DATA BYTE TK3MSL +*SFR* 000000F1H DATA BYTE TK4CHS +*SFR* 000000DBH DATA BYTE TK4MSH +*SFR* 000000DAH DATA BYTE TK4MSL +*SFR* 000000F2H DATA BYTE TK5CHS +*SFR* 000000DDH DATA BYTE TK5MSH +*SFR* 000000DCH DATA BYTE TK5MSL + 00000017H DATA BYTE TK_State +*SFR* 000000F9H DATA BYTE TKCFG + 02008102H XDATA BYTE TKCKS +*SFR* 000000F8H DATA BYTE TKCON +*SFR* 000000FBH DATA BYTE TKIF + 0200805CH XDATA BYTE TKMAXF + 0200805DH XDATA BYTE TKMINF +*SFR* 000000FAH DATA BYTE TKMTS + 02008103H XDATA BYTE TKPWC +*SFR* 0000008AH DATA BYTE TL0 +*SFR* 0000008BH DATA BYTE TL1 +*SFR* 000000CCH DATA BYTE TL2 + 0200810AH XDATA BYTE TLCKS + 0200810CH XDATA BYTE TLCNTKH + 0200810BH XDATA BYTE TLCNTKL + 0200810EH XDATA BYTE TLCNTLH + 0200810DH XDATA BYTE TLCNTLL + 02008110H XDATA BYTE TLCOMS + 02008108H XDATA BYTE TLCON + 02008107H XDATA BYTE TLDAT0 + 02008112H XDATA BYTE TLDAT1 + 0200810FH XDATA BYTE TLDIV + 02008106H XDATA BYTE TLEN0 + 02008111H XDATA BYTE TLEN1 + 02008109H XDATA BYTE TLFLG +*SFR* 000000D5H DATA BYTE TMCON +*SFR* 00000089H DATA BYTE TMOD +*SFR* 000000D6H DATA BYTE TMSNU +*SFR* 00000088H.4 DATA BIT TR0 +*SFR* 00000088H.6 DATA BIT TR1 +*SFR* 000000C8H.6 DATA BIT TR2 + 010010FAH CODE --- TS_Action + 02000116H XDATA --- TS_AreaConfirmTimer + 00000019H DATA BYTE TS_BaseCh + 0200001AH XDATA --- TS_BaseLineData +*DEL*:00000000H CODE --- TS_BaseLineForceUpdate + 0000004DH IDATA --- TS_CH + 00000059H IDATA BYTE TS_Cnt + 00000020H.0 BIT BIT TS_CycleScanDoneFlag + 01000EB7H CODE --- TS_DataFiltering + 010004ACH CODE --- TS_EnterSleepMode + 02000032H XDATA --- TS_FilterBuf + 02000101H XDATA --- TS_FilterPosIdx + 02000002H XDATA --- TS_FirstAreaData + 02000100H XDATA BYTE TS_HalfSecCnt + 0100000EH CODE --- TS_HS_ISR + 00000016H DATA BYTE TS_Index + 01000FFDH CODE --- TS_init + 020000B4H XDATA BYTE TS_Init_Step + 01001335H CODE --- TS_IO_init + 01000DEEH CODE --- TS_ISR + 0000001AH DATA WORD TS_Key + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 12 + + + 01001558H CONST --- TS_KEY_CH_INFO_SEQ + 0000001CH DATA WORD TS_LongKeyTimer + 010012FFH CODE --- TS_MS_ISR + 020000B6H XDATA --- TS_PostData + 020000D1H XDATA --- TS_RawData + 0000005AH IDATA BYTE TS_RefCHBaseLineAdjuTimer + 01000D15H CODE --- TS_RunInit + 010011BDH CODE --- TS_ScanStart + 00000020H.2 BIT BIT TS_SleepEn + 00000020H.1 BIT BIT TS_SleepMode + 010013EAH CODE --- TS_SleepScanStart + 00000020H.4 BIT BIT TS_StableFlag + 0000004CH IDATA BYTE TS_State + 01001578H CONST --- TS_WHEEL_SLIDER_CH_SEQ + 01000659H CODE --- TS_WheelSliderDeal + 01000C19H CODE --- TSKey_DataDeal + 020000EBH XDATA --- TSKey_FingerThd + 0200010EH XDATA --- TSKey_LongTouchLimitTimer + 02000001H XDATA BYTE TSWheelSlider_LongTouchLimitTimer + 020000FFH XDATA BYTE TSWheelSlider_TouchConfirmTimer +*SFR* 000000C8H.2 DATA BIT UCKS +*SFR* 000000D8H DATA BYTE UDCKS + 0000004AH DATA BYTE valueSend + 00000020H.3 BIT BIT W_S_RefChSet +*SFR* 000000A0H DATA BYTE WDCON +*SFR* 000000A1H DATA BYTE WDFLG +*SFR* 000000A3H DATA BYTE WDVTHH +*SFR* 000000A2H DATA BYTE WDVTHL + 0100157CH CONST --- WHEEL_SLIDER0_MAX_MIN_TAB + 02000124H XDATA WORD WheelSliderCapRateFilter + 020000D0H XDATA BYTE WheelSliderMaxIdx + 020000FCH XDATA INT WheelSliderPosition + 020000B5H XDATA BYTE WheelSliderRefCh + 02000123H XDATA BYTE WheelSliderState + 02000122H XDATA BYTE WheelSliderTouchFlag + 0000000FH DATA --- Yaokong_Data + + + +SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) + + VALUE REP CLASS TYPE SYMBOL NAME + ==================================================== + --- MODULE --- --- MAIN + 02008007H PUBLIC XDATA BYTE P07F + 0200801CH PUBLIC XDATA BYTE P34F + 02008006H PUBLIC XDATA BYTE P06F + 0200801BH PUBLIC XDATA BYTE P33F + 02008005H PUBLIC XDATA BYTE P05F + 0200801AH PUBLIC XDATA BYTE P32F + 0200813DH PUBLIC XDATA BYTE P35C + 02008004H PUBLIC XDATA BYTE P04F + 02008019H PUBLIC XDATA BYTE P31F + 02008109H PUBLIC XDATA BYTE TLFLG + 02008127H PUBLIC XDATA BYTE P07C + 0200813CH PUBLIC XDATA BYTE P34C + 02008003H PUBLIC XDATA BYTE P03F + 02008018H PUBLIC XDATA BYTE P30F + 02008126H PUBLIC XDATA BYTE P06C + 0200813BH PUBLIC XDATA BYTE P33C + 02008002H PUBLIC XDATA BYTE P02F + 02008125H PUBLIC XDATA BYTE P05C + 0200813AH PUBLIC XDATA BYTE P32C + 02008001H PUBLIC XDATA BYTE P01F + 02008124H PUBLIC XDATA BYTE P04C + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 13 + + + 02008139H PUBLIC XDATA BYTE P31C + 02008000H PUBLIC XDATA BYTE P00F + 02008123H PUBLIC XDATA BYTE P03C + 02008138H PUBLIC XDATA BYTE P30C + 02008122H PUBLIC XDATA BYTE P02C + 02008121H PUBLIC XDATA BYTE P01C + 02008120H PUBLIC XDATA BYTE P00C + 0200FC00H PUBLIC XDATA BYTE MECON + 0200FC02H PUBLIC XDATA BYTE FSDAT + 02008031H PUBLIC XDATA BYTE CKDIV + 02008030H PUBLIC XDATA BYTE CKCON + 0200FC01H PUBLIC XDATA BYTE FSCMD + 0200FC04H PUBLIC XDATA BYTE PADRD + 02008111H PUBLIC XDATA BYTE TLEN1 + 02008106H PUBLIC XDATA BYTE TLEN0 + 02008032H PUBLIC XDATA BYTE IHCFG + 02008110H PUBLIC XDATA BYTE TLCOMS + 0200805CH PUBLIC XDATA BYTE TKMAXF + 02008060H PUBLIC XDATA BYTE LEDUTL + 0200805DH PUBLIC XDATA BYTE TKMINF + 02008061H PUBLIC XDATA BYTE LEDUTH + 0200FC05H PUBLIC XDATA BYTE PTSL + 0200FC06H PUBLIC XDATA BYTE PTSH + 02008105H PUBLIC XDATA BYTE LVDCFG + 02008033H PUBLIC XDATA BYTE ILCFGL + 0200805AH PUBLIC XDATA BYTE ATK5NL + 02008058H PUBLIC XDATA BYTE ATK4NL + 02008034H PUBLIC XDATA BYTE ILCFGH + 02008056H PUBLIC XDATA BYTE ATK3NL + 02008054H PUBLIC XDATA BYTE ATK2NL + 0000004BH PUBLIC DATA BYTE flagStart + 02008052H PUBLIC XDATA BYTE ATK1NL + 0200805BH PUBLIC XDATA BYTE ATK5NH + 0000004AH PUBLIC DATA BYTE valueSend + 02008050H PUBLIC XDATA BYTE ATK0NL + 02008059H PUBLIC XDATA BYTE ATK4NH + 02008112H PUBLIC XDATA BYTE TLDAT1 + 02008057H PUBLIC XDATA BYTE ATK3NH + 02008101H PUBLIC XDATA BYTE I2CIOS + 02008107H PUBLIC XDATA BYTE TLDAT0 + 02008055H PUBLIC XDATA BYTE ATK2NH + 0200FC03H PUBLIC XDATA BYTE LOCK + 02008053H PUBLIC XDATA BYTE ATK1NH + 00000049H PUBLIC DATA BYTE flagSend + 02008051H PUBLIC XDATA BYTE ATK0NH + 0200810DH PUBLIC XDATA BYTE TLCNTLL + 0200810BH PUBLIC XDATA BYTE TLCNTKL + 0200810EH PUBLIC XDATA BYTE TLCNTLH + 0200810CH PUBLIC XDATA BYTE TLCNTKH + 0200FC0DH PUBLIC XDATA BYTE MEMPTEC + 02008100H PUBLIC XDATA BYTE SPMAX + 02008103H PUBLIC XDATA BYTE TKPWC + 0200810FH PUBLIC XDATA BYTE TLDIV + 0200810AH PUBLIC XDATA BYTE TLCKS + 02008102H PUBLIC XDATA BYTE TKCKS + 02008108H PUBLIC XDATA BYTE TLCON + 0200801DH PUBLIC XDATA BYTE P35F + 01001459H PUBLIC CONST --- rf_data + 01000A12H PUBLIC CODE --- main + 0100128DH PUBLIC CODE --- Read_32bit_UID + 0100120BH PUBLIC CODE --- TIMER0_ISR + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 14 + + + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H.0 SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H.0 SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 15 + + + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H.0 SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H.0 SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H.0 SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H.0 SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 16 + + + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H.0 SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 010013BEH BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 0100120BH BLOCK CODE --- LVL=0 + 0100120BH LINE CODE --- #38 + 01001228H LINE CODE --- #40 + 0100122BH LINE CODE --- #41 + 0100122EH LINE CODE --- #43 + 01001231H LINE CODE --- #44 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 17 + + + --- BLOCKEND --- --- LVL=0 + + 0100128DH BLOCK CODE --- LVL=0 + 0100128DH BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA DWORD ID + --- BLOCKEND --- --- LVL=1 + 0100128DH LINE CODE --- #69 + 0100128DH LINE CODE --- #70 + 0100128DH LINE CODE --- #72 + 01001293H LINE CODE --- #73 + 01001298H LINE CODE --- #74 + 0100129CH LINE CODE --- #75 + 010012A2H LINE CODE --- #76 + 010012AEH LINE CODE --- #77 + 010012B4H LINE CODE --- #78 + 010012B7H LINE CODE --- #79 + 010012B7H LINE CODE --- #80 + 010012BAH LINE CODE --- #81 + 010012BAH LINE CODE --- #82 + 010012BFH LINE CODE --- #83 + 010012C4H LINE CODE --- #84 + 010012C6H LINE CODE --- #85 + --- BLOCKEND --- --- LVL=0 + + 01000A12H BLOCK CODE --- LVL=0 + 01000A12H BLOCK CODE NEAR LAB LVL=1 + 0000002DH SYMBOL DATA DWORD addr + 00000031H SYMBOL DATA BYTE send_times + --- BLOCKEND --- --- LVL=1 + 01000A12H LINE CODE --- #344 + 01000A12H LINE CODE --- #345 + 01000A12H LINE CODE --- #346 + 01000A1BH LINE CODE --- #347 + 01000A1DH LINE CODE --- #349 + 01000A20H LINE CODE --- #357 + 01000A27H LINE CODE --- #358 + 01000A2AH LINE CODE --- #359 + 01000A2DH LINE CODE --- #360 + 01000A30H LINE CODE --- #361 + 01000A33H LINE CODE --- #363 + 01000A35H LINE CODE --- #365 + 01000A38H LINE CODE --- #367 + 01000A3EH LINE CODE --- #368 + 01000A40H LINE CODE --- #370 + 01000A4CH LINE CODE --- #371 + 01000A57H LINE CODE --- #372 + 01000A5AH LINE CODE --- #374 + 01000A5DH LINE CODE --- #375 + 01000A60H LINE CODE --- #377 + 01000A63H LINE CODE --- #378 + 01000A66H LINE CODE --- #379 + 01000A69H LINE CODE --- #381 + 01000A6BH LINE CODE --- #382 + 01000A6DH LINE CODE --- #383 + 01000A6FH LINE CODE --- #385 + 01000A6FH LINE CODE --- #386 + 01000A6FH LINE CODE --- #387 + 01000A72H LINE CODE --- #388 + 01000A81H LINE CODE --- #389 + 01000A81H LINE CODE --- #390 + 01000A84H LINE CODE --- #391 + 01000A87H LINE CODE --- #393 + 01000A8AH LINE CODE --- #394 + 01000A98H LINE CODE --- #395 + 01000A9CH LINE CODE --- #396 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 18 + + + 01000A9CH LINE CODE --- #398 + 01000AA3H LINE CODE --- #399 + 01000AA3H LINE CODE --- #400 + 01000AA6H LINE CODE --- #401 + 01000AA9H LINE CODE --- #402 + 01000AC9H LINE CODE --- #403 + 01000AC9H LINE CODE --- #404 + 01000AC9H LINE CODE --- #405 + 01000ACCH LINE CODE --- #406 + 01000ACEH LINE CODE --- #407 + 01000ACEH LINE CODE --- #408 + 01000AD1H LINE CODE --- #409 + 01000AD3H LINE CODE --- #410 + 01000AD3H LINE CODE --- #411 + 01000AD6H LINE CODE --- #412 + 01000AD8H LINE CODE --- #413 + 01000AD8H LINE CODE --- #414 + 01000ADBH LINE CODE --- #415 + 01000ADDH LINE CODE --- #416 + 01000ADDH LINE CODE --- #417 + 01000AE0H LINE CODE --- #418 + 01000AE2H LINE CODE --- #419 + 01000AE2H LINE CODE --- #420 + 01000AE5H LINE CODE --- #421 + 01000AE7H LINE CODE --- #422 + 01000AE7H LINE CODE --- #423 + 01000AEAH LINE CODE --- #424 + 01000AECH LINE CODE --- #425 + 01000AECH LINE CODE --- #426 + 01000AEFH LINE CODE --- #427 + 01000AF1H LINE CODE --- #428 + 01000AF1H LINE CODE --- #429 + 01000AF4H LINE CODE --- #430 + 01000AF4H LINE CODE --- #431 + 01000AF4H LINE CODE --- #432 + 01000AF4H LINE CODE --- #434 + 01000B06H LINE CODE --- #435 + 01000B06H LINE CODE --- #436 + 01000B09H LINE CODE --- #437 + 01000B09H LINE CODE --- #600 + 01000B12H LINE CODE --- #601 + 01000B12H LINE CODE --- #602 + 01000B14H LINE CODE --- #606 + 01000B16H LINE CODE --- #607 + 01000B19H LINE CODE --- #608 + 01000B19H LINE CODE --- #610 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- DELAY + 01001415H PUBLIC CODE --- _Delay_ms + 01001430H PUBLIC CODE --- _Delay_50us + + 01001430H BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD n + 01001430H BLOCK CODE NEAR LAB LVL=1 + 00000005H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 01001430H LINE CODE --- #4 + 01001430H LINE CODE --- #5 + 01001430H LINE CODE --- #7 + 0100143AH LINE CODE --- #8 + 0100143AH LINE CODE --- #9 + 01001445H LINE CODE --- #10 + 01001445H LINE CODE --- #11 + --- BLOCKEND --- --- LVL=0 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 19 + + + + 01001415H BLOCK CODE --- LVL=0 + 00000082H SYMBOL DATA WORD delay_nms + 01001415H LINE CODE --- #12 + 01001419H LINE CODE --- #13 + 01001419H LINE CODE --- #14 + 01001426H LINE CODE --- #15 + 01001426H LINE CODE --- #16 + 0100142DH LINE CODE --- #17 + 0100142FH LINE CODE --- #18 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- SYSTEM_CLOCK + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H.0 SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 20 + + + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H.0 SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H.0 SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H.0 SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H.0 SFRSYM DATA BIT EX0 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 21 + + + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H.0 SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H.0 SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 22 + + + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + --- MODULE --- --- UART + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H.0 SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 23 + + + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H.0 SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H.0 SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H.0 SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H.0 SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 24 + + + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H.0 SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H.0 SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 25 + + + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + --- MODULE --- --- INTERRUPT + 01000026H PUBLIC CODE --- INT4_ISR + 0100107CH PUBLIC CODE --- INT3_ISR + 0100000AH PUBLIC CODE --- INT2_Handler + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H.0 SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 26 + + + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H.0 SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H.0 SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H.0 SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H.0 SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 27 + + + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H.0 SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H.0 SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 28 + + + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 0100000AH BLOCK CODE --- LVL=0 + 0100000AH LINE CODE --- #28 + 0100000AH LINE CODE --- #40 + --- BLOCKEND --- --- LVL=0 + + 0100107CH BLOCK CODE --- LVL=0 + 01001099H BLOCK CODE NEAR LAB LVL=1 + 0000001EH SYMBOL DATA BYTE TmCnt + --- BLOCKEND --- --- LVL=1 + 0100107CH LINE CODE --- #42 + 01001099H LINE CODE --- #45 + 0100109EH LINE CODE --- #46 + 0100109EH LINE CODE --- #47 + 010010A1H LINE CODE --- #49 + 010010A4H LINE CODE --- #50 + 010010A4H LINE CODE --- #51 + 010010ACH LINE CODE --- #53 + 010010ACH LINE CODE --- #55 + 010010ACH LINE CODE --- #56 + 010010AFH LINE CODE --- #57 + 010010AFH LINE CODE --- #61 + 010010B5H LINE CODE --- #62 + 010010B5H LINE CODE --- #63 + 010010BDH LINE CODE --- #64 + 010010BDH LINE CODE --- #65 + 010010BFH LINE CODE --- #66 + 010010C6H LINE CODE --- #67 + 010010C6H LINE CODE --- #68 + 010010C9H LINE CODE --- #69 + 010010CCH LINE CODE --- #70 + 010010CCH LINE CODE --- #71 + 010010D5H LINE CODE --- #72 + 010010D5H LINE CODE --- #74 + 010010D8H LINE CODE --- #75 + 010010D8H LINE CODE --- #77 + 010010D8H LINE CODE --- #79 + 010010DCH LINE CODE --- #80 + 010010DCH LINE CODE --- #81 + 010010DFH LINE CODE --- #82 + 010010DFH LINE CODE --- #83 + --- BLOCKEND --- --- LVL=0 + + 01000026H BLOCK CODE --- LVL=0 + 01000026H LINE CODE --- #84 + 01000026H LINE CODE --- #92 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- RF_SEND + 00000014H PUBLIC DATA BYTE D1 + 00000013H PUBLIC DATA BYTE D0 + 00000012H PUBLIC DATA BYTE Chose_Data_En + 0000000FH PUBLIC DATA --- Yaokong_Data + 0000000EH PUBLIC DATA BYTE Send433_Bit_Cont + 0000000CH PUBLIC DATA WORD Send433_Time + 0000000BH PUBLIC DATA BYTE Temp + 0000000AH PUBLIC DATA BYTE Send433_Byte_Cont + 00000009H PUBLIC DATA BYTE Send433_Status + 0000005CH PUBLIC IDATA WORD ID + 00000008H PUBLIC DATA BYTE RF_Time + 01000B1CH PUBLIC CODE --- Send433_Byte + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 29 + + + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H.0 SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H.0 SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 30 + + + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H.0 SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H.0 SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H.0 SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H.0 SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 31 + + + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H.0 SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 000000B0H.2 SFRSYM DATA BIT Pin_rf + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 01000003H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 01000B1CH BLOCK CODE --- LVL=0 + 01000B1CH LINE CODE --- #29 + 01000B1CH LINE CODE --- #30 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 32 + + + 01000B1CH LINE CODE --- #31 + 01000B31H LINE CODE --- #32 + 01000B31H LINE CODE --- #33 + 01000B31H LINE CODE --- #34 + 01000B33H LINE CODE --- #35 + 01000B44H LINE CODE --- #36 + 01000B44H LINE CODE --- #37 + 01000B49H LINE CODE --- #38 + 01000B4CH LINE CODE --- #39 + 01000B4CH LINE CODE --- #40 + 01000B4DH LINE CODE --- #41 + 01000B4DH LINE CODE --- #42 + 01000B4FH LINE CODE --- #43 + 01000B63H LINE CODE --- #44 + 01000B63H LINE CODE --- #45 + 01000B68H LINE CODE --- #46 + 01000B6BH LINE CODE --- #47 + 01000B6BH LINE CODE --- #48 + 01000B6CH LINE CODE --- #49 + 01000B6CH LINE CODE --- #51 + 01000B70H LINE CODE --- #52 + 01000B70H LINE CODE --- #53 + 01000B73H LINE CODE --- #54 + 01000B7BH LINE CODE --- #56 + 01000B7BH LINE CODE --- #58 + 01000B83H LINE CODE --- #59 + 01000B88H LINE CODE --- #60 + 01000B88H LINE CODE --- #61 + 01000B93H LINE CODE --- #62 + 01000B93H LINE CODE --- #63 + 01000B95H LINE CODE --- #64 + 01000B97H LINE CODE --- #65 + 01000BA2H LINE CODE --- #66 + 01000BA2H LINE CODE --- #67 + 01000BA4H LINE CODE --- #68 + 01000BACH LINE CODE --- #69 + 01000BACH LINE CODE --- #70 + 01000BACH LINE CODE --- #71 + 01000BACH LINE CODE --- #72 + 01000BACH LINE CODE --- #73 + 01000BACH LINE CODE --- #74 + 01000BACH LINE CODE --- #75 + 01000BAEH LINE CODE --- #77 + 01000BAEH LINE CODE --- #78 + 01000BB6H LINE CODE --- #79 + 01000BB6H LINE CODE --- #80 + 01000BB8H LINE CODE --- #81 + 01000BBAH LINE CODE --- #82 + 01000BC5H LINE CODE --- #83 + 01000BC5H LINE CODE --- #84 + 01000BC7H LINE CODE --- #85 + 01000BCFH LINE CODE --- #86 + 01000BCFH LINE CODE --- #87 + 01000BD3H LINE CODE --- #88 + 01000BD9H LINE CODE --- #89 + 01000BDBH LINE CODE --- #90 + 01000BDBH LINE CODE --- #91 + 01000BDBH LINE CODE --- #92 + 01000BDBH LINE CODE --- #93 + 01000BE1H LINE CODE --- #94 + 01000BE1H LINE CODE --- #95 + 01000BE3H LINE CODE --- #97 + 01000BE5H LINE CODE --- #98 + 01000BEDH LINE CODE --- #99 + 01000BEDH LINE CODE --- #100 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 33 + + + 01000BEFH LINE CODE --- #102 + 01000BF4H LINE CODE --- #103 + 01000BF4H LINE CODE --- #104 + 01000BF7H LINE CODE --- #105 + 01000BF8H LINE CODE --- #107 + 01000BF8H LINE CODE --- #108 + 01000BFBH LINE CODE --- #109 + 01000BFBH LINE CODE --- #111 + 01000BFBH LINE CODE --- #112 + 01000BFBH LINE CODE --- #113 + 01000BFCH LINE CODE --- #115 + 01000BFCH LINE CODE --- #116 + 01000C0AH LINE CODE --- #117 + 01000C0AH LINE CODE --- #118 + 01000C0CH LINE CODE --- #119 + 01000C0DH LINE CODE --- #121 + 01000C0DH LINE CODE --- #122 + 01000C0FH LINE CODE --- #123 + 01000C14H LINE CODE --- #125 + 01000C16H LINE CODE --- #126 + 01000C18H LINE CODE --- #128 + 01000C18H LINE CODE --- #129 + 01000C18H LINE CODE --- #130 + 01000C18H LINE CODE --- #131 + 01000C18H LINE CODE --- #132 + 01000C18H LINE CODE --- #133 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- DEBUG + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H.0 SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 34 + + + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H.0 SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H.0 SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 35 + + + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H.0 SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H.0 SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H.0 SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H.0 SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 36 + + + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + --- MODULE --- --- TS_API + 02000127H PUBLIC XDATA BYTE MainLoopCnt2 + 02000126H PUBLIC XDATA BYTE MainLoopCnt1 + 02000124H PUBLIC XDATA WORD WheelSliderCapRateFilter + 0000005BH PUBLIC IDATA BYTE PreKeysFlagSN + 02000123H PUBLIC XDATA BYTE WheelSliderState + 00000020H.4 PUBLIC BIT BIT TS_StableFlag + 02000122H PUBLIC XDATA BYTE WheelSliderTouchFlag + 00000020H.3 PUBLIC BIT BIT W_S_RefChSet + 02000116H PUBLIC XDATA --- TS_AreaConfirmTimer + 0200010EH PUBLIC XDATA --- TSKey_LongTouchLimitTimer + 02000101H PUBLIC XDATA --- TS_FilterPosIdx + 0000001CH PUBLIC DATA WORD TS_LongKeyTimer + 02000100H PUBLIC XDATA BYTE TS_HalfSecCnt + 0000005AH PUBLIC IDATA BYTE TS_RefCHBaseLineAdjuTimer + 020000FFH PUBLIC XDATA BYTE TSWheelSlider_TouchConfirmTimer + 020000FEH PUBLIC XDATA BYTE KeysFlagSN + 020000FCH PUBLIC XDATA INT WheelSliderPosition + 00000020H.2 PUBLIC BIT BIT TS_SleepEn + 020000FBH PUBLIC XDATA BYTE EnterStopScanTimer + 020000EBH PUBLIC XDATA --- TSKey_FingerThd + 0000001AH PUBLIC DATA WORD TS_Key + 00000019H PUBLIC DATA BYTE TS_BaseCh + 020000D1H PUBLIC XDATA --- TS_RawData + 020000D0H PUBLIC XDATA BYTE WheelSliderMaxIdx + 00000059H PUBLIC IDATA BYTE TS_Cnt + 020000B6H PUBLIC XDATA --- TS_PostData + 020000B5H PUBLIC XDATA BYTE WheelSliderRefCh + 020000B4H PUBLIC XDATA BYTE TS_Init_Step + 0000004DH PUBLIC IDATA --- TS_CH + 02000032H PUBLIC XDATA --- TS_FilterBuf + 0200001AH PUBLIC XDATA --- TS_BaseLineData + 0000004CH PUBLIC IDATA BYTE TS_State + 02000002H PUBLIC XDATA --- TS_FirstAreaData + 00000020H.1 PUBLIC BIT BIT TS_SleepMode + 00000018H PUBLIC DATA BYTE ActiveTouchType + 02000001H PUBLIC XDATA BYTE TSWheelSlider_LongTouchLimitTimer + 00000020H.0 PUBLIC BIT BIT TS_CycleScanDoneFlag + 00000017H PUBLIC DATA BYTE TK_State + 00000016H PUBLIC DATA BYTE TS_Index + 01001588H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 37 + + + 01001580H PUBLIC CONST --- MASK_TAB + 0100157CH PUBLIC CONST --- WHEEL_SLIDER0_MAX_MIN_TAB + 01001578H PUBLIC CONST --- TS_WHEEL_SLIDER_CH_SEQ + 01001558H PUBLIC CONST --- TS_KEY_CH_INFO_SEQ + 010004ACH PUBLIC CODE --- TS_EnterSleepMode + 010013EAH PUBLIC CODE --- TS_SleepScanStart + 010010FAH PUBLIC CODE --- TS_Action + 01000FFDH PUBLIC CODE --- TS_init + 01000659H PUBLIC CODE --- TS_WheelSliderDeal + 01000C19H PUBLIC CODE --- TSKey_DataDeal + 01000D15H PUBLIC CODE --- TS_RunInit + 01000EB7H PUBLIC CODE --- TS_DataFiltering + 01000DEEH PUBLIC CODE --- TS_ISR + 0100000EH PUBLIC CODE --- TS_HS_ISR + 010012FFH PUBLIC CODE --- TS_MS_ISR + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H.0 SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 38 + + + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H.0 SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H.0 SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H.0 SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 39 + + + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H.0 SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H.0 SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H.0 SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 40 + + + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 01000904H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 010012FFH BLOCK CODE --- LVL=0 + 010012FFH BLOCK CODE NEAR LAB LVL=1 + 02000000H SYMBOL XDATA BYTE ms_cnt + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010012FFH LINE CODE --- #106 + 010012FFH LINE CODE --- #107 + 010012FFH LINE CODE --- #111 + 01001305H LINE CODE --- #112 + 0100130BH LINE CODE --- #113 + 0100130BH LINE CODE --- #114 + 0100130DH LINE CODE --- #115 + 01001317H LINE CODE --- #116 + 01001317H LINE CODE --- #117 + 01001320H LINE CODE --- #118 + 01001320H LINE CODE --- #119 + 01001329H LINE CODE --- #120 + 01001329H LINE CODE --- #121 + 0100132CH LINE CODE --- #123 + 01001332H LINE CODE --- #124 + 01001332H LINE CODE --- #125 + 01001334H LINE CODE --- #126 + 01001334H LINE CODE --- #138 + 01001334H LINE CODE --- #139 + --- BLOCKEND --- --- LVL=0 + + 0100000EH BLOCK CODE --- LVL=0 + 0100000EH LINE CODE --- #140 + 0100000EH LINE CODE --- #141 + 0100000EH LINE CODE --- #147 + 01000014H LINE CODE --- #168 + 01000019H LINE CODE --- #169 + 01000019H LINE CODE --- #170 + 0100001AH LINE CODE --- #171 + 0100001AH LINE CODE --- #172 + 01000020H LINE CODE --- #173 + 01000020H LINE CODE --- #174 + 01000022H LINE CODE --- #175 + 01000022H LINE CODE --- #176 + --- BLOCKEND --- --- LVL=0 + + 01000DEEH BLOCK CODE --- LVL=0 + 01000DEEH BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000021H SYMBOL DATA --- TS_Data + --- BLOCKEND --- --- LVL=1 + 01000DEEH LINE CODE --- #177 + 01000DEEH LINE CODE --- #178 + 01000DEEH LINE CODE --- #188 + 01000DF6H LINE CODE --- #189 + 01000DF6H LINE CODE --- #190 + 01000DFAH LINE CODE --- #191 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 41 + + + 01000DFAH LINE CODE --- #193 + 01000DFFH LINE CODE --- #194 + 01000DFFH LINE CODE --- #195 + 01000E02H LINE CODE --- #196 + 01000E05H LINE CODE --- #197 + 01000E08H LINE CODE --- #198 + 01000E08H LINE CODE --- #199 + 01000E0DH LINE CODE --- #200 + 01000E0DH LINE CODE --- #201 + 01000E10H LINE CODE --- #202 + 01000E13H LINE CODE --- #203 + 01000E16H LINE CODE --- #204 + 01000E16H LINE CODE --- #205 + 01000E1BH LINE CODE --- #206 + 01000E1BH LINE CODE --- #207 + 01000E1EH LINE CODE --- #208 + 01000E21H LINE CODE --- #209 + 01000E24H LINE CODE --- #210 + 01000E24H LINE CODE --- #211 + 01000E29H LINE CODE --- #212 + 01000E29H LINE CODE --- #213 + 01000E2CH LINE CODE --- #214 + 01000E2FH LINE CODE --- #215 + 01000E32H LINE CODE --- #216 + 01000E32H LINE CODE --- #217 + 01000E37H LINE CODE --- #218 + 01000E37H LINE CODE --- #219 + 01000E3AH LINE CODE --- #220 + 01000E3DH LINE CODE --- #221 + 01000E40H LINE CODE --- #222 + 01000E40H LINE CODE --- #223 + 01000E45H LINE CODE --- #224 + 01000E45H LINE CODE --- #225 + 01000E48H LINE CODE --- #226 + 01000E4BH LINE CODE --- #227 + 01000E4EH LINE CODE --- #228 + 01000E4EH LINE CODE --- #230 + 01000E50H LINE CODE --- #231 + 01000E50H LINE CODE --- #264 + 01000E50H LINE CODE --- #266 + 01000E68H LINE CODE --- #270 + 01000E68H LINE CODE --- #271 + 01000E7AH LINE CODE --- #272 + 01000E7AH LINE CODE --- #273 + 01000E7AH LINE CODE --- #274 + 01000E7AH LINE CODE --- #276 + 01000E7EH LINE CODE --- #294 + 01000E8BH LINE CODE --- #295 + 01000E8BH LINE CODE --- #297 + 01000E8DH LINE CODE --- #311 + 01000E90H LINE CODE --- #312 + 01000E92H LINE CODE --- #314 + 01000E92H LINE CODE --- #315 + 01000E98H LINE CODE --- #316 + 01000E98H LINE CODE --- #317 + 01000E9BH LINE CODE --- #318 + 01000EA3H LINE CODE --- #319 + 01000EB0H LINE CODE --- #320 + 01000EB0H LINE CODE --- #321 + 01000EB3H LINE CODE --- #322 + 01000EB6H LINE CODE --- #323 + 01000EB6H LINE CODE --- #324 + --- BLOCKEND --- --- LVL=0 + + 01000EB7H BLOCK CODE --- LVL=0 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 42 + + + 01000EB7H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE j + 00000033H SYMBOL DATA WORD DataSum + 00000035H SYMBOL DATA WORD DataMax + 00000037H SYMBOL DATA WORD DataMin + --- BLOCKEND --- --- LVL=1 + 01000EB7H LINE CODE --- #325 + 01000EB7H LINE CODE --- #326 + 01000EB7H LINE CODE --- #332 + 01000EC9H LINE CODE --- #333 + 01000EC9H LINE CODE --- #337 + 01000ECFH LINE CODE --- #338 + 01000ED8H LINE CODE --- #339 + 01000ED8H LINE CODE --- #340 + 01000EDDH LINE CODE --- #341 + 01000EDDH LINE CODE --- #342 + 01000EDFH LINE CODE --- #343 + 01000EFFH LINE CODE --- #344 + 01000F01H LINE CODE --- #346 + 01000F06H LINE CODE --- #347 + 01000F0AH LINE CODE --- #348 + 01000F10H LINE CODE --- #349 + 01000F12H LINE CODE --- #350 + 01000F12H LINE CODE --- #351 + 01000F2AH LINE CODE --- #353 + 01000F33H LINE CODE --- #354 + 01000F33H LINE CODE --- #355 + 01000F37H LINE CODE --- #356 + 01000F37H LINE CODE --- #357 + 01000F40H LINE CODE --- #358 + 01000F40H LINE CODE --- #359 + 01000F44H LINE CODE --- #360 + 01000F44H LINE CODE --- #362 + 01000F48H LINE CODE --- #366 + 01000F6BH LINE CODE --- #369 + 01000F70H LINE CODE --- #370 + --- BLOCKEND --- --- LVL=0 + + 01000D15H BLOCK CODE --- LVL=0 + 01000D15H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE j + 00000015H SYMBOL DATA BYTE TS_ScanTimes + --- BLOCKEND --- --- LVL=1 + 01000D15H LINE CODE --- #418 + 01000D15H LINE CODE --- #419 + 01000D15H LINE CODE --- #425 + 01000D1BH LINE CODE --- #426 + 01000D1BH LINE CODE --- #439 + 01000D1DH LINE CODE --- #440 + 01000D21H LINE CODE --- #441 + 01000D23H LINE CODE --- #442 + 01000D26H LINE CODE --- #448 + 01000D2CH LINE CODE --- #449 + 01000D2FH LINE CODE --- #451 + 01000D30H LINE CODE --- #492 + 01000D3BH LINE CODE --- #493 + 01000D3BH LINE CODE --- #494 + 01000D41H LINE CODE --- #495 + 01000D41H LINE CODE --- #496 + 01000D43H LINE CODE --- #497 + 01000D4CH LINE CODE --- #498 + 01000D4CH LINE CODE --- #500 + 01000D4CH LINE CODE --- #516 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 43 + + + 01000D4FH LINE CODE --- #517 + 01000D60H LINE CODE --- #518 + 01000D60H LINE CODE --- #519 + 01000D62H LINE CODE --- #520 + 01000D62H LINE CODE --- #521 + 01000D7BH LINE CODE --- #522 + 01000D7FH LINE CODE --- #523 + 01000D88H LINE CODE --- #529 + 01000D8FH LINE CODE --- #530 + 01000D98H LINE CODE --- #531 + 01000DA6H LINE CODE --- #537 + 01000DADH LINE CODE --- #538 + 01000DADH LINE CODE --- #542 + 01000DD1H LINE CODE --- #544 + 01000DD8H LINE CODE --- #545 + 01000DDAH LINE CODE --- #547 + 01000DDAH LINE CODE --- #548 + 01000DE4H LINE CODE --- #549 + 01000DE4H LINE CODE --- #560 + 01000DE9H LINE CODE --- #573 + 01000DEDH LINE CODE --- #574 + 01000DEDH LINE CODE --- #575 + 01000DEDH LINE CODE --- #576 + --- BLOCKEND --- --- LVL=0 + + 01000C19H BLOCK CODE --- LVL=0 + 01000C19H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000033H SYMBOL DATA BYTE TouchArea + 00000034H SYMBOL DATA BYTE NowArea + --- BLOCKEND --- --- LVL=1 + 01000C19H LINE CODE --- #676 + 01000C19H LINE CODE --- #677 + 01000C19H LINE CODE --- #683 + 01000C1CH LINE CODE --- #684 + 01000C1CH LINE CODE --- #696 + 01000C29H LINE CODE --- #697 + 01000C33H LINE CODE --- #699 + 01000C3FH LINE CODE --- #700 + 01000C3FH LINE CODE --- #701 + 01000C41H LINE CODE --- #702 + 01000C41H LINE CODE --- #709 + 01000C45H LINE CODE --- #710 + 01000C45H LINE CODE --- #711 + 01000C49H LINE CODE --- #712 + 01000C49H LINE CODE --- #713 + 01000C4EH LINE CODE --- #714 + 01000C4EH LINE CODE --- #715 + 01000C57H LINE CODE --- #716 + 01000C57H LINE CODE --- #717 + 01000C5AH LINE CODE --- #721 + 01000C5AH LINE CODE --- #722 + 01000C5AH LINE CODE --- #723 + 01000C5CH LINE CODE --- #725 + 01000C5CH LINE CODE --- #737 + 01000C62H LINE CODE --- #754 + 01000C62H LINE CODE --- #755 + 01000C64H LINE CODE --- #757 + 01000C64H LINE CODE --- #758 + 01000C69H LINE CODE --- #759 + 01000C69H LINE CODE --- #760 + 01000C6FH LINE CODE --- #761 + 01000C6FH LINE CODE --- #766 + 01000C73H LINE CODE --- #768 + 01000C73H LINE CODE --- #769 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 44 + + + 01000C73H LINE CODE --- #773 + 01000C73H LINE CODE --- #774 + 01000C75H LINE CODE --- #782 + 01000C75H LINE CODE --- #784 + 01000C75H LINE CODE --- #785 + 01000C79H LINE CODE --- #786 + 01000C79H LINE CODE --- #787 + 01000C81H LINE CODE --- #788 + 01000C83H LINE CODE --- #789 + 01000C85H LINE CODE --- #790 + 01000C85H LINE CODE --- #791 + 01000C85H LINE CODE --- #792 + 01000C8AH LINE CODE --- #793 + 01000C8AH LINE CODE --- #794 + 01000C97H LINE CODE --- #795 + 01000C99H LINE CODE --- #796 + 01000C9BH LINE CODE --- #797 + 01000C9BH LINE CODE --- #798 + 01000CB2H LINE CODE --- #799 + 01000CB2H LINE CODE --- #800 + 01000CB8H LINE CODE --- #801 + 01000CB8H LINE CODE --- #802 + 01000CC0H LINE CODE --- #803 + 01000CCEH LINE CODE --- #813 + 01000CD0H LINE CODE --- #814 + 01000CD0H LINE CODE --- #815 + 01000CD2H LINE CODE --- #817 + 01000CD2H LINE CODE --- #818 + 01000CDAH LINE CODE --- #819 + 01000CE1H LINE CODE --- #820 + 01000CE1H LINE CODE --- #821 + 01000CEDH LINE CODE --- #895 + 01000CF4H LINE CODE --- #898 + 01000CF6H LINE CODE --- #899 + 01000CF6H LINE CODE --- #900 + 01000CF9H LINE CODE --- #901 + 01000CFAH LINE CODE --- #903 + 01000CFAH LINE CODE --- #904 + 01000CFDH LINE CODE --- #905 + 01000CFDH LINE CODE --- #906 + --- BLOCKEND --- --- LVL=0 + + 01000659H BLOCK CODE --- LVL=0 + 01000659H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000033H SYMBOL DATA WORD Delta + 00000006H SYMBOL DATA WORD Position + 00000020H.5 SYMBOL BIT BIT WheelSliderTogFlag + --- BLOCKEND --- --- LVL=1 + 01000659H LINE CODE --- #909 + 01000659H LINE CODE --- #910 + 01000659H LINE CODE --- #913 + 0100065BH LINE CODE --- #914 + 0100065EH LINE CODE --- #915 + 01000661H LINE CODE --- #916 + 01000661H LINE CODE --- #917 + 01000663H LINE CODE --- #918 + 01000668H LINE CODE --- #919 + 01000668H LINE CODE --- #957 + 01000671H LINE CODE --- #959 + 01000679H LINE CODE --- #960 + 01000679H LINE CODE --- #961 + 0100067BH LINE CODE --- #962 + 0100067BH LINE CODE --- #963 + 01000685H LINE CODE --- #964 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 45 + + + 01000685H LINE CODE --- #965 + 0100068EH LINE CODE --- #966 + 0100068EH LINE CODE --- #967 + 01000696H LINE CODE --- #968 + 01000696H LINE CODE --- #969 + 01000699H LINE CODE --- #970 + 0100069EH LINE CODE --- #971 + 010006A1H LINE CODE --- #973 + 010006A1H LINE CODE --- #974 + 010006ACH LINE CODE --- #975 + 010006ACH LINE CODE --- #976 + 010006C1H LINE CODE --- #977 + 010006C1H LINE CODE --- #978 + 010006C6H LINE CODE --- #979 + 010006C8H LINE CODE --- #981 + 010006C8H LINE CODE --- #982 + 010006E3H LINE CODE --- #983 + 010006E3H LINE CODE --- #984 + 010006EEH LINE CODE --- #985 + 010006EEH LINE CODE --- #986 + 010006F8H LINE CODE --- #987 + 010006F8H LINE CODE --- #988 + 01000705H LINE CODE --- #989 + 0100070DH LINE CODE --- #990 + 0100070DH LINE CODE --- #991 + 0100070DH LINE CODE --- #992 + 0100070FH LINE CODE --- #994 + 0100070FH LINE CODE --- #995 + 01000724H LINE CODE --- #996 + 0100072EH LINE CODE --- #997 + 0100072EH LINE CODE --- #998 + 01000733H LINE CODE --- #999 + 01000733H LINE CODE --- #1000 + 01000733H LINE CODE --- #1002 + 01000733H LINE CODE --- #1003 + 0100073BH LINE CODE --- #1004 + 0100073BH LINE CODE --- #1005 + 01000741H LINE CODE --- #1006 + 01000741H LINE CODE --- #1007 + 01000746H LINE CODE --- #1011 + 01000746H LINE CODE --- #1012 + 01000748H LINE CODE --- #1014 + 01000748H LINE CODE --- #1015 + 0100074DH LINE CODE --- #1016 + 01000755H LINE CODE --- #1017 + 01000755H LINE CODE --- #1018 + 0100075FH LINE CODE --- #1019 + 01000763H LINE CODE --- #1020 + 01000763H LINE CODE --- #1021 + 01000763H LINE CODE --- #1022 + 01000763H LINE CODE --- #1023 + 01000768H LINE CODE --- #1024 + 01000768H LINE CODE --- #1037 + 0100076EH LINE CODE --- #1038 + 0100076EH LINE CODE --- #1039 + 01000776H LINE CODE --- #1040 + 01000776H LINE CODE --- #1041 + 01000777H LINE CODE --- #1042 + 0100077DH LINE CODE --- #1043 + 0100077DH LINE CODE --- #1044 + 0100077FH LINE CODE --- #1046 + 0100077FH LINE CODE --- #1047 + 01000787H LINE CODE --- #1048 + 01000787H LINE CODE --- #1049 + 0100078DH LINE CODE --- #1050 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 46 + + + 0100078DH LINE CODE --- #1052 + 01000791H LINE CODE --- #1053 + 01000794H LINE CODE --- #1054 + 01000797H LINE CODE --- #1055 + 0100079FH LINE CODE --- #1056 + 0100079FH LINE CODE --- #1057 + 010007A9H LINE CODE --- #1058 + 010007ADH LINE CODE --- #1059 + 010007ADH LINE CODE --- #1060 + 010007ADH LINE CODE --- #1062 + 010007ADH LINE CODE --- #1063 + 010007B3H LINE CODE --- #1064 + 010007B3H LINE CODE --- #1065 + 010007B3H LINE CODE --- #1066 + 010007B3H LINE CODE --- #1067 + 010007BAH LINE CODE --- #1068 + 010007BAH LINE CODE --- #1069 + 010007C2H LINE CODE --- #1070 + 010007C2H LINE CODE --- #1071 + 010007CAH LINE CODE --- #1072 + 010007CAH LINE CODE --- #1107 + 010007CCH LINE CODE --- #1109 + 010007CCH LINE CODE --- #1110 + 010007CFH LINE CODE --- #1111 + 010007CFH LINE CODE --- #1113 + 010007DBH LINE CODE --- #1114 + 010007DBH LINE CODE --- #1115 + 010007DEH LINE CODE --- #1116 + 010007DFH LINE CODE --- #1118 + 010007DFH LINE CODE --- #1119 + 010007E2H LINE CODE --- #1120 + 010007E2H LINE CODE --- #1121 + --- BLOCKEND --- --- LVL=0 + + 01000FFDH BLOCK CODE --- LVL=0 + 01000FFDH BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE ch_idx + --- BLOCKEND --- --- LVL=1 + 01000FFDH LINE CODE --- #1124 + 01000FFDH LINE CODE --- #1125 + 01000FFDH LINE CODE --- #1131 + 01001001H LINE CODE --- #1132 + 01001003H LINE CODE --- #1133 + 01001004H LINE CODE --- #1134 + 01001004H LINE CODE --- #1136 + 0100100BH LINE CODE --- #1137 + 0100100BH LINE CODE --- #1138 + 0100101AH LINE CODE --- #1139 + 0100101CH LINE CODE --- #1141 + 0100101CH LINE CODE --- #1142 + 0100102AH LINE CODE --- #1143 + 0100102AH LINE CODE --- #1149 + 0100102EH LINE CODE --- #1150 + 01001035H LINE CODE --- #1151 + 01001038H LINE CODE --- #1152 + 0100103BH LINE CODE --- #1153 + 0100103DH LINE CODE --- #1155 + 01001040H LINE CODE --- #1158 + 01001040H LINE CODE --- #1163 + 01001040H LINE CODE --- #1164 + 01001043H LINE CODE --- #1189 + 01001045H LINE CODE --- #1191 + 01001047H LINE CODE --- #1193 + 0100104CH LINE CODE --- #1194 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 47 + + + 0100104FH LINE CODE --- #1196 + 01001051H LINE CODE --- #1203 + 01001054H LINE CODE --- #1204 + 01001056H LINE CODE --- #1205 + 01001058H LINE CODE --- #1208 + 0100105AH LINE CODE --- #1210 + 0100105FH LINE CODE --- #1211 + 01001062H LINE CODE --- #1212 + 01001065H LINE CODE --- #1213 + 0100106CH LINE CODE --- #1215 + 0100106FH LINE CODE --- #1216 + 01001073H LINE CODE --- #1224 + 0100107BH LINE CODE --- #1231 + --- BLOCKEND --- --- LVL=0 + + 010010FAH BLOCK CODE --- LVL=0 + 010010FAH LINE CODE --- #1234 + 010010FAH LINE CODE --- #1235 + 010010FAH LINE CODE --- #1236 + 01001103H LINE CODE --- #1237 + 01001103H LINE CODE --- #1238 + 01001103H LINE CODE --- #1239 + 01001106H LINE CODE --- #1240 + 01001106H LINE CODE --- #1241 + 01001106H LINE CODE --- #1242 + 01001109H LINE CODE --- #1243 + 01001109H LINE CODE --- #1244 + 0100110BH LINE CODE --- #1246 + 01001114H LINE CODE --- #1253 + 01001117H LINE CODE --- #1254 + 01001119H LINE CODE --- #1267 + 0100111FH LINE CODE --- #1268 + 0100111FH LINE CODE --- #1269 + 01001122H LINE CODE --- #1270 + 01001122H LINE CODE --- #1276 + 01001128H LINE CODE --- #1277 + 01001128H LINE CODE --- #1278 + 0100112BH LINE CODE --- #1279 + 0100112BH LINE CODE --- #1282 + 01001136H LINE CODE --- #1283 + 01001136H LINE CODE --- #1284 + 01001139H LINE CODE --- #1285 + 01001139H LINE CODE --- #1286 + 01001142H LINE CODE --- #1287 + 01001142H LINE CODE --- #1296 + 01001148H LINE CODE --- #1298 + 0100114BH LINE CODE --- #1307 + 0100114BH LINE CODE --- #1309 + 0100114BH LINE CODE --- #1310 + 01001154H LINE CODE --- #1311 + 01001154H LINE CODE --- #1312 + 01001157H LINE CODE --- #1313 + 0100115AH LINE CODE --- #1314 + 0100115DH LINE CODE --- #1315 + 0100115DH LINE CODE --- #1316 + 0100115DH LINE CODE --- #1317 + 0100115DH LINE CODE --- #1318 + 0100115DH LINE CODE --- #1319 + 0100115DH LINE CODE --- #1328 + --- BLOCKEND --- --- LVL=0 + + 010013EAH BLOCK CODE --- LVL=0 + 010013EAH BLOCK CODE NEAR LAB LVL=1 + 00000035H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 48 + + + 010013EAH LINE CODE --- #1331 + 010013EAH LINE CODE --- #1332 + 010013EAH LINE CODE --- #1334 + 010013EDH LINE CODE --- #1335 + 010013EDH LINE CODE --- #1336 + 010013F6H LINE CODE --- #1337 + 010013F6H LINE CODE --- #1338 + 010013FFH LINE CODE --- #1339 + 01001401H LINE CODE --- #1341 + 01001401H LINE CODE --- #1342 + 01001408H LINE CODE --- #1343 + 01001408H LINE CODE --- #1344 + 01001411H LINE CODE --- #1345 + 01001414H LINE CODE --- #1346 + --- BLOCKEND --- --- LVL=0 + + 010004ACH BLOCK CODE --- LVL=0 + 010004ACH BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE TS_SampleComplete + 00000005H SYMBOL DATA BYTE i + 02000128H SYMBOL XDATA --- WakeUp_PThdVal + 02000140H SYMBOL XDATA --- WakeUp_NThdVal + 00000033H SYMBOL DATA --- TS_Data + 01000620H SYMBOL CODE VOID SLEEP_EXIT + --- BLOCKEND --- --- LVL=1 + 010004ACH LINE CODE --- #1347 + 010004ACH LINE CODE --- #1348 + 010004ACH LINE CODE --- #1353 + 010004AFH LINE CODE --- #1358 + 010004B1H LINE CODE --- #1359 + 010004B4H LINE CODE --- #1361 + 010004B6H LINE CODE --- #1372 + 010004B9H LINE CODE --- #1373 + 010004BCH LINE CODE --- #1375 + 010004C4H LINE CODE --- #1376 + 010004C7H LINE CODE --- #1377 + 010004CAH LINE CODE --- #1380 + 010004CDH LINE CODE --- #1385 + 010004D3H LINE CODE --- #1388 + 010004D6H LINE CODE --- #1390 + 010004D8H LINE CODE --- #1391 + 010004DCH LINE CODE --- #1393 + 010004E3H LINE CODE --- #1394 + 010004EBH LINE CODE --- #1396 + 010004EEH LINE CODE --- #1397 + 010004F1H LINE CODE --- #1398 + 010004F4H LINE CODE --- #1400 + 010004F7H LINE CODE --- #1401 + 010004FAH LINE CODE --- #1403 + 010004FAH LINE CODE --- #1404 + 010004FAH LINE CODE --- #1405 + 010004FEH LINE CODE --- #1406 + 010004FEH LINE CODE --- #1407 + 01000505H LINE CODE --- #1408 + 0100050BH LINE CODE --- #1409 + 0100050DH LINE CODE --- #1410 + 01000510H LINE CODE --- #1411 + 01000511H LINE CODE --- #1412 + 01000512H LINE CODE --- #1413 + 01000513H LINE CODE --- #1414 + 01000517H LINE CODE --- #1415 + 0100051BH LINE CODE --- #1416 + 0100051DH LINE CODE --- #1417 + 0100051DH LINE CODE --- #1418 + 0100052AH LINE CODE --- #1419 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 49 + + + 0100052AH LINE CODE --- #1420 + 0100052AH LINE CODE --- #1421 + 0100052AH LINE CODE --- #1422 + 0100052EH LINE CODE --- #1423 + 0100052EH LINE CODE --- #1424 + 01000533H LINE CODE --- #1425 + 01000535H LINE CODE --- #1426 + 01000535H LINE CODE --- #1427 + 01000551H LINE CODE --- #1428 + 01000551H LINE CODE --- #1429 + 0100055EH LINE CODE --- #1430 + 01000561H LINE CODE --- #1431 + 01000561H LINE CODE --- #1432 + 01000564H LINE CODE --- #1433 + 01000567H LINE CODE --- #1434 + 01000569H LINE CODE --- #1435 + 0100056CH LINE CODE --- #1436 + 0100056CH LINE CODE --- #1437 + 0100056FH LINE CODE --- #1438 + 01000572H LINE CODE --- #1439 + 01000574H LINE CODE --- #1440 + 01000577H LINE CODE --- #1441 + 01000577H LINE CODE --- #1442 + 0100057AH LINE CODE --- #1443 + 0100057DH LINE CODE --- #1444 + 0100057FH LINE CODE --- #1445 + 01000582H LINE CODE --- #1446 + 01000582H LINE CODE --- #1447 + 01000585H LINE CODE --- #1448 + 01000588H LINE CODE --- #1449 + 0100058AH LINE CODE --- #1450 + 0100058DH LINE CODE --- #1451 + 0100058DH LINE CODE --- #1452 + 01000590H LINE CODE --- #1453 + 01000593H LINE CODE --- #1454 + 01000595H LINE CODE --- #1455 + 01000598H LINE CODE --- #1456 + 01000598H LINE CODE --- #1457 + 0100059BH LINE CODE --- #1458 + 0100059EH LINE CODE --- #1459 + 0100059EH LINE CODE --- #1460 + 010005A2H LINE CODE --- #1461 + 010005A2H LINE CODE --- #1462 + 010005B8H LINE CODE --- #1463 + 010005CCH LINE CODE --- #1464 + 010005CEH LINE CODE --- #1466 + 010005CEH LINE CODE --- #1467 + 010005F0H LINE CODE --- #1468 + 010005F0H LINE CODE --- #1469 + 010005F0H LINE CODE --- #1470 + 010005F0H LINE CODE --- #1471 + 010005F0H LINE CODE --- #1472 + 010005F0H LINE CODE --- #1473 + 010005F9H LINE CODE --- #1474 + 01000602H LINE CODE --- #1475 + 01000602H LINE CODE --- #1476 + 01000608H LINE CODE --- #1477 + 0100060AH LINE CODE --- #1479 + 0100060AH LINE CODE --- #1480 + 0100060DH LINE CODE --- #1481 + 01000611H LINE CODE --- #1482 + 01000611H LINE CODE --- #1483 + 01000614H LINE CODE --- #1484 + 01000617H LINE CODE --- #1485 + 01000617H LINE CODE --- #1486 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 50 + + + 01000617H LINE CODE --- #1487 + 0100061AH LINE CODE --- #1488 + 0100061DH LINE CODE --- #1489 + 0100061DH LINE CODE --- #1490 + 01000620H LINE CODE --- #1491 + 01000620H LINE CODE --- #1492 + 01000623H LINE CODE --- #1493 + 01000626H LINE CODE --- #1494 + 0100062EH LINE CODE --- #1496 + 0100062EH LINE CODE --- #1501 + 0100062EH LINE CODE --- #1502 + 01000631H LINE CODE --- #1511 + 01000638H LINE CODE --- #1512 + 0100063BH LINE CODE --- #1513 + 0100063EH LINE CODE --- #1514 + 01000645H LINE CODE --- #1515 + 01000648H LINE CODE --- #1516 + 0100064BH LINE CODE --- #1517 + 0100064DH LINE CODE --- #1518 + 01000650H LINE CODE --- #1519 + 01000653H LINE CODE --- #1520 + 01000655H LINE CODE --- #1522 + 01000658H LINE CODE --- #1524 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- TS_SEVICE + 0100158DH PUBLIC CONST --- pXSFR + 01000296H PUBLIC CODE --- _WheelTouchJudge + 0100124CH PUBLIC CODE --- _SetWheelSliderRefCh + 01001446H PUBLIC CODE --- _TS_AreaConfirmTimerSet + 01001364H PUBLIC CODE --- _TS_AreaDeviateDetection + 00000020H.5 PUBLIC BIT BIT ?_TS_GetDataArea?BIT + 0100115EH PUBLIC CODE --- _TS_GetDataArea + 010011BDH PUBLIC CODE --- TS_ScanStart + 010012C7H PUBLIC CODE --- _TS_SetChannel + 01001335H PUBLIC CODE --- TS_IO_init + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + 0000008EH SFRSYM DATA BYTE IDLST + 000000D5H SFRSYM DATA BYTE TMCON + 000000B0H SFRSYM DATA BYTE P3 + 000000D0H.6 SFRSYM DATA BIT AC + 000000B7H SFRSYM DATA BYTE PWMIF + 000000A8H.7 SFRSYM DATA BIT EA + 000000C8H.0 SFRSYM DATA BIT T2P0 + 000000B9H SFRSYM DATA BYTE PWM0CON + 000000C8H.1 SFRSYM DATA BIT T2P1 + 000000BAH SFRSYM DATA BYTE PWM1CON + 000000C8H.4 SFRSYM DATA BIT T2R0 + 000000BBH SFRSYM DATA BYTE PWM2CON + 00000090H SFRSYM DATA BYTE PWMEN + 00000086H SFRSYM DATA BYTE PWCON + 000000C8H.5 SFRSYM DATA BIT T2R1 + 000000BCH SFRSYM DATA BYTE PWM3CON + 000000BDH SFRSYM DATA BYTE PWM4CON + 000000BEH SFRSYM DATA BYTE PWM5CON + 00000083H SFRSYM DATA BYTE DP0H + 000000A8H SFRSYM DATA BYTE IE + 00000085H SFRSYM DATA BYTE DP1H + 00000082H SFRSYM DATA BYTE DP0L + 000000CBH SFRSYM DATA BYTE T2CH + 000000C2H SFRSYM DATA BYTE I2CADM + 00000084H SFRSYM DATA BYTE DP1L + 000000C8H.3 SFRSYM DATA BIT T2IE + 000000FAH SFRSYM DATA BYTE TKMTS + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 51 + + + 000000CAH SFRSYM DATA BYTE T2CL + 000000C1H SFRSYM DATA BYTE I2CADR + 000000CFH SFRSYM DATA BYTE LEDWTMH + 000000D6H SFRSYM DATA BYTE TMSNU + 000000C6H SFRSYM DATA BYTE I2CFLG + 000000C4H SFRSYM DATA BYTE I2CDAT + 000000B8H SFRSYM DATA BYTE IP + 000000D0H.7 SFRSYM DATA BIT CY + 000000D7H SFRSYM DATA BYTE LEDAT0 + 000000CEH SFRSYM DATA BYTE LEDWTML + 000000F4H SFRSYM DATA BYTE ATK0CH + 000000C7H SFRSYM DATA BYTE LEDAT1 + 000000F6H SFRSYM DATA BYTE ATK1CH + 000000DEH SFRSYM DATA BYTE AK0CON + 000000E9H SFRSYM DATA BYTE ATK2CH + 000000DFH SFRSYM DATA BYTE AK1CON + 000000EBH SFRSYM DATA BYTE ATK3CH + 000000C0H SFRSYM DATA BYTE I2CCON + 0000008FH SFRSYM DATA BYTE STPST + 000000F3H SFRSYM DATA BYTE ATK0CL + 000000EDH SFRSYM DATA BYTE ATK4CH + 000000F5H SFRSYM DATA BYTE ATK1CL + 000000EFH SFRSYM DATA BYTE ATK5CH + 000000F7H SFRSYM DATA BYTE ATK2CL + 00000081H SFRSYM DATA BYTE SP + 000000EAH SFRSYM DATA BYTE ATK3CL + 000000D0H.2 SFRSYM DATA BIT OV + 000000ECH SFRSYM DATA BYTE ATK4CL + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + 000000D1H SFRSYM DATA BYTE EP0CON + 000000D2H SFRSYM DATA BYTE EP1CON + 000000C5H SFRSYM DATA BYTE I2CSTA + 000000D3H SFRSYM DATA BYTE EP2CON + 000000FCH SFRSYM DATA BYTE TK0CHS + 000000FBH SFRSYM DATA BYTE TKIF + 00000080H.0 SFRSYM DATA BIT P00 + 000000FDH SFRSYM DATA BYTE TK1CHS + 00000080H.1 SFRSYM DATA BIT P01 + 000000FEH SFRSYM DATA BYTE TK2CHS + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + 000000B0H.0 SFRSYM DATA BIT P30 + 00000080H.3 SFRSYM DATA BIT P03 + 000000A8H.5 SFRSYM DATA BIT INT3EN + 000000F1H SFRSYM DATA BYTE TK4CHS + 000000B0H.1 SFRSYM DATA BIT P31 + 00000080H.4 SFRSYM DATA BIT P04 + 000000A8H.6 SFRSYM DATA BIT INT4EN + 000000F2H SFRSYM DATA BYTE TK5CHS + 000000B0H.2 SFRSYM DATA BIT P32 + 00000080H.5 SFRSYM DATA BIT P05 + 00000089H SFRSYM DATA BYTE TMOD + 00000088H SFRSYM DATA BYTE TCON + 000000B0H.3 SFRSYM DATA BIT P33 + 00000080H.6 SFRSYM DATA BIT P06 + 000000B0H.4 SFRSYM DATA BIT P34 + 00000080H.7 SFRSYM DATA BIT P07 + 000000C8H.2 SFRSYM DATA BIT UCKS + 000000B0H.5 SFRSYM DATA BIT P35 + 000000E2H SFRSYM DATA BYTE TK0MSH + 000000E4H SFRSYM DATA BYTE TK1MSH + 000000E6H SFRSYM DATA BYTE TK2MSH + 000000D9H SFRSYM DATA BYTE TK3MSH + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 52 + + + 000000E1H SFRSYM DATA BYTE TK0MSL + 000000DBH SFRSYM DATA BYTE TK4MSH + 00000088H.1 SFRSYM DATA BIT IE0 + 000000E3H SFRSYM DATA BYTE TK1MSL + 000000DDH SFRSYM DATA BYTE TK5MSH + 00000088H.3 SFRSYM DATA BIT IE1 + 000000E5H SFRSYM DATA BYTE TK2MSL + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + 000000E0H SFRSYM DATA BYTE ACC + 000000A8H.4 SFRSYM DATA BIT ES0 + 000000E8H SFRSYM DATA BYTE LVDCON + 000000A8H.1 SFRSYM DATA BIT ET0 + 000000A8H.3 SFRSYM DATA BIT ET1 + 00000088H.5 SFRSYM DATA BIT TF0 + 00000098H.0 SFRSYM DATA BIT RI0 + 00000088H.7 SFRSYM DATA BIT TF1 + 000000C8H.7 SFRSYM DATA BIT TF2 + 00000098H.2 SFRSYM DATA BIT RB8 + 0000008CH SFRSYM DATA BYTE TH0 + 000000A8H.0 SFRSYM DATA BIT EX0 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + 000000A8H.2 SFRSYM DATA BIT EX1 + 00000098H.3 SFRSYM DATA BIT TB8 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + 000000D0H.0 SFRSYM DATA BIT P + 00000098H.7 SFRSYM DATA BIT SM0 + 0000008AH SFRSYM DATA BYTE TL0 + 00000098H.6 SFRSYM DATA BIT SM1 + 0000008BH SFRSYM DATA BYTE TL1 + 00000098H.5 SFRSYM DATA BIT SM2 + 000000CCH SFRSYM DATA BYTE TL2 + 000000AAH SFRSYM DATA BYTE PWM0DIVH + 000000B8H.4 SFRSYM DATA BIT PS0 + 000000ACH SFRSYM DATA BYTE PWM1DIVH + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + 000000AEH SFRSYM DATA BYTE PWM2DIVH + 000000B8H.3 SFRSYM DATA BIT PT1 + 000000D0H.3 SFRSYM DATA BIT RS0 + 000000A4H SFRSYM DATA BYTE PWM3DIVH + 000000B8H.5 SFRSYM DATA BIT PT2 + 00000088H.4 SFRSYM DATA BIT TR0 + 000000D0H.4 SFRSYM DATA BIT RS1 + 000000A9H SFRSYM DATA BYTE PWM0DIVL + 000000A6H SFRSYM DATA BYTE PWM4DIVH + 00000088H.6 SFRSYM DATA BIT TR1 + 000000ABH SFRSYM DATA BYTE PWM1DIVL + 000000A3H SFRSYM DATA BYTE WDVTHH + 0000009AH SFRSYM DATA BYTE PWM5DIVH + 000000C8H.6 SFRSYM DATA BIT TR2 + 000000B8H.0 SFRSYM DATA BIT PX0 + 000000ADH SFRSYM DATA BYTE PWM2DIVL + 000000B8H.2 SFRSYM DATA BIT PX1 + 000000AFH SFRSYM DATA BYTE PWM3DIVL + 000000A5H SFRSYM DATA BYTE PWM4DIVL + 000000A7H SFRSYM DATA BYTE PWM5DIVL + 000000A2H SFRSYM DATA BYTE WDVTHL + 0000009CH SFRSYM DATA BYTE PWM0DUTH + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 53 + + + 0000009EH SFRSYM DATA BYTE PWM1DUTH + 00000091H SFRSYM DATA BYTE PWM2DUTH + 00000093H SFRSYM DATA BYTE PWM3DUTH + 0000009BH SFRSYM DATA BYTE PWM0DUTL + 00000095H SFRSYM DATA BYTE PWM4DUTH + 0000009DH SFRSYM DATA BYTE PWM1DUTL + 00000099H SFRSYM DATA BYTE S0BUF + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + 00000094H SFRSYM DATA BYTE PWM4DUTL + 00000098H.4 SFRSYM DATA BIT REN + 00000096H SFRSYM DATA BYTE PWM5DUTL + 000000D0H.1 SFRSYM DATA BIT DPS + 000000C9H SFRSYM DATA BYTE T2MOD + 000000C8H SFRSYM DATA BYTE T2CON + 000000BFH SFRSYM DATA BYTE LEFLG + 000000F9H SFRSYM DATA BYTE TKCFG + 000000D0H.5 SFRSYM DATA BIT F0 + 000000A1H SFRSYM DATA BYTE WDFLG + 000000B1H SFRSYM DATA BYTE PWM0CKD + 000000B2H SFRSYM DATA BYTE PWM1CKD + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + 000000B4H SFRSYM DATA BYTE PWM3CKD + 000000B5H SFRSYM DATA BYTE PWM4CKD + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 010007E3H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 01001335H BLOCK CODE --- LVL=0 + 01001335H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000001H SYMBOL DATA --- pPinS + --- BLOCKEND --- --- LVL=1 + 01001335H LINE CODE --- #32 + 01001335H LINE CODE --- #33 + 01001335H LINE CODE --- #36 + 0100133BH LINE CODE --- #38 + 01001346H LINE CODE --- #39 + 01001346H LINE CODE --- #40 + 0100135BH LINE CODE --- #41 + 01001360H LINE CODE --- #42 + 01001363H LINE CODE --- #43 + --- BLOCKEND --- --- LVL=0 + + 010012C7H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE index + 00000005H SYMBOL DATA BYTE ch + 010012C7H LINE CODE --- #44 + 010012C7H LINE CODE --- #45 + 010012C7H LINE CODE --- #46 + 010012DBH LINE CODE --- #47 + 010012DBH LINE CODE --- #48 + 010012DBH LINE CODE --- #49 + 010012E0H LINE CODE --- #50 + 010012E1H LINE CODE --- #51 + 010012E1H LINE CODE --- #52 + 010012E6H LINE CODE --- #53 + 010012E7H LINE CODE --- #54 + 010012E7H LINE CODE --- #55 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 54 + + + 010012ECH LINE CODE --- #56 + 010012EDH LINE CODE --- #57 + 010012EDH LINE CODE --- #58 + 010012F2H LINE CODE --- #59 + 010012F3H LINE CODE --- #60 + 010012F3H LINE CODE --- #61 + 010012F8H LINE CODE --- #62 + 010012F9H LINE CODE --- #63 + 010012F9H LINE CODE --- #64 + 010012FEH LINE CODE --- #65 + 010012FEH LINE CODE --- #66 + 010012FEH LINE CODE --- #67 + --- BLOCKEND --- --- LVL=0 + + 010011BDH BLOCK CODE --- LVL=0 + 010011BDH BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000004H SYMBOL DATA BYTE j + --- BLOCKEND --- --- LVL=1 + 010011BDH LINE CODE --- #68 + 010011BDH LINE CODE --- #69 + 010011BDH LINE CODE --- #71 + 010011C5H LINE CODE --- #72 + 010011C5H LINE CODE --- #73 + 010011DCH LINE CODE --- #74 + 010011DCH LINE CODE --- #75 + 010011E3H LINE CODE --- #76 + 010011ECH LINE CODE --- #77 + 010011ECH LINE CODE --- #78 + 010011F3H LINE CODE --- #79 + 010011F6H LINE CODE --- #80 + 010011F6H LINE CODE --- #81 + 010011F6H LINE CODE --- #82 + 01001204H LINE CODE --- #83 + 01001207H LINE CODE --- #84 + 0100120AH LINE CODE --- #85 + --- BLOCKEND --- --- LVL=0 + + 0100115EH BLOCK CODE --- LVL=0 + 00000001H SYMBOL DATA BYTE ts_ch + 00000004H SYMBOL DATA WORD ts_data + 00000035H SYMBOL DATA INT NoiseThd + 00000020H.5 SYMBOL BIT BIT key_pressed_flag + 01001164H BLOCK CODE NEAR LAB LVL=1 + 00000002H SYMBOL DATA INT Delta + 00000006H SYMBOL DATA INT FingerThd + --- BLOCKEND --- --- LVL=1 + 0100115EH LINE CODE --- #86 + 01001164H LINE CODE --- #87 + 01001164H LINE CODE --- #91 + 01001174H LINE CODE --- #92 + 0100117BH LINE CODE --- #94 + 0100117EH LINE CODE --- #95 + 0100117EH LINE CODE --- #96 + 01001189H LINE CODE --- #97 + 01001189H LINE CODE --- #99 + 01001191H LINE CODE --- #100 + 0100119FH LINE CODE --- #101 + 010011AAH LINE CODE --- #102 + 010011BCH LINE CODE --- #103 + 010011BCH LINE CODE --- #104 + --- BLOCKEND --- --- LVL=0 + + 01001364H BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD cmp_data + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 55 + + + 00000004H SYMBOL DATA WORD real_data + 00000002H SYMBOL DATA INT range + 01001364H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA INT Delta + --- BLOCKEND --- --- LVL=1 + 01001364H LINE CODE --- #105 + 01001364H LINE CODE --- #106 + 01001364H LINE CODE --- #108 + 0100136BH LINE CODE --- #109 + 0100138CH LINE CODE --- #110 + 0100138CH LINE CODE --- #111 + 0100138FH LINE CODE --- #112 + 0100138FH LINE CODE --- #114 + 0100138FH LINE CODE --- #115 + 01001391H LINE CODE --- #116 + 01001391H LINE CODE --- #117 + --- BLOCKEND --- --- LVL=0 + + 01001446H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE ts_ch + 00000005H SYMBOL DATA BYTE area + 01001446H LINE CODE --- #130 + 01001446H LINE CODE --- #131 + 01001446H LINE CODE --- #132 + 01001458H LINE CODE --- #133 + --- BLOCKEND --- --- LVL=0 + + 0100124CH BLOCK CODE --- LVL=0 + 00000001H SYMBOL DATA BYTE Slider_Cnt + 0100124EH BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000006H SYMBOL DATA BYTE j + 00000035H SYMBOL DATA WORD MinVal + --- BLOCKEND --- --- LVL=1 + 0100124CH LINE CODE --- #134 + 0100124EH LINE CODE --- #135 + 0100124EH LINE CODE --- #138 + 01001254H LINE CODE --- #139 + 0100126BH LINE CODE --- #140 + 0100126BH LINE CODE --- #141 + 0100127FH LINE CODE --- #142 + 0100127FH LINE CODE --- #143 + 01001284H LINE CODE --- #144 + 01001288H LINE CODE --- #145 + 01001288H LINE CODE --- #146 + 0100128CH LINE CODE --- #147 + --- BLOCKEND --- --- LVL=0 + + 01000296H BLOCK CODE --- LVL=0 + 00000035H SYMBOL DATA BYTE WHEEL_SLIDER0_CH_COUNT_V + 00000036H SYMBOL DATA WORD WHEEL_SLIDER0_TOUCH_THD_V + 0100029CH BLOCK CODE NEAR LAB LVL=1 + 00000038H SYMBOL DATA BYTE i + 00000039H SYMBOL DATA DWORD CalcTemp1 + 0000003DH SYMBOL DATA WORD CalcTemp2 + 00000006H SYMBOL DATA WORD CalcTemp3 + 00000005H SYMBOL DATA BYTE DeltaRate + 0000003FH SYMBOL DATA INT Delta + 00000041H SYMBOL DATA WORD MaxDelta1 + 00000043H SYMBOL DATA WORD MaxDelta2 + 00000045H SYMBOL DATA BYTE Maxidx1 + 00000046H SYMBOL DATA BYTE Maxidx2 + 00000047H SYMBOL DATA INT Position + 00000004H SYMBOL DATA INT PosOffset + 01000428H BLOCK CODE NEAR LAB LVL=2 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 56 + + + 00000020H.6 SYMBOL BIT BIT dir_flag + --- BLOCKEND --- --- LVL=2 + --- BLOCKEND --- --- LVL=1 + 01000296H LINE CODE --- #149 + 0100029CH LINE CODE --- #150 + 0100029CH LINE CODE --- #160 + 010002A5H LINE CODE --- #161 + 010002B1H LINE CODE --- #162 + 010002B1H LINE CODE --- #163 + 010002BAH LINE CODE --- #164 + 010002BAH LINE CODE --- #165 + 010002D4H LINE CODE --- #166 + 010002D6H LINE CODE --- #168 + 010002D6H LINE CODE --- #169 + 010002E7H LINE CODE --- #170 + 010002FEH LINE CODE --- #171 + 0100030DH LINE CODE --- #172 + 01000322H LINE CODE --- #173 + 0100033AH LINE CODE --- #174 + 0100033AH LINE CODE --- #175 + 01000348H LINE CODE --- #178 + 01000353H LINE CODE --- #179 + 01000353H LINE CODE --- #181 + 0100035CH LINE CODE --- #182 + 01000365H LINE CODE --- #183 + 01000367H LINE CODE --- #184 + 01000372H LINE CODE --- #185 + 01000372H LINE CODE --- #187 + 0100037BH LINE CODE --- #188 + 0100037BH LINE CODE --- #193 + 01000380H LINE CODE --- #195 + 01000393H LINE CODE --- #196 + 01000393H LINE CODE --- #197 + 01000398H LINE CODE --- #198 + 01000398H LINE CODE --- #200 + 010003ACH LINE CODE --- #201 + 010003B9H LINE CODE --- #202 + 010003C1H LINE CODE --- #204 + 010003D4H LINE CODE --- #206 + 010003DEH LINE CODE --- #207 + 010003EAH LINE CODE --- #209 + 010003FBH LINE CODE --- #210 + 01000405H LINE CODE --- #211 + 01000405H LINE CODE --- #212 + 01000408H LINE CODE --- #213 + 0100040AH LINE CODE --- #215 + 0100040AH LINE CODE --- #216 + 01000414H LINE CODE --- #217 + 01000417H LINE CODE --- #218 + 01000417H LINE CODE --- #219 + 01000422H LINE CODE --- #220 + 01000428H LINE CODE --- #222 + 01000428H LINE CODE --- #224 + 01000431H LINE CODE --- #225 + 0100043AH LINE CODE --- #226 + 0100044DH LINE CODE --- #228 + 0100045BH LINE CODE --- #229 + 01000469H LINE CODE --- #230 + 01000474H LINE CODE --- #231 + 01000476H LINE CODE --- #233 + 01000479H LINE CODE --- #234 + 01000479H LINE CODE --- #235 + 01000483H LINE CODE --- #236 + 01000485H LINE CODE --- #238 + 01000485H LINE CODE --- #239 + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 57 + + + 0100048BH LINE CODE --- #240 + 0100048BH LINE CODE --- #241 + 0100049CH LINE CODE --- #242 + 0100049CH LINE CODE --- #243 + 010004A7H LINE CODE --- #244 + 010004A7H LINE CODE --- #245 + 010004A7H LINE CODE --- #246 + 010004ABH LINE CODE --- #247 + --- BLOCKEND --- --- LVL=0 + 00000006H SYMBOL DATA WORD CalcTemp3 + 00000005H SYMBOL DATA BYTE DeltaRate + 00000006H SYMBOL DATA INT PosOffset + + --- MODULE --- --- ?C_STARTUP + 01000000H PUBLIC CODE --- ?C_STARTUP + 000000E0H SYMBOL DATA --- ACC + 000000F0H SYMBOL DATA --- B + 00000083H SYMBOL DATA --- DPH + 00000082H SYMBOL DATA --- DPL + 00000000H SYMBOL NUMBER --- IBPSTACK + 00000100H SYMBOL NUMBER --- IBPSTACKTOP + 00000080H SYMBOL NUMBER --- IDATALEN + 01000F74H SYMBOL CODE --- IDATALOOP + 00000000H SYMBOL NUMBER --- PBPSTACK + 00000100H SYMBOL NUMBER --- PBPSTACKTOP + 00000000H SYMBOL NUMBER --- PDATALEN + 00000000H SYMBOL NUMBER --- PDATASTART + 00000000H SYMBOL NUMBER --- PPAGE + 00000000H SYMBOL NUMBER --- PPAGEENABLE + 000000A0H SYMBOL DATA --- PPAGE_SFR + 00000081H SYMBOL DATA --- SP + 01000F71H SYMBOL CODE --- STARTUP1 + 00000000H SYMBOL NUMBER --- XBPSTACK + 00000000H SYMBOL NUMBER --- XBPSTACKTOP + 00000000H SYMBOL NUMBER --- XDATALEN + 00000000H SYMBOL NUMBER --- XDATASTART + 01000000H LINE CODE --- #126 + 01000F71H LINE CODE --- #133 + 01000F73H LINE CODE --- #134 + 01000F74H LINE CODE --- #135 + 01000F75H LINE CODE --- #136 + 01000F77H LINE CODE --- #185 + 01000F7AH LINE CODE --- #196 + + --- MODULE --- --- ?C_INIT + 01000FB8H PUBLIC CODE --- ?C_START + + --- MODULE --- --- ?C?CSTPTR + 01000036H PUBLIC CODE --- ?C?CSTPTR + + --- MODULE --- --- ?C?IMUL + 01000048H PUBLIC CODE --- ?C?IMUL + + --- MODULE --- --- ?C?UIDIV + 0100005AH PUBLIC CODE --- ?C?UIDIV + + --- MODULE --- --- ?C?SIDIV + 010000AFH PUBLIC CODE --- ?C?SIDIV + + --- MODULE --- --- ?C?IILDX + 010000E5H PUBLIC CODE --- ?C?IILDX + + --- MODULE --- --- ?C?LMUL + 010000FBH PUBLIC CODE --- ?C?LMUL + + LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 58 + + + --- MODULE --- --- ?C?ULDIV + 01000186H PUBLIC CODE --- ?C?ULDIV + + --- MODULE --- --- ?C?ULSHR + 01000218H PUBLIC CODE --- ?C?ULSHR + + --- MODULE --- --- ?C?OFFXADD + 0100022BH PUBLIC CODE --- ?C?OFFXADD + + --- MODULE --- --- ?C?PLDCODE + 01000237H PUBLIC CODE --- ?C?PLDCODE + + --- MODULE --- --- ?C?CCASE + 01000243H PUBLIC CODE --- ?C?CCASE + + --- MODULE --- --- ?C?LIMUL + 01000269H PUBLIC CODE --- ?C?LIMUL + +Program Size: data=93.7 xdata=419 const=347 code=5200 +LX51 RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/debug.lst b/lst/debug.lst new file mode 100644 index 0000000..34902c2 --- /dev/null +++ b/lst/debug.lst @@ -0,0 +1,165 @@ +C51 COMPILER V9.60.7.0 DEBUG 07/03/2025 11:27:51 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE DEBUG +OBJECT MODULE PLACED IN .\hex\debug.obj +COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE TS_Lib\Sources\debug.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG + -PRINT(.\lst\debug.lst) TABS(2) OBJECT(.\hex\debug.obj) + +line level source + + 1 #ifndef _I2C_C_ + 2 #define _I2C_C_ + 3 + 4 /********************************************************************************************************* + -************/ + 5 #include "ca51f5_config.h" + 6 #include "includes\ca51f5sfr.h" + 7 #include "includes\ca51f5xsfr.h" + 8 #include "includes\gpiodef_f5.h" + 9 #include "Library\Includes\system_clock.h" + 10 #include "Library\Includes\i2c.h" + 11 /********************************************************************************************************* + -************/ + 12 #include "TS_Lib\Includes\ts_configuration.h" +*** WARNING C329 IN LINE 117 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 118 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 119 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 120 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 121 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 122 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 123 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 124 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation + 13 #include "TS_Lib\Includes\ts_def.h" + 14 #include "TS_Lib\Includes\ts_api.h" + 15 #include "TS_Lib\Includes\ts_service.h" + 16 /********************************************************************************************************* + -************/ + 17 #if DEBUG + #define I2C_ADDR 0xCA + unsigned char xdata TouchDebugID = '5'; + unsigned char rxOffset; + unsigned char regAddr; + bit iicReadMode; + extern TSState_T xdata TS_State_Debug; + extern unsigned char xdata Key_Cnt_Debug; + extern unsigned char xdata TS_CH_Debug[OPENED_TS_COUNT]; + extern unsigned int xdata TS_RefChBaseLineData; + extern unsigned int xdata TS_RefPostData; + extern unsigned int xdata KeysFlagSN_Debug; + code unsigned char *TS_INFO[]= + { + &TouchDebugID, + &TS_State_Debug, + &Key_Cnt_Debug, + &TS_RefChBaseLineData, + &TS_RefPostData, + &KeysFlagSN_Debug, + &TS_BaseLineData[0], + &TS_PostData[0], + &TSKey_FingerThd[0], + &TS_CH_Debug[0], + }; + unsigned char *pTS_Info; + void I2C_ISR(void) + C51 COMPILER V9.60.7.0 DEBUG 07/03/2025 11:27:51 PAGE 2 + + { + unsigned char Sta_Temp; + TouchDebugID = '5'; + Sta_Temp = I2CSTA; + + if(Sta_Temp == 0x60) //յӻַ+дλ + { + rxOffset = 0xff; + iicReadMode = 0; + I2CCON |= AAK(1); + } + else if(Sta_Temp == 0x80) + { + if(iicReadMode) //һֽ + { + rxOffset++; + I2CDAT = *(pTS_Info+rxOffset); + } + else //յһֽ + { + if(rxOffset == 0xff) //ַ + { + regAddr=I2CDAT; + pTS_Info = TS_INFO[regAddr]; + rxOffset=0; + I2CCON |= AAK(1); + } + else // + { + *(pTS_Info+rxOffset) = I2CDAT; + rxOffset++; + I2CCON |= AAK(1); + } + } + } + else if(Sta_Temp==0xA8) //յӻַ+λACKź + { + I2CDAT = *(pTS_Info+rxOffset); + iicReadMode = 1; + } + else if(Sta_Temp == 0x88) + { + } + I2CFLG |= I2CF; + } + void Debug_init(void) + { + #ifdef I2C_SELECT_P30_P31 + I2CIOS = 0; + GPIO_Init(P30F,P30_I2C_SDA_SETTING); + GPIO_Init(P31F,P31_I2C_SCL_SETTING); + #elif defined I2C_SELECT_P02_P03 + I2CIOS = 1; + GPIO_Init(P03F,P03_I2C_SDA_SETTING); + GPIO_Init(P02F,P02_I2C_SCL_SETTING); + #endif + + I2CCON = I2CE(1) | I2CIE(1) | STA(0) | STP(0)| CKHD(0) | AAK(1)| CBSE(0) | STFE(0); + I2CADR = (I2C_ADDR>>1); + + INT4EN = 1; + PS1 = 1; + C51 COMPILER V9.60.7.0 DEBUG 07/03/2025 11:27:51 PAGE 3 + + } + void Debug_ParamLoad(void) + { + unsigned char i; + KeysFlagSN_Debug = (unsigned int)KeysFlagSN; + TS_State_Debug = TS_State; + Key_Cnt_Debug = KEY_CH_COUNT; + for(i = 0; i < KEY_CH_COUNT; i++) + { + TS_CH_Debug[i] = TS_CH[i]; + } + TS_RefPostData = TS_PostData[OPENED_TS_COUNT]; + TS_RefChBaseLineData = TS_RefPostData; + } + + #endif + 122 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = ---- ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 8 WARNING(S), 0 ERROR(S) diff --git a/lst/delay.lst b/lst/delay.lst new file mode 100644 index 0000000..eede21c --- /dev/null +++ b/lst/delay.lst @@ -0,0 +1,50 @@ +C51 COMPILER V9.60.7.0 DELAY 07/03/2025 11:27:47 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE DELAY +OBJECT MODULE PLACED IN .\hex\delay.obj +COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE Library\Sources\delay.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG + - PRINT(.\lst\delay.lst) TABS(2) OBJECT(.\hex\delay.obj) + +line level source + + 1 #ifndef _Delay_C_ + 2 #define _Delay_C_ + 3 /********************************************************************************************************* + -************/ + 4 void Delay_50us(unsigned int n) + 5 { + 6 1 unsigned char i; + 7 1 while(n--) + 8 1 { + 9 2 for(i=0;i<71;i++); + 10 2 } + 11 1 } + 12 void Delay_ms(unsigned int delay_nms) + 13 { + 14 1 while(delay_nms--) + 15 1 { + 16 2 Delay_50us(20); + 17 2 } + 18 1 } + 19 /********************************************************************************************************* + -************/ + 20 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 49 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/display.lst b/lst/display.lst new file mode 100644 index 0000000..e553eeb --- /dev/null +++ b/lst/display.lst @@ -0,0 +1,13 @@ +C51 COMPILER V9.51 DISPLAY 07/30/2019 10:38:08 PAGE 1 + + +C51 COMPILER V9.51, COMPILATION OF MODULE DISPLAY +OBJECT MODULE PLACED IN .\hex\display.obj +COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE display.c OMF2 ROM(COMPACT) OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\displ + -ay.lst) TABS(2) OBJECT(.\hex\display.obj) + +line level source + +*** ERROR C318 OF display.c: can't open file 'display.c' + +C51 COMPILATION COMPLETE. 0 WARNING(S), 1 ERROR(S) diff --git a/lst/interrupt.lst b/lst/interrupt.lst new file mode 100644 index 0000000..5f24531 --- /dev/null +++ b/lst/interrupt.lst @@ -0,0 +1,135 @@ +C51 COMPILER V9.60.7.0 INTERRUPT 07/03/2025 11:27:50 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE INTERRUPT +OBJECT MODULE PLACED IN .\hex\interrupt.obj +COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE interrupt.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst + -\interrupt.lst) TABS(2) OBJECT(.\hex\interrupt.obj) + +line level source + + 1 #ifndef _INTERRUPT_C_ + 2 #define _INTERRUPT_C_ + 3 + 4 /********************************************************************************************************* + -************/ + 5 #include "ca51f5_config.h" + 6 #include "includes\ca51f5sfr.h" + 7 #include "includes\ca51f5xsfr.h" + 8 #include "includes\gpiodef_f5.h" + 9 #include "includes\system.h" + 10 #include "Library\includes\uart.h" + 11 #include "Library\Includes\tmc.h" + 12 + 13 #include "TS_Lib\Includes\ts_configuration.h" +*** WARNING C329 IN LINE 117 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 118 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 119 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 120 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 121 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 122 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 123 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 124 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation + 14 #include "TS_Lib\Includes\ts_def.h" + 15 #include "TS_Lib\Includes\ts_api.h" + 16 #include "TS_Lib\Includes\ts_service.h" + 17 #include + 18 + 19 #include "rf_send.h" + 20 + 21 + 22 #if DEBUG + #include "Library\Includes\i2c.h" + void I2C_ISR(void); + #endif + 26 /********************************************************************************************************* + -************/ + 27 extern unsigned char xdata TS_HalfSecCnt; + 28 void INT2_Handler (void) interrupt 4 + 29 { + 30 1 #ifdef UART0_EN + if(RI0) + { + UART0_RX_ISR(); + } + if(TI0) + { + UART0_TX_ISR(); + } + #endif + 40 1 } + 41 + 42 void INT3_ISR (void) interrupt 5 + 43 { + 44 1 static unsigned char TmCnt = 0; + C51 COMPILER V9.60.7.0 INTERRUPT 07/03/2025 11:27:50 PAGE 2 + + 45 1 if(TMCON & TMF) //ж + 46 1 { + 47 2 TMCON |= TMF; + 48 2 #if SUPPORT_TOUCH_SLEEP_MODE + 49 2 if(TS_SleepMode) + 50 2 { + 51 3 TS_HalfSecCnt++; + 52 3 return; + 53 3 } + 54 2 else + 55 2 { + 56 3 TS_MS_ISR(); + 57 3 } + 58 2 #else + TS_MS_ISR(); + #endif + 61 2 if(TS_LongKeyTimer) + 62 2 { + 63 3 TS_LongKeyTimer--; + 64 3 } + 65 2 TmCnt++; + 66 2 if(TmCnt >= 128) + 67 2 { + 68 3 TmCnt = 0; + 69 3 TS_HS_ISR(); + 70 3 } + 71 2 if(RF_Time<250)RF_Time++; //4ms + 72 2 } + 73 1 #if SUPPORT_TOUCH_SLEEP_MODE + 74 1 if(TS_SleepMode) + 75 1 { + 76 2 return; + 77 2 } + 78 1 #endif + 79 1 if(TKIF != 0) + 80 1 { + 81 2 TS_ISR(); + 82 2 } + 83 1 } + 84 void INT4_ISR(void) interrupt 6 + 85 { + 86 1 #if DEBUG + if(I2CFLG & I2CF) + { + I2C_ISR(); + } + #endif + 92 1 } + 93 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 137 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = 1 ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + C51 COMPILER V9.60.7.0 INTERRUPT 07/03/2025 11:27:50 PAGE 3 + + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 8 WARNING(S), 0 ERROR(S) diff --git a/lst/key.lst b/lst/key.lst new file mode 100644 index 0000000..18f33ae --- /dev/null +++ b/lst/key.lst @@ -0,0 +1,251 @@ +C51 COMPILER V9.51 KEY 03/07/2018 10:41:04 PAGE 1 + + +C51 COMPILER V9.51, COMPILATION OF MODULE KEY +OBJECT MODULE PLACED IN .\hex\key.obj +COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c OMF2 ROM(COMPACT) OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\key.lst) + -TABS(2) OBJECT(.\hex\key.obj) + +line level source + + 1 #ifndef _KEY_C_ + 2 #define _KEY_C_ + 3 + 4 /********************************************************************************************************* + -************/ + 5 #include "ca51f5_config.h" + 6 #include "includes\ca51f5sfr.h" + 7 #include "includes\ca51f5xsfr.h" + 8 #include "includes\gpiodef_f5.h" + 9 + 10 #include "Library\Includes\system_clock.h" + 11 #include "Library\includes\uart.h" + 12 #include "key.h" + 13 #include "io.h" + 14 /********************************************************************************************************* + -************/ + 15 #include "TS_Lib\Includes\ts_configuration.h" + 16 #include "TS_Lib\Includes\ts_def.h" + 17 #include "TS_Lib\Includes\ts_api.h" + 18 #include "TS_Lib\Includes\ts_service.h" + 19 /********************************************************************************************************* + -************/ + 20 + 21 /************************************************************************************************* + 22 K1ΪK1ʾ + 23 + 24 --> K1|KEY_BREAK(̰ɿ) + 25 - + 26 K1()-- + 27 - + 28 --> K1|KEY_LONG_START(Լ1)---> K1|KEY_LONG(һֱԼÿ300ms)---->K1|KEY_LONG_BR + -EAK(ɿ) + 29 ^ | + 30 | | + 31 |-----------------------------------------------| + 32 + 33 ϼ + 34 K1(K1=0x0001),K2(K2=0x0002)Ϊ K1K2ͬʱʱΪ(K1<<5)|K20x22, + -ʾ + 35 + 36 + 37 --> ((K1<<5)|K2)|KEY_BREAK(̰ɿ) + 38 - + 39 (K1<<5)|K2()-- + 40 - + 41 --> ((K1<<5)|K2)|KEY_LONG_START(Լ1)---> ((K1<<5)|K2)|KEY_LONG(һֱԼÿ300ms + -)---->((K1<<5)|K2)|KEY_LONG_BREAK(ɿ) + 42 ^ | + 43 | | + 44 |---------------------------------------------------------| + 45 ע⣺ڸϼʱһͬʱ⵽˫ȼ⵽£ȼ⵽K1ʱȲK1 + -ȵ⵽K2Ҳ + 46 ʱŻ(K1<<5)|K2⵽˫˫һֱ£((K1<<5)|K2)|KEY_LONG_START((K1<<5)| + -K2)|KEY_LONG + C51 COMPILER V9.51 KEY 03/07/2018 10:41:04 PAGE 2 + + 47 һֹ֣ͣ ȵ˫ɿʱŻ((K1<<5)|K2)|KEY_BREAK(̰ɿ)((K1<<5)|K2)| + -KEY_LONG_BREAK(ɿ) + 48 *************************************************************************************************/ + 49 typedef struct + 50 { + 51 unsigned char TogKeyNum; + 52 unsigned char TogKeyList[2]; + 53 } + 54 T_TogKeyInfo; + 55 code unsigned char TS_KEY_TAB[]= + 56 { + 57 K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13 + 58 }; + 59 void TSKey_init(void) + 60 { + 61 1 TK_State = TK_STATE_RELEASE; + 62 1 TS_Key = 0; + 63 1 } + 64 void TS_GetTogKeyInfor(T_TogKeyInfo *pKeyInfo) + 65 { + 66 1 unsigned char i,index; + 67 1 pKeyInfo->TogKeyNum = 0; + 68 1 index = 0; + 69 1 for(i = 0; i < KEY_CH_COUNT; i++) + 70 1 { + 71 2 if(KeysFlagSN & MASK_TAB[i]) + 72 2 { + 73 3 pKeyInfo->TogKeyNum++; + 74 3 + 75 3 if(pKeyInfo->TogKeyNum <= 2) + 76 3 { + 77 4 pKeyInfo->TogKeyList[index++] = TS_KEY_TAB[i]; + 78 4 } + 79 3 } + 80 2 } + 81 1 } + 82 + 83 void TS_GetKey(void) + 84 { + 85 1 static unsigned int KeyBak; + 86 1 static bit LongFlag; + 87 1 T_TogKeyInfo KeyInfo; + 88 1 unsigned char i; + 89 1 TS_Key = 0; + 90 1 TS_GetTogKeyInfor(&KeyInfo); + 91 1 + 92 1 if(TK_State == TK_STATE_RELEASE) + 93 1 { + 94 2 if(KeyInfo.TogKeyNum != 0) + 95 2 { + 96 3 if(KeyInfo.TogKeyNum == 1) + 97 3 { + 98 4 KeyBak = (unsigned int)KeyInfo.TogKeyList[0]; + 99 4 TK_State = TK_STATE_SINGLE_KEY_PRESS; + 100 4 } + 101 3 else if(KeyInfo.TogKeyNum == 2) + 102 3 { + 103 4 KeyBak = ((unsigned int)KeyInfo.TogKeyList[0]<<5)|(unsigned int)KeyInfo.TogKeyList[1]; + 104 4 TK_State = TK_STATE_DOUBLE_KEY_PRESS; + 105 4 } + 106 3 + 107 3 TS_Key = KeyBak; + C51 COMPILER V9.51 KEY 03/07/2018 10:41:04 PAGE 3 + + 108 3 LongFlag = 0; + 109 3 TS_LongKeyTimer = TS_LONG_START_TIME; + 110 3 BUZZ_ON; + 111 3 } + 112 2 } + 113 1 else if(TK_State == TK_STATE_SINGLE_KEY_PRESS) + 114 1 { + 115 2 if(KeyInfo.TogKeyNum == 1) + 116 2 { + 117 3 if(KeyBak == (unsigned int)KeyInfo.TogKeyList[0]) + 118 3 { + 119 4 if(!TS_LongKeyTimer) + 120 4 { + 121 5 if(!LongFlag) + 122 5 { + 123 6 LongFlag = 1; + 124 6 TS_Key = KeyBak | KEY_LONG_START; + 125 6 } + 126 5 else + 127 5 { + 128 6 TS_Key = KeyBak | KEY_LONG; + 129 6 } + 130 5 TS_LongKeyTimer = TS_LONG_TIME; + 131 5 } + 132 4 } + 133 3 else + 134 3 { + 135 4 if(!LongFlag) + 136 4 { + 137 5 TS_Key = KeyBak | KEY_BREAK; + 138 5 } + 139 4 else + 140 4 { + 141 5 TS_Key = KeyBak | KEY_LONG_BREAK; + 142 5 } + 143 4 TK_State = TK_STATE_RELEASE; + 144 4 BUZZ_OFF; + 145 4 } + 146 3 } + 147 2 else if(KeyInfo.TogKeyNum == 2) + 148 2 { + 149 3 KeyBak = ((unsigned int)KeyInfo.TogKeyList[0]<<5) | (unsigned int)KeyInfo.TogKeyList[1]; + 150 3 TK_State = TK_STATE_DOUBLE_KEY_PRESS; + 151 3 TS_Key = KeyBak; + 152 3 LongFlag = 0; + 153 3 TS_LongKeyTimer = TS_LONG_START_TIME; + 154 3 } + 155 2 else if(KeyInfo.TogKeyNum == 0) + 156 2 { + 157 3 if(!LongFlag) + 158 3 { + 159 4 TS_Key = KeyBak | KEY_BREAK; + 160 4 } + 161 3 else + 162 3 { + 163 4 TS_Key = KeyBak | KEY_LONG_BREAK; + 164 4 } + 165 3 TK_State = TK_STATE_RELEASE; + 166 3 BUZZ_OFF; + 167 3 } + 168 2 } + 169 1 else if(TK_State == TK_STATE_DOUBLE_KEY_PRESS) + C51 COMPILER V9.51 KEY 03/07/2018 10:41:04 PAGE 4 + + 170 1 { + 171 2 if(KeyInfo.TogKeyNum == 2) + 172 2 { + 173 3 if(KeyBak == ((unsigned int)KeyInfo.TogKeyList[0]<<5)|(unsigned int)KeyInfo.TogKeyList[1]) + 174 3 { + 175 4 if(!TS_LongKeyTimer) + 176 4 { + 177 5 if(!LongFlag) + 178 5 { + 179 6 LongFlag = 1; + 180 6 TS_Key = KeyBak | KEY_LONG_START; + 181 6 } + 182 5 else + 183 5 { + 184 6 TS_Key = KeyBak | KEY_LONG; + 185 6 } + 186 5 TS_LongKeyTimer = TS_LONG_TIME; + 187 5 } + 188 4 } + 189 3 } + 190 2 else if(KeyInfo.TogKeyNum == 0) + 191 2 { + 192 3 if(!LongFlag) + 193 3 { + 194 4 TS_Key = KeyBak | KEY_BREAK; + 195 4 } + 196 3 else + 197 3 { + 198 4 TS_Key = KeyBak | KEY_LONG_BREAK; + 199 4 } + 200 3 TK_State = TK_STATE_RELEASE; + 201 3 BUZZ_OFF; + 202 3 } + 203 2 } + 204 1 } +*** WARNING C280 IN LINE 88 OF key.c: 'i': unreferenced local variable + 205 /********************************************************************************************************* + -************/ + 206 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 407 ---- + CONSTANT SIZE = 13 ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = 7 9 + IDATA SIZE = ---- ---- + BIT SIZE = 1 ---- + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) diff --git a/lst/main.lst b/lst/main.lst new file mode 100644 index 0000000..3ebdab9 --- /dev/null +++ b/lst/main.lst @@ -0,0 +1,696 @@ +C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE MAIN +OBJECT MODULE PLACED IN .\hex\main.obj +COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE main.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\main + -.lst) TABS(2) OBJECT(.\hex\main.obj) + +line level source + + 1 #ifndef _MAIN_C_ + 2 #define _MAIN_C_ + 3 /********************************************************************************************************* + -************/ + 4 #include "ca51f5_config.h" + 5 #include "includes\ca51f5sfr.h" + 6 #include "includes\ca51f5xsfr.h" + 7 #include "includes\gpiodef_f5.h" + 8 + 9 #include "Library\includes\uart.h" + 10 #include "Library\includes\system_clock.h" + 11 #include "Library\Includes\tmc.h" + 12 #include "includes\system.h" + 13 #include "Library\includes\wdt.h" + 14 /********************************************************************************************************* + -************/ + 15 #include "TS_Lib\Includes\ts_configuration.h" +*** WARNING C329 IN LINE 117 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 118 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 119 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 120 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 121 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 122 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 123 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 124 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation + 16 #include "TS_Lib\Includes\ts_def.h" + 17 #include "TS_Lib\Includes\ts_api.h" + 18 #include "TS_Lib\Includes\ts_service.h" + 19 #include "rf_send.h" + 20 + 21 #include "Library\Includes\delay.h" + 22 + 23 #define INT_TIME 100 //ʱʱ䣬λΪus + 24 + 25 #define TH_VAL (unsigned char)((0x2000 - (INT_TIME*(FOSC/1000))/12000)>>5) + 26 #define TL_VAL (unsigned char)(0x2000 - (INT_TIME*(FOSC/1000))/12000)&0x1F + 27 + 28 + 29 + 30 unsigned char flagSend = 0; + 31 unsigned char valueSend = 0; + 32 unsigned char flagStart = 0; + 33 + 34 + 35 + 36 void Delay_ms(unsigned int n); + 37 + 38 void TIMER0_ISR (void) interrupt 1 //ÿ100usж + 39 { + 40 1 TH0 = TH_VAL; + 41 1 TL0 = TL_VAL; + 42 1 + 43 1 Send433_Byte(); + 44 1 } + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 2 + + 45 /********************************************************************************************************* + -************/ + 46 /********************************************************************************************************* + -********************************** + 47 ˵ + 48 ---------------------------------------------------------------------------------------------------------- + --- + 49 1.ts_configuration.hǴļļôͨȵȡts_configuration.hе˵ + - + 50 ---------------------------------------------------------------------------------------------------------- + --- + 51 2.ҪʹUARTԣca51f5_config.hд򿪺궨UART0_EN + 52 ---------------------------------------------------------------------------------------------------------- + --- + 53 3.ݽӿΪKeysFlagSNûɸKeysFlagSNֵжϴǷ££KeysFlag + -SN + 54 ĶӦλһֱΪ1ɿӦλΪ0TS_KeyǸKeysFlagSNֵɵİϢû粻ʹÿɺԡ + 55 ---------------------------------------------------------------------------------------------------------- + --- + 56 4.ʹ˴ʡģʽްʱڶʱʡģʽʡģʽǰرTMCжϺʹжϣ + -⣬ + 57 жǿģڴʡģʽ£CPUSTOPģʽڱѺ󣬳ʡ纯TS_EnterSleepMode + -ѭУע⣬ʡģʽ + 58 ѭУڴʡģʽҪӦжϣûڽ봥ʡģʽǰпжϣ + 59 Ҫ˳ʡģʽûֻҪʡ纯ѭڼжϣѭɡ + 60 + 61 TS_SleepEnǿƴʡģʽĿأϣijЩ²ʡģʽֻڴTS_Sleep + -En = 0 + 62 + 63 + 64 ---------------------------------------------------------------------------------------------------------- + --- + 65 5.ҵ(TK_CAPӵ)Χ6nF~50nF,ֵ20nF203 + 66 ---------------------------------------------------------------------------------------------------------- + --- + 67 6.Ŵ跶Χ0~5Kֵ1KŷķпԽȵŸҪ ˵3Kϡ + 68 ********************************************************************************************************** + -*********************************/ + 69 unsigned long int Read_32bit_UID(void) + 70 { + 71 1 unsigned long int ID; + 72 1 FSCMD = 0x80; + 73 1 PTSH = 0x00; + 74 1 PTSL = 0x00; + 75 1 FSCMD = 0x81; + 76 1 ID = FSDAT; + 77 1 ID *= 256; + 78 1 ID |= FSDAT; + 79 1 ID *= 256; + 80 1 ID |= FSDAT; + 81 1 ID *= 256; + 82 1 ID |= FSDAT; + 83 1 FSCMD = 0; + 84 1 return ID; + 85 1 } + 86 code unsigned char rf_data[255]= + 87 { + 88 0 , + 89 1 , + 90 2 , + 91 3 , + 92 4 , + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 3 + + 93 5 , + 94 6 , + 95 7 , + 96 8 , + 97 9 , + 98 10 , + 99 11 , + 100 12 , + 101 13 , + 102 14 , + 103 15 , + 104 16 , + 105 17 , + 106 18 , + 107 18 , + 108 19 , + 109 20 , + 110 21 , + 111 22 , + 112 23 , + 113 24 , + 114 25 , + 115 26 , + 116 27 , + 117 28 , + 118 29 , + 119 30 , + 120 31 , + 121 32 , + 122 33 , + 123 34 , + 124 35 , + 125 36 , + 126 37 , + 127 37 , + 128 38 , + 129 39 , + 130 40 , + 131 41 , + 132 42 , + 133 43 , + 134 44 , + 135 45 , + 136 46 , + 137 47 , + 138 48 , + 139 49 , + 140 50 , + 141 51 , + 142 52 , + 143 53 , + 144 54 , + 145 55 , + 146 56 , + 147 56 , + 148 57 , + 149 58 , + 150 59 , + 151 60 , + 152 61 , + 153 62 , + 154 63 , + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 4 + + 155 64 , + 156 65 , + 157 66 , + 158 67 , + 159 68 , + 160 69 , + 161 70 , + 162 71 , + 163 72 , + 164 73 , + 165 74 , + 166 74 , + 167 75 , + 168 76 , + 169 77 , + 170 78 , + 171 79 , + 172 80 , + 173 81 , + 174 82 , + 175 83 , + 176 84 , + 177 85 , + 178 86 , + 179 87 , + 180 88 , + 181 89 , + 182 90 , + 183 91 , + 184 92 , + 185 93 , + 186 93 , + 187 94 , + 188 95 , + 189 96 , + 190 97 , + 191 98 , + 192 99 , + 193 100 , + 194 101 , + 195 102 , + 196 103 , + 197 104 , + 198 105 , + 199 106 , + 200 107 , + 201 108 , + 202 109 , + 203 110 , + 204 111 , + 205 112 , + 206 112 , + 207 113 , + 208 114 , + 209 115 , + 210 116 , + 211 117 , + 212 118 , + 213 119 , + 214 120 , + 215 121 , + 216 122 , + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 5 + + 217 123 , + 218 124 , + 219 125 , + 220 126 , + 221 127 , + 222 128 , + 223 129 , + 224 130 , + 225 130 , + 226 131 , + 227 132 , + 228 133 , + 229 134 , + 230 135 , + 231 136 , + 232 137 , + 233 138 , + 234 139 , + 235 140 , + 236 141 , + 237 142 , + 238 143 , + 239 144 , + 240 145 , + 241 146 , + 242 147 , + 243 148 , + 244 149 , + 245 149 , + 246 150 , + 247 151 , + 248 152 , + 249 153 , + 250 154 , + 251 155 , + 252 156 , + 253 157 , + 254 158 , + 255 159 , + 256 160 , + 257 161 , + 258 162 , + 259 163 , + 260 164 , + 261 165 , + 262 166 , + 263 167 , + 264 168 , + 265 168 , + 266 169 , + 267 170 , + 268 171 , + 269 172 , + 270 173 , + 271 174 , + 272 175 , + 273 176 , + 274 177 , + 275 178 , + 276 179 , + 277 180 , + 278 181 , + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 6 + + 279 182 , + 280 183 , + 281 184 , + 282 185 , + 283 186 , + 284 186 , + 285 187 , + 286 188 , + 287 189 , + 288 190 , + 289 191 , + 290 192 , + 291 193 , + 292 194 , + 293 195 , + 294 196 , + 295 197 , + 296 198 , + 297 199 , + 298 200 , + 299 201 , + 300 202 , + 301 203 , + 302 204 , + 303 205 , + 304 205 , + 305 206 , + 306 207 , + 307 208 , + 308 209 , + 309 210 , + 310 211 , + 311 212 , + 312 213 , + 313 214 , + 314 215 , + 315 216 , + 316 217 , + 317 218 , + 318 219 , + 319 220 , + 320 221 , + 321 222 , + 322 223 , + 323 224 , + 324 224 , + 325 225 , + 326 226 , + 327 227 , + 328 228 , + 329 229 , + 330 230 , + 331 231 , + 332 232 , + 333 233 , + 334 234 , + 335 235 , + 336 236 , + 337 237 , + 338 238 , + 339 239 , + 340 239, + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 7 + + 341 240, + 342 240, + 343 }; + 344 void main(void) + 345 { + 346 1 unsigned long int addr=0; + 347 1 unsigned char send_times = 0; + 348 1 #ifdef LVD_RST_ENABLE + 349 1 LVDCON = 0xE3; //LVDλѹΪ2.0V + 350 1 #endif + 351 1 + 352 1 #ifdef UART0_EN + Uart0_Initial(UART0_BAUTRATE); + #endif + 355 1 + 356 1 //ŹʱԴΪIRCL + 357 1 CKCON |= ILCKE; //ʹIRCL + 358 1 WDCON = WDTS(WDTS_IRCL) | WDRE(WDRE_reset); //ÿŹʱԴΪILCKEģʽΪλģʽ + 359 1 WDVTHH = 0; //Źλֵ߰λ ǰֵΪ5s + 360 1 WDVTHL = 75; //ŹλֵͰλ + 361 1 WDFLG = 0xA5; + 362 1 + 363 1 EA = 1; + 364 1 + 365 1 TS_init(); + 366 1 + 367 1 P32F = OUTPUT; //P00Ϊģʽ + 368 1 P32=0; + 369 1 + 370 1 addr = (unsigned int)Read_32bit_UID(); //ȡңID + 371 1 D0 = (unsigned char)(addr >> 8); + 372 1 D1 = (unsigned char)(addr); + 373 1 + 374 1 Yaokong_Data[0] = D1; + 375 1 Yaokong_Data[1] = D0; + 376 1 + 377 1 TMOD = (TMOD&0xFC)|0x00; //ģʽѡ: ʱ0ģʽ0 + 378 1 TH0 = TH_VAL; //8λװֵ + 379 1 TL0 = TL_VAL; //8λװֵ + 380 1 + 381 1 TR0 = 0; //ʱ0ʹ + 382 1 ET0 = 1; //ʱ0жʹ + 383 1 PT0 = 0; //öʱ0жȼΪȼ + 384 1 + 385 1 while(1) + 386 1 { + 387 2 TS_Action(); + 388 2 if(WheelSliderPosition != -1) + 389 2 { + 390 3 flagSend = 1; + 391 3 flagStart = 0; + 392 3 //WheelSliderPosition-1ʱ ʾԲд¼WheelSliderPositionֵʾԲ + -λá + 393 3 send_times = 1; + 394 3 valueSend=rf_data[ WheelSliderPosition];//0-240 + 395 3 valueSend += 15;//15-255 + 396 3 } + 397 2 + 398 2 if(KeysFlagSN != 0) + 399 2 { + 400 3 flagSend = 1; + 401 3 flagStart = 0; + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 8 + + 402 3 switch(KeysFlagSN) + 403 3 { + 404 4 case 0x0001: + 405 4 valueSend = 0x05; + 406 4 break; + 407 4 case 0x0002: + 408 4 valueSend = 0x0c; + 409 4 break; + 410 4 case 0x0004: + 411 4 valueSend = 0x0a; + 412 4 break; + 413 4 case 0x0008: + 414 4 valueSend = 0x0b; + 415 4 break; + 416 4 case 0x0010: + 417 4 valueSend = 0x09; + 418 4 break; + 419 4 case 0x0020: + 420 4 valueSend = 0x07; + 421 4 break; + 422 4 case 0x0040: + 423 4 valueSend = 0x03; + 424 4 break; + 425 4 case 0x0080: + 426 4 valueSend = 0x01; + 427 4 break; + 428 4 default: + 429 4 flagSend = 0; + 430 4 break; + 431 4 } + 432 3 } + 433 2 + 434 2 if(WheelSliderPosition == -1&&KeysFlagSN == 0) + 435 2 { + 436 3 flagStart = 1; + 437 3 } + 438 2 + 439 2 + 440 2 + 441 2 + 442 2 + 443 2 + 444 2 #if GENERATE_TS_KEY_EN + /************************************************************************************************* + TS_KeyǸKeysFlagSNõİϢΪḶ́ + |--------------------------------------------------------------------------------------------------------- + ---------------------------| + | K1ΪK1ʾ | + | | + | |---> K1|KEY_BREAK(̰ɿ) | + | K1()--| | + | |---> K1|KEY_LONG_START(Լ1)---> K1|KEY_LONG(һֱԼÿ300msһγ)---->K1|KEY + -_LONG_BREAK(ɿ) | + | ^ | | + | | | | + | |----------<-----------<------------<--------------| | + |--------------------------------------------------------------------------------------------------------- + ---------------------------| + + |--------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------| + | | + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 9 + + | ϼK1(K1=0x0001),K2(K2=0x0002)Ϊ K1K2ͬʱʱΪ(K1<<5)|K20x22, + -ʾ | + | | + | |---> ((K1<<5)|K2)|KEY_BREAK(̰ɿ) | + | (K1<<5)|K2()--| | + | |---> ((K1<<5)|K2)|KEY_LONG_START(Լ1)---> ((K1<<5)|K2)|KEY_LONG(һֱԼÿ300ms + -)---->((K1<<5)|K2)|KEY_LONG_BREAK(ɿ) | + | ^ | | + | | | | + | |---------<-------------<----------------<----------------| + - | + |--------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------| + + ע⣺ڸϼʱһͬʱ⵽˫ȼ⵽£ȼ⵽K1ʱȲK1 + -ȵ⵽K2Ҳ + ʱŻ(K1<<5)|K2⵽˫˫һֱ£((K1<<5)|K2)|KEY_LONG_START((K1<<5)| + -K2)|KEY_LONG + һֹ֣ͣ ȵ˫ɿʱŻ((K1<<5)|K2)|KEY_BREAK(̰ɿ)((K1<<5)|K2)| + -KEY_LONG_BREAK(ɿ) + *************************************************************************************************/ + if(TS_Key != 0) + { + switch(TS_Key) + { + //Ϣ + case K1: + // valueSend = 0x05; //K1̰İϢ + break; + case (K1|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K1|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K1|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K1|KEY_LONG_BREAK): longPressFlag=0;//K1ֲϢ + break; + //Ϣ + case K2: //K1̰İϢ + // valueSend = 0x0c; + break; + case (K2|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K2|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K2|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K2|KEY_LONG_BREAK):longPressFlag=0; //K1ֲϢ + break; + //Ϣ + case K3: //K1̰İϢ + // valueSend = 0x0a; + break; + case (K3|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K3|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K3|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K3|KEY_LONG_BREAK): longPressFlag=0;///K1ֲϢ + break; + //Ϣ + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 10 + + case K4: //K1̰İϢ + // valueSend = 0x0b; + break; + case (K4|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + flagStart = 1; + break; + case (K4|KEY_LONG_START):longPressFlag=1; //K1ʼϢԼ1ʱ + valueSend = 0x0b; + flagStart = 1; + break; + case (K4|KEY_LONG): //K1ϢÿԼ300msһΣ + valueSend = 0x0b; + flagStart = 1; + break; + case (K4|KEY_LONG_BREAK):longPressFlag=0;//K1ֲϢ + break; + //Ϣ + case K5: //K1̰İϢ + // valueSend = 0x09; + break; + case (K5|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K5|KEY_LONG_START):longPressFlag=1; //K1ʼϢԼ1ʱ + break; + case (K5|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K5|KEY_LONG_BREAK):longPressFlag=0; //K1ֲϢ + break; + //Ϣ + case K6: //K1̰İϢ + // valueSend = 0x07; + break; + case (K6|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K6|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K6|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K6|KEY_LONG_BREAK):longPressFlag=0; //K1ֲϢ + break; + //Ϣ + case K7: //K1̰İϢ + // valueSend = 0x03; + break; + case (K7|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K7|KEY_LONG_START):longPressFlag=1; //K1ʼϢԼ1ʱ + break; + case (K7|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K7|KEY_LONG_BREAK): longPressFlag=0;//K1ֲϢ + break; + //Ϣ + case K8: //K1̰İϢ + // valueSend = 0x01; + break; + case (K8|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K8|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K8|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 11 + + case (K8|KEY_LONG_BREAK): longPressFlag=0;//K1ֲϢ + break; + #if GENERATE_DOUBLE_KEY_EN + //ϼϢ + case (K1<<5)|K2: //K1K2ͬʱʱİϢ + break; + case ((K1<<5)|K2)|KEY_BREAK: //K1K2ֲ̰İϢ + break; + case ((K1<<5)|K2)|KEY_LONG_START: //K1K2ʼİϢԼ1ʱ + break; + case ((K1<<5)|K2)|KEY_LONG: //K1K2ϢÿԼ300msһΣ + break; + case ((K1<<5)|K2)|KEY_LONG_BREAK: //K1K2ֲϢ + break; + #endif + } + } + #endif + 595 2 + 596 2 + 597 2 + 598 2 + 599 2 + 600 2 if(flagSend==1)//̰ + 601 2 { + 602 3 flagSend = 0; + 603 3 // flagStart = 1; + 604 3 // + 605 3 // RF_send(send_times); + 606 3 TR0 = 1; //ʱ0ʹ + 607 3 Yaokong_Data[2] = valueSend; + 608 3 } + 609 2 + 610 2 } + 611 1 } + 612 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 436 ---- + CONSTANT SIZE = 255 ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = 3 9 + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 8 WARNING(S), 0 ERROR(S) diff --git a/lst/rf_send.lst b/lst/rf_send.lst new file mode 100644 index 0000000..48f29a2 --- /dev/null +++ b/lst/rf_send.lst @@ -0,0 +1,223 @@ +C51 COMPILER V9.60.7.0 RF_SEND 07/03/2025 11:27:50 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE RF_SEND +OBJECT MODULE PLACED IN .\hex\rf_send.obj +COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE rf_send.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\r + -f_send.lst) TABS(2) OBJECT(.\hex\rf_send.obj) + +line level source + + 1 #ifndef _rf_send_C_ + 2 #define _rf_send_C_ + 3 /********************************************************************************************************* + -************/ + 4 #include "ca51f5_config.h" + 5 #include "includes\ca51f5sfr.h" + 6 #include "includes\ca51f5xsfr.h" + 7 #include "includes\gpiodef_f5.h" + 8 + 9 #include "Library\Includes\delay.h" + 10 + 11 #include "rf_send.h" + 12 + 13 sbit Pin_rf = P3^2; + 14 unsigned char D0,D1; + 15 unsigned int idata ID; + 16 unsigned char RF_Time; //ڿRFͼʱ + 17 + 18 + 19 unsigned char Send433_Status = 0; //͹̵״̬ + 20 unsigned int Send433_Time = 0; //¼433ݵĸߵ͵ƽʱ + 21 + 22 unsigned char Yaokong_Data[3]={0}; + 23 + 24 unsigned char Send433_Byte_Cont=0;//¼һ433ݵֽ + 25 unsigned char Send433_Bit_Cont = 0; //¼λ + 26 unsigned char Temp=0; + 27 unsigned char Chose_Data_En=0;//ʹѡһ433ݵĵNֽ + 28 + 29 void Send433_Byte(void) //100usִһ + 30 { + 31 1 switch (Send433_Status) + 32 1 { + 33 2 case 0: //ͬͷ + 34 2 Pin_rf = 1; + 35 2 if (++Send433_Time >= 4)//ߵƽ400us + 36 2 { + 37 3 Send433_Time = 0; + 38 3 Send433_Status = 1; //ͬͷ + 39 3 } + 40 2 break; + 41 2 case 1://ͬͷ͵ƽ + 42 2 Pin_rf = 0; + 43 2 if (++Send433_Time >= 120)//ƽ12300us + 44 2 { + 45 3 Send433_Time = 0; + 46 3 Send433_Status = 2; //뷢24λ + 47 3 } + 48 2 break; + 49 2 case 2: + 50 2 + 51 2 if(!Chose_Data_En)//ûʼ ϴѾһֽڲʹѡ + 52 2 { + 53 3 Chose_Data_En=1; + C51 COMPILER V9.60.7.0 RF_SEND 07/03/2025 11:27:50 PAGE 2 + + 54 3 Temp=Yaokong_Data[Send433_Byte_Cont]; + 55 3 //Send433_Byte_Cont++; + 56 3 } + 57 2 + 58 2 Send433_Time++; + 59 2 if (Temp & 0x80) //1 + 60 2 { + 61 3 if (Send433_Time <= 12) + 62 3 { + 63 4 Pin_rf = 1; + 64 4 } + 65 3 else if (Send433_Time >= 13) + 66 3 { + 67 4 Pin_rf = 0; + 68 4 if (Send433_Time == 16) + 69 4 { + 70 5 Send433_Time = 0; + 71 5 Temp <<= 1; + 72 5 Send433_Bit_Cont++; + 73 5 } + 74 4 } + 75 3 } + 76 2 else//0 + 77 2 { + 78 3 if (Send433_Time <= 4) + 79 3 { + 80 4 Pin_rf = 1; + 81 4 } + 82 3 else if (Send433_Time >= 5) + 83 3 { + 84 4 Pin_rf = 0; + 85 4 if (Send433_Time == 16) + 86 4 { + 87 5 Send433_Time = 0; + 88 5 Temp <<= 1; + 89 5 Send433_Bit_Cont++; + 90 5 } + 91 4 } + 92 3 } + 93 2 if (Send433_Bit_Cont == 8)//һֽ + 94 2 { + 95 3 Send433_Bit_Cont = 0; + 96 3 + 97 3 Chose_Data_En=0;//ʹѡһֽ + 98 3 if(++Send433_Byte_Cont==3) + 99 3 { + 100 4 Send433_Byte_Cont=0; + 101 4 + 102 4 if(flagStart == 1) + 103 4 { + 104 5 Send433_Status = 3; // + 105 5 } + 106 4 else + 107 4 { + 108 5 Send433_Status = 0; //һ֡ݷ + 109 5 } + 110 4 + 111 4 } + 112 3 } + 113 2 break; + 114 2 + 115 2 case 3: + C51 COMPILER V9.60.7.0 RF_SEND 07/03/2025 11:27:50 PAGE 3 + + 116 2 if (++Send433_Time <= 4) + 117 2 { + 118 3 Pin_rf = 1; + 119 3 } + 120 2 else + 121 2 { + 122 3 Pin_rf = 0; + 123 3 Send433_Time = 0; + 124 3 // flagStart = 0; + 125 3 Send433_Status = 0; + 126 3 TR0 = 0; //ʱ0ֹ + 127 3 + 128 3 } + 129 2 break; + 130 2 default: + 131 2 break; + 132 2 } + 133 1 } + 134 + 135 + 136 //void RF_send(unsigned char cnt); + 137 //void send_8bit(unsigned char n); + 138 + 139 ///*****************************************/ + 140 + 141 //void RF_send(unsigned char cnt) + 142 //{ + 143 // unsigned char i; + 144 + 145 // for(i=cnt;i>0;i--) //ʹ + 146 // { + 147 // Pin_rf=1; + 148 // Delay_50us(8); //ͬߵƽ + 149 // Pin_rf=0; + 150 // Delay_ms(12); //ͬ͵ƽ + 151 // Pin_rf=1; + 152 + 153 // send_8bit(D0); + 154 // send_8bit(D1); + 155 // send_8bit(valueSend); + 156 // + 157 //// if(WheelSliderPosition == -1&&KeysFlagSN == 0) + 158 //// { + 159 //// Pin_rf=1; + 160 //// Delay_50us(7); + 161 //// Pin_rf=0; + 162 //// } + 163 // } + 164 //} + 165 ////--------------------------------------------- + 166 //void send_8bit(unsigned char n) + 167 //{ + 168 // unsigned char i; + 169 // for(i=8;i>0;i--) + 170 // { + 171 // Pin_rf=1; + 172 // if(n&0x80) + 173 // { + 174 // Delay_50us(24); + 175 // Pin_rf=0; + 176 // Delay_50us(7); + 177 // } + C51 COMPILER V9.60.7.0 RF_SEND 07/03/2025 11:27:50 PAGE 4 + + 178 // else + 179 // { + 180 // Delay_50us(7); + 181 // Pin_rf=0; + 182 // Delay_50us(24); + 183 // } + 184 // n<<=1; + 185 // } + 186 //} + 187 + 188 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 260 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = 13 ---- + IDATA SIZE = 2 ---- + BIT SIZE = ---- ---- + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/rtc.lst b/lst/rtc.lst new file mode 100644 index 0000000..1d18f3b --- /dev/null +++ b/lst/rtc.lst @@ -0,0 +1,156 @@ +C51 COMPILER V9.51 RTC 09/21/2017 09:48:36 PAGE 1 + + +C51 COMPILER V9.51, COMPILATION OF MODULE RTC +OBJECT MODULE PLACED IN .\hex\rtc.obj +COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Library\Sources\rtc.c ROM(COMPACT) OPTIMIZE(9,SIZE) BROWSE DEBUG OBJECTEXTE + -ND PRINT(.\lst\rtc.lst) TABS(2) OBJECT(.\hex\rtc.obj) + +line level source + + 1 #ifndef _RTC_C_ + 2 #define _RTC_C_ + 3 /********************************************************************************************************* + -************/ + 4 #include "ca51f_config.h" + 5 #if (IC_TYPE == IC_TYPE_CA51F2X) + 6 #include "includes\ca51f2sfr.h" +*** WARNING C318 IN LINE 6 OF Library\Sources\rtc.c: can't open file 'includes\ca51f2sfr.h' + 7 #include "includes\ca51f2xsfr.h" +*** WARNING C318 IN LINE 7 OF Library\Sources\rtc.c: can't open file 'includes\ca51f2xsfr.h' + 8 #include "includes\gpiodef_f2.h" +*** WARNING C318 IN LINE 8 OF Library\Sources\rtc.c: can't open file 'includes\gpiodef_f2.h' + 9 #elif (IC_TYPE == IC_TYPE_CA51F3X) + #include "includes\ca51f3sfr.h" + #include "includes\ca51f3xsfr.h" + #include "includes\gpiodef_f3.h" + #endif + 14 #include "includes\system.h" + 15 #include "Library\includes\rtc.h" + 16 #include "Library\includes\delay.h" + 17 #include + 18 /********************************************************************************************************* + -************/ + 19 /*********************************************************************************** + 20 RTC_init + 21 ˵ ʼRTCƼĴ + 22 rtce RTCģʹܿ + 23 mse RTCжʹܿ + 24 hse RTCжʹܿ + 25 ֵ + 26 ***********************************************************************************/ + - + 27 void RTC_init(RTCE_TypeDef rtce,MSE_TypeDef mse,HSE_TypeDef hse) + 28 { + 29 1 RTCON = (RTCON & 0x1F) | RTCE(rtce) | MSE(mse) | HSE(hse); +*** ERROR C202 IN LINE 29 OF Library\Sources\rtc.c: 'RTCON': undefined identifier + 30 1 } + 31 #if 0 + /*********************************************************************************** + RTC_WriteSecond + ˵ RTCдֵ + second ֵ + ֵ + ***********************************************************************************/ + void RTC_WriteSecond(unsigned char second) //second = 0~59 + { + RTCON |= RTCWE(1); + RTCS = second; + Delay_50us(1); + RTCON &= ~RTCWE(1); + } + + /*********************************************************************************** + RTC_WriteMinute + C51 COMPILER V9.51 RTC 09/21/2017 09:48:36 PAGE 2 + + ˵ RTCдֵ + minute ֵ + ֵ + ***********************************************************************************/ + void RTC_WriteMinute(unsigned char minute) //minute = 0~59 + { + RTCON |= RTCWE(1); + RTCM = minute; + Delay_50us(1); + RTCON &= ~RTCWE(1); + } + + + /*********************************************************************************** + RTC_WriteHour + ˵ RTCдСʱ + hour Сʱֵ + ֵ + ***********************************************************************************/ + void RTC_WriteHour(unsigned char hour) //hour = 0~23 + { + RTCON |= RTCWE(1); + RTCH = (RTCH&0xE0)|hour; + Delay_50us(1); + RTCON &= ~RTCWE(1); + } + + + /*********************************************************************************** + RTC_WriteWeek + ˵ RTCд + week ֵ + ֵ + ***********************************************************************************/ + void RTC_WriteWeek(unsigned char week) //hour = 1~7һ~ + { + RTCON |= RTCWE(1); + RTCH = (RTCH&0x1F)|(week<<5); + Delay_50us(1); + RTCON &= ~RTCWE(1); + } + + + /*********************************************************************************** + RTC_AlarmCfg + ˵ RTC ALARMܼĴλ + hce СʱȽʹܿ + mce ӱȽʹܿ + sce Ƚʹܿ + ֵ + ***********************************************************************************/ + void RTC_AlarmCfg(HCE_TypeDef hce,MCE_TypeDef mce,SCE_TypeDef sce) + { + RTCON = (RTCON & 0xE3) | HCE(hce) | MCE(mce) | SCE(sce); + } + + /*********************************************************************************** + RTC_SetAlaramTime + ˵ RTC ALARMʱ + al_hr Сʱֵ + al_min ӷֵ + al_sec ֵ + C51 COMPILER V9.51 RTC 09/21/2017 09:48:36 PAGE 3 + + ֵ + ***********************************************************************************/ + void RTC_SetAlaramTime(unsigned char al_hr,unsigned char al_min,unsigned char al_sec) + { + RTAH = al_hr; + RTAM = al_min; + RTAS = al_sec; + } + #endif + 119 /*********************************************************************************** + 120 RTC_SetRTMSS + 121 ˵ úжϼ + 122 rtmss + 123 ֵ + 124 ***********************************************************************************/ + 125 void RTC_SetRTMSS(unsigned char rtmss) + 126 { + 127 1 RTMSS = rtmss; +*** ERROR C202 IN LINE 127 OF Library\Sources\rtc.c: 'RTMSS': undefined identifier + 128 1 } + 129 + 130 /********************************************************************************************************* + -************/ + 131 #endif + +C51 COMPILATION COMPLETE. 3 WARNING(S), 2 ERROR(S) diff --git a/lst/system_clock.lst b/lst/system_clock.lst new file mode 100644 index 0000000..1567016 --- /dev/null +++ b/lst/system_clock.lst @@ -0,0 +1,55 @@ +C51 COMPILER V9.60.7.0 SYSTEM_CLOCK 07/03/2025 11:27:48 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE SYSTEM_CLOCK +OBJECT MODULE PLACED IN .\hex\system_clock.obj +COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE Library\Sources\system_clock.c OMF2 OPTIMIZE(9,SIZE) BROWS + -E DEBUG PRINT(.\lst\system_clock.lst) TABS(2) OBJECT(.\hex\system_clock.obj) + +line level source + + 1 #ifndef _SYSTEM_CLOCK_C_ + 2 #define _SYSTEM_CLOCK_C_ + 3 /********************************************************************************************************* + -************/ + 4 #include "ca51f5_config.h" + 5 #include "../../includes/ca51f5sfr.h" + 6 #include "../../includes/ca51f5xsfr.h" + 7 #include "../../includes/gpiodef_f5.h" + 8 + 9 #include "../../includes/system.h" + 10 #include "../../Library/includes/system_clock.h" + 11 #include + 12 /********************************************************************************************************* + -************/ + 13 void Sys_Clk_Set_IRCH(void) + 14 { + 15 1 CKCON |= IHCKE; + 16 1 CKCON = (CKCON&0xFE) | CKSEL_IRCH; + 17 1 } + 18 void Sys_Clk_Set_IRCL(void) + 19 { + 20 1 CKCON |= ILCKE; + 21 1 CKCON = (CKCON&0xFE) | CKSEL_IRCL; + 22 1 } + 23 /********************************************************************************************************* + -************/ + 24 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 26 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/ts_api.lst b/lst/ts_api.lst new file mode 100644 index 0000000..e7aab91 --- /dev/null +++ b/lst/ts_api.lst @@ -0,0 +1,1941 @@ +C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE TS_API +OBJECT MODULE PLACED IN .\hex\ts_api.obj +COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE TS_Lib\Sources\ts_api.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG + - PRINT(.\lst\ts_api.lst) TABS(2) OBJECT(.\hex\ts_api.obj) + +line level source + + 1 #ifndef _TK_API_C_ + 2 #define _TK_API_C_ + 3 + 4 /********************************************************************************************************* + -************/ + 5 #include "ca51f5_config.h" + 6 #include "includes\ca51f5sfr.h" + 7 #include "includes\ca51f5xsfr.h" + 8 #include "includes\gpiodef_f5.h" + 9 + 10 #include "Library\Includes\tmc.h" + 11 #include "Library\Includes\system_clock.h" + 12 #include "Library\includes\uart.h" + 13 #include "includes\system.h" + 14 + 15 #include "Library\includes\delay.h" + 16 #include + 17 /********************************************************************************************************* + -************/ + 18 #include "TS_Lib\Includes\ts_configuration.h" +*** WARNING C329 IN LINE 117 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 118 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 119 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 120 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 121 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 122 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 123 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 124 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation + 19 #include "TS_Lib\Includes\ts_def.h" + 20 #include "TS_Lib\Includes\ts_api.h" + 21 #include "TS_Lib\Includes\ts_service.h" + 22 /********************************************************************************************************* + -************/ + 23 + 24 #include "rf_send.h" + 25 + 26 void Debug_init(void); + 27 void Debug_ParamLoad(void); + 28 #if SUPPORT_KEY + 29 #if TK_SENSITIVE_AUTO_TRIM_EN + void TK_TouchThdTrim(unsigned char ch); + #endif + 32 code unsigned int TS_KEY_CH_INFO_SEQ[][2]= + 33 { + 34 KEY_SEQ + 35 }; + 36 #if TK_SENSITIVE_AUTO_TRIM_EN + code unsigned int TK_BASELINE_VALUE_INFO_SEQ[]= + { + TK_BASELINE_VALUE_SEQ + }; + #endif + 42 #endif + 43 #if SUPPORT_WHEEL_SLIDER + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 2 + + 44 code unsigned char TS_WHEEL_SLIDER_CH_SEQ[]= + 45 { + 46 WHEEL_SLIDER0_SEQ, + 47 }; + 48 code unsigned char WHEEL_SLIDER0_MAX_MIN_TAB[]={WHEEL_SLIDER0_CH_MIN_RATE}; + 49 #else + code unsigned char WHEEL_SLIDER0_MAX_MIN_TAB[1]={0}; + #endif + 52 #if SUPPORT_KEY + 53 code TYPE_SN MASK_TAB[]= + 54 { + 55 0x0001, + 56 #if (KEY_CH_COUNT > 1) + 57 0x0002, + 58 #endif + 59 #if (KEY_CH_COUNT > 2) + 60 0x0004, + 61 #endif + 62 #if (KEY_CH_COUNT > 3) + 63 0x0008, + 64 #endif + 65 #if (KEY_CH_COUNT > 4) + 66 0x0010, + 67 #endif + 68 #if (KEY_CH_COUNT > 5) + 69 0x0020, + 70 #endif + 71 #if (KEY_CH_COUNT > 6) + 72 0x0040, + 73 #endif + 74 #if (KEY_CH_COUNT > 7) + 75 0x0080, + 76 #endif + 77 #if (KEY_CH_COUNT > 8) + 0x0100, + #endif + 80 #if (KEY_CH_COUNT > 9) + 0x0200, + #endif + 83 #if (KEY_CH_COUNT > 10) + 0x0400, + #endif + 86 #if (KEY_CH_COUNT > 11) + 0x0800, + #endif + 89 #if (KEY_CH_COUNT > 12) + 0x1000, + #endif + 92 + 93 }; + 94 code unsigned char AREA_CONFIRM_TIME_TAB[]= + 95 { + 96 FINGER_TOUCH_CONFIRM_TIME, + 97 AREA_PNOISE_PLUS_CONFIRM_TIME, + 98 AREA_PNOISE_CONFIRM_TIME, + 99 AREA_NNOISE_CONFIRM_TIME, + 100 AREA_OVERLOW_CONFIRM_TIME, + 101 }; + 102 #else + code unsigned char AREA_CONFIRM_TIME_TAB[1]={0}; + code unsigned int MASK_TAB[1]={0}; + #endif + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 3 + + 106 void TS_MS_ISR (void) + 107 { + 108 1 static unsigned char xdata ms_cnt = 0; + 109 1 unsigned char i; + 110 1 + 111 1 ms_cnt++; + 112 1 if(ms_cnt >= 4) + 113 1 { + 114 2 ms_cnt = 0; + 115 2 for(i = 0; i < TS_Cnt; i++) + 116 2 { + 117 3 if(TS_AreaConfirmTimer[i]) + 118 3 { + 119 4 TS_AreaConfirmTimer[i]--; + 120 4 } + 121 3 } + 122 2 #if SUPPORT_WHEEL_SLIDER + 123 2 if(TSWheelSlider_TouchConfirmTimer) + 124 2 { + 125 3 TSWheelSlider_TouchConfirmTimer--; + 126 3 } + 127 2 #endif + 128 2 #if SUPPORT_KEY + 129 2 #if SUPPORT_COVER_PANAL_AFTER_POWERON + if(PanalCoverJudgeTimer) PanalCoverJudgeTimer--; + #endif + 132 2 #endif + 133 2 #if SUPPORT_KEY + 134 2 #if ANTI_SPEAKER_EN + if(RefChDataTimer) RefChDataTimer--; + #endif + 137 2 #endif + 138 2 } + 139 1 } + 140 void TS_HS_ISR (void) + 141 { + 142 1 #if SUPPORT_KEY + 143 1 #if (FINGER_LONG_TOUCH_TIME_LIMIT > 0) + unsigned char i; + #endif + 146 1 #endif + 147 1 TS_HalfSecCnt++; + 148 1 + 149 1 #if SUPPORT_KEY + 150 1 #if (FINGER_LONG_TOUCH_TIME_LIMIT > 0) + for(i = 0; i < KEY_CH_COUNT; i++) + { + if(TSKey_LongTouchLimitTimer[i]) + { + TSKey_LongTouchLimitTimer[i]--; + } + } + #endif + 159 1 #endif + 160 1 #if SUPPORT_WHEEL_SLIDER + 161 1 #if (WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT > 0) + if(TSWheelSlider_LongTouchLimitTimer) + { + TSWheelSlider_LongTouchLimitTimer--; + } + #endif + 167 1 #endif + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 4 + + 168 1 if(TS_RefCHBaseLineAdjuTimer) + 169 1 { + 170 2 TS_RefCHBaseLineAdjuTimer--; + 171 2 } + 172 1 if(EnterStopScanTimer) + 173 1 { + 174 2 EnterStopScanTimer--; + 175 2 } + 176 1 } + 177 void TS_ISR (void) + 178 { + 179 1 unsigned char i; + 180 1 WORD_UNION TS_Data[6]; + 181 1 #if TK_FREQ_JUMP_EN + static unsigned int xdata TSDataTemp[2][OPENED_TS_COUNT+1]; + unsigned int xdata delta[2]; + unsigned int min_delta; + unsigned char min_index; + unsigned char j; + #endif + 188 1 if(TLFLG & (TLERR|TLKOV|TLLOV)) + 189 1 { + 190 2 TLFLG |= TLERR|TLKOV|TLLOV; + 191 2 } + 192 1 + 193 1 if(TKIF & TKIF0) + 194 1 { + 195 2 TKIF = TKIF0; + 196 2 TS_Data[0].bVal[0] = TK0MSH; + 197 2 TS_Data[0].bVal[1] = TK0MSL; + 198 2 } + 199 1 if(TKIF & TKIF1) + 200 1 { + 201 2 TKIF = TKIF1; + 202 2 TS_Data[1].bVal[0] = TK1MSH; + 203 2 TS_Data[1].bVal[1] = TK1MSL; + 204 2 } + 205 1 if(TKIF & TKIF2) + 206 1 { + 207 2 TKIF = TKIF2; + 208 2 TS_Data[2].bVal[0] = TK2MSH; + 209 2 TS_Data[2].bVal[1] = TK2MSL; + 210 2 } + 211 1 if(TKIF & TKIF3) + 212 1 { + 213 2 TKIF = TKIF3; + 214 2 TS_Data[3].bVal[0] = TK3MSH; + 215 2 TS_Data[3].bVal[1] = TK3MSL; + 216 2 } + 217 1 if(TKIF & TKIF4) + 218 1 { + 219 2 TKIF = TKIF4; + 220 2 TS_Data[4].bVal[0] = TK4MSH; + 221 2 TS_Data[4].bVal[1] = TK4MSL; + 222 2 } + 223 1 if(TKIF & TKIF5) + 224 1 { + 225 2 TKIF = TKIF5; + 226 2 TS_Data[5].bVal[0] = TK5MSH; + 227 2 TS_Data[5].bVal[1] = TK5MSL; + 228 2 } + 229 1 + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 5 + + 230 1 for(i = 0; i < 6; i++) + 231 1 { + 232 2 #if TK_FREQ_JUMP_EN + if(TS_State == TS_DEAL) + { + TSDataTemp[NowTKFreqIndex][TS_Index+i] = TS_Data[i].wVal; + + if(NowTKFreqIndex == 1) + { + min_delta = 0xFFFF; + for(j = 0; j < 2; j++) + { + if(TSDataTemp[j][TS_Index+i] > TS_JumpFreqData[j][TS_Index+i]/TS_ACQ_TIMES) + { + delta[j] = TSDataTemp[j][TS_Index+i] - TS_JumpFreqData[j][TS_Index+i]/TS_ACQ_TIMES; + } + else + { + delta[j] = TS_JumpFreqData[j][TS_Index+i]/TS_ACQ_TIMES - TSDataTemp[j][TS_Index+i]; + } + if(delta[j] < min_delta) + { + min_delta = delta[j]; + min_index = j; + } + } + TS_Data[i].wVal = TSDataTemp[min_index][TS_Index+i] + TS_JumpFreqData[1][TS_Index+i]/TS_ACQ_TIMES - TS + -_JumpFreqData[min_index][TS_Index+i]/TS_ACQ_TIMES; + } + + } + #endif + 261 2 #if TK_FREQ_JUMP_EN + if(((TS_State == TS_DEAL)&&(NowTKFreqIndex == 1)) ||(TS_State != TS_DEAL)) + #endif + 264 2 { + 265 3 #if (TS_ACQ_TIMES == 1) + 266 3 TS_RawData[TS_Index+i] = TS_Data[i].wVal; + 267 3 #else + TS_DataSum[TS_Index+i] += TS_Data[i].wVal; + #endif + 270 3 } + 271 2 if(TS_Index+i == TS_Cnt) + 272 2 { + 273 3 break; + 274 3 } + 275 2 + 276 2 } + 277 1 #if TK_FREQ_JUMP_EN + if(TS_State == TS_DEAL) + { + if(NowTKFreqIndex == 1) + { + NowTKFreqIndex = 0; + TKCFG = TKDIV(TKDIV_VAL2)|TKTMS(TKTMS_VAL); + TKCON |= TKST(1); + return; + } + else + { + NowTKFreqIndex = 1; + TKCFG = TKDIV(TKDIV_VAL)|TKTMS(TKTMS_VAL); + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 6 + + } + } + #endif + 294 1 if(TS_Index+6 > TS_Cnt) + 295 1 { + 296 2 #if (TS_ACQ_TIMES == 1) + 297 2 TS_CycleScanDoneFlag = 1; + 298 2 #else + TS_Acq_Counter++; + if(TS_Acq_Counter >= TS_ACQ_TIMES) + { + for(i = 0; i < TS_Cnt+1; i++) + { + TS_RawData[i] = TS_DataSum[i]; + TS_DataSum[i] = 0; + } + TS_CycleScanDoneFlag = 1; + TS_Acq_Counter = 0; + } + #endif + 311 2 TS_Index = 0; + 312 2 } + 313 1 else + 314 1 { + 315 2 TS_Index += 6; + 316 2 } + 317 1 TS_ScanStart(); + 318 1 if(TS_HalfSecCnt) TS_HalfSecCnt--; + 319 1 if(MainLoopCnt1 != MainLoopCnt2) + 320 1 { + 321 2 MainLoopCnt2 = MainLoopCnt1; + 322 2 WDFLG = 0xA5; + 323 2 } + 324 1 } + 325 void TS_DataFiltering(void) + 326 { + 327 1 unsigned char i; + 328 1 #if (FILTER_COUNT > 1) + 329 1 unsigned char j; + 330 1 unsigned int DataSum,DataMax,DataMin; + 331 1 #endif + 332 1 for(i = 0; i < TS_Cnt+1; i++) + 333 1 { + 334 2 #if (FILTER_COUNT == 1) + TS_PostData[i] = TS_RawData[i]; + #else + 337 2 TS_FilterPosIdx[i]++; + 338 2 if(TS_FilterPosIdx[i] >= FILTER_COUNT) + 339 2 { + 340 3 TS_FilterPosIdx[i] = 0; + 341 3 } + 342 2 INT3EN = 0; + 343 2 TS_FilterBuf[i][TS_FilterPosIdx[i]] = TS_RawData[i]; + 344 2 INT3EN = 1; + 345 2 + 346 2 DataSum = 0; + 347 2 DataMax = 0; + 348 2 DataMin = 0xFFFF; + 349 2 for(j = 0; j < FILTER_COUNT; j++) + 350 2 { + 351 3 DataSum += TS_FilterBuf[i][j]; + 352 3 #if (FILTER_COUNT > 2) + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 7 + + 353 3 if(TS_FilterBuf[i][j] > DataMax) + 354 3 { + 355 4 DataMax = TS_FilterBuf[i][j]; + 356 4 } + 357 3 if(TS_FilterBuf[i][j] < DataMin) + 358 3 { + 359 4 DataMin = TS_FilterBuf[i][j]; + 360 4 } + 361 3 #endif + 362 3 } + 363 2 #if (FILTER_COUNT == 2) + TS_PostData[i] = (DataSum)/(FILTER_COUNT); + #else + 366 2 TS_PostData[i] = (DataSum - DataMax - DataMin)/(FILTER_COUNT-2); + 367 2 #endif + 368 2 #endif + 369 2 } + 370 1 } + 371 #if SUPPORT_KEY + 372 #if ANTI_SPEAKER_EN + bit TS_RefChAbnormalJudge(void) + { + unsigned int ref_value,crt_value,delta; + + if(RefChDataBufIdx == (REF_CH_DATA_BUF_SIZE-1)) + { + ref_value = RefChDataBuf[0]; + } + else + { + ref_value = RefChDataBuf[RefChDataBufIdx + 1]; + } + crt_value = TS_PostData[OPENED_TS_COUNT]; + if(ref_value > crt_value) + { + delta = ref_value - crt_value; + } + else + { + delta = crt_value - ref_value; + } + if(delta >= REF_CH_ABNORMAL_THD) + { + return 1; + } + else + { + return 0; + } + } + void TS_RefChCheck(void) + { + if(!RefChDataTimer) + { + RefChDataTimer = 3; + RefChDataBufIdx++; + if(RefChDataBufIdx >= REF_CH_DATA_BUF_SIZE) + { + RefChDataBufIdx = 0; + } + RefChDataBuf[RefChDataBufIdx] = TS_PostData[OPENED_TS_COUNT]; + } + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 8 + + } + #endif + 417 #endif + 418 void TS_RunInit(void) + 419 { + 420 1 unsigned char i,j; + 421 1 static unsigned char TS_ScanTimes=0; + 422 1 #if (POWER_ON_WAIT_TK_STABLE_EN || TK_FREQ_JUMP_EN) + static unsigned char TS_Init_Step_Sub; + #endif + 425 1 if(TS_Init_Step == 0) + 426 1 { + 427 2 #if (TS_ACQ_TIMES > 1) + for(i = 0; i < TS_Cnt; i++) + { + TS_DataSum[i] = 0; + } + TS_Acq_Counter = 0; + #endif + 434 2 #if TK_FREQ_JUMP_EN + NowTKFreqIndex = 0; + TKCFG = TKDIV(TKDIV_VAL2)|TKTMS(TKTMS_VAL); + TS_Init_Step_Sub = 0; + #endif + 439 2 TS_CycleScanDoneFlag = 0; + 440 2 TS_HalfSecCnt = 0; + 441 2 TS_Index = 0; + 442 2 TS_ScanStart(); + 443 2 #if POWER_ON_WAIT_TK_STABLE_EN + TS_Init_Step = 1; + TS_Init_Step_Sub = 0; + TS_ScanTimes = 5; + #else + 448 2 TS_Init_Step = 2; + 449 2 TS_ScanTimes = 50; + 450 2 #endif + 451 2 } + 452 1 #if POWER_ON_WAIT_TK_STABLE_EN + else if(TS_Init_Step == 1) + { + if(TS_CycleScanDoneFlag) + { + TS_CycleScanDoneFlag = 0; + if(TS_Init_Step_Sub == 0) + { + if(--TS_ScanTimes) + { + return; + } + for(i = 0; i < TS_Cnt+1; i++) + { + TS_PostData[i] = TS_RawData[i]; + } + TS_Init_Step_Sub = 1; + TS_AreaConfirmTimer[0] = 40; + } + else if(TS_Init_Step_Sub == 1) + { + if(!TS_AreaConfirmTimer[0]) + { + int delta; + for(i = 0; i < TS_Cnt+1; i++) + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 9 + + { + delta = (int)TS_PostData[i] - (int)TS_RawData[i]; + if((delta > NOISE_THRESHOLD) || (delta < -NOISE_THRESHOLD)) + { + TS_Init_Step_Sub = 0; + return; + } + } + TS_Init_Step = 2; + TS_ScanTimes = 10; + } + } + } + } + #endif + 492 1 else if(TS_Init_Step == 2) + 493 1 { + 494 2 if(TS_CycleScanDoneFlag) + 495 2 { + 496 3 TS_CycleScanDoneFlag = 0; + 497 3 if(--TS_ScanTimes) + 498 3 { + 499 4 return; + 500 4 } + 501 3 #if TK_FREQ_JUMP_EN + if(TS_Init_Step_Sub == 0) + { + for(i = 0; i < TS_Cnt+1; i++) + { + TS_JumpFreqData[0][i] = TS_RawData[i]; + } + TS_Init_Step_Sub++; + + NowTKFreqIndex = 1; + TKCFG = TKDIV(TKDIV_VAL)|TKTMS(TKTMS_VAL); + TS_ScanTimes = 3; + return; + } + #endif + 516 3 TS_RefCHBaseLineAdjuTimer = 0; + 517 3 for(i = 0; i < TS_Cnt+1; i++) + 518 3 { + 519 4 for(j = 0; j < FILTER_COUNT; j++) + 520 4 { + 521 5 TS_FilterBuf[i][j] = TS_RawData[i]; + 522 5 } + 523 4 TS_FilterPosIdx[i] = 0; + 524 4 + 525 4 #if TK_FREQ_JUMP_EN + TS_JumpFreqData[1][i] = TS_RawData[i]; + #endif + 528 4 + 529 4 if(i == TS_Cnt) break; + 530 4 TS_BaseLineData[i] = TS_RawData[i]; + 531 4 TS_FirstAreaData[i] = TS_RawData[i]; + 532 4 #if TK_BASE_TRIM_WHILE_KEY_PRESSED + RefChDataBak[i] = TS_RawData[OPENED_TS_COUNT]; + TS_BaseLineDataBak[i] = TS_BaseLineData[i]; + #endif + 536 4 #if (SUPPORT_KEY && SUPPORT_WHEEL_SLIDER) + 537 4 if(i < KEY_CH_COUNT) + 538 4 { + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 10 + + 539 5 #if TK_SENSITIVE_AUTO_TRIM_EN + TK_TouchThdTrim(i); + #else + 542 5 TSKey_FingerThd[i] = TS_KEY_CH_INFO_SEQ[i][1]; + 543 5 #endif + 544 5 TS_AreaConfirmTimerSet(i,AREA_PNOISE); + 545 5 } + 546 4 else + 547 4 { + 548 5 TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + 549 5 } + 550 4 #elif SUPPORT_KEY + #if TK_SENSITIVE_AUTO_TRIM_EN + TK_TouchThdTrim(i); + #else + TSKey_FingerThd[i] = TS_KEY_CH_INFO_SEQ[i][1]; + #endif + TS_AreaConfirmTimerSet(i,AREA_PNOISE); + #elif SUPPORT_WHEEL_SLIDER + TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + #endif + 560 4 } + 561 3 #if SUPPORT_KEY + 562 3 #if ANTI_SPEAKER_EN + for(i = 0; i < REF_CH_DATA_BUF_SIZE; i++) + { + RefChDataBuf[i] = TS_PostData[OPENED_TS_COUNT]; + } + RefChDataBufIdx = 0; + #endif + 569 3 #endif + 570 3 #if (DEBUG) + Debug_ParamLoad(); + #endif + 573 3 TS_State = TS_DEAL; + 574 3 } + 575 2 } + 576 1 } + 577 #if SUPPORT_KEY + 578 #if TK_SHARE_LED_EN + void TKLED_Set(unsigned char ch,unsigned char mode) + { + unsigned char real_ch,idx,mask_bit; + switch(mode) + { + case LED_ON: + case LED_OFF: + real_ch = TS_KEY_CH_INFO_SEQ[ch][0]; + idx = real_ch>>3; + mask_bit = (real_ch&0x07); + if(mode == LED_ON) + { + if(idx == 0) TLDAT0 |= 1< 0) + TSKey_LongTouchLimitTimer[i] = FINGER_LONG_TOUCH_TIME_LIMIT; + #endif + 721 6 TS_AreaConfirmTimer[i] = FINGER_TOUCH_RELEASE_CONFIRM_TIME; + 722 6 } + 723 5 } + 724 4 else + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 13 + + 725 4 { + 726 5 #if SUPPORT_ANTI_WATER_FUNCTION + if(i != AntiWaterModeGetMaxDeltaCh()) + { + goto ANTI_WATER_MODE_KEY_RELEASE; + } + #endif + 732 5 + 733 5 #if TK_BASE_TRIM_WHILE_KEY_PRESSED + TS_BaseLineData[i] = ((unsigned long int)TS_BaseLineDataBak[i]*TS_PostData[OPENED_TS_COUNT])/RefChDat + -aBak[i]; + #endif + 736 5 + 737 5 TS_AreaConfirmTimer[i] = FINGER_TOUCH_RELEASE_CONFIRM_TIME; + 738 5 #if (FINGER_LONG_TOUCH_TIME_LIMIT > 0) + if(!TSKey_LongTouchLimitTimer[i]) + { + PreKeysFlagSN &= ~MASK_TAB[i]; + TS_FirstAreaData[i] = TS_PostData[i]; + TS_BaseLineData[i] = TS_PostData[i]; + #if TK_SENSITIVE_AUTO_TRIM_EN + TK_TouchThdTrim(i); + #endif + TS_AreaConfirmTimerSet(i,AREA_PNOISE); + #if SUPPORT_ANTI_WATER_FUNCTION + KeyPressedFlag = 0; + break; + #endif + } + #endif + 754 5 } + 755 4 } + 756 3 else + 757 3 { + 758 4 if(PreKeysFlagSN & MASK_TAB[i]) + 759 4 { + 760 5 if(!TS_AreaConfirmTimer[i]) + 761 5 { + 762 6 #if SUPPORT_ANTI_WATER_FUNCTION + ANTI_WATER_MODE_KEY_RELEASE: + KeyPressedFlag = 0; + #endif + 766 6 PreKeysFlagSN &= ~MASK_TAB[i]; + 767 6 + 768 6 TS_FirstAreaData[i] = TS_BaseLineData[i]; + 769 6 TS_AreaConfirmTimerSet(i,AREA_PNOISE); + 770 6 #if SUPPORT_ANTI_WATER_FUNCTION + break; + #endif + 773 6 } + 774 5 } + 775 4 else + 776 4 { + 777 5 TS_FirstAreaData[i] = TS_PostData[i]; + 778 5 TS_AreaConfirmTimerSet(i,NowArea); + 779 5 } + 780 4 } + 781 3 continue; + 782 3 } + 783 2 else + 784 2 { + 785 3 if(NowArea == AREA_FINGER_TOUCH) + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 14 + + 786 3 { + 787 4 TS_FirstAreaData[i] = TS_PostData[i]; + 788 4 TS_AreaConfirmTimerSet(i,AREA_FINGER_TOUCH); + 789 4 continue; + 790 4 } + 791 3 } + 792 2 if(PreKeysFlagSN != 0) + 793 2 { + 794 3 TS_FirstAreaData[i] = TS_BaseLineData[i]; + 795 3 TS_AreaConfirmTimerSet(i,AREA_PNOISE); + 796 3 continue; + 797 3 } + 798 2 if(TS_AreaDeviateDetection(TS_FirstAreaData[i],TS_PostData[i],NOISE_THRESHOLD)) //жƫǷ + -Χ + 799 2 { + 800 3 if(!TS_AreaConfirmTimer[i]) + 801 3 { + 802 4 TS_FirstAreaData[i] = TS_PostData[i]; + 803 4 TS_BaseLineData[i] = TS_PostData[i]; + 804 4 + 805 4 #if TK_SENSITIVE_AUTO_TRIM_EN + TK_TouchThdTrim(i); + #endif + 808 4 + 809 4 #if TK_BASE_TRIM_WHILE_KEY_PRESSED + RefChDataBak[i] = TS_PostData[OPENED_TS_COUNT]; + TS_BaseLineDataBak[i] = TS_BaseLineData[i]; + #endif + 813 4 TS_AreaConfirmTimerSet(i,AREA_PNOISE); + 814 4 } + 815 3 } + 816 2 else + 817 2 { + 818 3 TS_FirstAreaData[i] = TS_PostData[i]; + 819 3 TS_AreaConfirmTimerSet(i,NowArea); + 820 3 } + 821 2 } + 822 1 #if SUPPORT_ANTI_WATER_FUNCTION + if(KeysFlagSN == 0) + { + if(PreKeysFlagSN != 0) + { + PressedKeyIndex = AntiWaterModeGetMaxDeltaCh(); + PreKeysFlagSN = MASK_TAB[PressedKeyIndex]; + #if (FINGER_LONG_TOUCH_TIME_LIMIT > 0) + TSKey_LongTouchLimitTimer[PressedKeyIndex] = FINGER_LONG_TOUCH_TIME_LIMIT; + #endif + TS_AreaConfirmTimer[PressedKeyIndex] = FINGER_TOUCH_RELEASE_CONFIRM_TIME; + KeyPressedFlag = 1; + } + } + #endif + 837 1 #if SUPPORT_COVER_PANAL_AFTER_POWERON + if(!PanalCoverJudgeFlag) + { + if(PreKeysFlagSN != 0) + { + if(KeysFlagSN == 0) + { + PanalCoverJudgeFlag = 1; + PanalCoverJudgeTimer = PANAL_COVER_JUDGE_TIME; + } + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 15 + + else + { + if((PanalToggleCount >= JUDGE_TK_NUM)||(TS_RefChAbnormalJudge())) + { + PreKeysFlagSN = 0; + PanalCoverJudgeFlag = 0; + TS_BaseLineForceUpdate(); + } + KeysFlagSN = PreKeysFlagSN; + } + } + else + { + KeysFlagSN = PreKeysFlagSN; + } + } + else + { + if(!PanalCoverJudgeTimer) + { + PanalCoverJudgeFlag = 0; + KeysFlagSN = PreKeysFlagSN; + } + else + { + if((PanalToggleCount >= JUDGE_TK_NUM)||(TS_RefChAbnormalJudge())) + { + PreKeysFlagSN = 0; + PanalCoverJudgeFlag = 0; + TS_BaseLineForceUpdate(); + } + } + } + #else + 881 1 #if ANTI_SPEAKER_EN + if((PreKeysFlagSN != 0)&&(KeysFlagSN == 0)) + { + if(TS_RefChAbnormalJudge()) + { + PreKeysFlagSN = 0; + + #if SUPPORT_ANTI_WATER_FUNCTION + KeyPressedFlag = 0; + #endif + TS_BaseLineForceUpdate(); + } + } + #endif + 895 1 KeysFlagSN = PreKeysFlagSN; + 896 1 + 897 1 #endif + 898 1 if(KeysFlagSN != 0) + 899 1 { + 900 2 ActiveTouchType = 1; + 901 2 } + 902 1 else + 903 1 { + 904 2 ActiveTouchType = 0; + 905 2 } + 906 1 } + 907 #endif + 908 #if SUPPORT_WHEEL_SLIDER + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 16 + + 909 void TS_WheelSliderDeal(void) + 910 { + 911 1 unsigned char i; + 912 1 unsigned int Delta,Position; + 913 1 bit WheelSliderTogFlag = 0; + 914 1 TS_BaseCh = KEY_CH_COUNT; + 915 1 if(!W_S_RefChSet) + 916 1 { + 917 2 W_S_RefChSet = 1; + 918 2 SetWheelSliderRefCh(WHEEL_SLIDER0_CH_COUNT); + 919 2 } + 920 1 + 921 1 #if PRINT_WHEEL_SLIDER_DATA_EN + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('i'); + TK_Debug_UartPutChar('d'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('r'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('d'); + TK_Debug_UartPutChar('a'); + TK_Debug_UartPutChar('t'); + TK_Debug_UartPutChar('a'); + TK_Debug_UartPutChar(':'); + TK_Debug_UartPutChar(0xaa); + for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) + { + if(TS_BaseLineData[i] > TS_PostData[i]) + { + Delta = (int)TS_BaseLineData[i] - (int)TS_PostData[i]; + } + else + { + Delta = 0; + } + TK_Debug_UartPutChar(30+i); + TK_Debug_UartPutChar(30+TS_PostData[i]>>8); + TK_Debug_UartPutChar(30+TS_PostData[i]); + TK_Debug_UartPutChar(30+TS_BaseLineData[i]>>8); + TK_Debug_UartPutChar(30+TS_BaseLineData[i]); + TK_Debug_UartPutChar(30+Delta>>8); + TK_Debug_UartPutChar(30+Delta); + } + #endif + 954 1 #if (WHEEL_OR_SLIDER_DEF0 == SLIDER) + Position = SliderTouchJudge(WHEEL_SLIDER0_CH_COUNT,WHEEL_SLIDER0_TOUCH_THD); + #elif (WHEEL_OR_SLIDER_DEF0 == WHEEL) + 957 1 Position = WheelTouchJudge(WHEEL_SLIDER0_CH_COUNT,WHEEL_SLIDER0_TOUCH_THD); + 958 1 #endif + 959 1 if(Position != -1) + 960 1 { + 961 2 TS_StableFlag = 0; + 962 2 } + 963 1 if(WheelSliderState == WHEEL_SLIDER_NO_TOUCH) + 964 1 { + 965 2 if(!WheelSliderTouchFlag) + 966 2 { + 967 3 if(Position != -1) + 968 3 { + 969 4 WheelSliderTouchFlag = 1; + 970 4 TSWheelSlider_TouchConfirmTimer = WHEEL_SLIDER_TOUCH_CONFIRM_TIME; + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 17 + + 971 4 } + 972 3 else + 973 3 { + 974 4 for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) + 975 4 { + 976 5 if(TS_FirstAreaData[i] > TS_PostData[i]) + 977 5 { + 978 6 Delta = TS_FirstAreaData[i] - TS_PostData[i]; + 979 6 } + 980 5 else + 981 5 { + 982 6 Delta = TS_PostData[i] - TS_FirstAreaData[i]; + 983 6 } + 984 5 if(Delta <= WHEEL_SLIDER0_NOISE_THD) + 985 5 { + 986 6 if(!TS_AreaConfirmTimer[i]) + 987 6 { + 988 7 TS_FirstAreaData[i] = TS_PostData[i]; + 989 7 TS_BaseLineData[i] = TS_PostData[i]; + 990 7 TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + 991 7 } + 992 6 } + 993 5 else + 994 5 { + 995 6 TS_FirstAreaData[i] = TS_PostData[i]; + 996 6 TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; + 997 6 } + 998 5 } + 999 4 } +1000 3 } +1001 2 else +1002 2 { +1003 3 if(Position != -1) +1004 3 { +1005 4 if(!TSWheelSlider_TouchConfirmTimer) +1006 4 { +1007 5 WheelSliderState = WHEEL_SLIDER_TOUCH; +1008 5 #if (WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT > 0) + TSWheelSlider_LongTouchLimitTimer = WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT; + #endif +1011 5 } +1012 4 } +1013 3 else +1014 3 { +1015 4 WheelSliderTouchFlag = 0; +1016 4 for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) +1017 4 { +1018 5 TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; +1019 5 } +1020 4 } +1021 3 } +1022 2 } +1023 1 else if(WheelSliderState == WHEEL_SLIDER_TOUCH) +1024 1 { +1025 2 #if (WHEEL_SLIDER_LONG_TOUCH_TIME_LIMIT > 0) + if(!TSWheelSlider_LongTouchLimitTimer) + { + for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) + { + TS_FirstAreaData[i] = TS_PostData[i]; + TS_BaseLineData[i] = TS_PostData[i]; + } + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 18 + + WheelSliderTouchFlag = 0; + goto WHEEL_SLIDER_RELEASE; + } + #endif +1037 2 if(WheelSliderTouchFlag) +1038 2 { +1039 3 if(Position == -1) +1040 3 { +1041 4 WheelSliderTouchFlag = 0; +1042 4 TSWheelSlider_TouchConfirmTimer = WHEEL_SLIDER_TOUCH_RELEASE_CONFIRM_TIME; +1043 4 } +1044 3 } +1045 2 else +1046 2 { +1047 3 if(Position == -1) +1048 3 { +1049 4 if(!TSWheelSlider_TouchConfirmTimer) +1050 4 { +1051 5 //WHEEL_SLIDER_RELEASE: +1052 5 WheelSliderState = WHEEL_SLIDER_NO_TOUCH; +1053 5 WheelSliderCapRateFilter = 0; +1054 5 WheelSliderPosition = -1; +1055 5 for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) +1056 5 { +1057 6 TS_AreaConfirmTimer[i] = WHEEL_SLIDER_BASELINE_UPDATE_TIME; +1058 6 } +1059 5 } +1060 4 } +1061 3 else +1062 3 { +1063 4 WheelSliderTouchFlag = 1; +1064 4 } +1065 3 } +1066 2 } +1067 1 if(WheelSliderState == WHEEL_SLIDER_TOUCH) +1068 1 { +1069 2 if(Position != -1) +1070 2 { +1071 3 WheelSliderPosition = Position; +1072 3 } +1073 2 #if PRINT_WHEEL_SLIDER_POSITION_EN + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('i'); + TK_Debug_UartPutChar('d'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('r'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('p'); + TK_Debug_UartPutChar('o'); + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('i'); + TK_Debug_UartPutChar(':'); + TK_Debug_UartPutChar(WheelSliderPosition/100+0x30); + TK_Debug_UartPutChar((WheelSliderPosition%100)/10+0x30); + TK_Debug_UartPutChar((WheelSliderPosition%10)+0x30); + + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + #endif +1093 2 #if PRINT_WHEEL_SLIDER_RATE_EN + { + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 19 + + unsigned char DeltaRate; + DeltaRate = WheelSliderCapRateFilter/4; + TK_Debug_UartPutChar(WheelSliderMaxIdx + 0x30); + TK_Debug_UartPutChar(' '); + + TK_Debug_UartPutChar(DeltaRate/100+0x30); + TK_Debug_UartPutChar((DeltaRate%100)/10+0x30); + TK_Debug_UartPutChar((DeltaRate%10)+0x30); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + #endif +1107 2 } +1108 1 else +1109 1 { +1110 2 WheelSliderPosition = -1; +1111 2 } +1112 1 +1113 1 if(WheelSliderPosition != -1) +1114 1 { +1115 2 ActiveTouchType = 2; +1116 2 } +1117 1 else +1118 1 { +1119 2 ActiveTouchType = 0; +1120 2 } +1121 1 } +1122 #endif +1123 +1124 void TS_init(void) +1125 { +1126 1 unsigned char i,ch_idx; +1127 1 #if (DEBUG) + Debug_init(); + #endif +1130 1 +1131 1 TS_Cnt = OPENED_TS_COUNT; +1132 1 ch_idx = 0; +1133 1 for(i = 0;i < OPENED_TS_COUNT; i++) +1134 1 { +1135 2 #if (SUPPORT_KEY && SUPPORT_WHEEL_SLIDER) +1136 2 if(i < KEY_CH_COUNT) +1137 2 { +1138 3 TS_CH[ch_idx++] = TS_KEY_CH_INFO_SEQ[i][0]; +1139 3 } +1140 2 else +1141 2 { +1142 3 TS_CH[ch_idx++] = TS_WHEEL_SLIDER_CH_SEQ[i-KEY_CH_COUNT]; +1143 3 } +1144 2 #elif SUPPORT_KEY + TS_CH[ch_idx++] = TS_KEY_CH_INFO_SEQ[i][0]; + #elif SUPPORT_WHEEL_SLIDER + TS_CH[ch_idx++] = TS_WHEEL_SLIDER_CH_SEQ[i]; + #endif +1149 2 } +1150 1 CKCON |= ILCKE; +1151 1 TMCON = TME(1); +1152 1 TMSNU = 0; +1153 1 INT3EN =1; +1154 1 +1155 1 TS_IO_init(); +1156 1 + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 20 + +1157 1 +1158 1 TKCFG = TKDIV(TKDIV_VAL)|TKTMS(TKTMS_VAL); +1159 1 #if (TK_CHARGE_REF_SELECT == SOURCE_VDD) + TKCON = TKST(0)|TKIE(1)|TMEN(0)|TWKE(0)|VRS(VRS_VAL); + TKPWC = TKPC(TK_PC_VAL)|VDS(0)|VIRS(0)|TKPWS(0)|TKCVS(0); + #elif (TK_CHARGE_REF_SELECT == SOURCE_INNER) +1163 1 TKCON = TKST(0)|TKIE(1)|TMEN(0)|TWKE(0)|VRS(0); +1164 1 TKPWC = TKPC(TK_PC_VAL)|VDS(VDS_VAL)|VIRS(VIRS_VAL)|TKPWS(1)|TKCVS(1); +1165 1 #endif +1166 1 +1167 1 #if SUPPORT_KEY +1168 1 #if TK_SHARE_LED_EN + TLEN0 = 0xFF; + TLDAT0 = 0x00; + TLEN1 = 0x1F; + TLDAT1 = 0x00; + + TLCON = TLEIE(0)|TLKIE(0)|TLLIE(0)|TLLVS(0)|TLPOL(0); + TLCKS = TLCKS(2); + + TLCNTKH = 0x00; + TLCNTKL = 0x20; + + TLCNTLH = LED_DRV_CNT/256; + TLCNTLL = LED_DRV_CNT%256; + + TLDIV = 0; + TLCOMS = 0x01; + P01F = 6; + P01C &= (1<<5); + #endif +1188 1 #endif +1189 1 INT3EN = 1; +1190 1 +1191 1 TS_CycleScanDoneFlag = 0; +1192 1 #if SUPPORT_KEY +1193 1 KeysFlagSN = 0; +1194 1 PreKeysFlagSN = 0; +1195 1 #endif +1196 1 ActiveTouchType = 0; +1197 1 #if SUPPORT_KEY +1198 1 #if SUPPORT_COVER_PANAL_AFTER_POWERON + PanalCoverJudgeFlag = 0; + #endif +1201 1 #endif +1202 1 #if SUPPORT_TOUCH_SLEEP_MODE +1203 1 EnterStopScanTimer = ENTER_STOP_MODE_TIME; +1204 1 TS_SleepEn = 1; +1205 1 TS_SleepMode = 0; +1206 1 #endif +1207 1 #if SUPPORT_WHEEL_SLIDER +1208 1 W_S_RefChSet = 0; +1209 1 +1210 1 WheelSliderState = WHEEL_SLIDER_NO_TOUCH; +1211 1 WheelSliderTouchFlag = 0; +1212 1 WheelSliderPosition = -1; +1213 1 WheelSliderCapRateFilter = 0; +1214 1 #endif +1215 1 TS_State = TS_INIT; +1216 1 TS_Init_Step = 0; +1217 1 +1218 1 #if SUPPORT_KEY + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 21 + +1219 1 #if ANTI_SPEAKER_EN + RefChDataTimer = 0; + #endif +1222 1 #endif +1223 1 +1224 1 MainLoopCnt1 = MainLoopCnt2 = 0; +1225 1 #if SUPPORT_KEY +1226 1 #if GENERATE_TS_KEY_EN + TK_State = TK_STATE_RELEASE; + TS_Key = 0; + #endif +1230 1 #endif +1231 1 } +1232 +1233 extern unsigned char flagSend; +1234 void TS_Action(void) +1235 { +1236 1 switch(TS_State) +1237 1 { +1238 2 case TS_INIT: +1239 2 TS_RunInit(); +1240 2 break; +1241 2 case TS_DEAL: +1242 2 if(TS_CycleScanDoneFlag) +1243 2 { +1244 3 TS_CycleScanDoneFlag = 0; +1245 3 +1246 3 MainLoopCnt1 = MainLoopCnt2 + 1; +1247 3 +1248 3 #if SUPPORT_KEY +1249 3 #if ANTI_SPEAKER_EN + TS_RefChCheck(); + #endif +1252 3 #endif +1253 3 TS_DataFiltering(); +1254 3 TS_StableFlag = 1; +1255 3 +1256 3 // if(flagSend &&(RF_Time>5)) +1257 3 // { +1258 3 // flagSend = 0; +1259 3 // RF_Time=0; +1260 3 // EA = 0; +1261 3 // RF_send(15); +1262 3 // EA = 1; +1263 3 // } +1264 3 +1265 3 +1266 3 #if SUPPORT_KEY +1267 3 if(ActiveTouchType != 2) +1268 3 { +1269 4 TSKey_DataDeal(); +1270 4 } +1271 3 #endif +1272 3 #if (DEBUG) + Debug_ParamLoad(); + #endif +1275 3 #if SUPPORT_WHEEL_SLIDER +1276 3 if(ActiveTouchType != 1) +1277 3 { +1278 4 TS_WheelSliderDeal(); +1279 4 } +1280 3 #endif + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 22 + +1281 3 #if SUPPORT_TOUCH_SLEEP_MODE +1282 3 if(!TS_StableFlag || !TS_SleepEn || (PCON & BIT2)) // ڷģʽSTOPģʽ +1283 3 { +1284 4 EnterStopScanTimer = ENTER_STOP_MODE_TIME; +1285 4 } +1286 3 if(!EnterStopScanTimer&&TS_SleepEn) +1287 3 { +1288 4 #if ENTER_SLEEP_PRINT_EN +1289 4 TK_Debug_UartPutChar('s'); +1290 4 TK_Debug_UartPutChar('l'); +1291 4 TK_Debug_UartPutChar('e'); +1292 4 TK_Debug_UartPutChar('e'); +1293 4 TK_Debug_UartPutChar('p'); +1294 4 TK_Debug_UartPutChar('\r'); +1295 4 TK_Debug_UartPutChar('\n'); +1296 4 Delay_ms(1); +1297 4 #endif +1298 4 TS_EnterSleepMode(); +1299 4 #if ENTER_SLEEP_PRINT_EN +1300 4 TK_Debug_UartPutChar('e'); +1301 4 TK_Debug_UartPutChar('x'); +1302 4 TK_Debug_UartPutChar('i'); +1303 4 TK_Debug_UartPutChar('t'); +1304 4 TK_Debug_UartPutChar('\r'); +1305 4 TK_Debug_UartPutChar('\n'); +1306 4 #endif +1307 4 } +1308 3 #endif +1309 3 } +1310 2 if(TS_HalfSecCnt >= 5) +1311 2 { +1312 3 TKCON = 0; +1313 3 TKIF = 0x3F; +1314 3 TS_init(); +1315 3 } +1316 2 break; +1317 2 default: +1318 2 break; +1319 2 } +1320 1 #if SUPPORT_KEY +1321 1 #if TK_SHARE_LED_EN + TKLED_Update(); + #endif +1324 1 #if GENERATE_TS_KEY_EN + TS_GetKey(); + #endif +1327 1 #endif +1328 1 } +1329 #if SUPPORT_TOUCH_SLEEP_MODE +1330 void TS_SetChannel(unsigned char index,unsigned char ch); +1331 void TS_SleepScanStart(void) +1332 { +1333 1 unsigned char i; +1334 1 for(i = 0; i < 6; i++) +1335 1 { +1336 2 if(TS_Index + i < TS_Cnt) +1337 2 { +1338 3 TS_SetChannel(i,(TS_CH[TS_Index+i])+1); +1339 3 } +1340 2 else +1341 2 { +1342 3 TS_SetChannel(i,0); + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 23 + +1343 3 } +1344 2 } +1345 1 TKCON |= TKST(1); +1346 1 } +1347 void TS_EnterSleepMode(void) +1348 { +1349 1 //ʡģʽ +1350 1 #define STOP_TKDIV_VAL 0 +1351 1 #define STOP_TKTMS_VAL 15 //ŵʱ +1352 1 #define STOP_VRS_VAL 7 //Ƚֵ +1353 1 unsigned char TS_SampleComplete = 0,i; +1354 1 unsigned int xdata WakeUp_PThdVal[OPENED_TS_COUNT]; +1355 1 unsigned int xdata WakeUp_NThdVal[OPENED_TS_COUNT]; +1356 1 WORD_UNION TS_Data; +1357 1 +1358 1 TKCON = 0; +1359 1 TKIF = 0x3F; +1360 1 +1361 1 TS_SleepMode = 1; +1362 1 #if SUPPORT_KEY +1363 1 #if TK_SHARE_LED_EN + TLEN0 = 0x00; + TLDAT0 = 0x00; + TLEN1 = 0x00; + TLDAT1 = 0x00; + P01F = HIGH_Z|PU_EN; + P01C &= (1<<5); //ѡ + #endif +1371 1 #endif +1372 1 TMCON &= ~TME(1); +1373 1 TMCON |= TMF; +1374 1 +1375 1 TKCON = (TKCON&0xF8) | VRS(STOP_VRS_VAL); +1376 1 TKCON &= ~TKIE(1); +1377 1 TKCFG = TKDIV(STOP_TKDIV_VAL)|TKTMS(STOP_TKTMS_VAL); +1378 1 +1379 1 #if (OPENED_TS_COUNT%6 == 0) +1380 1 TKMTS = (SLEEP_MODE_SCAN_INTERVAL_TIME*6)/(OPENED_TS_COUNT); +1381 1 #else + TKMTS = (SLEEP_MODE_SCAN_INTERVAL_TIME)/((OPENED_TS_COUNT/6)+1); + #endif +1384 1 +1385 1 TKPWC = TKPC(1)|VDS(0)|VIRS(0)|TKPWS(0)|TKCVS(0); //ʡΪVDD +1386 1 +1387 1 #ifdef LVD_RST_ENABLE +1388 1 LVDCON = 0; +1389 1 #endif +1390 1 I2CCON = 0; +1391 1 CKCON = 0; +1392 1 +1393 1 MECON |= BIT6; +1394 1 PWCON = (PWCON&0xF0)|0x07; +1395 1 +1396 1 TS_Index = 0; +1397 1 TS_SleepScanStart(); +1398 1 WDFLG = 0xA5; +1399 1 +1400 1 TMCON = TME(1); +1401 1 TMSNU = 127; +1402 1 +1403 1 while(1) +1404 1 { + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 24 + +1405 2 if(TS_SampleComplete) +1406 2 { +1407 3 CKCON &= ~IHCKE; +1408 3 CKCON = (CKCON&0xFE) | CKSEL_IRCL; +1409 3 EA = 0; +1410 3 PCON |= (1<<1); +1411 3 _nop_(); +1412 3 _nop_(); +1413 3 _nop_(); +1414 3 CKCON |= IHCKE; +1415 3 CKCON = (CKCON&0xFE) | CKSEL_IRCH; +1416 3 EA = 1; +1417 3 } +1418 2 if(TS_HalfSecCnt >= 5) +1419 2 { +1420 3 break; +1421 3 } +1422 2 if(TKIF != 0) +1423 2 { +1424 3 if(TS_HalfSecCnt) TS_HalfSecCnt--; +1425 3 for(i = 0; i < 6; i++) +1426 3 { +1427 4 if(TKIF & (1<= WakeUp_NThdVal[TS_Index+i])) +1468 6 { +1469 7 goto SLEEP_EXIT; +1470 7 } +1471 6 } +1472 5 } +1473 4 } +1474 3 if(TS_Index+6 < TS_Cnt) +1475 3 { +1476 4 TS_Index += 6; +1477 4 } +1478 3 else +1479 3 { +1480 4 TS_Index = 0; +1481 4 if(TS_SampleComplete == 0) +1482 4 { +1483 5 TS_SampleComplete = 1; +1484 5 TKCON |= TMEN(1); +1485 5 } +1486 4 } +1487 3 TS_SleepScanStart(); +1488 3 WDFLG = 0xA5; +1489 3 } +1490 2 } +1491 1 SLEEP_EXIT: +1492 1 TKCON = 0; +1493 1 TKIF = 0x3F; +1494 1 PWCON = (PWCON&0xF0)|0x0D; +1495 1 +1496 1 TKCFG = TKDIV(TKDIV_VAL)|TKTMS(TKTMS_VAL); +1497 1 #if (TK_CHARGE_REF_SELECT == SOURCE_VDD) + TKCON = TKST(0)|TKIE(1)|TMEN(0)|TWKE(0)|VRS(VRS_VAL); + TKPWC = TKPC(TK_PC_VAL)|VDS(0)|VIRS(0)|TKPWS(0)|TKCVS(0); + #elif (TK_CHARGE_REF_SELECT == SOURCE_INNER) +1501 1 TKCON = TKST(0)|TKIE(1)|TMEN(0)|TWKE(0)|VRS(0); +1502 1 TKPWC = TKPC(TK_PC_VAL)|VDS(VDS_VAL)|VIRS(VIRS_VAL)|TKPWS(1)|TKCVS(1); +1503 1 #endif +1504 1 #if SUPPORT_KEY +1505 1 #if TK_SHARE_LED_EN + TLEN0 = 0xFF; + TLEN1 = 0x1F; + P01F = 6; + #endif +1510 1 #endif +1511 1 CKCON |= ILCKE; +1512 1 TMCON &= ~TME(1); +1513 1 TMCON |= TMF; +1514 1 Delay_50us(1); +1515 1 TMCON = TME(1); +1516 1 TMSNU = 0; +1517 1 TS_Index = 0; +1518 1 TS_ScanStart(); +1519 1 EnterStopScanTimer = ENTER_STOP_MODE_TIME; +1520 1 TS_SleepMode = 0; +1521 1 #ifdef LVD_RST_ENABLE +1522 1 LVDCON = 0xE3; //LVDλѹΪ2V +1523 1 #endif +1524 1 } +1525 #endif +1526 /********************************************************************************************************* + -************/ +1527 #if SUPPORT_KEY + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 26 + +1528 #if GENERATE_TS_KEY_EN + #if GENERATE_DOUBLE_KEY_EN + typedef struct + { + unsigned char TogKeyNum; + unsigned char TogKeyList[2]; + } + T_TogKeyInfo; + #endif + code unsigned char TS_KEY_TAB[]= + { + K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13 + }; + #if GENERATE_DOUBLE_KEY_EN + void TS_GetTogKeyInfor(T_TogKeyInfo *pKeyInfo) + { + unsigned char i,index; + pKeyInfo->TogKeyNum = 0; + index = 0; + for(i = 0; i < KEY_CH_COUNT; i++) + { + if(KeysFlagSN & MASK_TAB[i]) + { + pKeyInfo->TogKeyNum++; + + if(pKeyInfo->TogKeyNum <= 2) + { + pKeyInfo->TogKeyList[index++] = TS_KEY_TAB[i]; + } + } + } + } + #endif + #if PRINT_TS_KEY_EN + void Hex2CharPrint(unsigned int integar) + { + unsigned char CharBuf[4]; + unsigned char i, temp; + for(i = 0; i < 4; i++) + { + temp = (unsigned char)(integar&0x0F); + if(temp >= 0x0A) + { + CharBuf[i] = (temp - 0x0A) + 'A'; + } + else + { + CharBuf[i] = temp + '0'; + } + integar >>= 4; + } + TK_Debug_UartPutChar('0'); + TK_Debug_UartPutChar('x'); + TK_Debug_UartPutChar(CharBuf[2]); + TK_Debug_UartPutChar(CharBuf[1]); + TK_Debug_UartPutChar(CharBuf[0]); + } + #endif + void TS_GetKey(void) + { + static unsigned int KeyBak; + static bit LongFlag; + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 27 + + #if GENERATE_DOUBLE_KEY_EN + T_TogKeyInfo KeyInfo; + TS_GetTogKeyInfor(&KeyInfo); + #else + static unsigned char KeyidxBak; + unsigned char i; + #endif + TS_Key = 0; + if(TK_State == TK_STATE_RELEASE) + { + #if GENERATE_DOUBLE_KEY_EN + if(KeyInfo.TogKeyNum != 0) + { + if(KeyInfo.TogKeyNum == 1) + { + KeyBak = (unsigned int)KeyInfo.TogKeyList[0]; + TK_State = TK_STATE_SINGLE_KEY_PRESS; + } + else if(KeyInfo.TogKeyNum == 2) + { + KeyBak = ((unsigned int)KeyInfo.TogKeyList[0]<<5)|(unsigned int)KeyInfo.TogKeyList[1]; + TK_State = TK_STATE_DOUBLE_KEY_PRESS; + } + TS_Key = KeyBak; + LongFlag = 0; + TS_LongKeyTimer = TS_LONG_START_TIME; + } + #else + if(KeysFlagSN != 0) + { + for(i = 0; i < KEY_CH_COUNT; i++) + { + if(KeysFlagSN & MASK_TAB[i]) + { + KeyidxBak = i; + KeyBak = TS_KEY_TAB[i]; + break; + } + } + TS_Key = KeyBak; + LongFlag = 0; + TS_LongKeyTimer = TS_LONG_START_TIME; + TK_State = TK_STATE_SINGLE_KEY_PRESS; + } + #endif + } + else if(TK_State == TK_STATE_SINGLE_KEY_PRESS) + { + #if GENERATE_DOUBLE_KEY_EN + if(KeyInfo.TogKeyNum == 1) + { + if(KeyBak == (unsigned int)KeyInfo.TogKeyList[0]) + { + if(!TS_LongKeyTimer) + { + if(!LongFlag) + { + LongFlag = 1; + TS_Key = KeyBak | KEY_LONG_START; + } + else + { + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 28 + + TS_Key = KeyBak | KEY_LONG; + } + TS_LongKeyTimer = TS_LONG_TIME; + } + } + else + { + if(!LongFlag) + { + TS_Key = KeyBak | KEY_BREAK; + } + else + { + TS_Key = KeyBak | KEY_LONG_BREAK; + } + TK_State = TK_STATE_RELEASE; + } + } + else if(KeyInfo.TogKeyNum == 2) + { + KeyBak = ((unsigned int)KeyInfo.TogKeyList[0]<<5) | (unsigned int)KeyInfo.TogKeyList[1]; + TK_State = TK_STATE_DOUBLE_KEY_PRESS; + TS_Key = KeyBak; + LongFlag = 0; + TS_LongKeyTimer = TS_LONG_START_TIME; + } + else if(KeyInfo.TogKeyNum == 0) + { + if(!LongFlag) + { + TS_Key = KeyBak | KEY_BREAK; + } + else + { + TS_Key = KeyBak | KEY_LONG_BREAK; + } + TK_State = TK_STATE_RELEASE; + } + #else + if(KeysFlagSN & MASK_TAB[KeyidxBak]) + { + if(!TS_LongKeyTimer) + { + if(!LongFlag) + { + LongFlag = 1; + TS_Key = KeyBak | KEY_LONG_START; + } + else + { + TS_Key = KeyBak | KEY_LONG; + } + TS_LongKeyTimer = TS_LONG_TIME; + } + } + else + { + if(!LongFlag) + { + TS_Key = KeyBak | KEY_BREAK; + } + else + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 29 + + { + TS_Key = KeyBak | KEY_LONG_BREAK; + } + TK_State = TK_STATE_RELEASE; + } + #endif + } + #if GENERATE_DOUBLE_KEY_EN + else if(TK_State == TK_STATE_DOUBLE_KEY_PRESS) + { + if(KeyInfo.TogKeyNum == 2) + { + if(KeyBak == ((unsigned int)KeyInfo.TogKeyList[0]<<5)|(unsigned int)KeyInfo.TogKeyList[1]) + { + if(!TS_LongKeyTimer) + { + if(!LongFlag) + { + LongFlag = 1; + TS_Key = KeyBak | KEY_LONG_START; + } + else + { + TS_Key = KeyBak | KEY_LONG; + } + TS_LongKeyTimer = TS_LONG_TIME; + } + } + } + else if(KeyInfo.TogKeyNum == 0) + { + if(!LongFlag) + { + TS_Key = KeyBak | KEY_BREAK; + } + else + { + TS_Key = KeyBak | KEY_LONG_BREAK; + } + TK_State = TK_STATE_RELEASE; + } + } + #endif + #if PRINT_TS_KEY_EN + if(TS_Key != 0) + { + if((TS_Key & 0xFF00) == 0) + { + #if GENERATE_DOUBLE_KEY_EN + if(TS_Key > 0x1F) + { + TK_Debug_UartPutChar('d'); + TK_Debug_UartPutChar('o'); + TK_Debug_UartPutChar('u'); + TK_Debug_UartPutChar('b'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('e'); + } + else + { + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('i'); + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 30 + + TK_Debug_UartPutChar('n'); + TK_Debug_UartPutChar('g'); + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('e'); + } + TK_Debug_UartPutChar(' '); + #endif + TK_Debug_UartPutChar('k'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('y'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('='); + TK_Debug_UartPutChar(' '); + Hex2CharPrint(TS_Key); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + else if(TS_Key & KEY_BREAK) + { + TK_Debug_UartPutChar('k'); + TK_Debug_UartPutChar('e'); + TK_Debug_UartPutChar('y'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('u'); + TK_Debug_UartPutChar('p'); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + else if(TS_Key & KEY_LONG_START) + { + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('o'); + TK_Debug_UartPutChar('n'); + TK_Debug_UartPutChar('g'); + TK_Debug_UartPutChar(' '); + TK_Debug_UartPutChar('s'); + TK_Debug_UartPutChar('t'); + TK_Debug_UartPutChar('a'); + TK_Debug_UartPutChar('r'); + TK_Debug_UartPutChar('t'); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + else if(TS_Key & KEY_LONG) + { + TK_Debug_UartPutChar('l'); + TK_Debug_UartPutChar('o'); + TK_Debug_UartPutChar('n'); + TK_Debug_UartPutChar('g'); + TK_Debug_UartPutChar('\r'); + TK_Debug_UartPutChar('\n'); + } + } + #endif + } + #endif +1832 #endif +1833 /********************************************************************************************************* + -************/ +1834 +1835 /********************************************************************************************************* + -************/ + C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 31 + +1836 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 2294 ---- + CONSTANT SIZE = 53 ---- + XDATA SIZE = 296 48 + PDATA SIZE = ---- ---- + DATA SIZE = 9 30 + IDATA SIZE = 16 ---- + BIT SIZE = 5 1 + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 8 WARNING(S), 0 ERROR(S) diff --git a/lst/ts_sevice.lst b/lst/ts_sevice.lst new file mode 100644 index 0000000..6adc61c --- /dev/null +++ b/lst/ts_sevice.lst @@ -0,0 +1,412 @@ +C51 COMPILER V9.51 TS_SEVICE 11/15/2019 16:16:26 PAGE 1 + + +C51 COMPILER V9.51, COMPILATION OF MODULE TS_SEVICE +OBJECT MODULE PLACED IN .\hex\ts_sevice.obj +COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TS_Lib\Sources\ts_sevice.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\t + -s_sevice.lst) TABS(2) OBJECT(.\hex\ts_sevice.obj) + +line level source + + 1 #ifndef TS_SERVICE_C + 2 #define TS_SERVICE_C + 3 /********************************************************************************************************* + -************/ + 4 #include "ca51f5_config.h" + 5 #include "includes\ca51f5sfr.h" + 6 #include "includes\ca51f5xsfr.h" + 7 #include "includes\gpiodef_f5.h" + 8 /********************************************************************************************************* + -************/ + 9 #include "TS_Lib\Includes\ts_def.h" + 10 #include "TS_Lib\Includes\ts_api.h" + 11 #include "TS_Lib\Includes\ts_service.h" + 12 /********************************************************************************************************* + -************/ + 13 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 14 //ܽųʼ + 15 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 16 code unsigned char *pXSFR[]= + 17 { + 18 &P31F, + 19 &P30F, + 20 &P07F, + 21 &P06F, + 22 &P05F, + 23 &P04F, + 24 &P03F, + 25 &P02F, + 26 &P01F, + 27 &P00F, + 28 &P34F, + 29 &P33F, + 30 &P32F, + 31 }; + 32 void TS_IO_init(void) + 33 { + 34 1 unsigned char i; + 35 1 unsigned char *pPinS; + 36 1 GPIO_Init(P35F,P35_CAP_SETTING); + 37 1 + 38 1 for(i = 0; i < TS_Cnt; i++) + 39 1 { + 40 2 pPinS = pXSFR[TS_CH[i]]; + 41 2 *pPinS = 4; + 42 2 } + 43 1 } + 44 void TS_SetChannel(unsigned char index,unsigned char ch) + 45 { + 46 1 switch(index) + 47 1 { + 48 2 case 0: + 49 2 TK0CHS = MPOL(0)|NPOL(1)|TKPS(ch); + 50 2 break; + 51 2 case 1: + C51 COMPILER V9.51 TS_SEVICE 11/15/2019 16:16:26 PAGE 2 + + 52 2 TK1CHS = MPOL(0)|NPOL(1)|TKPS(ch); + 53 2 break; + 54 2 case 2: + 55 2 TK2CHS = MPOL(0)|NPOL(1)|TKPS(ch); + 56 2 break; + 57 2 case 3: + 58 2 TK3CHS = MPOL(0)|NPOL(1)|TKPS(ch); + 59 2 break; + 60 2 case 4: + 61 2 TK4CHS = MPOL(0)|NPOL(1)|TKPS(ch); + 62 2 break; + 63 2 case 5: + 64 2 TK5CHS = MPOL(0)|NPOL(1)|TKPS(ch); + 65 2 break; + 66 2 } + 67 1 } + 68 void TS_ScanStart(void) + 69 { + 70 1 unsigned char i,j; + 71 1 for(i = 0; i < 6; i++) + 72 1 { + 73 2 if(TS_Index + i >= TS_Cnt) + 74 2 { + 75 3 TS_SetChannel(i,14); + 76 3 for(j = i+1; j < 6; j++) + 77 3 { + 78 4 TS_SetChannel(j,0); + 79 4 } + 80 3 break; + 81 3 } + 82 2 TS_SetChannel(i,(TS_CH[TS_Index+i])+1); + 83 2 } + 84 1 TKCON |= TKST(1); + 85 1 } + 86 unsigned char TS_GetDataArea(unsigned char ts_ch,unsigned int ts_data,int NoiseThd,bit key_pressed_flag) + 87 { + 88 1 int Delta; + 89 1 int FingerThd; + 90 1 + 91 1 Delta = (int)TS_BaseLineData[ts_ch] - (int)ts_data; + 92 1 FingerThd = TSKey_FingerThd[ts_ch]; + 93 1 + 94 1 if(key_pressed_flag) + 95 1 { + 96 2 FingerThd = (FingerThd*9)/10; + 97 2 } + 98 1 + 99 1 if(Delta >= FingerThd) return AREA_FINGER_TOUCH; + 100 1 else if(Delta > NoiseThd) return AREA_PNOISE_PLUS; + 101 1 else if(Delta >= 0) return AREA_PNOISE; + 102 1 else if(Delta >= -NoiseThd) return AREA_NNOISE; + 103 1 else return AREA_OVER_LOW; + 104 1 } + 105 unsigned char TS_AreaDeviateDetection(unsigned int cmp_data,unsigned int real_data,int range) + 106 { + 107 1 int Delta; + 108 1 Delta = (int)cmp_data - (int)real_data; + 109 1 if((Delta <= range) && (Delta >= -range)) + 110 1 { + 111 2 return 1; + 112 2 } + 113 1 else + C51 COMPILER V9.51 TS_SEVICE 11/15/2019 16:16:26 PAGE 3 + + 114 1 { + 115 2 return 0; + 116 2 } + 117 1 } + 118 void TS_BaseLineForceUpdate(void) + 119 { + 120 1 unsigned char i; + 121 1 + 122 1 for(i = 0; i < TS_Cnt; i++) + 123 1 { + 124 2 TS_FirstAreaData[i] = TS_PostData[i]; + 125 2 TS_BaseLineData[i] = TS_PostData[i]; + 126 2 TS_AreaConfirmTimerSet(i,AREA_PNOISE); + 127 2 } + 128 1 } + 129 + 130 void TS_AreaConfirmTimerSet(unsigned char ts_ch, unsigned char area) + 131 { + 132 1 TS_AreaConfirmTimer[ts_ch] = AREA_CONFIRM_TIME_TAB[area]; + 133 1 } + 134 void SetWheelSliderRefCh(unsigned char Slider_Cnt) + 135 { + 136 1 unsigned char i,j; + 137 1 unsigned int MinVal; + 138 1 MinVal = 0xFFFF; + 139 1 for(i = TS_BaseCh,j=0; i < TS_BaseCh + Slider_Cnt; i++,j++) + 140 1 { + 141 2 if(TS_BaseLineData[i] < MinVal) + 142 2 { + 143 3 WheelSliderRefCh = j; + 144 3 MinVal = TS_BaseLineData[i]; + 145 3 } + 146 2 } + 147 1 } + 148 #define WHEEL_SLIDER_POSITION_FILTER_COUNT 4 + 149 int WheelTouchJudge(unsigned char WHEEL_SLIDER0_CH_COUNT_V,unsigned int WHEEL_SLIDER0_TOUCH_THD_V) + 150 { + 151 1 unsigned char i; + 152 1 unsigned long int CalcTemp1; + 153 1 unsigned int CalcTemp2,CalcTemp3; + 154 1 unsigned char DeltaRate; + 155 1 int Delta; + 156 1 unsigned int MaxDelta1,MaxDelta2/*,MaxDelta3*/; + 157 1 unsigned char Maxidx1,Maxidx2/*,Maxidx3*/; + 158 1 int Position,PosOffset; + 159 1 + 160 1 MaxDelta1 = MaxDelta2 = /*MaxDelta3 =*/ 0; + 161 1 for(i = 0; i < WHEEL_SLIDER0_CH_COUNT_V; i++) + 162 1 { + 163 2 if(i == WheelSliderRefCh) + 164 2 { + 165 3 Delta = (int)TS_BaseLineData[TS_BaseCh + WheelSliderRefCh] - (int)TS_PostData[TS_BaseCh + WheelSlide + -rRefCh]; + 166 3 } + 167 2 else + 168 2 { + 169 3 CalcTemp1 = (unsigned long int)TS_PostData[TS_BaseCh + i] * (unsigned long int)TS_BaseLineData[TS_Base + -Ch + WheelSliderRefCh]; + 170 3 CalcTemp2 = (unsigned int)(CalcTemp1/TS_BaseLineData[TS_BaseCh + i]); + 171 3 CalcTemp3 = TS_PostData[TS_BaseCh + i] + TS_BaseLineData[TS_BaseCh + WheelSliderRefCh] - CalcTemp2; + 172 3 CalcTemp2 = (unsigned int)(CalcTemp1/CalcTemp3); + 173 3 Delta = (int)TS_BaseLineData[TS_BaseCh + WheelSliderRefCh] - (int)CalcTemp2; + C51 COMPILER V9.51 TS_SEVICE 11/15/2019 16:16:26 PAGE 4 + + 174 3 } + 175 2 if(Delta < 0) Delta = 0; + 176 2 + 177 2 + 178 2 if(Delta > MaxDelta1) + 179 2 { + 180 3 // Maxidx3 = Maxidx2; MaxDelta3 = MaxDelta2; + 181 3 Maxidx2 = Maxidx1; MaxDelta2 = MaxDelta1; + 182 3 Maxidx1 = i; MaxDelta1 = Delta; + 183 3 } + 184 2 else if(Delta > MaxDelta2) + 185 2 { + 186 3 // Maxidx3 = Maxidx2; MaxDelta3 = MaxDelta2; + 187 3 Maxidx2 = i; MaxDelta2 = Delta; + 188 3 } + 189 2 // else if(Delta > MaxDelta3) + 190 2 // { + 191 2 // Maxidx3 = i; MaxDelta3 = Delta; + 192 2 // } + 193 2 } + 194 1 + 195 1 if((MaxDelta1 + MaxDelta2) < WHEEL_SLIDER0_TOUCH_THD_V) + 196 1 { + 197 2 return -1; + 198 2 } + 199 1 + 200 1 Delta = MaxDelta1 - (WHEEL_SLIDER0_TOUCH_THD_V>>1); + 201 1 DeltaRate = (Delta*10)/MaxDelta1; + 202 1 if(DeltaRate > 31) DeltaRate = 31; + 203 1 + 204 1 CalcTemp2 = ((unsigned int)WHEEL_SLIDER0_TOUCH_THD_V*(32-DeltaRate))>>6; + 205 1 + 206 1 MaxDelta1 += CalcTemp2; + 207 1 MaxDelta2 += CalcTemp2; + 208 1 + 209 1 DeltaRate = ((unsigned int)MaxDelta2<<7)/MaxDelta1; + 210 1 if(WheelSliderCapRateFilter == 0) + 211 1 { + 212 2 WheelSliderCapRateFilter = DeltaRate*WHEEL_SLIDER_POSITION_FILTER_COUNT; + 213 2 } + 214 1 else + 215 1 { + 216 2 WheelSliderCapRateFilter -= WheelSliderCapRateFilter/WHEEL_SLIDER_POSITION_FILTER_COUNT; + 217 2 WheelSliderCapRateFilter += DeltaRate; + 218 2 } + 219 1 DeltaRate = WheelSliderCapRateFilter/WHEEL_SLIDER_POSITION_FILTER_COUNT; + 220 1 WheelSliderMaxIdx = Maxidx1; + 221 1 + 222 1 { + 223 2 bit dir_flag; + 224 2 Position = Maxidx1*64; + 225 2 if(DeltaRate < WHEEL_SLIDER0_MAX_MIN_TAB[Maxidx1]) DeltaRate = WHEEL_SLIDER0_MAX_MIN_TAB[Maxidx1]; + 226 2 PosOffset = ((DeltaRate - WHEEL_SLIDER0_MAX_MIN_TAB[Maxidx1])*32)/(128-WHEEL_SLIDER0_MAX_MIN_TAB[Maxidx1 + -]); + 227 2 + 228 2 if((Maxidx1 == 0) && (Maxidx2 == (WHEEL_SLIDER0_CH_COUNT_V-1))) dir_flag = 0; + 229 2 else if((Maxidx1 == (WHEEL_SLIDER0_CH_COUNT_V-1)) && (Maxidx2 == 0)) dir_flag = 1; + 230 2 else if(Maxidx1 < Maxidx2) dir_flag = 1; + 231 2 else dir_flag = 0; + 232 2 + 233 2 if(dir_flag) + 234 2 { + C51 COMPILER V9.51 TS_SEVICE 11/15/2019 16:16:26 PAGE 5 + + 235 3 Position += PosOffset; + 236 3 } + 237 2 else + 238 2 { + 239 3 if(Position == 0) + 240 3 { + 241 4 Position = WHEEL_SLIDER0_CH_COUNT_V*64-1; + 242 4 } + 243 3 Position -= PosOffset; + 244 3 } + 245 2 } + 246 1 return Position; + 247 1 } + 248 int SliderTouchJudge(unsigned char WHEEL_SLIDER0_CH_COUNT_V,unsigned int WHEEL_SLIDER0_TOUCH_THD_V) + 249 { + 250 1 unsigned char i; + 251 1 unsigned long int CalcTemp1; + 252 1 unsigned int CalcTemp2,CalcTemp3; + 253 1 unsigned char DeltaRate; + 254 1 int Delta; + 255 1 unsigned int MaxDelta1,MaxDelta2/*,MaxDelta3*/; + 256 1 unsigned char Maxidx1,Maxidx2/*,Maxidx3*/; + 257 1 int Position,PosOffset; + 258 1 + 259 1 MaxDelta1 = MaxDelta2 = /*MaxDelta3 =*/ 0; + 260 1 for(i = 0; i < WHEEL_SLIDER0_CH_COUNT_V; i++) + 261 1 { + 262 2 if(i == WheelSliderRefCh) + 263 2 { + 264 3 Delta = (int)TS_BaseLineData[TS_BaseCh + WheelSliderRefCh] - (int)TS_PostData[TS_BaseCh + WheelSlide + -rRefCh]; + 265 3 } + 266 2 else + 267 2 { + 268 3 CalcTemp1 = (unsigned long int)TS_PostData[TS_BaseCh + i] * (unsigned long int)TS_BaseLineData[TS_Base + -Ch + WheelSliderRefCh]; + 269 3 CalcTemp2 = (unsigned int)(CalcTemp1/TS_BaseLineData[TS_BaseCh + i]); + 270 3 CalcTemp3 = TS_PostData[TS_BaseCh + i] + TS_BaseLineData[TS_BaseCh + WheelSliderRefCh] - CalcTemp2; + 271 3 CalcTemp2 = (unsigned int)(CalcTemp1/CalcTemp3); + 272 3 Delta = (int)TS_BaseLineData[TS_BaseCh + WheelSliderRefCh] - (int)CalcTemp2; + 273 3 } + 274 2 if(Delta < 0) Delta = 0; + 275 2 + 276 2 + 277 2 if(Delta > MaxDelta1) + 278 2 { + 279 3 // Maxidx3 = Maxidx2; MaxDelta3 = MaxDelta2; + 280 3 Maxidx2 = Maxidx1; MaxDelta2 = MaxDelta1; + 281 3 Maxidx1 = i; MaxDelta1 = Delta; + 282 3 } + 283 2 else if(Delta > MaxDelta2) + 284 2 { + 285 3 // Maxidx3 = Maxidx2; MaxDelta3 = MaxDelta2; + 286 3 Maxidx2 = i; MaxDelta2 = Delta; + 287 3 } + 288 2 // else if(Delta > MaxDelta3) + 289 2 // { + 290 2 // Maxidx3 = i; MaxDelta3 = Delta; + 291 2 // } + 292 2 } + 293 1 if(((Maxidx1 == 0)||(Maxidx1 == (WHEEL_SLIDER0_CH_COUNT_V-1)))) + 294 1 { + C51 COMPILER V9.51 TS_SEVICE 11/15/2019 16:16:26 PAGE 6 + + 295 2 if((MaxDelta1) < (WHEEL_SLIDER0_TOUCH_THD_V>>1)) + 296 2 { + 297 3 return -1; + 298 3 } + 299 2 } + 300 1 else + 301 1 { + 302 2 if((MaxDelta1 + MaxDelta2) < WHEEL_SLIDER0_TOUCH_THD_V) + 303 2 { + 304 3 return -1; + 305 3 } + 306 2 } + 307 1 + 308 1 Delta = MaxDelta1 - (WHEEL_SLIDER0_TOUCH_THD_V>>1); + 309 1 DeltaRate = (Delta*10)/MaxDelta1; + 310 1 if(DeltaRate > 31) DeltaRate = 31; + 311 1 + 312 1 CalcTemp2 = ((unsigned int)WHEEL_SLIDER0_TOUCH_THD_V*(32-DeltaRate))>>6; + 313 1 + 314 1 MaxDelta1 += CalcTemp2; + 315 1 MaxDelta2 += CalcTemp2; + 316 1 + 317 1 DeltaRate = ((unsigned int)MaxDelta2<<7)/MaxDelta1; + 318 1 if(WheelSliderCapRateFilter == 0) + 319 1 { + 320 2 WheelSliderCapRateFilter = DeltaRate*WHEEL_SLIDER_POSITION_FILTER_COUNT; + 321 2 } + 322 1 else + 323 1 { + 324 2 WheelSliderCapRateFilter -= WheelSliderCapRateFilter/WHEEL_SLIDER_POSITION_FILTER_COUNT; + 325 2 WheelSliderCapRateFilter += DeltaRate; + 326 2 } + 327 1 DeltaRate = WheelSliderCapRateFilter/WHEEL_SLIDER_POSITION_FILTER_COUNT; + 328 1 WheelSliderMaxIdx = Maxidx1; + 329 1 + 330 1 Position = Maxidx1*64; + 331 1 if(Maxidx1 == 0) + 332 1 { + 333 2 if(DeltaRate < WHEEL_SLIDER0_MAX_MIN_TAB[0]) + 334 2 { + 335 3 DeltaRate = WHEEL_SLIDER0_MAX_MIN_TAB[0]; + 336 3 } + 337 2 Position = ((DeltaRate - WHEEL_SLIDER0_MAX_MIN_TAB[0])*32)/(128-WHEEL_SLIDER0_MAX_MIN_TAB[0]); + 338 2 } + 339 1 else if(Maxidx1 == (WHEEL_SLIDER0_CH_COUNT_V-1)) + 340 1 { + 341 2 if(DeltaRate < WHEEL_SLIDER0_MAX_MIN_TAB[WHEEL_SLIDER0_CH_COUNT_V-1]) + 342 2 { + 343 3 DeltaRate = WHEEL_SLIDER0_MAX_MIN_TAB[WHEEL_SLIDER0_CH_COUNT_V-1]; + 344 3 } + 345 2 Position -= ((DeltaRate - WHEEL_SLIDER0_MAX_MIN_TAB[WHEEL_SLIDER0_CH_COUNT_V-1])*32)/(128-WHEEL_SLIDER0_ + -MAX_MIN_TAB[WHEEL_SLIDER0_CH_COUNT_V-1]); + 346 2 } + 347 1 else + 348 1 { + 349 2 if(DeltaRate < WHEEL_SLIDER0_MAX_MIN_TAB[Maxidx1]) DeltaRate = WHEEL_SLIDER0_MAX_MIN_TAB[Maxidx1]; + 350 2 PosOffset = ((DeltaRate - WHEEL_SLIDER0_MAX_MIN_TAB[Maxidx1])*32)/(128-WHEEL_SLIDER0_MAX_MIN_TAB[Maxidx1 + -]); + 351 2 if(Maxidx1 < Maxidx2) + 352 2 { + 353 3 Position += PosOffset; + 354 3 } + C51 COMPILER V9.51 TS_SEVICE 11/15/2019 16:16:26 PAGE 7 + + 355 2 else + 356 2 { + 357 3 Position -= PosOffset; + 358 3 } + 359 2 } + 360 1 return Position; + 361 1 } + 362 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 1853 ---- + CONSTANT SIZE = 39 ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- 45 + IDATA SIZE = ---- ---- + BIT SIZE = ---- 2 + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/uart.lst b/lst/uart.lst new file mode 100644 index 0000000..13aac4a --- /dev/null +++ b/lst/uart.lst @@ -0,0 +1,176 @@ +C51 COMPILER V9.60.7.0 UART 07/03/2025 11:27:49 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE UART +OBJECT MODULE PLACED IN .\hex\uart.obj +COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE Library\Sources\uart.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG + -PRINT(.\lst\uart.lst) TABS(2) OBJECT(.\hex\uart.obj) + +line level source + + 1 #ifndef _UART_C_ + 2 #define _UART_C_ + 3 #include "ca51f5_config.h" + 4 #include "../../includes/ca51f5sfr.h" + 5 #include "../../includes/ca51f5xsfr.h" + 6 #include "../../includes/gpiodef_f5.h" + 7 #include "../../includes/system.h" + 8 + 9 #include "../../Library/includes/uart.h" + 10 #include + 11 #include + 12 #include + 13 #include + 14 #include + 15 #include + 16 /********************************************************************************************************* + -************/ + 17 /********************************************************************************************************* + -************/ + 18 #ifdef UART0_EN + /********************************************************************************************************* + -************ + ע⣺²òǰϵͳʱΪ16MHz޸ϵͳʱƵʣòм㡣 + ********************************************************************************************************** + -*************/ + void Uart0_Initial(unsigned long int baudrate) + { + code unsigned long int BR_TAB[]= + { + 1200, + 2400, + 4800, + 9600, + 19200, + 38400, + 57600, + 115200, + }; + code unsigned int BR_SET_TAB[][2]= + { + {416,31}, + {208,31}, + {104,31}, + {52,31}, + {26,31}, + {13,31}, + {10,27}, + {5,27}, + }; + unsigned int value_temp; + unsigned char i; + + uart0_send.head = 0; + uart0_send.tail = 0; + C51 COMPILER V9.60.7.0 UART 07/03/2025 11:27:49 PAGE 2 + + uart0_rev.head = 0; + uart0_rev.tail = 0; + uart0_tx_flag = 0; + + GPIO_Init(P31F,P31_UART0_RX_SETTING); + GPIO_Init(P30F,P30_UART0_TX_SETTING); + + for(i=0;i>8); + T2CL = (unsigned char)(value_temp); + TH2 = (unsigned char)(value_temp>>8); + TL2 = (unsigned char)(value_temp);; + TR2 = 1; + + S0CON = 0x50; + ES0 = 1; + } + void Uart0_PutChar(unsigned char bdat) + { + unsigned char free_space; + unsigned char tail_tmp; + while(1) + { + tail_tmp = uart0_send.tail; + if(uart0_send.head < tail_tmp) + { + free_space = tail_tmp - uart0_send.head; + } + else + { + free_space = UART0_TX_BUF_SIZE + tail_tmp - uart0_send.head; + } + if(free_space > 1) + { + ES0 = 0; + uart0_send.head++; + uart0_send.head %= UART0_TX_BUF_SIZE; + uart0_tx_buf[uart0_send.head] = bdat; + if(!uart0_tx_flag) + { + ES0 = 1; + uart0_send.tail++; + uart0_send.tail %= UART0_TX_BUF_SIZE; + S0BUF=uart0_tx_buf[uart0_send.tail]; + uart0_tx_flag = 1; + } + else + { + ES0 = 1; + } + break; + C51 COMPILER V9.60.7.0 UART 07/03/2025 11:27:49 PAGE 3 + + } + } + } + void UART0_RX_ISR (void) + { + RI0 = 0; + uart0_rev.head++; + uart0_rev.head %= UART0_RX_BUF_SIZE; + uart0_rx_buf[uart0_rev.head]=S0BUF; + } + void UART0_TX_ISR (void) + { + TI0 = 0; + if(uart0_send.head!=uart0_send.tail) + { + uart0_send.tail++; + uart0_send.tail %= UART0_TX_BUF_SIZE; + S0BUF=uart0_tx_buf[uart0_send.tail]; + } + else + { + uart0_tx_flag=0; + } + } + #endif + 138 /********************************************************************************************************* + -************/ + 139 #endif + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = ---- ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- + EDATA SIZE = ---- ---- + HDATA SIZE = ---- ---- + XDATA CONST SIZE = ---- ---- + FAR CONST SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/main.c b/main.c new file mode 100644 index 0000000..8991359 --- /dev/null +++ b/main.c @@ -0,0 +1,612 @@ +#ifndef _MAIN_C_ +#define _MAIN_C_ +/*********************************************************************************************************************/ +#include "ca51f5_config.h" +#include "includes\ca51f5sfr.h" +#include "includes\ca51f5xsfr.h" +#include "includes\gpiodef_f5.h" + +#include "Library\includes\uart.h" +#include "Library\includes\system_clock.h" +#include "Library\Includes\tmc.h" +#include "includes\system.h" +#include "Library\includes\wdt.h" +/*********************************************************************************************************************/ +#include "TS_Lib\Includes\ts_configuration.h" +#include "TS_Lib\Includes\ts_def.h" +#include "TS_Lib\Includes\ts_api.h" +#include "TS_Lib\Includes\ts_service.h" +#include "rf_send.h" + +#include "Library\Includes\delay.h" + +#define INT_TIME 100 //ʱʱ䣬λΪus + +#define TH_VAL (unsigned char)((0x2000 - (INT_TIME*(FOSC/1000))/12000)>>5) +#define TL_VAL (unsigned char)(0x2000 - (INT_TIME*(FOSC/1000))/12000)&0x1F + + + +unsigned char flagSend = 0; +unsigned char valueSend = 0; +unsigned char flagStart = 0; + + + +void Delay_ms(unsigned int n); + +void TIMER0_ISR (void) interrupt 1 //ÿ100usж +{ + TH0 = TH_VAL; + TL0 = TL_VAL; + + Send433_Byte(); +} +/*********************************************************************************************************************/ +/******************************************************************************************************************************************* +˵ +------------------------------------------------------------------------------------------------------------ +1.ts_configuration.hǴļļôͨȵȡts_configuration.hе˵ +------------------------------------------------------------------------------------------------------------ +2.ҪʹUARTԣca51f5_config.hд򿪺궨UART0_EN +------------------------------------------------------------------------------------------------------------ +3.ݽӿΪKeysFlagSNûɸKeysFlagSNֵжϴǷ££KeysFlagSN +ĶӦλһֱΪ1ɿӦλΪ0TS_KeyǸKeysFlagSNֵɵİϢû粻ʹÿɺԡ +------------------------------------------------------------------------------------------------------------ +4.ʹ˴ʡģʽްʱڶʱʡģʽʡģʽǰرTMCжϺʹжϣע⣬ +жǿģڴʡģʽ£CPUSTOPģʽڱѺ󣬳ʡ纯TS_EnterSleepModeѭУע⣬ʡģʽ +ѭУڴʡģʽҪӦжϣûڽ봥ʡģʽǰпжϣ +Ҫ˳ʡģʽûֻҪʡ纯ѭڼжϣѭɡ + +TS_SleepEnǿƴʡģʽĿأϣijЩ²ʡģʽֻڴTS_SleepEn = 0 + + +------------------------------------------------------------------------------------------------------------ +5.ҵ(TK_CAPӵ)Χ6nF~50nF,ֵ20nF203 +------------------------------------------------------------------------------------------------------------ +6.Ŵ跶Χ0~5Kֵ1KŷķпԽȵŸҪ ˵3Kϡ +*******************************************************************************************************************************************/ +unsigned long int Read_32bit_UID(void) +{ + unsigned long int ID; + FSCMD = 0x80; + PTSH = 0x00; + PTSL = 0x00; + FSCMD = 0x81; + ID = FSDAT; + ID *= 256; + ID |= FSDAT; + ID *= 256; + ID |= FSDAT; + ID *= 256; + ID |= FSDAT; + FSCMD = 0; + return ID; +} +code unsigned char rf_data[255]= +{ +0 , +1 , +2 , +3 , +4 , +5 , +6 , +7 , +8 , +9 , +10 , +11 , +12 , +13 , +14 , +15 , +16 , +17 , +18 , +18 , +19 , +20 , +21 , +22 , +23 , +24 , +25 , +26 , +27 , +28 , +29 , +30 , +31 , +32 , +33 , +34 , +35 , +36 , +37 , +37 , +38 , +39 , +40 , +41 , +42 , +43 , +44 , +45 , +46 , +47 , +48 , +49 , +50 , +51 , +52 , +53 , +54 , +55 , +56 , +56 , +57 , +58 , +59 , +60 , +61 , +62 , +63 , +64 , +65 , +66 , +67 , +68 , +69 , +70 , +71 , +72 , +73 , +74 , +74 , +75 , +76 , +77 , +78 , +79 , +80 , +81 , +82 , +83 , +84 , +85 , +86 , +87 , +88 , +89 , +90 , +91 , +92 , +93 , +93 , +94 , +95 , +96 , +97 , +98 , +99 , +100 , +101 , +102 , +103 , +104 , +105 , +106 , +107 , +108 , +109 , +110 , +111 , +112 , +112 , +113 , +114 , +115 , +116 , +117 , +118 , +119 , +120 , +121 , +122 , +123 , +124 , +125 , +126 , +127 , +128 , +129 , +130 , +130 , +131 , +132 , +133 , +134 , +135 , +136 , +137 , +138 , +139 , +140 , +141 , +142 , +143 , +144 , +145 , +146 , +147 , +148 , +149 , +149 , +150 , +151 , +152 , +153 , +154 , +155 , +156 , +157 , +158 , +159 , +160 , +161 , +162 , +163 , +164 , +165 , +166 , +167 , +168 , +168 , +169 , +170 , +171 , +172 , +173 , +174 , +175 , +176 , +177 , +178 , +179 , +180 , +181 , +182 , +183 , +184 , +185 , +186 , +186 , +187 , +188 , +189 , +190 , +191 , +192 , +193 , +194 , +195 , +196 , +197 , +198 , +199 , +200 , +201 , +202 , +203 , +204 , +205 , +205 , +206 , +207 , +208 , +209 , +210 , +211 , +212 , +213 , +214 , +215 , +216 , +217 , +218 , +219 , +220 , +221 , +222 , +223 , +224 , +224 , +225 , +226 , +227 , +228 , +229 , +230 , +231 , +232 , +233 , +234 , +235 , +236 , +237 , +238 , +239 , +239, +240, +240, +}; +void main(void) +{ + unsigned long int addr=0; + unsigned char send_times = 0; +#ifdef LVD_RST_ENABLE + LVDCON = 0xE3; //LVDλѹΪ2.0V +#endif + +#ifdef UART0_EN + Uart0_Initial(UART0_BAUTRATE); +#endif + +//ŹʱԴΪIRCL + CKCON |= ILCKE; //ʹIRCL + WDCON = WDTS(WDTS_IRCL) | WDRE(WDRE_reset); //ÿŹʱԴΪILCKEģʽΪλģʽ + WDVTHH = 0; //Źλֵ߰λ ǰֵΪ5s + WDVTHL = 75; //ŹλֵͰλ + WDFLG = 0xA5; + + EA = 1; + + TS_init(); + + P32F = OUTPUT; //P00Ϊģʽ + P32=0; + + addr = (unsigned int)Read_32bit_UID(); //ȡңID + D0 = (unsigned char)(addr >> 8); + D1 = (unsigned char)(addr); + + Yaokong_Data[0] = D1; + Yaokong_Data[1] = D0; + + TMOD = (TMOD&0xFC)|0x00; //ģʽѡ: ʱ0ģʽ0 + TH0 = TH_VAL; //8λװֵ + TL0 = TL_VAL; //8λװֵ + + TR0 = 0; //ʱ0ʹ + ET0 = 1; //ʱ0жʹ + PT0 = 0; //öʱ0жȼΪȼ + + while(1) + { + TS_Action(); + if(WheelSliderPosition != -1) + { + flagSend = 1; + flagStart = 0; + //WheelSliderPosition-1ʱ ʾԲд¼WheelSliderPositionֵʾԲλá + send_times = 1; + valueSend=rf_data[ WheelSliderPosition];//0-240 + valueSend += 15;//15-255 + } + + if(KeysFlagSN != 0) + { + flagSend = 1; + flagStart = 0; + switch(KeysFlagSN) + { + case 0x0001: + valueSend = 0x05; + break; + case 0x0002: + valueSend = 0x0c; + break; + case 0x0004: + valueSend = 0x0a; + break; + case 0x0008: + valueSend = 0x0b; + break; + case 0x0010: + valueSend = 0x09; + break; + case 0x0020: + valueSend = 0x07; + break; + case 0x0040: + valueSend = 0x03; + break; + case 0x0080: + valueSend = 0x01; + break; + default: + flagSend = 0; + break; + } + } + + if(WheelSliderPosition == -1&&KeysFlagSN == 0) + { + flagStart = 1; + } + + + + + + +#if GENERATE_TS_KEY_EN +/************************************************************************************************* +TS_KeyǸKeysFlagSNõİϢΪḶ́ +|-----------------------------------------------------------------------------------------------------------------------------------| +| K1ΪK1ʾ | +| | +| |---> K1|KEY_BREAK(̰ɿ) | +| K1()--| | +| |---> K1|KEY_LONG_START(Լ1)---> K1|KEY_LONG(һֱԼÿ300msһγ)---->K1|KEY_LONG_BREAK(ɿ) | +| ^ | | +| | | | +| |----------<-----------<------------<--------------| | +|-----------------------------------------------------------------------------------------------------------------------------------| + +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| | +| ϼK1(K1=0x0001),K2(K2=0x0002)Ϊ K1K2ͬʱʱΪ(K1<<5)|K20x22, ʾ | +| | +| |---> ((K1<<5)|K2)|KEY_BREAK(̰ɿ) | +| (K1<<5)|K2()--| | +| |---> ((K1<<5)|K2)|KEY_LONG_START(Լ1)---> ((K1<<5)|K2)|KEY_LONG(һֱԼÿ300ms)---->((K1<<5)|K2)|KEY_LONG_BREAK(ɿ) | +| ^ | | +| | | | +| |---------<-------------<----------------<----------------| | +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| + +ע⣺ڸϼʱһͬʱ⵽˫ȼ⵽£ȼ⵽K1ʱȲK1ȵ⵽K2Ҳ +ʱŻ(K1<<5)|K2⵽˫˫һֱ£((K1<<5)|K2)|KEY_LONG_START((K1<<5)|K2)|KEY_LONG +һֹ֣ͣ ȵ˫ɿʱŻ((K1<<5)|K2)|KEY_BREAK(̰ɿ)((K1<<5)|K2)|KEY_LONG_BREAK(ɿ) +*************************************************************************************************/ + if(TS_Key != 0) + { + switch(TS_Key) + { + //Ϣ + case K1: + // valueSend = 0x05; //K1̰İϢ + break; + case (K1|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K1|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K1|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K1|KEY_LONG_BREAK): longPressFlag=0;//K1ֲϢ + break; +//Ϣ + case K2: //K1̰İϢ + // valueSend = 0x0c; + break; + case (K2|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K2|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K2|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K2|KEY_LONG_BREAK):longPressFlag=0; //K1ֲϢ + break; +//Ϣ + case K3: //K1̰İϢ + // valueSend = 0x0a; + break; + case (K3|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K3|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K3|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K3|KEY_LONG_BREAK): longPressFlag=0;///K1ֲϢ + break; +//Ϣ + case K4: //K1̰İϢ + // valueSend = 0x0b; + break; + case (K4|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + flagStart = 1; + break; + case (K4|KEY_LONG_START):longPressFlag=1; //K1ʼϢԼ1ʱ + valueSend = 0x0b; + flagStart = 1; + break; + case (K4|KEY_LONG): //K1ϢÿԼ300msһΣ + valueSend = 0x0b; + flagStart = 1; + break; + case (K4|KEY_LONG_BREAK):longPressFlag=0;//K1ֲϢ + break; +//Ϣ + case K5: //K1̰İϢ + // valueSend = 0x09; + break; + case (K5|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K5|KEY_LONG_START):longPressFlag=1; //K1ʼϢԼ1ʱ + break; + case (K5|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K5|KEY_LONG_BREAK):longPressFlag=0; //K1ֲϢ + break; +//Ϣ + case K6: //K1̰İϢ + // valueSend = 0x07; + break; + case (K6|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K6|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K6|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K6|KEY_LONG_BREAK):longPressFlag=0; //K1ֲϢ + break; +//Ϣ + case K7: //K1̰İϢ + // valueSend = 0x03; + break; + case (K7|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K7|KEY_LONG_START):longPressFlag=1; //K1ʼϢԼ1ʱ + break; + case (K7|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K7|KEY_LONG_BREAK): longPressFlag=0;//K1ֲϢ + break; +//Ϣ + case K8: //K1̰İϢ + // valueSend = 0x01; + break; + case (K8|KEY_BREAK): flagNoPress = 1; //K1ֲ̰İϢ + break; + case (K8|KEY_LONG_START): longPressFlag=1;//K1ʼϢԼ1ʱ + break; + case (K8|KEY_LONG): //K1ϢÿԼ300msһΣ + break; + case (K8|KEY_LONG_BREAK): longPressFlag=0;//K1ֲϢ + break; +#if GENERATE_DOUBLE_KEY_EN + //ϼϢ + case (K1<<5)|K2: //K1K2ͬʱʱİϢ + break; + case ((K1<<5)|K2)|KEY_BREAK: //K1K2ֲ̰İϢ + break; + case ((K1<<5)|K2)|KEY_LONG_START: //K1K2ʼİϢԼ1ʱ + break; + case ((K1<<5)|K2)|KEY_LONG: //K1K2ϢÿԼ300msһΣ + break; + case ((K1<<5)|K2)|KEY_LONG_BREAK: //K1K2ֲϢ + break; +#endif + } + } +#endif + + + + + + if(flagSend==1)//̰ + { + flagSend = 0; +// flagStart = 1; +// +// RF_send(send_times); + TR0 = 1; //ʱ0ʹ + Yaokong_Data[2] = valueSend; + } + + } +} +#endif diff --git a/rf_send.c b/rf_send.c new file mode 100644 index 0000000..9d98bea --- /dev/null +++ b/rf_send.c @@ -0,0 +1,188 @@ +#ifndef _rf_send_C_ +#define _rf_send_C_ +/*********************************************************************************************************************/ +#include "ca51f5_config.h" +#include "includes\ca51f5sfr.h" +#include "includes\ca51f5xsfr.h" +#include "includes\gpiodef_f5.h" + +#include "Library\Includes\delay.h" + +#include "rf_send.h" + +sbit Pin_rf = P3^2; +unsigned char D0,D1; +unsigned int idata ID; +unsigned char RF_Time; //ڿRFͼʱ + + +unsigned char Send433_Status = 0; //͹̵״̬ +unsigned int Send433_Time = 0; //¼433ݵĸߵ͵ƽʱ + +unsigned char Yaokong_Data[3]={0}; + +unsigned char Send433_Byte_Cont=0;//¼һ433ݵֽ +unsigned char Send433_Bit_Cont = 0; //¼λ +unsigned char Temp=0; +unsigned char Chose_Data_En=0;//ʹѡһ433ݵĵNֽ + +void Send433_Byte(void) //100usִһ +{ + switch (Send433_Status) + { + case 0: //ͬͷ + Pin_rf = 1; + if (++Send433_Time >= 4)//ߵƽ400us + { + Send433_Time = 0; + Send433_Status = 1; //ͬͷ + } + break; + case 1://ͬͷ͵ƽ + Pin_rf = 0; + if (++Send433_Time >= 120)//ƽ12300us + { + Send433_Time = 0; + Send433_Status = 2; //뷢24λ + } + break; + case 2: + + if(!Chose_Data_En)//ûʼ ϴѾһֽڲʹѡ + { + Chose_Data_En=1; + Temp=Yaokong_Data[Send433_Byte_Cont]; + //Send433_Byte_Cont++; + } + + Send433_Time++; + if (Temp & 0x80) //1 + { + if (Send433_Time <= 12) + { + Pin_rf = 1; + } + else if (Send433_Time >= 13) + { + Pin_rf = 0; + if (Send433_Time == 16) + { + Send433_Time = 0; + Temp <<= 1; + Send433_Bit_Cont++; + } + } + } + else//0 + { + if (Send433_Time <= 4) + { + Pin_rf = 1; + } + else if (Send433_Time >= 5) + { + Pin_rf = 0; + if (Send433_Time == 16) + { + Send433_Time = 0; + Temp <<= 1; + Send433_Bit_Cont++; + } + } + } + if (Send433_Bit_Cont == 8)//һֽ + { + Send433_Bit_Cont = 0; + + Chose_Data_En=0;//ʹѡһֽ + if(++Send433_Byte_Cont==3) + { + Send433_Byte_Cont=0; + + if(flagStart == 1) + { + Send433_Status = 3; // + } + else + { + Send433_Status = 0; //һ֡ݷ + } + + } + } + break; + + case 3: + if (++Send433_Time <= 4) + { + Pin_rf = 1; + } + else + { + Pin_rf = 0; + Send433_Time = 0; + // flagStart = 0; + Send433_Status = 0; + TR0 = 0; //ʱ0ֹ + + } + break; + default: + break; + } +} + + +//void RF_send(unsigned char cnt); +//void send_8bit(unsigned char n); + +///*****************************************/ + +//void RF_send(unsigned char cnt) +//{ +// unsigned char i; + +// for(i=cnt;i>0;i--) //ʹ +// { +// Pin_rf=1; +// Delay_50us(8); //ͬߵƽ +// Pin_rf=0; +// Delay_ms(12); //ͬ͵ƽ +// Pin_rf=1; + +// send_8bit(D0); +// send_8bit(D1); +// send_8bit(valueSend); +// +//// if(WheelSliderPosition == -1&&KeysFlagSN == 0) +//// { +//// Pin_rf=1; +//// Delay_50us(7); +//// Pin_rf=0; +//// } +// } +//} +////--------------------------------------------- +//void send_8bit(unsigned char n) +//{ +// unsigned char i; +// for(i=8;i>0;i--) +// { +// Pin_rf=1; +// if(n&0x80) +// { +// Delay_50us(24); +// Pin_rf=0; +// Delay_50us(7); +// } +// else +// { +// Delay_50us(7); +// Pin_rf=0; +// Delay_50us(24); +// } +// n<<=1; +// } +//} + +#endif \ No newline at end of file diff --git a/rf_send.h b/rf_send.h new file mode 100644 index 0000000..207afb7 --- /dev/null +++ b/rf_send.h @@ -0,0 +1,18 @@ +#ifndef rf_send_H +#define rf_send_H + +extern unsigned char D0,D1; +extern unsigned int idata ID; +extern unsigned char RF_Time; //ڿRFͼʱ +extern unsigned char valueSend; +extern unsigned char Yaokong_Data[3]; +extern unsigned char flagStart; + +void Send433_Byte(void); + +//void RF_send(unsigned char cnt); +//void send_8bit(unsigned char n); + + + +#endif \ No newline at end of file diff --git a/修改说明.txt b/修改说明.txt new file mode 100644 index 0000000..e69de29