From 5774acdc1b53db65548c6cbba7d9a483364c141e Mon Sep 17 00:00:00 2001 From: leaf <48828021+leafliber@users.noreply.github.com> Date: Wed, 25 May 2022 14:59:38 +0800 Subject: [PATCH] Last version --- C52.uvgui.Simular | 1893 +++++++++++++++++++++++++++++++++++++ C52.uvopt | 197 ++++ C52.uvproj | 378 ++++++++ Include/com_send.h | 70 ++ Include/key.h | 59 ++ Include/lcd1602.h | 182 ++++ Include/public.h | 39 + Include/timer.h | 63 ++ Listings/C52.m51 | 851 +++++++++++++++++ Listings/main.lst | 258 +++++ Main/main.c | 226 +++++ Objects/C52 | Bin 0 -> 26773 bytes Objects/C52.build_log.htm | 36 + Objects/C52.lnp | 3 + 14 files changed, 4255 insertions(+) create mode 100644 C52.uvgui.Simular create mode 100644 C52.uvopt create mode 100644 C52.uvproj create mode 100644 Include/com_send.h create mode 100644 Include/key.h create mode 100644 Include/lcd1602.h create mode 100644 Include/public.h create mode 100644 Include/timer.h create mode 100644 Listings/C52.m51 create mode 100644 Listings/main.lst create mode 100644 Main/main.c create mode 100644 Objects/C52 create mode 100644 Objects/C52.build_log.htm create mode 100644 Objects/C52.lnp diff --git a/C52.uvgui.Simular b/C52.uvgui.Simular new file mode 100644 index 0000000..3895db6 --- /dev/null +++ b/C52.uvgui.Simular @@ -0,0 +1,1893 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 115 61 + + + 346 + Code Coverage + 744 160 + + + 204 + Performance Analyzer + 904 + + + + + + 1506 + Symbols + + 62 62 62 + + + 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 + 300 + 0 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + 0 + 8 + 556 + 450 + + + + 0 + + 583 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000000000000100000027433A5C55736572735C53696D756C61725C4465736B746F705C4D795C4D61696E5C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF2B433A5C55736572735C53696D756C61725C4465736B746F705C4D795C496E636C7564655C74696D65722E68000000000774696D65722E6800000000BECEA100FFFFFFFF29433A5C55736572735C53696D756C61725C4465736B746F705C4D795C496E636C7564655C6B65792E6800000000056B65792E6800000000F0A0A100FFFFFFFF2C433A5C55736572735C53696D756C61725C4465736B746F705C4D795C496E636C7564655C7075626C69632E6800000000087075626C69632E6800000000BCA8E100FFFFFFFF2E433A5C55736572735C53696D756C61725C4465736B746F705C4D795C496E636C7564655C636F6D5F73656E642E68000000000A636F6D5F73656E642E68000000009CC1B600FFFFFFFF2D433A5C55736572735C53696D756C61725C4465736B746F705C4D795C496E636C7564655C6C6364313630322E6800000000096C6364313630322E6800000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000BE00000066000000D105000038020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + BE0000004F00000050040000C6000000 + + + 16 + BE0000006600000050040000DD000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000B700000008020000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000B700000008020000 + + + 16 + 2200000039000000FE00000019020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C1000000660000004D040000AD000000 + + + 16 + 22000000390000004A020000B0000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000B700000008020000 + + + 16 + 2200000039000000FE00000019020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000B700000008020000 + + + 16 + 2200000039000000FE00000019020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000039020000D1050000A9020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000B90100005004000044020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000003C020000D205000090020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + C1000000660000004D040000AD000000 + + + 16 + 22000000390000004A020000B0000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C1000000660000004D040000AD000000 + + + 16 + 22000000390000004A020000B0000000 + + + + 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 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C1000000660000004D040000AD000000 + + + 16 + 22000000390000004A020000B0000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C1000000660000004D040000AD000000 + + + 16 + 22000000390000004A020000B0000000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C1000000660000004D040000AD000000 + + + 16 + 22000000390000004A020000B0000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000B7000000AA020000 + + + 16 + 2200000039000000FE00000019020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000003C020000D205000090020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000003C020000D205000090020000 + + + 16 + 2200000039000000FE00000019020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000003C020000D205000090020000 + + + 16 + 2200000039000000FE00000019020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000003C020000D205000090020000 + + + 16 + 2200000039000000FE00000019020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 22000000390000004A020000B0000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 99030000660000004D040000B0010000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000A9020000D1050000BC020000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100004D0400002B020000 + + + 16 + 2200000039000000DC000000E5000000 + + + + 3276 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFBE000000C600000050040000CA000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000BE0000006600000050040000DD000000BE0000004F00000050040000C60000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF920300004F00000096030000C9010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000960300006600000050040000E0010000960300004F00000050040000C901000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFBA0000004F000000BE00000021020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000BA000000DA020000000000004F000000BA000000210200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000B501000050040000B901000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF100000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000D60100000180008000000000000000000000D0010000500400005B02000000000000B901000050040000440200000000000040410046100000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF28020000B90100002C0200004402000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000021020000D1050000250200000100000001000010040000000100000049FEFFFF3A010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000DE020000D5050000620300000000000025020000D1050000A90200000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2038 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000974696D6572305F746C960000000000000002000974696D6572305F746C0874696D655F316D730000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1489 + 771 + + + + + + 1 + 0 + + 100 + 0 + + .\Main\main.c + 7 + 1 + 153 + 1 + + 0 + + + .\Include\timer.h + 1 + 4 + 29 + 1 + + 0 + + + .\Include\key.h + 30 + 24 + 33 + 1 + + 0 + + + .\Include\public.h + 31 + 5 + 27 + 1 + + 0 + + + .\Include\com_send.h + 3 + 13 + 14 + 0 + + 0 + + + .\Include\lcd1602.h + 10 + 8 + 9 + 1 + + 0 + + + + +
diff --git a/C52.uvopt b/C52.uvopt new file mode 100644 index 0000000..515f6a0 --- /dev/null +++ b/C52.uvopt @@ -0,0 +1,197 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + Target 1 + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\Listings\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + + 0 + Data Sheet + DATASHTS\ATMEL\AT89C52_DS.PDF + + + 1 + Instruction Set Manual + DATASHTS\ATMEL\AT_C51ISM.PDF + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + + + + + + + + + + + BIN\MON51.DLL + + + + 0 + + + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + + + Source Group 1 + 1 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + .\Main\main.c + main.c + 0 + 0 + + + +
diff --git a/C52.uvproj b/C52.uvproj new file mode 100644 index 0000000..4d98404 --- /dev/null +++ b/C52.uvproj @@ -0,0 +1,378 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + Target 1 + 0x0 + MCS-51 + 0 + + + AT89C52 + Microchip + IRAM(0-0xFF) IROM(0-0x1FFF) CLOCK(24000000) + + "LIB\STARTUP.A51" ("Standard 8051 Startup Code") + + 2980 + REGX52.H + + + + + + + + + + + 0 + 0 + + + + Atmel\ + Atmel\ + + 0 + 0 + 0 + 0 + 1 + + .\Objects\ + C52 + 1 + 0 + 1 + 1 + 1 + .\Listings\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -p52 + S8051.DLL + + TP51.DLL + -p52 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + + 0 + 0 + + + + + + + + + + + + + + BIN\MON51.DLL + + + + + 1 + 0 + 0 + 0 + 0 + -1 + + 0 + + "" () + + + + + 0 + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x2000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 8 + 2 + 1 + 1 + 0 + 0 + + + + + .\Include + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source Group 1 + + + main.c + 1 + .\Main\main.c + + + + + + + +
diff --git a/Include/com_send.h b/Include/com_send.h new file mode 100644 index 0000000..ef24e65 --- /dev/null +++ b/Include/com_send.h @@ -0,0 +1,70 @@ +#ifndef _com_send_H +#define _com_send_H + +#include "reg52.h" + +typedef unsigned char BYTE; +typedef unsigned int WORD; + +#define FOSC 11059200L //System frequency +#define BAUD 9600 //UART baudrate + +bit busy; + +void send_init(); +void send_data(BYTE dat); +void send_string(char *s); + +void send_init() +{ + SCON = 0x50; + TL2 = RCAP2L = (65536-(FOSC/32/BAUD)); //Set auto-reload vaule + TH2 = RCAP2H = (65536-(FOSC/32/BAUD)) >> 8; + T2CON = 0x34; //Timer2 start run + ES = 1; //Enable UART interrupt + EA = 1; //Open master interrupt switch +} + +/*---------------------------- +UART interrupt service routine +----------------------------*/ +void uart_isr() interrupt 4 +{ + if (RI) + { + RI = 0; //Clear receive interrupt flag + } + if (TI) + { + TI = 0; //Clear transmit interrupt flag + busy = 0; //Clear transmit busy flag + } +} + +/*---------------------------- +Send a byte data to UART +Input: dat (data to be sent) +Output:None +----------------------------*/ +void send_data(BYTE dat) +{ + while (busy); //Wait for the completion of the previous data is sent + ACC = dat; //Calculate the even parity bit P (PSW.0) + busy = 1; + SBUF = ACC; //Send data to UART buffer +} + +/*---------------------------- +Send a string to UART +Input: s (address of string) +Output:None +----------------------------*/ +void send_string(char *s) +{ + while (*s) //Check the end of the string + { + send_data(*s++); //Send current char and increment string ptr + } +} + +#endif \ No newline at end of file diff --git a/Include/key.h b/Include/key.h new file mode 100644 index 0000000..c277b00 --- /dev/null +++ b/Include/key.h @@ -0,0 +1,59 @@ +#ifndef _key_H +#define _key_H + +#include "public.h" + +//定义独立按键控制脚 +sbit KEY1=P3^1; +sbit KEY2=P3^0; +sbit KEY3=P3^2; +sbit KEY4=P3^3; + + +//使用宏定义独立按键按下的键值 +#define KEY1_PRESS 1 +#define KEY2_PRESS 2 +#define KEY3_PRESS 3 +#define KEY4_PRESS 4 +#define KEY_UNPRESS 0 + + +u8 key_scan(u8 mode); + +/******************************************************************************* +* 函 数 名 : key_scan +* 函数功能 : 检测独立按键是否按下,按下则返回对应键值 +* 输 入 : mode=0:单次扫描按键 + mode=1:连续扫描按键 +* 输 出 : KEY1_PRESS:K1按下 + KEY2_PRESS:K2按下 + KEY3_PRESS:K3按下 + KEY4_PRESS:K4按下 + KEY_UNPRESS:未有按键按下 +*******************************************************************************/ +u8 key_scan(u8 mode) +{ + static u8 key=1; + + if(mode)key=1;//连续扫描按键 + if(key==1&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0))//任意按键按下 + { + delay_10us(1000);//消抖 + key=0; + if(KEY1==0) + return KEY1_PRESS; + else if(KEY2==0) + return KEY2_PRESS; + else if(KEY3==0) + return KEY3_PRESS; + else if(KEY4==0) + return KEY4_PRESS; + } + else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1) //无按键按下 + { + key=1; + } + return KEY_UNPRESS; +} + +#endif \ No newline at end of file diff --git a/Include/lcd1602.h b/Include/lcd1602.h new file mode 100644 index 0000000..7fb5fba --- /dev/null +++ b/Include/lcd1602.h @@ -0,0 +1,182 @@ +#ifndef _lcd1602_H +#define _lcd1602_H + +#include "public.h" + +//LCD1602数据口4位和8位定义,若为1,则为LCD1602四位数据口驱动,反之为8位 +#define LCD1602_4OR8_DATA_INTERFACE 0 //默认使用8位数据口LCD1602 + +//管脚定义 +sbit LCD1602_RS=P2^6;//数据命令选择 +sbit LCD1602_RW=P2^5;//读写选择 +sbit LCD1602_E=P2^7; //使能信号 +#define LCD1602_DATAPORT P0 //宏定义LCD1602数据端口 + + +//函数声明 +void lcd1602_init(void); +void lcd1602_clear(void); +void lcd1602_show_string(u8 x,u8 y,u8 *str); + +/******************************************************************************* +* 函 数 名 : lcd1602_write_cmd +* 函数功能 : LCD1602写命令 +* 输 入 : cmd:指令 +* 输 出 : 无 +*******************************************************************************/ +#if (LCD1602_4OR8_DATA_INTERFACE==0)//8位LCD +void lcd1602_write_cmd(u8 cmd) +{ + LCD1602_RS=0;//选择命令 + LCD1602_RW=0;//选择写 + LCD1602_E=0; + LCD1602_DATAPORT=cmd;//准备命令 + delay_ms(1); + LCD1602_E=1;//使能脚E先上升沿写入 + delay_ms(1); + LCD1602_E=0;//使能脚E后负跳变完成写入 +} +#else //4位LCD +void lcd1602_write_cmd(u8 cmd) +{ + LCD1602_RS=0;//选择命令 + LCD1602_RW=0;//选择写 + LCD1602_E=0; + LCD1602_DATAPORT=cmd;//准备命令 + delay_ms(1); + LCD1602_E=1;//使能脚E先上升沿写入 + delay_ms(1); + LCD1602_E=0;//使能脚E后负跳变完成写入 + + LCD1602_DATAPORT=cmd<<4;//准备命令 + delay_ms(1); + LCD1602_E=1;//使能脚E先上升沿写入 + delay_ms(1); + LCD1602_E=0;//使能脚E后负跳变完成写入 +} +#endif + +/******************************************************************************* +* 函 数 名 : lcd1602_write_data +* 函数功能 : LCD1602写数据 +* 输 入 : dat:数据 +* 输 出 : 无 +*******************************************************************************/ +#if (LCD1602_4OR8_DATA_INTERFACE==0)//8位LCD +void lcd1602_write_data(u8 dat) +{ + LCD1602_RS=1;//选择数据 + LCD1602_RW=0;//选择写 + LCD1602_E=0; + LCD1602_DATAPORT=dat;//准备数据 + delay_ms(1); + LCD1602_E=1;//使能脚E先上升沿写入 + delay_ms(1); + LCD1602_E=0;//使能脚E后负跳变完成写入 +} +#else +void lcd1602_write_data(u8 dat) +{ + LCD1602_RS=1;//选择数据 + LCD1602_RW=0;//选择写 + LCD1602_E=0; + LCD1602_DATAPORT=dat;//准备数据 + delay_ms(1); + LCD1602_E=1;//使能脚E先上升沿写入 + delay_ms(1); + LCD1602_E=0;//使能脚E后负跳变完成写入 + + LCD1602_DATAPORT=dat<<4;//准备数据 + delay_ms(1); + LCD1602_E=1;//使能脚E先上升沿写入 + delay_ms(1); + LCD1602_E=0;//使能脚E后负跳变完成写入 +} +#endif + +/******************************************************************************* +* 函 数 名 : lcd1602_init +* 函数功能 : LCD1602初始化 +* 输 入 : 无 +* 输 出 : 无 +*******************************************************************************/ +#if (LCD1602_4OR8_DATA_INTERFACE==0)//8位LCD +void lcd1602_init(void) +{ + lcd1602_write_cmd(0x38);//数据总线8位,显示2行,5*7点阵/字符 + lcd1602_write_cmd(0x0c);//显示功能开,无光标,光标闪烁 + lcd1602_write_cmd(0x06);//写入新数据后光标右移,显示屏不移动 + lcd1602_write_cmd(0x01);//清屏 +} +#else +void lcd1602_init(void) +{ + lcd1602_write_cmd(0x28);//数据总线4位,显示2行,5*7点阵/字符 + lcd1602_write_cmd(0x0c);//显示功能开,无光标,光标闪烁 + lcd1602_write_cmd(0x06);//写入新数据后光标右移,显示屏不移动 + lcd1602_write_cmd(0x01);//清屏 +} +#endif + +/******************************************************************************* +* 函 数 名 : lcd1602_clear +* 函数功能 : LCD1602清屏 +* 输 入 : 无 +* 输 出 : 无 +*******************************************************************************/ +void lcd1602_clear(void) +{ + lcd1602_write_cmd(0x01); +} + +/******************************************************************************* +* 函 数 名 : lcd1602_show_string +* 函数功能 : LCD1602显示字符 +* 输 入 : x,y:显示坐标,x=0~15,y=0~1; + str:显示字符串 +* 输 出 : 无 +*******************************************************************************/ +void lcd1602_show_string(u8 x,u8 y,u8 *str) +{ + u8 i=0; + + if(y>1||x>15)return;//行列参数不对则强制退出 + + if(y<1) //第1行显示 + { + while(*str!='\0')//字符串是以'\0'结尾,只要前面有内容就显示 + { + if(i<16-x)//如果字符长度超过第一行显示范围,则在第二行继续显示 + { + lcd1602_write_cmd(0x80+i+x);//第一行显示地址设置 + } + else + { + lcd1602_write_cmd(0x40+0x80+i+x-16);//第二行显示地址设置 + } + lcd1602_write_data(*str);//显示内容 + str++;//指针递增 + i++; + } + } + else //第2行显示 + { + while(*str!='\0') + { + if(i<16-x) //如果字符长度超过第二行显示范围,则在第一行继续显示 + { + lcd1602_write_cmd(0x80+0x40+i+x); + } + else + { + lcd1602_write_cmd(0x80+i+x-16); + } + lcd1602_write_data(*str); + str++; + i++; + } + } +} + + +#endif \ No newline at end of file diff --git a/Include/public.h b/Include/public.h new file mode 100644 index 0000000..ef0f13d --- /dev/null +++ b/Include/public.h @@ -0,0 +1,39 @@ +#ifndef _public_H +#define _public_H + +#include "reg52.h" + +typedef unsigned int u16; //对系统默认数据类型进行重定义 +typedef unsigned char u8; +typedef unsigned long u32; + +//函数声明 +void delay_10us(u16 ten_us); +void delay_ms(u16 ms); + +/******************************************************************************* +* 函 数 名 : delay_10us +* 函数功能 : 延时函数,ten_us=1时,大约延时10us +* 输 入 : ten_us +* 输 出 : 无 +*******************************************************************************/ +void delay_10us(u16 ten_us) +{ + while(ten_us--); +} + +/******************************************************************************* +* 函 数 名 : delay_ms +* 函数功能 : ms延时函数,ms=1时,大约延时1ms +* 输 入 : ms:ms延时时间 +* 输 出 : 无 +*******************************************************************************/ +void delay_ms(u16 ms) +{ + u16 i,j; + for(i=ms;i>0;i--) + for(j=110;j>0;j--); +} + + +#endif diff --git a/Include/timer.h b/Include/timer.h new file mode 100644 index 0000000..5237066 --- /dev/null +++ b/Include/timer.h @@ -0,0 +1,63 @@ +#ifndef _timer_H +#define _timer_H + +#include "public.h" + +void timer0_init(u8 tmod, u8 th0, u8 tl0); +void timer0_reset(u8 th0, u8 tl0); +void timer1_init(u8 tmod, u8 th0, u8 tl0); +void timer1_reset(u8 th0, u8 tl0); + +void timer0_init(u8 tmod, u8 th0, u8 tl0) +{ + TMOD=(TMOD&0xF0)|(tmod&0x0F);//选择为定时器0模式 + TH0=th0; + TL0=tl0; + ET0=1;//打开定时器0中断允许 + EA=1;//打开总中断 + TR0=0; +} + +void timer0_open() +{ + TR0=1;//打开定时器 +} + +void timer0_close() +{ + TR0=0; +} + +void timer0_reset(u8 th0, u8 tl0) +{ + TH0=th0; + TL0=tl0; +} + +void timer1_init(u8 tmod, u8 th1, u8 tl1) +{ + TMOD=(TMOD&0x0F)|(tmod&0xF0);//选择为定时器1模式 + TH1=th1; + TL1=tl1; + ET1=1;//打开定时器0中断允许 + EA=1;//打开总中断 + TR1=0;//打开定时器 +} + +void timer1_reset(u8 th1, u8 tl1) +{ + TH1=th1; + TL1=tl1; +} + +void timer1_open() +{ + TR1=1;//打开定时器 +} + +void timer1_close() +{ + TR1=0; +} + +#endif \ No newline at end of file diff --git a/Listings/C52.m51 b/Listings/C52.m51 new file mode 100644 index 0000000..7d5b26e --- /dev/null +++ b/Listings/C52.m51 @@ -0,0 +1,851 @@ +BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 1 + + +BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY: +C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\main.obj TO .\Objects\C52 PRINT (.\Listings\C52.m51) RAMSIZE (256) + + +MEMORY MODEL: SMALL WITH FLOATING POINT ARITHMETIC + + +INPUT MODULES INCLUDED: + .\Objects\main.obj (MAIN) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPMUL) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPDIV) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPCMP) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FCAST) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (PRINTF) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPGETOPN) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPROUND) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPCONVERT) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPADD) + C:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FTNPWR) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDPTR) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDOPTR) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?CSTPTR) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?IMUL) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?LMUL) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?LNEG) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?PLDIIDATA) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?CCASE) + C:\KEIL_V5\C51\LIB\C51S.LIB (PUTCHAR) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT) + + +LINK MAP OF MODULE: .\Objects\C52 (MAIN) + + + TYPE BASE LENGTH RELOCATION SEGMENT NAME + ----------------------------------------------------- + + * * * * * * * D A T A M E M O R Y * * * * * * * + REG 0000H 0008H ABSOLUTE "REG BANK 0" + 0008H 0018H *** GAP *** + BIT 0020H.0 0001H.1 UNIT _BIT_GROUP_ + BIT 0021H.1 0000H.1 UNIT ?BI?MAIN + 0021H.2 0000H.6 *** GAP *** + DATA 0022H 0035H UNIT ?DT?MAIN + DATA 0057H 0027H UNIT _DATA_GROUP_ + IDATA 007EH 0001H UNIT ?STACK + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 0003H ABSOLUTE + CODE 0003H 0008H UNIT ?PR?_LCD1602_WRITE_CMD?MAIN + CODE 000BH 0003H ABSOLUTE + CODE 000EH 000DH UNIT ?PR?UART_ISR?MAIN + CODE 001BH 0003H ABSOLUTE + CODE 001EH 0005H UNIT ?PR?LCD1602_CLEAR?MAIN + CODE 0023H 0003H ABSOLUTE + CODE 0026H 0693H UNIT ?C?LIB_CODE + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 2 + + + CODE 06B9H 046FH UNIT ?PR?PRINTF?PRINTF + CODE 0B28H 0285H UNIT ?PR?MAIN?MAIN + CODE 0DADH 008CH UNIT ?C_C51STARTUP + CODE 0E39H 0089H UNIT ?PR?_LCD1602_SHOW_STRING?MAIN + CODE 0EC2H 0065H UNIT ?PR?TIMER1?MAIN + CODE 0F27H 004DH UNIT ?PR?TIMER0?MAIN + CODE 0F74H 004CH UNIT ?PR?_KEY_SCAN?MAIN + CODE 0FC0H 003DH UNIT ?CO?MAIN + CODE 0FFDH 003AH UNIT ?PR?SHOW_STRING_INIT?MAIN + CODE 1037H 0036H UNIT ?C_INITSEG + CODE 106DH 0032H UNIT ?PR?SHOW_STRING_MODE?MAIN + CODE 109FH 0031H UNIT ?PR?_DELAY_MS?MAIN + CODE 10D0H 0027H UNIT ?PR?PUTCHAR?PUTCHAR + CODE 10F7H 0026H UNIT ?PR?RESET?MAIN + CODE 111DH 0025H UNIT ?PR?_SEND_STRING?MAIN + CODE 1142H 0017H UNIT ?PR?SEND_INIT?MAIN + CODE 1159H 0016H UNIT ?PR?_TIMER0_INIT?MAIN + CODE 116FH 0016H UNIT ?PR?_TIMER1_INIT?MAIN + CODE 1185H 0014H UNIT ?PR?LCD1602_INIT?MAIN + CODE 1199H 000FH UNIT ?PR?CHANGE_RANGE?MAIN + CODE 11A8H 000EH UNIT ?PR?_TIMER0_RESET?MAIN + CODE 11B6H 000BH UNIT ?PR?_DELAY_10US?MAIN + CODE 11C1H 0009H UNIT ?PR?_SEND_DATA?MAIN + CODE 11CAH 0008H UNIT ?PR?_LCD1602_WRITE_DATA?MAIN + CODE 11D2H 0006H UNIT ?PR?TIMER1_OPEN?MAIN + CODE 11D8H 0005H UNIT ?PR?_TIMER1_RESET?MAIN + CODE 11DDH 0003H UNIT ?PR?TIMER0_OPEN?MAIN + CODE 11E0H 0003H UNIT ?PR?TIMER0_CLOSE?MAIN + CODE 11E3H 0003H UNIT ?PR?TIMER1_CLOSE?MAIN + + + +OVERLAY MAP OF MODULE: .\Objects\C52 (MAIN) + + +SEGMENT BIT_GROUP DATA_GROUP + +--> CALLED SEGMENT START LENGTH START LENGTH +------------------------------------------------------------------------- +?PR?TIMER0?MAIN ----- ----- ----- ----- + +--> ?PR?TIMER0_CLOSE?MAIN + +--> ?PR?TIMER1_CLOSE?MAIN + +--> ?PR?_TIMER0_RESET?MAIN + +--> ?PR?TIMER0_OPEN?MAIN + +--> ?PR?TIMER1_OPEN?MAIN + +?PR?TIMER1_OPEN?MAIN ----- ----- ----- ----- + +--> ?PR?TIMER0_OPEN?MAIN + +*** NEW ROOT *************************************************** + +?PR?TIMER1?MAIN ----- ----- ----- ----- + +--> ?PR?_TIMER1_RESET?MAIN + +--> ?PR?_TIMER0_RESET?MAIN + +--> ?PR?TIMER0_CLOSE?MAIN + +--> ?PR?TIMER1_CLOSE?MAIN + +*** NEW ROOT *************************************************** + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 3 + + + +?C_C51STARTUP ----- ----- ----- ----- + +--> ?PR?MAIN?MAIN + +--> ?C_INITSEG + +?PR?MAIN?MAIN ----- ----- 0057H 000BH + +--> ?PR?LCD1602_INIT?MAIN + +--> ?PR?SEND_INIT?MAIN + +--> ?PR?SHOW_STRING_INIT?MAIN + +--> ?PR?SHOW_STRING_MODE?MAIN + +--> ?PR?_TIMER0_INIT?MAIN + +--> ?PR?_TIMER1_INIT?MAIN + +--> ?PR?TIMER1_OPEN?MAIN + +--> ?PR?_KEY_SCAN?MAIN + +--> ?PR?CHANGE_RANGE?MAIN + +--> ?PR?RESET?MAIN + +--> ?PR?LCD1602_CLEAR?MAIN + +--> ?CO?MAIN + +--> ?PR?PRINTF?PRINTF + +--> ?PR?_LCD1602_SHOW_STRING?MAIN + +--> ?PR?_SEND_STRING?MAIN + +?PR?LCD1602_INIT?MAIN ----- ----- ----- ----- + +--> ?PR?_LCD1602_WRITE_CMD?MAIN + +?PR?_LCD1602_WRITE_CMD?MAIN ----- ----- ----- ----- + +--> ?PR?_DELAY_MS?MAIN + +?PR?SHOW_STRING_INIT?MAIN ----- ----- ----- ----- + +--> ?CO?MAIN + +--> ?PR?_LCD1602_SHOW_STRING?MAIN + +?PR?_LCD1602_SHOW_STRING?MAIN ----- ----- 0062H 0002H + +--> ?PR?_LCD1602_WRITE_CMD?MAIN + +--> ?PR?_LCD1602_WRITE_DATA?MAIN + +?PR?_LCD1602_WRITE_DATA?MAIN ----- ----- ----- ----- + +--> ?PR?_DELAY_MS?MAIN + +?PR?SHOW_STRING_MODE?MAIN ----- ----- ----- ----- + +--> ?PR?_LCD1602_SHOW_STRING?MAIN + +--> ?CO?MAIN + +?PR?_KEY_SCAN?MAIN ----- ----- ----- ----- + +--> ?PR?_DELAY_10US?MAIN + +?PR?CHANGE_RANGE?MAIN ----- ----- ----- ----- + +--> ?PR?SHOW_STRING_INIT?MAIN + +--> ?PR?SHOW_STRING_MODE?MAIN + +?PR?RESET?MAIN ----- ----- ----- ----- + +--> ?PR?_TIMER0_RESET?MAIN + +--> ?PR?_TIMER1_RESET?MAIN + +?PR?LCD1602_CLEAR?MAIN ----- ----- ----- ----- + +--> ?PR?_LCD1602_WRITE_CMD?MAIN + + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 4 + + +?PR?PRINTF?PRINTF 0020H.0 0001H.1 0062H 001CH + +--> ?PR?PUTCHAR?PUTCHAR + +?PR?_SEND_STRING?MAIN ----- ----- 0062H 0003H + +--> ?PR?_SEND_DATA?MAIN + +?C_INITSEG ----- ----- ----- ----- + +--> ?CO?MAIN + + + +SYMBOL TABLE OF MODULE: .\Objects\C52 (MAIN) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + B:00A8H.7 PUBLIC EA + C:11CAH PUBLIC _lcd1602_write_data + D:00A8H PUBLIC IE + D:0024H PUBLIC timer0_th + D:0025H PUBLIC timer0_tl + C:1185H PUBLIC lcd1602_init + D:0028H PUBLIC range_mode + B:00A8H.4 PUBLIC ES + D:0029H PUBLIC gate_mode_number + D:00B8H PUBLIC IP + B:00B0H.1 PUBLIC KEY1 + B:0098H.0 PUBLIC RI + D:002DH PUBLIC range_mode_name + B:00B0H.0 PUBLIC KEY2 + B:00B0H.2 PUBLIC KEY3 + B:0098H.1 PUBLIC TI + B:00B0H.3 PUBLIC KEY4 + C:0E44H PUBLIC _lcd1602_show_string + D:0036H PUBLIC pause + D:00CBH PUBLIC RCAP2H + D:0037H PUBLIC result + C:0003H PUBLIC _lcd1602_write_cmd + B:00A0H.6 PUBLIC LCD1602_RS + C:10F7H PUBLIC reset + D:00CAH PUBLIC RCAP2L + C:0B28H PUBLIC main + C:111DH PUBLIC _send_string + B:00A0H.5 PUBLIC LCD1602_RW + C:11C1H PUBLIC _send_data + D:003BH PUBLIC gate_mode + D:003CH PUBLIC range_auto + D:003DH PUBLIC send + D:003EH PUBLIC gate_mode_name + D:0099H PUBLIC SBUF + D:0098H PUBLIC SCON + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 5 + + + D:0089H PUBLIC TMOD + D:0088H PUBLIC TCON + C:11B6H PUBLIC _delay_10us + C:1142H PUBLIC send_init + B:00A0H.7 PUBLIC LCD1602_E + B:0021H.1 PUBLIC busy + C:106DH PUBLIC show_string_mode + D:00E0H PUBLIC ACC + D:004AH PUBLIC auto_count + B:00A8H.1 PUBLIC ET0 + B:00A8H.3 PUBLIC ET1 + D:008CH PUBLIC TH0 + D:008DH PUBLIC TH1 + C:11E0H PUBLIC timer0_close + D:00CDH PUBLIC TH2 + C:11E3H PUBLIC timer1_close + D:008AH PUBLIC TL0 + D:008BH PUBLIC TL1 + C:0F74H PUBLIC _key_scan + D:00CCH PUBLIC TL2 + C:10B2H PUBLIC _delay_ms + C:0F27H PUBLIC timer0 + C:0EC2H PUBLIC timer1 + C:0FFDH PUBLIC show_string_init + D:004BH PUBLIC time_sig + B:0088H.4 PUBLIC TR0 + B:0088H.6 PUBLIC TR1 + D:004DH PUBLIC range_h + D:0053H PUBLIC time_50ms + C:1199H PUBLIC change_range + C:11B1H PUBLIC _timer0_reset + C:11D8H PUBLIC _timer1_reset + D:00C8H PUBLIC T2CON + C:11DDH PUBLIC timer0_open + C:001EH PUBLIC lcd1602_clear + C:11D5H PUBLIC timer1_open + C:1159H PUBLIC _timer0_init + C:116FH PUBLIC _timer1_init + C:000EH PUBLIC uart_isr + D:0055H PUBLIC time_gate_ms + D:00D0H PUBLIC PSW + ------- PROC _DELAY_10US + D:0006H SYMBOL ten_us + C:11B6H LINE# 20 + C:11B6H LINE# 21 + C:11B6H LINE# 22 + C:11C0H LINE# 23 + ------- ENDPROC _DELAY_10US + ------- PROC L?0118 + ------- ENDPROC L?0118 + ------- PROC _DELAY_MS + D:0006H SYMBOL ms + ------- DO + D:0006H SYMBOL i + D:0004H SYMBOL j + ------- ENDDO + C:10B2H LINE# 31 + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 6 + + + C:10B2H LINE# 32 + C:10B2H LINE# 34 + C:10BBH LINE# 35 + C:10CFH LINE# 36 + ------- ENDPROC _DELAY_MS + ------- PROC _LCD1602_WRITE_CMD + D:0007H SYMBOL cmd + C:0003H LINE# 28 + C:0003H LINE# 29 + C:0003H LINE# 30 + C:0005H LINE# 31 + C:0005H LINE# 32 + C:0005H LINE# 33 + C:0005H LINE# 34 + C:0005H LINE# 35 + C:0005H LINE# 36 + C:0008H LINE# 37 + C:000AH LINE# 38 + ------- ENDPROC _LCD1602_WRITE_CMD + ------- PROC _LCD1602_WRITE_DATA + D:0007H SYMBOL dat + C:11CAH LINE# 66 + C:11CAH LINE# 67 + C:11CAH LINE# 68 + C:11CCH LINE# 69 + C:11CCH LINE# 70 + C:11CCH LINE# 71 + C:11CCH LINE# 72 + C:11CCH LINE# 73 + C:11CCH LINE# 74 + C:11CFH LINE# 75 + C:11D1H LINE# 76 + ------- ENDPROC _LCD1602_WRITE_DATA + ------- PROC LCD1602_INIT + C:1185H LINE# 104 + C:1185H LINE# 105 + C:1185H LINE# 106 + C:118AH LINE# 107 + C:118FH LINE# 108 + C:1194H LINE# 109 + ------- ENDPROC LCD1602_INIT + ------- PROC LCD1602_CLEAR + C:001EH LINE# 127 + C:001EH LINE# 128 + C:001EH LINE# 129 + ------- ENDPROC LCD1602_CLEAR + ------- PROC L?0121 + ------- ENDPROC L?0121 + ------- PROC _LCD1602_SHOW_STRING + D:0062H SYMBOL x + D:0005H SYMBOL y + D:0001H SYMBOL str + ------- DO + D:0063H SYMBOL i + ------- ENDDO + C:0E44H LINE# 139 + C:0E46H LINE# 140 + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 7 + + + C:0E46H LINE# 141 + C:0E49H LINE# 143 + C:0E55H LINE# 145 + C:0E5BH LINE# 146 + C:0E5BH LINE# 147 + C:0E60H LINE# 148 + C:0E60H LINE# 149 + C:0E6EH LINE# 150 + C:0E6EH LINE# 151 + C:0E72H LINE# 152 + C:0E74H LINE# 154 + C:0E74H LINE# 155 + C:0E7CH LINE# 156 + C:0E7CH LINE# 157 + C:0E83H LINE# 158 + C:0E8AH LINE# 159 + C:0E8CH LINE# 160 + C:0E8EH LINE# 161 + C:0E8EH LINE# 163 + C:0E8EH LINE# 164 + C:0E93H LINE# 165 + C:0E93H LINE# 166 + C:0EA1H LINE# 167 + C:0EA1H LINE# 168 + C:0EA5H LINE# 169 + C:0EA7H LINE# 171 + C:0EA7H LINE# 172 + C:0EAFH LINE# 173 + C:0EAFH LINE# 174 + C:0EB6H LINE# 175 + C:0EBDH LINE# 176 + C:0EBFH LINE# 177 + C:0EC1H LINE# 178 + C:0EC1H LINE# 179 + ------- ENDPROC _LCD1602_SHOW_STRING + ------- PROC _KEY_SCAN + D:0007H SYMBOL mode + ------- DO + D:0022H SYMBOL key + ------- ENDDO + C:0F74H LINE# 34 + C:0F74H LINE# 35 + C:0F74H LINE# 38 + C:0F7AH LINE# 39 + C:0F8CH LINE# 40 + C:0F8CH LINE# 41 + C:0F93H LINE# 42 + C:0F96H LINE# 43 + C:0F99H LINE# 44 + C:0F9CH LINE# 45 + C:0F9FH LINE# 46 + C:0FA2H LINE# 47 + C:0FA5H LINE# 48 + C:0FA8H LINE# 49 + C:0FABH LINE# 50 + C:0FAEH LINE# 51 + C:0FAEH LINE# 52 + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 8 + + + C:0FBAH LINE# 53 + C:0FBAH LINE# 54 + C:0FBDH LINE# 55 + C:0FBDH LINE# 56 + C:0FBFH LINE# 57 + ------- ENDPROC _KEY_SCAN + ------- PROC _TIMER0_INIT + D:0007H SYMBOL tmod + D:0005H SYMBOL th0 + D:0003H SYMBOL tl0 + C:1159H LINE# 11 + C:1159H LINE# 12 + C:1159H LINE# 13 + C:1164H LINE# 14 + C:1166H LINE# 15 + C:1168H LINE# 16 + C:116AH LINE# 17 + C:116CH LINE# 18 + C:116EH LINE# 19 + ------- ENDPROC _TIMER0_INIT + ------- PROC TIMER0_OPEN + C:11DDH LINE# 21 + C:11DDH LINE# 22 + C:11DDH LINE# 23 + C:11DFH LINE# 24 + ------- ENDPROC TIMER0_OPEN + ------- PROC TIMER0_CLOSE + C:11E0H LINE# 26 + C:11E0H LINE# 27 + C:11E0H LINE# 28 + C:11E2H LINE# 29 + ------- ENDPROC TIMER0_CLOSE + C:11A8H SYMBOL L?0120 + ------- PROC L?0119 + ------- ENDPROC L?0119 + C:11A8H SYMBOL L?0120 + ------- PROC _TIMER0_RESET + D:0007H SYMBOL th0 + D:0005H SYMBOL tl0 + C:11B1H LINE# 31 + C:11B1H LINE# 32 + C:11B1H LINE# 33 + C:11B3H LINE# 34 + C:11B5H LINE# 35 + ------- ENDPROC _TIMER0_RESET + ------- PROC _TIMER1_INIT + D:0007H SYMBOL tmod + D:0005H SYMBOL th1 + D:0003H SYMBOL tl1 + C:116FH LINE# 37 + C:116FH LINE# 38 + C:116FH LINE# 39 + C:117AH LINE# 40 + C:117CH LINE# 41 + C:117EH LINE# 42 + C:1180H LINE# 43 + C:1182H LINE# 44 + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 9 + + + C:1184H LINE# 45 + ------- ENDPROC _TIMER1_INIT + ------- PROC _TIMER1_RESET + D:0007H SYMBOL th1 + D:0005H SYMBOL tl1 + C:11D8H LINE# 47 + C:11D8H LINE# 48 + C:11D8H LINE# 49 + C:11DAH LINE# 50 + C:11DCH LINE# 51 + ------- ENDPROC _TIMER1_RESET + ------- PROC L?0122 + ------- ENDPROC L?0122 + ------- PROC TIMER1_OPEN + C:11D5H LINE# 53 + C:11D5H LINE# 54 + C:11D5H LINE# 55 + C:11D7H LINE# 56 + ------- ENDPROC TIMER1_OPEN + ------- PROC TIMER1_CLOSE + C:11E3H LINE# 58 + C:11E3H LINE# 59 + C:11E3H LINE# 60 + C:11E5H LINE# 61 + ------- ENDPROC TIMER1_CLOSE + ------- PROC SEND_INIT + C:1142H LINE# 18 + C:1142H LINE# 19 + C:1142H LINE# 20 + C:1145H LINE# 21 + C:114BH LINE# 22 + C:1151H LINE# 23 + C:1154H LINE# 24 + C:1156H LINE# 25 + C:1158H LINE# 26 + ------- ENDPROC SEND_INIT + ------- PROC UART_ISR + C:000EH LINE# 31 + C:000EH LINE# 33 + C:0011H LINE# 34 + C:0011H LINE# 35 + C:0013H LINE# 36 + C:0013H LINE# 37 + C:0016H LINE# 38 + C:0016H LINE# 39 + C:0018H LINE# 40 + C:001AH LINE# 41 + C:001AH LINE# 42 + ------- ENDPROC UART_ISR + ------- PROC _SEND_DATA + D:0007H SYMBOL dat + C:11C1H LINE# 49 + C:11C1H LINE# 50 + C:11C1H LINE# 51 + C:11C4H LINE# 52 + C:11C5H LINE# 53 + C:11C7H LINE# 54 + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 10 + + + C:11C9H LINE# 55 + ------- ENDPROC _SEND_DATA + ------- PROC _SEND_STRING + D:0062H SYMBOL s + C:111DH LINE# 62 + C:1123H LINE# 63 + C:1123H LINE# 64 + C:112EH LINE# 65 + C:112EH LINE# 66 + C:113FH LINE# 67 + C:1141H LINE# 68 + ------- ENDPROC _SEND_STRING + ------- PROC SHOW_STRING_MODE + C:106DH LINE# 31 + C:106DH LINE# 32 + C:106DH LINE# 34 + C:107AH LINE# 35 + C:1087H LINE# 36 + C:108DH LINE# 37 + C:1091H LINE# 38 + C:1093H LINE# 39 + C:1093H LINE# 40 + C:109EH LINE# 41 + C:109EH LINE# 42 + ------- ENDPROC SHOW_STRING_MODE + ------- PROC SHOW_STRING_INIT + C:0FFDH LINE# 44 + C:0FFDH LINE# 45 + C:0FFDH LINE# 46 + C:1009H LINE# 47 + C:1014H LINE# 48 + C:101FH LINE# 49 + C:1023H LINE# 50 + C:1027H LINE# 51 + C:1029H LINE# 52 + C:1029H LINE# 53 + C:1036H LINE# 54 + C:1036H LINE# 55 + ------- ENDPROC SHOW_STRING_INIT + ------- PROC RESET + C:10F7H LINE# 57 + C:10F7H LINE# 58 + C:10FAH LINE# 59 + C:10FFH LINE# 60 + C:1103H LINE# 61 + C:1103H LINE# 62 + C:1106H LINE# 63 + C:1108H LINE# 64 + C:1108H LINE# 65 + C:110FH LINE# 66 + C:110FH LINE# 67 + C:1114H LINE# 68 + C:111CH LINE# 69 + ------- ENDPROC RESET + ------- PROC CHANGE_RANGE + C:1199H LINE# 71 + C:1199H LINE# 72 + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 11 + + + C:1199H LINE# 73 + C:11A2H LINE# 74 + C:11A5H LINE# 75 + ------- ENDPROC CHANGE_RANGE + ------- PROC MAIN + ------- DO + D:0057H SYMBOL key + ------- DO + D:0058H SYMBOL disp + ------- ENDDO + ------- ENDDO + C:0B28H LINE# 78 + C:0B28H LINE# 79 + C:0B28H LINE# 80 + C:0B2BH LINE# 81 + C:0B2EH LINE# 82 + C:0B30H LINE# 83 + C:0B3FH LINE# 85 + C:0B42H LINE# 86 + C:0B45H LINE# 88 + C:0B48H LINE# 89 + C:0B4BH LINE# 92 + C:0B59H LINE# 93 + C:0B61H LINE# 94 + C:0B61H LINE# 95 + C:0B64H LINE# 97 + C:0B64H LINE# 98 + C:0B64H LINE# 99 + C:0B6BH LINE# 100 + C:0B70H LINE# 101 + C:0B70H LINE# 102 + C:0B72H LINE# 103 + C:0B75H LINE# 104 + C:0B75H LINE# 105 + C:0B77H LINE# 106 + C:0B7CH LINE# 107 + C:0B7CH LINE# 108 + C:0B7EH LINE# 109 + C:0B81H LINE# 110 + C:0B90H LINE# 111 + C:0B93H LINE# 112 + C:0B96H LINE# 113 + C:0B98H LINE# 114 + C:0B9DH LINE# 115 + C:0B9DH LINE# 116 + C:0BA0H LINE# 117 + C:0BA0H LINE# 118 + C:0BA2H LINE# 119 + C:0BA7H LINE# 120 + C:0BA7H LINE# 121 + C:0BAAH LINE# 122 + C:0BADH LINE# 123 + C:0BB0H LINE# 124 + C:0BB0H LINE# 125 + C:0BB5H LINE# 126 + C:0BB5H LINE# 128 + C:0BBCH LINE# 129 + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 12 + + + C:0BBCH LINE# 130 + C:0C5EH LINE# 131 + C:0C61H LINE# 133 + C:0C61H LINE# 134 + C:0CEFH LINE# 135 + C:0CEFH LINE# 136 + C:0CFAH LINE# 137 + C:0CFAH LINE# 138 + C:0CFDH LINE# 139 + C:0D22H LINE# 140 + C:0D22H LINE# 141 + C:0D24H LINE# 142 + C:0D27H LINE# 143 + C:0D27H LINE# 144 + C:0D4BH LINE# 145 + C:0D4BH LINE# 146 + C:0D4FH LINE# 147 + C:0D52H LINE# 148 + C:0D52H LINE# 149 + C:0D54H LINE# 151 + C:0D54H LINE# 152 + C:0D56H LINE# 153 + C:0D56H LINE# 154 + C:0D5BH LINE# 155 + C:0D64H LINE# 156 + C:0D66H LINE# 158 + C:0D66H LINE# 159 + C:0D84H LINE# 160 + C:0D84H LINE# 161 + C:0D91H LINE# 162 + C:0D98H LINE# 163 + C:0DA1H LINE# 164 + C:0DA4H LINE# 165 + C:0DA4H LINE# 166 + C:0DA7H LINE# 167 + C:0DAAH LINE# 168 + C:0DAAH LINE# 169 + ------- ENDPROC MAIN + ------- PROC TIMER0 + C:0F27H LINE# 172 + C:0F34H LINE# 174 + C:0F38H LINE# 175 + C:0F3BH LINE# 176 + C:0F3EH LINE# 177 + C:0F41H LINE# 178 + C:0F49H LINE# 179 + C:0F51H LINE# 180 + C:0F51H LINE# 181 + C:0F54H LINE# 182 + C:0F56H LINE# 184 + C:0F56H LINE# 185 + C:0F59H LINE# 186 + C:0F5CH LINE# 187 + C:0F5CH LINE# 188 + C:0F5EH LINE# 190 + C:0F5EH LINE# 191 + C:0F61H LINE# 192 + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 13 + + + C:0F69H LINE# 193 + C:0F69H LINE# 194 + ------- ENDPROC TIMER0 + ------- PROC TIMER1 + ------- DO + D:0023H SYMBOL start + ------- ENDDO + C:0EC2H LINE# 196 + C:0ECFH LINE# 198 + C:0ED3H LINE# 199 + C:0ED3H LINE# 200 + C:0ED9H LINE# 201 + C:0EE1H LINE# 202 + C:0EE3H LINE# 204 + C:0EE3H LINE# 206 + C:0EEAH LINE# 207 + C:0EEEH LINE# 208 + C:0EEEH LINE# 209 + C:0EF1H LINE# 210 + C:0EF7H LINE# 211 + C:0EFAH LINE# 212 + C:0EFCH LINE# 214 + C:0EFCH LINE# 215 + C:0F04H LINE# 216 + C:0F04H LINE# 218 + C:0F11H LINE# 219 + C:0F11H LINE# 220 + C:0F14H LINE# 221 + C:0F17H LINE# 222 + C:0F1AH LINE# 223 + C:0F1CH LINE# 224 + C:0F1CH LINE# 225 + C:0F1CH LINE# 226 + ------- ENDPROC TIMER1 + ------- ENDMOD MAIN + + ------- MODULE ?C?FPMUL + C:0026H PUBLIC ?C?FPMUL + ------- ENDMOD ?C?FPMUL + + ------- MODULE ?C?FPDIV + C:012FH PUBLIC ?C?FPDIV + ------- ENDMOD ?C?FPDIV + + ------- MODULE ?C?FPCMP + C:01CEH PUBLIC ?C?FPCMP + C:01CCH PUBLIC ?C?FPCMP3 + ------- ENDMOD ?C?FPCMP + + ------- MODULE ?C?FCAST + C:024FH PUBLIC ?C?FCASTC + C:024AH PUBLIC ?C?FCASTI + C:0245H PUBLIC ?C?FCASTL + ------- ENDMOD ?C?FCAST + + ------- MODULE PRINTF + D:0062H PUBLIC ?_PRINTF?BYTE + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 14 + + + D:0062H PUBLIC ?_SPRINTF?BYTE + C:071BH PUBLIC _PRINTF + C:0715H PUBLIC _SPRINTF + ------- ENDMOD PRINTF + + ------- MODULE ?C?FPROUND + C:02CDH PUBLIC ?C?FPROUND + ------- ENDMOD ?C?FPROUND + + ------- MODULE ?C?FPCONVERT + C:02FCH PUBLIC ?C?FPCONVERT + ------- ENDMOD ?C?FPCONVERT + + ------- MODULE ?C?FPADD + C:0406H PUBLIC ?C?FPADD + C:0402H PUBLIC ?C?FPSUB + ------- ENDMOD ?C?FPADD + + ------- MODULE ?C?FTNPWR + C:0527H PUBLIC ?C?FTNPWR + ------- ENDMOD ?C?FTNPWR + + ------- MODULE ?C?CLDPTR + C:0567H PUBLIC ?C?CLDPTR + ------- ENDMOD ?C?CLDPTR + + ------- MODULE ?C?CLDOPTR + C:0580H PUBLIC ?C?CLDOPTR + ------- ENDMOD ?C?CLDOPTR + + ------- MODULE ?C?CSTPTR + C:05ADH PUBLIC ?C?CSTPTR + ------- ENDMOD ?C?CSTPTR + + ------- MODULE ?C?IMUL + C:05BFH PUBLIC ?C?IMUL + ------- ENDMOD ?C?IMUL + + ------- MODULE ?C?UIDIV + C:05D1H PUBLIC ?C?UIDIV + ------- ENDMOD ?C?UIDIV + + ------- MODULE ?C?LMUL + C:0626H PUBLIC ?C?LMUL + ------- ENDMOD ?C?LMUL + + ------- MODULE ?C?LNEG + C:0675H PUBLIC ?C?LNEG + ------- ENDMOD ?C?LNEG + + ------- MODULE ?C?PLDIIDATA + C:0683H PUBLIC ?C?PLDIIDATA + ------- ENDMOD ?C?PLDIIDATA + + ------- MODULE ?C?CCASE + C:0693H PUBLIC ?C?CCASE + ------- ENDMOD ?C?CCASE + BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2022 15:58:36 PAGE 15 + + + + ------- MODULE PUTCHAR + C:10D0H PUBLIC _PUTCHAR + ------- ENDMOD PUTCHAR + +Program Size: data=102.2 xdata=0 code=4582 +LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/Listings/main.lst b/Listings/main.lst new file mode 100644 index 0000000..d9b3cb5 --- /dev/null +++ b/Listings/main.lst @@ -0,0 +1,258 @@ +C51 COMPILER V9.57.0.0 MAIN 05/23/2022 15:58:34 PAGE 1 + + +C51 COMPILER V9.57.0.0, COMPILATION OF MODULE MAIN +OBJECT MODULE PLACED IN .\Objects\main.obj +COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE Main\main.c OPTIMIZE(8,SPEED) BROWSE INCDIR(.\Include) DEBUG OBJECTEXTEN + -D PRINT(.\Listings\main.lst) TABS(2) OBJECT(.\Objects\main.obj) + +line level source + + 1 #include + 2 #include + 3 + 4 #include"public.h" + 5 #include"lcd1602.h" + 6 #include"key.h" + 7 #include"timer.h" + 8 #include"com_send.h" + 9 + 10 u16 time_sig; + 11 u16 time_50ms; + 12 u16 time_gate_ms; + 13 u8 send; + 14 u8 pause; + 15 u8 range_mode; + 16 u8 gate_mode; + 17 double result; + 18 + 19 u8* range_mode_name[3] = {"L","M","H"}; + 20 u8* gate_mode_name[4] = {" 1"," 2"," 5","10"}; + 21 u8 gate_mode_number[4] = {1,2,5,10}; + 22 + 23 u8 timer0_th = 0x4c; + 24 u8 timer0_tl[3] = {0xa0,0x16,0x14}; + 25 + 26 + 27 u8 range_auto; + 28 u8 auto_count; + 29 u16 range_h[3] = {100,50000,460000}; + 30 + 31 void show_string_mode() + 32 { + 33 1 + 34 1 lcd1602_show_string(5,1,range_mode_name[range_mode]); + 35 1 lcd1602_show_string(13,1,gate_mode_name[gate_mode]); + 36 1 if(range_auto){ + 37 2 lcd1602_show_string(6,1,"a"); + 38 2 } + 39 1 else{ + 40 2 lcd1602_show_string(6,1," "); + 41 2 } + 42 1 } + 43 + 44 void show_string_init() + 45 { + 46 1 lcd1602_show_string(0,0,"Frq:"); + 47 1 lcd1602_show_string(14,0,"Hz"); + 48 1 lcd1602_show_string(0,1,"Mode: Time:"); + 49 1 if(range_mode){ + 50 2 lcd1602_show_string(15,1,"s"); + 51 2 } + 52 1 else{ + 53 2 lcd1602_show_string(15,1,"T"); + 54 2 } + C51 COMPILER V9.57.0.0 MAIN 05/23/2022 15:58:34 PAGE 2 + + 55 1 } + 56 + 57 void reset(){ + 58 1 timer0_reset(timer0_th,timer0_tl[range_mode]); + 59 1 time_50ms=0; + 60 1 if(range_mode) + 61 1 { + 62 2 timer1_reset(0x00,0x00); + 63 2 }else + 64 1 { + 65 2 timer1_reset(0xFF,0xFF); + 66 2 } + 67 1 time_sig=0; + 68 1 result = 0; + 69 1 } + 70 + 71 void change_range() + 72 { + 73 1 range_mode %= 3; + 74 1 show_string_init(); + 75 1 show_string_mode(); + 76 1 } + 77 + 78 int main() + 79 { + 80 1 u8 key=0; + 81 1 range_mode = 1; + 82 1 gate_mode = 0; + 83 1 time_gate_ms = 20*gate_mode_number[gate_mode]; + 84 1 + 85 1 lcd1602_init(); + 86 1 send_init(); + 87 1 + 88 1 show_string_init(); + 89 1 show_string_mode(); + 90 1 + 91 1 + 92 1 timer0_init(0x01,timer0_th,timer0_tl[range_mode]); + 93 1 timer1_init(0x50,0x00,0x00); + 94 1 timer0_open(); + 95 1 timer1_open(); + 96 1 + 97 1 while(1) + 98 1 { + 99 2 key=key_scan(0); + 100 2 if(key==KEY1_PRESS) + 101 2 { + 102 3 range_mode++; + 103 3 change_range(); + 104 3 reset(); + 105 3 } + 106 2 else if(key==KEY2_PRESS) + 107 2 { + 108 3 gate_mode++; + 109 3 gate_mode %= 4; + 110 3 time_gate_ms = 20*gate_mode_number[gate_mode]; + 111 3 show_string_mode(); + 112 3 reset(); + 113 3 } + 114 2 else if(key==KEY3_PRESS) + 115 2 { + 116 3 range_auto = ~range_auto; + C51 COMPILER V9.57.0.0 MAIN 05/23/2022 15:58:34 PAGE 3 + + 117 3 show_string_mode(); + 118 3 } + 119 2 else if(key==KEY4_PRESS) + 120 2 { + 121 3 lcd1602_clear(); + 122 3 show_string_init(); + 123 3 show_string_mode(); + 124 3 } + 125 2 if(send==1) + 126 2 { + 127 3 char disp[10]; + 128 3 if(range_mode) + 129 3 { + 130 4 result = (double)(time_sig*65536+TH1*256+TL1)/(double)(time_50ms*50+((TH0-timer0_th)*256+TL0-timer0_tl + -[range_mode])/1000)*1000; + 131 4 } + 132 3 else + 133 3 { + 134 4 result = (double)1000000*gate_mode_number[gate_mode]/(double)(time_50ms*50006+((TH0-timer0_th)*256)+TL + -0-timer0_tl[range_mode]); + 135 4 } + 136 3 if(range_auto && auto_count>0) + 137 3 { + 138 4 auto_count = 0; + 139 4 if(range_mode < 2 && result>range_h[range_mode]) + 140 4 { + 141 5 range_mode += 1; + 142 5 change_range(); + 143 5 } + 144 4 if(range_mode > 0 && result +#include + +#include"public.h" +#include"lcd1602.h" +#include"key.h" +#include"timer.h" +#include"com_send.h" + +u16 time_sig; +u16 time_50ms; +u16 time_gate_ms; +u8 send; +u8 pause; +u8 range_mode; +u8 gate_mode; +double result; + +u8* range_mode_name[3] = {"L","M","H"}; +u8* gate_mode_name[4] = {" 1"," 2"," 5","10"}; +u8 gate_mode_number[4] = {1,2,5,10}; + +u8 timer0_th = 0x4c; +u8 timer0_tl[3] = {0xa0,0x16,0x14}; + + +u8 range_auto; +u8 auto_count; +u16 range_h[3] = {100,50000,460000}; + +void show_string_mode() +{ + + lcd1602_show_string(5,1,range_mode_name[range_mode]); + lcd1602_show_string(13,1,gate_mode_name[gate_mode]); + if(range_auto){ + lcd1602_show_string(6,1,"a"); + } + else{ + lcd1602_show_string(6,1," "); + } +} + +void show_string_init() +{ + lcd1602_show_string(0,0,"Frq:"); + lcd1602_show_string(14,0,"Hz"); + lcd1602_show_string(0,1,"Mode: Time:"); + if(range_mode){ + lcd1602_show_string(15,1,"s"); + } + else{ + lcd1602_show_string(15,1,"T"); + } +} + +void reset(){ + timer0_reset(timer0_th,timer0_tl[range_mode]); + time_50ms=0; + if(range_mode) + { + timer1_reset(0x00,0x00); + }else + { + timer1_reset(0xFF,0xFF); + } + time_sig=0; + result = 0; +} + +void change_range() +{ + range_mode %= 3; + show_string_init(); + show_string_mode(); +} + +int main() +{ + u8 key=0; + range_mode = 1; + gate_mode = 0; + time_gate_ms = 20*gate_mode_number[gate_mode]; + + lcd1602_init(); + send_init(); + + show_string_init(); + show_string_mode(); + + + timer0_init(0x01,timer0_th,timer0_tl[range_mode]); + timer1_init(0x50,0x00,0x00); + timer0_open(); + timer1_open(); + + while(1) + { + key=key_scan(0); + if(key==KEY1_PRESS) + { + range_mode++; + change_range(); + reset(); + } + else if(key==KEY2_PRESS) + { + gate_mode++; + gate_mode %= 4; + time_gate_ms = 20*gate_mode_number[gate_mode]; + show_string_mode(); + reset(); + } + else if(key==KEY3_PRESS) + { + range_auto = ~range_auto; + show_string_mode(); + } + else if(key==KEY4_PRESS) + { + lcd1602_clear(); + show_string_init(); + show_string_mode(); + } + if(send==1) + { + char disp[10]; + if(range_mode) + { + result = (double)(time_sig*65536+TH1*256+TL1)/(double)(time_50ms*50+((TH0-timer0_th)*256+TL0-timer0_tl[range_mode])/1000)*1000; + } + else + { + result = (double)1000000*gate_mode_number[gate_mode]/(double)(time_50ms*50006+((TH0-timer0_th)*256)+TL0-timer0_tl[range_mode]); + } + if(range_auto && auto_count>0) + { + auto_count = 0; + if(range_mode < 2 && result>range_h[range_mode]) + { + range_mode += 1; + change_range(); + } + if(range_mode > 0 && resultvX=(xOFsThh}Cd7HFH_IrqJr_mZOD&;0TGUG2>~ z_uS=d_uO;uTc~_ph^)*Wn(p>YE}b=Z+8oRVP4~D9e8qW_^M0M1HvHxyUv6$rfA_e; zf;)?H-FZ{8bMgw)22IPGJAHO_c}0JBPVTs=x4R3*P0Yuzq@$sxT3U-{#t#kQ&4ta#q@wyWnS5R{Q+Jdy}ZoT6C=Q8MA!^; ziZJo>XQp1AJ#yNlidnP$|21?Pazd0%n_n?wXvUzKB6xqMLRFxA);y|k?!8(XOk-zS zWp&x?Si)pI%4w5p zF3}ZySX<`MySl%kh6ecX$3|`FW$EI{Mn-4Pt#kwY{ysu~wUaEDjxpW;?qgu3rdGgr2DG@m2w19eDpK1e4GL;X?9x9IosCVSU zWS9W%bZ}>YdnlxPp%mOOe*W)9!i0q|d0u(NNVnTvjG`F{RZt9l2W8xgS?0ZvoCtH| z5dg!Sf=5Ug7;)4`91Ri2r%9tDjz32npG6!8B96o6{(>ka3aR;~zAs$fOP&nndwk{= zp%1L_q!2X#lFgr&o$Jq;I(hQl{;}?x1-AeeFqz6r1AT06k6;2*9~*cCGnmp45U`1f zO8dG^bSW&5Fsl)uuc<09zmKh-)_nS$@;cU{nc0_liKqC)!ODcD33m-5o%3w4%QkKtwJ<&B2AJPcuaJ`s*q}HM%x|kDLjZE@ zX}zL6Rn46Ddq0{1`aBSC0h3f&T3uCvQwmISVfI*G#smgAA1c@S`$ZMWy>S)G|WlWAo+g0-FaMBNP1SxcybrOXq@k zfR$t0x16^oXe`b_2KzZ~lhsiG8tkLhYi!=-7!$*gYQK{}vQlk-)vOs{UV+3H7a|v{ z*adPi8L}*@UE*vg0*TEA|4=WDv_To0G<_yBepUrwhmxJ_*H~1o1-?>pwW4&tWRkdcIZ0+qC-gDl5>8u7lf?`3##ryP|YHK(jJIt&{Fo>)fqOOyZ+3E?}OLua%^$ zdIdX7wpN$U5BO(Q;k=s)5)-dqHKQsJ8&P_`qC5RgJBT)aPHz6#yU{?V7CrB=qk|N6 zH#k^!kQKFE|At&CT$f*Y&Lem($7%D9(u>M3qwI2AN0cid4?9C&u6Oo~GXcBGALC6= zAHGb!0^oUP!^;h?t`61-4}#12R@19=k%YA*t=1o$NgyU@T}&=Y@+4~1psQ_llJ7s| zacV`vED+5g3HSX&zJaXZ%eKei%;S*NYth^X;PkbXLhsZ0l|QvzUwP!Z;Eyx0u^Eob z62M`n=d9-%WZ^C6_0-NynFru~XCFeQLK+ew=|m(rF9Xr#=dKfA-{@Z5~=p zMOvxQWvr2t$eT30;&MLU@TzB+X9Pkf=uL&!Qg$6Kbbtd&fCEZ^Bujv!N`RwEkP2Xh zz5t1EBXr|{(j^9b!+AM~DRG44j4d8JL#G5?%W|S*ztW^pQotzLuZ*L@Y|3%~4k)>l zji>B($|g{jN7+Oaf-(u<3nd?V;fT_uMl5$aKuqEy$(xc_yh*;2)`z;`E-=+4Q6^I+ zh+z7}<3|3MDl@6VEXwW!Sf<<$uv)=I<#A;WJca#9G5x*hbb^@7N66049a}h0PM`_G z`kdlXm`v-aBuLpq5XL4_Y?Ikh3(QDgLzXOSp0B#CBevoBajaHZK&@2@j zfH)ni&N9hJ=y-dmefsGy9~XS{Tgx7I_-3EpgV&iZX+}xuo`Ca-vPkRnJ{}^& z6P=2E8^DM5?EoL!ci`G-e~YrWaUH$_q)V!)O?4d@R``pu$4*K1;4EOXlf`V;YAUf& zp$DfdE+i##0j(-+C8lbR(CR4{DhGLYBzU*W-nUHdw>@>o9yGa>cS7wR_YO2lF;CRXeC+T@o=OyQz=5+o;J{fPaNG#6 z(9sXY<4B{dKgz>#6TqJw18_BQ+zjxHV<37-#~^^09D`9j4llrF2d-XQ9JtcG>ByuE zW1jaMLn*rjW#kw}*>Dt;V+5>MT^AQZBAcdu+(_mYdi^v_y&m*Ks#qx8WF~CFNEJji ztn}`auLihVX)AU_S|2SA7qmaRa>epxO|La=Ygpk)@(f0f?p9EWcPl90yOm^sas`)+ zdld)3Oa*=OeTo7wTXCVWC@ElL6Wd6^K(^#)Bo+8_r>v7L0N*N2D?Cft%JMBOD&Nwg z@+~eZ@V#;+>|iU4q0Jh`m{yRTUr>}gnR;nakjS;Hmlg&2Xi=`A44v=~%C+zqqs7>0 zB3tcXvy#ZxpA7HrsJ}=b@u-ZDre1LeyKNk9eeKLvmM~&%)fI+~V&& zxI(Jy0~4^e8CXkRY=^RX#mZ%#uh}}ZL&0TXhvKFTmxZ?#G?-mVADG1aSxleb7!;b$ z6gv3Q3dPVxRcQL3Nul#lpqp1+8>~M zs&8ea^IBzj*|O=6mTxJ0efn$Vv{I%><*ntFqBOnNd37oMB>018JR|2?Wi$#-8ADkX zz#wHTWf&@rp-^cohDsxtYK_Ay&J+-xh5*5jd#>C@8R?(nY)z{Un>M8mtdm^!5v`*b zFuE?8fLm)LCGtW?O;gZ}`Ck?Z7$MnnJk3lWb0`*_<3t}Yhhou%6pQ`=V^LV?M14Hw zM18DtqCVC+Q6JAak*3!X*kX0=n|cC z5}D`PKymX1ikml3-24*7%`aoze2UqNv6tWC`J2ej;yyA4A$O`l$N>2nmFNOic^rlsMj?RU78r7mS0j_Y#HQ5T|%TT|-&^92y=FitkfMbPa$Inum~@mHAvLvkEZlS6NM&^3I8v9zl3H)k zWZ!7n)An=(H<{h1ABV0}kAsm5RnkOHK`ksytqCm1!_gZ}jbfwF2uRZEk*h|m9KK>$ z>#ZfFtrNe*t?I8s?Gszm9v6M7t!aH*QYUvD>9ii{B969jo_zX2$<{gyI6Mw7Nu%E~C4 z4sgG%9H7!xLD{{y^{~wVsJ6|dY!)83+wQ|i#dbesvoTz;%>j7GHWy%xZ65kcTP4QU zw%-A)x6KE5)>cJX0N@2%HD&*W)7JKT+?1FB8oU$iynNNO_vh}#uCvTwaDcp!9KaJ8zeg>oLLREvhUz{-(8}72(j?Ud?80*gzp zVmAXt=y^MEU1@K2Lr{cE-V&@WbK9SKcaX4mCnj(@vc!qa&w29L{44F0J&Ji6$Z`skx$VD!5&FnX*Q7@blSKE_oMofda~kE-~& zX<@^rlvL5NgK~rDB*;Y^X`1jS%J4Q7UYl|Y#{Zw6wG0!G52r+J7I2$l_rAza{eUeo z_Q$QSIxQ;8@%|Uq7O<2X#^M`&II0!M5GWB$_;D)8V6y?9kLAgnIy_;Vpm9t_K@>ky zz88}4SHyXgiocYII=b(CBVKb33GRomZj3VSzGLyX7+^AHAHtN>{#01+Pk`x&Gs5Kv z>-`IGUmQ%l81b|WaCi{su{tw@G?0ZjTy+_KLe#yGWYk17J;0q=RVCh?4cxmVDu1FL zkDki$E*0y;1a7q%%Sk&J|3nkHRSqjyN_Y&2qKWVvCj3IKdF?)1VCH!oIo2UAWt0*f zxInPPr5HcuhDfEQ_e?uABBF1KnQuR(=@2HgGt<(~gu4<(g zI=Ep;wNe2vu8zVa6%LbB?kP)RW64#s7FPHJU78YA1prKpD$#`JKx!h9%qvS|&DgzX zKQ^NIj0cUZa7lSzW?>@cHy9exj4@j474aIG-L7eb79f(qf^uCWSH|=t!2eH;xH-FY zkN-puRqPddBXMLlQ#2w;^dyX_8ay6<3BE&vf2F~9X>f`L<7S8@TK%a$nHi;t_(w2T z9l11ue@jSAF8m|d&me%?G?*qkrEL5o{0s)+-a&(BYH)@I&(mN&eq|iKIu4I}C6C_XlLmACUe;hP zuU9mfgRx*(XQ8HZ__kva3RIiABDkJ}uUIG)1; zuyjJ%<=6v2k0%$l_8^e2ECSrD_QzHy63!qE=E55s2YcgS5*j65f2ayFm>43Xq{Ip4 zFe#Vt+_*WO!<=DmEF8~a!vCgB4Qb;a2AbK!LvUXs;E}bOxX<<=XvRN+$CO!-BAlev z!;fGWS$Ju}KPt*EZxz(&+st%}McU#i#dRssZG4v0A*5&kz~SX_c#6a*sdzbRGaM!o zDRDSe1vS{h!fYLHiK9<<{c3v)B*e9+c|(cguUEk++&2#9CZX0BVnQcUsXeBC&&b&s zhmTiDuQ)uPLwvmWWjEgGUlZ3pRv$fspM!?_T|8L9C-ELa8&H=l)dn7kE;O++r+H2R z4JD$HU}G>tuuf1>?ux6zy@pXK?=AnFUu12E1!R78zV(~3CR#nTMc4577 zxDVo}cMcOvMtFQ2Oq(hrev$$HKV?@j%2W6wQ^qIOkjB{fUR|zf)6LD3JP>Wl`Sc|i zpW%cjaSTc&_(w2bo;dt0mQ$i-lJJ`uq}Rs-FP2I$C;Xc#$m-K{@@O#kfE=dflJF!W zN*vE&j^}2;@f_y(G_`rOJ%>4-uL!(7he<9pJ~tzd=P<|f6@%kB%<+5$;dl;nJYP{b zp2HmfVjTS(rWN7>pDMVCyQ{}kQTGs}({WlK+|F)iyz%L%@9_w4+~cYBt$>GLC<(Rx zz%m!Rj(L1>cMk*OgIm~AN#hfPB+zXHVB!pOcmS3W{u_qX@f;qA^`ke z-9hqjMPx@AdY=}cwUhU8wcbbifB!-s+0+3hl`c!n;eg1MIKH4LyZmS6WsOPLw{ZN}?A&mVvA9)AF$P1rh+WVn7_0IV74!@P z9OOd5M|0orArwA_2qO$_=nVogI4)R%DabIw6hv@%PgyUP7v8$f$ltyA> zO57=JSHY-L;xKng-^SrNOit-ZZe;Yp`8^tk`ays`>#x!};T+P8;_ikx>}P-z_@RV) zR5P*%FFeW+fUmH`3%MHZP)Vl*b6zMwB6tV>QX&Bo%r{wNBLu%kNKCXLB=}nj|4r;AbW(7EmFnK8se~H(+ItBRN09#_1Pan~PdHwMHQ*1_w zGrvy-*(n1Ne<%+ALW4Q;-)Jxw7FR3@OX0yD>3}`xo`ICm9MEqA=!Y{lttZalD1?m+ zE=JfWfJfrsw-DB?L4dd8@bz){CWLwa2e=7NnVO$pj6~8vl;~HFWlea(t0p2cz!%f# zOCJ+xPjKm`5*v#eQ`3jI8L(&f`(dk}JN!yD3`maE=y)=DFYIN2`>>bT>H0FewL-?k z-5J+1pT1m+qqR}!Y>Bi!)&NsXF;j!7J)KK%n8ZQ&$~ZiSIet?dp2LI>@x6rlYRR0c zp604DBH++ThK@*Nd?Q4J(OTd!;K|H5T!Q6<=i*cu(P56C5Z9i=#1OUT=M%g=hY24& z2UTAVI{6D)y-^#6Y=N{&=c3#eGx+3X-Q*wrg>HDP&by&imv=Ly%z_jn)w6Dn_CP!s z?;M!p&Q{G#UVIW!W989|%BmQ}WdH>Y@l{oz7IGB91 zvHf;K`=Ok}`vzzn^6>KE=;?7!4*M8-7{HI~=ppB+Q+)X3SWyD@MI%z8-&N7RI6Q|b z61kq+gLc=1-jTYl2QNHwumIm{5-sEg{c(MBnA{xU$=WG#+BwYeJaXW84ioJjZY_m* z9X+f?kCDpQ0Nh%vY=RqgM+V5PV+UWr(ENw^ne{KkuBkdD`qlSDa?ILCcNIw^lvFcO zAMW7r%iQo5&@Lcs!&-sV5?F74dyviAZf{QUC~ zGLs)CJIEQWq1$V*jPg1BpELTHf$>NA`pDl`>>11QyPf*sFj)}Y8TJsJmXVZz#2q*YEU4uAq1pi)#uObY_So#|m?g%`Ua=(?89SfUvB)-Lq8XE_ zKK;%B!8F!16&)2nhe`Z3d{=}1J-u3!P0tWRj;_h7Y)TyEFI8~}kYk{gYA=q1$q5+ez;c9jaS5;{4vvky z)!X2_ewjfQL+GhCTDLA`7>U>^rJvJTI^uYz6cQK@y0`M(fAkXpbdq^#JGVyf3aWN) zjfUFX&iPXh1QV?sCNTy$JM_7M1Dec9hD6#@L!irdk19LXI6q^B%ouj8EWYD1f3_@z z^%wg}{WU#U;%l)K!vaM&b=W&4Vu3vALn;{cq%|7MS>!OW_!&1W^@Aexj1B2b-|+AV z&>VB`km|&qEt=V0lY6IrTynIm(?cn-0Sxa{k1I%W#<+qT#*IiLH-w9PiPEBIb~>@8 zhoJbTUcdWEj2rJf5==_u`w=b}4)ZO+*f_y)nB(`w;W?~&9Q}-o_s`F~2;az;2K1qs zYK&ZqtPro1=+_t{J6WkdVZ1T00P_v-R{j*5_ECsk*e`ht{eYOuUx-^F1$LK_##ZGY zJNpN7XIY$gPE)Bqw|SQ$ews&3Y8UK_0gN3E(`hO<{@3}ch2Q8RF{-bvd`lq2>_tiUeXu7ZqlE^l2wxP3r*MT^H{mH>KkJ# zs{eNbehCkNqm*l3pP`u&t0^Ar32}EmdJ_1b5TF=m693@FW7^>Q87g19gy``YHw%&u z*CBC7gB#(u4csia$_x1;Z;m6pns#XBzepyUTe(DVGrDi$GkV^X4D z-HBUcjO>5AnRz|me&BogOEnpgzo9<=Up^6J*Tx{mjK^pM^F1Y(X(gu-zb*5d9yIds zS)UqeAL>nS-bV&^MaHib^?Y(rcjUJtft1MZ$kFqY@)Rs1coM_nM^5mUT+<85Yf$rPV@KKIQTh)^#x6WO>y`)X2ps_saP@Qa8u!Y>)% zG2AWa-yfquKi0|fU9%nolQ9vGJO(D1_9^@rOf@zg&c-31=KPJjyEvC_M`vLnpVIl! zXGE;gtvMHx1M5-ZFj)sBg6-To@H=Fm^bkB>Tk&NzwTae;MLSmGeOlOR#T7xbVlmd& zttIxIfmVIY^!grSa;q2Pjx#JwIQkgsgMT_4JEng6lArN$k1=$EqF|B|myNm_t8hly zm5c{h>^e>_)||yIV|C0A-}Q&GNQbm=Pf$mQF67+dWMVm=NK{4DxjL~3<_jH797-I| zVZukaD67+Np)frQ%lO`FVmZIhYK}7r-40c@_1l*m=61>9_?7Vn9EXyM@A;~nO+`oX z#+8=L!+5YZhKE{gKdye)@E<=TUt0C}R)*wZyep*2TYquMiZswzFKM)>^3!4Npf|?h zIZSxtE-PJK^%o&&WZ9JHS6`sz=wX2>7CHKqIu}zpYo&_q6F!~k8%1AZr>f6WJAEYj z8lryEMxBteC%!0gI9Apc_J|mtdQ_jEWUEA|Por@Bi(K}8{18}9UIB%#U(Y*IyrDH3T9Fbe@Cz$o9g{s~yl?W<{Pi9u4R@oV=+|TC@k z!kN(zcH6c$L==c zCoH(I&YhZ2@~=~s=C1CDXJ5(JsSoY*CG1&WBKl+$+j`&r_Ql8hPnuXMZCQ+Rs}92h zS1&-`pFZ={=?z)Q?6VM0b)VkQb!=Stn?7%Z8(SicE!~YRU0W8rk2S>BmeR z-lI}|7<+2NuVOHcvflL`Z3w>pvd$F}{esR__GI5Hp6kgX4souq2tV2_2>VPs-q_izB`S`$zbJy$?Z1>e-#;zy$YE z;q6nN-|5sNIUA$YXOAr^-hv-GLh1`dm0l{s)qA1=%){?P7{L6o@;EA~4!eW)>aa5? zRfnyM;6aR2GS@bHn@ujc`c!6?Gins4GCP~Yr#-FV)CXT`PC2ml=)pq~&tp-NXvEF< zwmZn|1KH#4o*X1dEW_6}$Dj+tM;XVDp%8)<*~j>cjAd{Q-U-)g0bGXOhU1@v$xB3Oh8s@S4QhhmmH1t?)HQz@lJ%E}*KBJ`{dniq z;4`I`Mp_q^h?gyt7PT(IZ!A3EwInYn(^|KQ(pJ&g7%(+if~HV|rM*V|zEP-sVfzE^ zi?E@k&h3)V2HUG^BMm|WG>8qR2B|@Au)5@iNM*9uBGrM*B5hmr<^!Icef!Y(~alc&E`t6$rSus>S3g=&1Y_CZ8D1q|7sF~e?}JS zo5bJ;P0hjgnxx=PHnLl^1cY4+A?u$md3OX!5iJ9otW9$834|}=-v#_TKXFo}TyuP3 zVr|4N4nnGLdJtAEu3iEzDOe)g&s5Y_h8vns*0-FfZ#iDya>kWd*w}KuvE>3zfBI@u z$?H)Zj?mbWDj;$Q5W2P2T=GqG?caibK+;}vB@Qk5skOFJFuTNquho_$x7L;<^lGnl zC4SRZ^6wMgqvBcfo(;a=pE%pM*6ckhgv{-=!DMRn$qA{pZ!NYuv0%YD!eE8wTC-ac zdLcET`WEbB!Ga?tDej||Uguo$H$jj2Tw_bG`WBS0{0)v{amim^RvWZ=B{a-08(UBi zjV^kDmI&rlGxmGGJX(Y^)L)AEgVvUs)AG9_#*CYnbHHi()IBccZUK_fA zjt%wDS!;C*DR|LUi(hR@#EWkHi`2SLWiD=B+w4o(6Y_%md?fT-cgQW6p6v=f(;51_ zqd_=TnRNKj!2`!qJ31==9lTsvm>N{oSUbND1O;F8x__7^3j-(`6^-}2$5SGuAOza5x_rFD0C&6c_a zLDOz4YVfRAlV`~!X2d3RxPs%fVLSwd)y&AiSfw+2RH)?}()i1RXi68bZf=Fe>Oow+6A z@us7nVJy(Gw)u3^(SsNwbo#`%nmv!m_&o7b;wkS@Cw@aE3B9=$y}8+TvZU8b%_mbj zPp>`NuIL{d5z1w+9$D}Iy>64@G4STJ=;&IJ#9A>tq&?&*aoGKTF3 z#q;i?X{qOZrW#A=Y^r$i%CEbQq+ay(I*w7wxhs#D&+SaKhR*%1Js_M*^fWYkHe=T& zLoYw!2ecqbUCs)o+>u*Y{2Tn5Ag&snVr=p4vPHl`ih$NOUnse0XC(763|I-9EO4WAvdcXfEvO&HyTZawEd z+RG*Ni>~^OEuHwmr(mzM=J-*{bIaZ}`t@GAPfx%-Whe)Ugp``|t3kmw^^EZV|O+NMm-uXK67rs&ofW1aRM zJ&7S=+W_s8V_4Off?*`qYdD?Kbta{|EhU1TVx2dl@c~KeJ^Z$!8lMzT@!eTC!o%Lm z?<7ch*;gQ%v{EBYxEVzA-5Ap)3FzL!a1@k}p!2N6cHT!22 zHS`WVyZ6nDB{DMAyH6jNH1%Zh@R9_VG}a~g@GD`bI!>QIbD`~X&q;)X|12JEO6|SI z{8RV3PWzd4UHE4|v@YWLHBx3`kshP$7W&c=Dl&QNFc~*~Tay>mh0cA|RsGN+G5KsS z&P8^9j<2}zS1K1XR4&xAgEDS4XGrf0@}rBFEot%i#G{_~yTuQ+$$|_}i6l5zWJ&dIPgq;ij_9R7VX7z?S@ou;UjXn=|Q%61Q zyD}f++bCLzjk@_*YQv4k=J4Sa;Z13W*dD}_itS9iR)|lgsd*TWKdtU7zL3~tVnthJ ze1ho<=>xER1pTqIha+3Vp3s2~j8)ax9v$$RXHTuqlJKY7(HuS=I@IMk-O(OC^RT+T!I#bf`-b7(D^vx`<-%Jq|t z;eGChs(#kVOh2qBiM}hjPHtS%xVR&S5N+_qaL={#wyIc>tb-INNq6S^~)~=huNm?|NnPhIdnv z@QbVKyEboVSpTka&by(jVFP{x)yxE;HQg&e46qx&qL&t0w-M>um}NQ_6#ixX{%o*6 zl@wc2llJY&{IuAS$|aGiC{lmT;I2)WOLTL2wtGR@NeJV#ryW}U9vwMz54$6cSnOC4UzFsY_=0>%!%s1 K5<{mf`~EMJkh^IB literal 0 HcmV?d00001 diff --git a/Objects/C52.build_log.htm b/Objects/C52.build_log.htm new file mode 100644 index 0000000..f377b98 --- /dev/null +++ b/Objects/C52.build_log.htm @@ -0,0 +1,36 @@ + + +
+

礦ision Build Log

+

Tool Versions:

+IDE-Version: μVision V5.24.2.86 +Copyright (C) 2017 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: leaf green, oair, LIC=3U39U-SKLG7-H1EPN-YJ8UA-X3RTS-RJMY6 + +Tool Versions: +Toolchain: MDK51 Professional Version: 9.57.0.0 +Toolchain Path: C:\Keil_v5\C51\BIN +C Compiler: C51.exe V9.57.0.0 +Assembler: A51.exe V8.2.7.0 +Linker/Locator: BL51.exe V6.22.2.0 +Library Manager: LIB51.exe V4.30.1.0 +Hex Converter: OH51.exe V2.7.0.0 +CPU DLL: S8051.DLL V3.113.0.0 +Dialog DLL: DP51.DLL V2.64.0.0 +Target DLL: MON51.DLL V2.47.0.0 +Dialog DLL: TP51.DLL V2.60.0.0 + +

Project:

+C:\Users\Simular\Desktop\My\C52.uvproj +Project File Date: 05/11/2022 + +

Output:

+Build target 'Target 1' +linking... +Program Size: data=102.2 xdata=0 code=4582 +creating hex file from ".\Objects\C52"... +".\Objects\C52" - 0 Error(s), 0 Warning(s). +Build Time Elapsed: 00:00:00 +
+ + diff --git a/Objects/C52.lnp b/Objects/C52.lnp new file mode 100644 index 0000000..8493be0 --- /dev/null +++ b/Objects/C52.lnp @@ -0,0 +1,3 @@ +".\Objects\main.obj" +TO ".\Objects\C52" +PRINT(".\Listings\C52.m51") RAMSIZE(256)