From f0bbac3bb30568821397dd278930b359d9b9da7c Mon Sep 17 00:00:00 2001 From: moyuhai <3115857886@qq.com> Date: Thu, 11 Jun 2026 17:26:06 +0800 Subject: [PATCH] V1.0 --- CA51F5.BAT | 26 +- CA51F5_Touch.uvgui.31158 | 1977 +++++++++ CA51F5_Touch.uvgui.85008 | 380 +- CA51F5_Touch.uvopt | 356 +- CA51F5_Touch.uvproj | 4 +- .../长滑条_RGB_f551s3_00f5dc25 _v2.0—20260506.hex | 342 ++ Document/烧录说明-蓝牙仓库链接.docx | Bin 0 -> 14880 bytes TS_Lib/Includes/ts_configuration.h | 61 +- ca51f5_config.h | 2 +- hex/8ey_touch_551s3f_0014b591 | Bin 0 -> 237906 bytes hex/8ey_touch_551s3f_0014b591.SBR | Bin 0 -> 175515 bytes hex/8ey_touch_551s3f_0014b591.build_log.htm | 118 + hex/8ey_touch_551s3f_0014b591.lnp | 15 + hex/8ey_touch_f551s3_0014b5c3 | Bin 0 -> 237906 bytes hex/8ey_touch_f551s3_0014b5c3.SBR | Bin 0 -> 175515 bytes hex/8ey_touch_f551s3_0014b5c3.build_log.htm | 118 + hex/8ey_touch_f551s3_0014b5c3.lnp | 15 + hex/8ey_touch_f551s3_0014b5c3_v1 | Bin 0 -> 237909 bytes hex/8ey_touch_f551s3_0014b5c3_v1.SBR | Bin 0 -> 175515 bytes ...8ey_touch_f551s3_0014b5c3_v1.build_log.htm | 118 + hex/8ey_touch_f551s3_0014b5c3_v1.lnp | 15 + hex/8ey_touch_f551s3_0014b5d7 _v1 | Bin 0 -> 237910 bytes hex/8ey_touch_f551s3_0014b5d7 _v1.SBR | Bin 0 -> 175515 bytes ...ey_touch_f551s3_0014b5d7 _v1.build_log.htm | 118 + hex/8ey_touch_f551s3_0014b5d7 _v1.lnp | 15 + hex/8ey_touch_f551s3_0014b5d7 _v2 | Bin 0 -> 237910 bytes hex/8ey_touch_f551s3_0014b5d7 _v2.SBR | Bin 0 -> 175515 bytes ...ey_touch_f551s3_0014b5d7 _v2.build_log.htm | 118 + hex/8ey_touch_f551s3_0014b5d7 _v2.lnp | 15 + hex/8ey_touch_f551s3_0014b5eb _v2 | Bin 0 -> 228039 bytes hex/8ey_touch_f551s3_0014b5eb _v2.SBR | Bin 0 -> 168805 bytes ...ey_touch_f551s3_0014b5eb _v2.build_log.htm | 86 + hex/8ey_touch_f551s3_0014b5eb _v2.lnp | 15 + hex/8ey_touch_f551s3_0014b5f5 _v2 | Bin 0 -> 237911 bytes hex/8ey_touch_f551s3_0014b5f5 _v2.SBR | Bin 0 -> 175515 bytes ...y_touch_f551s3_0014b5f5 _v2.build_log.htm | 118 + hex/8ey_touch_f551s3_0014b5f5 _v2.lnp | 15 + hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 | Bin 0 -> 237038 bytes ...RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.SBR | Bin 0 -> 175423 bytes ...ey_touch_f551s3_0014b5eb _v2.build_log.htm | 86 + ...RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.hex | 342 ++ ...RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.lnp | 15 + hex/STARTUP.obj | Bin 838 -> 838 bytes hex/ca51fx_onoff | Bin 237893 -> 237893 bytes hex/ca51fx_onoff.SBR | Bin 175515 -> 175515 bytes hex/ca51fx_onoff.build_log.htm | 52 +- hex/ca51fx_onoff.hex | 350 -- hex/debug.obj | Bin 30257 -> 30257 bytes hex/delay.obj | Bin 1434 -> 1438 bytes hex/interrupt.obj | Bin 33917 -> 34036 bytes hex/main.obj | Bin 43369 -> 42381 bytes hex/rf_send.obj | Bin 18626 -> 18611 bytes hex/system_clock.obj | Bin 17480 -> 17488 bytes hex/ts_api.obj | Bin 69806 -> 70085 bytes hex/uart.obj | Bin 21907 -> 21675 bytes lst/8ey_touch_551s3f_0014b591.map | 3901 +++++++++++++++++ lst/8ey_touch_f551s3_0014b5c3.map | 3901 +++++++++++++++++ lst/8ey_touch_f551s3_0014b5c3_v1.map | 3901 +++++++++++++++++ lst/8ey_touch_f551s3_0014b5d7 _v1.map | 3901 +++++++++++++++++ lst/8ey_touch_f551s3_0014b5d7 _v2.map | 3901 +++++++++++++++++ lst/8ey_touch_f551s3_0014b5eb _v2.map | 3656 +++++++++++++++ lst/8ey_touch_f551s3_0014b5f5 _v2.map | 3901 +++++++++++++++++ ...RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.map | 3831 ++++++++++++++++ lst/STARTUP.lst | 14 +- lst/ca51fx_onoff.map | 116 +- lst/debug.lst | 26 +- lst/delay.lst | 10 +- lst/interrupt.lst | 28 +- lst/main.lst | 710 +-- lst/rf_send.lst | 323 +- lst/system_clock.lst | 8 +- lst/ts_api.lst | 140 +- lst/uart.lst | 12 +- main.c | 507 +-- rf_send.c | 295 +- rf_send.h | 4 +- 76 files changed, 35885 insertions(+), 2093 deletions(-) create mode 100644 CA51F5_Touch.uvgui.31158 create mode 100644 Document/烧录文件/长滑条_RGB_f551s3_00f5dc25 _v2.0—20260506.hex create mode 100644 Document/烧录说明-蓝牙仓库链接.docx create mode 100644 hex/8ey_touch_551s3f_0014b591 create mode 100644 hex/8ey_touch_551s3f_0014b591.SBR create mode 100644 hex/8ey_touch_551s3f_0014b591.build_log.htm create mode 100644 hex/8ey_touch_551s3f_0014b591.lnp create mode 100644 hex/8ey_touch_f551s3_0014b5c3 create mode 100644 hex/8ey_touch_f551s3_0014b5c3.SBR create mode 100644 hex/8ey_touch_f551s3_0014b5c3.build_log.htm create mode 100644 hex/8ey_touch_f551s3_0014b5c3.lnp create mode 100644 hex/8ey_touch_f551s3_0014b5c3_v1 create mode 100644 hex/8ey_touch_f551s3_0014b5c3_v1.SBR create mode 100644 hex/8ey_touch_f551s3_0014b5c3_v1.build_log.htm create mode 100644 hex/8ey_touch_f551s3_0014b5c3_v1.lnp create mode 100644 hex/8ey_touch_f551s3_0014b5d7 _v1 create mode 100644 hex/8ey_touch_f551s3_0014b5d7 _v1.SBR create mode 100644 hex/8ey_touch_f551s3_0014b5d7 _v1.build_log.htm create mode 100644 hex/8ey_touch_f551s3_0014b5d7 _v1.lnp create mode 100644 hex/8ey_touch_f551s3_0014b5d7 _v2 create mode 100644 hex/8ey_touch_f551s3_0014b5d7 _v2.SBR create mode 100644 hex/8ey_touch_f551s3_0014b5d7 _v2.build_log.htm create mode 100644 hex/8ey_touch_f551s3_0014b5d7 _v2.lnp create mode 100644 hex/8ey_touch_f551s3_0014b5eb _v2 create mode 100644 hex/8ey_touch_f551s3_0014b5eb _v2.SBR create mode 100644 hex/8ey_touch_f551s3_0014b5eb _v2.build_log.htm create mode 100644 hex/8ey_touch_f551s3_0014b5eb _v2.lnp create mode 100644 hex/8ey_touch_f551s3_0014b5f5 _v2 create mode 100644 hex/8ey_touch_f551s3_0014b5f5 _v2.SBR create mode 100644 hex/8ey_touch_f551s3_0014b5f5 _v2.build_log.htm create mode 100644 hex/8ey_touch_f551s3_0014b5f5 _v2.lnp create mode 100644 hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 create mode 100644 hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.SBR create mode 100644 hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.build_log.htm create mode 100644 hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.hex create mode 100644 hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.lnp delete mode 100644 hex/ca51fx_onoff.hex create mode 100644 lst/8ey_touch_551s3f_0014b591.map create mode 100644 lst/8ey_touch_f551s3_0014b5c3.map create mode 100644 lst/8ey_touch_f551s3_0014b5c3_v1.map create mode 100644 lst/8ey_touch_f551s3_0014b5d7 _v1.map create mode 100644 lst/8ey_touch_f551s3_0014b5d7 _v2.map create mode 100644 lst/8ey_touch_f551s3_0014b5eb _v2.map create mode 100644 lst/8ey_touch_f551s3_0014b5f5 _v2.map create mode 100644 lst/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.map diff --git a/CA51F5.BAT b/CA51F5.BAT index 6728682..f10bed7 100644 --- a/CA51F5.BAT +++ b/CA51F5.BAT @@ -1,17 +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 C51INC=C:\keil5\C51\Inc;C:\keil5\C51\Inc\Cast +SET C51LIB=C:\keil5\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 +"C:\keil5\C51\BIN\C51.EXE" @".\hex\main.__i" +"C:\keil5\C51\BIN\C51.EXE" @".\hex\delay.__i" +"C:\keil5\C51\BIN\C51.EXE" @".\hex\SYSTEM~1.__I" +"C:\keil5\C51\BIN\C51.EXE" @".\hex\uart.__i" +"C:\keil5\C51\BIN\C51.EXE" @".\hex\INTERR~1.__I" +"C:\keil5\C51\BIN\C51.EXE" @".\hex\rf_send.__i" +"C:\keil5\C51\BIN\C51.EXE" @".\hex\debug.__i" +"C:\keil5\C51\BIN\C51.EXE" @".\hex\ts_api.__i" +"C:\keil5\C51\BIN\A51.EXE" @".\hex\STARTUP._ia" +"C:\keil5\C51\BIN\LX51.EXE" @".\hex\RE51_R~1.LNP" +"C:\keil5\C51\BIN\OHX51.EXE" ".\hex\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2" HEX diff --git a/CA51F5_Touch.uvgui.31158 b/CA51F5_Touch.uvgui.31158 new file mode 100644 index 0000000..55d5239 --- /dev/null +++ b/CA51F5_Touch.uvgui.31158 @@ -0,0 +1,1977 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + + + + + 38003 + Registers + 140 90 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 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 + 300 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 0 + 1 + + -1 + -1 + + + -1 + -1 + + + 72 + 2161 + 3576 + 961 + + + + 0 + + 2200 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000C000000000000000100000080433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF9C433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C496E636C756465735C74735F636F6E66696775726174696F6E2E68000000001274735F636F6E66696775726174696F6E2E6800000000FFDC7800FFFFFFFF85433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C696E746572727570742E63000000000B696E746572727570742E6300000000BECEA100FFFFFFFF90433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C756172742E630000000006756172742E6300000000F0A0A100FFFFFFFF91433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C696E636C756465735C756172742E680000000006756172742E6800000000BCA8E100FFFFFFFF89433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6361353166355F636F6E6669672E68000000000F6361353166355F636F6E6669672E68000000009CC1B600FFFFFFFF91433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C536F75726365735C74735F6170692E63000000000874735F6170692E6300000000F7B88600FFFFFFFF83433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E63000000000972665F73656E642E6300000000D9ADC200FFFFFFFF91433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C64656C61792E63000000000764656C61792E6300000000A5C2D700FFFFFFFF99433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C496E636C756465735C73797374656D5F636C6F636B2E68000000000E73797374656D5F636C6F636B2E6800000000B3A6BE00FFFFFFFF83433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E68000000000972665F73656E642E6800000000EAD6A300FFFFFFFF8F433A5C55736572735C33313135385C4465736B746F705CD2A3BFD8B3CCD0F2D0DEB8C45CB3A4BBACCCF55CB3A4BBACCCF55F434135314635353153335F524535315F5247425F323032355F31315F32325C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C696E636C756465735C636135316635787366722E68000000000C636135316635787366722E6800000000F6FA7D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000006D090000B6000000F00D0000F5020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DD000000 + + + 16 + 7408000066000000100D0000F4000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000075020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000075020000 + + + 16 + BC07000053000000D80800008F020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000075020000 + + + 16 + BC07000053000000D80800008F020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000075020000 + + + 16 + BC07000053000000D80800008F020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000A6020000770500003F030000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001502000090050000B7020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000A90200007D07000026030000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 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 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000014030000 + + + 16 + BC07000053000000D80800008F020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000A90200007D07000026030000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000A90200007D07000026030000 + + + 16 + BC07000053000000D80800008F020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000A90200007D07000026030000 + + + 16 + BC07000053000000D80800008F020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000A90200007D07000026030000 + + + 16 + BC07000053000000D80800008F020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + BC07000053000000840A0000E1000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A000000D803000042000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000003F0300007705000052030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A000000EE01000042000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 1 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500009E020000 + + + 16 + BC07000053000000AC0800001C010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D0000F4000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D00003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000008E020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080070000660000007008000044030000000000004F000000F00000008E0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000800700002C020000100D0000CE020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000008E02000077050000920200000100000001000010040000000100000008FDFFFF8C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000008007000048030000000F0000F50300000000000092020000770500003F0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2558 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000086D6163206164647296000000000000000100086D6163206164647200000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 972 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000064341353146359600000000000000010006434135314635000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\main.c + 8 + 59 + 72 + 1 + + 0 + + + TS_Lib\Includes\ts_configuration.h + 0 + 232 + 262 + 1 + + 0 + + + .\interrupt.c + 0 + 1 + 1 + 1 + + 0 + + + .\Library\Sources\uart.c + 0 + 1 + 1 + 1 + + 0 + + + Library\includes\uart.h + 0 + 1 + 1 + 1 + + 0 + + + ca51f5_config.h + 2 + 7 + 22 + 1 + + 0 + + + .\TS_Lib\Sources\ts_api.c + 0 + 118 + 119 + 1 + + 0 + + + .\rf_send.c + 1 + 148 + 178 + 1 + + 0 + + + .\Library\Sources\delay.c + 0 + 1 + 1 + 1 + + 0 + + + Library\Includes\system_clock.h + 0 + 1 + 1 + 1 + + 0 + + + rf_send.h + 9 + 1 + 13 + 1 + + 0 + + + Library\Sources\../../includes/ca51f5xsfr.h + 0 + 76 + 97 + 1 + + 0 + + + + +
diff --git a/CA51F5_Touch.uvgui.85008 b/CA51F5_Touch.uvgui.85008 index 86ac434..8661933 100644 --- a/CA51F5_Touch.uvgui.85008 +++ b/CA51F5_Touch.uvgui.85008 @@ -15,17 +15,17 @@ 38003 Registers - 188 55 + 124 79 346 Code Coverage - 877 160 + 1517 160 204 Performance Analyzer - 1037 + 1677 @@ -101,17 +101,17 @@ -1 - 9 - 9 - 1714 - 1026 + 118 + 2011 + 3716 + 1135 0 - 1159 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000007000000020000000100000066443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF6F443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6361353166355F636F6E6669672E68000000000F6361353166355F636F6E6669672E6800000000FFDC7800FFFFFFFF82443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C496E636C756465735C74735F636F6E66696775726174696F6E2E68000000001274735F636F6E66696775726174696F6E2E6800000000BECEA100FFFFFFFF69443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E63000000000972665F73656E642E6300000000F0A0A100FFFFFFFF69443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E68000000000972665F73656E642E6800000000BCA8E100FFFFFFFF77443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C536F75726365735C74735F6170692E63000000000874735F6170692E63000000009CC1B600FFFFFFFF76443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C756172742E630000000006756172742E6300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000000101000066000000AB06000059030000 + 1453 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000009000000020000000100000066443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF6F443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C6361353166355F636F6E6669672E68000000000F6361353166355F636F6E6669672E6800000000FFDC7800FFFFFFFF82443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C496E636C756465735C74735F636F6E66696775726174696F6E2E68000000001274735F636F6E66696775726174696F6E2E6800000000BECEA100FFFFFFFF69443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E63000000000972665F73656E642E6300000000F0A0A100FFFFFFFF69443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C72665F73656E642E68000000000972665F73656E642E6800000000BCA8E100FFFFFFFF77443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C54535F4C69625C536F75726365735C74735F6170692E63000000000874735F6170692E63000000009CC1B600FFFFFFFF76443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C4C6962726172795C536F75726365735C756172742E630000000006756172742E6300000000F7B88600FFFFFFFF75443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C696E636C756465735C636135316635787366722E68000000000C636135316635787366722E6800000000D9ADC200FFFFFFFF75443A5C776F726B706C6163655CB9A4D7F7CEC4BCFE5CB3CCD0F25CBDF5C8F15C434135314635353153335C38BCFCC3E6B0E5B4A5C3FE5C4341353146355F546F7563685F44656D6F50726F6A5F76322E332D3433334D5F32303232303431395C696E636C756465735C6770696F6465665F66352E68000000000C6770696F6465665F66352E6800000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000008407000066000000AB10000044040000 @@ -130,11 +130,11 @@ 0 16 - D90000004F000000F0040000DA000000 + D90000004F0000007007000012010000 16 - D900000066000000F0040000F1000000 + BC080000E4000000530F0000A7010000 @@ -150,11 +150,11 @@ 0 16 - 0300000066000000FA00000029030000 + 0300000066000000D200000014040000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -170,11 +170,11 @@ 0 16 - 0300000066000000FA00000029030000 + 0300000066000000D200000014040000 16 - A4000000BB000000A0010000E8020000 + A0F3FFFF530000001CF5FFFF60030000 @@ -190,11 +190,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -210,11 +210,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -230,11 +230,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -250,11 +250,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -270,11 +270,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -290,11 +290,11 @@ 0 16 - DC00000066000000ED040000C1000000 + DC000000660000006D070000F9000000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -310,11 +310,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -330,11 +330,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -350,11 +350,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -370,11 +370,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -390,11 +390,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -410,11 +410,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -430,11 +430,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -450,11 +450,11 @@ 0 16 - 0300000066000000FA00000029030000 + 0300000066000000D200000014040000 16 - A4000000BB000000A0010000E8020000 + A0F3FFFF530000001CF5FFFF60030000 @@ -470,11 +470,11 @@ 0 16 - 0300000066000000FA00000029030000 + 0300000066000000D200000014040000 16 - A4000000BB000000A0010000E8020000 + A0F3FFFF530000001CF5FFFF60030000 @@ -490,11 +490,11 @@ 0 16 - 000000005A030000AB060000D1030000 + 0300000048040000FD0900002D050000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -510,11 +510,11 @@ 0 16 - 0000000006020000F0040000A5020000 + 00000000E602000070070000BD030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -530,11 +530,11 @@ 0 16 - 030000005D030000FD090000B8030000 + 0300000048040000FD0900002D050000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -550,11 +550,11 @@ 0 16 - DC00000066000000ED040000C1000000 + DC000000660000006D070000F9000000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -570,11 +570,11 @@ 0 16 - DC00000066000000ED040000C1000000 + DC000000660000006D070000F9000000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -610,11 +610,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -630,11 +630,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -650,11 +650,11 @@ 0 16 - DC00000066000000ED040000C1000000 + DC000000660000006D070000F9000000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -670,11 +670,11 @@ 0 16 - DC00000066000000ED040000C1000000 + DC000000660000006D070000F9000000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -690,11 +690,11 @@ 0 16 - DC00000066000000ED040000C1000000 + DC000000660000006D070000F9000000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -710,11 +710,11 @@ 0 16 - DC00000066000000ED040000C1000000 + DC000000660000006D070000F9000000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -730,11 +730,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -750,11 +750,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -770,11 +770,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -790,11 +790,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -810,11 +810,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -830,11 +830,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -850,11 +850,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -870,11 +870,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -890,11 +890,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -910,11 +910,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -930,11 +930,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -950,11 +950,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -970,11 +970,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -990,11 +990,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1010,11 +1010,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1030,11 +1030,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1050,11 +1050,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1070,11 +1070,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1090,11 +1090,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1110,11 +1110,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1130,11 +1130,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1150,17 +1150,17 @@ 0 16 - 0300000066000000FA0000009E040000 + 0300000066000000D200000014040000 16 - A4000000BB000000A0010000E8020000 + A0F3FFFF530000001CF5FFFF60030000 38007 38007 - 0 + 1 0 0 0 @@ -1170,11 +1170,11 @@ 0 16 - 030000005D030000FD090000B8030000 + 0300000048040000FD0900002D050000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -1190,11 +1190,11 @@ 0 16 - 030000005D030000FD090000B8030000 + 0300000048040000FD0900002D050000 16 - A4000000BB000000A0010000E8020000 + A0F3FFFF530000001CF5FFFF60030000 @@ -1210,11 +1210,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1230,11 +1230,11 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1250,11 +1250,11 @@ 0 16 - 030000005D030000FD090000B8030000 + 0300000048040000FD0900002D050000 16 - A4000000BB000000A0010000E8020000 + A0F3FFFF530000001CF5FFFF60030000 @@ -1270,11 +1270,11 @@ 0 16 - 030000005D030000FD090000B8030000 + 0300000048040000FD0900002D050000 16 - A4000000BB000000A0010000E8020000 + A0F3FFFF530000001CF5FFFF60030000 @@ -1290,11 +1290,11 @@ 0 16 - DC00000066000000ED040000C1000000 + DC000000660000006D070000F9000000 16 - A4000000BB0000001C03000046010000 + A0F3FFFF5300000058F7FFFF16010000 @@ -1310,11 +1310,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1330,11 +1330,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1350,11 +1350,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1370,11 +1370,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1390,11 +1390,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1410,11 +1410,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1430,11 +1430,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1450,11 +1450,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1470,11 +1470,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1490,11 +1490,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1510,17 +1510,17 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 50011 50011 - 0 + 1 0 0 0 @@ -1530,11 +1530,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + DC000000660000006D07000081000000 16 - A4000000BB0000007901000082010000 + 0A0000000A0000006E0000006E000000 @@ -1550,11 +1550,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1570,11 +1570,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1590,11 +1590,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1610,11 +1610,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1630,11 +1630,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1650,11 +1650,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1670,11 +1670,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1690,11 +1690,11 @@ 0 16 - 1E04000066000000ED040000FD010000 + 9E060000660000006D070000DD020000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 @@ -1730,7 +1730,7 @@ 0 16 - 00000000D1030000AB060000E4030000 + 0000000046050000000A000059050000 16 @@ -1790,23 +1790,23 @@ 0 16 - 030000001D020000ED0400008C020000 + 03000000FD0200006D070000A4030000 16 - A4000000BB0000007901000082010000 + A0F3FFFF5300000075F4FFFF1A010000 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFD9000000DA000000F0040000DE000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000D900000066000000F0040000F1000000D90000004F000000F0040000DA0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF170400004F0000001B04000016020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001B04000066000000F00400002D0200001B0400004F000000F00400001602000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFFD0000004F0000000101000042030000010000000200001004000000010000002DFFFFFFCD050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000FD000000CE040000000000004F000000FD000000420300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000002020000F00400000602000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000001D020000F0040000BC0200000000000006020000F0040000A502000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF78020000060200007C020000A502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000042030000AB06000046030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000D2040000000A00005D0500000000000046030000AB060000D10300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFD9000000120100007007000016010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000BC080000E4000000530F0000A7010000D90000004F00000070070000120100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF970600004F0000009B060000F6020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000007E0E0000E4000000530F00008B0300009B0600004F00000070070000F602000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD50000004F000000D90000002D040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000E3070000E4000000B8080000C2040000000000004F000000D50000002D0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E202000070070000E602000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000E30700007B030000530F00005204000000000000E602000070070000BD03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000E6020000BC030000BD03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000002D040000000A000031040000010000000100001004000000010000000DFDFFFF72000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000E3070000C6040000E3110000DB0500000000000031040000000A0000460500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2578 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B6C6F63616C74696D655F72960000000000000002000B6C6F63616C74696D655F72095461736B436F6D70730000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2817 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000066C656E67746896000000000000001200066C656E67746803313333034D5455114D414E5546414354555245525F444154410B7773323831325F6275663211506F7369746976655F4D4F4445315F4F4E054D4F4445310B6D6F646566756E6374696E0A6C696768745F6D6F64650C5F6C6F63616C74696D655F72104E5649435F5365745072696F726974790C67645F636865636B5F73756D0B6C6F63616C74696D655F72095461736B436F6D7073097368757475706E756D046D6F6465136C6561726E696E6753756363657373466C61670930A3BACEB4C5E4B6D4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 972 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000064341353146359600000000000000010006434135314635000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000064341353146359600000000000000010006434135314635000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3606,9 +3606,9 @@ 2 .\main.c - 0 - 365 - 400 + 6 + 421 + 422 1 0 @@ -3625,16 +3625,16 @@ TS_Lib\Includes\ts_configuration.h 27 - 91 - 121 + 103 + 125 1 - 257 + 277 0 .\rf_send.c 0 - 82 + 91 117 1 @@ -3667,6 +3667,24 @@ 0 + + Library\Sources\../../includes/ca51f5xsfr.h + 0 + 1 + 1 + 1 + + 0 + + + Library\Sources\../../includes/gpiodef_f5.h + 0 + 1 + 1 + 1 + + 0 + diff --git a/CA51F5_Touch.uvopt b/CA51F5_Touch.uvopt index f8fc283..d7adbf3 100644 --- a/CA51F5_Touch.uvopt +++ b/CA51F5_Touch.uvopt @@ -103,7 +103,7 @@ 1 0 0 - 13 + 12 @@ -310,6 +310,358 @@ + + 11 + 0 + 157 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 12 + 0 + 158 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 13 + 0 + 159 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 14 + 0 + 160 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 15 + 0 + 161 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 16 + 0 + 189 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 17 + 0 + 190 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 18 + 0 + 191 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 19 + 0 + 193 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 20 + 0 + 194 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 21 + 0 + 195 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\71x程序\遥控器代码\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 22 + 0 + 192 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控代码\CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 23 + 0 + 196 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控代码\CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 24 + 0 + 197 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控代码\CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 25 + 0 + 155 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控程序修改\长滑条\长滑条_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 26 + 0 + 156 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控程序修改\长滑条\长滑条_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 27 + 0 + 186 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控程序修改\长滑条\长滑条_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 28 + 0 + 187 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控程序修改\长滑条\长滑条_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 29 + 0 + 188 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控程序修改\长滑条\长滑条_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 30 + 0 + 206 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控程序修改\长滑条\长滑条_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 31 + 0 + 207 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控程序修改\长滑条\长滑条_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\main.c + + +
+ + 32 + 0 + 179 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + C:\Users\31158\Desktop\遥控程序修改\长滑条\长滑条_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\rf_send.c + + +
@@ -397,7 +749,7 @@ 1 3 1 - 1 + 0 0 0 .\Library\Sources\system_clock.c diff --git a/CA51F5_Touch.uvproj b/CA51F5_Touch.uvproj index 6a750d8..f08dab1 100644 --- a/CA51F5_Touch.uvproj +++ b/CA51F5_Touch.uvproj @@ -46,7 +46,7 @@ 1 .\hex\ - ca51fx_onoff + RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 1 0 1 @@ -149,7 +149,7 @@ 1 0 - 13 + 12 diff --git a/Document/烧录文件/长滑条_RGB_f551s3_00f5dc25 _v2.0—20260506.hex b/Document/烧录文件/长滑条_RGB_f551s3_00f5dc25 _v2.0—20260506.hex new file mode 100644 index 0000000..c558f75 --- /dev/null +++ b/Document/烧录文件/长滑条_RGB_f551s3_00f5dc25 _v2.0—20260506.hex @@ -0,0 +1,342 @@ +:10000000020F3C8F828E83E5821582AE83700215CB +:10001000834E60097F147E001213A380EA223232DD +:0300230002001EBA +:03002B00020FC8F9 +:1000330002001FBB010689828A83F0225002F72245 +: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 +:1002B300B5E0FF6538701CE5192FFFE412094BFC0C +:1002C300A3E0FD120936FEA3E0C39DF540EE9CF5C5 +:1002D3003F8064120922120942120A0F8F3C8E3B9F +:1002E3008D3A8C39E5192538FFE412092D120A25B8 +:1002F300AF3CAE3B1201868E3D8F3E12092212099E +:1003030042120A1A953EFFEE953DAB07FAE4F9F85F +:10031300AF3CAE3BAD3AAC391201868E3D8F3E9079 +:1003230000B5E02519FFE412092DFEA3E0C3953EB5 +:10033300F540EE953DF53FC3E53F6480948050055D +:10034300E4F53FF540D3E5409542E53F9541401440 +:10035300854546854143854244853845853F4185EA +:1003630040428014D3E5409544E53F9543400985D9 +:100373003846853F4385404405380202A7E54225B8 +:1003830044FFE5413543FEC3EF9537EE95365005FF +:100393007EFF7FFF22E536C313FEE53713FFC3E578 +:1003A300429FF540E5419EF53FFEAF407C007D0A4C +:1003B3001200481209F8EDD3941F40027D1FEDACE3 +:1003C30036AD371209B4CEC313CE13D8F9F53E8E2A +:1003D3003D2542F542E53D3541F541E53E2544F5F0 +:1003E30044E53D3543F543E544AE437807C333CE97 +:1003F30033CED8F9FF1209F8900124E07002A3E08C +:1004030070051209D1800D120A02CEC313CE13D880 +:10041300F912098A120A2FCEC313CE13D8F9FD900D +:1004230000D0E545F075F040A485F047F548E54573 +:100433001209E15002AD07E545120960C333CE331B +:10044300CED8F9120972AD07AC06E545700AE53559 +:1004530014B54604C206801BE53514B54508E546C8 +:100463007004D206800DE545C395465004D206803C +:1004730002C20630060CED2548F548EC3547F54732 +:100483008022E54845477011E53575F040A4AEF08C +:1004930024FFF548EE34FFF547C3E5489DF548E5ED +:1004A300479CF547AE47AF4822E4F532F5F875FBB4 +:1004B3003FD20153D57F43D501E5F854F84407F5FE +:1004C300F853F8BF75F90F75FA329081037440F051 +:1004D300E4F5E8F5C0908030F090FC00E04440F093 +:1004E300E58654F04407F586E4F5161212EF75A17C +:1004F300A575D58075D67FE532601F908030E054B6 +:100503007FF0E054FE4401F0C2AF438702000000D5 +:10051300E04480F0E054FEF0D2AF900100E0FF121F +:10052300089F4003020637AEFBEE60CBEF60021478 +:10053300F0E4FDED1208EA40030206107E007401A8 +:10054300A805088005C333CE33CED8F9FFACFBEC46 +:10055300FBEF5B700302060CA8057401088002C35D +:1005630033D8FCF5FBEDFF7E00700885E23385E1AF +:10057300348044EF64014E700885E43385E33480AE +:1005830036EF64024E700885E63385E5348028EF44 +:1005930064034E700885D93385E734801AEF640409 +:1005A3004E700885DB3385DA34800CEF64054E70BA +:1005B3000685DD3385DC34E532702CE53424F7FF22 +:1005C300E53334FFFEE5162DFC1208DEEEF0A3EF53 +:1005D300F0E5342409FFE43533FEEC120918F58302 +:1005E300EEF0A3EFF08022E5162DFF1208DEE0FA0D +:1005F300A3E0C39534EA9533503AEF120918120871 +:1006030059D39534EE9533402B0D020536E5162468 +:100613000612087C500874062516F516800DE4F5BD +:1006230016E532700675320143F8201212EF75A1F8 +:10063300A50204FAE4F5F875FB3FE58654F0440D92 +:10064300F5861208C9908030E04440F053D57F43CB +:10065300D5017F017E001213A375D580E4F5D6F58D +:1006630016121111120911C20175E8E322C20575B0 +:100673001908200307D2037F0412115F7D3A7C001F +:100683007F04120296EFF47002EEF46002C204904B +:100693000123E0F9600302077A900122E06003027C +:1006A300074AEFF47002EEF4600B7401F09000FF60 +:1006B30004F00207CA85193212083A40030207CA36 +:1006C30012081BE53212080FE0FAA3E0FBD39DEA00 +:1006D3009CE532400712081DC3EB801412080FE09B +:1006E300FCA3E0FDE5321208A7F583E0FAA3E0C31B +:1006F3009DF534EA9CF533D3E5349408E53394004F +:10070300502174162532120832E0703612081BE5A8 +:100713003212080FECF0A3EDF012081BE5321209B8 +:1007230007800E12081BE53225E02402F582E4342B +:1007330000F583ECF0A3EDF0741625321208327441 +:1007430032F005320206BBEFF47002EEF4600D9056 +:1007530000FFE0707290012304F0806BE4900122AB +:10076300F085193212083A505E7416253212083297 +:100773007432F0053280EDE96401704B900122E0A0 +:100783006011EFF47002EEF4703DF09000FF74021C +:10079300F08034EFF47002EEF470269000FFE07006 +:1007A30026900123F0A3F0A31208B1851932120891 +:1007B3003A5014741625321208327432F00532801E +:1007C300ED9001227401F0900123E064017012EFB7 +:1007D300F47002EEF4600D9000FCEEF0A3EFF080F5 +:1007E300031208B29000FCE0F47003A3E0F4600489 +:1007F30075180222E4F51822E53225E024B6F582C5 +:10080300E43400F583E0FEA3E0FFE53225E02402B3 +:10081300F582E43400F58322E53225E024B6F5823F +:10082300E43400F583E0FCA3E0FD2274162532F5E1 +:1008330082E43401F58322E5192404FDE433FCC387 +:10084300E5329DEC6480F874809822E53225E0243B +:10085300D1F582E43400F583E0FEA3E022740125A0 +:1008630032F582E43401F58322E53275F00AA424DB +:1008730032F582E43400F58322FFE433C3FE785972 +:10088300E6FDEF9D7480F86E982225E0241AF58228 +:10089300E43400F583EEF0A3EFF022E0C394057493 +:1008A3008094802225E024B6F582E4340022F0749B +:1008B300FF9000FCF0A3F022E53290150C93FF7833 +:1008C3005BE6FEEF5E2275F90A75F84090810374CA +:1008D30057F022C39408748094802225E02428F5DD +:1008E30082E43401F58322C39406748094802278D1 +:1008F30059E62401FFE433FEC32225E024D1F58227 +:10090300E434002225E0241AF582E4340022900026 +:10091300FB7405F02225E02440F582E434012290A3 +:1009230000B5E0AD197C002DFFEC33FEEF25E0FFB1 +:10093300EE33FE741A2FF58274003EF583E022FA3B +:10094300A3E0FBED2538FFEC33FEEF25E0FFEE33AC +:10095300FE74B62FF58274003EF583E022901508ED +:1009630093FCFFEDC39FFFE49400FEEF780522FFA5 +:10097300ECFDC374809DFDE49400FC0200AF75F0B0 +:100983000290001A02022BFFC3EB9FFFEA9E900125 +:1009930024F0A3EFF0EDFF900124E48FF00200E5D3 +:1009A300E5009000B675F00212022BE0FEA3E0FF13 +:1009B30022FFC374209FFFE49400FE120048EF78E7 +:1009C3000622C3EB9FEE6480F8EA64809822ED75FB +:1009D300F004A4FF900124E5F0F0A3EFF0229015BA +:1009E3000893FFEDC39F22E500C313FEE50013FF49 +:1009F300C3E5009F22AC41AD4212005AAD072290DD +:100A03000124E0FAA3E0FBAE02780222FEA3E0FF9A +:100A1300AD03AC02020269FEA3E02BFFEE3AFEC374 +:100A2300EF22FEA3E0FBAA06E4F9F822900124E0FA +:100A3300FEA3E0780222AC00AD0012005AAD0722FB +:100A4300E4F530F52FF52EF52DF53175E8E39080BB +:100A530030E04440F075A081E4F5A375A24B75A185 +:100A6300A5D2AF120EB090801A7402F0C2B2121166 +:100A7300DFE48F308E2FF52EF52DAD2EAC2D7808BB +:100A83001202188F1385301485140F85131012105A +:100A93004F9000FCE0FEA3E0FFF47002EEF460115F +:100AA30075310374E52FF58274133EF583E493F5F2 +:100AB3004A9000FEE0604D7531031202430ADC01E7 +:100AC3000AE1020AE6040AEB080AF0100AF5200A12 +:100AD300FA400AFF8000000B04754A0A8026754A13 +:100AE3000C8021754A0E801C754A068017754A02D0 +:100AF3008012754A04800DE4F54A8008754A0F8018 +:100B030003E4F5499000FEE070119000FCE0B4FFAF +:100B13000AA3E0B4FF05E4F5498003754901E549FB +:100B23007003020A91D3E5089414748094805003EF +:100B3300020A91E4F508F549F508C2AFAF31121284 +:100B43008BD2AF020A91E4F532E5321208D64003A4 +:100B5300020C1E12080DE0FCA3E0FD120C2F8F33D4 +:100B6300E53212081D120C2F8F34EF64026007EF79 +:100B730064036002C204E5337030E534701B12086D +:100B8300BB700E12082EE06003020C19EF4EF680C4 +:100B93000012082E7402F0807D1208BB60691208EF +:100BA3002EE07072EFF45EF68015E534700C1207D8 +:100BB300FBEEF0A3EFF0E4FD8057785BE66011E510 +:100BC30032120907120806EEF0A3EFF07D0280410E +:100BD30012080DE0FEA3E0FFE53212081D7B1E7A2A +:100BE3000012131DEF602012082EE070291207FB7C +:100BF300EEF0A3EFF0E5321208A7120859FFE53231 +:100C030012088D7D02800A1207FBEEF0A3EFF0AD10 +:100C130034AF321213D20532020B4C785BE69000EC +:100C2300FEF0600475180122E4F51822E5329015F0 +:100C33000C93785B5624FF92057B1E7A00AF321229 +:100C430010B2229000B4E07015C200900100F0F5DC +:100C5300161211119000B47402F07515322290002F +:100C6300B4E064026003020D23200003020D23C2DB +:100C7300001515E5156003020D23785AF6F53212B7 +:100C830008F2E5329FEE1208474003020D1FE4FF0E +:100C9300EF12089F501CE5321208FD120826E532B8 +:100CA30012086E75F002EF12022BECF0A3EDF00FB9 +:100CB30080DE74012532120864E4F0E53278596667 +:100CC300605A12084EFFE53212088D12084EFFE5F6 +:100CD3003212080FEEF0A3EFF0E5321208D6502DD2 +:100CE300E53225E025E024E6F582E43414F583E4D7 +:100CF30093FE740193FFE53225E024EBF582E4349F +:100D0300001208967D02AF321213D2800A741625A0 +:100D1300321208327432F00532020C82784C7601BA +:100D230022908109E054E06004E044E0F0E5FB3008 +:100D3300E00975FB0185E22185E122E5FB30E1094C +:100D430075FB0285E42385E324E5FB30E20975FBAB +:100D53000485E62585E526E5FB30E30975FB088573 +:100D6300D92785E728E5FB30E40975FB1085DB29E6 +:100D730085DA2AE5FB30E50975FB2085DD2B85DC6B +:100D83002CE4FFEF1208EA502DEF25E02421F8E6CA +:100D9300FC08E6FDE5162F1208FDF583ECF0A3ED44 +:100DA300F0EFFDE5162DFDE433FC7859E66D700197 +:100DB300EC60030F80CDE5162406FFE433D312085D +:100DC300804007D200E4F516800674062516F51652 +:100DD300121111900100E0600214F0900127E0FF6E +:100DE300900126E0FE6F6006A3EEF075A1A522E454 +:100DF300F5321208F2E5329FEE1208474003020E65 +:100E0300AF120860E004F012086012089E40051259 +:100E13000860E4F0C2ADE532120850FF12086CC05E +:100E230083C082120860E0D082D08375F002120280 +:100E33002BEEF0A3EFF0D2ADE4F533F534F535F551 +:100E43003674FFF537F538E4FFEF12089F5035127B +:100E5300086C75F002EF12022BE0FCA3E0FD2534D1 +:100E6300F534EC3533F533D3ED9536EC9535400455 +:100E73008C358D36C3ED9538EC953750048C378D12 +:100E8300380F80C5C3E5349536FFE5339535FEC38A +:100E9300EF9538FFEE9537FE7C007D0312005AE58F +:100EA300321208A71208960532020DF522785976F8 +:100EB3000CE4FFFEEEFD7C00C3940C748094805020 +:100EC3002AC3ED1208D7EE501125E025E024E4F5FE +:100ED30082E43414F583740180039014FC93FDAC15 +:100EE300070F744D2CF8A6050E80C9908030E0449E +:100EF30040F075D580E4F5D6D2AD1212C01208C900 +:100F0300D2ADC200E49000FEF0785BF6F51812094A +:100F130011D202C201C203E4900123F09001221214 +:100F230008B1E4900124F0A3F0784CF69000B4F0FB +:100F3300900127F0900126F022787FE4F6D8FD7522 +:100F4300815D020F83020A43E493A3F8E493A34071 +:100F530003F68001F208DFF48029E493A3F8540731 +:100F6300240CC8C333C4540F4420C8834004F4562C +:100F7300800146F6DFE4800B010204081020408064 +:100F830090134BE47E019360BCA3FF543F30E5090B +:100F9300541FFEE493A360010ECF54C025E060A864 +:100FA30040B8E493A3FAE493A3F8E493A3C8C582F7 +:100FB300C8CAC583CAF0A3C8C582C8CAC583CADF65 +:100FC300E9DEE780BEC0E0C0F0C083C082C0D07558 +:100FD300D000C000C001C002C003C004C005C006E9 +:100FE300C007E5D530E03F43D5013001089001004B +:100FF300E004F0803C121219E51D451C6008E51D54 +:10100300151D7002151C051EC3E51E948074809483 +:10101300804006751E001213BDC3E50894FA748060 +:10102300948050020508200108AFFBEF6003120D06 +:1010330024D007D006D005D004D003D002D001D0ED +:1010430000D0D0D082D083D0F0D0E032784CE614F8 +:101053006006047059020C46300042C2009001271A +:10106300E004900126F0120DF2D204E51864026048 +:1010730003120B49E518640160031206703004087B +:10108300300205E58730E2031209119000FBE0709E +:101093000C3002097F01FE1200031204AC90010020 +:1010A30012089E4009E4F5F875FB3F120EB0228A40 +:1010B300358B36A907E9120981E0FEA3E0C39DFF42 +:1010C300EE9CAB07FAE99000EB1209A830050B7C04 +:1010D300007D091200480D1200AF1209C540037FBD +:1010E3000022D3EB9536E5351209C940037F01226F +:1010F300C3EA6480948040037F0222C3E49536FFF1 +:10110300E49535FE1209C57F0440027F0322E4FE05 +:10111300EEC394065042EEFDE5162DFDE433FC7854 +:1011230059E6FBC3ED9B7480F86C98401AAF067DBB +:101133000E121253EE04FCECC39406501BAF04E4EE +:10114300FD1212530C80F0AF06E5162E244DF8E67F +:1011530004FD1212530E80B843F88022A90774FFCE +:10116300F535F536AF19E4FEE92519FDE433FCEF57 +:10117300C39DEC6480F8748098502175F002EF12DF +:101183000984E0FCA3E0FDC39536EC953550099046 +:1011930000B5EEF08C358D360F0E80CC228F337573 +:1011A3003408D3E534940074809480402ED2B2E5A1 +:1011B3003330E70D7F127E001213A3C2B27F048087 +:1011C3000B7F057E001213A3C2B27F117E001213A0 +:1011D300A3E53325E0F533153480C72290FC017471 +:1011E30080F0E490FC06F090FC05F090FC01748123 +:1011F300F0A3E0FFE48F35F534F533F532AE34ADCB +:1012030033AC3212137B121377121377F532E49057 +:10121300FC01F0AC3222900000E004F0E0C394043F +:10122300748094804029E4F0FF7859E6FEEFC39E72 +:10123300501574162F120832E0600974162F120825 +:1012430032E014F00F80E29000FFE0600214F0221D +:10125300EF14601614601914601C14601F146022CC +:1012630024057023ED4440F5FC22ED4440F5FD22B6 +:10127300ED4440F5FE22ED4440F5FF22ED4440F5F8 +:10128300F122ED4440F5F2228F32D3E5329400741B +:101293008094804027D2B27F057E001213A3C2B28E +:1012A3007FB97E001213A3D2B2AF131211A0AF14F1 +:1012B3001211A0AF4A1211A0153280CE2290801DC8 +:1012C3007404F0E4FF7859E6FEEFC39E501D744D9D +:1012D3002FF8E675F003A42419F582E43415F58399 +:1012E30012023774041200360F80DA22E4F535AFA8 +:1012F30035C3EF1208EB501EE5162F12087C500B76 +:10130300E5162535244DF8E6048001E4FDAF3512DA +:101313001253053580D943F88022C3EF9DFFEE9C1D +:10132300FED3EF9BEA6480F8EE6480985017C3E421 +:101333009BFDE49AFCC3EF9DEC6480F8EE64809817 +:1013430040037F01227F0022014900014A00014B33 +:1013530000011E00010900020C0000030F00000041 +:10136300010A00010E00010B000112004100000000 +:1013730001150000F532FCE4FB7A01F9F81200FBD9 +:101383008F358E348D338C3290FC02E0FFE5354F80 +:10139300FFE534FEE533FDE5328F358E348D3322A0 +:1013A300EF1FAA0670011E4A600FE4FDEDC39447C8 +:1013B3007480948050EA0D80F322900100E004F0E1 +:1013C300785AE66001169000FBE0600214F022ED0B +:1013D30090151493FE74162FF582E43401F583EE11 +:1013E300F022101112131415161718191A1B1C1DAD +:1013F3001E1F2021222324252627282829292A2B9A +:101403002C2C2D2E2F2F30313232333435353637C5 +:101413003738393A3A3B3C3D3E3E3F4040414243F8 +:1014230043444546464748494A4A4B4C4C4D4E4E29 +:101433004F505152535455565758595A5B5C5D5E41 +:101443005F606162636465666768696A6B6C6D6E31 +:101453006F707172737475767778797A7B7C7D7E21 +:101463007F808182838485868788898A8B8C8D8E11 +:101473008F909192939495969798999A9B9C9D9E01 +:101483009FA0A1A2A3A4A5A6A7A8A9AAABACADAEF1 +:10149300AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEE1 +:1014A300BFC0C1C2C3C4C5C6C7C8C9CACBCCCDCED1 +:1014B300CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEC1 +:1014C300DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEB1 +:1014D300EFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEA1 +:1014E300FF000000120001000F00020028000300AB +:1014F30064000400C8000500BE00060032000700B7 +:10150300280B0A090809130C1001020408102040D3 +:10151300800264501E1E018019018018018007019A +:10152300800601800501800401800301800201809F +:0D1533000101800001801C01801B01801A55 +:00000001FF diff --git a/Document/烧录说明-蓝牙仓库链接.docx b/Document/烧录说明-蓝牙仓库链接.docx new file mode 100644 index 0000000000000000000000000000000000000000..e0b78d54a7c99c12d77854a037c05a8f86d7c304 GIT binary patch literal 14880 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 Y_;c^Jf!@B84)z$J>~}xMAV2Z{0Ix>~*Z=?k literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_551s3f_0014b591.SBR b/hex/8ey_touch_551s3f_0014b591.SBR new file mode 100644 index 0000000000000000000000000000000000000000..87ba9791da4ca9dd41e04b4dbed46a23bea3534c GIT binary patch literal 175515 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�^eqWaqt2K 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 + +
+

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: 10/21/2025 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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(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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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\8ey_touch_551s3f_0014b591"... +".\hex\8ey_touch_551s3f_0014b591" - 0 Error(s), 72 Warning(s). +Build Time Elapsed: 00:00:01 +
+ + diff --git a/hex/8ey_touch_551s3f_0014b591.lnp b/hex/8ey_touch_551s3f_0014b591.lnp new file mode 100644 index 0000000..162b994 --- /dev/null +++ b/hex/8ey_touch_551s3f_0014b591.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\8ey_touch_551s3f_0014b591" + +PRINT(".\lst\8ey_touch_551s3f_0014b591.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/8ey_touch_f551s3_0014b5c3 b/hex/8ey_touch_f551s3_0014b5c3 new file mode 100644 index 0000000000000000000000000000000000000000..deaa527716e9d4b51c59899f42c62fcf32bd052e GIT binary patch literal 237906 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
Sp7jtaP)D%u->p68N#gRSx53uPY4G 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%0Aru@8Oy2T zJpBcUjWqC_3ZQ3vA3s&H_791~1D+=TzYrgT#)5fAd}yO#;`}A>0TL^X_j=%ivv?-X zOMwrNOq@3ZAH3RO;yfZg$fAuyy~Wg$_GH3T{-*%z6KrVS9u=e7#Q3%N#1p=l zeiQomLfI}p5CP0l06ix@@r2)&_KS}xBi69@eV;sDIt*UXt(iuii`U=~bRa}PfdL^F z3nQ>dsT5Gm!%S(BBIghE$>Z^1AmoGyl?WOL5m0obnD+aXT+HLJH#m^6e1zTcj|~P@Bk)b`5^@^*mEhx zWGRW)7V-Or0Jd3N8)B2?VIlT-fPBN%r%iSW!q5o-C;OEnZ#ryJ0Iv^YGwHwiNkP8l zu%!Xi6Z-JPIiOcUpGxcV`_P9^c>(%s=mR>e{eKL7Xr+UsYlX9>ILrR!Fai=H%AZ4@ zYKu}AqOdmfh7rICQC--r_cv!&}XOblUrMdaVb_W0*bej z%h&wSVSM+;4m&{v_EoXE5M<@x(P2{>$p(f#B4Aq+!6^bJ8yIj$xkf-dmK?68yRk7IJ{cdL?Vj z))5@>X_q$#BRr!ARC_mC;8e5d#I6vO!lpoVzyt{nA{PuE~ zTLAcsid5|*enI(>5hC8E{KyFX?)3dY%<2T2RU~qONU_JIRNKtZaEFS*^cdxODX;nj zdT8%SA)BnU!@(1whfU`{#iJ!|^{scs1FCt$6p&o+lgwc! z>is~)sYaZqH>2X3kF&E_dQ>d^!C1NgT@gm}SUNA3&W)vWVrc}Se>x_XK022E(Be&p z`$*o)c=e~CZrPG@T$ynB=2K(VpT4(x-{1MbsH?rx26j~)+&gyXz@DmuT^~B5e@&Nn zZvWbyW$$g>`Tp*)6Lshh!q8ifxcc_}1G~GwFwnEvJGggse%ZjT1KnNe&m91~KgWA; zRbS4n-iLB>P8sNa^9uuSeE!zhn7*xh`*siDN6#&NIbLrsCLBLNw9=eYb{^cibD(UX zyKA(iSL!wHT|KM}n0q?X``+kC-&wYMRbSpVBKP)@P8k_s`enUd_hAQny~75&d%Z7| z-Cz5_htmoZ*CNdzz zydT|yCD3*&stylZG;TTy3khk8jx$6xJ4|mXM#u;W@qWDVc>XTHAImM^d+@kL}9q>ls*m!7B&%c7Hx`Y}eE?_Pw&IFL&FRoBP-Fj60%# zZE4PguDnuj{K)hlHj$yzfqM4lBA>`S5Gh-JTfG5CTcRgeXN+||?0FwUq>o@m4(BB6 zoa}iQ0s5%t&4zP|=aEhw$)5r8AKP>^=-rB6X0Ghalh56VbizF5o6Di#fsWH;I%nR( zF=|H!81rGGXSK&Yrq=T`3 z7o0OOHGy-Mbw1{KZvi^n^WKJYj&;t(bRWTMF+YPoo`WoAna9c z8U@DF_+{20BI^$&VU6MXgjc=sXvPC(SYz@8xODmES-v0{x#!@X?#;szllL6xJ@T{z zJyrWrZQk$ReNR_<-{L!KKJ?(QYf4H>f3YWT|1L&5`oX-O1AvRteGd-nJ@WK1Q}?}+ zM~{;9Lv{PoFO%D;Na@(1GL1kc%AUIIYLjHWWj<~l^rYkf1J-spP1ZRNIwYWG>!AOB z84yVBf`j=8ooNsvoCId1aL%_*n|08`qhiOBs7r9Bdmht2jcftgJ7&`{;DZB;S>tin zcb0Dif;29y#F)KPcv#uxdj(uggOLloPyry@Jg=~o2NrRH5@@olbm(QyE8+(>f54YG zSC($7{?z!d6?BAU)&Wm%(?+x=(zJB*&GP^NY$4`(!-KP$Ki@phr$)rrOA9Bnr|bUQ zz@E>3qu{;QZ}r|REnHNdf5_F|HN(;86_voeH?d>!%2DGwQy!z2U5Ec&^+rvUY`ck>3Ls(GavdXoCR3?fwRy$`^f=lc!z8n zizM&GFSEKgYfAV@2@c1GlzmSGo`I~*IjPaAK+th{8#k7Q)L@Ef z3S`0Ni6VQ%>E27BAAD}_J&@$SJs43EM|JnybD-z${RrCS`x#kZ=N({n(BF9H1Ooju zXp~L9t<8{JWOH|^brxG^iRWF0NJ}wWfwRmy%RTQFKr5`X(mGubC_GnLXB!hkujZY- ziR;y-+vVcvPz$HWY%F7D3-HG=CaC$+|K`ns;BMS}oS%7;+I{O0H{5=(>qrdWJ>z2i zYxne(mEU%PiLl15)ULJ8I_s=QbpqO@K)cvmS{UECf9uWz-CM@*+ESeu4!vhj z-^S{j$B!&Y@91L|(ZzeG1|^NU6f0}I?E;g=2Fvs((I>(CChK4_mjtvC1rFzC>umD8 z>j2$i9hBlaKv3jwfODI5ZbzK}RKzqff_NuyIu?oCk6&h`J!6%9-bVDWlKouogL>aP zG_+5ld3zY$Ag_FHR5Xsd=lC;0$HrCtTdFsXzj?w5VM%-4^y4tWv7-z!)7Ww@64`Q2|D^8TNgM$Z`91xU`fHx+t=TfU zchZ*Hn#0$}8`js>t)E=Keqwz6q}ug0lhcPYxE{fEHN)3WY*;_3ZhcLC{=}S|dwVC3 ztsm&Et*(RiyJf!EnQq%*zMCOEo?3=?DK&Gw|c+ojrR?N z74szS{=Bg92$W!K7E@gKu7J^2_0?=!-#4Ydu{T~?_~k^-0|oqX zg3m;0Vbuc#_YdohFCWocefakq@*W$OKAOMcg}n{S^L{fdUECY*-qMiZ&z#4Gl@BZ0 zJ+`sGaaZ+}{we9Q-p2Tp%ixm zn@9Rw-3zY1Ipx8|r3@O0LF|H{oB0NU$|l^l*VMo*wgbpeL;Jr03la=qb;87|srCufTZ*%)@!s^KjZM_G_%?!}$#s%HceRo&y5< zt#zKq#wVZ`pd!L~(K^5Pyu$%uUGpe7f3(h@kWD~;!Rb9XJFW9qk2~nGzai6bdZ6~g z>BSTX&MTg`2+pg}hTy#J@$RJ98+af9&YRXjpSTv#9_&lO*=wCXtmy&zyLH||i2-`s zI{(0W5TJhRyknhzVjT;fg{%ojq9(L$tU*=zH#$w=nNBn8zrOKEkvC!zEcSRLc6#E- zG;X9nq86LFXN<0Gp9;5j<;u<_xPW)Xgd2`xV)$bD_)j67bN3Nc+z#<+oDOso@1>1b z(cOtZFzeYBVShy#R3^g@I)e?XPhei)Z_*)ZeWC>*zY_cvHciH^P;DJ%2}V1h-y!0c zoR$EX#-ELfO|ROPc)RO z@UDnjlXK;ppGeeBi7SsojEB802;N`BA4M|Uc&F@6`SrdhHl{8#eU*2)&wQaT*@`6_ zXCRXK3`4UN@9?GHA>!xoK5G!(jh~_Y)6FHpu?1`bjlBHo+lq|GwI;FHy3I%V;pA!c zbv^IAcwp7_m*k9m=)1R_VM5k>hTRRGw-Pa+>`?MIc-|^FX!%#bLF>K>&MA)!_X<$u zc#q!E+3MR7O#2~Vu)Y;aB|UyKbSLv&gP@!dr9HQA-G{%L+;`Hkw+dhSNBU&?Bn!qA zJ<(nDcyeU@=qJ|JxaOv{ePxN9f0q6DVC?O(x2*Ig zHBFt~GBF$d!$}5>%196LHW)_*)ETn(=DuzB^*y_>Z`(=F;OFTF%SJphf|8yzy$K7@ zyRwltg>#`#K0tYR^K74c2K~f4x z!#Oze`M%eCp1~r{zW%;F>qh_Pn1c`W*_gYl4%8IfnHctb-&Bg$#XZPLJ7zM#9u1eBfV^U&1PQa|hMf5}6y;=!O)Z$822fkE5*_HEsHQXib&HAk#jo^!<7 zofG@Y&h-nr1qEH5EeTW5@B2xxpouYOGYY_b40-LAzHK``)wk``{jYE0|2OsR#{X~N z_tW?F!T+=!6UX))cpb4$eY(1D|C;a|_jo2exmU_|CO;Yrhpa^q$UyynAsB&b}4tJZk7UOZj(^p2_>+t*ZWUvtmy zyLa8yyXMZCqW(2|?m4*o?gP8-+K(FWyPjv>?|J&Yo*nPrx2EhN@6m_73x4FCw(C=U z>z;k)>HWQZzkGM~2Q4ww9@MiptKL8Kh1|Pp^4`4b{gE&B_PqOESv10vRZkxJLjFCk z-(6F%>z@6u-~H~$7kBnNi3Hv+Th(`HKni?4QT4>3FBIIf>+aX?su{8So&&q?-v8QN z`@qv5dY*p2XUBUzPrO?;JdjO$W7|vrQZ~5QM#%;!yD;mvAA??-J#ts~Vf%LTuUmNjBQ1;?()H z*}WK)zRgy%z{CzgzgqjNHRzj{mxBKC;;mb6--jRlYi?NEvl6K-oV|DJ)~)H6M*C^D zu*ZDkU#7W8rD;&UiZvknF=!W>#*XcMJD%RRciS`D`>=$1_Wswlo&Lo3zH|6<@3w*7 SzLO627@+KTKgS?H@&5p@Hv-rI literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5c3.SBR b/hex/8ey_touch_f551s3_0014b5c3.SBR new file mode 100644 index 0000000000000000000000000000000000000000..f0539dcbc9102f3645f7e22ced22a1ecb341325e GIT binary patch literal 175515 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%0DfD1?-RcAR$n>kEBE=zrag2eq*Hp>JljJ$Kfrv> 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 literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5c3.build_log.htm b/hex/8ey_touch_f551s3_0014b5c3.build_log.htm new file mode 100644 index 0000000..9959d95 --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5c3.build_log.htm @@ -0,0 +1,118 @@ + + +
+

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: 10/22/2025 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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(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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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\8ey_touch_f551s3_0014b5c3"... +".\hex\8ey_touch_f551s3_0014b5c3" - 0 Error(s), 72 Warning(s). +Build Time Elapsed: 00:00:01 +
+ + diff --git a/hex/8ey_touch_f551s3_0014b5c3.lnp b/hex/8ey_touch_f551s3_0014b5c3.lnp new file mode 100644 index 0000000..d42199c --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5c3.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\8ey_touch_f551s3_0014b5c3" + +PRINT(".\lst\8ey_touch_f551s3_0014b5c3.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/8ey_touch_f551s3_0014b5c3_v1 b/hex/8ey_touch_f551s3_0014b5c3_v1 new file mode 100644 index 0000000000000000000000000000000000000000..fc91c15df9c01c08a93a71db95dd6cca6c9f2516 GIT binary patch literal 237909 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 Y{JD4AKyTkk2YU=q_Pd{Bke~Q}0Lifq*Z=?k literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5c3_v1.SBR b/hex/8ey_touch_f551s3_0014b5c3_v1.SBR new file mode 100644 index 0000000000000000000000000000000000000000..8f59ee8fd0655b49b438edcd9aefbc0d47aa650b GIT binary patch literal 175515 zcmeFa34B~vbwB^ORaUv)XdoQ;&^3#hx5t Z6tmrCbakG|)ITWhUTeXkFy_q*x+ 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 + +
+

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: 10/22/2025 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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(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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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\8ey_touch_f551s3_0014b5c3_v1"... +".\hex\8ey_touch_f551s3_0014b5c3_v1" - 0 Error(s), 72 Warning(s). +Build Time Elapsed: 00:00:06 +
+ + diff --git a/hex/8ey_touch_f551s3_0014b5c3_v1.lnp b/hex/8ey_touch_f551s3_0014b5c3_v1.lnp new file mode 100644 index 0000000..7b7efcc --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5c3_v1.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\8ey_touch_f551s3_0014b5c3_v1" + +PRINT(".\lst\8ey_touch_f551s3_0014b5c3_v1.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/8ey_touch_f551s3_0014b5d7 _v1 b/hex/8ey_touch_f551s3_0014b5d7 _v1 new file mode 100644 index 0000000000000000000000000000000000000000..4cdf91af4394d2ddc1dc72a60ea2c4e3156b5286 GIT binary patch literal 237910 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
KwzjPK*8O4j}%k$Aw<oFUV%d@78@ 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 Xf9~Bj(A#&?!5#yY{qE-&^NcjIWXqDH#ap&X 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 literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5d7 _v1.build_log.htm b/hex/8ey_touch_f551s3_0014b5d7 _v1.build_log.htm new file mode 100644 index 0000000..e103117 --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5d7 _v1.build_log.htm @@ -0,0 +1,118 @@ + + +

+

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: 10/23/2025 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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(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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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\8ey_touch_f551s3_0014b5d7 _v1"... +".\hex\8ey_touch_f551s3_0014b5d7 _v1" - 0 Error(s), 72 Warning(s). +Build Time Elapsed: 00:00:01 +
+ + diff --git a/hex/8ey_touch_f551s3_0014b5d7 _v1.lnp b/hex/8ey_touch_f551s3_0014b5d7 _v1.lnp new file mode 100644 index 0000000..94323d5 --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5d7 _v1.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\8ey_touch_f551s3_0014b5d7 _v1" + +PRINT(".\lst\8ey_touch_f551s3_0014b5d7 _v1.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/8ey_touch_f551s3_0014b5d7 _v2 b/hex/8ey_touch_f551s3_0014b5d7 _v2 new file mode 100644 index 0000000000000000000000000000000000000000..d29b76acb0b40ed5b694800c3210c0e82e79d5f2 GIT binary patch literal 237910 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 XpL@3r^!A-}u*U#pzxz1``HBArSPcW% literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5d7 _v2.SBR b/hex/8ey_touch_f551s3_0014b5d7 _v2.SBR new file mode 100644 index 0000000000000000000000000000000000000000..ede3df151312d7798bc1878cb3ec23b6e883571d GIT binary patch literal 175515 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 literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5d7 _v2.build_log.htm b/hex/8ey_touch_f551s3_0014b5d7 _v2.build_log.htm new file mode 100644 index 0000000..277c87f --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5d7 _v2.build_log.htm @@ -0,0 +1,118 @@ + + +
+

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: 10/23/2025 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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(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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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\8ey_touch_f551s3_0014b5d7 _v2"... +".\hex\8ey_touch_f551s3_0014b5d7 _v2" - 0 Error(s), 72 Warning(s). +Build Time Elapsed: 00:00:01 +
+ + diff --git a/hex/8ey_touch_f551s3_0014b5d7 _v2.lnp b/hex/8ey_touch_f551s3_0014b5d7 _v2.lnp new file mode 100644 index 0000000..05808f3 --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5d7 _v2.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\8ey_touch_f551s3_0014b5d7 _v2" + +PRINT(".\lst\8ey_touch_f551s3_0014b5d7 _v2.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/8ey_touch_f551s3_0014b5eb _v2 b/hex/8ey_touch_f551s3_0014b5eb _v2 new file mode 100644 index 0000000000000000000000000000000000000000..fc0eb1c646956b91535fe2f8050c10a30c6a9da3 GIT binary patch literal 228039 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 literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5eb _v2.SBR b/hex/8ey_touch_f551s3_0014b5eb _v2.SBR new file mode 100644 index 0000000000000000000000000000000000000000..92c4380385a4208d5c0a5c780e170e99a37ddfca GIT binary patch literal 168805 zcmeFa34B~vbwB90*Gw55OgE2S+zAYltjLx4iU(f|qk&iB4|?mPEw zL^g3k(F0kzdhguj+&e3EsXD7^Z+U8_WBiWtDb^DmYo_Y0dTQmrUsrFPI5jgqy*N>w-|l=ezjLl*^5ODX)?**M>iT-?B;V_U>iuqd z|7hpg1n#}xwQq|0v(w($+cEjk@;TN=9ysZSdh3+jRAsI_cWAq=XR$oD&@nk)zR-I8 z*Phr`Z=DnPV*b$lLUpe_K0Q0Wr(^Pj^4Zos=R8SYp3GlnxyuWC$2%tfp?sS4nzo(v z!3nw%r;3ir%Lw>0AAMW`>u(NBP(S{;e2Mjg9-wG#sc2IJ+r7%?U34wZl^3RFXF4YP z%B!vWKK5xs%c&tB)8IQMKSQ6Kk-c_2{FCy&sgB9D<@2oft6I(ssb#)8w|{E9+A;ZL z`2=gjW4o*MR$^|aJzt%f=$Jf{YCrYO!0V|2TufA_%ZEB9AF8afXxUgTgURB6T}o~~ ze|)9YU^QB+ta|lg|HMh^cb&D;dOv-L=a=;Sd*yuf_j5|cvB_$6x;Q;GQJu3(vy0=C zDJ+}0y``zW)wzpRef8D~x4t_?eQ$NDQ}unLa-ynl6%8`gZ)fwFA-kBq=9HN3yh(t6 zyV9<}n{w$sdno^x1XiQhFQgv~?V2YAEH0E6s&?rTg4{%J z8S;vW^Qq^wzX-CQe&Yco@GZBc*{t>iQU2UWWF&(}~)bXfZEInQR#ezC&^le!8FA#NHUvcK{xI*W8yEM?li|wQs z_;vw*z(aJ;*JAp8uYmc_%IRt{Pb>}Cebvh1E_;N?b765IHCdkfd}JkU)`jk>1Kvk? zanUNzRRci0-Rg-5IS+v92;Xv5S1RYIo}5NKDVCC@v|Xf)mP^|M>1}plI9)8hArcSm z*8QU9FIG-bHJy+gPABaQ)sh~zOG6{6{v9zj5T4~?aVhw_+DbI&pzXtQ>U8tbe!YmZT0X;^dd2k9tBl*&2BH`Pt6Wy(YK2Q1=ZZ60sF!gDr zZQ(qC#EdP7@?&1_FMlYq^>*v+0_JO#vlT{99qUi0i8aV&`_jXm;C0j>>{0K;bWr~a zePXV%ULY!}C*BN)10Hm4Bcp}zvAH~7%}vcz`-s2)33UuBhdH@Jg7dn~0ax%pXZS)- zCzd%+<>>@pqwm5FqE-Qah|hgu7RFKyZmVI-{7M0}MeL2tn__^@6hL|gG55(r*6x27 zLAq0{e!o_)SI`OP0g}81w9Xaf`zkL`ZMCbzqAy!aZqB72qsnXa zQE+9o8i)KW4{tD?8p@wRP*K?5A(}joshVx)hYDTY8*Tg6z-aieNm#1|sLlJjG?@Ow zNSGF5WxbqvA|VDTDJU~t-gTeuvvbBu>E|7y;jelPXFeFyFa!WRSkkvJ%s@|P9H(ry z<4PE`SBry@4YeD`_B7MY{pIP!YLP@soS+T#Ki=ebOnj0g2#~GgtY+0gr;8Z$Iid_Y ziW3$)6GK4x0blujzVZirnYWW zgMizZtV5-QeeQ6W=&WV!n@H25!SvTzJ6)jLFDR&Gbdy`2r4O;JYHs<@={L%6aLXzB z{Ug>D6neVtQYRl+I|G>GUEXM2;(}w6wlOC>k{l-JbRIei6Io6_A#|K707+A3ndG_2 zT4TJgvt~s39u_Sma?#yu&{eZV?rNLW;J!dt5AxQ-c{dKV(i)9Z=Gq;?41L5OyKUna zFwQtb8OI%$ucC5Ni=dr7jtJV9WJG>129Z*B-_Da==vkM#mw=+k^Y!QfJs8r3%x>g| zvcL+2Xe<;`Y{TP(|z5}k{KhN;AM>E6eYwW8>1|jx87=Y)+)@E%L@Hnxy8ReDq z7w19$fXLHCd7GX@Pt7%0KA4?2_*p&TAaMs(!-E>XAkdU~qXu&JgcJkLa$pqDF1?+J zt1A8|FgRW>?bg`>>IQBK$8C_lGbL%&0-iHsle_&1?+@nywQa12@YR|yP_>gOSvHr- zZ0UDSiExSMe9>u}+so!lirB0Qv^SzU3^beUP@SPa14jL-n!80qc>gL<{;bAvj%eM= zn3<8H&t_hLift+u(#Zj0oYMKn1HJZGruU0hu>e14lvi5Vk$5m2A2G0)`(jMD&U2s? z*bbih!NO2(EYKHky+|=^rgEy9*%zc|7OHc_h1q?@@$!sP+-7yV!PU)#1l|1(A9+NK zA<02HuTvx&GA^&U71n=KYV-DoRrBlbKulp3)6kB=Nevw}l)X#ZAT zJ%wScpLD(@0ua<&stB&*!=9)Y#6hXtjQlz@ii(a{>&#fm(=B{T5c7nP(D-p@Z4H zJxoHtw<7RYPwTc(oJ|LKBs+=G1y?w(Mk2YwDxust?j?~zm!J*hE}{H;zVgR><(ik-X zb2~Sb-{Nvw;IQmmb}(Cli0R^3{r32_HtQEOemuazt*k#Z%`dsxnO#cw$W85?T2T9V zLJuvtk4YMfAh9m&X(A{ceSlkX8Zx`G2u;^pG?Blu@ z#WW{1g_8`G?WdCyBa33C&J}Hyd1N$Y8R)yCfaLDm$t0f$kXnMIJ}3P%mf*)@dJC}( z4;J6&xVI(RaJ{gYg)iB5CB!h)ROLMN-PwfF%_LLVrQz(LJ=ULg8PaBr zs4g%SSZNrNzGW`O+;j{+q{iY(X0c&8*i1HnfoMZUyJb$bXLB4W^@AcuO~6Lc@f_WtJ8)@48kSP&!4hVPUvY;<$c4nw=+}I#Qh|wV$5G-$PUNx#1(&8AH?atky7q& zT`<;#NQQoc02}1ZI@XuXR0D(X5GHl23wo{Cn-_Q5*_oZQ|45*ls9qdP*mj$=#sZW$($)?%NaDX2MX}X{m0qTAslAf-PVL{h+m*-PRfj*HY7SkVjYO>`J|z zfTDK7HB<>6bg_pqNv4jTd_NQ>QDB!jPzr2>b&9lsvNKZ)M4+qtplfh|gInm;0{HRD zrD`A-8fUSipmmi!hT>z9>J6uEZPwGG-kLx_2I``ykw}Bs0s|cwEl>ZLfbbH>5L!I! zGS7{qT9fnxWhpOw!{cMS?ZVig=3_z5YgAEiS2h})&>mwNa&cl?2UUj$vp33eP=PcE zrGfRVJ%}>_NnUD!3HETt2B)$@Aua5LJx-&KD zjoxo?5u>2tbgM;ifRAzB!L**>h#Zx2&Bg-9J7D%1e zcU$BT+N>6LY}mivJ|fnSERosb@LdFIDs1^|t+Ot0yTl6H7rEtkQI&TY*jWFG7;IF; z$WG^dRV)l9x5ilxUm~Ec7UbVyW2pZhiyU;j^#=m@Ka8Gk_`8^%jtj8UG>z>fT|sxM zz{KwVL{`vfb%_dwnbMaAiY2I4q81ru84qUYFsmLNMRjSby?G=pxG>|)nFuc9yE&uClw_qFGa2PMFYnhqmQ9>YeF=8DhnoC$hr?j1dP1c zo$36efu4J+H91XCt;s6U^M4Xee1dr*syRC|Q9bx7s@O4P1*N**6@cG2hIBc2z8bv_ z+wN5Xb_&lrIR&OXTOhh+%GARGsGFI5rG6y~hy53U;WM|GFtopA9-e|+XWL+k%o+Cp zrR&~A>dagoJxJ#(Hw_NL);INhKe733}+y~Tjkzjum$Q5(d`Rc;I z5NM5%<6)X9QmdgF07|8Y#y17#GjGxD2Qhzw!2EnTWo1J}-z%t|aCEj=3HJpy&^(J8 z3Y`T9USjovn2NqGI&_~gp|lc$jsxC=o-P2ZOj%30biNZ3dK5dlNkH{^Py^ZYiIJUb zH{^wFdcA^A$ZWCuKM)DoW>BY_y!O)hu8U)OnG?O-$Y*G2xD#aGJVTiqf%_|Ku@^_uantJ-+ffU%A&; zmO?-3ld>Dil9xgGr9Sv8eB~>BWhwgsev|Kg(pTQ>E2n(rK3_TQD`$M=ExxkU>!Lqd z-}?byS?*I;ZsY1N}F~&|Eq1FJozGm~=vR zPj`j1E+g4KkY7_?VDejM@iKzE0CHP%yM;0|om|Fp{uZ--F2^SVKp;Lw#iP8}trC>s z^L*f!$ieP9_gDxEK3FM$(63igc?JETlCSWAv^iVq>I~Y?y~9=#^%+Kv^2G0E(E#SK z8ddDEE)3pixZsRw-m>2wP3HcX!02RB4}N=bA9X%bALP>ScHuCVcgwMKQ$|poFoT-I_Bz-shIO#gqQ0x|>pVyG zPAZI?)dw%M1_6RuzKzQD^aISGd>8#UnnQVr85k#qDZjWE-j9xP)%ofbTF1J|IL@cc z?UdWAdK7L(J~)INc{I) z9jL`arDQJl2>f@&xk$E%rVeQQcR6hRGsFMwRE5ODk-V_7WE?Sz`N)d9PAjPw$ ze1A<9)ab)7$|t!~jUUn=r{YZT@`&#e<6D0?rmK?B&v94xR1ewvNV1%-PT25UK)jA4 zKsf91Zn4wNwZ`#Aj#jpxJ?)bdyBC$69exLn=Zm9CU^@`}$zCI{_5e0-?m7|kT{RqUN9R4Iko`6+mSLc5ABj~{%0 zhwD{~h4xOPuXQS@lj}qe-b(Lf`9V?sBs*c*TMAhUQpni-Hb^|a$AjOVI||GY&I7z? zx8L%_#2lOz(LEg70J?pG^^D}VBY@B$l;ycl^ObL-GU{-UUuWGe%1=~Qt9Pe6o?lWO zP8+L~qysh1diNu$3J2#X>Nni)GJSiK??c*xdIONb$GLA^IO~|{M|BJ{v)PMDG{gHF-k^q+F_R6 z>#0U8Ej;+`t?f4JVf9yMZM=suO&I|8PwpTnEbbt4(rU2hS_79UrUv^~2YS!W$qiOn zw1q9vPi46!AV1484nr=tGLp!GzAoP%H!)JpQDjWMAeH6xEoC#=pP{A(dr4W=~8rZ<_ zaVBbcyv#Ftq1l{Sz}!de&0CySRkOe3kRU|VY1@sP3}7mz?`uURWo}zdZSG5|?eHBg zHCiQ}TJp_GR|qJ4iMK16m+^FnB_OgH7gCTy|11)+&AM9jvWJHX3>_MuuEKw~Z+4~% zYKDUV)|D`~rkh127WbK!W9HtNfnvV#U~X>|#3h-!Mmew*Vb3!M>BUoz={?Tyl^ybsOLgO)zWGjm{K zu8Jjyk@2qM)FAbipY%1W?$^y+7{CQj$MIB;^Pm|pGUti%CMLP19Ho+gAtLION(rbW zPomm$cFG1vZLS7q65$Ch1(^f7IVe5aBA}2YL$Z;YVJ(!3{e?gud8B@YT%A&o^3;8T zcR4g))kE7=HJBNPx2w702-fRCG1La;9h8Mhr4Gmqje$R}(N{b{UgnE-OKMSH#4>z3 z3C00)8s@S8hoV6&u|rhmeizsXGc|D#x+T=%EnD6ztEk(~gIV6ohMVA+eHOG?kc4rb@1DFN6z=3$z8+V{=(@&)clajh?p|%IAOO_029T#|0{4#J5{F$%-_ijFb|T z9*2T`v*hxtQfI(5D4o9|vZ^*q?y;9Jz313rNn(PPuoTtivx>D@kIViM%4|{ow%(7q zTsHl}$gZ^;L}RO%*vvfyWUdZIO@k$MU|LkoQ`F38OiNO}6-rXF>N;vjc{1~K`fX>9 zLn^ijw!@csl;rb0kcRcsTol~lX2oj)J%GBIHxW5nLg}LOzToJq(MQ3}-)NWsCmBse zk{hmzX;sR-nn6&p9t$MyIQ$4UJvJDmP)Epv@>OciK*v_odpzhrzP^|Ko3|s%@A8#D zF3P9!F+XOz{&2*>Jz8HQGYF8CE?kGX_i^3)gWEDM`m@@kxR*4`=RSyLG-ZEH$n%?qOzeW_$$!Ju_*` z^^12hO@YygYD;>&oXc&IGed07GU-OsVPGQ{r-qb==61%$7$TYx_-FD!%!;kh&gYnA zaEuFtoqBiHzsNm??j}kqgYbTqK&j1aWhR?L-XoQR3t@QSIBGL`Fvboa%0lae3z6I7 z>mtFCv(tGnfIBPEb_?bAoX(F&R@G+xSX6blr{L_OeYf$MC^#h>H|N1`Ab7oP;}oQA zqJ0tewLUhB*GU3smYGztF=g{y0c{RD z&S$!-v+kr`@Up=&y31EaE+BsYk4y}eGxd7%rjFK$CXB$J9lWfwdCKSWH1)4W?SxUl zCi*)btO}jZsZi?t-vooL5T=#+O9#Z|I_s?8r84*VQr-%bzbYRs+qF~G&Vz=vf`U?d zA~R&a-4!_>$E&6Q3&{O^l=gWE1WzN_P4pi08+%D65R{&dNg^5Ob`yD`4Gk7QLSRwy zy5zeqkL+5z;kbD<&p`oxHO&N7qsGGKpqKuR2LsCM^PS=Y^4Zc*BwV|}O|I9ijZkYy zyjP7^}h z^`%TPb+zmD!Aj2;|#qbSd? ztX?XTBGeAaWbgphj5WeLT}Ju6Qq=Tg1FyMgaV#^PxISo_>1r5 zlMAsm#q{uKHbwN;{$*sJfotc%oE_A2M5@DdzL+g#N7Ht4q%`CN^QZH7N7mG4eNNQ$ z2RwQ*s?Ps20bw?{_tAz02bGla7?~XF-S+aA<$=DvGsB(R`g2~)r5tp} zABe2B&gb|ajM;jX==(capEB@JGifB#h&JWn z!f-!l>M}DsHD9$CCMQ^5*+8G529KEeeIwnxo9_H(^AuC}Z-HjLHQ9kS>2apPoMHc( z{4mcrX^<(EEmAK7#de3 z63Kyy94U}P3xy0)ENF1+abMc3C!GpajdwBo!nO>WouIySQTZ_;`H`s~ZL=z(E}*E* zol-{O$wqmlwc7Z8rS&pjxgg5#Vvb_2Olz%1I0AtTn|0YM?a@n)2eA&7QsR3NH$|~x z!^4Qeb^EP;dtNc^Mr6*gp2z`8*TeVBgFR1nz0Q zpk`+o*I7`2$ugFyEDwwF`wRr<;#gX#9lw?g(%>`dvwe-!Q!I7QdGKCkPr_(Tg{{+5 zfN@XZd$vN9(Q{cI@|7_X`5rcMS;oj@xkP0i`Fe%XI&G=HLtE;PGuYZid1RHk(_5Ko z`8%qhMiqt~S&}Wih9(k&Y$QQxpa|!Ls3qG+U*Q2dHqm$JDjxin+xRl|SLeGyb~J^` zkIeD%>Xview!%)gJ478nt(>dcI7?_$?LuyZJc2|9*+Y>%YO@{@wY{CsO6t)RWp}|D zYhF{}99lRZ{>X*HFYpp<^hO!dGnZj$nBfgk$_)&SLMo5KkKFp#u#s-GulU{=80k#3 zqjILI`($}id70in8(B@8wZiQartlE6mj${c#PK2<)~jbXRZ^o-g{_`*>F;<@$qtWn zb;Wx6UF*Oopi9IQ^re$3tffZpgN>PY;;dt2m2#bMa=v`k5bavC9O@UM1nUO z@x5EwGijjf6aopK-gfI&r$N=?)4WZb-8MArUaer0cCj-$K7?)z5-7Nd*9def*9Tf= zL8#Ri{B7nO_%Sb4lITeiB!5q)^>)ngCF4D!hujj*?$$@Z}*&YehYH)I%XYByx9nE~4z@iqsl!k{if_k8$4j)## ziuOYfu_AxYtC`Ld3ZYnl&KRmuG#7TV-6@9lB*Utc&9Tct(^jKz!gc}}3_NJ}Qr*>c zaA1t;>g^7M0{I!w0ChFh-_;54v>Lq+Yig%}JDKS&C9#DiDypr!1hioOKW>h_>&-D^mxkbzJZ&gp&DDlpO2C__ zaz>oghDwD{ozHXirA$vtIr7zm88T{7W<}Ru>Y=|2B1IJXrT*oI8vW~G_lg2B7o&U2 z8HGuXPu@&W&iU$`Eb_LPR?#_s&}7=gbN9VePfei8)10&$!8#{0qX?gNb-&#+%NKvX z=*tZrqPo8xGwR0nkpJdcR42lzF;H6t)OpOPi;ydoe{GB^aFzip zvpfaGdqf4^-49(oIKZR2`f365xE|fc=zQ1hmZ?i}@ADfSE@G2JH3I<(4>sQ-ZxWeFxx1wBM zkf-pVix+uoV;$_rQNuDrDcxA`fyv)y{FfcY!Lxzc<~Hk_qNca<*0VY0xtJLyvxNQr z$gV)s<2=CA9U9LhDv?75^IfOM;5i}S4|~Jk_@&4;+pX6N813@nmwI0t*=V~34Fw)_ z`ZCs)lm;j=Bl94EMV&U%YN$Q$2f8kYX)9_4zrkrqHT4}%y&MuLSr~#DhkU}*$^#?3 zx;E>FqPpJ^ODx3Gnz?0v>LKU88W!vxVk$j>ujLUNvuVAH| zhjTFk33%|`Hde1X74>#5&Ob`Sj7rnepa3aI*G<#HRdJdYF5@#D?Bse1q-LrhQ+Ov+{rSWaBSZYJXjFR)gef9-gkb+&(17?)a)kH_51 z-R<7YeTlz{j*iRd|9pS-W#Yc>(Q=P_U-yfi5s-6>_csX2xyAceLCL$ld&-x&*KJ?; zE85~qxIa+7(!J}uHypzKt2Z@Ee1y_zD17#UKvJhYWnf6$gc$^T zv1n@>AM(B%9D`6h1l0L_ggF;b#oyrAWUUsU74B!$WqQnknwRO_?5QoEr5oi~W;Ab< zoAt=hulp9ZAd0USc)G}21nY$NQ4mOaPfRk8;>=6j#b8ZFG6cPP{1<}-+mreN?MMk9 zL2*A<5Nfj+nod@s8WZo^i&tHbEensdSgwMREO0 z5N?ZT>}5MsM5EpF(JHwI-D)p@J6rVy8pwxG>!Ikwm$az>Un9QvGHeg;WiSKE(lZq0Yklz2 zYJm6Keeb1^f%lS)M0tnr`?9ZG@s-DYMKjTINFn^;-52}3uM0z(#MRb_bR5U zNN*gI7P`rxb~@VNNYg^QiXb!^lfSviAgTMftG@ir!2zxn0~}{4v=x)Txk>R!0L1ds z$u|iqCV#VeQQS@D9Eg<3!7ipn7j;S~bTKByag&kWMTZpw>efhQwP`LmEU^)jSJ=D^ zelPQ-)KqtLUSaeD#AZIP{hE*c^(H0`u24yRyTt;CNle^iSa?0bKmI00;~+KeN1wa&bS3AW2;;)9Jqc+L-BPd^@koVC=otip z+652Jia9=ZeMujKP$>sUL1~8oGYex7NHT`!=>8dr1cN}5yVQ9?$eBkt)&zkh%iXD4 z>g*M+5rN`(v7)&Qle}l_J%L3B5kYnz?clIuV_QxY@TnHL$Tf?$$-UC(y^BhBQ* z4jhy{<@u9-DL7`F^LRj__AyKQtJ5#}FB3jaag+&V%ZSg2)MR8t()y((W<=tfy;X`J zC-NEjaf0I;aE7PG_Y&q~mYDj7_r=mu__&7u;-PsvHND5C{A_i zxU%sJE|wU|O1JYU+hWfcIe~&>?h#`i)@0$?OXI^HEN0rC8n^7jK<*D?Fu)uaV}LaV zC~q?`AhP!aF(7Rf;z|pdy(b7H72X|&6)`@0Pm__or^*D;%-$1h?qo4bv#f$caO4qX z@6qJu+0B3B8EU0Ox|^pO(G15l`-*!lbX>X-PdYIzl#UF9NdWEha)cWRGJ?}4%^)vk zb(C&DBw>ZuzSIIhI+C<^SS)TM0Y$I}((re!UTsDKiXf15TG!X(`7%HRp`^{_T%(5~ zgF_HZnkui8YvV}M9MsV)IcW~s12V5iefq?XN^iA;wJ#xdV^#TV>%RLD(Q~ptN@0<% zN9Y)T`nM})qu2V#11H^3Z(Zugh7*Poh}lp`nrwYWu^Qzy*4+=@IaY6-76|B=M?A-_ zj>%WWelt;?qi^0G|IPGNrDO8<%B!tSDtP47khUhKW;-TNrE0dSPlDYkSLVy(;~kTq z&@}95!b{w6d)rQKE+$hcm}Fo*z%hvjzrBE~m4->?M&49N&NdYQ;uw7pC+7io1k)=E zBV1-y9pwz$?(JgsTFSL{MW9}091~i|0i4!n4;3iN@F{|-QKQiPV+dYEaHF-J%6I^! zQxoBAR}tr_90ztHzPd)=h1GEZDxe2-T(3Fq&h;dq>&sH&0&t~z_<%s;QN*;k5!?IA z)0_~di8_eE-!V~DVQ=*m>?W;TC`<7MWl1!Vk50N)p)6giP?mbgzv82~fK+wS6dG=KEfn67gPc43y=@Kv`-+P?j47$&Ly}{cYAYzH-r5E{XDk zLLTbQKc54iT>VuhHJThozCX+=9{iTagk&^zX2bbvb>hDW2nPZ$2`^byo3&Y0^Hgj0tpN-R$se>Oj49$lyYH3Vztdkvc1zg z{f~82mum*yU$*CQOBYi3g|CBFV;75%o9A;lm@8jU5|e!kbH8wxE6!_-@fLk&mU%@f zjzXy)MmZ;zv+%S(7ExyI3^|z?()pH%8N#ZSbn{x~y=ZEur{))s8)_4cf=8cnb06R` zPI;Q{=FQrd93DV~1}6mxW>pMIAzAx_hqETh-mIyd|&#db?~JIq1R;a6gL6o}hb#frhTy65L~S zdaIR2e9<7!V}&xg|A=}TuIr3Hem~8Ne#s$@Co0UWvT?1hX3{oBBCO50AW&P0k9CBk ztBcnjnVin{qKJ;y6BVl$OGKx$U5>GI_xJ*{IK&!}qAyzZX*DEO+uLjTp~7-#rXd8u z&q~r!lqFkEKS`gn`(mwBfJ&w%_E}05J>R;EV1fQmf`*=ukpQK>nlsbito?! zy0l32+e$*F zUFQ(NxEz|vW(;6sIW&_94v6>d%!d&j9~8c6nhmy7Q{(4#2q^mv4ASKtLn)gCYy1BX43O>4ZB|~O_L-Q= zOg^X07r)VF#BZF+X8_lO>% zyv``M8(X}APu2`68+QaK6FU*DG$j0M`KVZ8cra)Cg2IgwPkblP9D8n?i6>xxgKZ5D zus*?9-*-OMzv04EBx% z94+~KBCQ(!o}esg$A9uz=hp_t`eFLk@e(;2qKy?It(z!IuMm`_dpXL|As*!yV`}KZ z?4aylp>hTOJu8_rDW#9Ujm8yz-mf$cpE15T!=~FCDJ{Yl_~6|Y37k;K;ZEr+8x)$J z%Mnl%A*rfyI3qchQRc47e};_d;195<*_?dT#`K8Lbq(aSm5+vjgM>V`d~7fC&8;eqGeDx2rzg6SmTLMqg;;v zb}*w*vzNm$=Bo>7LZ`{F^NsFDFIh=nu$)J$p3|6fx{=n-WsBO+=dBUT3I4CrF=5IR zEsk-}x+7sW9~dY7vc2#g>hC6+OPm9cJO{N?WSileS7kNFR=BzSG;)+H4XANGXerrS z>TLuRC2DS?rtx5>y;$tDXFnL7mC__glPj_kq~XIHE`|Fq3+C8{BBfA-e^1o#BrcL=!Iy8B(G2pFeEadAL)&^ZB~L(L8pg@M+zl-2kA`f>#Wz&uA*idrzXk^<;H{R z-+lPELH#p6J5g<{s=rR+-|NaRwEkCvT_vXix_GlXH@CQt5@Wm~CNajD?q#MY^0lSg z#kHjmm(OyqEj`Ki+PR=~H@$Z*DD~dUt4KduKFz&~^aKshmyTXW7xX#_Ec6Av`Wq)z z#W*GWxaXWFx7B+IKe999(~A>yhws8(%K7jQhWM6r;b>GK6eLaP$hI~9x-Ptku8T#am?6u?JpOp7abxf`;pJ%;a z)pBM?E%Vj6{Zr%Bj>#v>&*Vnb@(I?4$97kV9?$Kx=ZRVCm^_n(_`zgxz%C^>!}bYo zXcciqps@S(ncHT)U#&i8hkmYdzIuO7sW>)StxgxGrzWa%c4>BTd@==0%D8;tfL;1fXuo}I7A^l(! zo-aVFHBDta*hMd3x?Cz27s?A&yL1UbZlbpgd4;}|xz*|i7(IZ58_m2^ROJuqv;AoD zfw+X=*PGJA%}p`T-H8MZKnEWD_SAB%)*IDdoxy#VnaDU;rkMUMX$tQj8cFrT2_>oqY3}OwR`I&8Mk1lrdb4Qt(aMFY|7(gP zg~AY=P=-dS-9j>-%-P8d9kF&{Xe>QEln;6Uah{%pwOiDP92a|xa+`5a(`v7my;Xnwy%b_7PM06RHpDKW0G=2^Qow2VB8F&B*voxLlhP zE7Mq$g{lGWY)q-$EZ0hQ1dzg^?hcC$i%XwoHp)MGa*x? zlcqeKF4%)Zed+H8dhOXHq)s06>lD!+a7$8sf~=|17=^NYpVFhwrL*bN1Ff=-uGL7Y zxV^GQExU9b)83_O{>m2CmjN=u}ez@E*F{Q=9Ku5eK0m6+3+h>Lue9FwW zSS^ywgQKs3{>Ncix9csm%E%_Mz$ysMlnkeH>0~htyHt&;593ANgLdgb(_iw&*cHc1 zzS99wFkj<+yVS%>u1dQ^;Q*r`65$K0)o`gCW)V&jc86Oc(w@&`hX?Iab};?T$odl2 zQ=;>Cun1Sc%?0`b=ADuFYBa1X+gKEJbmi$hL`QQR(dnN|;uB2&B=wn(Fq0_9jqYB9 zu9_|Ks!CW5?h8!qVa@V)9_#c^PKS=m4`qv#pRu2qxq+rkmjV6dGjoDGConljJRU|}dX7U&D_qgErW%)ZL0YGz)LhVrnuFuSifUY=2Uqikfm zZPpt^yWitUTY9=JE!rH@{8z5+nbDW=qksZ^HV8SS7cygl=jpbF(wM6hD-k+B>zN*4>1f zkFd?#W|@Mc%Z*UR_S8L*K<4$x7jlq-x}G@Kzb^((DjRi9GT^cM(il9-3>{wDJA&$Y zaSW6^J*Rl0OJf7+=%CnE!=>vG??Nz3P^8|iMi$0pwONP7#5Bmoxb8(UeLPV>?Pe&t z$S$)5Ba5P(GK58>K-U`2Rr6ov1N}E4?Vo23=vU?d zIFLn|1K{_-4+KmW-|;sr4lctSa4%D}=Wjwm*L{wbd3I)Mfyiie-(&6+v#iSbda;>b z?G7C)?1#LWBhv~xykJ;bKk4~__p3#{PgO2e+u%auBz6vAR~j}X#YO6GIBiQ6dB8q+jjZ)#@Y52!IyW6I)IogtxPRVS$iXjV}R%A4uG zF=8(F(SL(#4|#JNY3YOL#1F^yd> z8e7967=aB}ccv!YF*dtn45P>|7w{JI@>;djH#D+Yp6hWsCQ~|=1L#Ix)*3YwT*R%` z4Wa|9nO!6Qk9DxR!sFJw%#P2+IvqERtJ^jhv(tkUFseOUw092ErzK~Al*3zx9Gg+i z?GVkK&59`SDC+1|jLKC699AbY{6M73HLU}sg%Qq`X#i6wc|!}>^?n!f0W z7Y_6wV7ztQ~qPsB7|5zU{;J79_FF1=&NVRDGE{a6g5{y;SOe~q4Qhz{j#wZ;Y5 z8JY&u#p$K)RDtjO_&mUBA)Xkfq|$1l+gMUSlVJ-q3urtHi__28?hB9pp1n;zW7?~1-W zZcOv#e;YYVtyWcloyN0N=$G z6uvN;jKq|?DrczgPEtMtQt=IcsB;yP!u_Glz2K^ogsDYI!e^@r!W9apnUxg^o!uF* zy;0KX2?ECp;WUS}!+o!a#6iMJ2%59VHeQ8;f&(v6aY0N)Ul$#EhcOGsGUe((Hhp4b zCtD5M-F14A;oQ$qq{;^(ArppNcncHRQZAkEx|pD%W=Z;#T+YXz%3UzBu^MRYlMVPD zEMcoaCj8u`It^uM+(KEd29#gmgO@4=yq9Vel%?tiWvM_yS!(l9mX{r(EIq(bHpPkM z6t6O83GgEw<5BMM%@?`hs>flg%{T{qznr?j#Ls{aUvl38UxU8)1z-6ZUwPP9F8azP zU)j{L{dQkn|L08SlzMxh|Hc^lm=SoqikTgk#}WR&kT9a$k>4w-_#zW#qz&zi_6}$= z2@n9&Zf^`e zSfPg&H)$E1EDm&u6B&faA1exzAj&Zg@kWs#-wJ=H_@zPalBe09R!Nq%DRg2r0IuENjVu7x_d*4T^N(Ter6 zPiJys_oA|`!q$v>Se<>BuywzNYQ}^4d4jt_wq~TJ&`MgQ_N&oHVTAb{K+}T?bYfqc z;3eefb@!MGA<1M8M>f`K?RDBxjh!H9z{Z0FWRf3`a7b2uo`DLTJ()KXP?Q`YPYw-4 z!@B%HOiNNonB$hpb5-S98%33+>pzu>R7LTw^dfF?@o6d zMx?Ti)>`@l*x%Xor%?a=si z6<&RPvolqYICx`1>m261VOn9dK6G8?UIi4UL^Url(uW;fZOR1X9Cj-dw(ihzDJ!g3 zI73xqg;jNk%D^bb{%#&Sbw8Q9M)~>_VcalL?#UH$dZ9dLT%fXxSRp!^9WG)9>H-z< zIh8P!JN-O&bZk#6rXPxbj3HuwZYOwN!8(=OSw#L3)HJo z1SKW#xtWKo_DE<(W@pI$49vn^kR;=_NJO<7T2h&WcL`aRJqkdF?{+mbpu}N3YJ%}N zD2CR=C%)2?t0=$R&={D$8hsVq`mM$lLYHzxz|_P+XbYk^v6Z4lec3uK#>~{*{6dn} z0}Sf>RhPpJ>bHvuo?`y*8008suj@fF9klBK^6q1PafM-v#_qe6`pdfy<;$qNf_|`p zKESLfT{W*lr&9I+Rc-D?UQcbbK%EDmhj|N?plQM8gYC+M^mg&(0utJRYeo4#_&lar zAai-NS5lkxr!E+NVJxg*L>W|%%kWD2BJUJ7R38`U9}|aG>n7Ad4@R~^GqH#(rGR&e za>|ldqKcn|CqX)YMPyY8OYYVym{@brl%yKLN_Y|zK1)Qxdfe%rOH$h`=>YJ3=7K0d zC7XU>WY=1a+}zjdrQ6w?xrczFsLzR_=^Gg+PmbuLF)c}wIm`V!)=8~he>ce4WG$Rq zK-_A$O?DM6N$0@=nBy~Q%yxZHiq!?jRvCV@-Y;eGO}LONZC zez}Mo7YO)0)~FL3hFRlt09GTnV3xm&OoDd5Ke}wwi1!P_~Tx z7J@VR8a}66tvS&qq!Xz{LV3S<|9!&`Bp>txxhT*OGbjn`8=|7OGowrl6CG@oX(jvJ zPtZ}a-#r5QG0nJ<1U7yndCWre3_lm!tk(<3|I(^s#GnpzX`3EW-_+>C;PKOF_&{ij zPKCUTTL}odRG3tN-W!FNv1AwFWxR>rZ9zznk}i;U_$&cbW)>`y%^|~p%7%f^lOyE_??2da8`{2TKZpQm^S8_EGZYm_2gq1txo&( z2M#yM{%E6a zZG>9;NhDOGab3)ipdd?1!Ozjew2O{$Hhnjum?mb)5WQEJnm~!b<39+gsHkjKrZ#9G#uSbjtWl32+%BscU z(8w_1d9<%@F;F!tKFqZ4{;FHJD$kPpX{svxEHioT7R|DD9^?B9T>CRoRn7vNvT;qJ ziCbnH%-a+1;`QNBgUr;-uIgNAa^hdyQHRk0X>@s#sXA1jlzL@rWV;FLb}@%f^BFud zJ2hXm7bYiISA|0mJ!h|ypnr-R>f+9JHcyci{}yQ0TS_v1&p+S(rSviG7HwPjy`(0$ zDMW<1cC}gW5(D}QrzS9%I7EEsz}bux$SHxMKPW6Gxa@gq64sNV##b^2z#3gb@l%0u zE~;!t$jvPkp%_<1)P-`JyBQG)NgMeAP{XX>+m)yIiyr>$bM1+sPy zmrjmERI6p0(H+zuM|%Za1d&YT9`;dpsGbqd*^5|1hs01}Rk@PNSccA;tWz<*E8Oxf zUSpYKa+!$hESv3XQvI*fMnunhX_d0sVhHH3m%5t>{*hkq0XDsn*z|!S?4;o5&?r^G5b^N??u9}{+gl@|&@+V$`|pmN|V=@PAYfm z@W#w^*6Ypa$YXa=iKfwHt*ehjZ>w=3{8pC!$M^12o)LKhG|g2^+}n-QZ7&naYVo-P&z$Qa90&iguFv{juYby+1o z#^H~e%;oH%Oa_v6jp`4somOiG4by|Vk7qH0vJ=@QeYIO961>saI$PO8eW2?U0&xeS zetTIeTdiB2233o{!17%w{f?KWIL`zTenj-Q*PPYrtenGK>=E6AkI|b~|7*^4A$2M>!!Pe-T zu=O}3U@y~MT^ARmDH;8z7@5@7RDV||d@iDzl4h1u*~w<0tMi*NXt`T-?Y$? z<_YIY6X1b37c%^p&1vwYi3QPK9jTIU^p)pD`M=GvcR~GKqxWHGmL{cBm{65+OS;R5 z6H#|{!AxR~fGKIK^(xWBA8U-Qe?bh0xqe()PcbaxlQ$ETX+2;;+q?Dr#y>_ zl%5&`wN*e}z-k2HSFe(jj8O&Q*io@i8E#;P0-s z(cvQ2byPFWqL~96qA%GpJ5Ne2B-eP7YN^rJVY@>*I$z>V-#S=^qFOdXQC#+Z;PN=% zEK|Fww^J`1Eu)(GT`|DNS?YWa?uXL7UH_Gs-o94!_6N+F+VeZ-Kx4x<@=9xs0IH|l zQfo!|Os<47F{MDAc}OK>O2t(ga7rfQu4yT;pXmp>fS z*Ea~5?{Ut6p$(pEwEYhoZXIh$R;5KX`@!(zzukkY@}ASy;_LjezZg zu4xb!e;JD3$4wpMJG>GWa&?iazwbEr2CuhJFI%4Z4PGU>6zXwn58dFUFNGSv=DEAS zYqfRin@_rdF2thSwdTrmhrAoMCaTlrLmiV3gD zt)dptDq2{0AaXCV0{1uJHWJq(XQ{V?xT|@IS6-Z=Hs=Yrd|@3egw2QOo;6Y`F6<%9 zI;w4GbP?_88LCfJcx6ROodt0j-vHD2x$okIb+$iFaVo zu4l=~O5Njei3vEF;v8)<%*;?RH9>P6E)+t)>pUP+!s&7;xf$KA>XV$(RO29bmLpsp z7}IPKsq^KJtF!v46Y}7O%dae7Pi1+~BZ`a<_D_4uc_}Fp-DyF}zRpWxHo+!p3J(yJ zW*yuT6aBgJd1<)wW7HD#A_yzTfbJ5}$M>mrJZ=Wbfq9U6`7I|4H1c~QoMMfEw+2I> zg!kwA-k;|ypYJP60TA#P``)v=Bvu68zsUFg#lAA)Sn=@p(lP~jNt;pbbUxSLclpZF zc^2RI_})u>3*JlX5X$o0L3yJOUb?T~y)=5Fe1-3OcwOM(@m=KcYeLt~y0smUcO` zw@bV~@??Q5Y#m+Bz9nYg3rUH`hn>e(G>Gwmt&m6V4rVKyzI#se&4P7p7c0T~wg&6ryZbskg-( z!9@Yoty?|XEMQB^v30yUu3Mjt%vVQ~wTiiz0do0T8G}MevpvUx9C?v;#)%D*RQIv8 zL1yG+sVgpuN*W3_veOCkhsb}uIKQAeE4f2;w{Puiy8psF9d4Sj>@@UTCR8GQ?-KG0u@AYc%!K2r zld=@aV;r)4+eBj>Mu`*PLh5P3<5m(?mz{txzscT93 zhFB9;DlQ=bkO!2@DH0W~sFOU+YEJ;|jkQ?=ZFn%KP5~5ag_LXMM#jYRFCmG??j)Q+ z>ctFpj~Cwx_R(BUShAIIM2AuR1H^)4{k%>%CSFGAb>Yw$cy-SVzV^hNsM$x&RZ$}Z$#wX$u1H;_R z4ynmm%8`H|FFQT+ZZ)@359_(xNe5^wz#f`smgG@}VNueAvM6g+#S(*#w3F*m#N+t1 zad0i1q+y!rZ#;zsD?gF`20Q628U`Mehna6Vf)EVW>$4A0%HBl100Qygx5x8Dq|qoK z7JNW!VB<8XlA!Nrf?BHX-S^YL410bUaywu~!RW~uh3Qw$I7CvZ*h8ohmrvzJmlnF= zdXGGJ!4uwQT2dT?COF-(>N~lIJhp%wUddvnBXAKtQ6p4_u{EdB-|>LJ?tYNyz6v+~ zXV_pyxK%>dEsB7-Juf7CyXHx8as~yJ*erAJRj%hTWkl% zVs&@IJ2;%$C#*L*V^M?o9uv;eKp}N~43MNH6P#BD%uCvyn3_jA)n7!;M6=;@H>tz0 zy1SxdRuh&v=`Itz#IO~OknZUC(S&u6K*)FW>^_&FF1p`6(P5zp>t50C$C&@6^kjXY zr}hXXZ!at^q$bOApO2i_7VAQHnP6#e<<)R>F*bbbn#%o8siKN>84cY4fVlJmQ;?HGM~)Z z$qW*!7I4SGP#!Fixyd-VzQx)tYOJGUa*t7NwXPNAbG=^nMn}9RECkZw!Bjo!!K{yt zJ5Bf~FMIa>Mnpg9O|T(4vNU16&B2L6%C|V@-Pq7@pOa`5X*xF1Coq3wuDnE}32QTz z@c^G!YOT+a23zUwZj25tO<4CiO{zA($!!i5(s@d$f&+1ABwzYWU|l(iU|ef=qS&r` zyftw7Ly<5E>+Pb=Z*V?s8MyA{6S7B7ql&_#r`wFHyz9wv14kzwAn;{87#aoNvj{ow zCsZFa7Qtj5W+ISZF#K;qw3-{Cff-8{vUdNwBC+49WEw`&&8!(#yw6h#HE_y<=x14n zb(Y^&>vaI32dMo4vph?Ujyqdbdnyw$=Q@pIE}bsegLFyZcLTll=+{Y3^QwK&uTzY2 zt0f&-zobW%OJ~!k2WsWjn=ss?udl38-8+N3m&}*4bZZOdfFAoF1=I0Ji^(li51kGU^cSB zX2bnRC%;;1aHGo%($zgfqu4|)O;o=g8oS71j3j(cx(*}tLUe|n7V9Z7@;h0K zIp!gjt`1L*15tt3?2N=ji`5{Gjhi%!d(4A0U4y1`i$kfOn8E&`T;KO&I{y0t%p*`?m`i~5h%FYhM0h|)LB|l?gU2bi8s3MH^rXt8%KWF;|AXa& z*@=Unr53~0@U7MZP6Miihq=cpzfU@6ljAS_bdL~xjlK(R$z~(J&vs_W$-4 z3~N%8};-|{J|5U_**U6)o5QocZBHZoVDhivJ3e`CeHl`1{6P@O9- z%V#VF+lQAx=~w$$Wi|ohA+Dr=!wlz+Mb$1D!jWLPHRzcTJvH}v~y-2lem(aiqhbz zdn~>cIdD?(3nF{i+l1Ln=Vg&l2_t@f7vq?0$4iL2=JSxQ813qaX-YD2la-6qQe7*D zYUhUXTiint37+j-b}(CtmPuQzUkL2o&XTjKDGbTWkEqb7MQ#doTGf3FL&|YgYc~wo zQCnG>`={hY_q;d;O0v|ud7?{W1L;x>kTkU(W)&`ORisFUDpKc%r($lk4vUFtlzm+H zqL}8S$L}77Iu;@JEh|qQ?-OJE0{0fP*9+xt)a*&Ab(-@#5lWHa z+_{ustUoLDRq4K9ekaF-2Z?+{bOL9}g`)gjBg87Vgwz49gbAJ5=3zSOqE&ba-&DIc zrKKhvaD$9MF{i85ed(Ehbr)CgTI5!r=5eh;^_i}ME|i4)L*#t4SYHwd(}G$F$J1=Ir1JssTxX&5%b=f24Zv%guZLME%#>EiU%M0GAz-ZxAeD>F4s=W;?}pkAlX zzFnLezbBgi8gmXy&AZ@E6U61tar)zNS*|aRO zGZb83T&V7Q%tcG^%J^36)dDR)s$8n(;X>ntag-2Y7uYXSz2WoLVm&SDy@P2dAz%qP zB;1n(In;hkErCk`aYc)V^(|@%BO7G;aqHm!hE zf9F3%4m4p&AL(;>N0tUsqs4lH3ZL183b5mG?l2nb`czC~*8_$gaHeY+J=8~)VALHW z?sEcq8(pqX?%$U?;0nHuxjvk$C0uUNH#CAfi?zifPK9F1du-7Mwz_c}mYf$v_Hy0d$27M?GJZbIc=gO-SxOS ziCJh4Cd8N@(0n*f#fj>{S5ZY#eE9DQz$c8Ez5H(ptVXZH)?ihDoz6HW%~2{^@7!P^ zRuT_z+{45{<)2L1$ZZ!sp??3bGt_q{DWj`QIuECjbJa-0okq+x?3x;d>P(3&XR8Xr z)#j$1iY33!rDWC#r4_7h?0ZEd4qB{)pcVU>Gn5%>B`Pk6sp#v@9H>bU_kXMu;?Gc_R%)~NGZzaR6JO#yyJo6ijGav8enT#@`%kl8|cR58>KJsKjo+b=@w(yXISb&@kEV8kJ07|F#il!f8 zc42;DXBDn9QCbD5sk&C16H1x1U7dkPAK022RUG6`nhmk7!h!)^m`vA)alq4fBzU7? znH}SUWQhroToV#WY|#gu8LM(LACZo-C%?EC4hE*T3ma_OtP=!Ir}@}ga;_xTo_`|R1?%}CQEugakT>xJiSZaY`p=q-JGIiN&B*nngW8Tb z;gZXar3U&#t|VoonaPU}Yl-AJ$d|4cDlF;EqgK zdqu-9U=pyjL{sh@m+6i@xNSvkj8@UoJiFXI8`-JcfE*!1&=pZraGr^e;pZbMNu;g`&uLK+%v^syTccrW>HITQMA~~M3oe9&)@W1o|Z%z9R_D7sy|l) z#1NgCWr~KqWxDCQ>VTyt&$>`ye~ok}rkmYzX;^=xj2G<<-(o#1F#TS}^s!0D<=T45 zW-vbYmxQbEP1FU)g^wkC zm!MY*qXnjFSu2Z3Fu2&bc;7GGHpF`IJ2n(MfEs z1~IUkc#o6@Xr+O=Kyz*m&)cS#3rL7hGScS%@-}4?)^UM~7*7f7CQ(s?<^>V@W7DNy zW65j@Lm}}KrowdoipZ*3tdywgN~U=1_b&HuuoBOiQTo+kV2_JRfih_te1e%0@{!J_ zqpuK6Sm%jat}_lXH?Hq=8dr@z3htL?LxVZ4mr`eMY*_M%qQx5-C{Ny#qmdX)7%3+9 z@!*!2iqNH39}L=JYLCJ$Z5}baeSTGpkE@)LOV%;P z{*0=uQ73|{Bw=_+>4S1P3*&MY#%{4{p-}DdmDl;o%LV`kAs`XJmkh!}dBBISWdneT zud)w66<>MWSDx^dmtp|;5VMcMhWyePB8j}mcrdqJtmQ3jD^U1!eoNrkV6Grx%{gGM z5u(+SN+56r`^Ebw47;{-VY;F7xG2yNpNcKkH$+A6V9uI&RWj?7tpMWM{RAB)uH7S` zzoYp%lDx)mOwBB$T}XB*l%86z7m(j)9$5ul4RmQ+!#Ajc8hsc%ei{wNe1=cs3b_Hc z5)hawL}q{&xKX$PN-h#^fSc$&9!$@p%zr$Ovs|)lmdlM6pQLey^EwG5+DNO3GK(|g zD+uVBi7jqwCr8`kYChHw^d>?V&xh1}Nbbn5`M88VWQw_LUwRmfN>tCK_3#3oR}g4^w

*WM=pzg0IncJl)d& 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 Ap8x;= literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5eb _v2.build_log.htm b/hex/8ey_touch_f551s3_0014b5eb _v2.build_log.htm new file mode 100644 index 0000000..5246f42 --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5eb _v2.build_log.htm @@ -0,0 +1,86 @@ + + +

+

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: 11 2, 2, LIC=IKA0P-M3RTW-RKXBI-TML7Z-VWYZ5-TR2TS + +Tool Versions: +Toolchain: PK51 Prof. Developers Kit Version: 9.60.0.0 +Toolchain Path: C:\keil5\C51\BIN +C Compiler: C51.exe V9.60.0.0 +Assembler: A51.exe V8.2.7.0 +Linker/Locator: LX51.exe V4.66.97.0 +Library Manager: LIBX51.exe V4.30.1.0 +Hex Converter: OHX51.exe V1.47.0.0 +CPU DLL: S8051.DLL V3.122.0.0 +Dialog DLL: DCore51.DLL V2.81.7.0 +Target DLL: CA8051.dll V??? +Dialog DLL: TCore51.DLL V2.66.4.0 + +

Project:

+C:\Users\31158\Desktop\71x\ң\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch.uvproj +Project File Date: 11/21/2025 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(126): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(127): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(143): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(144): 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(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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(126): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(127): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(143): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(144): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(126): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(127): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(143): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(144): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(126): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(127): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(143): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(144): warning C329: single-line comment contains line-continuation +assembling STARTUP.A51... +linking... +Program Size: data=93.5 xdata=371 const=347 code=4640 +creating hex file from ".\hex\8ey_touch_f551s3_0014b5eb _v2"... +".\hex\8ey_touch_f551s3_0014b5eb _v2" - 0 Error(s), 40 Warning(s). +Build Time Elapsed: 00:00:04 +
+ + diff --git a/hex/8ey_touch_f551s3_0014b5eb _v2.lnp b/hex/8ey_touch_f551s3_0014b5eb _v2.lnp new file mode 100644 index 0000000..e0820f2 --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5eb _v2.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\8ey_touch_f551s3_0014b5eb _v2" + +PRINT(".\lst\8ey_touch_f551s3_0014b5eb _v2.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/8ey_touch_f551s3_0014b5f5 _v2 b/hex/8ey_touch_f551s3_0014b5f5 _v2 new file mode 100644 index 0000000000000000000000000000000000000000..02da22c6577170b4247a21e8e73cf1c93963750c GIT binary patch literal 237911 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
+

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: 10/23/2025 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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(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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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\8ey_touch_f551s3_0014b5f5 _v2"... +".\hex\8ey_touch_f551s3_0014b5f5 _v2" - 0 Error(s), 72 Warning(s). +Build Time Elapsed: 00:00:01 +
+ + diff --git a/hex/8ey_touch_f551s3_0014b5f5 _v2.lnp b/hex/8ey_touch_f551s3_0014b5f5 _v2.lnp new file mode 100644 index 0000000..c87a105 --- /dev/null +++ b/hex/8ey_touch_f551s3_0014b5f5 _v2.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\8ey_touch_f551s3_0014b5f5 _v2" + +PRINT(".\lst\8ey_touch_f551s3_0014b5f5 _v2.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/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 b/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 new file mode 100644 index 0000000000000000000000000000000000000000..a760a0de0c02b61471273a36158c594242a12126 GIT binary patch literal 237038 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 literal 0 HcmV?d00001 diff --git a/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.build_log.htm b/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.build_log.htm new file mode 100644 index 0000000..dd472b8 --- /dev/null +++ b/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.build_log.htm @@ -0,0 +1,86 @@ + + +

+

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: 11 2, 2, LIC=IKA0P-M3RTW-RKXBI-TML7Z-VWYZ5-TR2TS + +Tool Versions: +Toolchain: PK51 Prof. Developers Kit Version: 9.60.0.0 +Toolchain Path: C:\keil5\C51\BIN +C Compiler: C51.exe V9.60.0.0 +Assembler: A51.exe V8.2.7.0 +Linker/Locator: LX51.exe V4.66.97.0 +Library Manager: LIBX51.exe V4.30.1.0 +Hex Converter: OHX51.exe V1.47.0.0 +CPU DLL: S8051.DLL V3.122.0.0 +Dialog DLL: DCore51.DLL V2.81.7.0 +Target DLL: CA8051.dll V??? +Dialog DLL: TCore51.DLL V2.66.4.0 + +

Project:

+C:\Users\31158\Desktop\ңس޸\\_CA51F551S3_RE51_RGB_2025_11_22\CA51F5_Touch_DemoProj_v2.3-433M_20220419\CA51F5_Touch.uvproj +Project File Date: 11/22/2025 + +

Output:

+*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. +Rebuild target 'CA51F5' +compiling main.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(126): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(127): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(143): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(144): 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(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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(126): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(127): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(143): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(144): warning C329: single-line comment contains line-continuation +compiling rf_send.c... +compiling debug.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(126): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(127): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(143): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(144): warning C329: single-line comment contains line-continuation +compiling ts_api.c... +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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(126): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(127): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(143): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(144): warning C329: single-line comment contains line-continuation +assembling STARTUP.A51... +linking... +Program Size: data=93.7 xdata=419 const=347 code=5080 +creating hex file from ".\hex\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2"... +".\hex\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2" - 0 Error(s), 40 Warning(s). +Build Time Elapsed: 00:00:05 +
+ + diff --git a/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.hex b/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.hex new file mode 100644 index 0000000..c558f75 --- /dev/null +++ b/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.hex @@ -0,0 +1,342 @@ +:10000000020F3C8F828E83E5821582AE83700215CB +:10001000834E60097F147E001213A380EA223232DD +:0300230002001EBA +:03002B00020FC8F9 +:1000330002001FBB010689828A83F0225002F72245 +: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 +:1002B300B5E0FF6538701CE5192FFFE412094BFC0C +:1002C300A3E0FD120936FEA3E0C39DF540EE9CF5C5 +:1002D3003F8064120922120942120A0F8F3C8E3B9F +:1002E3008D3A8C39E5192538FFE412092D120A25B8 +:1002F300AF3CAE3B1201868E3D8F3E12092212099E +:1003030042120A1A953EFFEE953DAB07FAE4F9F85F +:10031300AF3CAE3BAD3AAC391201868E3D8F3E9079 +:1003230000B5E02519FFE412092DFEA3E0C3953EB5 +:10033300F540EE953DF53FC3E53F6480948050055D +:10034300E4F53FF540D3E5409542E53F9541401440 +:10035300854546854143854244853845853F4185EA +:1003630040428014D3E5409544E53F9543400985D9 +:100373003846853F4385404405380202A7E54225B8 +:1003830044FFE5413543FEC3EF9537EE95365005FF +:100393007EFF7FFF22E536C313FEE53713FFC3E578 +:1003A300429FF540E5419EF53FFEAF407C007D0A4C +:1003B3001200481209F8EDD3941F40027D1FEDACE3 +:1003C30036AD371209B4CEC313CE13D8F9F53E8E2A +:1003D3003D2542F542E53D3541F541E53E2544F5F0 +:1003E30044E53D3543F543E544AE437807C333CE97 +:1003F30033CED8F9FF1209F8900124E07002A3E08C +:1004030070051209D1800D120A02CEC313CE13D880 +:10041300F912098A120A2FCEC313CE13D8F9FD900D +:1004230000D0E545F075F040A485F047F548E54573 +:100433001209E15002AD07E545120960C333CE331B +:10044300CED8F9120972AD07AC06E545700AE53559 +:1004530014B54604C206801BE53514B54508E546C8 +:100463007004D206800DE545C395465004D206803C +:1004730002C20630060CED2548F548EC3547F54732 +:100483008022E54845477011E53575F040A4AEF08C +:1004930024FFF548EE34FFF547C3E5489DF548E5ED +:1004A300479CF547AE47AF4822E4F532F5F875FBB4 +:1004B3003FD20153D57F43D501E5F854F84407F5FE +:1004C300F853F8BF75F90F75FA329081037440F051 +:1004D300E4F5E8F5C0908030F090FC00E04440F093 +:1004E300E58654F04407F586E4F5161212EF75A17C +:1004F300A575D58075D67FE532601F908030E054B6 +:100503007FF0E054FE4401F0C2AF438702000000D5 +:10051300E04480F0E054FEF0D2AF900100E0FF121F +:10052300089F4003020637AEFBEE60CBEF60021478 +:10053300F0E4FDED1208EA40030206107E007401A8 +:10054300A805088005C333CE33CED8F9FFACFBEC46 +:10055300FBEF5B700302060CA8057401088002C35D +:1005630033D8FCF5FBEDFF7E00700885E23385E1AF +:10057300348044EF64014E700885E43385E33480AE +:1005830036EF64024E700885E63385E5348028EF44 +:1005930064034E700885D93385E734801AEF640409 +:1005A3004E700885DB3385DA34800CEF64054E70BA +:1005B3000685DD3385DC34E532702CE53424F7FF22 +:1005C300E53334FFFEE5162DFC1208DEEEF0A3EF53 +:1005D300F0E5342409FFE43533FEEC120918F58302 +:1005E300EEF0A3EFF08022E5162DFF1208DEE0FA0D +:1005F300A3E0C39534EA9533503AEF120918120871 +:1006030059D39534EE9533402B0D020536E5162468 +:100613000612087C500874062516F516800DE4F5BD +:1006230016E532700675320143F8201212EF75A1F8 +:10063300A50204FAE4F5F875FB3FE58654F0440D92 +:10064300F5861208C9908030E04440F053D57F43CB +:10065300D5017F017E001213A375D580E4F5D6F58D +:1006630016121111120911C20175E8E322C20575B0 +:100673001908200307D2037F0412115F7D3A7C001F +:100683007F04120296EFF47002EEF46002C204904B +:100693000123E0F9600302077A900122E06003027C +:1006A300074AEFF47002EEF4600B7401F09000FF60 +:1006B30004F00207CA85193212083A40030207CA36 +:1006C30012081BE53212080FE0FAA3E0FBD39DEA00 +:1006D3009CE532400712081DC3EB801412080FE09B +:1006E300FCA3E0FDE5321208A7F583E0FAA3E0C31B +:1006F3009DF534EA9CF533D3E5349408E53394004F +:10070300502174162532120832E0703612081BE5A8 +:100713003212080FECF0A3EDF012081BE5321209B8 +:1007230007800E12081BE53225E02402F582E4342B +:1007330000F583ECF0A3EDF0741625321208327441 +:1007430032F005320206BBEFF47002EEF4600D9056 +:1007530000FFE0707290012304F0806BE4900122AB +:10076300F085193212083A505E7416253212083297 +:100773007432F0053280EDE96401704B900122E0A0 +:100783006011EFF47002EEF4703DF09000FF74021C +:10079300F08034EFF47002EEF470269000FFE07006 +:1007A30026900123F0A3F0A31208B1851932120891 +:1007B3003A5014741625321208327432F00532801E +:1007C300ED9001227401F0900123E064017012EFB7 +:1007D300F47002EEF4600D9000FCEEF0A3EFF080F5 +:1007E300031208B29000FCE0F47003A3E0F4600489 +:1007F30075180222E4F51822E53225E024B6F582C5 +:10080300E43400F583E0FEA3E0FFE53225E02402B3 +:10081300F582E43400F58322E53225E024B6F5823F +:10082300E43400F583E0FCA3E0FD2274162532F5E1 +:1008330082E43401F58322E5192404FDE433FCC387 +:10084300E5329DEC6480F874809822E53225E0243B +:10085300D1F582E43400F583E0FEA3E022740125A0 +:1008630032F582E43401F58322E53275F00AA424DB +:1008730032F582E43400F58322FFE433C3FE785972 +:10088300E6FDEF9D7480F86E982225E0241AF58228 +:10089300E43400F583EEF0A3EFF022E0C394057493 +:1008A3008094802225E024B6F582E4340022F0749B +:1008B300FF9000FCF0A3F022E53290150C93FF7833 +:1008C3005BE6FEEF5E2275F90A75F84090810374CA +:1008D30057F022C39408748094802225E02428F5DD +:1008E30082E43401F58322C39406748094802278D1 +:1008F30059E62401FFE433FEC32225E024D1F58227 +:10090300E434002225E0241AF582E4340022900026 +:10091300FB7405F02225E02440F582E434012290A3 +:1009230000B5E0AD197C002DFFEC33FEEF25E0FFB1 +:10093300EE33FE741A2FF58274003EF583E022FA3B +:10094300A3E0FBED2538FFEC33FEEF25E0FFEE33AC +:10095300FE74B62FF58274003EF583E022901508ED +:1009630093FCFFEDC39FFFE49400FEEF780522FFA5 +:10097300ECFDC374809DFDE49400FC0200AF75F0B0 +:100983000290001A02022BFFC3EB9FFFEA9E900125 +:1009930024F0A3EFF0EDFF900124E48FF00200E5D3 +:1009A300E5009000B675F00212022BE0FEA3E0FF13 +:1009B30022FFC374209FFFE49400FE120048EF78E7 +:1009C3000622C3EB9FEE6480F8EA64809822ED75FB +:1009D300F004A4FF900124E5F0F0A3EFF0229015BA +:1009E3000893FFEDC39F22E500C313FEE50013FF49 +:1009F300C3E5009F22AC41AD4212005AAD072290DD +:100A03000124E0FAA3E0FBAE02780222FEA3E0FF9A +:100A1300AD03AC02020269FEA3E02BFFEE3AFEC374 +:100A2300EF22FEA3E0FBAA06E4F9F822900124E0FA +:100A3300FEA3E0780222AC00AD0012005AAD0722FB +:100A4300E4F530F52FF52EF52DF53175E8E39080BB +:100A530030E04440F075A081E4F5A375A24B75A185 +:100A6300A5D2AF120EB090801A7402F0C2B2121166 +:100A7300DFE48F308E2FF52EF52DAD2EAC2D7808BB +:100A83001202188F1385301485140F85131012105A +:100A93004F9000FCE0FEA3E0FFF47002EEF460115F +:100AA30075310374E52FF58274133EF583E493F5F2 +:100AB3004A9000FEE0604D7531031202430ADC01E7 +:100AC3000AE1020AE6040AEB080AF0100AF5200A12 +:100AD300FA400AFF8000000B04754A0A8026754A13 +:100AE3000C8021754A0E801C754A068017754A02D0 +:100AF3008012754A04800DE4F54A8008754A0F8018 +:100B030003E4F5499000FEE070119000FCE0B4FFAF +:100B13000AA3E0B4FF05E4F5498003754901E549FB +:100B23007003020A91D3E5089414748094805003EF +:100B3300020A91E4F508F549F508C2AFAF31121284 +:100B43008BD2AF020A91E4F532E5321208D64003A4 +:100B5300020C1E12080DE0FCA3E0FD120C2F8F33D4 +:100B6300E53212081D120C2F8F34EF64026007EF79 +:100B730064036002C204E5337030E534701B12086D +:100B8300BB700E12082EE06003020C19EF4EF680C4 +:100B93000012082E7402F0807D1208BB60691208EF +:100BA3002EE07072EFF45EF68015E534700C1207D8 +:100BB300FBEEF0A3EFF0E4FD8057785BE66011E510 +:100BC30032120907120806EEF0A3EFF07D0280410E +:100BD30012080DE0FEA3E0FFE53212081D7B1E7A2A +:100BE3000012131DEF602012082EE070291207FB7C +:100BF300EEF0A3EFF0E5321208A7120859FFE53231 +:100C030012088D7D02800A1207FBEEF0A3EFF0AD10 +:100C130034AF321213D20532020B4C785BE69000EC +:100C2300FEF0600475180122E4F51822E5329015F0 +:100C33000C93785B5624FF92057B1E7A00AF321229 +:100C430010B2229000B4E07015C200900100F0F5DC +:100C5300161211119000B47402F07515322290002F +:100C6300B4E064026003020D23200003020D23C2DB +:100C7300001515E5156003020D23785AF6F53212B7 +:100C830008F2E5329FEE1208474003020D1FE4FF0E +:100C9300EF12089F501CE5321208FD120826E532B8 +:100CA30012086E75F002EF12022BECF0A3EDF00FB9 +:100CB30080DE74012532120864E4F0E53278596667 +:100CC300605A12084EFFE53212088D12084EFFE5F6 +:100CD3003212080FEEF0A3EFF0E5321208D6502DD2 +:100CE300E53225E025E024E6F582E43414F583E4D7 +:100CF30093FE740193FFE53225E024EBF582E4349F +:100D0300001208967D02AF321213D2800A741625A0 +:100D1300321208327432F00532020C82784C7601BA +:100D230022908109E054E06004E044E0F0E5FB3008 +:100D3300E00975FB0185E22185E122E5FB30E1094C +:100D430075FB0285E42385E324E5FB30E20975FBAB +:100D53000485E62585E526E5FB30E30975FB088573 +:100D6300D92785E728E5FB30E40975FB1085DB29E6 +:100D730085DA2AE5FB30E50975FB2085DD2B85DC6B +:100D83002CE4FFEF1208EA502DEF25E02421F8E6CA +:100D9300FC08E6FDE5162F1208FDF583ECF0A3ED44 +:100DA300F0EFFDE5162DFDE433FC7859E66D700197 +:100DB300EC60030F80CDE5162406FFE433D312085D +:100DC300804007D200E4F516800674062516F51652 +:100DD300121111900100E0600214F0900127E0FF6E +:100DE300900126E0FE6F6006A3EEF075A1A522E454 +:100DF300F5321208F2E5329FEE1208474003020E65 +:100E0300AF120860E004F012086012089E40051259 +:100E13000860E4F0C2ADE532120850FF12086CC05E +:100E230083C082120860E0D082D08375F002120280 +:100E33002BEEF0A3EFF0D2ADE4F533F534F535F551 +:100E43003674FFF537F538E4FFEF12089F5035127B +:100E5300086C75F002EF12022BE0FCA3E0FD2534D1 +:100E6300F534EC3533F533D3ED9536EC9535400455 +:100E73008C358D36C3ED9538EC953750048C378D12 +:100E8300380F80C5C3E5349536FFE5339535FEC38A +:100E9300EF9538FFEE9537FE7C007D0312005AE58F +:100EA300321208A71208960532020DF522785976F8 +:100EB3000CE4FFFEEEFD7C00C3940C748094805020 +:100EC3002AC3ED1208D7EE501125E025E024E4F5FE +:100ED30082E43414F583740180039014FC93FDAC15 +:100EE300070F744D2CF8A6050E80C9908030E0449E +:100EF30040F075D580E4F5D6D2AD1212C01208C900 +:100F0300D2ADC200E49000FEF0785BF6F51812094A +:100F130011D202C201C203E4900123F09001221214 +:100F230008B1E4900124F0A3F0784CF69000B4F0FB +:100F3300900127F0900126F022787FE4F6D8FD7522 +:100F4300815D020F83020A43E493A3F8E493A34071 +:100F530003F68001F208DFF48029E493A3F8540731 +:100F6300240CC8C333C4540F4420C8834004F4562C +:100F7300800146F6DFE4800B010204081020408064 +:100F830090134BE47E019360BCA3FF543F30E5090B +:100F9300541FFEE493A360010ECF54C025E060A864 +:100FA30040B8E493A3FAE493A3F8E493A3C8C582F7 +:100FB300C8CAC583CAF0A3C8C582C8CAC583CADF65 +:100FC300E9DEE780BEC0E0C0F0C083C082C0D07558 +:100FD300D000C000C001C002C003C004C005C006E9 +:100FE300C007E5D530E03F43D5013001089001004B +:100FF300E004F0803C121219E51D451C6008E51D54 +:10100300151D7002151C051EC3E51E948074809483 +:10101300804006751E001213BDC3E50894FA748060 +:10102300948050020508200108AFFBEF6003120D06 +:1010330024D007D006D005D004D003D002D001D0ED +:1010430000D0D0D082D083D0F0D0E032784CE614F8 +:101053006006047059020C46300042C2009001271A +:10106300E004900126F0120DF2D204E51864026048 +:1010730003120B49E518640160031206703004087B +:10108300300205E58730E2031209119000FBE0709E +:101093000C3002097F01FE1200031204AC90010020 +:1010A30012089E4009E4F5F875FB3F120EB0228A40 +:1010B300358B36A907E9120981E0FEA3E0C39DFF42 +:1010C300EE9CAB07FAE99000EB1209A830050B7C04 +:1010D300007D091200480D1200AF1209C540037FBD +:1010E3000022D3EB9536E5351209C940037F01226F +:1010F300C3EA6480948040037F0222C3E49536FFF1 +:10110300E49535FE1209C57F0440027F0322E4FE05 +:10111300EEC394065042EEFDE5162DFDE433FC7854 +:1011230059E6FBC3ED9B7480F86C98401AAF067DBB +:101133000E121253EE04FCECC39406501BAF04E4EE +:10114300FD1212530C80F0AF06E5162E244DF8E67F +:1011530004FD1212530E80B843F88022A90774FFCE +:10116300F535F536AF19E4FEE92519FDE433FCEF57 +:10117300C39DEC6480F8748098502175F002EF12DF +:101183000984E0FCA3E0FDC39536EC953550099046 +:1011930000B5EEF08C358D360F0E80CC228F337573 +:1011A3003408D3E534940074809480402ED2B2E5A1 +:1011B3003330E70D7F127E001213A3C2B27F048087 +:1011C3000B7F057E001213A3C2B27F117E001213A0 +:1011D300A3E53325E0F533153480C72290FC017471 +:1011E30080F0E490FC06F090FC05F090FC01748123 +:1011F300F0A3E0FFE48F35F534F533F532AE34ADCB +:1012030033AC3212137B121377121377F532E49057 +:10121300FC01F0AC3222900000E004F0E0C394043F +:10122300748094804029E4F0FF7859E6FEEFC39E72 +:10123300501574162F120832E0600974162F120825 +:1012430032E014F00F80E29000FFE0600214F0221D +:10125300EF14601614601914601C14601F146022CC +:1012630024057023ED4440F5FC22ED4440F5FD22B6 +:10127300ED4440F5FE22ED4440F5FF22ED4440F5F8 +:10128300F122ED4440F5F2228F32D3E5329400741B +:101293008094804027D2B27F057E001213A3C2B28E +:1012A3007FB97E001213A3D2B2AF131211A0AF14F1 +:1012B3001211A0AF4A1211A0153280CE2290801DC8 +:1012C3007404F0E4FF7859E6FEEFC39E501D744D9D +:1012D3002FF8E675F003A42419F582E43415F58399 +:1012E30012023774041200360F80DA22E4F535AFA8 +:1012F30035C3EF1208EB501EE5162F12087C500B76 +:10130300E5162535244DF8E6048001E4FDAF3512DA +:101313001253053580D943F88022C3EF9DFFEE9C1D +:10132300FED3EF9BEA6480F8EE6480985017C3E421 +:101333009BFDE49AFCC3EF9DEC6480F8EE64809817 +:1013430040037F01227F0022014900014A00014B33 +:1013530000011E00010900020C0000030F00000041 +:10136300010A00010E00010B000112004100000000 +:1013730001150000F532FCE4FB7A01F9F81200FBD9 +:101383008F358E348D338C3290FC02E0FFE5354F80 +:10139300FFE534FEE533FDE5328F358E348D3322A0 +:1013A300EF1FAA0670011E4A600FE4FDEDC39447C8 +:1013B3007480948050EA0D80F322900100E004F0E1 +:1013C300785AE66001169000FBE0600214F022ED0B +:1013D30090151493FE74162FF582E43401F583EE11 +:1013E300F022101112131415161718191A1B1C1DAD +:1013F3001E1F2021222324252627282829292A2B9A +:101403002C2C2D2E2F2F30313232333435353637C5 +:101413003738393A3A3B3C3D3E3E3F4040414243F8 +:1014230043444546464748494A4A4B4C4C4D4E4E29 +:101433004F505152535455565758595A5B5C5D5E41 +:101443005F606162636465666768696A6B6C6D6E31 +:101453006F707172737475767778797A7B7C7D7E21 +:101463007F808182838485868788898A8B8C8D8E11 +:101473008F909192939495969798999A9B9C9D9E01 +:101483009FA0A1A2A3A4A5A6A7A8A9AAABACADAEF1 +:10149300AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEE1 +:1014A300BFC0C1C2C3C4C5C6C7C8C9CACBCCCDCED1 +:1014B300CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEC1 +:1014C300DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEB1 +:1014D300EFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEA1 +:1014E300FF000000120001000F00020028000300AB +:1014F30064000400C8000500BE00060032000700B7 +:10150300280B0A090809130C1001020408102040D3 +:10151300800264501E1E018019018018018007019A +:10152300800601800501800401800301800201809F +:0D1533000101800001801C01801B01801A55 +:00000001FF diff --git a/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.lnp b/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.lnp new file mode 100644 index 0000000..112bbcc --- /dev/null +++ b/hex/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.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\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2" + +PRINT(".\lst\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.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/STARTUP.obj b/hex/STARTUP.obj index 3d62da9ad94f9fddf3eea5efc4dc77a509da8226..7bf152fd3f4613244670a10eb89fbd1d0b14ee4b 100644 GIT binary patch delta 15 XcmX@cc8qO8F-zj^pP3uW&oco4HueV> delta 15 XcmX@cc8qO8G0V;$sTmu~&oco4H{=Hw diff --git a/hex/ca51fx_onoff b/hex/ca51fx_onoff index ec34023c63f22474c56cd0f6238181a46a0867b5..5ac2d5cb0747f511cff9e0e55b072b9bd652bd60 100644 GIT binary patch delta 6015 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 diff --git a/hex/ca51fx_onoff.SBR b/hex/ca51fx_onoff.SBR index 024ad0e0b2793fb645256c9d4d21648fd49b8d0c..5bde580c9c86f3a5c1a5c9c5f091df71494b3141 100644 GIT binary patch delta 5649 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 VJ8toK!q|S@gpZuf8g`Ly;NP`UQZ4`h delta 5662 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 X+sOlu_%xxHOBObHFsrX6-^0HFLiK)C diff --git a/hex/ca51fx_onoff.build_log.htm b/hex/ca51fx_onoff.build_log.htm index e556215..b6a3df5 100644 --- a/hex/ca51fx_onoff.build_log.htm +++ b/hex/ca51fx_onoff.build_log.htm @@ -28,7 +28,6 @@ Project File Date: 11/24/2023 *** 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 @@ -36,11 +35,21 @@ TS_Lib\Includes\ts_configuration.h(121): warning C329: single-line comment conta 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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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 @@ -48,9 +57,19 @@ TS_Lib\Includes\ts_configuration.h(121): warning C329: single-line comment conta 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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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 @@ -58,8 +77,18 @@ TS_Lib\Includes\ts_configuration.h(121): warning C329: single-line comment conta 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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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 @@ -67,12 +96,23 @@ TS_Lib\Includes\ts_configuration.h(121): warning C329: single-line comment conta 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 +TS_Lib\Includes\ts_configuration.h(125): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(129): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(130): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(131): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(132): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(133): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(134): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(135): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(136): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(154): warning C329: single-line comment contains line-continuation +TS_Lib\Includes\ts_configuration.h(155): 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 +".\hex\ca51fx_onoff" - 0 Error(s), 72 Warning(s). +Build Time Elapsed: 00:00:01 diff --git a/hex/ca51fx_onoff.hex b/hex/ca51fx_onoff.hex deleted file mode 100644 index 65e6ff1..0000000 --- a/hex/ca51fx_onoff.hex +++ /dev/null @@ -1,350 +0,0 @@ -: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/debug.obj b/hex/debug.obj index 127093b7eaade648ee6f9aa76ed9c257cfc60f01..2d5f84f4457105e7d1ac00dcb001218e5bcf410a 100644 GIT binary patch delta 1317 zcmaiyTS!z<6o$__=Zxs+o|H1v8S$2emlDSk-7ybBk-jMA1vsOsiaw85+n&JrFraS*-QKF|JMKiYqQw{3ox(%HyY*Z z!^@8L=2&^r5aMVb>Xwg>EIaTdw8Avb!C{qxZI~!dsgywi>ZBIgXfTfOd(woLpE4DN zEq1HLRBkD?pE+Ibs4!G^;!W=dZi-(N)~mwcJa_uE%4`=18)t3(6!BlaIgnWOmk0_1 z!Ci1}(rTfY=rEgypfpIiah7RJ*J=4}KUrkkNUM|g`j?1$Uy@Q<{WfW}kWKU?nsv24 z2MAFTnfOSj1s8v<%MdXsT!WE8eM}~sF5=8Oxldvf*b!`oB7C2##rfc1IK@3fM!~0> zSd``-oD9{%C|?du7nzDQHehD>7q&|5Ej&45NrXZ)MQUMzAB@}yY?91fyeZ004ERmZ zWt)2AjpQRnQ^qZ<*`wuSF(5N{vZx;48NV`rlB(b@Osx=TCrG(!8PP6YV}1q9gY?v4 zfhC2_5>qGdu*|qI9YJNhEu{?t9}=Wg4-l4=6=TyuP8K*mkDST%^oLJbZ&qp%@M!{?o|0OxSLIvQ5^N_B&Z&5;Eiy!q@Rpf*T@ I&9(i10EsNfy#N3J delta 1315 zcmZ9LZ%C6-6vp54Zi>#`*`PAn%s**pbLzCArWu;(N-NPKP0F^RZVn4Ei3&@_B7`D4 z7Lh^pN0ZcOTp{X9_$5L}BMmf5NlYxQ2#ZPu^V*l=?ziW6p69vmdoR~L3+`FCQmefB zyVTKKAFG@OS7~!khtmD0)PYB#5yJ5k?DG=10F&i0FEQALdPRdWF($5u-&KsN1H@F8 z{Owk=smxqrKYpytSsvrKj4f-ry@g+vma8_w8Sc_HD%nPmR@Tz;vhu}syCK>6pGX3M zMqb4DMzNgq+8T;4XHHkV$L}Nzfi7L{t{yc!&YYxnF26 zXm5KA@8E|p9SrinVd*mJf;DJ~n8L^+4Nu+tQ-=L$iqgSXz9%Xi*bs?!@v~b3WDLpB zs8uUxqs)slW!=E49Xj3@4NA5|%=I`NH^Vj%;^41MjSyrbNPMZC=r&%JFa&I+d>M;- zI*0k@RQ8UT+Ig#a!kg&`D&Y96Kz0^C4mJJQjU8q(fHn_;TJ7=3P{3%5FL!*ubh)C zgV@sWRBn>dpAhjM)2p;fDj|B2kLBk3uu+2A`1S)<1&bi47&{AV*(@O~++396#aqN(CDsu?JXOexJ<~a)GNIF95VS z=rlkdE;*<0uuX$=6>j#1*dC$VWngAPa`i5+9`4ZF4UR GFCzdX;3aYZ delta 204 zcmbQoJ&Sun9ZS}PkkpAydWH{p9c4!&BS?-tjhkmzn_7CJIy#I)w+S7Q|ChpWMi#D+*$AL*x&E z6p8`)A)5~~#WRYS1u!rJH3$GjKmcTk=VUV$a}}Tj$WE9<6Ohk>#0M!>+dPqlmk|IE C93p-I diff --git a/hex/interrupt.obj b/hex/interrupt.obj index 66d556781b056502a40d7bf67f94964e6c6003e3..411a726bedcea7c4231117d8554a19453c3f57f7 100644 GIT binary patch delta 1993 zcmah}4@}fm9RI#|cW^g)2bUroNCI90LvA3R0;huwQ4|d{KshcEPl)5sfp{303Rvc! zIn#ZaHO&^KOZ+p^SF=)c<(h3}8!Oz>Y8Ifb+Az`@I;i)4r|xN6eQ&>gf8Wpd^FH72 z`@QeIvF-Hs4oaJ>dugkF_vumZ-pz^n5qq3>@6iwS?lYrad_8h1?jWAjU5TH0qjIy{ zbyePahdbAi=3eOYxV=7qv)8xIUPIyT$D>|Tb9KeKD&HD=O%P6}`39-98r$e?gVdUZ z%{qUf4H$sw;X=#5G-ajm{S&|}Xb<%?`QDB&048e3mS);#rP{^s4Cd)G$Tr-ppG^As z0sVKOZWj=s01zXdq5jls*}45B6^wfTuIX=e%z09vkO!-bLl6#4G#m_YVF^(sMg(8UVns&ecdVDkdDN>B*!aLia5t(@a(&Ygx6>dI2v2Y6l zE+3#$M2iBh0AP)XmIRzol~ECZS2(d&x@7?M!aW;s-Lm>N5f5~kMRlWiOBavWLF_&z z06aJ8eXBR5|cJvDvya#3YIX=sZ6EVqBST4K>T*(d=(w4g8+9fEtnor-v6z zb`h4KeOLgQUCvL%EFzX#WdQ*b)FGP^O=5Y{lw`^#D*Rer8COm%;g9hn@X}N#$wiZ` z#Uj4FW>Q{iEx=c8(c~?D%oe1>6)9#spYT1?E1DbdNaAsJSXp)jE0fYKD-=WumEqx} zWKzldl3pPxM;=QaeIyQnY$g7LznuInVFsmU8&;*^ldv%*yM^C$e4x`$D}vd)J99ZU_`&qc zi$lip8j?0DoV1id{kePx=gwG`6F&&5Z3$b{uqt#jSp9b%-)=Qf(6c*yJQ9Flz1B zEKA|$@jGju)3Kiw=pa_K9AY{};6)y`-bhIlT3ems$}DNU&WMuUg!yf!*i}X15C(5Z q#@VG}FgFYk;z!%YWbzj;+PKreh7{g@exvgp!v0X8UHIBd*Z%=`)>;ez delta 2013 zcmb7FZBUd|6h8OvE+5ieLF6MB6azyd)?MX8Tpbxy1jzve!C+-w*9BH_fkhNQ0(8jK zX&QD8{Yaf0!{EvwPncog06e&dlz4pXWU1 z-gECg?|pA?rw_ML+L{rhoyOpw-lkyJWaD+R${XB&)OhHgw+S~Vrs8(uDL7noss6dS zGo0mtmd1d4bxM)1+1u_c_4=A!Yjd1)a_r6$zsKqGuL=14?bap=c{f&iBLfYtcCUYh zwdrq6qQxdTawYocZIc{3AD0`}xUzu(L_SHJ_@8sgO7`xI1+z$dGQKw5*`8oNP+OH50)7Obq)`XZRt*jNMaCUO0z1@ zc8H}$orY|Plv8WwP@ZQ&7$qPI6E;`qO}Ydc`oaK;1W4rR{$vC*9ZJ3l?O6u(Q1$1f8ril>4+XA1wL=YDm^ zXl+21zDUB-r+4tkaSNzvve?}Nd`VI*q2mc2UmMF$CKr+zpIC^rN5Tk1!b%)B!9t$l zxf3!ei_%U+54Lmv#5x)?R+m4~$K!=m2bqWQX&o_hN5qP7cbbK~#gC?i8Q336@KyXe z{b%+-VS4ey$p_eOg}IFWjA=173M0!~f`>CQiHBdz*h;eYj0o=i7mkA23J&pL<{5&= z(#{y}~XVULuA9vtHs!gZx)9yPO%V0K$HlYJyjZubB`I?F|{ zZ1zE>x4uqy;Zp@O*#%vv3E$?63l4@^EDE(^`S2L$H z@Hk#sl15pALN)Q;QiqWZDO5i{RhCED_X>4@M=#n>S&2gB;>oIfxo#I47vD;rsD#8j z07(kY!075}_|Rd-it0>!cY_&sRQK|NnjxAzU6ILZVcpigsHc6ps@r{O;*iD5&p4xcFkS&&B z5J&L1no&X_vA8`nTQ!Wub)eZ@@qeDbu<94Wz8R)u!H03i>W{OgD2!av)Dbva!JpxH zzcu-Jg&CPKiu?Rd!g>_RBRt)*GAm1AMkYzDPIC->t=;UFlF^5ETBq2>Cqy$@yv%Wr z!17L(_BhUPahro2$6(vHEME_4u_E3aSZZMB6>1RAb?jsJ73O9B%GwA@Vz95%Auj4u zo!9Vss~Nvoe~6t{Wbb3whD?^DFbnuc8?F%2j=MHxl6(B*rX42slM)}`^;-rAyP;68 Iqq+CmKV{2ny#N3J diff --git a/hex/main.obj b/hex/main.obj index 051e608c4ae80b8cb43aff42f061a2ef48aa9149..d84b1eb0b5615a33b7d7d4279ff9cb188ad91623 100644 GIT binary patch delta 7244 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 TyPk_x?ooOco?~x3_sahOAf8k= delta 8119 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 C8TzFF diff --git a/hex/rf_send.obj b/hex/rf_send.obj index 92743cb19f168d33f18b7e9d770ac0b80880a967..8ffc57335c051f7d58a5ea7299ac6cf3049caa39 100644 GIT binary patch delta 3778 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 diff --git a/hex/system_clock.obj b/hex/system_clock.obj index 3a443bc0f28e2d910e4617aa2df9c9ca4d8c1cf1..b725ab0a32a4c80dd221737e6e513b2cd2b4a668 100644 GIT binary patch delta 339 zcmX@n!FZvAk*k26>3@&2siA_>`^NRH{>L*Jv#j%1^CvC1}l4G<~Vc=k3;DpNyVrT^$ z*dV~bzzecC%u>(HKo1CaZ+^nOn2&Mg=M0rZO?`CnuU3rkTbk=jWwm zrt4+Q-TX^Pgi%F_0b~#p10J_UZ*~$f;nC)0U}RumU@ytcO)ZWunUc)QzygHK3`}70 zrW8>y%?Nb2&}4ow(am)V9#SG|0bqGvpiU5I0`lW0-?DlKlMsT4gC!z2-?7f&001Y$ BT%iB} delta 357 zcmcc6!FZyBk*h$Q>3@&2siA_>mGzMuSam58||3 ztYQL+^3#hFa~0e&b5e_Ayi+rC;>%29fO=y*^O9pS^Gb>`^NRH{K2GLhiem-o4&I#0 zB**A!!ob16zzLUEBxn@K!etEt3=F&=hlN?{nHlJr>ltj>e1v&1ALEM28A5uD&XcDL z>4<}DVPfDPBLgo31T+Ep_DMWI5e5b}#}IE*Kaa_U_A--stdEF5l?ov#wcPx~I)?)Q_seWt diff --git a/hex/ts_api.obj b/hex/ts_api.obj index 52ebffc724a283b8233cbad71993fd8d36272964..8598788f7d45b9e3ac2382fa3032101e0680fb01 100644 GIT binary patch delta 9642 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 delta 9564 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 \interrupt.obj, .\hex\rf_send.obj, .\hex\debug.obj, .\hex\ts_api.obj, .\TS_Lib\Sources\ts_service.LIB, .\hex\STARTUP. +>> obj TO .\hex\8ey_touch_551s3f_0014b591 PRINT (.\lst\8ey_touch_551s3f_0014b591.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:0X +>> 0-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\8ey_touch_551s3f_0014b591 (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 2 + + +X:000000H X:000000H X:0001FFH HDATA +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\8ey_touch_551s3f_0014b591 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 3 + + +0012FFH 001334H 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 4 + + +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 +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\8ey_touch_551s3f_0014b591 (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 10/22/2025 16:58:59 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 6 + + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + +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\8ey_touch_551s3f_0014b591 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 7 + + + 01000186H CODE --- ?C?ULDIV + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 8 + + +*SFR* 000000A8H.0 DATA BIT EX0 +*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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 9 + + + 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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 10 + + +*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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 11 + + +*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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 12 + + + 0000001AH DATA WORD TS_Key + 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\8ey_touch_551s3f_0014b591 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 13 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 14 + + + 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 + 00000080H.1 SFRSYM DATA BIT P01 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 15 + + + 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 + 000000B8H.4 SFRSYM DATA BIT PS0 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 16 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 17 + + + 01001231H LINE CODE --- #44 + --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 18 + + + 01000A9CH LINE CODE --- #396 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 19 + + + --- BLOCKEND --- --- LVL=0 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 20 + + + 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 + 0000008CH SFRSYM DATA BYTE TH0 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 21 + + + 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 + 000000B1H SFRSYM DATA BYTE PWM0CKD + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 22 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 23 + + + 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 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 24 + + + 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 + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 25 + + + 000000B4H SFRSYM DATA BYTE PWM3CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 26 + + + 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 10/22/2025 16:58:59 PAGE 27 + + + 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 10/22/2025 16:58:59 PAGE 28 + + + 000000B5H SFRSYM DATA BYTE PWM4CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 29 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 30 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 31 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 32 + + + 01000B1CH LINE CODE --- #30 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 33 + + + 01000BEDH LINE CODE --- #100 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 34 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 35 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 36 + + + 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 --- --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 37 + + + 01001588H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 38 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 39 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 40 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 41 + + + 01000DFAH LINE CODE --- #191 + 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 42 + + + 01000EB7H BLOCK CODE --- LVL=0 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 43 + + + 01000D4CH LINE CODE --- #516 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 44 + + + 01000C73H LINE CODE --- #769 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 45 + + + 01000685H LINE CODE --- #964 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 46 + + + 0100078DH LINE CODE --- #1050 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 47 + + + 0100104CH LINE CODE --- #1194 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 48 + + + --- BLOCKEND --- --- LVL=1 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 49 + + + 0100052AH LINE CODE --- #1419 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 50 + + + 01000617H LINE CODE --- #1486 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 51 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 52 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 53 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 54 + + + 010012E7H LINE CODE --- #55 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 55 + + + 00000006H SYMBOL DATA WORD cmp_data + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 56 + + + 01000428H BLOCK CODE NEAR LAB LVL=2 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 16:58:59 PAGE 57 + + + 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 + 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 10/22/2025 16:58:59 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/8ey_touch_f551s3_0014b5c3.map b/lst/8ey_touch_f551s3_0014b5c3.map new file mode 100644 index 0000000..844b978 --- /dev/null +++ b/lst/8ey_touch_f551s3_0014b5c3.map @@ -0,0 +1,3901 @@ +LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 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\8ey_touch_f551s3_0014b5c3 PRINT (.\lst\8ey_touch_f551s3_0014b5c3.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:0X +>> 0-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\8ey_touch_f551s3_0014b5c3 (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 2 + + +X:000000H X:000000H X:0001FFH HDATA +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\8ey_touch_f551s3_0014b5c3 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 3 + + +0012FFH 001334H 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 4 + + +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 +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\8ey_touch_f551s3_0014b5c3 (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 10/22/2025 17:09:59 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 6 + + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + +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\8ey_touch_f551s3_0014b5c3 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 7 + + + 01000186H CODE --- ?C?ULDIV + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 8 + + +*SFR* 000000A8H.0 DATA BIT EX0 +*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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 9 + + + 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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 10 + + +*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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 11 + + +*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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 12 + + + 0000001AH DATA WORD TS_Key + 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\8ey_touch_f551s3_0014b5c3 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 13 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 14 + + + 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 + 00000080H.1 SFRSYM DATA BIT P01 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 15 + + + 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 + 000000B8H.4 SFRSYM DATA BIT PS0 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 16 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 17 + + + 01001231H LINE CODE --- #44 + --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 18 + + + 01000A9CH LINE CODE --- #396 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 19 + + + --- BLOCKEND --- --- LVL=0 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 20 + + + 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 + 0000008CH SFRSYM DATA BYTE TH0 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 21 + + + 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 + 000000B1H SFRSYM DATA BYTE PWM0CKD + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 22 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 23 + + + 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 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 24 + + + 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 + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 25 + + + 000000B4H SFRSYM DATA BYTE PWM3CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 26 + + + 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 10/22/2025 17:09:59 PAGE 27 + + + 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 10/22/2025 17:09:59 PAGE 28 + + + 000000B5H SFRSYM DATA BYTE PWM4CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 29 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 30 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 31 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 32 + + + 01000B1CH LINE CODE --- #30 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 33 + + + 01000BEDH LINE CODE --- #100 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 34 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 35 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 36 + + + 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 --- --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 37 + + + 01001588H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 38 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 39 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 40 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 41 + + + 01000DFAH LINE CODE --- #191 + 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 42 + + + 01000EB7H BLOCK CODE --- LVL=0 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 43 + + + 01000D4CH LINE CODE --- #516 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 44 + + + 01000C73H LINE CODE --- #769 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 45 + + + 01000685H LINE CODE --- #964 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 46 + + + 0100078DH LINE CODE --- #1050 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 47 + + + 0100104CH LINE CODE --- #1194 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 48 + + + --- BLOCKEND --- --- LVL=1 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 49 + + + 0100052AH LINE CODE --- #1419 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 50 + + + 01000617H LINE CODE --- #1486 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 51 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 52 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 53 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 54 + + + 010012E7H LINE CODE --- #55 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 55 + + + 00000006H SYMBOL DATA WORD cmp_data + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 56 + + + 01000428H BLOCK CODE NEAR LAB LVL=2 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/22/2025 17:09:59 PAGE 57 + + + 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 + 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 10/22/2025 17:09:59 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/8ey_touch_f551s3_0014b5c3_v1.map b/lst/8ey_touch_f551s3_0014b5c3_v1.map new file mode 100644 index 0000000..740ece0 --- /dev/null +++ b/lst/8ey_touch_f551s3_0014b5c3_v1.map @@ -0,0 +1,3901 @@ +LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 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\8ey_touch_f551s3_0014b5c3_v1 PRINT (.\lst\8ey_touch_f551s3_0014b5c3_v1.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\8ey_touch_f551s3_0014b5c3_v1 (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 2 + + +X:000000H X:000000H X:0001FFH HDATA +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\8ey_touch_f551s3_0014b5c3_v1 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 3 + + +0012FFH 001334H 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 4 + + +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 +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\8ey_touch_f551s3_0014b5c3_v1 (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 10/23/2025 15:31:12 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 6 + + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + +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\8ey_touch_f551s3_0014b5c3_v1 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 7 + + + 01000186H CODE --- ?C?ULDIV + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 8 + + +*SFR* 000000A8H.0 DATA BIT EX0 +*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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 9 + + + 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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 10 + + +*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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 11 + + +*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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 12 + + + 0000001AH DATA WORD TS_Key + 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\8ey_touch_f551s3_0014b5c3_v1 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 13 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 14 + + + 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 + 00000080H.1 SFRSYM DATA BIT P01 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 15 + + + 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 + 000000B8H.4 SFRSYM DATA BIT PS0 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 16 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 17 + + + 01001231H LINE CODE --- #44 + --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 18 + + + 01000A9CH LINE CODE --- #396 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 19 + + + --- BLOCKEND --- --- LVL=0 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 20 + + + 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 + 0000008CH SFRSYM DATA BYTE TH0 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 21 + + + 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 + 000000B1H SFRSYM DATA BYTE PWM0CKD + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 22 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 23 + + + 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 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 24 + + + 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 + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 25 + + + 000000B4H SFRSYM DATA BYTE PWM3CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 26 + + + 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 10/23/2025 15:31:12 PAGE 27 + + + 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 10/23/2025 15:31:12 PAGE 28 + + + 000000B5H SFRSYM DATA BYTE PWM4CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 29 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 30 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 31 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 32 + + + 01000B1CH LINE CODE --- #30 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 33 + + + 01000BEDH LINE CODE --- #100 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 34 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 35 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 36 + + + 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 --- --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 37 + + + 01001588H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 38 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 39 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 40 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 41 + + + 01000DFAH LINE CODE --- #191 + 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 42 + + + 01000EB7H BLOCK CODE --- LVL=0 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 43 + + + 01000D4CH LINE CODE --- #516 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 44 + + + 01000C73H LINE CODE --- #769 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 45 + + + 01000685H LINE CODE --- #964 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 46 + + + 0100078DH LINE CODE --- #1050 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 47 + + + 0100104CH LINE CODE --- #1194 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 48 + + + --- BLOCKEND --- --- LVL=1 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 49 + + + 0100052AH LINE CODE --- #1419 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 50 + + + 01000617H LINE CODE --- #1486 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 51 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 52 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 53 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 54 + + + 010012E7H LINE CODE --- #55 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 55 + + + 00000006H SYMBOL DATA WORD cmp_data + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 56 + + + 01000428H BLOCK CODE NEAR LAB LVL=2 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:31:12 PAGE 57 + + + 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 + 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 10/23/2025 15:31:12 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/8ey_touch_f551s3_0014b5d7 _v1.map b/lst/8ey_touch_f551s3_0014b5d7 _v1.map new file mode 100644 index 0000000..825b6bf --- /dev/null +++ b/lst/8ey_touch_f551s3_0014b5d7 _v1.map @@ -0,0 +1,3901 @@ +LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 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\8ey_touch_f551s3_0014b5d7 _v1 PRINT (.\lst\8ey_touch_f551s3_0014b5d7 _v1.map) REMOVEUNUSED CLASSES (XDAT +>> A (X:0X0-X:0X1FF), HDATA (X:0X0-X:0X1FF), CODE (C:0X0-C:0X1FFF), CONST (C:0X0-C:0X1FFF), ECODE (C:0X0-C:0X1FFF), HCON +>> ST (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\8ey_touch_f551s3_0014b5d7 _v1 (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 2 + + +X:000000H X:000000H X:0001FFH HDATA +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\8ey_touch_f551s3_0014b5d7 _v1 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 3 + + +0012FFH 001334H 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 4 + + +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 +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\8ey_touch_f551s3_0014b5d7 _v1 (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 10/23/2025 15:32:09 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 6 + + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + +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\8ey_touch_f551s3_0014b5d7 _v1 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 7 + + + 01000186H CODE --- ?C?ULDIV + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 8 + + +*SFR* 000000A8H.0 DATA BIT EX0 +*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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 9 + + + 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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 10 + + +*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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 11 + + +*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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 12 + + + 0000001AH DATA WORD TS_Key + 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\8ey_touch_f551s3_0014b5d7 _v1 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 13 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 14 + + + 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 + 00000080H.1 SFRSYM DATA BIT P01 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 15 + + + 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 + 000000B8H.4 SFRSYM DATA BIT PS0 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 16 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 17 + + + 01001231H LINE CODE --- #44 + --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 18 + + + 01000A9CH LINE CODE --- #396 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 19 + + + --- BLOCKEND --- --- LVL=0 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 20 + + + 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 + 0000008CH SFRSYM DATA BYTE TH0 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 21 + + + 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 + 000000B1H SFRSYM DATA BYTE PWM0CKD + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 22 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 23 + + + 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 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 24 + + + 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 + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 25 + + + 000000B4H SFRSYM DATA BYTE PWM3CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 26 + + + 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 10/23/2025 15:32:09 PAGE 27 + + + 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 10/23/2025 15:32:09 PAGE 28 + + + 000000B5H SFRSYM DATA BYTE PWM4CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 29 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 30 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 31 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 32 + + + 01000B1CH LINE CODE --- #30 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 33 + + + 01000BEDH LINE CODE --- #100 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 34 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 35 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 36 + + + 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 --- --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 37 + + + 01001588H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 38 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 39 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 40 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 41 + + + 01000DFAH LINE CODE --- #191 + 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 42 + + + 01000EB7H BLOCK CODE --- LVL=0 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 43 + + + 01000D4CH LINE CODE --- #516 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 44 + + + 01000C73H LINE CODE --- #769 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 45 + + + 01000685H LINE CODE --- #964 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 46 + + + 0100078DH LINE CODE --- #1050 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 47 + + + 0100104CH LINE CODE --- #1194 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 48 + + + --- BLOCKEND --- --- LVL=1 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 49 + + + 0100052AH LINE CODE --- #1419 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 50 + + + 01000617H LINE CODE --- #1486 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 51 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 52 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 53 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 54 + + + 010012E7H LINE CODE --- #55 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 55 + + + 00000006H SYMBOL DATA WORD cmp_data + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 56 + + + 01000428H BLOCK CODE NEAR LAB LVL=2 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:32:09 PAGE 57 + + + 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 + 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 10/23/2025 15:32:09 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/8ey_touch_f551s3_0014b5d7 _v2.map b/lst/8ey_touch_f551s3_0014b5d7 _v2.map new file mode 100644 index 0000000..00f97b7 --- /dev/null +++ b/lst/8ey_touch_f551s3_0014b5d7 _v2.map @@ -0,0 +1,3901 @@ +LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 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\8ey_touch_f551s3_0014b5d7 _v2 PRINT (.\lst\8ey_touch_f551s3_0014b5d7 _v2.map) REMOVEUNUSED CLASSES (XDAT +>> A (X:0X0-X:0X1FF), HDATA (X:0X0-X:0X1FF), CODE (C:0X0-C:0X1FFF), CONST (C:0X0-C:0X1FFF), ECODE (C:0X0-C:0X1FFF), HCON +>> ST (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\8ey_touch_f551s3_0014b5d7 _v2 (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 2 + + +X:000000H X:000000H X:0001FFH HDATA +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\8ey_touch_f551s3_0014b5d7 _v2 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 3 + + +0012FFH 001334H 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 4 + + +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 +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\8ey_touch_f551s3_0014b5d7 _v2 (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 10/23/2025 15:49:42 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 6 + + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + +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\8ey_touch_f551s3_0014b5d7 _v2 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 7 + + + 01000186H CODE --- ?C?ULDIV + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 8 + + +*SFR* 000000A8H.0 DATA BIT EX0 +*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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 9 + + + 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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 10 + + +*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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 11 + + +*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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 12 + + + 0000001AH DATA WORD TS_Key + 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\8ey_touch_f551s3_0014b5d7 _v2 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 13 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 14 + + + 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 + 00000080H.1 SFRSYM DATA BIT P01 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 15 + + + 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 + 000000B8H.4 SFRSYM DATA BIT PS0 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 16 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 17 + + + 01001231H LINE CODE --- #44 + --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 18 + + + 01000A9CH LINE CODE --- #396 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 19 + + + --- BLOCKEND --- --- LVL=0 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 20 + + + 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 + 0000008CH SFRSYM DATA BYTE TH0 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 21 + + + 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 + 000000B1H SFRSYM DATA BYTE PWM0CKD + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 22 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 23 + + + 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 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 24 + + + 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 + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 25 + + + 000000B4H SFRSYM DATA BYTE PWM3CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 26 + + + 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 10/23/2025 15:49:42 PAGE 27 + + + 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 10/23/2025 15:49:42 PAGE 28 + + + 000000B5H SFRSYM DATA BYTE PWM4CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 29 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 30 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 31 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 32 + + + 01000B1CH LINE CODE --- #30 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 33 + + + 01000BEDH LINE CODE --- #100 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 34 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 35 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 36 + + + 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 --- --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 37 + + + 01001588H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 38 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 39 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 40 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 41 + + + 01000DFAH LINE CODE --- #191 + 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 42 + + + 01000EB7H BLOCK CODE --- LVL=0 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 43 + + + 01000D4CH LINE CODE --- #516 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 44 + + + 01000C73H LINE CODE --- #769 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 45 + + + 01000685H LINE CODE --- #964 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 46 + + + 0100078DH LINE CODE --- #1050 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 47 + + + 0100104CH LINE CODE --- #1194 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 48 + + + --- BLOCKEND --- --- LVL=1 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 49 + + + 0100052AH LINE CODE --- #1419 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 50 + + + 01000617H LINE CODE --- #1486 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 51 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 52 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 53 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 54 + + + 010012E7H LINE CODE --- #55 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 55 + + + 00000006H SYMBOL DATA WORD cmp_data + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 56 + + + 01000428H BLOCK CODE NEAR LAB LVL=2 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:49:42 PAGE 57 + + + 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 + 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 10/23/2025 15:49:42 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/8ey_touch_f551s3_0014b5eb _v2.map b/lst/8ey_touch_f551s3_0014b5eb _v2.map new file mode 100644 index 0000000..2b7ab19 --- /dev/null +++ b/lst/8ey_touch_f551s3_0014b5eb _v2.map @@ -0,0 +1,3656 @@ +LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 1 + + +LX51 LINKER/LOCATER V4.66.97.0, INVOKED BY: +C:\KEIL5\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\8ey +>> _touch_f551s3_0014b5eb _v2 PRINT (.\lst\8ey_touch_f551s3_0014b5eb _v2.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:0X1F +>> FF)) + + +CPU MODE: 8051 MODE +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\hex\main.obj (MAIN) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\delay.obj (DELAY) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\system_clock.obj (SYSTEM_CLOCK) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\uart.obj (UART) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\interrupt.obj (INTERRUPT) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\rf_send.obj (RF_SEND) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\debug.obj (DEBUG) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\ts_api.obj (TS_API) + COMMENT TYPE 0: C51 V9.60.0.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 + C:\KEIL5\C51\LIB\C51S.LIB (?C_INIT) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?CSTPTR) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?IMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?UIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?SIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?IILDX) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?LMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?ULDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?ULSHR) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?OFFXADD) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?PLDCODE) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?CCASE) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?LIMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + + +ACTIVE MEMORY CLASSES OF MODULE: .\hex\8ey_touch_f551s3_0014b5eb _v2 (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 000173H XDATA + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 2 + + +X:000000H X:000000H X:0001FFH HDATA +C:000000H C:000000H C:001FFFH 001220H 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.5 BIT + + +MEMORY MAP OF MODULE: .\hex\8ey_touch_f551s3_0014b5eb _v2 (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.2 000000H.3 BIT UNIT BIT ?BI?TS_API +000020H.3 000020H.4 000000H.2 BIT UNIT BIT _BIT_GROUP_ +000020H.5 000020H 000000H.3 --- --- **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 000636H 00018BH BYTE UNIT CODE ?PR?TS_WHEELSLIDERDEAL?TS_API +000637H 000757H 000121H BYTE UNIT CODE ?PR?TS_SEVICE +000758H 00085DH 000106H BYTE UNIT CODE ?PR?MAIN?MAIN +00085EH 00095BH 0000FEH BYTE UNIT CODE ?PR?SEND433_BYTE?RF_SEND +00095CH 000A57H 0000FCH BYTE UNIT CODE ?PR?TSKEY_DATADEAL?TS_API +000A58H 000B3CH 0000E5H BYTE UNIT CODE ?PR?TS_API +000B3DH 000C18H 0000DCH BYTE UNIT CODE ?PR?TS_RUNINIT?TS_API +000C19H 000CF3H 0000DBH BYTE UNIT CODE ?PR?TS_ISR?TS_API +000CF4H 000DB0H 0000BDH BYTE UNIT CODE ?PR?TS_DATAFILTERING?TS_API +000DB1H 000E3DH 00008DH BYTE UNIT CODE ?PR?TS_INIT?TS_API +000E3EH 000EC9H 00008CH BYTE UNIT CODE ?C_C51STARTUP +000ECAH 000F42H 000079H BYTE UNIT CODE ?PR?INT3_ISR?INTERRUPT +000F43H 000FA1H 00005FH BYTE UNIT CODE ?PR?_TS_GETDATAAREA?TS_SEVICE +000FA2H 000FEFH 00004EH BYTE UNIT CODE ?PR?TS_SCANSTART?TS_SEVICE +000FF0H 001032H 000043H BYTE UNIT CODE ?PR?TS_ACTION?TS_API +001033H 001073H 000041H BYTE UNIT CODE ?PR?TIMER0_ISR?MAIN +001074H 0010B4H 000041H BYTE UNIT CODE ?PR?_SETWHEELSLIDERREFCH?TS_SEVICE +0010B5H 0010EEH 00003AH BYTE UNIT CODE ?PR?READ_32BIT_UID?MAIN +0010EFH 001128H 00003AH BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +001129H 001160H 000038H BYTE UNIT CODE ?PR?_TS_SETCHANNEL?TS_SEVICE + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 3 + + +001161H 00118FH 00002FH BYTE UNIT CODE ?PR?TS_IO_INIT?TS_SEVICE +001190H 0011BDH 00002EH BYTE UNIT CODE ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE +0011BEH 0011E9H 00002CH BYTE UNIT CODE ?C_INITSEG +0011EAH 001215H 00002CH BYTE UNIT CODE ?PR?MAIN +001216H 001228H 000013H BYTE UNIT CODE ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE +001229H 001327H 0000FFH BYTE UNIT CONST ?CO?MAIN +001328H 00135CH 000035H BYTE UNIT CONST ?CO?TS_API +00135DH 001383H 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 007FFFH 007ED8H --- --- **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 +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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 4 + + +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*: 00001AH BYTE UNIT CODE ?PR?_DELAY_50US?DELAY + *DEL*: 00001BH BYTE UNIT CODE ?PR?_DELAY_MS?DELAY + *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\8ey_touch_f551s3_0014b5eb _v2 (MAIN) + + +FUNCTION/MODULE BIT_GROUP DATA_GROUP +--> CALLED FUNCTION/MODULE START STOP START STOP +================================================================ +TIMER0_ISR/MAIN ----- ----- ----- ----- + +--> SEND433_BYTE/RF_SEND + +SEND433_BYTE/RF_SEND ----- ----- ----- ----- + +--> RF_SEND + +RF_SEND ----- ----- ----- ----- + +*** NEW ROOT ************************** + +INT2_HANDLER/INTERRUPT ----- ----- ----- ----- + +*** NEW ROOT ************************** + + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 5 + + +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_API + +--> TS_IO_INIT/TS_SEVICE + +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 + +--> TS_INIT/TS_API + +TS_RUNINIT/TS_API ----- ----- 0032H 0032H + +--> TS_SCANSTART/TS_SEVICE + +--> TS_API + +--> _TS_AREACONFIRMTIMERSET/TS_SEVICE + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- + +TS_DATAFILTERING/TS_API ----- ----- 0032H 0038H + +--> TS_API + + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 6 + + +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.3 20H.3 0035H 0036H + +--> TS_SEVICE + +TS_SEVICE ----- ----- ----- ----- + +TS_WHEELSLIDERDEAL/TS_API 20H.3 20H.3 0032H 0034H + +--> _SETWHEELSLIDERREFCH/TS_SEVICE + +--> _WHEELTOUCHJUDGE/TS_SEVICE + +--> TS_API + +_SETWHEELSLIDERREFCH/TS_SEVICE ----- ----- 0035H 0036H + +--> TS_SEVICE + +_WHEELTOUCHJUDGE/TS_SEVICE 20H.4 20H.4 0035H 0048H + +--> TS_SEVICE + +?C_INITSEG ----- ----- ----- ----- + + + +PUBLIC SYMBOLS OF MODULE: .\hex\8ey_touch_f551s3_0014b5eb _v2 (MAIN) + + + VALUE CLASS TYPE PUBLIC SYMBOL NAME + ================================================= + 00000020H.3 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 + 01000E85H CODE --- ?C_START + 01000000H CODE --- ?C_STARTUP +*DEL*:00000000H CODE --- _Delay_50us +*DEL*:00000000H CODE --- _Delay_ms + 01001074H CODE --- _SetWheelSliderRefCh +*DEL*:00000000H CODE --- _SliderTouchJudge + 01001216H CODE --- _TS_AreaConfirmTimerSet + 01001190H CODE --- _TS_AreaDeviateDetection + 01000F43H CODE --- _TS_GetDataArea + 01001129H 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 + 01001358H CONST --- AREA_CONFIRM_TIME_TAB + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 7 + + +*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 +*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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 8 + + + 02008032H XDATA BYTE IHCFG + 02008034H XDATA BYTE ILCFGH + 02008033H XDATA BYTE ILCFGL + 0100000AH CODE --- INT2_Handler + 01000ECAH 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 + 01000758H CODE --- main + 02000126H XDATA BYTE MainLoopCnt1 + 02000127H XDATA BYTE MainLoopCnt2 + 01001350H 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 +*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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 9 + + +*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 +*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 + 0100135DH CONST --- pXSFR +*SFR* 00000098H.2 DATA BIT RB8 + 010010B5H CODE --- Read_32bit_UID + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 10 + + +*SFR* 00000098H.4 DATA BIT REN + 01001229H 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 + 0100085EH 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 + 01001033H 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 +*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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 11 + + + 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 + 01000FF0H 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 + 01000CF4H CODE --- TS_DataFiltering + 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 + 01000DB1H CODE --- TS_init + 020000B4H XDATA BYTE TS_Init_Step + 01001161H CODE --- TS_IO_init + 01000C19H CODE --- TS_ISR + 0000001AH DATA WORD TS_Key + 01001328H CONST --- TS_KEY_CH_INFO_SEQ + 0000001CH DATA WORD TS_LongKeyTimer + 010010EFH CODE --- TS_MS_ISR + 020000B6H XDATA --- TS_PostData + 020000D1H XDATA --- TS_RawData + 0000005AH IDATA BYTE TS_RefCHBaseLineAdjuTimer + 01000B3DH CODE --- TS_RunInit + 01000FA2H CODE --- TS_ScanStart + 00000020H.2 BIT BIT TS_StableFlag + 0000004CH IDATA BYTE TS_State + 01001348H CONST --- TS_WHEEL_SLIDER_CH_SEQ + 010004ACH CODE --- TS_WheelSliderDeal + 0100095CH 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 12 + + + 00000020H.1 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 + 0100134CH 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\8ey_touch_f551s3_0014b5eb _v2 (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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 13 + + + 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 + 01001229H PUBLIC CONST --- rf_data + 01000758H PUBLIC CODE --- main + 010010B5H PUBLIC CODE --- Read_32bit_UID + 01001033H PUBLIC CODE --- TIMER0_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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 14 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 15 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 16 + + + 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 + + 010011EAH BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 01001033H BLOCK CODE --- LVL=0 + 01001033H LINE CODE --- #38 + 01001050H LINE CODE --- #40 + 01001053H LINE CODE --- #41 + 01001056H LINE CODE --- #43 + 01001059H LINE CODE --- #44 + --- BLOCKEND --- --- LVL=0 + + 010010B5H BLOCK CODE --- LVL=0 + 010010B5H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA DWORD ID + --- BLOCKEND --- --- LVL=1 + 010010B5H LINE CODE --- #69 + 010010B5H LINE CODE --- #70 + 010010B5H LINE CODE --- #72 + 010010BBH LINE CODE --- #73 + 010010C0H LINE CODE --- #74 + 010010C4H LINE CODE --- #75 + 010010CAH LINE CODE --- #76 + 010010D6H LINE CODE --- #77 + 010010DCH LINE CODE --- #78 + 010010DFH LINE CODE --- #79 + 010010DFH LINE CODE --- #80 + 010010E2H LINE CODE --- #81 + 010010E2H LINE CODE --- #82 + 010010E7H LINE CODE --- #83 + 010010ECH LINE CODE --- #84 + 010010EEH LINE CODE --- #85 + --- BLOCKEND --- --- LVL=0 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 17 + + + + 01000758H BLOCK CODE --- LVL=0 + 01000758H BLOCK CODE NEAR LAB LVL=1 + 0000002DH SYMBOL DATA DWORD addr + 00000031H SYMBOL DATA BYTE send_times + --- BLOCKEND --- --- LVL=1 + 01000758H LINE CODE --- #102 + 01000758H LINE CODE --- #103 + 01000758H LINE CODE --- #104 + 01000761H LINE CODE --- #105 + 01000763H LINE CODE --- #107 + 01000766H LINE CODE --- #115 + 0100076DH LINE CODE --- #116 + 01000770H LINE CODE --- #117 + 01000773H LINE CODE --- #118 + 01000776H LINE CODE --- #119 + 01000779H LINE CODE --- #121 + 0100077BH LINE CODE --- #123 + 0100077EH LINE CODE --- #125 + 01000784H LINE CODE --- #126 + 01000786H LINE CODE --- #128 + 01000792H LINE CODE --- #129 + 0100079DH LINE CODE --- #130 + 010007A0H LINE CODE --- #132 + 010007A3H LINE CODE --- #133 + 010007A6H LINE CODE --- #135 + 010007A9H LINE CODE --- #136 + 010007ACH LINE CODE --- #137 + 010007AFH LINE CODE --- #139 + 010007B1H LINE CODE --- #140 + 010007B3H LINE CODE --- #141 + 010007B5H LINE CODE --- #143 + 010007B5H LINE CODE --- #144 + 010007B5H LINE CODE --- #145 + 010007B8H LINE CODE --- #146 + 010007C7H LINE CODE --- #147 + 010007C7H LINE CODE --- #148 + 010007CAH LINE CODE --- #149 + 010007CDH LINE CODE --- #151 + 010007D0H LINE CODE --- #152 + 010007DEH LINE CODE --- #154 + 010007DEH LINE CODE --- #156 + 010007E5H LINE CODE --- #157 + 010007E5H LINE CODE --- #158 + 010007E8H LINE CODE --- #159 + 010007EBH LINE CODE --- #160 + 0100080BH LINE CODE --- #161 + 0100080BH LINE CODE --- #162 + 0100080BH LINE CODE --- #163 + 0100080EH LINE CODE --- #164 + 01000810H LINE CODE --- #165 + 01000810H LINE CODE --- #166 + 01000813H LINE CODE --- #167 + 01000815H LINE CODE --- #168 + 01000815H LINE CODE --- #169 + 01000818H LINE CODE --- #170 + 0100081AH LINE CODE --- #171 + 0100081AH LINE CODE --- #172 + 0100081DH LINE CODE --- #173 + 0100081FH LINE CODE --- #174 + 0100081FH LINE CODE --- #175 + 01000822H LINE CODE --- #176 + 01000824H LINE CODE --- #177 + 01000824H LINE CODE --- #178 + 01000827H LINE CODE --- #179 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 18 + + + 01000829H LINE CODE --- #180 + 01000829H LINE CODE --- #181 + 0100082CH LINE CODE --- #182 + 0100082EH LINE CODE --- #183 + 0100082EH LINE CODE --- #184 + 01000831H LINE CODE --- #185 + 01000833H LINE CODE --- #186 + 01000833H LINE CODE --- #187 + 01000836H LINE CODE --- #188 + 01000836H LINE CODE --- #189 + 01000836H LINE CODE --- #190 + 01000836H LINE CODE --- #192 + 01000848H LINE CODE --- #193 + 01000848H LINE CODE --- #194 + 0100084BH LINE CODE --- #195 + 0100084BH LINE CODE --- #358 + 01000854H LINE CODE --- #359 + 01000854H LINE CODE --- #360 + 01000856H LINE CODE --- #364 + 01000858H LINE CODE --- #365 + 0100085BH LINE CODE --- #366 + 0100085BH LINE CODE --- #368 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- DELAY + 00000006H SYMBOL DATA WORD n + 00000005H SYMBOL DATA BYTE i + 00000082H SYMBOL DATA WORD delay_nms + + --- 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 19 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 20 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 21 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 22 + + + 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 + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 23 + + + 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 + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 24 + + + 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 + 01000026H PUBLIC CODE --- INT4_ISR + 01000ECAH 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 25 + + + 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 + 000000E7H SFRSYM DATA BYTE TK3MSL + 000000F0H SFRSYM DATA BYTE B + 000000DAH SFRSYM DATA BYTE TK4MSL + 000000DCH SFRSYM DATA BYTE TK5MSL + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 26 + + + 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 + 00000097H SFRSYM DATA BYTE PWM5DUTH + 0000009FH SFRSYM DATA BYTE PWM2DUTL + 00000092H SFRSYM DATA BYTE PWM3DUTL + 00000098H SFRSYM DATA BYTE S0CON + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 27 + + + 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 + + 0100000AH BLOCK CODE --- LVL=0 + 0100000AH LINE CODE --- #28 + 0100000AH LINE CODE --- #40 + --- BLOCKEND --- --- LVL=0 + + 01000ECAH BLOCK CODE --- LVL=0 + 01000EE7H BLOCK CODE NEAR LAB LVL=1 + 0000001EH SYMBOL DATA BYTE TmCnt + --- BLOCKEND --- --- LVL=1 + 01000ECAH LINE CODE --- #42 + 01000EE7H LINE CODE --- #45 + 01000EECH LINE CODE --- #46 + 01000EECH LINE CODE --- #47 + 01000EEFH LINE CODE --- #59 + 01000EF2H LINE CODE --- #61 + 01000EF8H LINE CODE --- #62 + 01000EF8H LINE CODE --- #63 + 01000F00H LINE CODE --- #64 + 01000F00H LINE CODE --- #65 + 01000F02H LINE CODE --- #66 + 01000F0DH LINE CODE --- #67 + 01000F0DH LINE CODE --- #68 + 01000F10H LINE CODE --- #69 + 01000F13H LINE CODE --- #70 + 01000F13H LINE CODE --- #71 + 01000F20H LINE CODE --- #72 + 01000F20H LINE CODE --- #79 + 01000F25H LINE CODE --- #80 + 01000F25H LINE CODE --- #81 + 01000F28H LINE CODE --- #82 + 01000F28H 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 28 + + + 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 + 0100085EH PUBLIC CODE --- Send433_Byte + 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 + 000000D4H SFRSYM DATA BYTE EPIF + 000000EEH SFRSYM DATA BYTE ATK5CL + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 29 + + + 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 + 00000088H.2 SFRSYM DATA BIT IT1 + 000000CDH SFRSYM DATA BYTE TH2 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 30 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 31 + + + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 01000003H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 0100085EH BLOCK CODE --- LVL=0 + 0100085EH LINE CODE --- #29 + 0100085EH LINE CODE --- #30 + 0100085EH LINE CODE --- #31 + 01000873H LINE CODE --- #32 + 01000873H LINE CODE --- #33 + 01000873H LINE CODE --- #34 + 01000875H LINE CODE --- #35 + 01000886H LINE CODE --- #36 + 01000886H LINE CODE --- #37 + 0100088BH LINE CODE --- #38 + 0100088EH LINE CODE --- #39 + 0100088EH LINE CODE --- #40 + 0100088FH LINE CODE --- #41 + 0100088FH LINE CODE --- #42 + 01000891H LINE CODE --- #43 + 010008A5H LINE CODE --- #44 + 010008A5H LINE CODE --- #45 + 010008AAH LINE CODE --- #46 + 010008ADH LINE CODE --- #47 + 010008ADH LINE CODE --- #48 + 010008AEH LINE CODE --- #49 + 010008AEH LINE CODE --- #51 + 010008B2H LINE CODE --- #52 + 010008B2H LINE CODE --- #53 + 010008B5H LINE CODE --- #54 + 010008BDH LINE CODE --- #56 + 010008BDH LINE CODE --- #58 + 010008C5H LINE CODE --- #59 + 010008CAH LINE CODE --- #60 + 010008CAH LINE CODE --- #61 + 010008D5H LINE CODE --- #62 + 010008D5H LINE CODE --- #63 + 010008D7H LINE CODE --- #64 + 010008D9H LINE CODE --- #65 + 010008E4H LINE CODE --- #66 + 010008E4H LINE CODE --- #67 + 010008E6H LINE CODE --- #68 + 010008EEH LINE CODE --- #69 + 010008EEH LINE CODE --- #70 + 010008EEH LINE CODE --- #71 + 010008EEH LINE CODE --- #72 + 010008EEH LINE CODE --- #73 + 010008EEH LINE CODE --- #74 + 010008EEH LINE CODE --- #75 + 010008F0H LINE CODE --- #77 + 010008F0H LINE CODE --- #78 + 010008F8H LINE CODE --- #79 + 010008F8H LINE CODE --- #80 + 010008FAH LINE CODE --- #81 + 010008FCH LINE CODE --- #82 + 01000907H LINE CODE --- #83 + 01000907H LINE CODE --- #84 + 01000909H LINE CODE --- #85 + 01000911H LINE CODE --- #86 + 01000911H LINE CODE --- #87 + 01000915H LINE CODE --- #88 + 0100091BH LINE CODE --- #89 + 0100091DH LINE CODE --- #90 + 0100091DH LINE CODE --- #91 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 32 + + + 0100091DH LINE CODE --- #92 + 0100091DH LINE CODE --- #93 + 01000923H LINE CODE --- #94 + 01000923H LINE CODE --- #95 + 01000925H LINE CODE --- #97 + 01000927H LINE CODE --- #98 + 0100092FH LINE CODE --- #99 + 0100092FH LINE CODE --- #100 + 01000931H LINE CODE --- #102 + 01000937H LINE CODE --- #103 + 01000937H LINE CODE --- #104 + 0100093AH LINE CODE --- #105 + 0100093BH LINE CODE --- #107 + 0100093BH LINE CODE --- #108 + 0100093EH LINE CODE --- #109 + 0100093EH LINE CODE --- #111 + 0100093EH LINE CODE --- #112 + 0100093EH LINE CODE --- #113 + 0100093FH LINE CODE --- #115 + 0100093FH LINE CODE --- #116 + 0100094DH LINE CODE --- #117 + 0100094DH LINE CODE --- #118 + 0100094FH LINE CODE --- #119 + 01000950H LINE CODE --- #121 + 01000950H LINE CODE --- #122 + 01000952H LINE CODE --- #123 + 01000957H LINE CODE --- #125 + 01000959H LINE CODE --- #126 + 0100095BH LINE CODE --- #128 + 0100095BH LINE CODE --- #129 + 0100095BH LINE CODE --- #130 + 0100095BH LINE CODE --- #131 + 0100095BH LINE CODE --- #132 + 0100095BH 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 33 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 34 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 35 + + + 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 --- --- 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.2 PUBLIC BIT BIT TS_StableFlag + 02000122H PUBLIC XDATA BYTE WheelSliderTouchFlag + 00000020H.1 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 36 + + + 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 + 01001358H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 01001350H PUBLIC CONST --- MASK_TAB + 0100134CH PUBLIC CONST --- WHEEL_SLIDER0_MAX_MIN_TAB + 01001348H PUBLIC CONST --- TS_WHEEL_SLIDER_CH_SEQ + 01001328H PUBLIC CONST --- TS_KEY_CH_INFO_SEQ + 01000FF0H PUBLIC CODE --- TS_Action + 01000DB1H PUBLIC CODE --- TS_init + 010004ACH PUBLIC CODE --- TS_WheelSliderDeal + 0100095CH PUBLIC CODE --- TSKey_DataDeal + 01000B3DH PUBLIC CODE --- TS_RunInit + 01000CF4H PUBLIC CODE --- TS_DataFiltering + 01000C19H PUBLIC CODE --- TS_ISR + 0100000EH PUBLIC CODE --- TS_HS_ISR + 010010EFH 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 37 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 38 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 39 + + + 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 + + 01000A58H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 010010EFH BLOCK CODE --- LVL=0 + 010010EFH BLOCK CODE NEAR LAB LVL=1 + 02000000H SYMBOL XDATA BYTE ms_cnt + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010010EFH LINE CODE --- #106 + 010010EFH LINE CODE --- #107 + 010010EFH LINE CODE --- #111 + 010010F5H LINE CODE --- #112 + 010010FFH LINE CODE --- #113 + 010010FFH LINE CODE --- #114 + 01001101H LINE CODE --- #115 + 0100110BH LINE CODE --- #116 + 0100110BH LINE CODE --- #117 + 01001114H LINE CODE --- #118 + 01001114H LINE CODE --- #119 + 0100111DH LINE CODE --- #120 + 0100111DH LINE CODE --- #121 + 01001120H LINE CODE --- #123 + 01001126H LINE CODE --- #124 + 01001126H LINE CODE --- #125 + 01001128H LINE CODE --- #126 + 01001128H LINE CODE --- #138 + 01001128H 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 + + 01000C19H BLOCK CODE --- LVL=0 + 01000C19H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000021H SYMBOL DATA --- TS_Data + --- BLOCKEND --- --- LVL=1 + 01000C19H LINE CODE --- #177 + 01000C19H LINE CODE --- #178 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 40 + + + 01000C19H LINE CODE --- #188 + 01000C21H LINE CODE --- #189 + 01000C21H LINE CODE --- #190 + 01000C25H LINE CODE --- #191 + 01000C25H LINE CODE --- #193 + 01000C2AH LINE CODE --- #194 + 01000C2AH LINE CODE --- #195 + 01000C2DH LINE CODE --- #196 + 01000C30H LINE CODE --- #197 + 01000C33H LINE CODE --- #198 + 01000C33H LINE CODE --- #199 + 01000C38H LINE CODE --- #200 + 01000C38H LINE CODE --- #201 + 01000C3BH LINE CODE --- #202 + 01000C3EH LINE CODE --- #203 + 01000C41H LINE CODE --- #204 + 01000C41H LINE CODE --- #205 + 01000C46H LINE CODE --- #206 + 01000C46H LINE CODE --- #207 + 01000C49H LINE CODE --- #208 + 01000C4CH LINE CODE --- #209 + 01000C4FH LINE CODE --- #210 + 01000C4FH LINE CODE --- #211 + 01000C54H LINE CODE --- #212 + 01000C54H LINE CODE --- #213 + 01000C57H LINE CODE --- #214 + 01000C5AH LINE CODE --- #215 + 01000C5DH LINE CODE --- #216 + 01000C5DH LINE CODE --- #217 + 01000C62H LINE CODE --- #218 + 01000C62H LINE CODE --- #219 + 01000C65H LINE CODE --- #220 + 01000C68H LINE CODE --- #221 + 01000C6BH LINE CODE --- #222 + 01000C6BH LINE CODE --- #223 + 01000C70H LINE CODE --- #224 + 01000C70H LINE CODE --- #225 + 01000C73H LINE CODE --- #226 + 01000C76H LINE CODE --- #227 + 01000C79H LINE CODE --- #228 + 01000C79H LINE CODE --- #230 + 01000C85H LINE CODE --- #231 + 01000C85H LINE CODE --- #264 + 01000C85H LINE CODE --- #266 + 01000C9DH LINE CODE --- #270 + 01000C9DH LINE CODE --- #271 + 01000CAFH LINE CODE --- #272 + 01000CAFH LINE CODE --- #273 + 01000CAFH LINE CODE --- #274 + 01000CAFH LINE CODE --- #276 + 01000CB2H LINE CODE --- #294 + 01000CC8H LINE CODE --- #295 + 01000CC8H LINE CODE --- #297 + 01000CCAH LINE CODE --- #311 + 01000CCDH LINE CODE --- #312 + 01000CCFH LINE CODE --- #314 + 01000CCFH LINE CODE --- #315 + 01000CD5H LINE CODE --- #316 + 01000CD5H LINE CODE --- #317 + 01000CD8H LINE CODE --- #318 + 01000CE0H LINE CODE --- #319 + 01000CEDH LINE CODE --- #320 + 01000CEDH LINE CODE --- #321 + 01000CF0H LINE CODE --- #322 + 01000CF3H LINE CODE --- #323 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 41 + + + 01000CF3H LINE CODE --- #324 + --- BLOCKEND --- --- LVL=0 + + 01000CF4H BLOCK CODE --- LVL=0 + 01000CF4H 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 + 01000CF4H LINE CODE --- #325 + 01000CF4H LINE CODE --- #326 + 01000CF4H LINE CODE --- #332 + 01000D06H LINE CODE --- #333 + 01000D06H LINE CODE --- #337 + 01000D0CH LINE CODE --- #338 + 01000D14H LINE CODE --- #339 + 01000D14H LINE CODE --- #340 + 01000D19H LINE CODE --- #341 + 01000D19H LINE CODE --- #342 + 01000D1BH LINE CODE --- #343 + 01000D3AH LINE CODE --- #344 + 01000D3CH LINE CODE --- #346 + 01000D41H LINE CODE --- #347 + 01000D45H LINE CODE --- #348 + 01000D4BH LINE CODE --- #349 + 01000D53H LINE CODE --- #350 + 01000D53H LINE CODE --- #351 + 01000D6BH LINE CODE --- #353 + 01000D74H LINE CODE --- #354 + 01000D74H LINE CODE --- #355 + 01000D78H LINE CODE --- #356 + 01000D78H LINE CODE --- #357 + 01000D81H LINE CODE --- #358 + 01000D81H LINE CODE --- #359 + 01000D85H LINE CODE --- #360 + 01000D85H LINE CODE --- #362 + 01000D88H LINE CODE --- #366 + 01000DABH LINE CODE --- #369 + 01000DB0H LINE CODE --- #370 + --- BLOCKEND --- --- LVL=0 + + 01000B3DH BLOCK CODE --- LVL=0 + 01000B3DH 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 + 01000B3DH LINE CODE --- #418 + 01000B3DH LINE CODE --- #419 + 01000B3DH LINE CODE --- #425 + 01000B43H LINE CODE --- #426 + 01000B43H LINE CODE --- #439 + 01000B45H LINE CODE --- #440 + 01000B49H LINE CODE --- #441 + 01000B4BH LINE CODE --- #442 + 01000B4EH LINE CODE --- #448 + 01000B54H LINE CODE --- #449 + 01000B57H LINE CODE --- #451 + 01000B58H LINE CODE --- #492 + 01000B63H LINE CODE --- #493 + 01000B63H LINE CODE --- #494 + 01000B69H LINE CODE --- #495 + 01000B69H LINE CODE --- #496 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 42 + + + 01000B6BH LINE CODE --- #497 + 01000B74H LINE CODE --- #498 + 01000B74H LINE CODE --- #500 + 01000B74H LINE CODE --- #516 + 01000B77H LINE CODE --- #517 + 01000B88H LINE CODE --- #518 + 01000B88H LINE CODE --- #519 + 01000B90H LINE CODE --- #520 + 01000B90H LINE CODE --- #521 + 01000BA9H LINE CODE --- #522 + 01000BACH LINE CODE --- #523 + 01000BB5H LINE CODE --- #529 + 01000BBCH LINE CODE --- #530 + 01000BC4H LINE CODE --- #531 + 01000BD1H LINE CODE --- #537 + 01000BD8H LINE CODE --- #538 + 01000BD8H LINE CODE --- #542 + 01000BFCH LINE CODE --- #544 + 01000C03H LINE CODE --- #545 + 01000C05H LINE CODE --- #547 + 01000C05H LINE CODE --- #548 + 01000C0FH LINE CODE --- #549 + 01000C0FH LINE CODE --- #560 + 01000C14H LINE CODE --- #573 + 01000C18H LINE CODE --- #574 + 01000C18H LINE CODE --- #575 + 01000C18H LINE CODE --- #576 + --- BLOCKEND --- --- LVL=0 + + 0100095CH BLOCK CODE --- LVL=0 + 0100095CH BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000033H SYMBOL DATA BYTE TouchArea + 00000034H SYMBOL DATA BYTE NowArea + --- BLOCKEND --- --- LVL=1 + 0100095CH LINE CODE --- #676 + 0100095CH LINE CODE --- #677 + 0100095CH LINE CODE --- #683 + 01000969H LINE CODE --- #684 + 01000969H LINE CODE --- #696 + 01000976H LINE CODE --- #697 + 01000980H LINE CODE --- #699 + 0100098AH LINE CODE --- #700 + 0100098AH LINE CODE --- #701 + 0100098CH LINE CODE --- #702 + 0100098CH LINE CODE --- #709 + 01000990H LINE CODE --- #710 + 01000990H LINE CODE --- #711 + 01000994H LINE CODE --- #712 + 01000994H LINE CODE --- #713 + 01000999H LINE CODE --- #714 + 01000999H LINE CODE --- #715 + 010009A2H LINE CODE --- #716 + 010009A2H LINE CODE --- #717 + 010009A5H LINE CODE --- #721 + 010009A5H LINE CODE --- #722 + 010009A5H LINE CODE --- #723 + 010009A7H LINE CODE --- #725 + 010009A7H LINE CODE --- #737 + 010009ADH LINE CODE --- #754 + 010009ADH LINE CODE --- #755 + 010009AFH LINE CODE --- #757 + 010009AFH LINE CODE --- #758 + 010009B4H LINE CODE --- #759 + 010009B4H LINE CODE --- #760 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 43 + + + 010009BAH LINE CODE --- #761 + 010009BAH LINE CODE --- #766 + 010009BEH LINE CODE --- #768 + 010009BEH LINE CODE --- #769 + 010009BEH LINE CODE --- #773 + 010009BEH LINE CODE --- #774 + 010009C0H LINE CODE --- #782 + 010009C0H LINE CODE --- #784 + 010009C0H LINE CODE --- #785 + 010009C4H LINE CODE --- #786 + 010009C4H LINE CODE --- #787 + 010009CCH LINE CODE --- #788 + 010009CEH LINE CODE --- #789 + 010009D0H LINE CODE --- #790 + 010009D0H LINE CODE --- #791 + 010009D0H LINE CODE --- #792 + 010009D5H LINE CODE --- #793 + 010009D5H LINE CODE --- #794 + 010009E2H LINE CODE --- #795 + 010009E4H LINE CODE --- #796 + 010009E6H LINE CODE --- #797 + 010009E6H LINE CODE --- #798 + 010009FDH LINE CODE --- #799 + 010009FDH LINE CODE --- #800 + 01000A03H LINE CODE --- #801 + 01000A03H LINE CODE --- #802 + 01000A0BH LINE CODE --- #803 + 01000A18H LINE CODE --- #813 + 01000A1AH LINE CODE --- #814 + 01000A1AH LINE CODE --- #815 + 01000A1CH LINE CODE --- #817 + 01000A1CH LINE CODE --- #818 + 01000A24H LINE CODE --- #819 + 01000A2BH LINE CODE --- #820 + 01000A2BH LINE CODE --- #821 + 01000A30H LINE CODE --- #895 + 01000A37H LINE CODE --- #898 + 01000A39H LINE CODE --- #899 + 01000A39H LINE CODE --- #900 + 01000A3CH LINE CODE --- #901 + 01000A3DH LINE CODE --- #903 + 01000A3DH LINE CODE --- #904 + 01000A40H LINE CODE --- #905 + 01000A40H LINE CODE --- #906 + --- 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.3 SYMBOL BIT BIT WheelSliderTogFlag + --- 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 --- #957 + 010004C4H LINE CODE --- #959 + 010004CCH LINE CODE --- #960 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 44 + + + 010004CCH LINE CODE --- #961 + 010004CEH LINE CODE --- #962 + 010004CEH LINE CODE --- #963 + 010004D8H LINE CODE --- #964 + 010004D8H LINE CODE --- #965 + 010004E1H LINE CODE --- #966 + 010004E1H LINE CODE --- #967 + 010004E9H LINE CODE --- #968 + 010004E9H LINE CODE --- #969 + 010004ECH LINE CODE --- #970 + 010004F1H LINE CODE --- #971 + 010004F4H LINE CODE --- #973 + 010004F4H LINE CODE --- #974 + 010004FFH LINE CODE --- #975 + 010004FFH LINE CODE --- #976 + 01000514H LINE CODE --- #977 + 01000514H LINE CODE --- #978 + 01000519H LINE CODE --- #979 + 0100051BH LINE CODE --- #981 + 0100051BH LINE CODE --- #982 + 01000536H LINE CODE --- #983 + 01000536H LINE CODE --- #984 + 01000541H LINE CODE --- #985 + 01000541H LINE CODE --- #986 + 0100054BH LINE CODE --- #987 + 0100054BH LINE CODE --- #988 + 01000558H LINE CODE --- #989 + 01000560H LINE CODE --- #990 + 01000560H LINE CODE --- #991 + 01000560H LINE CODE --- #992 + 01000562H LINE CODE --- #994 + 01000562H LINE CODE --- #995 + 01000577H LINE CODE --- #996 + 01000581H LINE CODE --- #997 + 01000581H LINE CODE --- #998 + 01000586H LINE CODE --- #999 + 01000586H LINE CODE --- #1000 + 01000586H LINE CODE --- #1002 + 01000586H LINE CODE --- #1003 + 0100058EH LINE CODE --- #1004 + 0100058EH LINE CODE --- #1005 + 01000594H LINE CODE --- #1006 + 01000594H LINE CODE --- #1007 + 01000599H LINE CODE --- #1011 + 01000599H LINE CODE --- #1012 + 0100059BH LINE CODE --- #1014 + 0100059BH LINE CODE --- #1015 + 010005A0H LINE CODE --- #1016 + 010005A8H LINE CODE --- #1017 + 010005A8H LINE CODE --- #1018 + 010005B2H LINE CODE --- #1019 + 010005B6H LINE CODE --- #1020 + 010005B6H LINE CODE --- #1021 + 010005B6H LINE CODE --- #1022 + 010005B6H LINE CODE --- #1023 + 010005BBH LINE CODE --- #1024 + 010005BBH LINE CODE --- #1037 + 010005C1H LINE CODE --- #1038 + 010005C1H LINE CODE --- #1039 + 010005C9H LINE CODE --- #1040 + 010005C9H LINE CODE --- #1041 + 010005CAH LINE CODE --- #1042 + 010005D0H LINE CODE --- #1043 + 010005D0H LINE CODE --- #1044 + 010005D2H LINE CODE --- #1046 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 45 + + + 010005D2H LINE CODE --- #1047 + 010005DAH LINE CODE --- #1048 + 010005DAH LINE CODE --- #1049 + 010005E0H LINE CODE --- #1050 + 010005E0H LINE CODE --- #1052 + 010005E4H LINE CODE --- #1053 + 010005E7H LINE CODE --- #1054 + 010005EAH LINE CODE --- #1055 + 010005F2H LINE CODE --- #1056 + 010005F2H LINE CODE --- #1057 + 010005FCH LINE CODE --- #1058 + 01000600H LINE CODE --- #1059 + 01000600H LINE CODE --- #1060 + 01000600H LINE CODE --- #1062 + 01000600H LINE CODE --- #1063 + 01000606H LINE CODE --- #1064 + 01000606H LINE CODE --- #1065 + 01000606H LINE CODE --- #1066 + 01000606H LINE CODE --- #1067 + 0100060EH LINE CODE --- #1068 + 0100060EH LINE CODE --- #1069 + 01000616H LINE CODE --- #1070 + 01000616H LINE CODE --- #1071 + 0100061EH LINE CODE --- #1072 + 0100061EH LINE CODE --- #1107 + 01000620H LINE CODE --- #1109 + 01000620H LINE CODE --- #1110 + 01000623H LINE CODE --- #1111 + 01000623H LINE CODE --- #1113 + 0100062FH LINE CODE --- #1114 + 0100062FH LINE CODE --- #1115 + 01000632H LINE CODE --- #1116 + 01000633H LINE CODE --- #1118 + 01000633H LINE CODE --- #1119 + 01000636H LINE CODE --- #1120 + 01000636H LINE CODE --- #1121 + --- BLOCKEND --- --- LVL=0 + + 01000DB1H BLOCK CODE --- LVL=0 + 01000DB1H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE ch_idx + --- BLOCKEND --- --- LVL=1 + 01000DB1H LINE CODE --- #1124 + 01000DB1H LINE CODE --- #1125 + 01000DB1H LINE CODE --- #1131 + 01000DB5H LINE CODE --- #1132 + 01000DB7H LINE CODE --- #1133 + 01000DC5H LINE CODE --- #1134 + 01000DC5H LINE CODE --- #1136 + 01000DCDH LINE CODE --- #1137 + 01000DCDH LINE CODE --- #1138 + 01000DDCH LINE CODE --- #1139 + 01000DDEH LINE CODE --- #1141 + 01000DDEH LINE CODE --- #1142 + 01000DECH LINE CODE --- #1143 + 01000DECH LINE CODE --- #1149 + 01000DEFH LINE CODE --- #1150 + 01000DF6H LINE CODE --- #1151 + 01000DF9H LINE CODE --- #1152 + 01000DFCH LINE CODE --- #1153 + 01000DFEH LINE CODE --- #1155 + 01000E01H LINE CODE --- #1158 + 01000E04H LINE CODE --- #1163 + 01000E07H LINE CODE --- #1164 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 46 + + + 01000E0DH LINE CODE --- #1189 + 01000E0FH LINE CODE --- #1191 + 01000E11H LINE CODE --- #1193 + 01000E16H LINE CODE --- #1194 + 01000E19H LINE CODE --- #1196 + 01000E1BH LINE CODE --- #1208 + 01000E1DH LINE CODE --- #1210 + 01000E21H LINE CODE --- #1211 + 01000E24H LINE CODE --- #1212 + 01000E27H LINE CODE --- #1213 + 01000E2EH LINE CODE --- #1215 + 01000E31H LINE CODE --- #1216 + 01000E35H LINE CODE --- #1224 + 01000E3DH LINE CODE --- #1231 + --- BLOCKEND --- --- LVL=0 + + 01000FF0H BLOCK CODE --- LVL=0 + 01000FF0H LINE CODE --- #1234 + 01000FF0H LINE CODE --- #1235 + 01000FF0H LINE CODE --- #1236 + 01000FF9H LINE CODE --- #1237 + 01000FF9H LINE CODE --- #1238 + 01000FF9H LINE CODE --- #1239 + 01000FFCH LINE CODE --- #1240 + 01000FFCH LINE CODE --- #1241 + 01000FFCH LINE CODE --- #1242 + 01000FFFH LINE CODE --- #1243 + 01000FFFH LINE CODE --- #1244 + 01001001H LINE CODE --- #1246 + 0100100AH LINE CODE --- #1253 + 0100100DH LINE CODE --- #1254 + 0100100FH LINE CODE --- #1267 + 01001015H LINE CODE --- #1268 + 01001015H LINE CODE --- #1269 + 01001018H LINE CODE --- #1270 + 01001018H LINE CODE --- #1276 + 0100101EH LINE CODE --- #1277 + 0100101EH LINE CODE --- #1278 + 01001021H LINE CODE --- #1279 + 01001021H LINE CODE --- #1309 + 01001021H LINE CODE --- #1310 + 01001029H LINE CODE --- #1311 + 01001029H LINE CODE --- #1312 + 0100102CH LINE CODE --- #1313 + 0100102FH LINE CODE --- #1314 + 01001032H LINE CODE --- #1315 + 01001032H LINE CODE --- #1316 + 01001032H LINE CODE --- #1317 + 01001032H LINE CODE --- #1318 + 01001032H LINE CODE --- #1319 + 01001032H LINE CODE --- #1328 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- TS_SEVICE + 0100135DH PUBLIC CONST --- pXSFR + 01000296H PUBLIC CODE --- _WheelTouchJudge + 01001074H PUBLIC CODE --- _SetWheelSliderRefCh + 01001216H PUBLIC CODE --- _TS_AreaConfirmTimerSet + 01001190H PUBLIC CODE --- _TS_AreaDeviateDetection + 00000020H.3 PUBLIC BIT BIT ?_TS_GetDataArea?BIT + 01000F43H PUBLIC CODE --- _TS_GetDataArea + 01000FA2H PUBLIC CODE --- TS_ScanStart + 01001129H PUBLIC CODE --- _TS_SetChannel + 01001161H PUBLIC CODE --- TS_IO_init + 00000080H SFRSYM DATA BYTE P0 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 47 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 48 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 49 + + + 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 + 000000A0H SFRSYM DATA BYTE WDCON + 000000B6H SFRSYM DATA BYTE PWM5CKD + + 01000637H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 01001161H BLOCK CODE --- LVL=0 + 01001161H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 50 + + + 00000001H SYMBOL DATA --- pPinS + --- BLOCKEND --- --- LVL=1 + 01001161H LINE CODE --- #32 + 01001161H LINE CODE --- #33 + 01001161H LINE CODE --- #36 + 01001167H LINE CODE --- #38 + 01001172H LINE CODE --- #39 + 01001172H LINE CODE --- #40 + 01001187H LINE CODE --- #41 + 0100118CH LINE CODE --- #42 + 0100118FH LINE CODE --- #43 + --- BLOCKEND --- --- LVL=0 + + 01001129H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE index + 00000005H SYMBOL DATA BYTE ch + 01001129H LINE CODE --- #44 + 01001129H LINE CODE --- #45 + 01001129H LINE CODE --- #46 + 0100113DH LINE CODE --- #47 + 0100113DH LINE CODE --- #48 + 0100113DH LINE CODE --- #49 + 01001142H LINE CODE --- #50 + 01001143H LINE CODE --- #51 + 01001143H LINE CODE --- #52 + 01001148H LINE CODE --- #53 + 01001149H LINE CODE --- #54 + 01001149H LINE CODE --- #55 + 0100114EH LINE CODE --- #56 + 0100114FH LINE CODE --- #57 + 0100114FH LINE CODE --- #58 + 01001154H LINE CODE --- #59 + 01001155H LINE CODE --- #60 + 01001155H LINE CODE --- #61 + 0100115AH LINE CODE --- #62 + 0100115BH LINE CODE --- #63 + 0100115BH LINE CODE --- #64 + 01001160H LINE CODE --- #65 + 01001160H LINE CODE --- #66 + 01001160H LINE CODE --- #67 + --- BLOCKEND --- --- LVL=0 + + 01000FA2H BLOCK CODE --- LVL=0 + 01000FA2H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000004H SYMBOL DATA BYTE j + --- BLOCKEND --- --- LVL=1 + 01000FA2H LINE CODE --- #68 + 01000FA2H LINE CODE --- #69 + 01000FA2H LINE CODE --- #71 + 01000FAAH LINE CODE --- #72 + 01000FAAH LINE CODE --- #73 + 01000FC1H LINE CODE --- #74 + 01000FC1H LINE CODE --- #75 + 01000FC8H LINE CODE --- #76 + 01000FD1H LINE CODE --- #77 + 01000FD1H LINE CODE --- #78 + 01000FD8H LINE CODE --- #79 + 01000FDBH LINE CODE --- #80 + 01000FDBH LINE CODE --- #81 + 01000FDBH LINE CODE --- #82 + 01000FE9H LINE CODE --- #83 + 01000FECH LINE CODE --- #84 + 01000FEFH LINE CODE --- #85 + --- BLOCKEND --- --- LVL=0 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 51 + + + + 01000F43H BLOCK CODE --- LVL=0 + 00000001H SYMBOL DATA BYTE ts_ch + 00000004H SYMBOL DATA WORD ts_data + 00000035H SYMBOL DATA INT NoiseThd + 00000020H.3 SYMBOL BIT BIT key_pressed_flag + 01000F49H BLOCK CODE NEAR LAB LVL=1 + 00000002H SYMBOL DATA INT Delta + 00000006H SYMBOL DATA INT FingerThd + --- BLOCKEND --- --- LVL=1 + 01000F43H LINE CODE --- #86 + 01000F49H LINE CODE --- #87 + 01000F49H LINE CODE --- #91 + 01000F59H LINE CODE --- #92 + 01000F60H LINE CODE --- #94 + 01000F63H LINE CODE --- #95 + 01000F63H LINE CODE --- #96 + 01000F6EH LINE CODE --- #97 + 01000F6EH LINE CODE --- #99 + 01000F76H LINE CODE --- #100 + 01000F84H LINE CODE --- #101 + 01000F8FH LINE CODE --- #102 + 01000FA1H LINE CODE --- #103 + 01000FA1H LINE CODE --- #104 + --- BLOCKEND --- --- LVL=0 + + 01001190H BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD cmp_data + 00000004H SYMBOL DATA WORD real_data + 00000002H SYMBOL DATA INT range + 01001190H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA INT Delta + --- BLOCKEND --- --- LVL=1 + 01001190H LINE CODE --- #105 + 01001190H LINE CODE --- #106 + 01001190H LINE CODE --- #108 + 01001197H LINE CODE --- #109 + 010011B8H LINE CODE --- #110 + 010011B8H LINE CODE --- #111 + 010011BBH LINE CODE --- #112 + 010011BBH LINE CODE --- #114 + 010011BBH LINE CODE --- #115 + 010011BDH LINE CODE --- #116 + 010011BDH LINE CODE --- #117 + --- BLOCKEND --- --- LVL=0 + + 01001216H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE ts_ch + 00000005H SYMBOL DATA BYTE area + 01001216H LINE CODE --- #130 + 01001216H LINE CODE --- #131 + 01001216H LINE CODE --- #132 + 01001228H LINE CODE --- #133 + --- BLOCKEND --- --- LVL=0 + + 01001074H BLOCK CODE --- LVL=0 + 00000001H SYMBOL DATA BYTE Slider_Cnt + 01001076H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000006H SYMBOL DATA BYTE j + 00000035H SYMBOL DATA WORD MinVal + --- BLOCKEND --- --- LVL=1 + 01001074H LINE CODE --- #134 + 01001076H LINE CODE --- #135 + 01001076H LINE CODE --- #138 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 52 + + + 0100107CH LINE CODE --- #139 + 01001093H LINE CODE --- #140 + 01001093H LINE CODE --- #141 + 010010A7H LINE CODE --- #142 + 010010A7H LINE CODE --- #143 + 010010ACH LINE CODE --- #144 + 010010B0H LINE CODE --- #145 + 010010B0H LINE CODE --- #146 + 010010B4H 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.4 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 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 53 + + + 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 + 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 + 01000E41H 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 + 01000E3EH SYMBOL CODE --- STARTUP1 + 00000000H SYMBOL NUMBER --- XBPSTACK + 00000000H SYMBOL NUMBER --- XBPSTACKTOP + 00000000H SYMBOL NUMBER --- XDATALEN + 00000000H SYMBOL NUMBER --- XDATASTART + 01000000H LINE CODE --- #126 + LX51 LINKER/LOCATER V4.66.97.0 11/22/2025 13:39:57 PAGE 54 + + + 01000E3EH LINE CODE --- #133 + 01000E40H LINE CODE --- #134 + 01000E41H LINE CODE --- #135 + 01000E42H LINE CODE --- #136 + 01000E44H LINE CODE --- #185 + 01000E47H LINE CODE --- #196 + + --- MODULE --- --- ?C_INIT + 01000E85H 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=93.5 xdata=371 const=347 code=4640 +LX51 RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/8ey_touch_f551s3_0014b5f5 _v2.map b/lst/8ey_touch_f551s3_0014b5f5 _v2.map new file mode 100644 index 0000000..05b0875 --- /dev/null +++ b/lst/8ey_touch_f551s3_0014b5f5 _v2.map @@ -0,0 +1,3901 @@ +LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 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\8ey_touch_f551s3_0014b5f5 _v2 PRINT (.\lst\8ey_touch_f551s3_0014b5f5 _v2.map) REMOVEUNUSED CLASSES (XD +>> ATA (X:0X0-X:0X1FF), HDATA (X:0X0-X:0X1FF), CODE (C:0X0-C:0X1FFF), CONST (C:0X0-C:0X1FFF), ECODE (C:0X0-C:0X1FFF), HC +>> ONST (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\8ey_touch_f551s3_0014b5f5 _v2 (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 2 + + +X:000000H X:000000H X:0001FFH HDATA +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\8ey_touch_f551s3_0014b5f5 _v2 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 3 + + +0012FFH 001334H 000036H BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 4 + + +008108H 008108H 000001H BYTE OFFS.. XDATA ?XD?MAIN?1 +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\8ey_touch_f551s3_0014b5f5 _v2 (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 10/23/2025 15:58:40 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 6 + + +_TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- + +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\8ey_touch_f551s3_0014b5f5 _v2 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 7 + + + 01000186H CODE --- ?C?ULDIV + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 8 + + +*SFR* 000000A8H.0 DATA BIT EX0 +*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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 9 + + + 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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 10 + + +*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.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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 11 + + +*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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 12 + + + 0000001AH DATA WORD TS_Key + 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\8ey_touch_f551s3_0014b5f5 _v2 (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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 13 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 14 + + + 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 + 00000080H.1 SFRSYM DATA BIT P01 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 15 + + + 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 + 000000B8H.4 SFRSYM DATA BIT PS0 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 16 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 17 + + + 01001231H LINE CODE --- #44 + --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 18 + + + 01000A9CH LINE CODE --- #396 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 19 + + + --- BLOCKEND --- --- LVL=0 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 20 + + + 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 + 0000008CH SFRSYM DATA BYTE TH0 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 21 + + + 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 + 000000B1H SFRSYM DATA BYTE PWM0CKD + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 22 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 23 + + + 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 + 00000098H.1 SFRSYM DATA BIT TI0 + 00000088H.0 SFRSYM DATA BIT IT0 + 0000008DH SFRSYM DATA BYTE TH1 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 24 + + + 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 + 000000D0H SFRSYM DATA BYTE PSW + 000000B3H SFRSYM DATA BYTE PWM2CKD + 000000D8H SFRSYM DATA BYTE UDCKS + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 25 + + + 000000B4H SFRSYM DATA BYTE PWM3CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 26 + + + 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 10/23/2025 15:58:40 PAGE 27 + + + 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 10/23/2025 15:58:40 PAGE 28 + + + 000000B5H SFRSYM DATA BYTE PWM4CKD + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 29 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 30 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 31 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 32 + + + 01000B1CH LINE CODE --- #30 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 33 + + + 01000BEDH LINE CODE --- #100 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 34 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 35 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 36 + + + 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 --- --- 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 37 + + + 01001588H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 38 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 39 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 40 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 41 + + + 01000DFAH LINE CODE --- #191 + 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 + + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 42 + + + 01000EB7H BLOCK CODE --- LVL=0 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 43 + + + 01000D4CH LINE CODE --- #516 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 44 + + + 01000C73H LINE CODE --- #769 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 45 + + + 01000685H LINE CODE --- #964 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 46 + + + 0100078DH LINE CODE --- #1050 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 47 + + + 0100104CH LINE CODE --- #1194 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 48 + + + --- BLOCKEND --- --- LVL=1 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 49 + + + 0100052AH LINE CODE --- #1419 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 50 + + + 01000617H LINE CODE --- #1486 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 51 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 52 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 53 + + + 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 + + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 54 + + + 010012E7H LINE CODE --- #55 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 55 + + + 00000006H SYMBOL DATA WORD cmp_data + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 56 + + + 01000428H BLOCK CODE NEAR LAB LVL=2 + 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 + LX51 LINKER/LOCATER V4.66.100.0 10/23/2025 15:58:40 PAGE 57 + + + 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 + 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 10/23/2025 15:58:40 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/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.map b/lst/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.map new file mode 100644 index 0000000..e09d010 --- /dev/null +++ b/lst/RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.map @@ -0,0 +1,3831 @@ +LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 1 + + +LX51 LINKER/LOCATER V4.66.97.0, INVOKED BY: +C:\KEIL5\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\RE5 +>> 1_RGB_8ey_touch_f551s3_0014b5eb _v2 PRINT (.\lst\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2.map) REMOVEUNUSED CLASSES (XD +>> ATA (X:0X0-X:0X1FF), HDATA (X:0X0-X:0X1FF), CODE (C:0X0-C:0X1FFF), CONST (C:0X0-C:0X1FFF), ECODE (C:0X0-C:0X1FFF), HC +>> ONST (C:0X0-C:0X1FFF)) + + +CPU MODE: 8051 MODE +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\hex\main.obj (MAIN) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\delay.obj (DELAY) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\system_clock.obj (SYSTEM_CLOCK) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\uart.obj (UART) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\interrupt.obj (INTERRUPT) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\rf_send.obj (RF_SEND) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\debug.obj (DEBUG) + COMMENT TYPE 0: C51 V9.60.0.0 + .\hex\ts_api.obj (TS_API) + COMMENT TYPE 0: C51 V9.60.0.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 + C:\KEIL5\C51\LIB\C51S.LIB (?C_INIT) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?CSTPTR) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?IMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?UIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?SIDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?IILDX) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?LMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?ULDIV) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?ULSHR) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?OFFXADD) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?PLDCODE) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?CCASE) + COMMENT TYPE 1: A51 / ASM51 Assembler + C:\KEIL5\C51\LIB\C51S.LIB (?C?LIMUL) + COMMENT TYPE 1: A51 / ASM51 Assembler + + +ACTIVE MEMORY CLASSES OF MODULE: .\hex\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 (MAIN) + +BASE START END USED MEMORY CLASS +========================================================== +X:000000H X:000000H X:0001FFH 0001A3H XDATA + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 2 + + +X:000000H X:000000H X:0001FFH HDATA +C:000000H C:000000H C:001FFFH 0013D8H 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\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 (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 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 00066FH 0001C4H BYTE UNIT CODE ?PR?TS_ENTERSLEEPMODE?TS_API +000670H 0007FAH 00018BH BYTE UNIT CODE ?PR?TS_WHEELSLIDERDEAL?TS_API +0007FBH 000921H 000127H BYTE UNIT CODE ?PR?TS_API +000922H 000A42H 000121H BYTE UNIT CODE ?PR?TS_SEVICE +000A43H 000B48H 000106H BYTE UNIT CODE ?PR?MAIN?MAIN +000B49H 000C45H 0000FDH BYTE UNIT CODE ?PR?TSKEY_DATADEAL?TS_API +000C46H 000D23H 0000DEH BYTE UNIT CODE ?PR?TS_RUNINIT?TS_API +000D24H 000DF1H 0000CEH BYTE UNIT CODE ?PR?TS_ISR?TS_API +000DF2H 000EAFH 0000BEH BYTE UNIT CODE ?PR?TS_DATAFILTERING?TS_API +000EB0H 000F3BH 00008CH BYTE UNIT CODE ?PR?TS_INIT?TS_API +000F3CH 000FC7H 00008CH BYTE UNIT CODE ?C_C51STARTUP +000FC8H 00104EH 000087H BYTE UNIT CODE ?PR?INT3_ISR?INTERRUPT +00104FH 0010B1H 000063H BYTE UNIT CODE ?PR?TS_ACTION?TS_API +0010B2H 001110H 00005FH BYTE UNIT CODE ?PR?_TS_GETDATAAREA?TS_SEVICE +001111H 00115EH 00004EH BYTE UNIT CODE ?PR?TS_SCANSTART?TS_SEVICE +00115FH 00119FH 000041H BYTE UNIT CODE ?PR?_SETWHEELSLIDERREFCH?TS_SEVICE +0011A0H 0011DEH 00003FH BYTE UNIT CODE ?PR?_SEND_8BIT?RF_SEND +0011DFH 001218H 00003AH BYTE UNIT CODE ?PR?READ_32BIT_UID?MAIN +001219H 001252H 00003AH BYTE UNIT CODE ?PR?TS_MS_ISR?TS_API +001253H 00128AH 000038H BYTE UNIT CODE ?PR?_TS_SETCHANNEL?TS_SEVICE +00128BH 0012BFH 000035H BYTE UNIT CODE ?PR?_RF_SEND?RF_SEND + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 3 + + +0012C0H 0012EEH 00002FH BYTE UNIT CODE ?PR?TS_IO_INIT?TS_SEVICE +0012EFH 00131CH 00002EH BYTE UNIT CODE ?PR?TS_SLEEPSCANSTART?TS_API +00131DH 00134AH 00002EH BYTE UNIT CODE ?PR?_TS_AREADEVIATEDETECTION?TS_SEVICE +00134BH 001376H 00002CH BYTE UNIT CODE ?C_INITSEG +001377H 0013A2H 00002CH BYTE UNIT CODE ?PR?MAIN +0013A3H 0013BCH 00001AH BYTE UNIT CODE ?PR?_DELAY_50US?DELAY +0013BDH 0013D1H 000015H BYTE UNIT CODE ?PR?TS_HS_ISR?TS_API +0013D2H 0013E4H 000013H BYTE UNIT CODE ?PR?_TS_AREACONFIRMTIMERSET?TS_SEVICE +0013E5H 0014E3H 0000FFH BYTE UNIT CONST ?CO?MAIN +0014E4H 001518H 000035H BYTE UNIT CONST ?CO?TS_API +001519H 00153FH 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.97.0 05/05/2026 17:41: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*: 000001H BYTE UNIT CODE ?PR?SEND433_BYTE?RF_SEND + *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\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 (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 ----- ----- ----- ----- ----- ----- + +--> TS_MS_ISR/TS_API + +--> TS_HS_ISR/TS_API + +--> TS_ISR/TS_API + +TS_MS_ISR/TS_API ----- ----- ----- ----- ----- ----- + +--> TS_API + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 5 + + + +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 + +--> _RF_SEND/RF_SEND + +TS_INIT/TS_API ----- ----- ----- ----- ----- ----- + +--> TS_API + +--> TS_IO_INIT/TS_SEVICE + +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 ----- ----- ----- ----- ----- ----- + +TS_DATAFILTERING/TS_API ----- ----- 0032H 0038H ----- ----- + +--> TS_API + +TSKEY_DATADEAL/TS_API ----- ----- 0032H 0034H ----- ----- + +--> TS_API + +--> _TS_AREADEVIATEDETECTION/TS_SEVICE + +--> _TS_AREACONFIRMTIMERSET/TS_SEVICE + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 6 + + + +--> _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 + +_RF_SEND/RF_SEND ----- ----- 0032H 0032H ----- ----- + +--> _DELAY_50US/DELAY + +--> _SEND_8BIT/RF_SEND + +_SEND_8BIT/RF_SEND ----- ----- 0033H 0034H ----- ----- + +--> _DELAY_50US/DELAY + +?C_INITSEG ----- ----- ----- ----- ----- ----- + + + +PUBLIC SYMBOLS OF MODULE: .\hex\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 (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 + 01000218H CODE --- ?C?ULSHR + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 7 + + + 00000000H NUMBER --- ?C?XDATASEG + 01000F83H CODE --- ?C_START + 01000000H CODE --- ?C_STARTUP + 010013A3H CODE --- _Delay_50us + 01000003H CODE --- _Delay_ms + 0100128BH CODE --- _RF_send + 010011A0H CODE --- _send_8bit + 0100115FH CODE --- _SetWheelSliderRefCh +*DEL*:00000000H CODE --- _SliderTouchJudge + 010013D2H CODE --- _TS_AreaConfirmTimerSet + 0100131DH CODE --- _TS_AreaDeviateDetection + 010010B2H CODE --- _TS_GetDataArea + 01001253H 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 + 01001514H 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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 8 + + +*SFR* 000000A8H.0 DATA BIT EX0 +*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 + 0100001EH CODE --- INT2_Handler + 01000FC8H 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.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 + 01000A43H CODE --- main + 02000126H XDATA BYTE MainLoopCnt1 + 02000127H XDATA BYTE MainLoopCnt2 + 0100150CH 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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 9 + + + 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.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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 10 + + +*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.0 DATA BIT PX0 +*SFR* 000000B8H.2 DATA BIT PX1 + 01001519H CONST --- pXSFR +*SFR* 00000098H.2 DATA BIT RB8 + 010011DFH CODE --- Read_32bit_UID +*SFR* 00000098H.4 DATA BIT REN + 010013E5H 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 +*DEL*:00000000H 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 +*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.97.0 05/05/2026 17:41: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 + 0100104FH 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 + 01000DF2H CODE --- TS_DataFiltering + 010004ACH CODE --- TS_EnterSleepMode + 02000032H XDATA --- TS_FilterBuf + 02000101H XDATA --- TS_FilterPosIdx + 02000002H XDATA --- TS_FirstAreaData + 02000100H XDATA BYTE TS_HalfSecCnt + 010013BDH CODE --- TS_HS_ISR + 00000016H DATA BYTE TS_Index + 01000EB0H CODE --- TS_init + 020000B4H XDATA BYTE TS_Init_Step + 010012C0H CODE --- TS_IO_init + 01000D24H CODE --- TS_ISR + 0000001AH DATA WORD TS_Key + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 12 + + + 010014E4H CONST --- TS_KEY_CH_INFO_SEQ + 0000001CH DATA WORD TS_LongKeyTimer + 01001219H CODE --- TS_MS_ISR + 020000B6H XDATA --- TS_PostData + 020000D1H XDATA --- TS_RawData + 0000005AH IDATA BYTE TS_RefCHBaseLineAdjuTimer + 01000C46H CODE --- TS_RunInit + 01001111H CODE --- TS_ScanStart + 00000020H.2 BIT BIT TS_SleepEn + 00000020H.1 BIT BIT TS_SleepMode + 010012EFH CODE --- TS_SleepScanStart + 00000020H.4 BIT BIT TS_StableFlag + 0000004CH IDATA BYTE TS_State + 01001504H CONST --- TS_WHEEL_SLIDER_CH_SEQ + 01000670H CODE --- TS_WheelSliderDeal + 01000B49H 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 + 01001508H 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\RE51_RGB_8ey_touch_f551s3_0014b5eb _v2 (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.97.0 05/05/2026 17:41: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 + 010013E5H PUBLIC CONST --- rf_data + 01000A43H PUBLIC CODE --- main + 010011DFH 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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 14 + + + 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 + 00000087H SFRSYM DATA BYTE PCON + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 15 + + + 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 + 000000B8H.1 SFRSYM DATA BIT PT0 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 16 + + + 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 + + 01001377H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 010011DFH BLOCK CODE --- LVL=0 + 010011DFH BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA DWORD ID + --- BLOCKEND --- --- LVL=1 + 010011DFH LINE CODE --- #69 + 010011DFH LINE CODE --- #70 + 010011DFH LINE CODE --- #72 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 17 + + + 010011E5H LINE CODE --- #73 + 010011EAH LINE CODE --- #74 + 010011EEH LINE CODE --- #75 + 010011F4H LINE CODE --- #76 + 01001200H LINE CODE --- #77 + 01001206H LINE CODE --- #78 + 01001209H LINE CODE --- #79 + 01001209H LINE CODE --- #80 + 0100120CH LINE CODE --- #81 + 0100120CH LINE CODE --- #82 + 01001211H LINE CODE --- #83 + 01001216H LINE CODE --- #84 + 01001218H LINE CODE --- #85 + --- BLOCKEND --- --- LVL=0 + + 01000A43H BLOCK CODE --- LVL=0 + 01000A43H BLOCK CODE NEAR LAB LVL=1 + 0000002DH SYMBOL DATA DWORD addr + 00000031H SYMBOL DATA BYTE send_times + --- BLOCKEND --- --- LVL=1 + 01000A43H LINE CODE --- #102 + 01000A43H LINE CODE --- #103 + 01000A43H LINE CODE --- #104 + 01000A4CH LINE CODE --- #105 + 01000A4EH LINE CODE --- #107 + 01000A51H LINE CODE --- #115 + 01000A58H LINE CODE --- #116 + 01000A5BH LINE CODE --- #117 + 01000A5EH LINE CODE --- #118 + 01000A61H LINE CODE --- #119 + 01000A64H LINE CODE --- #121 + 01000A66H LINE CODE --- #123 + 01000A69H LINE CODE --- #125 + 01000A6FH LINE CODE --- #126 + 01000A71H LINE CODE --- #128 + 01000A7DH LINE CODE --- #129 + 01000A88H LINE CODE --- #130 + 01000A8BH LINE CODE --- #132 + 01000A8EH LINE CODE --- #133 + 01000A91H LINE CODE --- #143 + 01000A91H LINE CODE --- #144 + 01000A91H LINE CODE --- #145 + 01000A94H LINE CODE --- #146 + 01000AA3H LINE CODE --- #147 + 01000AA3H LINE CODE --- #148 + 01000AA6H LINE CODE --- #150 + 01000AB4H LINE CODE --- #152 + 01000AB4H LINE CODE --- #154 + 01000ABAH LINE CODE --- #155 + 01000ABAH LINE CODE --- #156 + 01000ABDH LINE CODE --- #157 + 01000ADCH LINE CODE --- #158 + 01000ADCH LINE CODE --- #159 + 01000ADCH LINE CODE --- #160 + 01000ADFH LINE CODE --- #161 + 01000AE1H LINE CODE --- #162 + 01000AE1H LINE CODE --- #163 + 01000AE4H LINE CODE --- #164 + 01000AE6H LINE CODE --- #165 + 01000AE6H LINE CODE --- #167 + 01000AE9H LINE CODE --- #168 + 01000AEBH LINE CODE --- #169 + 01000AEBH LINE CODE --- #171 + 01000AEEH LINE CODE --- #172 + 01000AF0H LINE CODE --- #173 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 18 + + + 01000AF0H LINE CODE --- #174 + 01000AF3H LINE CODE --- #175 + 01000AF5H LINE CODE --- #176 + 01000AF5H LINE CODE --- #177 + 01000AF8H LINE CODE --- #178 + 01000AFAH LINE CODE --- #179 + 01000AFAH LINE CODE --- #180 + 01000AFDH LINE CODE --- #181 + 01000AFFH LINE CODE --- #182 + 01000AFFH LINE CODE --- #183 + 01000B02H LINE CODE --- #184 + 01000B04H LINE CODE --- #185 + 01000B04H LINE CODE --- #186 + 01000B07H LINE CODE --- #187 + 01000B07H LINE CODE --- #188 + 01000B07H LINE CODE --- #189 + 01000B07H LINE CODE --- #192 + 01000B19H LINE CODE --- #193 + 01000B1CH LINE CODE --- #194 + 01000B1EH LINE CODE --- #195 + 01000B21H LINE CODE --- #196 + 01000B21H LINE CODE --- #197 + 01000B36H LINE CODE --- #198 + 01000B36H LINE CODE --- #199 + 01000B39H LINE CODE --- #200 + 01000B3BH LINE CODE --- #201 + 01000B3DH LINE CODE --- #202 + 01000B3FH LINE CODE --- #203 + 01000B44H LINE CODE --- #204 + 01000B46H LINE CODE --- #205 + 01000B46H LINE CODE --- #209 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- DELAY + 01000003H PUBLIC CODE --- _Delay_ms + 010013A3H PUBLIC CODE --- _Delay_50us + + 010013A3H BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD n + 010013A3H BLOCK CODE NEAR LAB LVL=1 + 00000005H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010013A3H LINE CODE --- #4 + 010013A3H LINE CODE --- #5 + 010013A3H LINE CODE --- #7 + 010013ADH LINE CODE --- #8 + 010013ADH LINE CODE --- #9 + 010013BCH LINE CODE --- #10 + 010013BCH 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 + + --- MODULE --- --- SYSTEM_CLOCK + 00000080H SFRSYM DATA BYTE P0 + 000000F8H SFRSYM DATA BYTE TKCON + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 19 + + + 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.97.0 05/05/2026 17:41:53 PAGE 20 + + + 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.97.0 05/05/2026 17:41:53 PAGE 21 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 22 + + + 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 + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 23 + + + 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 + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 24 + + + 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 + + --- MODULE --- --- INTERRUPT + 0100001FH PUBLIC CODE --- INT4_ISR + 01000FC8H PUBLIC CODE --- INT3_ISR + 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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 25 + + + 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 + 00000087H SFRSYM DATA BYTE PCON + 00000080H.2 SFRSYM DATA BIT P02 + 000000FFH SFRSYM DATA BYTE TK3CHS + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 26 + + + 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 + 000000B8H.1 SFRSYM DATA BIT PT0 + 000000B8H.6 SFRSYM DATA BIT PS1 + 000000C3H SFRSYM DATA BYTE I2CCR + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 27 + + + 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 + + 0100001EH BLOCK CODE --- LVL=0 + 0100001EH LINE CODE --- #28 + 0100001EH LINE CODE --- #40 + --- BLOCKEND --- --- LVL=0 + + 01000FC8H BLOCK CODE --- LVL=0 + 01000FE5H BLOCK CODE NEAR LAB LVL=1 + 0000001EH SYMBOL DATA BYTE TmCnt + --- BLOCKEND --- --- LVL=1 + 01000FC8H LINE CODE --- #42 + 01000FE5H LINE CODE --- #45 + 01000FEAH LINE CODE --- #46 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 28 + + + 01000FEAH LINE CODE --- #47 + 01000FEDH LINE CODE --- #49 + 01000FF0H LINE CODE --- #50 + 01000FF0H LINE CODE --- #51 + 01000FF8H LINE CODE --- #53 + 01000FF8H LINE CODE --- #55 + 01000FF8H LINE CODE --- #56 + 01000FFBH LINE CODE --- #57 + 01000FFBH LINE CODE --- #61 + 01001001H LINE CODE --- #62 + 01001001H LINE CODE --- #63 + 01001009H LINE CODE --- #64 + 01001009H LINE CODE --- #65 + 0100100BH LINE CODE --- #66 + 01001016H LINE CODE --- #67 + 01001016H LINE CODE --- #68 + 01001019H LINE CODE --- #69 + 0100101CH LINE CODE --- #70 + 0100101CH LINE CODE --- #71 + 01001029H LINE CODE --- #72 + 01001029H LINE CODE --- #74 + 0100102CH LINE CODE --- #75 + 0100102CH LINE CODE --- #77 + 0100102CH LINE CODE --- #79 + 01001031H LINE CODE --- #80 + 01001031H LINE CODE --- #81 + 01001034H LINE CODE --- #82 + 01001034H 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 + 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 + 010011A0H PUBLIC CODE --- _send_8bit + 0100128BH 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.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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 29 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 30 + + + 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 + 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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 31 + + + 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 + + 0100128BH BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE cnt + 0100128BH BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 0100128BH LINE CODE --- #140 + 0100128BH LINE CODE --- #141 + 0100128BH LINE CODE --- #144 + 01001298H LINE CODE --- #145 + 01001298H LINE CODE --- #146 + 0100129AH LINE CODE --- #147 + 010012A1H LINE CODE --- #148 + 010012A3H LINE CODE --- #149 + 010012AAH LINE CODE --- #150 + 010012ACH LINE CODE --- #152 + 010012B1H LINE CODE --- #153 + 010012B6H LINE CODE --- #154 + 010012BBH LINE CODE --- #155 + 010012BFH LINE CODE --- #156 + --- BLOCKEND --- --- LVL=0 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 32 + + + + 010011A0H BLOCK CODE --- LVL=0 + 00000033H SYMBOL DATA BYTE n + 010011A2H BLOCK CODE NEAR LAB LVL=1 + 00000034H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010011A0H LINE CODE --- #158 + 010011A2H LINE CODE --- #159 + 010011A2H LINE CODE --- #161 + 010011B0H LINE CODE --- #162 + 010011B0H LINE CODE --- #163 + 010011B2H LINE CODE --- #164 + 010011B7H LINE CODE --- #165 + 010011B7H LINE CODE --- #166 + 010011BEH LINE CODE --- #167 + 010011C0H LINE CODE --- #168 + 010011C2H LINE CODE --- #169 + 010011C4H LINE CODE --- #171 + 010011C4H LINE CODE --- #172 + 010011CBH LINE CODE --- #173 + 010011CDH LINE CODE --- #174 + 010011D4H LINE CODE --- #175 + 010011D4H LINE CODE --- #176 + 010011DAH LINE CODE --- #177 + 010011DEH LINE CODE --- #178 + --- 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 + 000000D0H.7 SFRSYM DATA BIT CY + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 33 + + + 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 + 000000E7H SFRSYM DATA BYTE TK3MSL + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 34 + + + 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 + 00000097H SFRSYM DATA BYTE PWM5DUTH + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 35 + + + 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 + 01001514H PUBLIC CONST --- AREA_CONFIRM_TIME_TAB + 0100150CH PUBLIC CONST --- MASK_TAB + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 36 + + + 01001508H PUBLIC CONST --- WHEEL_SLIDER0_MAX_MIN_TAB + 01001504H PUBLIC CONST --- TS_WHEEL_SLIDER_CH_SEQ + 010014E4H PUBLIC CONST --- TS_KEY_CH_INFO_SEQ + 010004ACH PUBLIC CODE --- TS_EnterSleepMode + 010012EFH PUBLIC CODE --- TS_SleepScanStart + 0100104FH PUBLIC CODE --- TS_Action + 01000EB0H PUBLIC CODE --- TS_init + 01000670H PUBLIC CODE --- TS_WheelSliderDeal + 01000B49H PUBLIC CODE --- TSKey_DataDeal + 01000C46H PUBLIC CODE --- TS_RunInit + 01000DF2H PUBLIC CODE --- TS_DataFiltering + 01000D24H PUBLIC CODE --- TS_ISR + 010013BDH PUBLIC CODE --- TS_HS_ISR + 01001219H 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 + 000000F5H SFRSYM DATA BYTE ATK1CL + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 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.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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 38 + + + 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 + 000000B1H SFRSYM DATA BYTE PWM0CKD + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 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 + + 010007FBH BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 01001219H BLOCK CODE --- LVL=0 + 01001219H BLOCK CODE NEAR LAB LVL=1 + 02000000H SYMBOL XDATA BYTE ms_cnt + 00000007H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 01001219H LINE CODE --- #106 + 01001219H LINE CODE --- #107 + 01001219H LINE CODE --- #111 + 0100121FH LINE CODE --- #112 + 01001229H LINE CODE --- #113 + 01001229H LINE CODE --- #114 + 0100122BH LINE CODE --- #115 + 01001235H LINE CODE --- #116 + 01001235H LINE CODE --- #117 + 0100123EH LINE CODE --- #118 + 0100123EH LINE CODE --- #119 + 01001247H LINE CODE --- #120 + 01001247H LINE CODE --- #121 + 0100124AH LINE CODE --- #123 + 01001250H LINE CODE --- #124 + 01001250H LINE CODE --- #125 + 01001252H LINE CODE --- #126 + 01001252H LINE CODE --- #138 + 01001252H LINE CODE --- #139 + --- BLOCKEND --- --- LVL=0 + + 010013BDH BLOCK CODE --- LVL=0 + 010013BDH LINE CODE --- #140 + 010013BDH LINE CODE --- #141 + 010013BDH LINE CODE --- #147 + 010013C3H LINE CODE --- #168 + 010013C8H LINE CODE --- #169 + 010013C8H LINE CODE --- #170 + 010013C9H LINE CODE --- #171 + 010013C9H LINE CODE --- #172 + 010013CFH LINE CODE --- #173 + 010013CFH LINE CODE --- #174 + 010013D1H LINE CODE --- #175 + 010013D1H LINE CODE --- #176 + --- BLOCKEND --- --- LVL=0 + + 01000D24H BLOCK CODE --- LVL=0 + 01000D24H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000021H SYMBOL DATA --- TS_Data + --- BLOCKEND --- --- LVL=1 + 01000D24H LINE CODE --- #177 + 01000D24H LINE CODE --- #178 + 01000D24H LINE CODE --- #188 + 01000D2CH LINE CODE --- #189 + 01000D2CH LINE CODE --- #190 + 01000D30H LINE CODE --- #191 + 01000D30H LINE CODE --- #193 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 40 + + + 01000D35H LINE CODE --- #194 + 01000D35H LINE CODE --- #195 + 01000D38H LINE CODE --- #196 + 01000D3BH LINE CODE --- #197 + 01000D3EH LINE CODE --- #198 + 01000D3EH LINE CODE --- #199 + 01000D43H LINE CODE --- #200 + 01000D43H LINE CODE --- #201 + 01000D46H LINE CODE --- #202 + 01000D49H LINE CODE --- #203 + 01000D4CH LINE CODE --- #204 + 01000D4CH LINE CODE --- #205 + 01000D51H LINE CODE --- #206 + 01000D51H LINE CODE --- #207 + 01000D54H LINE CODE --- #208 + 01000D57H LINE CODE --- #209 + 01000D5AH LINE CODE --- #210 + 01000D5AH LINE CODE --- #211 + 01000D5FH LINE CODE --- #212 + 01000D5FH LINE CODE --- #213 + 01000D62H LINE CODE --- #214 + 01000D65H LINE CODE --- #215 + 01000D68H LINE CODE --- #216 + 01000D68H LINE CODE --- #217 + 01000D6DH LINE CODE --- #218 + 01000D6DH LINE CODE --- #219 + 01000D70H LINE CODE --- #220 + 01000D73H LINE CODE --- #221 + 01000D76H LINE CODE --- #222 + 01000D76H LINE CODE --- #223 + 01000D7BH LINE CODE --- #224 + 01000D7BH LINE CODE --- #225 + 01000D7EH LINE CODE --- #226 + 01000D81H LINE CODE --- #227 + 01000D84H LINE CODE --- #228 + 01000D84H LINE CODE --- #230 + 01000D8CH LINE CODE --- #231 + 01000D8CH LINE CODE --- #264 + 01000D8CH LINE CODE --- #266 + 01000DA4H LINE CODE --- #270 + 01000DA4H LINE CODE --- #271 + 01000DB6H LINE CODE --- #272 + 01000DB6H LINE CODE --- #273 + 01000DB6H LINE CODE --- #274 + 01000DB6H LINE CODE --- #276 + 01000DB9H LINE CODE --- #294 + 01000DC6H LINE CODE --- #295 + 01000DC6H LINE CODE --- #297 + 01000DC8H LINE CODE --- #311 + 01000DCBH LINE CODE --- #312 + 01000DCDH LINE CODE --- #314 + 01000DCDH LINE CODE --- #315 + 01000DD3H LINE CODE --- #316 + 01000DD3H LINE CODE --- #317 + 01000DD6H LINE CODE --- #318 + 01000DDEH LINE CODE --- #319 + 01000DEBH LINE CODE --- #320 + 01000DEBH LINE CODE --- #321 + 01000DEEH LINE CODE --- #322 + 01000DF1H LINE CODE --- #323 + 01000DF1H LINE CODE --- #324 + --- BLOCKEND --- --- LVL=0 + + 01000DF2H BLOCK CODE --- LVL=0 + 01000DF2H BLOCK CODE NEAR LAB LVL=1 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 41 + + + 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 + 01000DF2H LINE CODE --- #325 + 01000DF2H LINE CODE --- #326 + 01000DF2H LINE CODE --- #332 + 01000E04H LINE CODE --- #333 + 01000E04H LINE CODE --- #337 + 01000E0AH LINE CODE --- #338 + 01000E12H LINE CODE --- #339 + 01000E12H LINE CODE --- #340 + 01000E17H LINE CODE --- #341 + 01000E17H LINE CODE --- #342 + 01000E19H LINE CODE --- #343 + 01000E39H LINE CODE --- #344 + 01000E3BH LINE CODE --- #346 + 01000E40H LINE CODE --- #347 + 01000E44H LINE CODE --- #348 + 01000E4AH LINE CODE --- #349 + 01000E52H LINE CODE --- #350 + 01000E52H LINE CODE --- #351 + 01000E6AH LINE CODE --- #353 + 01000E73H LINE CODE --- #354 + 01000E73H LINE CODE --- #355 + 01000E77H LINE CODE --- #356 + 01000E77H LINE CODE --- #357 + 01000E80H LINE CODE --- #358 + 01000E80H LINE CODE --- #359 + 01000E84H LINE CODE --- #360 + 01000E84H LINE CODE --- #362 + 01000E87H LINE CODE --- #366 + 01000EAAH LINE CODE --- #369 + 01000EAFH LINE CODE --- #370 + --- BLOCKEND --- --- LVL=0 + + 01000C46H BLOCK CODE --- LVL=0 + 01000C46H 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 + 01000C46H LINE CODE --- #418 + 01000C46H LINE CODE --- #419 + 01000C46H LINE CODE --- #425 + 01000C4CH LINE CODE --- #426 + 01000C4CH LINE CODE --- #439 + 01000C4EH LINE CODE --- #440 + 01000C52H LINE CODE --- #441 + 01000C54H LINE CODE --- #442 + 01000C57H LINE CODE --- #448 + 01000C5DH LINE CODE --- #449 + 01000C60H LINE CODE --- #451 + 01000C61H LINE CODE --- #492 + 01000C6CH LINE CODE --- #493 + 01000C6CH LINE CODE --- #494 + 01000C72H LINE CODE --- #495 + 01000C72H LINE CODE --- #496 + 01000C74H LINE CODE --- #497 + 01000C7DH LINE CODE --- #498 + 01000C7DH LINE CODE --- #500 + 01000C7DH LINE CODE --- #516 + 01000C80H LINE CODE --- #517 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 42 + + + 01000C91H LINE CODE --- #518 + 01000C91H LINE CODE --- #519 + 01000C99H LINE CODE --- #520 + 01000C99H LINE CODE --- #521 + 01000CB2H LINE CODE --- #522 + 01000CB5H LINE CODE --- #523 + 01000CBEH LINE CODE --- #529 + 01000CC5H LINE CODE --- #530 + 01000CCEH LINE CODE --- #531 + 01000CDCH LINE CODE --- #537 + 01000CE3H LINE CODE --- #538 + 01000CE3H LINE CODE --- #542 + 01000D07H LINE CODE --- #544 + 01000D0EH LINE CODE --- #545 + 01000D10H LINE CODE --- #547 + 01000D10H LINE CODE --- #548 + 01000D1AH LINE CODE --- #549 + 01000D1AH LINE CODE --- #560 + 01000D1FH LINE CODE --- #573 + 01000D23H LINE CODE --- #574 + 01000D23H LINE CODE --- #575 + 01000D23H LINE CODE --- #576 + --- BLOCKEND --- --- LVL=0 + + 01000B49H BLOCK CODE --- LVL=0 + 01000B49H BLOCK CODE NEAR LAB LVL=1 + 00000032H SYMBOL DATA BYTE i + 00000033H SYMBOL DATA BYTE TouchArea + 00000034H SYMBOL DATA BYTE NowArea + --- BLOCKEND --- --- LVL=1 + 01000B49H LINE CODE --- #676 + 01000B49H LINE CODE --- #677 + 01000B49H LINE CODE --- #683 + 01000B56H LINE CODE --- #684 + 01000B56H LINE CODE --- #696 + 01000B63H LINE CODE --- #697 + 01000B6DH LINE CODE --- #699 + 01000B77H LINE CODE --- #700 + 01000B77H LINE CODE --- #701 + 01000B79H LINE CODE --- #702 + 01000B79H LINE CODE --- #709 + 01000B7DH LINE CODE --- #710 + 01000B7DH LINE CODE --- #711 + 01000B81H LINE CODE --- #712 + 01000B81H LINE CODE --- #713 + 01000B86H LINE CODE --- #714 + 01000B86H LINE CODE --- #715 + 01000B8FH LINE CODE --- #716 + 01000B8FH LINE CODE --- #717 + 01000B92H LINE CODE --- #721 + 01000B92H LINE CODE --- #722 + 01000B92H LINE CODE --- #723 + 01000B94H LINE CODE --- #725 + 01000B94H LINE CODE --- #737 + 01000B9AH LINE CODE --- #754 + 01000B9AH LINE CODE --- #755 + 01000B9CH LINE CODE --- #757 + 01000B9CH LINE CODE --- #758 + 01000BA1H LINE CODE --- #759 + 01000BA1H LINE CODE --- #760 + 01000BA7H LINE CODE --- #761 + 01000BA7H LINE CODE --- #766 + 01000BABH LINE CODE --- #768 + 01000BABH LINE CODE --- #769 + 01000BABH LINE CODE --- #773 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 43 + + + 01000BABH LINE CODE --- #774 + 01000BADH LINE CODE --- #782 + 01000BADH LINE CODE --- #784 + 01000BADH LINE CODE --- #785 + 01000BB1H LINE CODE --- #786 + 01000BB1H LINE CODE --- #787 + 01000BB9H LINE CODE --- #788 + 01000BBBH LINE CODE --- #789 + 01000BBDH LINE CODE --- #790 + 01000BBDH LINE CODE --- #791 + 01000BBDH LINE CODE --- #792 + 01000BC2H LINE CODE --- #793 + 01000BC2H LINE CODE --- #794 + 01000BCFH LINE CODE --- #795 + 01000BD1H LINE CODE --- #796 + 01000BD3H LINE CODE --- #797 + 01000BD3H LINE CODE --- #798 + 01000BEAH LINE CODE --- #799 + 01000BEAH LINE CODE --- #800 + 01000BF0H LINE CODE --- #801 + 01000BF0H LINE CODE --- #802 + 01000BF8H LINE CODE --- #803 + 01000C06H LINE CODE --- #813 + 01000C08H LINE CODE --- #814 + 01000C08H LINE CODE --- #815 + 01000C0AH LINE CODE --- #817 + 01000C0AH LINE CODE --- #818 + 01000C12H LINE CODE --- #819 + 01000C19H LINE CODE --- #820 + 01000C19H LINE CODE --- #821 + 01000C1EH LINE CODE --- #895 + 01000C25H LINE CODE --- #898 + 01000C27H LINE CODE --- #899 + 01000C27H LINE CODE --- #900 + 01000C2AH LINE CODE --- #901 + 01000C2BH LINE CODE --- #903 + 01000C2BH LINE CODE --- #904 + 01000C2EH LINE CODE --- #905 + 01000C2EH LINE CODE --- #906 + --- BLOCKEND --- --- LVL=0 + + 01000670H BLOCK CODE --- LVL=0 + 01000670H 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 + 01000670H LINE CODE --- #909 + 01000670H LINE CODE --- #910 + 01000670H LINE CODE --- #913 + 01000672H LINE CODE --- #914 + 01000675H LINE CODE --- #915 + 01000678H LINE CODE --- #916 + 01000678H LINE CODE --- #917 + 0100067AH LINE CODE --- #918 + 0100067FH LINE CODE --- #919 + 0100067FH LINE CODE --- #957 + 01000688H LINE CODE --- #959 + 01000690H LINE CODE --- #960 + 01000690H LINE CODE --- #961 + 01000692H LINE CODE --- #962 + 01000692H LINE CODE --- #963 + 0100069CH LINE CODE --- #964 + 0100069CH LINE CODE --- #965 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 44 + + + 010006A5H LINE CODE --- #966 + 010006A5H LINE CODE --- #967 + 010006ADH LINE CODE --- #968 + 010006ADH LINE CODE --- #969 + 010006B0H LINE CODE --- #970 + 010006B5H LINE CODE --- #971 + 010006B8H LINE CODE --- #973 + 010006B8H LINE CODE --- #974 + 010006C3H LINE CODE --- #975 + 010006C3H LINE CODE --- #976 + 010006D8H LINE CODE --- #977 + 010006D8H LINE CODE --- #978 + 010006DDH LINE CODE --- #979 + 010006DFH LINE CODE --- #981 + 010006DFH LINE CODE --- #982 + 010006FAH LINE CODE --- #983 + 010006FAH LINE CODE --- #984 + 01000705H LINE CODE --- #985 + 01000705H LINE CODE --- #986 + 0100070FH LINE CODE --- #987 + 0100070FH LINE CODE --- #988 + 0100071CH LINE CODE --- #989 + 01000724H LINE CODE --- #990 + 01000724H LINE CODE --- #991 + 01000724H LINE CODE --- #992 + 01000726H LINE CODE --- #994 + 01000726H LINE CODE --- #995 + 0100073BH LINE CODE --- #996 + 01000745H LINE CODE --- #997 + 01000745H LINE CODE --- #998 + 0100074AH LINE CODE --- #999 + 0100074AH LINE CODE --- #1000 + 0100074AH LINE CODE --- #1002 + 0100074AH LINE CODE --- #1003 + 01000752H LINE CODE --- #1004 + 01000752H LINE CODE --- #1005 + 01000758H LINE CODE --- #1006 + 01000758H LINE CODE --- #1007 + 0100075DH LINE CODE --- #1011 + 0100075DH LINE CODE --- #1012 + 0100075FH LINE CODE --- #1014 + 0100075FH LINE CODE --- #1015 + 01000764H LINE CODE --- #1016 + 0100076CH LINE CODE --- #1017 + 0100076CH LINE CODE --- #1018 + 01000776H LINE CODE --- #1019 + 0100077AH LINE CODE --- #1020 + 0100077AH LINE CODE --- #1021 + 0100077AH LINE CODE --- #1022 + 0100077AH LINE CODE --- #1023 + 0100077FH LINE CODE --- #1024 + 0100077FH LINE CODE --- #1037 + 01000785H LINE CODE --- #1038 + 01000785H LINE CODE --- #1039 + 0100078DH LINE CODE --- #1040 + 0100078DH LINE CODE --- #1041 + 0100078EH LINE CODE --- #1042 + 01000794H LINE CODE --- #1043 + 01000794H LINE CODE --- #1044 + 01000796H LINE CODE --- #1046 + 01000796H LINE CODE --- #1047 + 0100079EH LINE CODE --- #1048 + 0100079EH LINE CODE --- #1049 + 010007A4H LINE CODE --- #1050 + 010007A4H LINE CODE --- #1052 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 45 + + + 010007A8H LINE CODE --- #1053 + 010007ABH LINE CODE --- #1054 + 010007AEH LINE CODE --- #1055 + 010007B6H LINE CODE --- #1056 + 010007B6H LINE CODE --- #1057 + 010007C0H LINE CODE --- #1058 + 010007C4H LINE CODE --- #1059 + 010007C4H LINE CODE --- #1060 + 010007C4H LINE CODE --- #1062 + 010007C4H LINE CODE --- #1063 + 010007CAH LINE CODE --- #1064 + 010007CAH LINE CODE --- #1065 + 010007CAH LINE CODE --- #1066 + 010007CAH LINE CODE --- #1067 + 010007D2H LINE CODE --- #1068 + 010007D2H LINE CODE --- #1069 + 010007DAH LINE CODE --- #1070 + 010007DAH LINE CODE --- #1071 + 010007E2H LINE CODE --- #1072 + 010007E2H LINE CODE --- #1107 + 010007E4H LINE CODE --- #1109 + 010007E4H LINE CODE --- #1110 + 010007E7H LINE CODE --- #1111 + 010007E7H LINE CODE --- #1113 + 010007F3H LINE CODE --- #1114 + 010007F3H LINE CODE --- #1115 + 010007F6H LINE CODE --- #1116 + 010007F7H LINE CODE --- #1118 + 010007F7H LINE CODE --- #1119 + 010007FAH LINE CODE --- #1120 + 010007FAH LINE CODE --- #1121 + --- BLOCKEND --- --- LVL=0 + + 01000EB0H BLOCK CODE --- LVL=0 + 01000EB0H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000007H SYMBOL DATA BYTE ch_idx + --- BLOCKEND --- --- LVL=1 + 01000EB0H LINE CODE --- #1124 + 01000EB0H LINE CODE --- #1125 + 01000EB0H LINE CODE --- #1131 + 01000EB4H LINE CODE --- #1132 + 01000EB6H LINE CODE --- #1133 + 01000EC4H LINE CODE --- #1134 + 01000EC4H LINE CODE --- #1136 + 01000ECCH LINE CODE --- #1137 + 01000ECCH LINE CODE --- #1138 + 01000EDBH LINE CODE --- #1139 + 01000EDDH LINE CODE --- #1141 + 01000EDDH LINE CODE --- #1142 + 01000EEBH LINE CODE --- #1143 + 01000EEBH LINE CODE --- #1149 + 01000EEEH LINE CODE --- #1150 + 01000EF5H LINE CODE --- #1151 + 01000EF8H LINE CODE --- #1152 + 01000EFBH LINE CODE --- #1153 + 01000EFDH LINE CODE --- #1155 + 01000F00H LINE CODE --- #1158 + 01000F00H LINE CODE --- #1163 + 01000F00H LINE CODE --- #1164 + 01000F03H LINE CODE --- #1189 + 01000F05H LINE CODE --- #1191 + 01000F07H LINE CODE --- #1193 + 01000F0CH LINE CODE --- #1194 + 01000F0FH LINE CODE --- #1196 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 46 + + + 01000F11H LINE CODE --- #1203 + 01000F14H LINE CODE --- #1204 + 01000F16H LINE CODE --- #1205 + 01000F18H LINE CODE --- #1208 + 01000F1AH LINE CODE --- #1210 + 01000F1FH LINE CODE --- #1211 + 01000F22H LINE CODE --- #1212 + 01000F25H LINE CODE --- #1213 + 01000F2CH LINE CODE --- #1215 + 01000F2FH LINE CODE --- #1216 + 01000F33H LINE CODE --- #1224 + 01000F3BH LINE CODE --- #1231 + --- BLOCKEND --- --- LVL=0 + + 0100104FH BLOCK CODE --- LVL=0 + 0100104FH LINE CODE --- #1234 + 0100104FH LINE CODE --- #1235 + 0100104FH LINE CODE --- #1236 + 01001058H LINE CODE --- #1237 + 01001058H LINE CODE --- #1238 + 01001058H LINE CODE --- #1239 + 0100105BH LINE CODE --- #1240 + 0100105BH LINE CODE --- #1241 + 0100105BH LINE CODE --- #1242 + 0100105EH LINE CODE --- #1243 + 0100105EH LINE CODE --- #1244 + 01001060H LINE CODE --- #1246 + 01001069H LINE CODE --- #1253 + 0100106CH LINE CODE --- #1254 + 0100106EH LINE CODE --- #1267 + 01001074H LINE CODE --- #1268 + 01001074H LINE CODE --- #1269 + 01001077H LINE CODE --- #1270 + 01001077H LINE CODE --- #1276 + 0100107DH LINE CODE --- #1277 + 0100107DH LINE CODE --- #1278 + 01001080H LINE CODE --- #1279 + 01001080H LINE CODE --- #1282 + 0100108BH LINE CODE --- #1283 + 0100108BH LINE CODE --- #1284 + 0100108EH LINE CODE --- #1285 + 0100108EH LINE CODE --- #1286 + 01001097H LINE CODE --- #1287 + 01001097H LINE CODE --- #1296 + 0100109DH LINE CODE --- #1298 + 010010A0H LINE CODE --- #1307 + 010010A0H LINE CODE --- #1309 + 010010A0H LINE CODE --- #1310 + 010010A8H LINE CODE --- #1311 + 010010A8H LINE CODE --- #1312 + 010010ABH LINE CODE --- #1313 + 010010AEH LINE CODE --- #1314 + 010010B1H LINE CODE --- #1315 + 010010B1H LINE CODE --- #1316 + 010010B1H LINE CODE --- #1317 + 010010B1H LINE CODE --- #1318 + 010010B1H LINE CODE --- #1319 + 010010B1H LINE CODE --- #1328 + --- BLOCKEND --- --- LVL=0 + + 010012EFH BLOCK CODE --- LVL=0 + 010012EFH BLOCK CODE NEAR LAB LVL=1 + 00000035H SYMBOL DATA BYTE i + --- BLOCKEND --- --- LVL=1 + 010012EFH LINE CODE --- #1331 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 47 + + + 010012EFH LINE CODE --- #1332 + 010012EFH LINE CODE --- #1334 + 010012FBH LINE CODE --- #1335 + 010012FBH LINE CODE --- #1336 + 01001303H LINE CODE --- #1337 + 01001303H LINE CODE --- #1338 + 0100130CH LINE CODE --- #1339 + 0100130EH LINE CODE --- #1341 + 0100130EH LINE CODE --- #1342 + 01001315H LINE CODE --- #1343 + 01001315H LINE CODE --- #1344 + 01001319H LINE CODE --- #1345 + 0100131CH 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 + 01000637H 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 + 0100052AH LINE CODE --- #1420 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 48 + + + 0100052AH LINE CODE --- #1421 + 0100052AH LINE CODE --- #1422 + 0100052FH LINE CODE --- #1423 + 0100052FH LINE CODE --- #1424 + 01000534H LINE CODE --- #1425 + 0100053FH LINE CODE --- #1426 + 0100053FH LINE CODE --- #1427 + 0100055BH LINE CODE --- #1428 + 0100055BH LINE CODE --- #1429 + 01000568H LINE CODE --- #1430 + 0100056EH LINE CODE --- #1431 + 0100056EH LINE CODE --- #1432 + 01000571H LINE CODE --- #1433 + 01000574H LINE CODE --- #1434 + 01000576H LINE CODE --- #1435 + 0100057CH LINE CODE --- #1436 + 0100057CH LINE CODE --- #1437 + 0100057FH LINE CODE --- #1438 + 01000582H LINE CODE --- #1439 + 01000584H LINE CODE --- #1440 + 0100058AH LINE CODE --- #1441 + 0100058AH LINE CODE --- #1442 + 0100058DH LINE CODE --- #1443 + 01000590H LINE CODE --- #1444 + 01000592H LINE CODE --- #1445 + 01000598H LINE CODE --- #1446 + 01000598H LINE CODE --- #1447 + 0100059BH LINE CODE --- #1448 + 0100059EH LINE CODE --- #1449 + 010005A0H LINE CODE --- #1450 + 010005A6H LINE CODE --- #1451 + 010005A6H LINE CODE --- #1452 + 010005A9H LINE CODE --- #1453 + 010005ACH LINE CODE --- #1454 + 010005AEH LINE CODE --- #1455 + 010005B4H LINE CODE --- #1456 + 010005B4H LINE CODE --- #1457 + 010005B7H LINE CODE --- #1458 + 010005BAH LINE CODE --- #1459 + 010005BAH LINE CODE --- #1460 + 010005BEH LINE CODE --- #1461 + 010005BEH LINE CODE --- #1462 + 010005D4H LINE CODE --- #1463 + 010005E8H LINE CODE --- #1464 + 010005EAH LINE CODE --- #1466 + 010005EAH LINE CODE --- #1467 + 0100060CH LINE CODE --- #1468 + 0100060CH LINE CODE --- #1469 + 0100060CH LINE CODE --- #1470 + 0100060CH LINE CODE --- #1471 + 0100060CH LINE CODE --- #1472 + 0100060CH LINE CODE --- #1473 + 01000610H LINE CODE --- #1474 + 01000619H LINE CODE --- #1475 + 01000619H LINE CODE --- #1476 + 0100061FH LINE CODE --- #1477 + 01000621H LINE CODE --- #1479 + 01000621H LINE CODE --- #1480 + 01000624H LINE CODE --- #1481 + 01000628H LINE CODE --- #1482 + 01000628H LINE CODE --- #1483 + 0100062BH LINE CODE --- #1484 + 0100062EH LINE CODE --- #1485 + 0100062EH LINE CODE --- #1486 + 0100062EH LINE CODE --- #1487 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 49 + + + 01000631H LINE CODE --- #1488 + 01000634H LINE CODE --- #1489 + 01000634H LINE CODE --- #1490 + 01000637H LINE CODE --- #1491 + 01000637H LINE CODE --- #1492 + 0100063AH LINE CODE --- #1493 + 0100063DH LINE CODE --- #1494 + 01000645H LINE CODE --- #1496 + 01000645H LINE CODE --- #1501 + 01000645H LINE CODE --- #1502 + 01000648H LINE CODE --- #1511 + 0100064FH LINE CODE --- #1512 + 01000652H LINE CODE --- #1513 + 01000655H LINE CODE --- #1514 + 0100065CH LINE CODE --- #1515 + 0100065FH LINE CODE --- #1516 + 01000662H LINE CODE --- #1517 + 01000664H LINE CODE --- #1518 + 01000667H LINE CODE --- #1519 + 0100066AH LINE CODE --- #1520 + 0100066CH LINE CODE --- #1522 + 0100066FH LINE CODE --- #1524 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- TS_SEVICE + 01001519H PUBLIC CONST --- pXSFR + 01000296H PUBLIC CODE --- _WheelTouchJudge + 0100115FH PUBLIC CODE --- _SetWheelSliderRefCh + 010013D2H PUBLIC CODE --- _TS_AreaConfirmTimerSet + 0100131DH PUBLIC CODE --- _TS_AreaDeviateDetection + 00000020H.5 PUBLIC BIT BIT ?_TS_GetDataArea?BIT + 010010B2H PUBLIC CODE --- _TS_GetDataArea + 01001111H PUBLIC CODE --- TS_ScanStart + 01001253H PUBLIC CODE --- _TS_SetChannel + 010012C0H 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 + 000000CAH SFRSYM DATA BYTE T2CL + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 50 + + + 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 + 000000E1H SFRSYM DATA BYTE TK0MSL + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 51 + + + 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 + 0000009EH SFRSYM DATA BYTE PWM1DUTH + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 52 + + + 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 + + 01000922H BLOCK CODE --- LVL=0 + --- BLOCKEND --- --- LVL=0 + + 010012C0H BLOCK CODE --- LVL=0 + 010012C0H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000001H SYMBOL DATA --- pPinS + --- BLOCKEND --- --- LVL=1 + 010012C0H LINE CODE --- #32 + 010012C0H LINE CODE --- #33 + 010012C0H LINE CODE --- #36 + 010012C6H LINE CODE --- #38 + 010012D1H LINE CODE --- #39 + 010012D1H LINE CODE --- #40 + 010012E6H LINE CODE --- #41 + 010012EBH LINE CODE --- #42 + 010012EEH LINE CODE --- #43 + --- BLOCKEND --- --- LVL=0 + + 01001253H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE index + 00000005H SYMBOL DATA BYTE ch + 01001253H LINE CODE --- #44 + 01001253H LINE CODE --- #45 + 01001253H LINE CODE --- #46 + 01001267H LINE CODE --- #47 + 01001267H LINE CODE --- #48 + 01001267H LINE CODE --- #49 + 0100126CH LINE CODE --- #50 + 0100126DH LINE CODE --- #51 + 0100126DH LINE CODE --- #52 + 01001272H LINE CODE --- #53 + 01001273H LINE CODE --- #54 + 01001273H LINE CODE --- #55 + 01001278H LINE CODE --- #56 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 53 + + + 01001279H LINE CODE --- #57 + 01001279H LINE CODE --- #58 + 0100127EH LINE CODE --- #59 + 0100127FH LINE CODE --- #60 + 0100127FH LINE CODE --- #61 + 01001284H LINE CODE --- #62 + 01001285H LINE CODE --- #63 + 01001285H LINE CODE --- #64 + 0100128AH LINE CODE --- #65 + 0100128AH LINE CODE --- #66 + 0100128AH LINE CODE --- #67 + --- BLOCKEND --- --- LVL=0 + + 01001111H BLOCK CODE --- LVL=0 + 01001111H BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA BYTE i + 00000004H SYMBOL DATA BYTE j + --- BLOCKEND --- --- LVL=1 + 01001111H LINE CODE --- #68 + 01001111H LINE CODE --- #69 + 01001111H LINE CODE --- #71 + 01001119H LINE CODE --- #72 + 01001119H LINE CODE --- #73 + 01001130H LINE CODE --- #74 + 01001130H LINE CODE --- #75 + 01001137H LINE CODE --- #76 + 01001140H LINE CODE --- #77 + 01001140H LINE CODE --- #78 + 01001147H LINE CODE --- #79 + 0100114AH LINE CODE --- #80 + 0100114AH LINE CODE --- #81 + 0100114AH LINE CODE --- #82 + 01001158H LINE CODE --- #83 + 0100115BH LINE CODE --- #84 + 0100115EH LINE CODE --- #85 + --- BLOCKEND --- --- LVL=0 + + 010010B2H 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 + 010010B8H BLOCK CODE NEAR LAB LVL=1 + 00000002H SYMBOL DATA INT Delta + 00000006H SYMBOL DATA INT FingerThd + --- BLOCKEND --- --- LVL=1 + 010010B2H LINE CODE --- #86 + 010010B8H LINE CODE --- #87 + 010010B8H LINE CODE --- #91 + 010010C8H LINE CODE --- #92 + 010010CFH LINE CODE --- #94 + 010010D2H LINE CODE --- #95 + 010010D2H LINE CODE --- #96 + 010010DDH LINE CODE --- #97 + 010010DDH LINE CODE --- #99 + 010010E5H LINE CODE --- #100 + 010010F3H LINE CODE --- #101 + 010010FEH LINE CODE --- #102 + 01001110H LINE CODE --- #103 + 01001110H LINE CODE --- #104 + --- BLOCKEND --- --- LVL=0 + + 0100131DH BLOCK CODE --- LVL=0 + 00000006H SYMBOL DATA WORD cmp_data + 00000004H SYMBOL DATA WORD real_data + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 54 + + + 00000002H SYMBOL DATA INT range + 0100131DH BLOCK CODE NEAR LAB LVL=1 + 00000006H SYMBOL DATA INT Delta + --- BLOCKEND --- --- LVL=1 + 0100131DH LINE CODE --- #105 + 0100131DH LINE CODE --- #106 + 0100131DH LINE CODE --- #108 + 01001324H LINE CODE --- #109 + 01001345H LINE CODE --- #110 + 01001345H LINE CODE --- #111 + 01001348H LINE CODE --- #112 + 01001348H LINE CODE --- #114 + 01001348H LINE CODE --- #115 + 0100134AH LINE CODE --- #116 + 0100134AH LINE CODE --- #117 + --- BLOCKEND --- --- LVL=0 + + 010013D2H BLOCK CODE --- LVL=0 + 00000007H SYMBOL DATA BYTE ts_ch + 00000005H SYMBOL DATA BYTE area + 010013D2H LINE CODE --- #130 + 010013D2H LINE CODE --- #131 + 010013D2H LINE CODE --- #132 + 010013E4H LINE CODE --- #133 + --- BLOCKEND --- --- LVL=0 + + 0100115FH BLOCK CODE --- LVL=0 + 00000001H SYMBOL DATA BYTE Slider_Cnt + 01001161H BLOCK CODE NEAR LAB LVL=1 + 00000007H SYMBOL DATA BYTE i + 00000006H SYMBOL DATA BYTE j + 00000035H SYMBOL DATA WORD MinVal + --- BLOCKEND --- --- LVL=1 + 0100115FH LINE CODE --- #134 + 01001161H LINE CODE --- #135 + 01001161H LINE CODE --- #138 + 01001167H LINE CODE --- #139 + 0100117EH LINE CODE --- #140 + 0100117EH LINE CODE --- #141 + 01001192H LINE CODE --- #142 + 01001192H LINE CODE --- #143 + 01001197H LINE CODE --- #144 + 0100119BH LINE CODE --- #145 + 0100119BH LINE CODE --- #146 + 0100119FH 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.6 SYMBOL BIT BIT dir_flag + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 55 + + + --- 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 + 0100048BH LINE CODE --- #240 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 56 + + + 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 + 01000F3FH 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 + 01000F3CH SYMBOL CODE --- STARTUP1 + 00000000H SYMBOL NUMBER --- XBPSTACK + 00000000H SYMBOL NUMBER --- XBPSTACKTOP + 00000000H SYMBOL NUMBER --- XDATALEN + 00000000H SYMBOL NUMBER --- XDATASTART + 01000000H LINE CODE --- #126 + 01000F3CH LINE CODE --- #133 + 01000F3EH LINE CODE --- #134 + 01000F3FH LINE CODE --- #135 + 01000F40H LINE CODE --- #136 + 01000F42H LINE CODE --- #185 + 01000F45H LINE CODE --- #196 + + --- MODULE --- --- ?C_INIT + 01000F83H 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 + LX51 LINKER/LOCATER V4.66.97.0 05/05/2026 17:41:53 PAGE 57 + + + 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=5080 +LX51 RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/lst/STARTUP.lst b/lst/STARTUP.lst index 44ff3c0..e94b56b 100644 --- a/lst/STARTUP.lst +++ b/lst/STARTUP.lst @@ -1,10 +1,10 @@ -A51 MACRO ASSEMBLER STARTUP 07/03/2025 11:27:53 PAGE 1 +A51 MACRO ASSEMBLER STARTUP 05/05/2026 17:41: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 +ASSEMBLER INVOKED BY: C:\keil5\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 @@ -65,7 +65,7 @@ LOC OBJ LINE SOURCE 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 + A51 MACRO ASSEMBLER STARTUP 05/05/2026 17:41: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. @@ -133,7 +133,7 @@ LOC OBJ LINE SOURCE 121 122 EXTRN CODE (?C_START) 123 PUBLIC ?C_STARTUP - A51 MACRO ASSEMBLER STARTUP 07/03/2025 11:27:53 PAGE 3 + A51 MACRO ASSEMBLER STARTUP 05/05/2026 17:41:53 PAGE 3 124 ---- 125 CSEG AT 0 @@ -201,7 +201,7 @@ LOC OBJ LINE SOURCE 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 + A51 MACRO ASSEMBLER STARTUP 05/05/2026 17:41:53 PAGE 4 190 @@ -212,7 +212,7 @@ LOC OBJ LINE SOURCE 0009 020000 F 196 LJMP ?C_START 197 198 END - A51 MACRO ASSEMBLER STARTUP 07/03/2025 11:27:53 PAGE 5 + A51 MACRO ASSEMBLER STARTUP 05/05/2026 17:41:53 PAGE 5 SYMBOL TABLE LISTING ------ ----- ------- diff --git a/lst/ca51fx_onoff.map b/lst/ca51fx_onoff.map index 9670fe7..7cd1467 100644 --- a/lst/ca51fx_onoff.map +++ b/lst/ca51fx_onoff.map @@ -1,4 +1,4 @@ -LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 1 +LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 1 LX51 LINKER/LOCATER V4.66.100.0, INVOKED BY: @@ -67,7 +67,7 @@ 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 2 C:000000H C:000000H C:001FFFH 001450H CODE @@ -135,7 +135,7 @@ START STOP LENGTH ALIGN RELOC MEMORY CLASS SEGMENT NAME 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 3 001335H 001363H 00002FH BYTE UNIT CODE ?PR?TS_IO_INIT?TS_SEVICE @@ -203,7 +203,7 @@ START STOP LENGTH ALIGN RELOC MEMORY CLASS SEGMENT NAME 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 4 008109H 008109H 000001H BYTE OFFS.. XDATA ?XD?MAIN?65 @@ -271,7 +271,7 @@ RF_SEND ----- ----- ----- ----- ----- ----- INT2_HANDLER/INTERRUPT ----- ----- ----- ----- ----- ----- - LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 5 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 5 *** NEW ROOT ************************** @@ -339,7 +339,7 @@ TS_RUNINIT/TS_API ----- ----- 0032H 0032H ----- ----- +--> _TS_AREACONFIRMTIMERSET/TS_SEVICE _TS_AREACONFIRMTIMERSET/TS_SEVICE ----- ----- ----- ----- ----- ----- - LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 6 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 6 @@ -407,7 +407,7 @@ PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 7 01000218H CODE --- ?C?ULSHR @@ -475,7 +475,7 @@ PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx_onoff (MAIN) *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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 8 *SFR* 000000A8H.2 DATA BIT EX1 @@ -543,7 +543,7 @@ PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx_onoff (MAIN) *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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 9 *SFR* 00000080H.5 DATA BIT P05 @@ -611,7 +611,7 @@ PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx_onoff (MAIN) *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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 10 *SFR* 000000B5H DATA BYTE PWM4CKD @@ -679,7 +679,7 @@ PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx_onoff (MAIN) *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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 11 *SFR* 000000E3H DATA BYTE TK1MSL @@ -747,7 +747,7 @@ PUBLIC SYMBOLS OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 12 01001558H CONST --- TS_KEY_CH_INFO_SEQ @@ -815,7 +815,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 13 02008139H PUBLIC XDATA BYTE P31C @@ -883,7 +883,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 14 000000B0H SFRSYM DATA BYTE P3 @@ -951,7 +951,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 15 00000087H SFRSYM DATA BYTE PCON @@ -1019,7 +1019,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 16 000000B8H.1 SFRSYM DATA BIT PT0 @@ -1087,7 +1087,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 17 --- BLOCKEND --- --- LVL=0 @@ -1155,7 +1155,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 18 01000A9CH LINE CODE --- #398 @@ -1223,7 +1223,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 19 @@ -1291,7 +1291,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 20 000000F7H SFRSYM DATA BYTE ATK2CL @@ -1359,7 +1359,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 21 00000098H.1 SFRSYM DATA BIT TI0 @@ -1427,7 +1427,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 22 000000D0H SFRSYM DATA BYTE PSW @@ -1495,7 +1495,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 23 000000ECH SFRSYM DATA BYTE ATK4CL @@ -1563,7 +1563,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 24 00000098H.3 SFRSYM DATA BIT TB8 @@ -1631,7 +1631,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 25 000000B5H SFRSYM DATA BYTE PWM4CKD @@ -1699,7 +1699,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 26 000000D4H SFRSYM DATA BYTE EPIF @@ -1767,7 +1767,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 27 00000088H.2 SFRSYM DATA BIT IT1 @@ -1835,7 +1835,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 28 000000A0H SFRSYM DATA BYTE WDCON @@ -1903,7 +1903,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 29 0000008EH SFRSYM DATA BYTE IDLST @@ -1971,7 +1971,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 30 00000080H.1 SFRSYM DATA BIT P01 @@ -2039,7 +2039,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 31 000000B8H.4 SFRSYM DATA BIT PS0 @@ -2107,7 +2107,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 32 01000B1CH LINE CODE --- #31 @@ -2175,7 +2175,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 33 01000BEFH LINE CODE --- #102 @@ -2243,7 +2243,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 34 000000D0H.7 SFRSYM DATA BIT CY @@ -2311,7 +2311,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 35 000000E7H SFRSYM DATA BYTE TK3MSL @@ -2379,7 +2379,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 36 00000097H SFRSYM DATA BYTE PWM5DUTH @@ -2447,7 +2447,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 37 01001580H PUBLIC CONST --- MASK_TAB @@ -2515,7 +2515,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 38 000000F5H SFRSYM DATA BYTE ATK1CL @@ -2583,7 +2583,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 39 0000008CH SFRSYM DATA BYTE TH0 @@ -2651,7 +2651,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 40 000000B1H SFRSYM DATA BYTE PWM0CKD @@ -2719,7 +2719,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 41 01000DFAH LINE CODE --- #193 @@ -2787,7 +2787,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) --- BLOCKEND --- --- LVL=0 01000EB7H BLOCK CODE --- LVL=0 - LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 42 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 42 01000EB7H BLOCK CODE NEAR LAB LVL=1 @@ -2855,7 +2855,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 43 01000D4FH LINE CODE --- #517 @@ -2923,7 +2923,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 44 01000C73H LINE CODE --- #773 @@ -2991,7 +2991,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 45 01000685H LINE CODE --- #965 @@ -3059,7 +3059,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 46 0100078DH LINE CODE --- #1052 @@ -3127,7 +3127,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 47 0100104FH LINE CODE --- #1196 @@ -3195,7 +3195,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 48 010013EAH LINE CODE --- #1331 @@ -3263,7 +3263,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 49 0100052AH LINE CODE --- #1420 @@ -3331,7 +3331,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 50 01000617H LINE CODE --- #1487 @@ -3399,7 +3399,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 51 000000CAH SFRSYM DATA BYTE T2CL @@ -3467,7 +3467,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 52 000000E1H SFRSYM DATA BYTE TK0MSL @@ -3535,7 +3535,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 53 0000009EH SFRSYM DATA BYTE PWM1DUTH @@ -3603,7 +3603,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 54 010012ECH LINE CODE --- #56 @@ -3671,7 +3671,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 55 00000004H SYMBOL DATA WORD real_data @@ -3739,7 +3739,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 56 00000020H.6 SYMBOL BIT BIT dir_flag @@ -3807,7 +3807,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) 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 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 57 0100048BH LINE CODE --- #240 @@ -3875,7 +3875,7 @@ SYMBOL TABLE OF MODULE: .\hex\ca51fx_onoff (MAIN) --- MODULE --- --- ?C?LMUL 010000FBH PUBLIC CODE --- ?C?LMUL - LX51 LINKER/LOCATER V4.66.100.0 07/03/2025 11:27:53 PAGE 58 + LX51 LINKER/LOCATER V4.66.100.0 10/21/2025 16:15:03 PAGE 58 --- MODULE --- --- ?C?ULDIV diff --git a/lst/debug.lst b/lst/debug.lst index 34902c2..8232157 100644 --- a/lst/debug.lst +++ b/lst/debug.lst @@ -1,10 +1,10 @@ -C51 COMPILER V9.60.7.0 DEBUG 07/03/2025 11:27:51 PAGE 1 +C51 COMPILER V9.60.0.0 DEBUG 05/05/2026 17:41:51 PAGE 1 -C51 COMPILER V9.60.7.0, COMPILATION OF MODULE DEBUG +C51 COMPILER V9.60.0.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) +COMPILER INVOKED BY: C:\keil5\C51\BIN\C51.EXE TS_Lib\Sources\debug.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\debu + -g.lst) TABS(2) OBJECT(.\hex\debug.obj) line level source @@ -22,14 +22,16 @@ line level source 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 +*** WARNING C329 IN LINE 125 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 126 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 127 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 143 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 144 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" @@ -60,10 +62,10 @@ line level source &TSKey_FingerThd[0], &TS_CH_Debug[0], }; + C51 COMPILER V9.60.0.0 DEBUG 05/05/2026 17:41:51 PAGE 2 + 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'; @@ -124,10 +126,10 @@ line level source I2CCON = I2CE(1) | I2CIE(1) | STA(0) | STP(0)| CKHD(0) | AAK(1)| CBSE(0) | STFE(0); I2CADR = (I2C_ADDR>>1); + C51 COMPILER V9.60.0.0 DEBUG 05/05/2026 17:41:51 PAGE 3 + INT4EN = 1; PS1 = 1; - C51 COMPILER V9.60.7.0 DEBUG 07/03/2025 11:27:51 PAGE 3 - } void Debug_ParamLoad(void) { @@ -162,4 +164,4 @@ MODULE INFORMATION: STATIC OVERLAYABLE END OF MODULE INFORMATION. -C51 COMPILATION COMPLETE. 8 WARNING(S), 0 ERROR(S) +C51 COMPILATION COMPLETE. 10 WARNING(S), 0 ERROR(S) diff --git a/lst/delay.lst b/lst/delay.lst index eede21c..3b661f8 100644 --- a/lst/delay.lst +++ b/lst/delay.lst @@ -1,10 +1,10 @@ -C51 COMPILER V9.60.7.0 DELAY 07/03/2025 11:27:47 PAGE 1 +C51 COMPILER V9.60.0.0 DELAY 05/05/2026 17:41:49 PAGE 1 -C51 COMPILER V9.60.7.0, COMPILATION OF MODULE DELAY +C51 COMPILER V9.60.0.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) +COMPILER INVOKED BY: C:\keil5\C51\BIN\C51.EXE Library\Sources\delay.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\del + -ay.lst) TABS(2) OBJECT(.\hex\delay.obj) line level source @@ -33,7 +33,7 @@ line level source MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 49 ---- + CODE SIZE = 53 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- diff --git a/lst/interrupt.lst b/lst/interrupt.lst index 5f24531..f53614b 100644 --- a/lst/interrupt.lst +++ b/lst/interrupt.lst @@ -1,10 +1,10 @@ -C51 COMPILER V9.60.7.0 INTERRUPT 07/03/2025 11:27:50 PAGE 1 +C51 COMPILER V9.60.0.0 INTERRUPT 05/05/2026 17:41:51 PAGE 1 -C51 COMPILER V9.60.7.0, COMPILATION OF MODULE INTERRUPT +C51 COMPILER V9.60.0.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) +COMPILER INVOKED BY: C:\keil5\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 @@ -22,14 +22,16 @@ line level source 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 +*** WARNING C329 IN LINE 125 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 126 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 127 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 143 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 144 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" @@ -60,10 +62,10 @@ line level source 40 1 } 41 42 void INT3_ISR (void) interrupt 5 + C51 COMPILER V9.60.0.0 INTERRUPT 05/05/2026 17:41:51 PAGE 2 + 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; @@ -116,7 +118,7 @@ line level source MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 137 ---- + CODE SIZE = 146 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- @@ -124,12 +126,12 @@ MODULE INFORMATION: STATIC OVERLAYABLE IDATA SIZE = ---- ---- BIT SIZE = ---- ---- EDATA SIZE = ---- ---- + C51 COMPILER V9.60.0.0 INTERRUPT 05/05/2026 17:41:51 PAGE 3 + 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) +C51 COMPILATION COMPLETE. 10 WARNING(S), 0 ERROR(S) diff --git a/lst/main.lst b/lst/main.lst index 3ebdab9..b8cae1c 100644 --- a/lst/main.lst +++ b/lst/main.lst @@ -1,10 +1,10 @@ -C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 1 +C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 1 -C51 COMPILER V9.60.7.0, COMPILATION OF MODULE MAIN +C51 COMPILER V9.60.0.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) +COMPILER INVOKED BY: C:\keil5\C51\BIN\C51.EXE main.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\main.lst) TABS(2) OB + -JECT(.\hex\main.obj) line level source @@ -25,14 +25,16 @@ line level source 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 +*** WARNING C329 IN LINE 125 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 126 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 127 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 143 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 144 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" @@ -55,15 +57,15 @@ line level source 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 + 38 //void TIMER0_ISR (void) interrupt 1 //ÿ100usж + 39 //{ + 40 // TH0 = TH_VAL; + 41 // TL0 = TL_VAL; + 42 + C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 2 + 43 // Send433_Byte(); + 44 //} 45 /********************************************************************************************************* -************/ 46 /********************************************************************************************************* @@ -121,565 +123,141 @@ line level source 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 + 88 16, 17, 18, 19, 20,21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 89 36, 37, 38, 39, 40,40, + 90 41,41, 42, 43, 44,44, 45, 46, 47,47, 48, 49, 50,50, 51, 52, 53,53, 54, 55,55, 56, 57, 58,58, 59, 60, + C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 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 + 91 61, 62,62, 63, 64,64, 65, 66, 67,67, 68, 69, 70,70, 71, 72, 73, 74,74, 75, 76,76, 77, 78,78, 79, 80, + 92 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 93 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 94 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 95 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 96 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 97 181, 182, 183, 184, 185, 186 , 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 98 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 99 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 100 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 + 101 }; + 102 void main(void) + 103 { + 104 1 unsigned long int addr=0; + 105 1 unsigned char send_times = 0; + 106 1 #ifdef LVD_RST_ENABLE + 107 1 LVDCON = 0xE3; //LVDλѹΪ2.0V + 108 1 #endif + 109 1 + 110 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ֵʾԲ + 113 1 + 114 1 //ŹʱԴΪIRCL + 115 1 CKCON |= ILCKE; //ʹIRCL + 116 1 WDCON = WDTS(WDTS_IRCL) | WDRE(WDRE_reset); //ÿŹʱԴΪILCKEģʽΪλģʽ + 117 1 WDVTHH = 0; //Źλֵ߰λ ǰֵΪ5s + 118 1 WDVTHL = 75; //ŹλֵͰλ + 119 1 WDFLG = 0xA5; + 120 1 + 121 1 EA = 1; + 122 1 + 123 1 TS_init(); + 124 1 + 125 1 P32F = OUTPUT; //P00Ϊģʽ + 126 1 P32=0; + 127 1 + 128 1 addr = (unsigned int)Read_32bit_UID(); //ȡңID + 129 1 D0 = (unsigned char)(addr >> 8); + 130 1 D1 = (unsigned char)(addr); + 131 1 + 132 1 Yaokong_Data[0] = D1; + 133 1 Yaokong_Data[1] = D0; + 134 1 + 135 1 // TMOD = (TMOD&0xFC)|0x00; //ģʽѡ: ʱ0ģʽ0 + 136 1 // TH0 = TH_VAL; //8λװֵ + 137 1 // TL0 = TL_VAL; //8λװֵ + 138 1 // + 139 1 // TR0 = 0; //ʱ0ʹ + 140 1 // ET0 = 1; //ʱ0жʹ + 141 1 // PT0 = 0; //öʱ0жȼΪȼ + 142 1 + 143 1 while(1) + 144 1 { + 145 2 TS_Action(); + 146 2 if(WheelSliderPosition != -1) + 147 2 { + 148 3 send_times = 3; + 149 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 + 150 3 valueSend=rf_data[ WheelSliderPosition];//0-240 + 151 3 //valueSend += 15;//15-255 + C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 4 - 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 + 152 3 } + 153 2 + 154 2 if(KeysFlagSN != 0) + 155 2 { + 156 3 send_times = 3; + 157 3 switch(KeysFlagSN) + 158 3 { + 159 4 case 0x0001: + 160 4 valueSend = 0x0A;//1 + 161 4 break; + 162 4 case 0x0002: + 163 4 valueSend = 0x0C;// + 164 4 break; + 165 4 case 0x0004: + 166 4 // valueSend = 0x07;//1 + 167 4 valueSend = 0x0E;//1 + 168 4 break; + 169 4 case 0x0008: + 170 4 //valueSend = 0x09;// + 171 4 valueSend = 0x06;// + 172 4 break; + 173 4 case 0x0010: + 174 4 valueSend = 0x02;//1 + 175 4 break; + 176 4 case 0x0020: + 177 4 valueSend = 0x04;//1 + 178 4 break; + 179 4 case 0x0040: + 180 4 valueSend = 0x00; // 1 + 181 4 break; + 182 4 case 0x0080: + 183 4 valueSend = 0x0F; // 1 + 184 4 break; + 185 4 default: + 186 4 flagSend = 0; + 187 4 break; + 188 4 } + 189 3 } + 190 2 + 191 2 + 192 2 if(KeysFlagSN==0&&WheelSliderPosition==-1){ + 193 3 flagSend=0; + 194 3 }else{ + 195 3 flagSend = 1; + 196 3 } + 197 2 if(flagSend&&RF_Time>20) + 198 2 { + 199 3 RF_Time = 0; + 200 3 flagSend = 0; + 201 3 RF_Time=0; + 202 3 EA = 0; + 203 3 RF_send(send_times); + 204 3 EA = 1; + 205 3 } + 206 2 + 207 2 + 208 2 + 209 2 } + 210 1 } + 211 #endif - | ϼ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 + C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 5 MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 436 ---- + CODE SIZE = 364 ---- CONSTANT SIZE = 255 ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- @@ -693,4 +271,4 @@ MODULE INFORMATION: STATIC OVERLAYABLE END OF MODULE INFORMATION. -C51 COMPILATION COMPLETE. 8 WARNING(S), 0 ERROR(S) +C51 COMPILATION COMPLETE. 10 WARNING(S), 0 ERROR(S) diff --git a/lst/rf_send.lst b/lst/rf_send.lst index 48f29a2..8d472a4 100644 --- a/lst/rf_send.lst +++ b/lst/rf_send.lst @@ -1,10 +1,10 @@ -C51 COMPILER V9.60.7.0 RF_SEND 07/03/2025 11:27:50 PAGE 1 +C51 COMPILER V9.60.0.0 RF_SEND 05/05/2026 17:41:51 PAGE 1 -C51 COMPILER V9.60.7.0, COMPILATION OF MODULE RF_SEND +C51 COMPILER V9.60.0.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) +COMPILER INVOKED BY: C:\keil5\C51\BIN\C51.EXE rf_send.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\rf_send.lst) TABS + -(2) OBJECT(.\hex\rf_send.obj) line level source @@ -39,178 +39,171 @@ line level source 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 + 31 1 // switch (Send433_Status) + 32 1 // { + 33 1 // case 0: //ͬͷ + 34 1 // Pin_rf = 1; + 35 1 // if (++Send433_Time >= 4)//ߵƽ400us + 36 1 // { + 37 1 // Send433_Time = 0; + 38 1 // Send433_Status = 1; //ͬͷ + 39 1 // } + 40 1 // break; + 41 1 // case 1://ͬͷ͵ƽ + 42 1 // Pin_rf = 0; + 43 1 // if (++Send433_Time >= 120)//ƽ12300us + 44 1 // { + 45 1 // Send433_Time = 0; + 46 1 // Send433_Status = 2; //뷢24λ + 47 1 // } + 48 1 // break; + 49 1 // case 2: + 50 1 + 51 1 // if(!Chose_Data_En)//ûʼ ϴѾһֽڲʹѡ + 52 1 // { + 53 1 // Chose_Data_En=1; + C51 COMPILER V9.60.0.0 RF_SEND 05/05/2026 17:41:51 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 + 54 1 // Temp=Yaokong_Data[Send433_Byte_Cont]; + 55 1 // //Send433_Byte_Cont++; + 56 1 // } + 57 1 + 58 1 // Send433_Time++; + 59 1 // if (Temp & 0x80) //1 + 60 1 // { + 61 1 // if (Send433_Time <= 12) + 62 1 // { + 63 1 // Pin_rf = 1; + 64 1 // } + 65 1 // else if (Send433_Time >= 13) + 66 1 // { + 67 1 // Pin_rf = 0; + 68 1 // if (Send433_Time == 16) + 69 1 // { + 70 1 // Send433_Time = 0; + 71 1 // Temp <<= 1; + 72 1 // Send433_Bit_Cont++; + 73 1 // } + 74 1 // } + 75 1 // } + 76 1 // else//0 + 77 1 // { + 78 1 // if (Send433_Time <= 4) + 79 1 // { + 80 1 // Pin_rf = 1; + 81 1 // } + 82 1 // else if (Send433_Time >= 5) + 83 1 // { + 84 1 // Pin_rf = 0; + 85 1 // if (Send433_Time == 16) + 86 1 // { + 87 1 // Send433_Time = 0; + 88 1 // Temp <<= 1; + 89 1 // Send433_Bit_Cont++; + 90 1 // } + 91 1 // } + 92 1 // } + 93 1 // if (Send433_Bit_Cont == 8)//һֽ + 94 1 // { + 95 1 // Send433_Bit_Cont = 0; + 96 1 + 97 1 // Chose_Data_En=0;//ʹѡһֽ + 98 1 // if(++Send433_Byte_Cont==3) + 99 1 // { + 100 1 // Send433_Byte_Cont=0; + 101 1 // + 102 1 // if(flagStart == 1) + 103 1 // { + 104 1 // Send433_Status = 3; // + 105 1 // } + 106 1 // else + 107 1 // { + 108 1 // Send433_Status = 0; //һ֡ݷ + 109 1 // } + 110 1 // + 111 1 // } + 112 1 // } + 113 1 // break; + 114 1 // + 115 1 // case 3: + C51 COMPILER V9.60.0.0 RF_SEND 05/05/2026 17:41:51 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 } + 116 1 // if (++Send433_Time <= 4) + 117 1 // { + 118 1 // Pin_rf = 1; + 119 1 // } + 120 1 // else + 121 1 // { + 122 1 // Pin_rf = 0; + 123 1 // Send433_Time = 0; + 124 1 // // flagStart = 0; + 125 1 // Send433_Status = 0; + 126 1 // TR0 = 0; //ʱ0ֹ + 127 1 // + 128 1 // } + 129 1 // break; + 130 1 // default: + 131 1 // break; + 132 1 // } 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 + 135 void RF_send(unsigned char cnt); + 136 void send_8bit(unsigned char n); + 137 + 138 /*****************************************/ + 139 + 140 void RF_send(unsigned char cnt) + 141 { + 142 1 unsigned char i; + 143 1 + 144 1 for(i=cnt;i>0;i--) //ʹ + 145 1 { + 146 2 Pin_rf=1; + 147 2 Delay_50us(5); //ͬߵƽ + 148 2 Pin_rf=0; + 149 2 Delay_50us(185); //ͬ͵ƽ + 150 2 Pin_rf=1; + 151 2 + 152 2 send_8bit(D0); + 153 2 send_8bit(D1); + 154 2 send_8bit(valueSend); + 155 2 } + 156 1 } + 157 + 158 void send_8bit(unsigned char n) + 159 { + 160 1 unsigned char i; + 161 1 for(i=8;i>0;i--) + 162 1 { + 163 2 Pin_rf=1; + 164 2 if(n&0x80) + 165 2 {//1 + 166 3 Delay_50us(18); + 167 3 Pin_rf=0; + 168 3 Delay_50us(4); + 169 3 } + 170 2 else + 171 2 {//0 + 172 3 Delay_50us(5); + 173 3 Pin_rf=0; + 174 3 Delay_50us(17); + 175 3 } + 176 2 n<<=1; + 177 2 } + C51 COMPILER V9.60.0.0 RF_SEND 05/05/2026 17:41:51 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 + 178 1 } + 179 + 180 + 181 #endif MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 260 ---- + CODE SIZE = 117 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- - DATA SIZE = 13 ---- + DATA SIZE = 13 3 IDATA SIZE = 2 ---- BIT SIZE = ---- ---- EDATA SIZE = ---- ---- diff --git a/lst/system_clock.lst b/lst/system_clock.lst index 1567016..25c37ef 100644 --- a/lst/system_clock.lst +++ b/lst/system_clock.lst @@ -1,10 +1,10 @@ -C51 COMPILER V9.60.7.0 SYSTEM_CLOCK 07/03/2025 11:27:48 PAGE 1 +C51 COMPILER V9.60.0.0 SYSTEM_CLOCK 05/05/2026 17:41:50 PAGE 1 -C51 COMPILER V9.60.7.0, COMPILATION OF MODULE SYSTEM_CLOCK +C51 COMPILER V9.60.0.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) +COMPILER INVOKED BY: C:\keil5\C51\BIN\C51.EXE Library\Sources\system_clock.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\ + -lst\system_clock.lst) TABS(2) OBJECT(.\hex\system_clock.obj) line level source diff --git a/lst/ts_api.lst b/lst/ts_api.lst index e7aab91..bb279ea 100644 --- a/lst/ts_api.lst +++ b/lst/ts_api.lst @@ -1,10 +1,10 @@ -C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 1 +C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 1 -C51 COMPILER V9.60.7.0, COMPILATION OF MODULE TS_API +C51 COMPILER V9.60.0.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) +COMPILER INVOKED BY: C:\keil5\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 @@ -28,14 +28,16 @@ line level source 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 +*** WARNING C329 IN LINE 125 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 126 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 127 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 143 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation +*** WARNING C329 IN LINE 144 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" @@ -60,10 +62,10 @@ line level source TK_BASELINE_VALUE_SEQ }; #endif + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 2 + 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, @@ -124,10 +126,10 @@ line level source 101 }; 102 #else code unsigned char AREA_CONFIRM_TIME_TAB[1]={0}; + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 3 + 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; @@ -188,10 +190,10 @@ line level source { TSWheelSlider_LongTouchLimitTimer--; } + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 4 + #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--; @@ -252,10 +254,10 @@ line level source 225 2 TKIF = TKIF5; 226 2 TS_Data[5].bVal[0] = TK5MSH; 227 2 TS_Data[5].bVal[1] = TK5MSL; + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 5 + 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 @@ -316,10 +318,10 @@ line level source } else { + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 6 + 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 @@ -380,10 +382,10 @@ line level source 348 2 DataMin = 0xFFFF; 349 2 for(j = 0; j < FILTER_COUNT; j++) 350 2 { + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 7 + 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]; @@ -444,10 +446,10 @@ line level source { RefChDataBufIdx = 0; } + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 8 + 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 @@ -508,10 +510,10 @@ line level source { if(!TS_AreaConfirmTimer[0]) { + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 9 + 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)) @@ -572,10 +574,10 @@ line level source TS_BaseLineDataBak[i] = TS_BaseLineData[i]; #endif 536 4 #if (SUPPORT_KEY && SUPPORT_WHEEL_SLIDER) + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 10 + 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 @@ -636,10 +638,10 @@ line level source if(idx == 0) TLDAT0 &= ~(1<= JUDGE_TK_NUM)||(TS_RefChAbnormalJudge())) @@ -956,10 +958,10 @@ line level source 904 2 ActiveTouchType = 0; 905 2 } 906 1 } + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 16 + 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; @@ -1020,10 +1022,10 @@ line level source 966 2 { 967 3 if(Position != -1) 968 3 { + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 17 + 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 { @@ -1084,10 +1086,10 @@ line level source for(i = TS_BaseCh; i < TS_BaseCh + WHEEL_SLIDER0_CH_COUNT; i++) { TS_FirstAreaData[i] = TS_PostData[i]; + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 18 + 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; } @@ -1148,10 +1150,10 @@ line level source TK_Debug_UartPutChar('\r'); TK_Debug_UartPutChar('\n'); #endif + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 19 + 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); @@ -1212,10 +1214,10 @@ line level source 1152 1 TMSNU = 0; 1153 1 INT3EN =1; 1154 1 + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 20 + 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) @@ -1276,10 +1278,10 @@ line level source 1214 1 #endif 1215 1 TS_State = TS_INIT; 1216 1 TS_Init_Step = 0; + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 21 + 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 @@ -1340,10 +1342,10 @@ line level source 1276 3 if(ActiveTouchType != 1) 1277 3 { 1278 4 TS_WheelSliderDeal(); + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 22 + 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 { @@ -1404,10 +1406,10 @@ line level source 1338 3 TS_SetChannel(i,(TS_CH[TS_Index+i])+1); 1339 3 } 1340 2 else + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 23 + 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); @@ -1468,10 +1470,10 @@ line level source 1400 1 TMCON = TME(1); 1401 1 TMSNU = 127; 1402 1 + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 24 + 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; @@ -1532,10 +1534,10 @@ line level source 1462 6 WakeUp_PThdVal[TS_Index+i] = TS_Data.wVal - SLEEP_TOUTH_THD; 1463 6 WakeUp_NThdVal[TS_Index+i] = TS_Data.wVal + SLEEP_TOUTH_THD; 1464 6 } + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 25 + 1465 5 else 1466 5 { - C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 25 - 1467 6 if((TS_Data.wVal <= WakeUp_PThdVal[TS_Index+i])||(TS_Data.wVal >= WakeUp_NThdVal[TS_Index+i])) 1468 6 { 1469 7 goto SLEEP_EXIT; @@ -1596,10 +1598,10 @@ line level source 1524 1 } 1525 #endif 1526 /********************************************************************************************************* + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 26 + -************/ 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 @@ -1660,10 +1662,10 @@ line level source #endif void TS_GetKey(void) { + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 27 + 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); @@ -1724,10 +1726,10 @@ line level source LongFlag = 1; TS_Key = KeyBak | KEY_LONG_START; } + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 28 + 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; @@ -1788,10 +1790,10 @@ line level source if(!LongFlag) { TS_Key = KeyBak | KEY_BREAK; + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 29 + } else - C51 COMPILER V9.60.7.0 TS_API 07/03/2025 11:27:52 PAGE 29 - { TS_Key = KeyBak | KEY_LONG_BREAK; } @@ -1852,10 +1854,10 @@ line level source } else { + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 30 + 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'); @@ -1916,15 +1918,15 @@ line level source 1833 /********************************************************************************************************* -************/ 1834 + C51 COMPILER V9.60.0.0 TS_API 05/05/2026 17:41:52 PAGE 31 + 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 ---- + CODE SIZE = 2377 ---- CONSTANT SIZE = 53 ---- XDATA SIZE = 296 48 PDATA SIZE = ---- ---- @@ -1938,4 +1940,4 @@ MODULE INFORMATION: STATIC OVERLAYABLE END OF MODULE INFORMATION. -C51 COMPILATION COMPLETE. 8 WARNING(S), 0 ERROR(S) +C51 COMPILATION COMPLETE. 10 WARNING(S), 0 ERROR(S) diff --git a/lst/uart.lst b/lst/uart.lst index 13aac4a..80067a5 100644 --- a/lst/uart.lst +++ b/lst/uart.lst @@ -1,10 +1,10 @@ -C51 COMPILER V9.60.7.0 UART 07/03/2025 11:27:49 PAGE 1 +C51 COMPILER V9.60.0.0 UART 05/05/2026 17:41:50 PAGE 1 -C51 COMPILER V9.60.7.0, COMPILATION OF MODULE UART +C51 COMPILER V9.60.0.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) +COMPILER INVOKED BY: C:\keil5\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 @@ -62,7 +62,7 @@ line level source uart0_send.head = 0; uart0_send.tail = 0; - C51 COMPILER V9.60.7.0 UART 07/03/2025 11:27:49 PAGE 2 + C51 COMPILER V9.60.0.0 UART 05/05/2026 17:41:50 PAGE 2 uart0_rev.head = 0; uart0_rev.tail = 0; @@ -126,7 +126,7 @@ line level source ES0 = 1; } break; - C51 COMPILER V9.60.7.0 UART 07/03/2025 11:27:49 PAGE 3 + C51 COMPILER V9.60.0.0 UART 05/05/2026 17:41:50 PAGE 3 } } diff --git a/main.c b/main.c index 8991359..8549fd1 100644 --- a/main.c +++ b/main.c @@ -35,13 +35,13 @@ unsigned char flagStart = 0; void Delay_ms(unsigned int n); -void TIMER0_ISR (void) interrupt 1 //ÿ100usж -{ - TH0 = TH_VAL; - TL0 = TL_VAL; +//void TIMER0_ISR (void) interrupt 1 //ÿ100usж +//{ +// TH0 = TH_VAL; +// TL0 = TL_VAL; - Send433_Byte(); -} +// Send433_Byte(); +//} /*********************************************************************************************************************/ /******************************************************************************************************************************************* ˵ @@ -85,261 +85,19 @@ unsigned long int Read_32bit_UID(void) } 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, + 16, 17, 18, 19, 20,21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40,40, + 41,41, 42, 43, 44,44, 45, 46, 47,47, 48, 49, 50,50, 51, 52, 53,53, 54, 55,55, 56, 57, 58,58, 59, 60, + 61, 62,62, 63, 64,64, 65, 66, 67,67, 68, 69, 70,70, 71, 72, 73, 74,74, 75, 76,76, 77, 78,78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186 , 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 }; void main(void) { @@ -374,56 +132,55 @@ void main(void) 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жȼΪȼ +// 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; + send_times = 3; //WheelSliderPosition-1ʱ ʾԲд¼WheelSliderPositionֵʾԲλá - send_times = 1; valueSend=rf_data[ WheelSliderPosition];//0-240 - valueSend += 15;//15-255 + //valueSend += 15;//15-255 } if(KeysFlagSN != 0) { - flagSend = 1; - flagStart = 0; + send_times = 3; switch(KeysFlagSN) { case 0x0001: - valueSend = 0x05; + valueSend = 0x0A;//1 break; case 0x0002: - valueSend = 0x0c; + valueSend = 0x0C;// break; case 0x0004: - valueSend = 0x0a; + // valueSend = 0x07;//1 + valueSend = 0x0E;//1 break; case 0x0008: - valueSend = 0x0b; + //valueSend = 0x09;// + valueSend = 0x06;// break; case 0x0010: - valueSend = 0x09; + valueSend = 0x02;//1 break; case 0x0020: - valueSend = 0x07; + valueSend = 0x04;//1 break; case 0x0040: - valueSend = 0x03; + valueSend = 0x00; // 1 break; case 0x0080: - valueSend = 0x01; + valueSend = 0x0F; // 1 break; default: flagSend = 0; @@ -431,181 +188,23 @@ void main(void) } } - if(WheelSliderPosition == -1&&KeysFlagSN == 0) + + if(KeysFlagSN==0&&WheelSliderPosition==-1){ + flagSend=0; + }else{ + flagSend = 1; + } + if(flagSend&&RF_Time>20) { - 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)//̰ - { + RF_Time = 0; flagSend = 0; -// flagStart = 1; -// -// RF_send(send_times); - TR0 = 1; //ʱ0ʹ - Yaokong_Data[2] = valueSend; + RF_Time=0; + EA = 0; + RF_send(send_times); + EA = 1; } + + } } diff --git a/rf_send.c b/rf_send.c index 9d98bea..bb30aaf 100644 --- a/rf_send.c +++ b/rf_send.c @@ -28,161 +28,154 @@ unsigned char Chose_Data_En=0;//ʹ 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: +// 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++; - } +// 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; +// 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; - } +// 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(5); //ͬߵƽ + Pin_rf=0; + Delay_50us(185); //ͬ͵ƽ + Pin_rf=1; + + send_8bit(D0); + send_8bit(D1); + send_8bit(valueSend); + } +} + +void send_8bit(unsigned char n) +{ + unsigned char i; + for(i=8;i>0;i--) + { + Pin_rf=1; + if(n&0x80) + {//1 + Delay_50us(18); + Pin_rf=0; + Delay_50us(4); + } + else + {//0 + Delay_50us(5); + Pin_rf=0; + Delay_50us(17); + } + n<<=1; + } } -//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 index 207afb7..d446e48 100644 --- a/rf_send.h +++ b/rf_send.h @@ -10,8 +10,8 @@ extern unsigned char flagStart; void Send433_Byte(void); -//void RF_send(unsigned char cnt); -//void send_8bit(unsigned char n); +void RF_send(unsigned char cnt); +void send_8bit(unsigned char n);

@ZUL zq@H3Qo~?Devu06p%&YqAj6&NtxXj3Jg)p3r2>*g85psjrO}w7f;* zYQ)xFWnC3g0>G5suF+ZTW6Si=WDcEYVExyOh5>U>hqj5V4)J%fr0WG(r3a}wI+IoU z!(o*kb?~-IzZ5p-abq-6MOLQG9INs)fc7>*KrkYURr=Fm-2G&UtU(0m<=t4V0w^X8!7!lVx;yX zqY7>#tT@4V*RnqR=6xD79izj|UJavMRw9(+q~|E@NsTyzE8t4;B^aU<{`wmH;;TJ| z(^~9+P6Ek9i}H5D4+!O|%3teAQ0DWe)FH{^-G`cnrudbOa>HEPia^D#=!0zp-5QTaTB0vEO?9e(UkR zU{Ebo0lY)QEUUHFtsIC;l*<+5bv=z>`>MJQ6U}#}6(#^u6llmvf$SC@d*w`zL$LvV zUu)xP0lLbG&2==#iH(idceUfo;^aEM*m`}l^%^h-jC|m0oY2hr1uLr@Y4x4U$`;3^ zq$x(1t&U5na`~g_o8;*D&YM|9J~nlK5(W4hhrjYPk0p)@F7 z4Biq(p6@5RZKJX;?lOXuSV4Yl2a&z;QyYzOz-+Q&gs?|ew*vWJBZ*QgiA{E#IE#6e zHDdy;GSfSa7-d$BN1Pa(&NaGXaS|E6tDOW`hOZe3uwoo@UpCyztwd{`R2c0WMi5q( z(eAL^a^}^{jn{E*-fD!Z&+!**fM;()%}h`|;>y1tE05N7>NBM7U^tiNQq zvBY%yis8o0>2|y2riw_H&l;ijq4jus&CQAS^d|Zjp%k|nC85oFmhRJ*TPRjMdrmEo zPZ@zKEW`GcuHZoC*rZ{5M!eB*E3@2gvD}cDqWIPufyz}N-%oTux5~}pW+MpmL)yM8 zbPv`$(4bXcHr;=*v^tj~|h{opO=eLazr7FbJmQ!d>jofdQ*oDWBU064^FW?{X-n78NfPdtKC+-au3>EbGLnAj8ia?Z3TXv4z zSuhy(6>W6<)~{l&rnkRnsIYIuV4-hd^bz^Hw(cCE(-|63{L+z64i&5)DWe3RxHnm| z31|V)%9A$UJ5e2X>SYjQ~e0aEuU5z>ZbmI3Zeq9gnU7 zI6;BwLUaQ=QHUh~n0W+PVwVDdlp_Gm)(3z>5`dsv0RW!J#Q-NO0LH~tz&--X5a3h= z{zr(LfSsm5r4So{Rbl-C0O@l(K(zvx%y$Bd!1OaftpZpRh+z*Qs8`?&1sW8y5 zXDe`y0_Q4lo)FK&FQGsi2t{D+ApQV4gxChqslXy3wgX!%#2WzJ3iJr^7O*8?SO6?l zV3`o_0$Z*?p8^*sumVQV;WwbbAXqJUU9wVv3&EfPwi;X_fQuBk7@Qtpmx4$K- zC)6cfyZJW`WA$Xb;r3q}tM53o?I7{8Z%G%dN2l=N*0xO&?-l&+Y`+-W)7!Chu(NB$ zIVuP^>(jfRZ97zu&E^;5QoI#2?tJ*aTznX!JN}FNdQhZAiA5FDyYFwCEXZH;iwTWA z?fq^2tIw&|*;ov@XHedmubhvv+2!q?WZ#wj$JvC(P(Xi#hG`sqqKtJQrE%od--lu7 z+!H*TGxcB--Ub{Ac@^=Gw;s=SQ)S<(f+kv)EbRSYgh~kCBei z{C{baw~iN|URO0(SM6wLX@Oy!!%^71Ff*+#VMhNqSV_j(f{N$J7HZ@*npX>91F~Ca zzP{%jrYYWoWM=8C<|Q&;N+44rlG@swhaeM-eCdmwOom|x6UPcp^2QQe@=2BXehaVE zmy`d3E!td3{ve`E>0&)}hHDnqk}s8yI&E!(i?WPzZ1eJCef|Z5tZHac!rg3`579iT z)_Px7J`7`_)~MSz);rD2hGAXPUa`0cl-PZlZN=g$#*cm3XRlbr#nqq9GOyd*WPWyKxu>^Q<11=GTT{_Rdmq@-Nt~%fK?CEbfyul+3D<(>d#~uAs~w7#}QJl^TLW<)?AlO5EQ2aJK9_$ui9I(kjtRkA$8K%h)OWp;n+aDk&${A7ZBfDaarJI4AzguNK4)ual zpIu3N`0Y14;<6OP=OI&E?G|*&XVHIZivP3}9Q+sgv41qW+L zemXvQL@xZ)6ddd#mw#mnUX_B+PQj~F@R}4HOeXp1@_^gq!ohZO;apt!>F{7g$xq{8 zMY-_C6dXJ%m%mA*vHi>~nK&3$uJExGJf4DsmnA=49x%0B_`DRHiz7cBet|-592_tC zX@Bz=%<^$D<){6@43nS67pCBCDL7AA{B-yZh1z&$3f`51gQX@v9Ur_k8{d1gBl@sa zJOi)MG?mbig-S4|scj$>*8uf%CuP|Vij2Z`Xt7$;E=D?85j3KZtT4CSg_^8TW>$t_ z?ZSGnS5xAcj2Ld#7G<^9MiVrRQdUli&~Ee}W@+?;jkd6DokLrF^{2D6xjBJKZ9260 z18VUfo{szjMn>Z;d6DI{_rq`U}Pm0D2Pm0CFNuikW2Y{R9!EKi9e^z_0jO*(?3gapB zd)FLLDeB{Ry3AhXhNsV4bHd`WVJO&kA~iP3C5k6A_8CN9Z3SCFVbU~{odak^);Ay~ zp;v4~$|}`wj+F~^OZ?|4{B^h}VWaCfm`U#G!4lAKp7*QC-LEEh|2fuK<9IIPD$I{- z9`XI>Sa*B;H=Sd@rEeRhfI^~o*@{QA>~n+3~?8iZ`63<7Yd979w4KoCLNVU~mNzt+6sG-)$xP2N>vt(& zI^SNy_qB3Ft6!Bk`Uxnm`?6^RwE6HT=1VcA=#!Tw<`IsU941btzKK_-;AD!M{$z5S z_{tRgA_HG%pM}bbvoZor&iC<}af31Z?^hLPb9=!0It0z?b*JBsYVqSBn(8WHqcUHW zdF3*%l+M;%Wm6ZMTC=aVZVPFG%A^_Cq2{IcdFJ@rTitA2l$CC_ky$ECRsug(xXNMN z>~n=-dXXtB$!fOEADgT1( zTayp#h}#_^dsg)=2Vfa+rog@?UV-1{9B(sln^iGPB|f&0>j%(plfsSTYx8bY)2&|G zVOWenvH4NGG-uMG3YB=Nrd#$xrHSV2YZ;>IL?ueW2INQR&^#V$YNOPx*kE&Dvu$4m zGF8<%EA@iPhy8D-^{^v{VNM54=$Sprt6#Inc_cL%duJK=1fA*dRH0axNFSau5@#|E zOD~AM;FM-%-EIK?v8WUL1_jU!J|`z^`#8|1Srk;pKMAqx}XvRTYeU$ z8LuNmB|?~z`i@!+%JWy=dW@)oW{MT7R}6G5OLQz<-mxT;?u>QMzdrwasLyP^Pblrk z6y)bGzdrvnw;oRuaD`O7wY+yx&*H)UHkx;y-hBX+tKnsU^D5xP&2M*ypt1v-Qyzlj zAwh;fxBlRzdoX&3>T1|z`k#}`0GJ( z`#y?8He1wRP1^VmIy8h&akC5T*OrT=TZ5u4Z|FcEoQtKFkDqB58I2wDrgkB5EyMiT zc0nYmc;&CQ3+$)JFn_UK5J`slo9zM#RT<`C?ZVg6GR!9}mryJol`3BTp@YZ*vdG&E zmvWiRPQ#@{>J`~;xIiNUu(u2srF-NG%f%n#ape`mzl>@4uGFpBG8cZY8vf-nkKb7? z!AO+qWW;Mmhzc3vx7sBVwVLS($Hi)tN3;u?04k?}J*izHQA=aYd)h_zQ4H9-mP?RE zhPf*TRnJ311UveDCjvSQ5qv%;0K0Uz69B!%6hCUY1f#Mee10baS@V0G2{7o?)J`VMXlU$$C?Zu_-dz|1?^;|8Nms7iuvHyLhJB|*2(7;e;> z!S>u>xKWz~!`)`M?bm6+5g7V!(P{B3>;3m7IK}7v>+ipN+YS>vL*gpPI$PET^ozsO9)r6NnkA?M&y9XDJ}sm?W{z(=R`8_g7e%QD$n-Pj6>XCRPmFkL znIW(|VLpx^JTGPrBF~paZPNr#inuPwkcxe}+@-~2nyO+AiFnoQBP0(eWNSBHX^SG| zOAUXRpprrGhxQ||X$Wz6JZ30RPDnc}rUi^+WO|u+(fQ&QCWem;hnKYQCQ1wS;85${ zf~%A>56V&;E;RfY{Z-8Y$H4;T-XHK}bA-iG6-!1tP&3`)F$#-zCE|RbQ;84<;y>&6 z5&PLpSiT*ClZ;7~Nm3^J1Ts;z#Ik1;bJU5ZzgsZJNOrZ-`c( zn5Y*D?Eyq#yCQaj=ST@lJzTm@ z&uOCDmH>)bu2v{8dRalVnF58LDt7oIN`82D7Dloj5Z#=}zK3Zt>BUUuTl_;Xr0 zlz<6Mnz>hA`*p>CgO&_?63q10=pB}d&~&40)wT!cwY1hKgRcp+O(pyfz<>6YWAHUh z=CJ(Oo~Jsu`+KRB!!GVDZ>8R0*MrOT@CXAGS5 zjAxv%q{&%P)^m%tYi=40aO^lG=1xRHnYGrBkQ$_QLVgJNbL-Uj|LDq~7PR}<*wfop z1GPVIB0b)0ryEgm8(`V3C3+u|w9k98Y4~`H z955j+GAJ-|F!{01c4(3Z%*)c|VQ5h~OeQ-)FJ$qSIUu-Vjgd$+0fl^#SJO)EtY70) z_A-C2UkADHd|^I#e9o>_W28QEa9XO)YE)#Ta&G$+S-eAZ@v55R^@(}dFj^C}bDFEE z(*E_dw44$~jI>xnw`gm=>xu3ix`e}2C}WvkHRxVR_SPQ=xFT5=y<%wKl@m-~lG5cHC*J4 zG5?#|R@HZ|qPfG&HO`mHZgq~&>JrOljx;9lKotK==OBI(fzqdBu6(Ga%#XuVBpItsZ!-HvX_7@PRaG_o#It~IA>!4#E#*EDi$JBO1Vd()7Yboyf0{< zAj1_#dI!4tV*|_kVjXS0($*^%Pp_dxCM-V|_cd*F4$p@Z)r~FH4T(B$OH--x&sLea zYG3DB=3FV4qcglrPkBVD{X~{X=B9Lk-juLT@a2K6;wRh71Cy-WOEp)cWb@{M%#z%m zq-<2a0#=mPph0P^kWH!@b)>e4uZZo^o$jD z=~-K>+ZY$H!_d#A_e0#`mQ2r*l}W^Pw;wIrsK~5pqOqm@hpK?D#CPOp^M1U9tGQhDbb1B-~%hk5m34&B7&xM<(XAvKc98sfP8H#;~R^G(ScR znPn_LE=zV}RU{c}iH@}|RIyp>AttOGg3@eufUIm%EUcF~7 zFH5yuEi@@D%_rim^-YO+b@e8{DpHefS4)X{`mv|XQDu;YAVp!4Nw2z8aWoD?#hi7* zB+qPiE4Dgs7G7AmyV{aHl)B=Ep`6ZAM!^+xX;)WYr1!Vh;G!5Qo6>ozoS(vZERz0{ zECyZ1CFEzG{gEe4Rp?&4#py*DoqxwOR@gSwLMF*FNb9d_#qabKD|C?^!oFfa*%C44E=moSK;QUXZecR$c>B_ z4o?$`i9E}L>0W3wz%XcE+kv-k5(sY-qUJh>$qIiSXNo+v5gT>U03`I zL`%Y34^oqtaE=jes-BUs<1jbo_w3oQRK&uFY~O{h%t{{3l9_p~EYc?flu;UXwd$B_ z)iKljz04@APg8w1=cJ}(4xVN?Hx}7gD0dhsJ?pAK>CdxN;5;MR6j!t|E|y7nXKLhx z5pA;GU52ecQp=~aPs@LrCA)=2c86<@2R9|T%FCVUG(^ulZNuUcBYMD9$%;p^b_J`_$JWO4i&bq1g zLr^l*)9BSuUoo7#)^`5yYOT9ac zLQJxkx(})?G~N)4^HA$mb(24Ssb1QvXU8J_o{@6plS7u4tA?#&ba;A6%{efORAv(C zWf~5h%m^RzIz%7bPsfc7&x5=I;CzTQznoTFhekA8mV5{^$vbSSo_lO(*Q$>pp&0n~Uw%IasEb8p$xMPEezI<_=ALb##af zH%?yRLMFJjzO_k?Uy7hil{L*Qg5sVL*2Sg4h?55(DmC+BmQWInAG>XfQRmuhCY8si zI5N^e=9Nb?FKe#xY=b;8)>wI#XgbrhGi)}+ky#R=I5$5I-ql_Je0#~@bb9tsNcrv4;dH*lBgBUPSx)&AGgEN$Ai(raPVqk_1^-A2ergJC9weAvWr}}Q z3O+jp$2&FoagH&5O$zS558bc&$CR*Pd!3!qUgmLy{^p5-xJjTBUzifVEd_5+!QFd) z(6#3?J#$Ycz9=RBVguiM6}ApvjZ}&uZ^=UjH3{kipk_Cag>|Qq^)q_wTrseyi-I^_ zJPMQVwLnXwMM$z*A_vNJeWdvm&&55@rSYQEzTt@1MiO1U6fz`jltk&$>9kzeNwQs^ zRigV;cdvD;1@5KyZs}IDaEab$75}Mua2aJD+yXfI4rzoi$&;me?;Ez7UzOfyo_6a% zlO!lf8)<$aty>)W^#Nl*kbZs8z~9j2;Hy}07FctZUo%%Udx!!<<{g-=k7ciQ1zXY? z))wg@TQ2aFU$-f33yJNpEm1n5oz#by`fTs`LCoc`d_hDrHANF+A58Orh(HF8_z! z0DG-4Ssfqvgf!7oTYC{QP9lT!X&n~JjEoC)cMVU`vc>vq>+h1{XkN1`-^gi&7A5?5 zXlJ$*QW&S1=<*dke0WZ_1j%LoXJ1}r^uTRK@m|nt<6dcao-EToSS`pVUnPMjzExNY zyk|n5e8b6-kPf**iwxnNEsv5cGCx8`l;Q>tB3XfT<;P*Y_<_c5nWvQkYdOBA%B2MN- zeuPVtV4q$&F`jFC`d188VMy=_bET|q=9dLm8r6MYXL@>d7HN`PSEd6-cl^7Rwp(|z z5Ra3O391tfs92`S#mN~oDt57+BXL@o;q2lafIFr$%}+97@(gG4NB*FvslM79otBWE z-(hjFkx;N*(~^7=h4+{c;IEIfDmVl43N_OF5znOZsC!9%oB^lm6;r(0cE9Fd`=rD1E-D(;EG*`YpUAbYZ^0(G2hmfa^+>Ku(uqQ(#0jz zJ65J8$h|KZL*fv|#>WKglXnbs{MlJ@#S?S+G15i4BjzQntNvKmfVxG>yqn%`M1C&w z#$ewhC+70L-o3@>>GRLtK3QxwbI7VI>UWT25`{<~C1IE3*s*#B?zdvF--^M0D+X%X za>|o6UTe%^;-{zJR4Bqvhc_RmF?@saw*AeENBTFV_(xOlGgI)^6g-xKo5xM2?-mga z3Tgu5r^`D}p*HS*q!M&()lBcd`6}aEntU{F!+9f+L>pvUB%6)4DbcLv`1~lIl{cTB zwryytAT0Wgc%%YMCKB$oe^`prjg}iw7oL$V4XDEAs(5J zTuD@sTTfcx0z*8~q#`LESqXoBto_TH{`e2J5~0s#jg50-yF7a}?0SV|vzclKdpiP% z^sgOTEY--0TV!!grXY4DnoEy#lXGHHN2#2XW3{YLtg*f((n>-lGnE#0y>L5HlaaUv ztG*eLyclHWigcpRi@Fk<8=ub-&6G<%SLel}zSj|kDhUqdc)`aZ)2<1++WJP`6w3GS zlswN|yF78EiYp^8(3gCBYllOhU0NYo2ciE69_Xp|l}~+ecIn7c5?w@A<8sX=flM|I zKeIG3JPz@bD6#HtM_e}Ky36Z#;?G2U+dfOS_~y$+TLcdMTzgZN4l@tq_HkjDRyVAb zBHk2f_NLpz7;5Tc`&_IS{TfFz0~HNaA_!L+_O_{+;S}Kf7?(C8{rH`ujCGLJ;5CZP zeg0&G%RGp}!lbX7>_uyMMm<#Oxmf7yo9p8($SsLNrgwDMMZMT!PXE`9f!J4#;7cVk zya2ny>P9VoV9K9=6b;Fby}!#?jD}@a#Nv$MKB29%pC{*q!iRdeDk>N!=U`C8AE^2GB@1|L)U zyj_tG$;OH$QhL^yeZYMIwmH=P`|$;^Fi zgGQ0tP)X0_q_(GbaaVu5yYn|zxic*y*BDiPTb~=q-h`%vv(mcKA?Hmwhc`4q-n+bK zMOR{=yHj(BxVdpKXbFjQSqtl~Fs3@Wz8T`;Po`z-jG*a8ammCiOTjA){D-;+!8rrT z0%cuw*QF(`Yn0>a{8hR}nCKM$sP3LG+c2}V`R9#HH|q;#7oEg6la2Mwk;I%RLCOr?CS0 zu`E0hny3EHX{w;V4P%YZ$GLrE>UFbJy?Q?4esdT`hwL*+q_s8Z*^yy!tWn@Oc1Jeg zp(J_#_jtz4bIGpOrj4FP@8vni_0IA_y*y*n;;NY7J#MtDB!;Y$D4gE695Of8#YaC^ z$FJ%b=vmn%ABA)4TZQ;+-Au>aFBp~ni$M(h`|UGXd!oJ);f+RXe7t8XhlTsz++MOI z`Ga*!idfxmRW;Kc-D;z%IeGxrLOaX9-#nC73`g5ArIEAHx$!u(_HFX)*pQ2eJ`<%S zjjn7v@y;{zcH)*=uFBGuCmL-L)osCtvR%C6;$+l=O$)B_ovbNrut2N1!BWR7LsM7j zRI7xUHjb-|oZr(=u?%KaBHB0yclyRtmerp1$dhIUm>?IKn{++mjSVex-}j6a7RMQ7 zi0kXixizsnv&1p4?K|2h$?a*pxmY_|-k$JGCQpnqR?Q3al^o`HVh%=saiY~88|NdD zB+9A#!I|_S*GrOx&Z1b7RY=FYkUUQB*yy~PNL8b^n2lRm>r5lFVHoYQS76+>`8^va z?BYJm*EcpD%lf2%LNg+AVE%If1?y}=&QME?a<^Wy#XJX}p+}E2)|38b$kBPk0`OBC zTb?+==u&QUZg#fM#fkW?-jpesS=HD`=}aD_lSnVUr^BL`8R27IV>CY|x|deW^5mfP zHzQFHRgFlK6tFY-(zPmDC0WQA7q^Z~4=>5`Xb z+aHof$@l0plS^LDTvdLRrTANoly22i1?vOpfCX9N%`oDfp*Pd`FipPcx|WeU<<(19 z7&-0MV+xZQg02G;-XQ0QqdwCLe6q?6GR?sV}MMk`ddXa{TBX13IVR5Yy=PkQ<71;z4-20JrtRPW>#~hMf zN||AIH#o6}&i3w0tSSYNDBJlOTT%E3 z*V!ud4A|gq&(aM@CyDr(+Or$({J4xBqzM;N*OJoy*Yxupp^}hkoaZ!D>5Exv{c$7C zPP?IIj>!^bjS=M?y(h`_cS4p}rXIedG#kMXfR}n3s6H+8Fv$1NR9RBS?bAK_oni0^ zqo{A#wVUOwCM_)7Yy;~(&)n7+Cxcfuxkfgt+N}rACgqiA1}BUP3w9xuBtmBz0_LUh zaZdM@^ZvyvXOmg+54(aVWs}}=Ggr0J;*tsqMS5l9esylCCfW<@mDZ7HuPsp8rJdoe zk}NFN8r|`ChaN1g&i3%zyiz~bY5kembZdXo$Y_V&&uy7Xh*Y{x3F*tU9;kU@hmq1c zJv;W^e5G}ARrIA6+TMr`u0%e1?3v8vBaQsYTsH6Z4%3Hr9s+P9sLzH6dyZw^3#*UI z*+ouk&U!A(AX{g|vG21}&s}RhGYtzJPt&;_0e?kMxGFk*(fB3HXvteKq1L9j>P$&YxOv=prMH&z$cE+^=FE^M1ZQ0ZT_ZTcpP5>p-MZQHa4fv`{MUQV}?N?SD>VA~WDPygJu z>G`)FC?I$cwu~81?-ny(Ilt@rB*tz5YBG85Nz-Q(PoFux_`Yku$209wcrU>hD7FsFi; zRg^a^z}R=hd=RO~iZs@UWNQpZM6$mbail4~ig;jMqh_BH2XZo{@T%Yqo(#Ni7ZcU} zM~3TE1oFv1Ulg?4tMu35tOZ@g@FHu7YV4#*Uufgh%t$z+FtSZqmAba2i(*|JXjQnA z8^eY{o(U3X>90i*U=Pw|j~wpS_$jMw^4kz}w-q$sxpsmpWVMk1n0ZEn>9>$58~kK@ z<)aXmT0%s6*Gejb_FVY>P5OSGm33Vf!HX|b*bZE?;0J7?bP0$sT-1FC9DXZP_?%#_ zmMSs0K5peY#we=N1`W^o_|Mj2%BuaoYb7!QF8a`mK;N-aF^83;ec^YX5&RQ`wb)FOpx&cVsr`%AI^w@N*9^D{$(JWgVoZB;ePAh#CQ%+nE&%AwW_FxLxFFyH{|#M7rH9CYnUL>xmEot+E2q zTA3M+=Wg5~BE(rT#1}*%LRbfKZOsb4cVVK3K<$r#uTt|&y_$Rq3eQ&{9Hu>G^YVEZ z>em&EL^q1?=>q1hj)Dpy9#9kWoVYMPCM=acY;aK z5tmX3`SJa>s$tnLIuDFJG*~2u0~qVwep}UC#(t0goX;WLVD7h7z28=~$k}hJn#)5D z#8Jzowd>cd8IlukfcF!4O zx%|;_*>9^_H|Ty_)xMwVvA5q=H79#(jOW>}S(9bIt?GGAv@Oj==5t1y(2g|SZZO>T z+o~pgRjRgwpIZ$B2e}`JA8CiiNNpq7cj9gB0QEYxaPY0MR(*eMF}%L0z5i=$Rj=2g zG(4=K^riTF9rnmh?2=KOKx@GcsD)X8E5R-O`t|EaBM3hp{_;lThredK@XT0y^wG83 z*B_{Y$djedAIv*oa%J)->%p{=9}lGd&gfx>J+>ZaB>8<8hrKExV(Uj*4)^nE&`s+L zEc5}OzHt}Z-Vf4y-P*C1w+MnMom;(pS#j~~>d5+utOh>14wW9UdD?e(Ub&@Q?7V98 z?mIT`kuHAArO567-W{9YFB%wsL@B*}JFhAlnm8@^{+6=$HVu{D_G)Kx*Ff?X73H@^ zl0^ePBSz`qj{G~P$rO-f(Vi`3n|807zxDm?w+$qB_1;p1@*HeMer?Ac+jr1G6|iW> zz@ByDy&ZS#KpyMHC2!iZ>g=t%x1U!u_;&u_uF7>+1P12G;79A?A>C;{?Z7?m>%^YT3;knvyw7rxMyfy;bCwBFjxH|x=8Yeh==rLcOB7hHKp*(j2y_8> z;sE^$tN>>e7>?@)0SqdzQi#dGE>r;gzGHx`R^VbGjt6!L20j1;6bUX<`Qz@F#rT8* zr?8Nq0!6vgcs%4g2mDX2pKO($?(2MPiB$`>F7%B@PsoZEEx&QT404@f5L~aoO$vNf z(E6VbyVyj4uPg8k$+hy`rNG^&1N{D1fp3DL3hW*QUSI*op@4JN9*9hm_$B!g7Ej`K zr)$Zr5EHJO!VpeJ0-=jv+#`7?WN}=z{zE@aFjDg~81=n|BPoTf8|u_^xlw z3scrSUj*!VVE#2*rmlH$8n73D1=nmnV$INzz+MEFx8{#Wt$FEaU|WD4u;!U#*8J&M zU_-zruX*mcHP0TuWzTjD<0-qgzL&T4{UHvRZ9A`eb;ljsc5DZF0w*HI)3QF_s|$mp zf0XmY(D-RN82wKchCf!B`-IrCb9^#qAm@njJI5D}d5F!=v9->3)aE_wd`E8Hy?kNL z9k1;e{Nk5(vZ1)t-);}L?}E2eRC?p{K90U`sdl?pfd>_MNQgJl20v5)`@%cGeyqSo zj7VUc6!;0+5Xn7)@d@x#+y(&rOabIt0PIl(eu2kbz2jG5MaMi z;Bg@i1NK{V5x^5*-2*(S!0#}Ufjyx#1b9Y)XN5Q! z*mFXh3h-wkDgpkYz-A#Lz@AqCN0&NaFAC8ButkVwfUOF=Bt#S#?2i!SD}Xho8yJi# z62R=&MF3+IC{zFn!0CvqiOT?RbMXm)V-%R_6W0Tqg+(6VWS_VZ;1mTu;uE(3J5_=I z@rlm>JIyEV0I2kddjP5wnC%na23GA8?A;m#US;2-`NbF49;zn^8GC6=z4gv?p}%Op zE{<4Is8_9fKOmYb^TAQ8OB_;>?|z| zzc5t#`PT}=(aL~-bYEe(2dfDGZdxCz4B^L?9UJc+La_OJ3d4gBU-j^n^nCov$FCaP z;V<+bCpVQR?%uMqY-jn-ik&kC_UxRwbJi9HMu6=Iv69}U#%$HS@z_%4KrTd zP*EAYuHyO`o3?G3_3DP1(cpD6ub(ygN1M^U@@O~8X&H~9G`d&*jxqX`NUsk|h6oaYmT z00{-!eBxMO?LJWk(4j!5Ps{|?rNAPes06lHfo`9u0d~Fuy*^O~>;j)y0?_XhtXh;c zegHMTXYE0HAdzou@QiP9h7f(k->)k}_$)(+i#G=suPw;$ra=6PmFr)$MhFvGC+^$a zH*TZA^0q^*bK<@M|Bk_NrP%K8+uZ4281NTtn=JTuqZl`CXqOECnMafe@u`=ZK!n9`n>1~B&4u- zFCd{YZs%27ZrVNIyGapSf0N`6M#`oBZhnroa(?u?1MM0;l@LUxEFPU$C7{Q=n3TPp~nu=8GHF9-_x4Z#zBvQFyj*1pNACV) z8AsQV{8c_wj`5j?zk!ARjlrR^zT%m%oj54%Vd z9@x2k;bfW6F*-V9Vf|`XgBsEDwa?wqAfco%x4Q@ zBNW%HpK4Y8eN^2d+*h4FciNsCL(CZ|jXAIA`Wr|1Nm<^;LcL1(c;9~*7 z;qh?=wsG*_Vqf&GJzP&uUR7qermS_QC_{+*t~(R)GELEt2-S2gl~>tF9dkA$@(e+N zkWXDF7aI4V@#TxDedVe3>*W%w?n^g@1}ElC4&*)&xI9=`*m&v5mk9ju-@N^eKL2ZP zaNe%-P2K!9=4x)oI$sedZEl(6Iby)K182J64u9^q*G$Cxs;-3Zw+qA5IN2s_e&>$O z?>>3kE1w-It<1&D-1N8PSUQs)k+Ts;bOhOS+s^V=J`2iZsC<3iP}zDBonmbmoBL+y zwB$BrA#WwId>{+#Kl)%VyqjkuJCaMbpbk4!S)=Ef5t7^f+Ue_S zkX0O`qV}E2+Hqkjw;Ya?X&s5QaB9D!F#IhmrLpdmkO*4_?RKB9&?&}ya=}Ul3d8r} z+`svazQ7%u-{2DC=MpoSqvT`gw$1jA_(Cp5aKVj}0$fY356JuNwF=yzz>NWMHpa8jK1oq2-_#D8m0^*ARzgFNk0dW_w#})W(K>Qfk6AC;T5I+U> zR6zV3;P(prAs}7^_Ot?j42ai&{Yimm0%8}iXBBu396YqlpCP0K@D~L(EARp&G2r;3 z0$T!N8nB^&m=3U2ftLcJ4A{#GyrRJ06nHftPJ!Px1zrn?Dq!0c_(wq00((P&Hv^&$ z*jozh3Wz3PZwJI2fOiylHy{$g-a|hCysyA+1@6urPkD{w$itOPbj zfx@7;5ZHl1aVfx91;z)(<-iV7U_wxQ6xc)s4i1XzflX52(4e>h*kM7j9^mkx_!Pk8 zp!ht%6a|Wc;%mUB2F2X~(-b&Tfuj^SIw-ykzhe|QR)OObI6f#IfZquUOb?2Uz)n=4 zI4FJrET+Jmpm+?}Tm|L@#czPkS71RG)k=4vqTZ$ltF^7H_Vp+%fo6a?8%& zKXG^Affa?}N1wQRqu4@{V%6Di?wnAVkL`G)Z({(<(NruHMOaGka~f8aRgG_guqPV> z|Bu|!$?AbWC0?~xg^M8#Q?%s9@p2LG49Y@wDX>I=rI55ipk;VK4A6_0!~lH?To4o^ zfb}b|A}9_9HW(C>09Gn+VNe_k>{10T3ySH$E)R+dfMih20=Ob5P64M z4jsCFxz)XNU)8vE?82O2-vWQZxMDGzC#|D4W6wKsN8zaNJrNw5z#~@S$cgyj!;hT# z#lgH{e`x5V#V-WVjpX$8jV$(uFZb;(96PQsco!K_JiCXt?A$f@?rDXi-!FQ=I@CN7 zl%h;eD)2i6o! z6cYj72#Ui2b}H~@P!s`sPl5M?;%H#I71$FL#{u()BnX7W3}8V8LLqSyup9+)Lt-|t z0~9C>i8^41ghT_tp$Z(Pz~LbghvQ@gri8>iU_~LZ0AOlJoC`2bfg=<+Qh}osC{|!I zJF*iUnX~pVJ+UbzM)5JXgxIUj6lVZ2{yOkuH8+MV>y7IxtRAQTmYo$tMPcF3LKQ<5o7U%4K3lyjS;it9i=-;;$u|~H35tGw<6@a!SxCyQ zl`Akqftew(4Y|xx;G~dv6WGZLoDvdyfSnq`3XZd!0;hp;16HX(6%=6sn;jC&Y6(kl z97=GS(+HS6vJu=eboEXnFo5W|?piiNDgJYvldaaatZ!)-?oIGl$`9gxU3&U@@Z)GH z__|()sPw zPKU0E??A9?!1XOW@D*@%vAz!e{_>&Hg@<#&jbFZFb9{G=Z^y=OR)5rwa%`?i(q+dJ z-{gec!xIf3KJ+ z<0yGb@%NZ>7RqvXt8p{oE1~-vT%@ zB(T2w&IyU{0-PHX_X8wC0xP<2VMzQ0pe-bR2GAK2zX0e7iC+OM4GFB1zTS|)%II4j z5?B&_7lZ^>KVN@Hya+H55`P0242jnOR))mi0ak?sRzKhBka!E=;*fX;;1UHcRp7Fa z!0P9_T!AD`QkaNWV9)|UoTvZ*azR+=C;&7D0Fpge?|j#U#DM@G4T*yQu7&z$fRBX) zRzKgz75GF*91H9^1+G_MtpcA6iRtiLr@##%f#t(@V@Om0+@!$zkU)F+HYjj&NSp`k zQz3yC^4+4qr$Yh_<-0W`76W`HB+y>I&xQor%Xgasp9=}Jm+$i-frj#ZAtcaHzAuKv zg#foJa7Rd71nka`K%4l!6cT6*-h1elNT8;^uZIMx==(-Upi;iO z6u3JiP#fR>h6Kv*`({X>;J$l80!8(GOM!bs0%i1lJ0wsl-+c;vCnQh~-**-GUPyc& z82@IXlX8sG;CJQxx?fIXzZ4;A>40uL+jV+A&b#M=nD33@~@LVu#bBUn>`{VXK% z0e-H)qv&E_zd+vt{89mAJr>xn(6<060l{w+cswKy2KHNYF~AcFJQw6WOD!?{uqX4gk zL=(XFkca}H8Daphhr}F!H$s9FaVh8L-I$*bE(DJbSGLdLcOEXHdOC3_5n3hx_VI5} z{^@|Qb*M|acJpsR+u?!_k$mDH?5d4D?dQan5B7K90gZmPbY9y*;$`2GF25M9ULqwr zmiI2|Sv>z;od0S-?KpdJ?`I+iZ) zSTeo41hwSTBfmIEhqQ~No+@>;O%!~7^aXbme^o-n?@z(O z_jLJ#*XhE+ymaAUSlamC+K-UG|JfrQs{U86uT^>1*ySB17P6N3SW)^yuE0*8I8`69 zfwVtZB_OpN92^E$cpUFt{y4I2h*=3=9n*R7TEKUR@>2yKC3x4#kN5%h1N`Dr^#H#bieZ&TBx)T>j>0ZV+vfx8Q7)QStU~i^Ks*qpT@Dy+jy&PF_>d8II!|z6Q@C*z_x?R zu=2~T%KK2YF)9i9mwAGRXMZ4BYpC9q(bRA(aGtx|zdrA0Y8qxB?41R3M zCa27$-bxn=@cc}DjPsHn7koP|RarPQiD@JeG*iAu8fn-{PDfsvl9F)DQd=paei3WbYUP-W| zHFl*nf*N~%j5aHdRcZGU)~@v=@LgY=DkEdiGY3OKd_Wg%jl^O%c#ew#al0z5O!<#m zZIjdyV5(7~ZM!5wIwNb2EE5;kMk57w5H1_#r#lGOjV>G)c`h7xcs4%E8Cm7t>N5&l z<{gLHkCKCCidK4AE$webtD37C6IHd;fgYtPrIzM&?MiD%>!N)}+Ot`edZbvQ3T3tU zDEWAoPP$fCxcq(Mt0}eoQ3@V0YROjmU#y_~nBG=R=iolBZFOSV3ThC|yujz%LxGW* z&;fdE0Ota)@d)rg>wO;z(D6EiO6uHeuii8R0>Y8<)AfV=7!q^pi{qA!U*_~ug}2&} z0=%zPAJg38#F^o(0i;0OV#ImT)TR(`C@IkkRW_1gtdYQSJ-?uiA*-_fbBsvG=thIG z{?g_;ZYG&E=mcGwgwJv+IMZ7xM}hdXk<|-iNdwP!bhsywT_v0jz<+w3W)n6AVm5Go zx{vNtsEs#TLxKL|Z5<=U<%xz4ZRbu&gmK;-Zh5FWjiNlO{4`DpCw>|quTUF5C0fV_tH4Ela`AFxr^@4Jmj>3Jz9_{8;{9>X9X8g{SNo#6-v?>svQAx@;o3(uw^BuOM&N4CAq0>}Gj*70)qR>c)dl7d9 zek{xkttS(mPe~tBX8}mrzoUHal}!x=5?J{v75SHSo@_0lbl}RS@f%Qa`a@{M{^+l9 z2>nU_{1ktUYk$4*==3$N{UIx2e@tKF+W&+Ue~oK@NP^fO<7=G$qxDolGnsk?-bDLw zwSlxE{t0nWXP0%;ILc-Ak-m@)Lr6U}5E}V04!eQ=5P5OokYRC!$1S*xKds9{4QW_v z^>UF-C6Vqg=C@iCz&I1ls}5SV(AtNuwvH0iOL3~zCc2b76q&W)p~%E}DAIVjv7To& z$}!2vq(@WvT#u@v^@+OAdrlJSPE;R@x5};*wM3ArXE*Aux!67*jS{J=2rftMLbEGY zrr@~EvAgDZy(-B4rjZ+}*M4)nQMmbf25YiMS>02YCU~3_c{Qz;dMJ%d8A>CiZV0BW zI%SloH!@=R?@d_+eJDRa-H9azey`nXjgk5Y2M`A(KSD?EXn`n_t}2!J?Ng-xA-XzM z&GCAez9jipJEystI-g!oOY1xGRK|TIVx$FaFxG9IF5xIK)#dLKS6CgbYjAf8{`(aC z)fD`l6x@%=#80O;BL!b&;QhLVnj&~Kc1T)>>oaFiER<>Het3j3ZN=<5+7FfG;{^>V zvYM`yJ<$GBgByIQ3Fl*38g;ZvM*d~Gkd(DQHmb%+(%k9jsxD1HuertEU6iG9DH*|! z#k7@wE3N2}=5)Kcy0dXXq2kGiG)&<>CBRUH;a{M+8fN>lcxSR`R>MiS*5dYYKfy~R z`LSrM`E(=26ZJ%5i^?{fVz(i~l5e;{YHTF6fERf3(|kk7@Ypyxtq|CeAIVzckjIhV zYxqkXGC1;M8xzOPv;4@xC9V(r6D_>ZT3cEzyvV{i@OSAsr8o^0#e*wewu_$1Om<9T zGe1@gmyPzv?$c#17Z~+_ z#GXIhU0q9KOM5!I`jwV8F30ZcExr1W5{p%VWQh(mx;3jguS1PU-S%RO6GiNew8qt) zS>Q4a&dwapHA{vJ z05On+5J<%d64gb4h#0V~_xsK4wfEX{q?4Qb?jP@a-`)P?IcsLtnl)?Mnwd2-OWy<@ zC-ZC}^k3H@E2J^+JV&}Xc@}6CWEi{W21iN{XUZbsI8GLX&z7O9sRh>wG};lI_F1;| zuJbP@ZIt=(M65L-UbCb5;Ftr@T@A%4iATn&BqRp zq0%7{X0IV|9I=>wo!_f4oE_RKAI5n*1F!YrZp3H!ItPZ4iTNZPMi=H2eCeec;7fd% zMVRk#&_7!mvzczRC*rlum~g~fxlX}+@uR!R@6g$pziWJ@u@&(GLi0)EofLs%kqfXX zk1n6E6nCX+Yz)6#4c>&i{SIH^|5d^7M5;r}AF>qe7{%5cX^~U$JO}RxkLFdXd@)MX zeoTAGT>njWTNS#NEpPXa9Ij{z(j~*x*JWeAB=S-cL+?j8<4AVCiQmkzz_96!)c!ma z7bPU&!vJf1n70Jsk4ba3HwVXC3x~)Xm4=f*lphISFc&tZ_pfy<)Z)F*{@tUhf zfzp?4fnKi`E|+?kC@-)3Y*2|Zd!>YB%9K^L6f!by>=M!jF$VqJ*1k`ul^LzSGZd#F z0|^p_C3pn>Enul#3#4FMX4IqC-0l}_xIr!xzFg;R>==#dB4poE@Qt!z7gb1c3Fg$M zR`X8oD@ch<@T030(?k6LsX}^z`&5z4e4Nta1aF>^4EOY{NW<5zv80Tg@*|<|MnC_y{S}8xr}1W~JivEUZMg9Ae%tRMMG)LeYwy}f)}(5~9pVp^+;=}?Pj2nSc#C(*dZosxx}=%!oD zoCGH!VGs9zn2+!lkz7+F6i`ZTsMYEd71msl3?8y-pgqD+NXIFpp#QZOApRC;L+zI> zR%n#URavN0YO#7ZttXC<_STNwmdGQ~cL?})dL-zovBS$WsTykq~Pq&J36guMI3UO1$}&PQWe> z&qk^kjv)r{p(1-2=T1+yJnEAbl}*p+c^42rN})BV^eJ3bkK5blFQZ*`4T7oGut;ix zfuS(+e#{jzqL@{{)@92t%aEDW;o*^uvx}wnqoLU=%J~3LbfzJjS0l~h7q~D6lGF`0 z62Qlq#E)b=SlBtIgH4D77b_(BzS`#-XD=e_@1GE)M0rKsJwO_&b1+vPfDq+0ZZ4+< zxIT-WLnqA*moDvGd|SY`)moPMlQb4(rC$qx1SsZlvsOO#C<1eRf#K&m;Q}-KG$~wc z?pC!na_?g(rqA%xAk#DCEqgE>yj$=_fNU#VII%1-7pxGU$PC4OH~2q<9|6GjFX6b* zCK|3PKx3zVDg+Je(G;Nt4x-8!x^lA?1FHzUztkazF67eq0*EFB2^votPS|} zM$KiymuU+v*_JL(2N{0kW2P+8C9tuOY#uMkX0v2t56F-BU6QQ5in73ngY!Yl?G1ru zfLXgivS`fyGQf;SGK81=I0CN#EJgnrsm*N-DPF^si*$zCTO9^Gex$Q9=*NSnQGRbw z2R8z8RdrSrVSy}KNUZbo|!s4zi(bi-+Fv3I=j4VnFSR_FtV;siOKi6q%Gt-6iv;w4JH(sflE~?pn|p zs?%Pe=o}YGe%#NqBtKiBxyipFJJ+1B7`@!gS|)*9wC0LdRP0@?$PGlesOGFCjo`s# zIY*(nT)Zy(^m^EZF&^Egl3+2K+aeg8fj@1IcDdUPgj*^&z$KP6(&FSE97Bw=Ftic4-qMQF0MdUi6 zJBwWB`Dnt1?toqmhE*DBSJowDe4}}A8i-*%5-H&vup-zdI!Cg(J;{xjXq^q`SUC!b zmCs#ts#U^axL$Fm^^idoY>F37nhpf`}`k~e&0gQ4B3Ari*zYC)+G z#?5Gk35kCUnuD$-rvTQq3KvBM;d@kZG-P|-m`#Eo6X_a!hEJ5ivd$s64oQ3cnODB+;mg2FIT7c@4X)7+}H{3k&NLtKkrzio*mUwIV zM}tDk-1@0e$;U&i=BD`J8B9xB#gWCPSwSV|bfjTQs_|<>ViuVK6fUm{(~GxOoScQr z7RBY6GSH%Xl;kX~6JtZNJ5Qk5=Y_8R;sW5Ur{ zUY=v$m}lN?)bXQw4z6S~)Ixfqw+Q{{@=2bj4X>EK-i0B2f7VR`Yr{~6^8zb=!vCoj4B*ooSog5R*K2Ep%boaIpJI5W6JF)O;~co!f%QTy>FM1H z!dgWp{4odrYzIEaf%S3`@oSv$S_hu&z;zB>@4#^frs)(vk-y&VVfuQ*mT>g^NS@bh z(F1(l?ihcn6P|G3^Bq_ZhQx1o!jldh-4??&fll~L2aeij;vzvO{2~XAE{EiK(G`ch z$QVd|XFK?F99VbOj6cr_?{MI#hLPv2>*YnPF#}rEC6OX$IT*%W z`8HKsU$M%i;A3TUnB0`CC?ERp#PCS3y;Rl+%$*69GD)L>O&V#1YM%^d`H@2aGj*aB zEg4x6tl^QNVTtINsnpVC%TuA1xolckD?2WL%Lu}JQ;!g%Ny6N;5ST58;p=>fNVvcf zE=H9SE-=F%k<8RJ*Eh{L#uWbG1~z3x$H#J*Cs>qwWpfr0NM4AwSQIi~mDA9Rb%h^Y zt*jOpUz^lwxofDt{CLCNU=~n^LN4}WI;%w6um;YptCqY4%;;QG3Mss0g_sLPZ?NsD zWr;~~aCyX4iZ!zSz{R{qsCX&f&J%C_TSg|uma@n^A3+jKm#5r*qUfSVMQiaI|$vdu~X z)0TiA3m~w;W&@~h%%BnqR9iAFQUa~ICJU0*NmohTO4Zd?S2R?nj85B_;#tEe>yjv^ zo%SQEYn+ZaiF<8$rqoRM&dMMnYfMEMW_mQ{N{FwC;mDt49SrXG5m&!Q0s^JbG4Yf2>Y7;UktyC$U zc}13#^b~cO2o`lhZ2DJbj(?(W#k{Zhoe1+r!9EIDikUDT!wIUv2;pcB4j=M!n3|~j_OF=5EUxbJ1PDJC z5oP<|xj|F+{e#`0slz`AK+2BkUFX2K>OZLYH;LMYs|uUjvz=elOD9b-;-FuvhmzQ^ zXmMBPibYEov_lM0v$e2qi~FsEW@=nsM@(k9G)RA4U6 z%+cc)4S=WO7U1^{bGFMR|JnpNx*iqt@Nz^%rsty|w2b={yia7nQ$Y<=p3fo!y-e32 zXr|L^dD<`W!44B$&OG9i5_|!_r35I7`@oIB%jI;3zOFAdn3>)sNRe3l=!WBGk@u?c z4O7I6U*;1I@XA*JKPnwdiu>?wO|7s6O{JE&DKC)biakkK+)WVtY!-J~om?rUg>JWQY1eEd8=X&tV-8v2C*od--%_<%)&JFw zatk8s`1z=)8pcD45t!Gzu`Ww`?hdow5pI)7Fz>_)>>m7UEf!^wWf^mXkBQ6?S(uvJ z@@FH9!54@0ro?nnnsLA+J{L&L6hFG!gbtm%`6NTGQO9hjK5L_nV9g6FP>DLWjPGQm zB;#U{cb=1yYpkblFaDC4i*P~_c{C(E#AEZaAy9>5UX#NsVO?0)0M>>3JqLc$fq$v+ zADN36pOAytA|6?aPC@dA%|-~&qOsQ71d)cm{F zsCe!)!mrz0vstUMd`3C=?&iX1Cwz>8$?sPIYku*-W`y5=R|UrNnUVZF?Z6yYwfs1) zYS>ko_c`JE5_;yJ%xZjIfvDl(4(!@E9p;4d3Pg?XULnXU5Op~3MbYqR2QG8q6CIdW zCTe`Vp&5a-%@xb*7KH2a!c&2f^1@?*5qvxs7=eH1z<3=n5{~x)Bk-Rc_%9CpvIFC} zzz9BG^^5R_cl{#a$748xSJ2*104(xge&++$`Ca0~$CGS9eAWlOnMRoR4r+SU=n*x& z@ql&u?r`WDT=8g&rsww9pLXcouHuuQEe?E#1LLKafIj1Y(Sg6>z+ZRZ2Oap|F$lXs zhI?u)SI%49$(6ABWlK9bbN&Yg4O+#KDGESeNGCHD>9kKq1hm_rP=Dyacs|CH z{06fD+>PHlr@wH*c@kcSKkbA+>x4h&gg@_u|K17zqZ9s;6aH5x`~*}F&CfIk-sDuD z!K$yue_rA5RddkVy7SFWNjr^#DKLI?HwAZr6h%%U@Tl%FCRQk1_sl<@S2Ld!#y1ok z-1cm@%waR0G&bY3A&#aW>T`NOgO!?Xg`d!;@ua{{i}rNsDM59yIoi-6$~^Qp#Stl9 z0$BGh|C8FsVA@6j%0{QBwT;iqY-&c6-8YD35lz&5C-X)rt?GVHHjc5nz1VC;(sVbv zm?IOskr6|&OXW0&URy0s!MfgD1Ol^4?&(DBDufc=qqn7Fifg9Sy{U5+Ep1u0Y&m9K z6(bBXo3V6RVnJNu*c-*XNhm26o|Jv91LK9vNW=Myf`huT^dm!NJiJPdDO@!OyOqPU zu&dYfn3=)Y)$MXHb|rf|WC0@C($F%6#)#1sJ6VCkvUu>9TrDq;J z@A_aHvm~;QzgSkGjBTuW@u6kfOm3~EfyDug*x^ycVo%$UeN+q%;Dfnxu=& z^}YcT{G?f2uljqkcY}hzB3GQ^{a@PmM5mb2ZbwF5BU&sgHOPCzq7^H<%>A5LsQ!eJ zf<6H#H|Cc(wx9L{pBAn=XJH-H;hYm_m~#LPQ|H&PtK(Cr*WuLJHT>`D;MBP_K6Pq= zzozPK3#A%ut6{zEv;}2KYIJ~9UR{^XhFe<&mP=(%PKAYaQBZ)Q6v_R=cqd&Y#Y(_S zk%eEvyc8K(2rA7b4!l}b8peOk34h&zd17G;bu?lql1 z_IYGd6b*TmqEh00~=S|1M>kIWtEp5p5Tbe=9r6O?5vAvFYS2^Kdbl?yA zbwQXu&4D+vap05iWqw@|_$mkfp##6K;A?_b+tSh$KP*GkVX2L=iJDYrst%%IGmwVr zRkRuY<$~0TD-&mANlBYRDM#9q$yupD#>AU4w23E|dao$Byzv z8C*%#DTo-CTqzx}xnZvhh6Z*;e{h3Ey`#Qdl-`*sYk0K~w~?HPWTVRp(m9lP3l*;{ zvfEK!tSlmoEr4~!z_a%O{EpZuL9yV*HpB?yb4*aqM>os=fPrr&pIo^p%q|@VtMH>E` z1ApFuzwE$U9hfF5njUv+HGIDVKj6T;b3@1HwE`Occh;h-GU4bb_`fH##u_O~LF7d)$ECbZcEUgEz^6EH z)Ko6|R2u31?+Gm{FkA8SoVVTF#fLnv-jQ$If%Qop%J+XyXhr3Fu_LelmrrPYTg*1q zx!;dvbgFVQV6oR4$y+RVC`~$5-h9AMVD1uXSROW$aCyj#@V7Nl#Jdw92QnshI|fPQ^b;twXbRw|EkC-=~jE{TAz|WDI;N- zw-$MO6(NpC^Avov=&g&E;$8$AyAHml6W$odY$s%43aS^5w$EK`_K&^{?5Ls_F2+Wi zDki)rEVFrQk#OdRUa}xwr_8E72TpWx8{@uVe7yGrdMZxCZg~QItES z01~zJZS`eFgnD{obHLuN!y*~16C`Qg;yynMk}m5q$u`V%%3B+Iv!Lmb@M7T*F9OYI z-v_LyJ|Z$M_VoBVLpW?$wRB!CkOr?;?pmS$hC50XM$^v)Xi_jTjmq_wDrvA%Q)8D3 zLYNw^z@L(gx3@Ia$J?k5MzbL0UF}zzaX}!f?G; zl#n@KLsJV6xSH2dY5pD+x$LMFc^|g4d}1Y$O&=0(^bsYoRtKhi5I+g$j+};PJMd)= zO#2=kpF3;<=gHcJIbvpSgv2Ecw`62T8Ua^4LiBY~PNqJ$WV@x%waVg*lZ;8OI71Wo zrn#fd@4=2Om>YKDt@AQClsb+{gOlMn`dWTW>cr42vI2eUL|JgiW)}GYi*E2&g!mJH zA9T&x@O8~!Emah4EbHr+N2o-X%cKdXKbl(OsmAJz+)MckkCe|fQdcjSv+S~EOBa}R z1nwtu7~?ycl$6}_f>)>_%OsbJ)?kcY$K#%vOv}PB+2a+zvn5%xB|>w3+-}QLLtLYi z>t(L$kmdNyCP9-o8HLzHQh>>-RF?l+lQ(WE3;pY*`)_K+Gja#OWg00BHpC87S-eKd z5w9<{W-dI1U5#J&0@hvI&K*uy^JfJY1|?vh`f5y73|a6aOoqrIg><#F>ts9j<4m#h zO%ZO)Mc3Nxk}_@e3;f*ihy*LfHou`0=J3QVDSl6(APCFzS^|qg$_|;~@=~wB@-nZ$ zqOb}q&vVuK_@cl{IL*lT5oVo`C)MOghrn@!Um?nOefTK%DCE5cVX}NSDcF=Oj%=mZ zpig5~hv6vrw5jb60d1(Ivf>ac6qKJPMFm} zUh0x|BygJ_{;Z~k9vq#Tw=jh*^JBnPR1KDXFw+WhF=`>38KpxuX!R)SA7NTO z3VcJ*51LnU$EQ-?M@oYgd=3u4Y2_|_vZ8!K)>rHFY5irv7++P5v-iPejvqjxX|Oz4 zW7YUer1RxXfbF>CvZ)SZc4}Zqo<|xd?(jxD#B!f@ns-;1>jTTK^3YY^GFAqD1SgW4***O4cOS)oKuw*w#!b9S~=ESy?P zwY4YFWpjgiLPm9v!5}BYAn`IV%1;FKcLl#9yV2PCuES*}Q{p&-h6_UROmJOtaYiE2 z-|D@p028IaJrnjM8&8V+mmBE^HJ4N1U zHYGp5E^C>r=%oKc#O-hVCXx#~uo7~%sh5Lq{GO*cCFk7d(WR+3euJEZCwq5*v{g2U z96jzhB9aq((pHmRgW4q(h1g$HP2#3-7HZ0410}DQyNnj zaw0GknlAw(@oS|+u;Xq6PVIKCfD}1VjE=T4dn?J<<>qk^$>&M397!7wob#UrI?OXa zy86|Ejm9^u>17K3Pidk{mn~Y^nd(~DAzNsyiB|G5{<}ACSpSj1)CR|Yn>tqiAR|Yz zv|AFn=$9qK13>+eH3BIZ}4IY_WR>4siwBN#*G=d zmC96*vF1z@2O<3@sRSrW-k(yp@B&kaGy|~BZ*5@dU6QdLcbj60v3ZJx84;#=YDB|4 zB_i+?Iqw_UcjaqQEu7v@PvBg(y{0F#*Oh8j308T{U zSjMoXXD2L;v=e{518;KREe^ag!e7jD?V&#G$hyLTYaMv21H1N8tCj4@|1A!Dp94SO zz>hiblMcMof!}iAlT^E4`fU!p(}Dk~;E|%Wt(b%EJ?%GaCO{#E?+?0$^CL`n9uDSa zy?sev<9Mnhg{y1Z+IWAxUrxpi55pIG(XDN3_suev=1IG6euN(mI)Y}raK$6E-x`u~ zk#p^5b_2|xin0>)RxO#jd)Qm)g+fz{m6ZP`Ln$At|3s(JEt6L+@1(UfSM$O?OXdP4 z=IIm3B81=7opH}c*=qAci^`HvjBwNegz+`w$K{qES}%qIS&UKeqy-Q z=NV*VD#_RZy&aUqkZgK2zKdDh#UMp+z#6xa`nVJhuP+mc6S)G^UGioI(T`avmp3{zaVfVOB>EFSg? zelR0@Z7365me zYa^cEX&>AQfjzNo&(?J)23enJWu{Ag#f#dM|q+EIhRybR&Tefum zq7_R_B|Fj2cDQIS7cZ4~M;VG?`&Y)}j=oh$HL+8bf&CuB>)-E-DFSFOW&u3E$U z0BHK7L0rRsaA4{`8lU=)hN=H(nEH>vACT&ADrF1jWznSwnPKNftPPmWKRaTeX`ryV za_))d_p!<-B$a5Hj>D?zGXBhq>|}^2@^*tdKM~>_3mW)%nH`}Z7okFNmKCi~)?R^@ z_4oUDQlUCj1z`nR>%-?D9&=UZH(9Ab0IX~eiFy|*4=KMs%mpSkf z2XrbLo&=4n%+?;1{;cy zN!CN)`p9oEwkKO~pkb)p5RN_C2w}QxC(m25+#Ggo1&{3BSVXMW`rciwN?aUX*b#=o4)pFd@u%a#!g*W;*;fDFx1@XrH5Rc2F<$r(Qi z>V4TQiQJv0hg06t7L}GTQ{=s32?cF>wt|Dl?lAyyQg~qoolxrI6&^F?4no?1==;)& zlFd_b`Tk=dJ5(#u3+D-GMUZjpbZ*r~H4+&Sb3OO)R~oHA6dN*kB_yulT?+Ps5~!j{ zOH^*sa}|5ntNgwveJT&Bw69w72cI>TEAiI_R}aU$^L&CVIkIvgV9g2*Jy<~{oVH6u zA^egwV5m1(bnRktw7j73Lj5#6W2>JnWm=@A)1m=`&}O)M&koPj>hQtN(CY9Lo%lRc ztHb|0XKFRRdymb_ivCiOjZrME{p>lAO&YQb+pyI8Vs9G!`H7shb@A+=3XJ2)da}Te zuI{bY7+*``U8w>nn!3h{a-Qi-BYd!==PNvlT`x$#C^}zrMLEqkhf4bfMdR&&-Rf*- z2iGc;eX?lI8M!EXk7uM8&lv+GDtlcDIfl{natB@+f&b@~!4n+%We!~Kz!eT0eYz%= zp*-r*nq?AQevNsx5qdG_AOrezC;U7Ip6bBva&Eg5t_@7dk6r^L%qzqAN%iHGUmE7( zyoUdkGRrHNbbJ~gX!!p|*)5N@jfy+6w2cKe*&tuKZM+cl|1G#=BD@&HuC9p6Mnmc* zMdj?UMOAQ>Yp51=qr!PBXi?)!v!JX~DE}1Z@RGy4g;xX14o)jEwBaxbHgD zMMYJ)B|}u<2((b8eweIa@RCR9rYWp+i6%qi_cY>$U6IhpkJxj6JQP$V&1;4d)J-bg zzXyVvK--X^P}VDycSKM|ulryImZ%iP-YkX1Ii{fNV-+=lPf-usKfanqQEmm z?9CP9XiFazyR?U5Pj8v;4NCXSky%haX;U$5{Uc1KnhVB5C3CaF*&}-|yxcy;Wzcy; zV&+H2t!9~epq!_48f}oPmz+Hvxcz9z?S#K%;r14VvrA@X!R z4h4^r?k*)y1y6sJFDRlpba%|)Z5|bhrFKor!2gFTJieE+%XWj z=N&i5yAg?Lv`EBRpLlDgb`X}|K}C+`SE2f&vt;wbzS_;T>KnmXwAtEbLsVJuBE{el zr$kj{)@wiXEfJT>pxbc;?6+<~Qip;R4c?i_)xIG(+vfzp{8&k9rL}diicF4Im@H>f`zol-OXH-^@Ve@X(KF6Gy}IJM8$QT#xf#{w z5brx){_-Yq~_ODV&)d55QPjfbl`A-v&mhTrNPMMGY9YYZre z(s3B0-0OW%qST|9=5%$|cXoARqkh>^RF`}(#^L4gNsOe%s!4c63^YFe0n)hB8|efi z=%*$q?G*trP-fu&3&Z)XUI|gaN!`LZOP6*oMo6_`DD90v07g`{t?&No8i>l&K4YYx zCSHZ1_(@;!1ARmjzbVT_M+e6@A(|Di-ioo{MD zFqipEaJ&{!jUPELS!q&#*pFU-=;c_fLzG$-h4a@RsVEgTN_`lmjd}R7ic)E!m>$>U z0)*orYpy@_JuH#9BEodI2gL|vrOFcdsqz|Uy|^bqs&ZhlgSQQd`e{f1SjrPgDRSRu?jEQh3h~M+r_%wgY%d z5I~YiJnF-iBpbuCzE1(xz-K0>GTq<#UioHO5x~!V4`ShRML>@$AD9pTddT<5X-a^x zPx_4I)N!8vg2YA|cuob-Gro_XDp~u7MB)KYlmB0ck3nO>ydyre(J*oT68Hd#mBxEL z@WEL;6X&JC2S_H)n}H8r?J#j35g%mH#-ZL~YDs%CVJiRI62&k`mUkZD8O`Lx!A6qKd`#w4Cke&C23a=uK*cy@MG_Hc|QsLuF8o%{@^5O|LG;fcJQEg)U zT72ROUrfIVeSD#87axcK<|u%k6Q6j(Z%g~d$CMFk*!#Xu9xojRujtlHBhSTaa0ogO zBA~#45Q~KoSfo@6DCS|Nv`CTj2m0jk_%IN1LWD{L4TK0NI#Nvg{Yoz8`T%po_*DSo ze&{f~YEos||KCFjC^b^JKBNGiVtFBjaRB*t2>UHk7-uNF6;eQ%k^+w^GY)tFld=4e z0vGJLlwz`!#A}QAeM11-EUpc)$?~uedptnC;p)>SI|X6r1b~zM%8@r6HYtGDhq0OT z-~6N?-*VW}0O|>Sc;Xz;E1^%N_4$41!>7Ce{WbIf9oGIohCZ~?LDIFtSyP;4|8f`s z2@&Pbp-;6%sS8n98+yYC;DjizhCbkgK7GDVY%+fQAq)l+4E|H-gEZ)~)Az}(t;4t! zs}}*q+sWl?e&{g1`(uZlAOicUSX~IRa`5P|DUDVykF1bqkOvVxbej!oYr!pC?ZL#L&CR@nU&%;m>;@XcN%2c<9p`h#S2tx^e-3JRf zz+=6VHRf?)J7LP=eify{kMd{`#gxX+1F)SObo&_j?6=zhd{dFA^htCFILv-*trSX| zNpzdSsPZwkhZvMly<{v&B_p;jBtRa%rU)=&taD#ge&c+i4IvexeM3cIW{I}d_Zv2| zenzs9?e1y7t-!k`2|H}+T?{mtJX)xYh zzF&TOIm|5pd`3m8_7T6J{KyCqZ&Q9`gnoDWejsLbg3T%txj>}Y<5H?^W@xxWMPYi3 za=nySeF8nS_oR?bR@&j zUlg>NwoCPXpyE^`&eNMwam~lsSu8y&mi}NYU4X6#qj@Zy7fa{H(mAm-g3v!56H6Z* zOMhtbro(+C?`6FDQ&6{TNja`exP0@eG3!s?TfOh^d|=eo-f087st)cQyK`Vq)xoY0 zozcIh%R9G!?as3Iw(fj?_t=R#^ao++tw&sa`~HF5-Cr2!+3X$MyE?yYVAp}}uJq>) z0N$VDJ-Dhb=T`4SIXR~cbiet9fj2&XYivy4*1dhZ2k@ikmcAUXw-*zRA0S$3&M7+& zZrwRhHqhNQ+R`ia8uzXqRtC&H9qD~YOste<1h%oSd9R_<72}p0f^i@1^hiUmw=< z?miP45MthsZov|0yA@T3hbKXf9S=E=jZOqO6 zYkI~V(Z9AdXF^wAsW*OP`VX7P(CI)udvlRbWFCl=Ex)bafTJzZ6Rb1FIv@7Dk0H`W zFe8U^l66k@yo&&R)bnP;ImPoxr;g;$0Qrw?IvVtD#V<2gcIL_FZbUj^9`nuRQ1C#< zX)>KNZ((wCozEZV+ItV5edOV@M;$)3#Z09wNS?aL9e0%U5U=O zC_fPPDmRS+<7xadYY>t3hmx?yaDBq7-gq?Q0W+*Ic>-LzeDf?{kc`}Oa8LK=oi!hNaM(2^rKP{vled2tqaFQVUe5u*Md`i=hxHzL z`k1NvUdf|JN&2C>ed(9U?Np?6Y*3j-AQNRz-FCG}vfeTuw+?zza)1GAJDeu#oCh5e zP_uQ=f4>X}BzM8Ve1y(42oX*KGg3I`Tc^!B=;2YZV@cE{IMY3k>7Pcnfb1Q!=@{_A zfyJ!xxa&L1Hv&N#7gl1--YGn+?DD+=uBO4r1zxBCkZqn<*vbQoI6(s;)4U4TB0yT{?AJnvdKv#kTE-3Vx&bs(=#1M2j=FTj}({S?juEdIb*Xr2A! z05rTqHjPD+_u`jX-5YXcFTD|sO(d4@6^b<_{GqolrO*#PxAz`Ma^D_|D2b!Gd+s^VbN7A(?ehJMtgrJ9FgxgP zymJD9ei}5&Cg0X(NG`IuyVN?1t+T}QE<>cHn61EBW}W4pcMG5u)>&ztE(jE!tE{t) ziJ@2X&fdiJYSZm<@pPz#(_=Q4F|!5u;}{dveCdDl=0I>aZa&V>JW1`o^@tm8KiG97 zhVPznvHrDt`pU|0JHbR)V^?a|T4$Yg)}uNB?NV}f7}A-!iIKN4SuXnyy5u`?<53Kc z;g4*MXkWajqjLqHzns6BgCsv9f34u%u=HBt;ceYWQ3n|^gC-I-WMYu9-+=SIVN(|^ z#U8|OHaGe7h~72OU)?|c!BIU2UmrV)o#NhZQ=DBW;S-=;>@6*f@7%w2=Yj4m<9BVT zP7H_Mv!`!k_08i)mZW#|F^lNpy;FmdMqP@PHQsiCNn?X$`jhCB;C+*IFqumN+K2*& zbF+0edERw^Zm|wZaUCEi@;AV_%{sTEP5>%mnixU6lQ$iUMDE8gv(lci%06!+dRWPR zuJ=K`?;RT2r_j7TjBb!uzBeiwN8NM$nV@6is{Sq28^_-~;e@axKFis5=f+)3kYiY& zzF>$1P=MWnIg95dJC`iSSnFYIG|2^?mGH1-mLJBff~VBV;igTtVRav#7)*gK4HW>T zLH37FowM3RWFi<=qn=D8Zakq@BPMQ5VZ4T@7h_E^Ug+}WeQCh9UqSB-ziIR5uk7qv zy!kURTQQmYp8mT2`u^Jf$^8?1Cw6bCuF1{GO;br8=$yFxnBGxm4D^&17O^Ik7W~un z;{7#yKHEPj-BDWba%o|1Y2mMKIeXK`Za!<{nZ2W+H}{kl>?tjL<-xPR`LWX2hE3<( za<0VtROKr{J>*EdUYwOleu3tYfzJ5~e`kKkzU;JTXO>nAp>pH#QLrapgS zPR_l(lgHK%^ww6_LHpe@Vb7NFiTrB^t{W)p9Zwy40(I!gU+Aytt^Iueq=OIEU|7PK z+*n%p@b2d}A77Jm&GEbMAOFCF(!y2GbRYK2VK2Vhf9|Gp#!l{^++!p;zpl6bn{}%Tx~rb4dgjG<2S9=9`0|{sJD2B|7T%UFE-mc#X_OW=mlpQe9H0<^j0&GZ}yED=x^LJZlHfkcW>k8kl>Wh_D}gI z+x2ze^Ucj8eXi~WSKplSVB=B-jl>{!LD0>713_gIZrf{W;1=5h+<_$m)Wk1Z=Sx^> z0Q6WJnv#aKlHp#I1hQ=0yqzQ-U>KBw$4wWGyrJOk$8JnMNlZ5I1A*7M=~1`FkI zo*>!43u3uq7arQqzfP9N6v0R7!M zZ=u8hy=|R;U_A&>zjfZR&Ofn^1#cv3&fekj}aL2r6!e_%u!j zx{3GF#;fS=#2=XT?253zq6{jN;Rl_;hSeu9FYq_%5Vbzh0+3$`{tBBWV^^rQ4zmQK z9nkL(@k>ri08Hc0M#ZLAZA-lM+Z&IBm)AAYvOB!V_)nXbIAbFkh5ZadVi4NmXK6FC zjq1}@=p%SnM6JoW^36{qYNy1N$05eUUKa%KFXE3P8E(8&cBlM$-xC{C7n;7xyWD5K z(3fn*l8rME$$W;PS&Db~((e%Qb9kRM2=B(v(EjP>lHk|^Hi1T7e)Vld#^YL(SZv+q zqx^94wEDW9cV0ZO>iSD^Mn3f2+s-f{>pjEn2G3iG7*KX7`5QcM6&$quE8w7YUj^rs zM}~U^sB*kV@91px?Fgp*5HMKZ3Z;@BzZtrd`L01w&WO^U+qdq+Urp{i>DXI^Fa0BZ zGJTQ-V~U>Wu6jHeDm-*_P5RcuZtJ-=cKhs~Y#m5W zD(@YhJpLdMXU9sOO+GSq=j{7x9s>9tY2ojQ?Q5QRYWv!!`hs6Cz5bV1(?9z(I%E6& z6zaHl3#~^c)lI^lULx7{scgA3)pNYxnnIkbHy`U0WY~{m!){!2)7rkWM9x3UetazgGObf2YDNeqXOy-*?V)}w)^^?-PpJ7q-XH+^n+z19vMMN zPnzC@1?XMb$eY5s&?g_DJiK|f&pm^F;vMoc?_{L1Zs38wvYs9LR`nI`J%fvcyQ=o@ z`P{BMYx3b79Ql0T>pjn45oce2-=1}&e{;;i2l{Nx-Bkx_3hqn{d%o|jvhF(%AmSTk z-||^(CyRUjC5srQr2b4YDDyYh`YbZ&vFCS{zdHOo&-Zj=)$z0Y_msbS1OY4|eje*F z7k2j;?{qGHmp@<7-D3jEPV{+bYHF#U_4dEyp;z%>P^ved;Pb$s?S1>U?mVdvPVbr{ z)-2CCV(rd}eP!qR1>J&zuFjT(Dd_k8Bv{bIn6nuLU_OStc1z#39iQskcIy7uH}U_Q z`gY_0H}L!E`}*L2+K!21`wqO0Sf@T+-M9Zu1RVTY-T{U@c-u3>-7khi&eXlGU;mN8e z4}Bs3p4acLDcE(-{@3q*cjSvZd!9rB@0YFWJ2W5#zMiOh;?Nfg?%8$sYj@R**nQ7| zU3c$)?XG>`=?^_mzu&Xty`CrDEgK%lroFN4rGF_KTx_Fc1C(8ub=!|YugxC0tNXD1 zyAM0C=dgo&4;y&#?`7ldh&>6%Cuh~x*DuMIgc-3<@sq%aEl3N{o!gIr+s3ZxU(?%H zy|#ZXYMs#sCM8<1nNS~J`Y)+ZP}F^-iv#Km?798@uGsDGb>-atZrNI2ICXWnYpEm~ zZBudTeA?_@3`*Z-t65-ThoE1r{nZ-u&C5$ce|hoNt+(&PkN!0`tnFEe)E3U(yLIc< z^h=}tG+WqXzVR>9T%^)8C||`Iko_363r%Ck_P!lY@7ufWneBa8LOpx`YuiqLVtd~? Y{JD4AKyTkk2YU=q_Pd{Bke~Q}0K{ws*Z=?k literal 0 HcmV?d00001 diff --git a/hex/8ey_touch_f551s3_0014b5f5 _v2.SBR b/hex/8ey_touch_f551s3_0014b5f5 _v2.SBR new file mode 100644 index 0000000000000000000000000000000000000000..56b32fc5e8197e8209043053896e4974dbf33a9b GIT binary patch literal 175515 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�^eqWaqt2K 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 + +