From 5e7cc1720dbddff4830fa0ef8ffc3f659d2d6831 Mon Sep 17 00:00:00 2001 From: Daniel Treitinger Date: Fri, 15 Apr 2016 10:16:47 +0200 Subject: [PATCH] Adding MPLAB IDE Project with source code --- RC5_Remote_Control.mcp | 51 + RC5_Remote_Control.mcs | 185 ++++ RC5_Remote_Control.mcw | Bin 0 -> 929280 bytes main.dep | 6 + out/RC5_Remote_Control.as | 1744 ++++++++++++++++++++++++++++++++++ out/RC5_Remote_Control.cof | Bin 0 -> 16348 bytes out/RC5_Remote_Control.hex | 52 + out/RC5_Remote_Control.hxl | 38 + out/RC5_Remote_Control.lst | 1841 ++++++++++++++++++++++++++++++++++++ out/RC5_Remote_Control.map | 328 +++++++ out/RC5_Remote_Control.obj | Bin 0 -> 11190 bytes out/RC5_Remote_Control.rlf | Bin 0 -> 121572 bytes out/RC5_Remote_Control.sdb | 809 ++++++++++++++++ out/RC5_Remote_Control.sym | 324 +++++++ out/funclist | 10 + out/main.p1 | 1469 ++++++++++++++++++++++++++++ out/main.pre | 801 ++++++++++++++++ out/startup.as | 84 ++ out/startup.lst | 83 ++ out/startup.obj | Bin 0 -> 1601 bytes out/startup.rlf | Bin 0 -> 5104 bytes src/main.c | 308 +++++- 22 files changed, 8132 insertions(+), 1 deletion(-) create mode 100644 RC5_Remote_Control.mcp create mode 100644 RC5_Remote_Control.mcs create mode 100644 RC5_Remote_Control.mcw create mode 100644 main.dep create mode 100644 out/RC5_Remote_Control.as create mode 100644 out/RC5_Remote_Control.cof create mode 100644 out/RC5_Remote_Control.hex create mode 100644 out/RC5_Remote_Control.hxl create mode 100644 out/RC5_Remote_Control.lst create mode 100644 out/RC5_Remote_Control.map create mode 100644 out/RC5_Remote_Control.obj create mode 100644 out/RC5_Remote_Control.rlf create mode 100644 out/RC5_Remote_Control.sdb create mode 100644 out/RC5_Remote_Control.sym create mode 100644 out/funclist create mode 100644 out/main.p1 create mode 100644 out/main.pre create mode 100644 out/startup.as create mode 100644 out/startup.lst create mode 100644 out/startup.obj create mode 100644 out/startup.rlf diff --git a/RC5_Remote_Control.mcp b/RC5_Remote_Control.mcp new file mode 100644 index 0000000..5e4bc38 --- /dev/null +++ b/RC5_Remote_Control.mcp @@ -0,0 +1,51 @@ +[HEADER] +magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} +file_version=1.0 +device=PIC16F628A +[PATH_INFO] +BuildDirPolicy=BuildDirIsProjectDir +dir_src= +dir_bin=.\out +dir_tmp= +dir_sin= +dir_inc= +dir_lib= +dir_lkr= +[CAT_FILTERS] +filter_src=*.c;*.as;*.asm;*.usb +filter_inc=*.h; +filter_obj=*.obj;*.p1;*.hex +filter_lib=*.lib;*.lpp +filter_lkr=*.unknown +[CAT_SUBFOLDERS] +subfolder_src= +subfolder_inc= +subfolder_obj= +subfolder_lib= +subfolder_lkr= +[FILE_SUBFOLDERS] +file_000=. +[GENERATED_FILES] +file_000=no +[OTHER_FILES] +file_000=no +[FILE_INFO] +file_000=src\main.c +[SUITE_INFO] +suite_guid={507D93FD-16F1-4270-980F-0C7C0207E6D3} +suite_state= +[TOOL_SETTINGS] +TS{3FF1D5F2-E530-4850-9F70-F61D55BD1AC9}=C9=1 +TS{3FF1D5F2-E530-4850-9F70-F61D55BD1AC9}_alt=yes +TS{3FF1D5F2-E530-4850-9F70-F61D55BD1AC9}000= +[ACTIVE_FILE_SETTINGS] +TS{3FF1D5F2-E530-4850-9F70-F61D55BD1AC9}000_active=yes +[INSTRUMENTED_TRACE] +enable=0 +transport=0 +format=0 +[CUSTOM_BUILD] +Pre-Build= +Pre-BuildEnabled=1 +Post-Build= +Post-BuildEnabled=1 diff --git a/RC5_Remote_Control.mcs b/RC5_Remote_Control.mcs new file mode 100644 index 0000000..de6df11 --- /dev/null +++ b/RC5_Remote_Control.mcs @@ -0,0 +1,185 @@ +[Header] +MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7} +Version=1.0 +[File000] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\main.p1 +Folder=Intermediary +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File001] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.cof +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File002] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.hex +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File003] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.sym +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File004] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.map +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File005] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.hxl +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File006] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\startup.lst +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File007] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\startup.rlf +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File008] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\doprnt.p1 +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File009] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\doprnt.pre +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File010] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.obj +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File011] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.lst +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File012] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.rlf +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= +[File013] +Location=C:\Users\132033dt\Desktop\RC5_Remote_Control\out\RC5_Remote_Control.sdb +Folder=Output +DeviceName=PIC16F628A +LanguageToolSuiteID={507D93FD-16F1-4270-980F-0C7C0207E6D3} +LanguageToolID={0F51667C-2BAF-4EF8-A2C9-AB83788A793D} +LanguageToolLocation=C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe +PPAD=$(BINDIR)|.\out||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| +SOLK=|src\main.c|||||||| +SuiteArgsString= +ToolArgsString=C9=1 +TraceCmdString= +DebugOptions= diff --git a/RC5_Remote_Control.mcw b/RC5_Remote_Control.mcw new file mode 100644 index 0000000000000000000000000000000000000000..b3048b1341abb11062d7730d8cd9081c3dc2560c GIT binary patch literal 929280 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 z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5;&|JMb^{lg15Yr;Rw`fr%=kNfrCuoM5EZgS844_R&RC3 main@comcode(BANK0[1]), +;; +;; SendRc5@group PTR unsigned char size(1) Largest target is 1 +;; -> main@subcode(BANK0[1]), +;; +;; evaluate_tastatur@comcode PTR unsigned char size(1) Largest target is 1 +;; -> main@comcode(BANK0[1]), +;; + + +;; +;; Critical Paths under _main in COMMON +;; +;; _main->_SendRc5 +;; _SendNull->_AN +;; _SendNull->_AUS +;; _SendEins->_AUS +;; _SendEins->_AN +;; +;; Critical Paths under _ISR in COMMON +;; +;; None. +;; +;; Critical Paths under _main in BANK0 +;; +;; _main->_evaluate_tastatur +;; +;; Critical Paths under _ISR in BANK0 +;; +;; None. +;; +;; Critical Paths under _main in BANK1 +;; +;; None. +;; +;; Critical Paths under _ISR in BANK1 +;; +;; None. +;; +;; Critical Paths under _main in BANK2 +;; +;; None. +;; +;; Critical Paths under _ISR in BANK2 +;; +;; None. + +;; +;;Main: autosize = 0, tempsize = 1, incstack = 0, save=0 +;; + +;; +;;Call Graph Tables: +;; +;; --------------------------------------------------------------------------------- +;; (Depth) Function Calls Base Space Used Autos Params Refs +;; --------------------------------------------------------------------------------- +;; (0) _main 4 4 0 788 +;; 4 BANK0 4 4 0 +;; _evaluate_tastatur +;; _SendRc5 +;; --------------------------------------------------------------------------------- +;; (1) _SendRc5 4 3 1 402 +;; 6 COMMON 1 0 1 +;; 0 BANK0 3 3 0 +;; _SendEins +;; _SendNull +;; _delay_89ms +;; --------------------------------------------------------------------------------- +;; (2) _SendNull 0 0 0 71 +;; _AN +;; _AUS +;; --------------------------------------------------------------------------------- +;; (2) _SendEins 0 0 0 71 +;; _AUS +;; _AN +;; --------------------------------------------------------------------------------- +;; (1) _evaluate_tastatur 6 6 0 266 +;; 4 COMMON 2 2 0 +;; 0 BANK0 4 4 0 +;; --------------------------------------------------------------------------------- +;; (2) _delay_89ms 0 0 0 0 +;; --------------------------------------------------------------------------------- +;; (3) _AUS 2 2 0 34 +;; 4 COMMON 2 2 0 +;; --------------------------------------------------------------------------------- +;; (3) _AN 2 2 0 37 +;; 4 COMMON 2 2 0 +;; --------------------------------------------------------------------------------- +;; Estimated maximum stack depth 3 +;; --------------------------------------------------------------------------------- +;; (Depth) Function Calls Base Space Used Autos Params Refs +;; --------------------------------------------------------------------------------- +;; (4) _ISR 4 4 0 0 +;; 0 COMMON 4 4 0 +;; --------------------------------------------------------------------------------- +;; Estimated maximum stack depth 4 +;; --------------------------------------------------------------------------------- + +;; Call Graph Graphs: + +;; _main (ROOT) +;; _evaluate_tastatur +;; _SendRc5 +;; _SendEins +;; _AUS +;; _AN +;; _SendNull +;; _AN +;; _AUS +;; _delay_89ms +;; +;; _ISR (ROOT) +;; + +;; Address spaces: + +;;Name Size Autos Total Cost Usage +;;BITCOMMON E 0 0 0 0.0% +;;EEDATA 80 0 0 0 0.0% +;;NULL 0 0 0 0 0.0% +;;CODE 0 0 0 0 0.0% +;;COMMON E 7 A 1 71.4% +;;BITSFR0 0 0 0 1 0.0% +;;SFR0 0 0 0 1 0.0% +;;BITSFR1 0 0 0 2 0.0% +;;SFR1 0 0 0 2 0.0% +;;STACK 0 0 3 2 0.0% +;;BANK0 50 8 14 3 25.0% +;;BITSFR3 0 0 0 4 0.0% +;;SFR3 0 0 0 4 0.0% +;;ABS 0 0 1E 4 0.0% +;;BITBANK0 50 0 0 5 0.0% +;;BITSFR2 0 0 0 5 0.0% +;;SFR2 0 0 0 5 0.0% +;;BITBANK1 50 0 0 6 0.0% +;;BANK1 50 0 0 7 0.0% +;;BITBANK2 30 0 0 8 0.0% +;;BANK2 30 0 0 9 0.0% +;;DATA 0 0 21 10 0.0% + + global _main +psect maintext,global,class=CODE,delta=2 +global __pmaintext +__pmaintext: + +;; *************** function _main ***************** +;; Defined at: +;; line 260 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; None +;; Auto vars: Size Location Type +;; comcode 1 7[BANK0 ] unsigned char +;; subcode 1 6[BANK0 ] unsigned char +;; help 1 5[BANK0 ] unsigned char +;; Return value: Size Location Type +;; None void +;; Registers used: +;; wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack +;; Tracked objects: +;; On entry : 17F/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 0 0 0 0 +;; Locals: 0 3 0 0 +;; Temps: 0 1 0 0 +;; Totals: 0 4 0 0 +;;Total ram usage: 4 bytes +;; Hardware stack levels required when called: 4 +;; This function calls: +;; _evaluate_tastatur +;; _SendRc5 +;; This function is called by: +;; Startup code after reset +;; This function uses a non-reentrant model +;; +psect maintext + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 260 + global __size_of_main + __size_of_main equ __end_of_main-_main + +_main: + opt stack 4 +; Regs used in _main: [wreg-fsr0h+status,2+status,0+pclath+cstack] + line 261 + +l2416: +;main.c: 261: unsigned char comcode = 0; + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + clrf (main@comcode) + line 262 +;main.c: 262: char subcode = 0; + clrf (main@subcode) + line 264 + +l2418: +;main.c: 264: OPTION_REG = 0b00000010; + movlw (02h) + bsf status, 5 ;RP0=1, select bank1 + bcf status, 6 ;RP1=0, select bank1 + movwf (129)^080h ;volatile + line 265 +;main.c: 265: CMCON = 0x07; + movlw (07h) + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + movwf (31) ;volatile + line 266 + +l2420: +;main.c: 266: TRISA = 0x00; + bsf status, 5 ;RP0=1, select bank1 + bcf status, 6 ;RP1=0, select bank1 + clrf (133)^080h ;volatile + line 267 + +l2422: +;main.c: 267: TRISB = 0xF0; + movlw (0F0h) + movwf (134)^080h ;volatile + line 269 + +l2424: +;main.c: 269: GIE = 1; + bsf (95/8),(95)&7 + line 270 + +l2426: +;main.c: 270: CM0 = 1; + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + bsf (248/8),(248)&7 + line 271 + +l2428: +;main.c: 271: CM1 = 1; + bsf (249/8),(249)&7 + line 272 + +l2430: +;main.c: 272: CM2 = 1; + bsf (250/8),(250)&7 + line 273 +;main.c: 273: PORTA = 0; + clrf (5) ;volatile + line 274 + +l2432: +;main.c: 274: PORTB = 0xFF; + movlw (0FFh) + movwf (6) ;volatile + line 275 + +l2434: +;main.c: 275: subcode = 29; + movlw (01Dh) + movwf (??_main+0)+0 + movf (??_main+0)+0,w + movwf (main@subcode) + line 278 +;main.c: 278: INTCON = 0; + clrf (11) ;volatile + line 279 + +l2436: +;main.c: 279: RBIE = 1; + bsf (91/8),(91)&7 + line 280 + +l2438: +;main.c: 280: char help = 0; + clrf (main@help) + goto l439 + line 282 +;main.c: 282: while(1) + +l438: + line 284 +;main.c: 283: { +;main.c: 284: while(!RBIF) + goto l439 + +l440: + line 285 +# 285 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +sleep ;# +psect maintext + +l439: + line 284 + btfss (88/8),(88)&7 + goto u2801 + goto u2800 +u2801: + goto l440 +u2800: + goto l2440 + +l441: + line 286 + +l2440: +;main.c: 286: PORTB = 0xFF; + movlw (0FFh) + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + movwf (6) ;volatile + line 287 + +l2442: +;main.c: 287: evaluate_tastatur(&comcode); + movlw (main@comcode)&0ffh + fcall _evaluate_tastatur + line 288 + +l2444: +;main.c: 288: if(somethingpressed == 1) + movlw 01h + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + xorwf (_somethingpressed),w + iorwf (_somethingpressed+1),w + skipz + goto u2811 + goto u2810 +u2811: + goto l439 +u2810: + line 290 + +l2446: +;main.c: 289: { +;main.c: 290: SendRc5(&comcode, &subcode); + movlw (main@subcode)&0ffh + movwf (??_main+0)+0 + movf (??_main+0)+0,w + movwf (?_SendRc5) + movlw (main@comcode)&0ffh + fcall _SendRc5 + line 291 + +l2448: +;main.c: 291: somethingpressed = 0; + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + clrf (_somethingpressed) + clrf (_somethingpressed+1) + line 292 + +l2450: +;main.c: 292: help = 1; + clrf (main@help) + bsf status,0 + rlf (main@help),f + goto l439 + line 293 + +l442: + goto l439 + line 303 + +l443: + line 282 + goto l439 + +l444: + line 304 + +l445: + global start + ljmp start + opt stack 0 +GLOBAL __end_of_main + __end_of_main: +;; =============== function _main ends ============ + + signat _main,88 + global _SendRc5 +psect text297,local,class=CODE,delta=2 +global __ptext297 +__ptext297: + +;; *************** function _SendRc5 ***************** +;; Defined at: +;; line 229 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; command 1 wreg PTR unsigned char +;; -> main@comcode(1), +;; group 1 6[COMMON] PTR unsigned char +;; -> main@subcode(1), +;; Auto vars: Size Location Type +;; command 1 1[BANK0 ] PTR unsigned char +;; -> main@comcode(1), +;; i 1 2[BANK0 ] unsigned char +;; Return value: Size Location Type +;; None void +;; Registers used: +;; wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack +;; Tracked objects: +;; On entry : 0/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 1 0 0 0 +;; Locals: 0 2 0 0 +;; Temps: 0 1 0 0 +;; Totals: 1 3 0 0 +;;Total ram usage: 4 bytes +;; Hardware stack levels used: 1 +;; Hardware stack levels required when called: 3 +;; This function calls: +;; _SendEins +;; _SendNull +;; _delay_89ms +;; This function is called by: +;; _main +;; This function uses a non-reentrant model +;; +psect text297 + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 229 + global __size_of_SendRc5 + __size_of_SendRc5 equ __end_of_SendRc5-_SendRc5 + +_SendRc5: + opt stack 4 +; Regs used in _SendRc5: [wreg-fsr0h+status,2+status,0+pclath+cstack] +;SendRc5@command stored from wreg + line 231 + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + movwf (SendRc5@command) + +l2374: +;main.c: 230: unsigned char i; +;main.c: 231: SendEins(); + fcall _SendEins + line 232 +;main.c: 232: SendEins(); + fcall _SendEins + line 234 + +l2376: +;main.c: 234: toggle = toggle ^ 1 & 1; + movf (_toggle),w + xorlw 01h + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + movwf (??_SendRc5+0)+0 + movf (??_SendRc5+0)+0,w + movwf (_toggle) + line 235 + +l2378: +;main.c: 235: if(toggle == 1) + movf (_toggle),w + xorlw 01h + skipz + goto u2711 + goto u2710 +u2711: + goto l2382 +u2710: + line 236 + +l2380: +;main.c: 236: SendEins(); + fcall _SendEins + goto l2384 + line 237 + +l425: + line 238 + +l2382: +;main.c: 237: else +;main.c: 238: SendNull(); + fcall _SendNull + goto l2384 + +l426: + line 240 + +l2384: +;main.c: 240: for(i = 4; i != 255; i--) + movlw (04h) + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + movwf (??_SendRc5+0)+0 + movf (??_SendRc5+0)+0,w + movwf (SendRc5@i) + +l2386: + movf (SendRc5@i),w + xorlw 0FFh + skipz + goto u2721 + goto u2720 +u2721: + goto l2390 +u2720: + goto l2400 + +l2388: + goto l2400 + line 241 + +l427: + line 242 + +l2390: +;main.c: 241: { +;main.c: 242: if(((*group>>i))&1) + movf (SendRc5@group),w + movwf fsr0 + bcf status, 7 ;select IRP bank0 + movf indf,w + movwf (??_SendRc5+0)+0 + incf (SendRc5@i),w + goto u2734 +u2735: + clrc + rrf (??_SendRc5+0)+0,f +u2734: + addlw -1 + skipz + goto u2735 + btfss 0+(??_SendRc5+0)+0,(0)&7 + goto u2741 + goto u2740 +u2741: + goto l2394 +u2740: + line 243 + +l2392: +;main.c: 243: SendEins(); + fcall _SendEins + goto l2396 + line 244 + +l429: + line 245 + +l2394: +;main.c: 244: else +;main.c: 245: SendNull(); + fcall _SendNull + goto l2396 + +l430: + line 240 + +l2396: + movlw low(01h) + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + subwf (SendRc5@i),f + +l2398: + movf (SendRc5@i),w + xorlw 0FFh + skipz + goto u2751 + goto u2750 +u2751: + goto l2390 +u2750: + goto l2400 + +l428: + line 247 + +l2400: +;main.c: 246: } +;main.c: 247: for(i = 5; i != 255; i--) + movlw (05h) + movwf (??_SendRc5+0)+0 + movf (??_SendRc5+0)+0,w + movwf (SendRc5@i) + movf (SendRc5@i),w + xorlw 0FFh + skipz + goto u2761 + goto u2760 +u2761: + goto l2404 +u2760: + goto l2414 + +l2402: + goto l2414 + line 248 + +l431: + line 249 + +l2404: +;main.c: 248: { +;main.c: 249: if(((*command)>>i)&1) + movf (SendRc5@command),w + movwf fsr0 + bcf status, 7 ;select IRP bank0 + movf indf,w + movwf (??_SendRc5+0)+0 + incf (SendRc5@i),w + goto u2774 +u2775: + clrc + rrf (??_SendRc5+0)+0,f +u2774: + addlw -1 + skipz + goto u2775 + btfss 0+(??_SendRc5+0)+0,(0)&7 + goto u2781 + goto u2780 +u2781: + goto l2408 +u2780: + line 250 + +l2406: +;main.c: 250: SendEins(); + fcall _SendEins + goto l2410 + line 251 + +l433: + line 252 + +l2408: +;main.c: 251: else +;main.c: 252: SendNull(); + fcall _SendNull + goto l2410 + +l434: + line 247 + +l2410: + movlw low(01h) + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + subwf (SendRc5@i),f + +l2412: + movf (SendRc5@i),w + xorlw 0FFh + skipz + goto u2791 + goto u2790 +u2791: + goto l2404 +u2790: + goto l2414 + +l432: + line 254 + +l2414: +;main.c: 253: } +;main.c: 254: delay_89ms(); + fcall _delay_89ms + line 256 + +l435: + return + opt stack 0 +GLOBAL __end_of_SendRc5 + __end_of_SendRc5: +;; =============== function _SendRc5 ends ============ + + signat _SendRc5,8312 + global _SendNull +psect text298,local,class=CODE,delta=2 +global __ptext298 +__ptext298: + +;; *************** function _SendNull ***************** +;; Defined at: +;; line 195 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; None +;; Auto vars: Size Location Type +;; None +;; Return value: Size Location Type +;; None void +;; Registers used: +;; wreg, status,2, status,0, pclath, cstack +;; Tracked objects: +;; On entry : 0/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 0 0 0 0 +;; Locals: 0 0 0 0 +;; Temps: 0 0 0 0 +;; Totals: 0 0 0 0 +;;Total ram usage: 0 bytes +;; Hardware stack levels used: 1 +;; Hardware stack levels required when called: 2 +;; This function calls: +;; _AN +;; _AUS +;; This function is called by: +;; _SendRc5 +;; This function uses a non-reentrant model +;; +psect text298 + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 195 + global __size_of_SendNull + __size_of_SendNull equ __end_of_SendNull-_SendNull + +_SendNull: + opt stack 4 +; Regs used in _SendNull: [wreg+status,2+status,0+pclath+cstack] + line 196 + +l2372: +;main.c: 196: AN(); + fcall _AN + line 197 +;main.c: 197: AUS(); + fcall _AUS + line 198 + +l414: + return + opt stack 0 +GLOBAL __end_of_SendNull + __end_of_SendNull: +;; =============== function _SendNull ends ============ + + signat _SendNull,88 + global _SendEins +psect text299,local,class=CODE,delta=2 +global __ptext299 +__ptext299: + +;; *************** function _SendEins ***************** +;; Defined at: +;; line 190 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; None +;; Auto vars: Size Location Type +;; None +;; Return value: Size Location Type +;; None void +;; Registers used: +;; wreg, status,2, status,0, pclath, cstack +;; Tracked objects: +;; On entry : 0/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 0 0 0 0 +;; Locals: 0 0 0 0 +;; Temps: 0 0 0 0 +;; Totals: 0 0 0 0 +;;Total ram usage: 0 bytes +;; Hardware stack levels used: 1 +;; Hardware stack levels required when called: 2 +;; This function calls: +;; _AUS +;; _AN +;; This function is called by: +;; _SendRc5 +;; This function uses a non-reentrant model +;; +psect text299 + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 190 + global __size_of_SendEins + __size_of_SendEins equ __end_of_SendEins-_SendEins + +_SendEins: + opt stack 4 +; Regs used in _SendEins: [wreg+status,2+status,0+pclath+cstack] + line 191 + +l2370: +;main.c: 191: AUS(); + fcall _AUS + line 192 +;main.c: 192: AN(); + fcall _AN + line 193 + +l411: + return + opt stack 0 +GLOBAL __end_of_SendEins + __end_of_SendEins: +;; =============== function _SendEins ends ============ + + signat _SendEins,88 + global _evaluate_tastatur +psect text300,local,class=CODE,delta=2 +global __ptext300 +__ptext300: + +;; *************** function _evaluate_tastatur ***************** +;; Defined at: +;; line 202 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; comcode 1 wreg PTR unsigned char +;; -> main@comcode(1), +;; Auto vars: Size Location Type +;; comcode 1 0[BANK0 ] PTR unsigned char +;; -> main@comcode(1), +;; a 1 3[BANK0 ] unsigned char +;; i 1 2[BANK0 ] unsigned char +;; e 1 1[BANK0 ] unsigned char +;; Return value: Size Location Type +;; None void +;; Registers used: +;; wreg, fsr0l, fsr0h, status,2, status,0 +;; Tracked objects: +;; On entry : 0/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 0 0 0 0 +;; Locals: 0 4 0 0 +;; Temps: 2 0 0 0 +;; Totals: 2 4 0 0 +;;Total ram usage: 6 bytes +;; Hardware stack levels used: 1 +;; Hardware stack levels required when called: 1 +;; This function calls: +;; Nothing +;; This function is called by: +;; _main +;; This function uses a non-reentrant model +;; +psect text300 + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 202 + global __size_of_evaluate_tastatur + __size_of_evaluate_tastatur equ __end_of_evaluate_tastatur-_evaluate_tastatur + +_evaluate_tastatur: + opt stack 6 +; Regs used in _evaluate_tastatur: [wreg-fsr0h+status,2+status,0] +;evaluate_tastatur@comcode stored from wreg + line 206 + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + movwf (evaluate_tastatur@comcode) + +l2338: +;main.c: 203: unsigned char i; +;main.c: 204: unsigned char a; +;main.c: 205: unsigned char e; +;main.c: 206: e = 0; + clrf (evaluate_tastatur@e) + line 208 + +l2340: +;main.c: 208: for(i=3; i != 255; i--) + movlw (03h) + movwf (??_evaluate_tastatur+0)+0 + movf (??_evaluate_tastatur+0)+0,w + movwf (evaluate_tastatur@i) + movf (evaluate_tastatur@i),w + xorlw 0FFh + skipz + goto u2641 + goto u2640 +u2641: + goto l2344 +u2640: + goto l422 + +l2342: + goto l422 + line 209 + +l417: + line 210 + +l2344: +;main.c: 209: { +;main.c: 210: PORTB = 0xFF; + movlw (0FFh) + movwf (6) ;volatile + line 211 + +l2346: +;main.c: 211: PORTB &= ~(1<>a) & 1) == 0) + movf (6),w ;volatile + movwf (??_evaluate_tastatur+0)+0 + incf (evaluate_tastatur@a),w + goto u2674 +u2675: + clrc + rrf (??_evaluate_tastatur+0)+0,f +u2674: + addlw -1 + skipz + goto u2675 + btfsc 0+(??_evaluate_tastatur+0)+0,(0)&7 + goto u2681 + goto u2680 +u2681: + goto l2362 +u2680: + line 217 + +l2356: +;main.c: 216: { +;main.c: 217: *comcode = e; + movf (evaluate_tastatur@e),w + movwf (??_evaluate_tastatur+0)+0 + movf (evaluate_tastatur@comcode),w + movwf fsr0 + movf (??_evaluate_tastatur+0)+0,w + bcf status, 7 ;select IRP bank0 + movwf indf + line 218 + +l2358: +;main.c: 218: somethingpressed = 1; + movlw low(01h) + movwf (_somethingpressed) + movlw high(01h) + movwf ((_somethingpressed))+1 + goto l422 + line 219 + +l2360: +;main.c: 219: return; + goto l422 + line 220 + +l421: + line 212 + +l2362: + movlw (01h) + movwf (??_evaluate_tastatur+0)+0 + movf (??_evaluate_tastatur+0)+0,w + addwf (evaluate_tastatur@a),f + +l2364: + movlw (08h) + subwf (evaluate_tastatur@a),w + skipc + goto u2691 + goto u2690 +u2691: + goto l2354 +u2690: + goto l2366 + +l420: + line 208 + +l2366: + movlw low(01h) + subwf (evaluate_tastatur@i),f + +l2368: + movf (evaluate_tastatur@i),w + xorlw 0FFh + skipz + goto u2701 + goto u2700 +u2701: + goto l2344 +u2700: + goto l422 + +l418: + line 226 + +l422: + return + opt stack 0 +GLOBAL __end_of_evaluate_tastatur + __end_of_evaluate_tastatur: +;; =============== function _evaluate_tastatur ends ============ + + signat _evaluate_tastatur,4216 + global _delay_89ms +psect text301,local,class=CODE,delta=2 +global __ptext301 +__ptext301: + +;; *************** function _delay_89ms ***************** +;; Defined at: +;; line 165 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; None +;; Auto vars: Size Location Type +;; None +;; Return value: Size Location Type +;; None void +;; Registers used: +;; None +;; Tracked objects: +;; On entry : 0/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 0 0 0 0 +;; Locals: 0 0 0 0 +;; Temps: 0 0 0 0 +;; Totals: 0 0 0 0 +;;Total ram usage: 0 bytes +;; Hardware stack levels used: 1 +;; Hardware stack levels required when called: 1 +;; This function calls: +;; Nothing +;; This function is called by: +;; _SendRc5 +;; This function uses a non-reentrant model +;; +psect text301 + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 165 + global __size_of_delay_89ms + __size_of_delay_89ms equ __end_of_delay_89ms-_delay_89ms + +_delay_89ms: + opt stack 5 +; Regs used in _delay_89ms: [] + line 167 + +l2336: +# 167 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + pause89ms ;# + line 168 +# 168 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + clrf _CountA ;# + line 169 +# 169 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + clrf _CountB ;# + line 170 +# 170 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + clrf _CountC ;# + line 171 +# 171 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + movlw 0x74 ;# + line 172 +# 172 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + movwf _CountB ;# + line 173 +# 173 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + movlw 0x02 ;# + line 174 +# 174 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + movwf _CountA ;# + line 175 +# 175 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + movlw 0x01 ;# + line 176 +# 176 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + movwf _CountC ;# + line 178 +# 178 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + Loop ;Wiederholung der Zeitverzögerung ;# + line 179 +# 179 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + decfsz _CountA ;# + line 180 +# 180 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + goto Loop ;# + line 181 +# 181 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + decfsz _CountB ;# + line 182 +# 182 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + goto Loop ;# + line 183 +# 183 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + decfsz _CountC ;# + line 184 +# 184 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + goto Loop ;# +psect text301 + line 187 +;main.c: 186: return; + +l408: + return + opt stack 0 +GLOBAL __end_of_delay_89ms + __end_of_delay_89ms: +;; =============== function _delay_89ms ends ============ + + signat _delay_89ms,88 + global _AUS +psect text302,local,class=CODE,delta=2 +global __ptext302 +__ptext302: + +;; *************** function _AUS ***************** +;; Defined at: +;; line 133 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; None +;; Auto vars: Size Location Type +;; i 1 5[COMMON] unsigned char +;; Return value: Size Location Type +;; None void +;; Registers used: +;; wreg, status,2, status,0 +;; Tracked objects: +;; On entry : 0/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 0 0 0 0 +;; Locals: 1 0 0 0 +;; Temps: 1 0 0 0 +;; Totals: 2 0 0 0 +;;Total ram usage: 2 bytes +;; Hardware stack levels used: 1 +;; Hardware stack levels required when called: 1 +;; This function calls: +;; Nothing +;; This function is called by: +;; _SendEins +;; _SendNull +;; This function uses a non-reentrant model +;; +psect text302 + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 133 + global __size_of_AUS + __size_of_AUS equ __end_of_AUS-_AUS + +_AUS: + opt stack 4 +; Regs used in _AUS: [wreg+status,2+status,0] + line 134 + +l2332: +;main.c: 134: unsigned char i = 0; + clrf (AUS@i) + line 135 +;main.c: 135: do + +l400: + line 137 +;main.c: 136: { +;main.c: 137: RA0=0; + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + bcf (40/8),(40)&7 + line 139 + +l2334: +;main.c: 138: } +;main.c: 139: while(i++<59); + movlw (01h) + movwf (??_AUS+0)+0 + movf (??_AUS+0)+0,w + addwf (AUS@i),f + movlw (03Ch) + subwf ((AUS@i)),w + skipc + goto u2631 + goto u2630 +u2631: + goto l400 +u2630: + goto l402 + +l401: + line 154 + +l402: + return + opt stack 0 +GLOBAL __end_of_AUS + __end_of_AUS: +;; =============== function _AUS ends ============ + + signat _AUS,88 + global _AN +psect text303,local,class=CODE,delta=2 +global __ptext303 +__ptext303: + +;; *************** function _AN ***************** +;; Defined at: +;; line 60 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; None +;; Auto vars: Size Location Type +;; i 1 5[COMMON] unsigned char +;; Return value: Size Location Type +;; None void +;; Registers used: +;; wreg, status,2, status,0 +;; Tracked objects: +;; On entry : 0/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 0 0 0 0 +;; Locals: 1 0 0 0 +;; Temps: 1 0 0 0 +;; Totals: 2 0 0 0 +;;Total ram usage: 2 bytes +;; Hardware stack levels used: 1 +;; Hardware stack levels required when called: 1 +;; This function calls: +;; Nothing +;; This function is called by: +;; _SendEins +;; _SendNull +;; This function uses a non-reentrant model +;; +psect text303 + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 60 + global __size_of_AN + __size_of_AN equ __end_of_AN-_AN + +_AN: + opt stack 4 +; Regs used in _AN: [wreg+status,2+status,0] + line 61 + +l2326: +;main.c: 61: unsigned char i = 0; + clrf (AN@i) + line 62 +;main.c: 62: do + +l395: + line 64 +;main.c: 63: { +;main.c: 64: RA0 = 1; + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + bsf (40/8),(40)&7 + line 65 +;main.c: 65: RA0 = 1; + bsf (40/8),(40)&7 + line 66 +;main.c: 66: RA0 = 1; + bsf (40/8),(40)&7 + line 67 +;main.c: 67: RA0 = 1; + bsf (40/8),(40)&7 + line 69 +;main.c: 69: RA0 = 0; + bcf (40/8),(40)&7 + line 70 +;main.c: 70: RA0 = 0; + bcf (40/8),(40)&7 + line 71 +;main.c: 71: RA0 = 0; + bcf (40/8),(40)&7 + line 72 +;main.c: 72: RA0 = 0; + bcf (40/8),(40)&7 + line 73 +;main.c: 73: RA0 = 0; + bcf (40/8),(40)&7 + line 74 +;main.c: 74: RA0 = 0; + bcf (40/8),(40)&7 + line 75 +;main.c: 75: RA0 = 0; + bcf (40/8),(40)&7 + line 76 +;main.c: 76: RA0 = 0; + bcf (40/8),(40)&7 + line 77 +;main.c: 77: RA0 = 0; + bcf (40/8),(40)&7 + line 78 +;main.c: 78: RA0 = 0; + bcf (40/8),(40)&7 + line 79 +;main.c: 79: RA0 = 0; + bcf (40/8),(40)&7 + line 80 + +l2328: +;main.c: 80: i++; + movlw (01h) + movwf (??_AN+0)+0 + movf (??_AN+0)+0,w + addwf (AN@i),f + line 82 + +l2330: +;main.c: 81: } +;main.c: 82: while(i<32); + movlw (020h) + subwf (AN@i),w + skipc + goto u2621 + goto u2620 +u2621: + goto l395 +u2620: + +l396: + line 84 +;main.c: 84: RA0 = 0; + bcf (40/8),(40)&7 + line 130 + +l397: + return + opt stack 0 +GLOBAL __end_of_AN + __end_of_AN: +;; =============== function _AN ends ============ + + signat _AN,88 + global _ISR +psect text304,local,class=CODE,delta=2 +global __ptext304 +__ptext304: + +;; *************** function _ISR ***************** +;; Defined at: +;; line 160 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +;; Parameters: Size Location Type +;; None +;; Auto vars: Size Location Type +;; None +;; Return value: Size Location Type +;; None void +;; Registers used: +;; None +;; Tracked objects: +;; On entry : 0/0 +;; On exit : 0/0 +;; Unchanged: 0/0 +;; Data sizes: COMMON BANK0 BANK1 BANK2 +;; Params: 0 0 0 0 +;; Locals: 0 0 0 0 +;; Temps: 4 0 0 0 +;; Totals: 4 0 0 0 +;;Total ram usage: 4 bytes +;; Hardware stack levels used: 1 +;; This function calls: +;; Nothing +;; This function is called by: +;; Interrupt level 1 +;; This function uses a non-reentrant model +;; +psect text304 + file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + line 160 + global __size_of_ISR + __size_of_ISR equ __end_of_ISR-_ISR + +_ISR: + opt stack 4 +; Regs used in _ISR: [] +psect intentry,class=CODE,delta=2 +global __pintentry +__pintentry: +global interrupt_function +interrupt_function: + global saved_w + saved_w set btemp+0 + movwf saved_w + swapf status,w + movwf (??_ISR+0) + movf fsr0,w + movwf (??_ISR+1) + movf pclath,w + movwf (??_ISR+2) + bcf status, 5 ;RP0=0, select bank0 + bcf status, 6 ;RP1=0, select bank0 + movf btemp+1,w + movwf (??_ISR+3) + ljmp _ISR +psect text304 + line 162 + +i1l405: + movf (??_ISR+3),w + movwf btemp+1 + movf (??_ISR+2),w + movwf pclath + movf (??_ISR+1),w + movwf fsr0 + swapf (??_ISR+0)^0FFFFFF80h,w + movwf status + swapf saved_w,f + swapf saved_w,w + retfie + opt stack 0 +GLOBAL __end_of_ISR + __end_of_ISR: +;; =============== function _ISR ends ============ + + signat _ISR,88 +psect text305,local,class=CODE,delta=2 +global __ptext305 +__ptext305: + global btemp + btemp set 07Eh + + DABS 1,126,2 ;btemp + global wtemp0 + wtemp0 set btemp + end diff --git a/out/RC5_Remote_Control.cof b/out/RC5_Remote_Control.cof new file mode 100644 index 0000000000000000000000000000000000000000..477fc3f6d1390d0dc6e689244340f0963502154c GIT binary patch literal 16348 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 main@comcode(BANK0[1]), + 279 ;; + 280 ;; SendRc5@group PTR unsigned char size(1) Largest target is 1 + 281 ;; -> main@subcode(BANK0[1]), + 282 ;; + 283 ;; evaluate_tastatur@comcode PTR unsigned char size(1) Largest target is 1 + 284 ;; -> main@comcode(BANK0[1]), + 285 ;; + 286 + 287 + 288 ;; + 289 ;; Critical Paths under _main in COMMON + 290 ;; + 291 ;; _main->_SendRc5 + 292 ;; _SendNull->_AN + 293 ;; _SendNull->_AUS + 294 ;; _SendEins->_AUS + 295 ;; _SendEins->_AN + 296 ;; + 297 ;; Critical Paths under _ISR in COMMON + 298 ;; + 299 ;; None. + 300 ;; + 301 ;; Critical Paths under _main in BANK0 + 302 ;; + 303 ;; _main->_evaluate_tastatur + 304 ;; + 305 ;; Critical Paths under _ISR in BANK0 + 306 ;; + 307 ;; None. + 308 ;; + 309 ;; Critical Paths under _main in BANK1 + 310 ;; + 311 ;; None. + 312 ;; + 313 ;; Critical Paths under _ISR in BANK1 + 314 ;; + 315 ;; None. + 316 ;; + 317 ;; Critical Paths under _main in BANK2 + 318 ;; + 319 ;; None. + 320 ;; + 321 ;; Critical Paths under _ISR in BANK2 + 322 ;; + 323 ;; None. + 324 + 325 ;; + 326 ;;Main: autosize = 0, tempsize = 1, incstack = 0, save=0 + 327 ;; + 328 + 329 ;; + 330 ;;Call Graph Tables: + 331 ;; + 332 ;; --------------------------------------------------------------------------------- + 333 ;; (Depth) Function Calls Base Space Used Autos Params Refs + 334 ;; --------------------------------------------------------------------------------- + 335 ;; (0) _main 4 4 0 788 + 336 ;; 4 BANK0 4 4 0 + 337 ;; _evaluate_tastatur + 338 ;; _SendRc5 + 339 ;; --------------------------------------------------------------------------------- + 340 ;; (1) _SendRc5 4 3 1 402 + 341 ;; 6 COMMON 1 0 1 + 342 ;; 0 BANK0 3 3 0 + 343 ;; _SendEins + 344 ;; _SendNull + 345 ;; _delay_89ms + 346 ;; --------------------------------------------------------------------------------- + 347 ;; (2) _SendNull 0 0 0 71 + 348 ;; _AN + 349 ;; _AUS + 350 ;; --------------------------------------------------------------------------------- + 351 ;; (2) _SendEins 0 0 0 71 + 352 ;; _AUS + 353 ;; _AN + 354 ;; --------------------------------------------------------------------------------- + 355 ;; (1) _evaluate_tastatur 6 6 0 266 + 356 ;; 4 COMMON 2 2 0 + 357 ;; 0 BANK0 4 4 0 + 358 ;; --------------------------------------------------------------------------------- + 359 ;; (2) _delay_89ms 0 0 0 0 + 360 ;; --------------------------------------------------------------------------------- + 361 ;; (3) _AUS 2 2 0 34 + 362 ;; 4 COMMON 2 2 0 + 363 ;; --------------------------------------------------------------------------------- + 364 ;; (3) _AN 2 2 0 37 + 365 ;; 4 COMMON 2 2 0 + 366 ;; --------------------------------------------------------------------------------- + 367 ;; Estimated maximum stack depth 3 + 368 ;; --------------------------------------------------------------------------------- + 369 ;; (Depth) Function Calls Base Space Used Autos Params Refs + 370 ;; --------------------------------------------------------------------------------- + 371 ;; (4) _ISR 4 4 0 0 + 372 ;; 0 COMMON 4 4 0 + 373 ;; --------------------------------------------------------------------------------- + 374 ;; Estimated maximum stack depth 4 + 375 ;; --------------------------------------------------------------------------------- + 376 + 377 ;; Call Graph Graphs: + 378 + 379 ;; _main (ROOT) + 380 ;; _evaluate_tastatur + 381 ;; _SendRc5 + 382 ;; _SendEins + 383 ;; _AUS + 384 ;; _AN + 385 ;; _SendNull + 386 ;; _AN + 387 ;; _AUS + 388 ;; _delay_89ms + 389 ;; + 390 ;; _ISR (ROOT) + 391 ;; + 392 + 393 ;; Address spaces: + 394 + 395 ;;Name Size Autos Total Cost Usage + 396 ;;BITCOMMON E 0 0 0 0.0% + 397 ;;EEDATA 80 0 0 0 0.0% + 398 ;;NULL 0 0 0 0 0.0% + 399 ;;CODE 0 0 0 0 0.0% + 400 ;;COMMON E 7 A 1 71.4% + 401 ;;BITSFR0 0 0 0 1 0.0% + 402 ;;SFR0 0 0 0 1 0.0% + 403 ;;BITSFR1 0 0 0 2 0.0% + 404 ;;SFR1 0 0 0 2 0.0% + 405 ;;STACK 0 0 3 2 0.0% + 406 ;;BANK0 50 8 14 3 25.0% + 407 ;;BITSFR3 0 0 0 4 0.0% + 408 ;;SFR3 0 0 0 4 0.0% + 409 ;;ABS 0 0 1E 4 0.0% + 410 ;;BITBANK0 50 0 0 5 0.0% + 411 ;;BITSFR2 0 0 0 5 0.0% + 412 ;;SFR2 0 0 0 5 0.0% + 413 ;;BITBANK1 50 0 0 6 0.0% + 414 ;;BANK1 50 0 0 7 0.0% + 415 ;;BITBANK2 30 0 0 8 0.0% + 416 ;;BANK2 30 0 0 9 0.0% + 417 ;;DATA 0 0 21 10 0.0% + 418 + 419 global _main + 420 psect maintext,global,class=CODE,delta=2 + 421 global __pmaintext + 422 00E0 __pmaintext: + 423 + 424 ;; *************** function _main ***************** + 425 ;; Defined at: + 426 ;; line 260 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 427 ;; Parameters: Size Location Type + 428 ;; None + 429 ;; Auto vars: Size Location Type + 430 ;; comcode 1 7[BANK0 ] unsigned char + 431 ;; subcode 1 6[BANK0 ] unsigned char + 432 ;; help 1 5[BANK0 ] unsigned char + 433 ;; Return value: Size Location Type + 434 ;; None void + 435 ;; Registers used: + 436 ;; wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack + 437 ;; Tracked objects: + 438 ;; On entry : 17F/0 + 439 ;; On exit : 0/0 + 440 ;; Unchanged: 0/0 + 441 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 442 ;; Params: 0 0 0 0 + 443 ;; Locals: 0 3 0 0 + 444 ;; Temps: 0 1 0 0 + 445 ;; Totals: 0 4 0 0 + 446 ;;Total ram usage: 4 bytes + 447 ;; Hardware stack levels required when called: 4 + 448 ;; This function calls: + 449 ;; _evaluate_tastatur + 450 ;; _SendRc5 + 451 ;; This function is called by: + 452 ;; Startup code after reset + 453 ;; This function uses a non-reentrant model + 454 ;; + 455 psect maintext + 456 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 457 line 260 + 458 global __size_of_main + 459 0049 __size_of_main equ __end_of_main-_main + 460 + 461 00E0 _main: + 462 opt stack 4 + 463 ; Regs used in _main: [wreg-fsr0h+status,2+status,0+pclath+cstack] + 464 line 261 + 465 + 466 00E0 l2416: + 467 ;main.c: 261: unsigned char comcode = 0; + 468 00E0 1283 bcf status, 5 ;RP0=0, select bank0 + 469 00E1 1303 bcf status, 6 ;RP1=0, select bank0 + 470 00E2 01B3 clrf (main@comcode) + 471 line 262 + 472 ;main.c: 262: char subcode = 0; + 473 00E3 01B2 clrf (main@subcode) + 474 line 264 + 475 + 476 00E4 l2418: + 477 ;main.c: 264: OPTION_REG = 0b00000010; + 478 00E4 3002 movlw (02h) + 479 00E5 1683 bsf status, 5 ;RP0=1, select bank1 + 480 00E6 1303 bcf status, 6 ;RP1=0, select bank1 + 481 00E7 0081 movwf (129)^080h ;volatile + 482 line 265 + 483 ;main.c: 265: CMCON = 0x07; + 484 00E8 3007 movlw (07h) + 485 00E9 1283 bcf status, 5 ;RP0=0, select bank0 + 486 00EA 1303 bcf status, 6 ;RP1=0, select bank0 + 487 00EB 009F movwf (31) ;volatile + 488 line 266 + 489 + 490 00EC l2420: + 491 ;main.c: 266: TRISA = 0x00; + 492 00EC 1683 bsf status, 5 ;RP0=1, select bank1 + 493 00ED 1303 bcf status, 6 ;RP1=0, select bank1 + 494 00EE 0185 clrf (133)^080h ;volatile + 495 line 267 + 496 + 497 00EF l2422: + 498 ;main.c: 267: TRISB = 0xF0; + 499 00EF 30F0 movlw (0F0h) + 500 00F0 0086 movwf (134)^080h ;volatile + 501 line 269 + 502 + 503 00F1 l2424: + 504 ;main.c: 269: GIE = 1; + 505 00F1 178B bsf (95/8),(95)&7 + 506 line 270 + 507 + 508 00F2 l2426: + 509 ;main.c: 270: CM0 = 1; + 510 00F2 1283 bcf status, 5 ;RP0=0, select bank0 + 511 00F3 1303 bcf status, 6 ;RP1=0, select bank0 + 512 00F4 141F bsf (248/8),(248)&7 + 513 line 271 + 514 + 515 00F5 l2428: + 516 ;main.c: 271: CM1 = 1; + 517 00F5 149F bsf (249/8),(249)&7 + 518 line 272 + 519 + 520 00F6 l2430: + 521 ;main.c: 272: CM2 = 1; + 522 00F6 151F bsf (250/8),(250)&7 + 523 line 273 + 524 ;main.c: 273: PORTA = 0; + 525 00F7 0185 clrf (5) ;volatile + 526 line 274 + 527 + 528 00F8 l2432: + 529 ;main.c: 274: PORTB = 0xFF; + 530 00F8 30FF movlw (0FFh) + 531 00F9 0086 movwf (6) ;volatile + 532 line 275 + 533 + 534 00FA l2434: + 535 ;main.c: 275: subcode = 29; + 536 00FA 301D movlw (01Dh) + 537 00FB 00B0 movwf (??_main+0)+0 + 538 00FC 0830 movf (??_main+0)+0,w + 539 00FD 00B2 movwf (main@subcode) + 540 line 278 + 541 ;main.c: 278: INTCON = 0; + 542 00FE 018B clrf (11) ;volatile + 543 line 279 + 544 + 545 00FF l2436: + 546 ;main.c: 279: RBIE = 1; + 547 00FF 158B bsf (91/8),(91)&7 + 548 line 280 + 549 + 550 0100 l2438: + 551 ;main.c: 280: char help = 0; + 552 0100 01B1 clrf (main@help) + 553 0101 2904 goto l439 + 554 line 282 + 555 ;main.c: 282: while(1) + 556 + 557 0102 l438: + 558 line 284 + 559 ;main.c: 283: { + 560 ;main.c: 284: while(!RBIF) + 561 0102 2904 goto l439 + 562 + 563 0103 l440: + 564 line 285 + 565 # 285 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 566 0103 0063 sleep ;# + 567 psect maintext + 568 + 569 0104 l439: + 570 line 284 + 571 0104 1C0B btfss (88/8),(88)&7 + 572 0105 2907 goto u2801 + 573 0106 2908 goto u2800 + 574 0107 u2801: + 575 0107 2903 goto l440 + 576 0108 u2800: + 577 0108 2909 goto l2440 + 578 + 579 0109 l441: + 580 line 286 + 581 + 582 0109 l2440: + 583 ;main.c: 286: PORTB = 0xFF; + 584 0109 30FF movlw (0FFh) + 585 010A 1283 bcf status, 5 ;RP0=0, select bank0 + 586 010B 1303 bcf status, 6 ;RP1=0, select bank0 + 587 010C 0086 movwf (6) ;volatile + 588 line 287 + 589 + 590 010D l2442: + 591 ;main.c: 287: evaluate_tastatur(&comcode); + 592 010D 3033 movlw (main@comcode)&0ffh + 593 010E 2081 fcall _evaluate_tastatur + 594 line 288 + 595 + 596 010F l2444: + 597 ;main.c: 288: if(somethingpressed == 1) + 598 010F 3001 movlw 01h + 599 0110 1283 bcf status, 5 ;RP0=0, select bank0 + 600 0111 1303 bcf status, 6 ;RP1=0, select bank0 + 601 0112 062A xorwf (_somethingpressed),w + 602 0113 042B iorwf (_somethingpressed+1),w + 603 0114 1D03 skipz + 604 0115 2917 goto u2811 + 605 0116 2918 goto u2810 + 606 0117 u2811: + 607 0117 2904 goto l439 + 608 0118 u2810: + 609 line 290 + 610 + 611 0118 l2446: + 612 ;main.c: 289: { + 613 ;main.c: 290: SendRc5(&comcode, &subcode); + 614 0118 3032 movlw (main@subcode)&0ffh + 615 0119 00B0 movwf (??_main+0)+0 + 616 011A 0830 movf (??_main+0)+0,w + 617 011B 00F6 movwf (?_SendRc5) + 618 011C 3033 movlw (main@comcode)&0ffh + 619 011D 2011 fcall _SendRc5 + 620 line 291 + 621 + 622 011E l2448: + 623 ;main.c: 291: somethingpressed = 0; + 624 011E 1283 bcf status, 5 ;RP0=0, select bank0 + 625 011F 1303 bcf status, 6 ;RP1=0, select bank0 + 626 0120 01AA clrf (_somethingpressed) + 627 0121 01AB clrf (_somethingpressed+1) + 628 line 292 + 629 + 630 0122 l2450: + 631 ;main.c: 292: help = 1; + 632 0122 01B1 clrf (main@help) + 633 0123 1403 bsf status,0 + 634 0124 0DB1 rlf (main@help),f + 635 0125 2904 goto l439 + 636 line 293 + 637 + 638 0126 l442: + 639 0126 2904 goto l439 + 640 line 303 + 641 + 642 0127 l443: + 643 line 282 + 644 0127 2904 goto l439 + 645 + 646 0128 l444: + 647 line 304 + 648 + 649 0128 l445: + 650 global start + 651 0128 2810 ljmp start + 652 opt stack 0 + 653 GLOBAL __end_of_main + 654 0129 __end_of_main: + 655 ;; =============== function _main ends ============ + 656 + 657 signat _main,88 + 658 global _SendRc5 + 659 psect text297,local,class=CODE,delta=2 + 660 global __ptext297 + 661 0011 __ptext297: + 662 + 663 ;; *************** function _SendRc5 ***************** + 664 ;; Defined at: + 665 ;; line 229 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 666 ;; Parameters: Size Location Type + 667 ;; command 1 wreg PTR unsigned char + 668 ;; -> main@comcode(1), + 669 ;; group 1 6[COMMON] PTR unsigned char + 670 ;; -> main@subcode(1), + 671 ;; Auto vars: Size Location Type + 672 ;; command 1 1[BANK0 ] PTR unsigned char + 673 ;; -> main@comcode(1), + 674 ;; i 1 2[BANK0 ] unsigned char + 675 ;; Return value: Size Location Type + 676 ;; None void + 677 ;; Registers used: + 678 ;; wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack + 679 ;; Tracked objects: + 680 ;; On entry : 0/0 + 681 ;; On exit : 0/0 + 682 ;; Unchanged: 0/0 + 683 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 684 ;; Params: 1 0 0 0 + 685 ;; Locals: 0 2 0 0 + 686 ;; Temps: 0 1 0 0 + 687 ;; Totals: 1 3 0 0 + 688 ;;Total ram usage: 4 bytes + 689 ;; Hardware stack levels used: 1 + 690 ;; Hardware stack levels required when called: 3 + 691 ;; This function calls: + 692 ;; _SendEins + 693 ;; _SendNull + 694 ;; _delay_89ms + 695 ;; This function is called by: + 696 ;; _main + 697 ;; This function uses a non-reentrant model + 698 ;; + 699 psect text297 + 700 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 701 line 229 + 702 global __size_of_SendRc5 + 703 0070 __size_of_SendRc5 equ __end_of_SendRc5-_SendRc5 + 704 + 705 0011 _SendRc5: + 706 opt stack 4 + 707 ; Regs used in _SendRc5: [wreg-fsr0h+status,2+status,0+pclath+cstack] + 708 ;SendRc5@command stored from wreg + 709 line 231 + 710 0011 1283 bcf status, 5 ;RP0=0, select bank0 + 711 0012 1303 bcf status, 6 ;RP1=0, select bank0 + 712 0013 00AD movwf (SendRc5@command) + 713 + 714 0014 l2374: + 715 ;main.c: 230: unsigned char i; + 716 ;main.c: 231: SendEins(); + 717 0014 2187 fcall _SendEins + 718 line 232 + 719 ;main.c: 232: SendEins(); + 720 0015 2187 fcall _SendEins + 721 line 234 + 722 + 723 0016 l2376: + 724 ;main.c: 234: toggle = toggle ^ 1 & 1; + 725 0016 0879 movf (_toggle),w + 726 0017 3A01 xorlw 01h + 727 0018 1283 bcf status, 5 ;RP0=0, select bank0 + 728 0019 1303 bcf status, 6 ;RP1=0, select bank0 + 729 001A 00AC movwf (??_SendRc5+0)+0 + 730 001B 082C movf (??_SendRc5+0)+0,w + 731 001C 00F9 movwf (_toggle) + 732 line 235 + 733 + 734 001D l2378: + 735 ;main.c: 235: if(toggle == 1) + 736 001D 0879 movf (_toggle),w + 737 001E 3A01 xorlw 01h + 738 001F 1D03 skipz + 739 0020 2822 goto u2711 + 740 0021 2823 goto u2710 + 741 0022 u2711: + 742 0022 2825 goto l2382 + 743 0023 u2710: + 744 line 236 + 745 + 746 0023 l2380: + 747 ;main.c: 236: SendEins(); + 748 0023 2187 fcall _SendEins + 749 0024 2827 goto l2384 + 750 line 237 + 751 + 752 0025 l425: + 753 line 238 + 754 + 755 0025 l2382: + 756 ;main.c: 237: else + 757 ;main.c: 238: SendNull(); + 758 0025 2184 fcall _SendNull + 759 0026 2827 goto l2384 + 760 + 761 0027 l426: + 762 line 240 + 763 + 764 0027 l2384: + 765 ;main.c: 240: for(i = 4; i != 255; i--) + 766 0027 3004 movlw (04h) + 767 0028 1283 bcf status, 5 ;RP0=0, select bank0 + 768 0029 1303 bcf status, 6 ;RP1=0, select bank0 + 769 002A 00AC movwf (??_SendRc5+0)+0 + 770 002B 082C movf (??_SendRc5+0)+0,w + 771 002C 00AE movwf (SendRc5@i) + 772 + 773 002D l2386: + 774 002D 082E movf (SendRc5@i),w + 775 002E 3AFF xorlw 0FFh + 776 002F 1D03 skipz + 777 0030 2832 goto u2721 + 778 0031 2833 goto u2720 + 779 0032 u2721: + 780 0032 2835 goto l2390 + 781 0033 u2720: + 782 0033 2854 goto l2400 + 783 + 784 0034 l2388: + 785 0034 2854 goto l2400 + 786 line 241 + 787 + 788 0035 l427: + 789 line 242 + 790 + 791 0035 l2390: + 792 ;main.c: 241: { + 793 ;main.c: 242: if(((*group>>i))&1) + 794 0035 0876 movf (SendRc5@group),w + 795 0036 0084 movwf fsr0 + 796 0037 1383 bcf status, 7 ;select IRP bank0 + 797 0038 0800 movf indf,w + 798 0039 00AC movwf (??_SendRc5+0)+0 + 799 003A 0A2E incf (SendRc5@i),w + 800 003B 283E goto u2734 + 801 003C u2735: + 802 003C 1003 clrc + 803 003D 0CAC rrf (??_SendRc5+0)+0,f + 804 003E u2734: + 805 003E 3EFF addlw -1 + 806 003F 1D03 skipz + 807 0040 283C goto u2735 + 808 0041 1C2C btfss 0+(??_SendRc5+0)+0,(0)&7 + 809 0042 2844 goto u2741 + 810 0043 2845 goto u2740 + 811 0044 u2741: + 812 0044 2847 goto l2394 + 813 0045 u2740: + 814 line 243 + 815 + 816 0045 l2392: + 817 ;main.c: 243: SendEins(); + 818 0045 2187 fcall _SendEins + 819 0046 2849 goto l2396 + 820 line 244 + 821 + 822 0047 l429: + 823 line 245 + 824 + 825 0047 l2394: + 826 ;main.c: 244: else + 827 ;main.c: 245: SendNull(); + 828 0047 2184 fcall _SendNull + 829 0048 2849 goto l2396 + 830 + 831 0049 l430: + 832 line 240 + 833 + 834 0049 l2396: + 835 0049 3001 movlw low(01h) + 836 004A 1283 bcf status, 5 ;RP0=0, select bank0 + 837 004B 1303 bcf status, 6 ;RP1=0, select bank0 + 838 004C 02AE subwf (SendRc5@i),f + 839 + 840 004D l2398: + 841 004D 082E movf (SendRc5@i),w + 842 004E 3AFF xorlw 0FFh + 843 004F 1D03 skipz + 844 0050 2852 goto u2751 + 845 0051 2853 goto u2750 + 846 0052 u2751: + 847 0052 2835 goto l2390 + 848 0053 u2750: + 849 0053 2854 goto l2400 + 850 + 851 0054 l428: + 852 line 247 + 853 + 854 0054 l2400: + 855 ;main.c: 246: } + 856 ;main.c: 247: for(i = 5; i != 255; i--) + 857 0054 3005 movlw (05h) + 858 0055 00AC movwf (??_SendRc5+0)+0 + 859 0056 082C movf (??_SendRc5+0)+0,w + 860 0057 00AE movwf (SendRc5@i) + 861 0058 082E movf (SendRc5@i),w + 862 0059 3AFF xorlw 0FFh + 863 005A 1D03 skipz + 864 005B 285D goto u2761 + 865 005C 285E goto u2760 + 866 005D u2761: + 867 005D 2860 goto l2404 + 868 005E u2760: + 869 005E 287F goto l2414 + 870 + 871 005F l2402: + 872 005F 287F goto l2414 + 873 line 248 + 874 + 875 0060 l431: + 876 line 249 + 877 + 878 0060 l2404: + 879 ;main.c: 248: { + 880 ;main.c: 249: if(((*command)>>i)&1) + 881 0060 082D movf (SendRc5@command),w + 882 0061 0084 movwf fsr0 + 883 0062 1383 bcf status, 7 ;select IRP bank0 + 884 0063 0800 movf indf,w + 885 0064 00AC movwf (??_SendRc5+0)+0 + 886 0065 0A2E incf (SendRc5@i),w + 887 0066 2869 goto u2774 + 888 0067 u2775: + 889 0067 1003 clrc + 890 0068 0CAC rrf (??_SendRc5+0)+0,f + 891 0069 u2774: + 892 0069 3EFF addlw -1 + 893 006A 1D03 skipz + 894 006B 2867 goto u2775 + 895 006C 1C2C btfss 0+(??_SendRc5+0)+0,(0)&7 + 896 006D 286F goto u2781 + 897 006E 2870 goto u2780 + 898 006F u2781: + 899 006F 2872 goto l2408 + 900 0070 u2780: + 901 line 250 + 902 + 903 0070 l2406: + 904 ;main.c: 250: SendEins(); + 905 0070 2187 fcall _SendEins + 906 0071 2874 goto l2410 + 907 line 251 + 908 + 909 0072 l433: + 910 line 252 + 911 + 912 0072 l2408: + 913 ;main.c: 251: else + 914 ;main.c: 252: SendNull(); + 915 0072 2184 fcall _SendNull + 916 0073 2874 goto l2410 + 917 + 918 0074 l434: + 919 line 247 + 920 + 921 0074 l2410: + 922 0074 3001 movlw low(01h) + 923 0075 1283 bcf status, 5 ;RP0=0, select bank0 + 924 0076 1303 bcf status, 6 ;RP1=0, select bank0 + 925 0077 02AE subwf (SendRc5@i),f + 926 + 927 0078 l2412: + 928 0078 082E movf (SendRc5@i),w + 929 0079 3AFF xorlw 0FFh + 930 007A 1D03 skipz + 931 007B 287D goto u2791 + 932 007C 287E goto u2790 + 933 007D u2791: + 934 007D 2860 goto l2404 + 935 007E u2790: + 936 007E 287F goto l2414 + 937 + 938 007F l432: + 939 line 254 + 940 + 941 007F l2414: + 942 ;main.c: 253: } + 943 ;main.c: 254: delay_89ms(); + 944 007F 2147 fcall _delay_89ms + 945 line 256 + 946 + 947 0080 l435: + 948 0080 0008 return + 949 opt stack 0 + 950 GLOBAL __end_of_SendRc5 + 951 0081 __end_of_SendRc5: + 952 ;; =============== function _SendRc5 ends ============ + 953 + 954 signat _SendRc5,8312 + 955 global _SendNull + 956 psect text298,local,class=CODE,delta=2 + 957 global __ptext298 + 958 0184 __ptext298: + 959 + 960 ;; *************** function _SendNull ***************** + 961 ;; Defined at: + 962 ;; line 195 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 963 ;; Parameters: Size Location Type + 964 ;; None + 965 ;; Auto vars: Size Location Type + 966 ;; None + 967 ;; Return value: Size Location Type + 968 ;; None void + 969 ;; Registers used: + 970 ;; wreg, status,2, status,0, pclath, cstack + 971 ;; Tracked objects: + 972 ;; On entry : 0/0 + 973 ;; On exit : 0/0 + 974 ;; Unchanged: 0/0 + 975 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 976 ;; Params: 0 0 0 0 + 977 ;; Locals: 0 0 0 0 + 978 ;; Temps: 0 0 0 0 + 979 ;; Totals: 0 0 0 0 + 980 ;;Total ram usage: 0 bytes + 981 ;; Hardware stack levels used: 1 + 982 ;; Hardware stack levels required when called: 2 + 983 ;; This function calls: + 984 ;; _AN + 985 ;; _AUS + 986 ;; This function is called by: + 987 ;; _SendRc5 + 988 ;; This function uses a non-reentrant model + 989 ;; + 990 psect text298 + 991 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 992 line 195 + 993 global __size_of_SendNull + 994 0003 __size_of_SendNull equ __end_of_SendNull-_SendNull + 995 + 996 0184 _SendNull: + 997 opt stack 4 + 998 ; Regs used in _SendNull: [wreg+status,2+status,0+pclath+cstack] + 999 line 196 + 1000 + 1001 0184 l2372: + 1002 ;main.c: 196: AN(); + 1003 0184 2129 fcall _AN + 1004 line 197 + 1005 ;main.c: 197: AUS(); + 1006 0185 2157 fcall _AUS + 1007 line 198 + 1008 + 1009 0186 l414: + 1010 0186 0008 return + 1011 opt stack 0 + 1012 GLOBAL __end_of_SendNull + 1013 0187 __end_of_SendNull: + 1014 ;; =============== function _SendNull ends ============ + 1015 + 1016 signat _SendNull,88 + 1017 global _SendEins + 1018 psect text299,local,class=CODE,delta=2 + 1019 global __ptext299 + 1020 0187 __ptext299: + 1021 + 1022 ;; *************** function _SendEins ***************** + 1023 ;; Defined at: + 1024 ;; line 190 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1025 ;; Parameters: Size Location Type + 1026 ;; None + 1027 ;; Auto vars: Size Location Type + 1028 ;; None + 1029 ;; Return value: Size Location Type + 1030 ;; None void + 1031 ;; Registers used: + 1032 ;; wreg, status,2, status,0, pclath, cstack + 1033 ;; Tracked objects: + 1034 ;; On entry : 0/0 + 1035 ;; On exit : 0/0 + 1036 ;; Unchanged: 0/0 + 1037 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 1038 ;; Params: 0 0 0 0 + 1039 ;; Locals: 0 0 0 0 + 1040 ;; Temps: 0 0 0 0 + 1041 ;; Totals: 0 0 0 0 + 1042 ;;Total ram usage: 0 bytes + 1043 ;; Hardware stack levels used: 1 + 1044 ;; Hardware stack levels required when called: 2 + 1045 ;; This function calls: + 1046 ;; _AUS + 1047 ;; _AN + 1048 ;; This function is called by: + 1049 ;; _SendRc5 + 1050 ;; This function uses a non-reentrant model + 1051 ;; + 1052 psect text299 + 1053 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1054 line 190 + 1055 global __size_of_SendEins + 1056 0003 __size_of_SendEins equ __end_of_SendEins-_SendEins + 1057 + 1058 0187 _SendEins: + 1059 opt stack 4 + 1060 ; Regs used in _SendEins: [wreg+status,2+status,0+pclath+cstack] + 1061 line 191 + 1062 + 1063 0187 l2370: + 1064 ;main.c: 191: AUS(); + 1065 0187 2157 fcall _AUS + 1066 line 192 + 1067 ;main.c: 192: AN(); + 1068 0188 2129 fcall _AN + 1069 line 193 + 1070 + 1071 0189 l411: + 1072 0189 0008 return + 1073 opt stack 0 + 1074 GLOBAL __end_of_SendEins + 1075 018A __end_of_SendEins: + 1076 ;; =============== function _SendEins ends ============ + 1077 + 1078 signat _SendEins,88 + 1079 global _evaluate_tastatur + 1080 psect text300,local,class=CODE,delta=2 + 1081 global __ptext300 + 1082 0081 __ptext300: + 1083 + 1084 ;; *************** function _evaluate_tastatur ***************** + 1085 ;; Defined at: + 1086 ;; line 202 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1087 ;; Parameters: Size Location Type + 1088 ;; comcode 1 wreg PTR unsigned char + 1089 ;; -> main@comcode(1), + 1090 ;; Auto vars: Size Location Type + 1091 ;; comcode 1 0[BANK0 ] PTR unsigned char + 1092 ;; -> main@comcode(1), + 1093 ;; a 1 3[BANK0 ] unsigned char + 1094 ;; i 1 2[BANK0 ] unsigned char + 1095 ;; e 1 1[BANK0 ] unsigned char + 1096 ;; Return value: Size Location Type + 1097 ;; None void + 1098 ;; Registers used: + 1099 ;; wreg, fsr0l, fsr0h, status,2, status,0 + 1100 ;; Tracked objects: + 1101 ;; On entry : 0/0 + 1102 ;; On exit : 0/0 + 1103 ;; Unchanged: 0/0 + 1104 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 1105 ;; Params: 0 0 0 0 + 1106 ;; Locals: 0 4 0 0 + 1107 ;; Temps: 2 0 0 0 + 1108 ;; Totals: 2 4 0 0 + 1109 ;;Total ram usage: 6 bytes + 1110 ;; Hardware stack levels used: 1 + 1111 ;; Hardware stack levels required when called: 1 + 1112 ;; This function calls: + 1113 ;; Nothing + 1114 ;; This function is called by: + 1115 ;; _main + 1116 ;; This function uses a non-reentrant model + 1117 ;; + 1118 psect text300 + 1119 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1120 line 202 + 1121 global __size_of_evaluate_tastatur + 1122 005F __size_of_evaluate_tastatur equ __end_of_evaluate_tastatur-_evaluate_tastatur + 1123 + 1124 0081 _evaluate_tastatur: + 1125 opt stack 6 + 1126 ; Regs used in _evaluate_tastatur: [wreg-fsr0h+status,2+status,0] + 1127 ;evaluate_tastatur@comcode stored from wreg + 1128 line 206 + 1129 0081 1283 bcf status, 5 ;RP0=0, select bank0 + 1130 0082 1303 bcf status, 6 ;RP1=0, select bank0 + 1131 0083 00AC movwf (evaluate_tastatur@comcode) + 1132 + 1133 0084 l2338: + 1134 ;main.c: 203: unsigned char i; + 1135 ;main.c: 204: unsigned char a; + 1136 ;main.c: 205: unsigned char e; + 1137 ;main.c: 206: e = 0; + 1138 0084 01AD clrf (evaluate_tastatur@e) + 1139 line 208 + 1140 + 1141 0085 l2340: + 1142 ;main.c: 208: for(i=3; i != 255; i--) + 1143 0085 3003 movlw (03h) + 1144 0086 00F4 movwf (??_evaluate_tastatur+0)+0 + 1145 0087 0874 movf (??_evaluate_tastatur+0)+0,w + 1146 0088 00AE movwf (evaluate_tastatur@i) + 1147 0089 082E movf (evaluate_tastatur@i),w + 1148 008A 3AFF xorlw 0FFh + 1149 008B 1D03 skipz + 1150 008C 288E goto u2641 + 1151 008D 288F goto u2640 + 1152 008E u2641: + 1153 008E 2891 goto l2344 + 1154 008F u2640: + 1155 008F 28DF goto l422 + 1156 + 1157 0090 l2342: + 1158 0090 28DF goto l422 + 1159 line 209 + 1160 + 1161 0091 l417: + 1162 line 210 + 1163 + 1164 0091 l2344: + 1165 ;main.c: 209: { + 1166 ;main.c: 210: PORTB = 0xFF; + 1167 0091 30FF movlw (0FFh) + 1168 0092 0086 movwf (6) ;volatile + 1169 line 211 + 1170 + 1171 0093 l2346: + 1172 ;main.c: 211: PORTB &= ~(1<>a) & 1) == 0) + 1225 00B1 0806 movf (6),w ;volatile + 1226 00B2 00F4 movwf (??_evaluate_tastatur+0)+0 + 1227 00B3 0A2F incf (evaluate_tastatur@a),w + 1228 00B4 28B7 goto u2674 + 1229 00B5 u2675: + 1230 00B5 1003 clrc + 1231 00B6 0CF4 rrf (??_evaluate_tastatur+0)+0,f + 1232 00B7 u2674: + 1233 00B7 3EFF addlw -1 + 1234 00B8 1D03 skipz + 1235 00B9 28B5 goto u2675 + 1236 00BA 1874 btfsc 0+(??_evaluate_tastatur+0)+0,(0)&7 + 1237 00BB 28BD goto u2681 + 1238 00BC 28BE goto u2680 + 1239 00BD u2681: + 1240 00BD 28CB goto l2362 + 1241 00BE u2680: + 1242 line 217 + 1243 + 1244 00BE l2356: + 1245 ;main.c: 216: { + 1246 ;main.c: 217: *comcode = e; + 1247 00BE 082D movf (evaluate_tastatur@e),w + 1248 00BF 00F4 movwf (??_evaluate_tastatur+0)+0 + 1249 00C0 082C movf (evaluate_tastatur@comcode),w + 1250 00C1 0084 movwf fsr0 + 1251 00C2 0874 movf (??_evaluate_tastatur+0)+0,w + 1252 00C3 1383 bcf status, 7 ;select IRP bank0 + 1253 00C4 0080 movwf indf + 1254 line 218 + 1255 + 1256 00C5 l2358: + 1257 ;main.c: 218: somethingpressed = 1; + 1258 00C5 3001 movlw low(01h) + 1259 00C6 00AA movwf (_somethingpressed) + 1260 00C7 3000 movlw high(01h) + 1261 00C8 00AB movwf ((_somethingpressed))+1 + 1262 00C9 28DF goto l422 + 1263 line 219 + 1264 + 1265 00CA l2360: + 1266 ;main.c: 219: return; + 1267 00CA 28DF goto l422 + 1268 line 220 + 1269 + 1270 00CB l421: + 1271 line 212 + 1272 + 1273 00CB l2362: + 1274 00CB 3001 movlw (01h) + 1275 00CC 00F4 movwf (??_evaluate_tastatur+0)+0 + 1276 00CD 0874 movf (??_evaluate_tastatur+0)+0,w + 1277 00CE 07AF addwf (evaluate_tastatur@a),f + 1278 + 1279 00CF l2364: + 1280 00CF 3008 movlw (08h) + 1281 00D0 022F subwf (evaluate_tastatur@a),w + 1282 00D1 1C03 skipc + 1283 00D2 28D4 goto u2691 + 1284 00D3 28D5 goto u2690 + 1285 00D4 u2691: + 1286 00D4 28AD goto l2354 + 1287 00D5 u2690: + 1288 00D5 28D6 goto l2366 + 1289 + 1290 00D6 l420: + 1291 line 208 + 1292 + 1293 00D6 l2366: + 1294 00D6 3001 movlw low(01h) + 1295 00D7 02AE subwf (evaluate_tastatur@i),f + 1296 + 1297 00D8 l2368: + 1298 00D8 082E movf (evaluate_tastatur@i),w + 1299 00D9 3AFF xorlw 0FFh + 1300 00DA 1D03 skipz + 1301 00DB 28DD goto u2701 + 1302 00DC 28DE goto u2700 + 1303 00DD u2701: + 1304 00DD 2891 goto l2344 + 1305 00DE u2700: + 1306 00DE 28DF goto l422 + 1307 + 1308 00DF l418: + 1309 line 226 + 1310 + 1311 00DF l422: + 1312 00DF 0008 return + 1313 opt stack 0 + 1314 GLOBAL __end_of_evaluate_tastatur + 1315 00E0 __end_of_evaluate_tastatur: + 1316 ;; =============== function _evaluate_tastatur ends ============ + 1317 + 1318 signat _evaluate_tastatur,4216 + 1319 global _delay_89ms + 1320 psect text301,local,class=CODE,delta=2 + 1321 global __ptext301 + 1322 0147 __ptext301: + 1323 + 1324 ;; *************** function _delay_89ms ***************** + 1325 ;; Defined at: + 1326 ;; line 165 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1327 ;; Parameters: Size Location Type + 1328 ;; None + 1329 ;; Auto vars: Size Location Type + 1330 ;; None + 1331 ;; Return value: Size Location Type + 1332 ;; None void + 1333 ;; Registers used: + 1334 ;; None + 1335 ;; Tracked objects: + 1336 ;; On entry : 0/0 + 1337 ;; On exit : 0/0 + 1338 ;; Unchanged: 0/0 + 1339 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 1340 ;; Params: 0 0 0 0 + 1341 ;; Locals: 0 0 0 0 + 1342 ;; Temps: 0 0 0 0 + 1343 ;; Totals: 0 0 0 0 + 1344 ;;Total ram usage: 0 bytes + 1345 ;; Hardware stack levels used: 1 + 1346 ;; Hardware stack levels required when called: 1 + 1347 ;; This function calls: + 1348 ;; Nothing + 1349 ;; This function is called by: + 1350 ;; _SendRc5 + 1351 ;; This function uses a non-reentrant model + 1352 ;; + 1353 psect text301 + 1354 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1355 line 165 + 1356 global __size_of_delay_89ms + 1357 0010 __size_of_delay_89ms equ __end_of_delay_89ms-_delay_89ms + 1358 + 1359 0147 _delay_89ms: + 1360 opt stack 5 + 1361 ; Regs used in _delay_89ms: [] + 1362 line 167 + 1363 + 1364 0147 l2336: + 1365 # 167 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1366 0147 pause89ms ;# + 1367 line 168 + 1368 # 168 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1369 0147 01A0 clrf _CountA ;# + 1370 line 169 + 1371 # 169 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1372 0148 01A2 clrf _CountB ;# + 1373 line 170 + 1374 # 170 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1375 0149 01A4 clrf _CountC ;# + 1376 line 171 + 1377 # 171 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1378 014A 3074 movlw 0x74 ;# + 1379 line 172 + 1380 # 172 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1381 014B 00A2 movwf _CountB ;# + 1382 line 173 + 1383 # 173 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1384 014C 3002 movlw 0x02 ;# + 1385 line 174 + 1386 # 174 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1387 014D 00A0 movwf _CountA ;# + 1388 line 175 + 1389 # 175 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1390 014E 3001 movlw 0x01 ;# + 1391 line 176 + 1392 # 176 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1393 014F 00A4 movwf _CountC ;# + 1394 line 178 + 1395 # 178 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1396 0150 Loop ;Wiederholung der Zeitverzögerung ;# + 1397 line 179 + 1398 # 179 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1399 0150 0BA0 decfsz _CountA ;# + 1400 line 180 + 1401 # 180 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1402 0151 2950 goto Loop ;# + 1403 line 181 + 1404 # 181 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1405 0152 0BA2 decfsz _CountB ;# + 1406 line 182 + 1407 # 182 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1408 0153 2950 goto Loop ;# + 1409 line 183 + 1410 # 183 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1411 0154 0BA4 decfsz _CountC ;# + 1412 line 184 + 1413 # 184 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1414 0155 2950 goto Loop ;# + 1415 psect text301 + 1416 line 187 + 1417 ;main.c: 186: return; + 1418 + 1419 0156 l408: + 1420 0156 0008 return + 1421 opt stack 0 + 1422 GLOBAL __end_of_delay_89ms + 1423 0157 __end_of_delay_89ms: + 1424 ;; =============== function _delay_89ms ends ============ + 1425 + 1426 signat _delay_89ms,88 + 1427 global _AUS + 1428 psect text302,local,class=CODE,delta=2 + 1429 global __ptext302 + 1430 0157 __ptext302: + 1431 + 1432 ;; *************** function _AUS ***************** + 1433 ;; Defined at: + 1434 ;; line 133 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1435 ;; Parameters: Size Location Type + 1436 ;; None + 1437 ;; Auto vars: Size Location Type + 1438 ;; i 1 5[COMMON] unsigned char + 1439 ;; Return value: Size Location Type + 1440 ;; None void + 1441 ;; Registers used: + 1442 ;; wreg, status,2, status,0 + 1443 ;; Tracked objects: + 1444 ;; On entry : 0/0 + 1445 ;; On exit : 0/0 + 1446 ;; Unchanged: 0/0 + 1447 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 1448 ;; Params: 0 0 0 0 + 1449 ;; Locals: 1 0 0 0 + 1450 ;; Temps: 1 0 0 0 + 1451 ;; Totals: 2 0 0 0 + 1452 ;;Total ram usage: 2 bytes + 1453 ;; Hardware stack levels used: 1 + 1454 ;; Hardware stack levels required when called: 1 + 1455 ;; This function calls: + 1456 ;; Nothing + 1457 ;; This function is called by: + 1458 ;; _SendEins + 1459 ;; _SendNull + 1460 ;; This function uses a non-reentrant model + 1461 ;; + 1462 psect text302 + 1463 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1464 line 133 + 1465 global __size_of_AUS + 1466 0010 __size_of_AUS equ __end_of_AUS-_AUS + 1467 + 1468 0157 _AUS: + 1469 opt stack 4 + 1470 ; Regs used in _AUS: [wreg+status,2+status,0] + 1471 line 134 + 1472 + 1473 0157 l2332: + 1474 ;main.c: 134: unsigned char i = 0; + 1475 0157 01F5 clrf (AUS@i) + 1476 line 135 + 1477 ;main.c: 135: do + 1478 + 1479 0158 l400: + 1480 line 137 + 1481 ;main.c: 136: { + 1482 ;main.c: 137: RA0=0; + 1483 0158 1283 bcf status, 5 ;RP0=0, select bank0 + 1484 0159 1303 bcf status, 6 ;RP1=0, select bank0 + 1485 015A 1005 bcf (40/8),(40)&7 + 1486 line 139 + 1487 + 1488 015B l2334: + 1489 ;main.c: 138: } + 1490 ;main.c: 139: while(i++<59); + 1491 015B 3001 movlw (01h) + 1492 015C 00F4 movwf (??_AUS+0)+0 + 1493 015D 0874 movf (??_AUS+0)+0,w + 1494 015E 07F5 addwf (AUS@i),f + 1495 015F 303C movlw (03Ch) + 1496 0160 0275 subwf ((AUS@i)),w + 1497 0161 1C03 skipc + 1498 0162 2964 goto u2631 + 1499 0163 2965 goto u2630 + 1500 0164 u2631: + 1501 0164 2958 goto l400 + 1502 0165 u2630: + 1503 0165 2966 goto l402 + 1504 + 1505 0166 l401: + 1506 line 154 + 1507 + 1508 0166 l402: + 1509 0166 0008 return + 1510 opt stack 0 + 1511 GLOBAL __end_of_AUS + 1512 0167 __end_of_AUS: + 1513 ;; =============== function _AUS ends ============ + 1514 + 1515 signat _AUS,88 + 1516 global _AN + 1517 psect text303,local,class=CODE,delta=2 + 1518 global __ptext303 + 1519 0129 __ptext303: + 1520 + 1521 ;; *************** function _AN ***************** + 1522 ;; Defined at: + 1523 ;; line 60 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1524 ;; Parameters: Size Location Type + 1525 ;; None + 1526 ;; Auto vars: Size Location Type + 1527 ;; i 1 5[COMMON] unsigned char + 1528 ;; Return value: Size Location Type + 1529 ;; None void + 1530 ;; Registers used: + 1531 ;; wreg, status,2, status,0 + 1532 ;; Tracked objects: + 1533 ;; On entry : 0/0 + 1534 ;; On exit : 0/0 + 1535 ;; Unchanged: 0/0 + 1536 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 1537 ;; Params: 0 0 0 0 + 1538 ;; Locals: 1 0 0 0 + 1539 ;; Temps: 1 0 0 0 + 1540 ;; Totals: 2 0 0 0 + 1541 ;;Total ram usage: 2 bytes + 1542 ;; Hardware stack levels used: 1 + 1543 ;; Hardware stack levels required when called: 1 + 1544 ;; This function calls: + 1545 ;; Nothing + 1546 ;; This function is called by: + 1547 ;; _SendEins + 1548 ;; _SendNull + 1549 ;; This function uses a non-reentrant model + 1550 ;; + 1551 psect text303 + 1552 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1553 line 60 + 1554 global __size_of_AN + 1555 001E __size_of_AN equ __end_of_AN-_AN + 1556 + 1557 0129 _AN: + 1558 opt stack 4 + 1559 ; Regs used in _AN: [wreg+status,2+status,0] + 1560 line 61 + 1561 + 1562 0129 l2326: + 1563 ;main.c: 61: unsigned char i = 0; + 1564 0129 01F5 clrf (AN@i) + 1565 line 62 + 1566 ;main.c: 62: do + 1567 + 1568 012A l395: + 1569 line 64 + 1570 ;main.c: 63: { + 1571 ;main.c: 64: RA0 = 1; + 1572 012A 1283 bcf status, 5 ;RP0=0, select bank0 + 1573 012B 1303 bcf status, 6 ;RP1=0, select bank0 + 1574 012C 1405 bsf (40/8),(40)&7 + 1575 line 65 + 1576 ;main.c: 65: RA0 = 1; + 1577 012D 1405 bsf (40/8),(40)&7 + 1578 line 66 + 1579 ;main.c: 66: RA0 = 1; + 1580 012E 1405 bsf (40/8),(40)&7 + 1581 line 67 + 1582 ;main.c: 67: RA0 = 1; + 1583 012F 1405 bsf (40/8),(40)&7 + 1584 line 69 + 1585 ;main.c: 69: RA0 = 0; + 1586 0130 1005 bcf (40/8),(40)&7 + 1587 line 70 + 1588 ;main.c: 70: RA0 = 0; + 1589 0131 1005 bcf (40/8),(40)&7 + 1590 line 71 + 1591 ;main.c: 71: RA0 = 0; + 1592 0132 1005 bcf (40/8),(40)&7 + 1593 line 72 + 1594 ;main.c: 72: RA0 = 0; + 1595 0133 1005 bcf (40/8),(40)&7 + 1596 line 73 + 1597 ;main.c: 73: RA0 = 0; + 1598 0134 1005 bcf (40/8),(40)&7 + 1599 line 74 + 1600 ;main.c: 74: RA0 = 0; + 1601 0135 1005 bcf (40/8),(40)&7 + 1602 line 75 + 1603 ;main.c: 75: RA0 = 0; + 1604 0136 1005 bcf (40/8),(40)&7 + 1605 line 76 + 1606 ;main.c: 76: RA0 = 0; + 1607 0137 1005 bcf (40/8),(40)&7 + 1608 line 77 + 1609 ;main.c: 77: RA0 = 0; + 1610 0138 1005 bcf (40/8),(40)&7 + 1611 line 78 + 1612 ;main.c: 78: RA0 = 0; + 1613 0139 1005 bcf (40/8),(40)&7 + 1614 line 79 + 1615 ;main.c: 79: RA0 = 0; + 1616 013A 1005 bcf (40/8),(40)&7 + 1617 line 80 + 1618 + 1619 013B l2328: + 1620 ;main.c: 80: i++; + 1621 013B 3001 movlw (01h) + 1622 013C 00F4 movwf (??_AN+0)+0 + 1623 013D 0874 movf (??_AN+0)+0,w + 1624 013E 07F5 addwf (AN@i),f + 1625 line 82 + 1626 + 1627 013F l2330: + 1628 ;main.c: 81: } + 1629 ;main.c: 82: while(i<32); + 1630 013F 3020 movlw (020h) + 1631 0140 0275 subwf (AN@i),w + 1632 0141 1C03 skipc + 1633 0142 2944 goto u2621 + 1634 0143 2945 goto u2620 + 1635 0144 u2621: + 1636 0144 292A goto l395 + 1637 0145 u2620: + 1638 + 1639 0145 l396: + 1640 line 84 + 1641 ;main.c: 84: RA0 = 0; + 1642 0145 1005 bcf (40/8),(40)&7 + 1643 line 130 + 1644 + 1645 0146 l397: + 1646 0146 0008 return + 1647 opt stack 0 + 1648 GLOBAL __end_of_AN + 1649 0147 __end_of_AN: + 1650 ;; =============== function _AN ends ============ + 1651 + 1652 signat _AN,88 + 1653 global _ISR + 1654 psect text304,local,class=CODE,delta=2 + 1655 global __ptext304 + 1656 0167 __ptext304: + 1657 + 1658 ;; *************** function _ISR ***************** + 1659 ;; Defined at: + 1660 ;; line 160 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1661 ;; Parameters: Size Location Type + 1662 ;; None + 1663 ;; Auto vars: Size Location Type + 1664 ;; None + 1665 ;; Return value: Size Location Type + 1666 ;; None void + 1667 ;; Registers used: + 1668 ;; None + 1669 ;; Tracked objects: + 1670 ;; On entry : 0/0 + 1671 ;; On exit : 0/0 + 1672 ;; Unchanged: 0/0 + 1673 ;; Data sizes: COMMON BANK0 BANK1 BANK2 + 1674 ;; Params: 0 0 0 0 + 1675 ;; Locals: 0 0 0 0 + 1676 ;; Temps: 4 0 0 0 + 1677 ;; Totals: 4 0 0 0 + 1678 ;;Total ram usage: 4 bytes + 1679 ;; Hardware stack levels used: 1 + 1680 ;; This function calls: + 1681 ;; Nothing + 1682 ;; This function is called by: + 1683 ;; Interrupt level 1 + 1684 ;; This function uses a non-reentrant model + 1685 ;; + 1686 psect text304 + 1687 file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + 1688 line 160 + 1689 global __size_of_ISR + 1690 000B __size_of_ISR equ __end_of_ISR-_ISR + 1691 + 1692 0167 _ISR: + 1693 opt stack 4 + 1694 ; Regs used in _ISR: [] + 1695 psect intentry,class=CODE,delta=2 + 1696 global __pintentry + 1697 0004 __pintentry: + 1698 global interrupt_function + 1699 0004 interrupt_function: + 1700 global saved_w + 1701 007E saved_w set btemp+0 + 1702 0004 00FE movwf saved_w + 1703 0005 0E03 swapf status,w + 1704 0006 00F0 movwf (??_ISR+0) + 1705 0007 0804 movf fsr0,w + 1706 0008 00F1 movwf (??_ISR+1) + 1707 0009 080A movf pclath,w + 1708 000A 00F2 movwf (??_ISR+2) + 1709 000B 1283 bcf status, 5 ;RP0=0, select bank0 + 1710 000C 1303 bcf status, 6 ;RP1=0, select bank0 + 1711 000D 087F movf btemp+1,w + 1712 000E 00F3 movwf (??_ISR+3) + 1713 000F 2967 ljmp _ISR + 1714 psect text304 + 1715 line 162 + 1716 + 1717 0167 i1l405: + 1718 0167 0873 movf (??_ISR+3),w + 1719 0168 00FF movwf btemp+1 + 1720 0169 0872 movf (??_ISR+2),w + 1721 016A 008A movwf pclath + 1722 016B 0871 movf (??_ISR+1),w + 1723 016C 0084 movwf fsr0 + 1724 016D 0E70 swapf (??_ISR+0)^0FFFFFF80h,w + 1725 016E 0083 movwf status + 1726 016F 0EFE swapf saved_w,f + 1727 0170 0E7E swapf saved_w,w + 1728 0171 0009 retfie + 1729 opt stack 0 + 1730 GLOBAL __end_of_ISR + 1731 0172 __end_of_ISR: + 1732 ;; =============== function _ISR ends ============ + 1733 + 1734 signat _ISR,88 + 1735 psect text305,local,class=CODE,delta=2 + 1736 global __ptext305 + 1737 0000 __ptext305: + 1738 global btemp + 1739 007E btemp set 07Eh + 1740 + 1741 DABS 1,126,2 ;btemp + 1742 global wtemp0 + 1743 007E wtemp0 set btemp + + +HI-TECH Software PICC Macro Assembler V9.82 build 9453 +Symbol Table Fri Apr 15 09:39:32 2016 + + _AN 0129 _RD 04E0 _WR 04E1 + fsr 0004 AN@i 0075 ?_AN 0070 + l400 0158 l401 0166 l402 0166 + l411 0189 l420 00D6 l421 00CB + l422 00DF l414 0186 l430 0049 + l431 0060 l408 0156 l432 007F + l440 0103 l417 0091 l433 0072 + l425 0025 l441 0109 l418 00DF + l434 0074 l426 0027 l442 0126 + l419 00AD l435 0080 l427 0035 + l443 0127 l428 0054 l444 0128 + l429 0047 l445 0128 l438 0102 + _CM0 00F8 l439 0104 _CM1 00F9 + _CM2 00FA l395 012A l396 0145 + l397 0146 _GIE 005F _RA0 0028 + _AUS 0157 _ISR 0167 Loop 0150 + __end_of_evaluate_tastatur 00E0 fsr0 0004 indf 0000 + ??_AN 0074 ?_AUS 0070 AUS@i 0075 + ?_ISR 0070 main@comcode 0033 l2400 0054 + l2330 013F l2410 0074 l2402 005F + l2332 0157 l2340 0085 l2412 0078 + l2404 0060 l2420 00EC l2326 0129 + l2334 015B l2350 00A5 l2342 0090 + l2406 0070 l2414 007F l2430 00F6 + l2422 00EF l2328 013B l2336 0147 + l2360 00CA l2352 00AC l2344 0091 + l2408 0072 l2440 0109 l2432 00F8 + l2424 00F1 l2416 00E0 l2362 00CB + l2354 00AD l2346 0093 l2338 0084 + l2370 0187 l2450 0122 l2442 010D + l2434 00FA l2426 00F2 l2418 00E4 + l2364 00CF l2356 00BE l2348 00A1 + l2372 0184 l2380 0023 l2444 010F + l2436 00FF l2428 00F5 l2358 00C5 + l2366 00D6 l2390 0035 l2382 0025 + l2374 0014 l2446 0118 l2438 0100 + l2368 00D8 l2392 0045 l2384 0027 + l2376 0016 l2448 011E l2394 0047 + l2386 002D l2378 001D l2396 0049 + l2388 0034 l2398 004D u2620 0145 + u2700 00DE u2621 0144 u2701 00DD + u2630 0165 u2710 0023 u2631 0164 + u2711 0022 u2640 008F u2720 0033 + u2800 0108 u2641 008E u2721 0032 + u2801 0107 u2810 0118 u2811 0117 + u2660 00AB u2740 0045 u2661 00AA + u2741 0044 u2654 0099 u2750 0053 + u2734 003E u2655 0097 u2751 0052 + u2735 003C u2680 00BE u2760 005E + u2681 00BD u2761 005D u2690 00D5 + u2674 00B7 u2691 00D4 u2675 00B5 + u2780 0070 u2781 006F u2790 007E + u2774 0069 u2791 007D u2775 0067 + _RBIE 005B _RBIF 0058 _WREN 04E2 + _main 00E0 btemp 007E main@subcode 0032 + start 0010 evaluate_tastatur@comcode 002C ??_AUS 0074 + ??_ISR 0070 __end_of_SendRc5 0081 ?_main 0070 + _EEADR 009B _CARRY 0018 _CMCON 001F + i1l405 0167 _PORTA 0005 _PORTB 0006 + _TRISA 0085 _TRISB 0086 pclath 000A + status 0003 wtemp0 007E __end_of_main 0129 + __end_of_SendEins 018A ??_main 0030 __end_of_SendNull 0187 +__size_of_evaluate_tastatur 005F _EEDATA 009A _EECON1 009C + _EECON2 009D _INTCON 000B _CountA 0020 + _CountB 0022 _CountC 0024 ??_SendRc5 002C + _cycl_1 0026 _cycl_2 0028 _toggle 0079 + clrloop 017D saved_w 007E __pcstackCOMMON 0070 + __end_of_AN 0147 __pbssBANK0 0020 _delay_89ms 0147 + ?_SendEins 0070 ?_SendNull 0070 __pmaintext 00E0 + __pintentry 0004 _somethingpressed 002A ??_SendEins 0076 + ??_SendNull 0076 _SendRc5 0011 __size_of_AUS 0010 + __size_of_ISR 000B end_of_initialization 017A SendRc5@group 0076 + ?_delay_89ms 0070 evaluate_tastatur@a 002F evaluate_tastatur@e 002D + evaluate_tastatur@i 002E __size_of_delay_89ms 0010 start_initialization 0172 + __end_of_AUS 0167 __end_of_ISR 0172 __size_of_SendEins 0003 + __size_of_SendNull 0003 __pbssCOMMON 0077 __pcstackBANK0 002C + ?_SendRc5 0076 __ptext300 0081 __ptext301 0147 + __ptext302 0157 __ptext303 0129 __ptext304 0167 + __ptext305 0000 __ptext296 0000 __ptext297 0011 + __ptext298 0184 __ptext299 0187 _counterms 0077 + _counterus 0078 __size_of_AN 001E interrupt_function 0004 + ??_delay_89ms 0074 __end_of_delay_89ms 0157 SendRc5@i 002E + _SendEins 0187 _SendNull 0184 SendRc5@command 002D + __size_of_SendRc5 0070 __size_of_main 0049 clear_ram 017C + main@help 0031 pause89ms 0147 intlevel1 0000 + _OPTION_REG 0081 _evaluate_tastatur 0081 ?_evaluate_tastatur 0070 + ??_evaluate_tastatur 0074 diff --git a/out/RC5_Remote_Control.map b/out/RC5_Remote_Control.map new file mode 100644 index 0000000..cea08fe --- /dev/null +++ b/out/RC5_Remote_Control.map @@ -0,0 +1,328 @@ +HI-TECH Software C Compiler + +Linker command line: + +--edf=C:\Program Files\HI-TECH Software\PICC\9.82\dat\en_msgs.txt -cs \ + -h+RC5_Remote_Control.sym -z -Q16F628A -ol.obj -MRC5_Remote_Control.map \ + -E1 -ACONST=00h-0FFhx8 -ACODE=00h-07FFh -ASTRCODE=00h-07FFh \ + -AENTRY=00h-0FFhx8 -ASTRING=00h-0FFhx8 -ABANK0=020h-06Fh \ + -ABANK1=0A0h-0EFh -ABANK2=0120h-014Fh \ + -ARAM=020h-06Fh,0A0h-0EFh,0120h-014Fh \ + -AABS1=020h-07Fh,0A0h-0EFh,0120h-014Fh -ACOMMON=070h-07Fh -ASFR0=00h-01Fh \ + -ASFR1=080h-09Fh -ASFR2=0100h-011Fh -ASFR3=0180h-01EFh \ + -preset_vec=00h,intentry=04h,init,end_init -ppowerup=CODE -pfunctab=CODE \ + -ACONFIG=02007h-02007h -pconfig=CONFIG -DCONFIG=2 -AIDLOC=02000h-02003h \ + -pidloc=IDLOC -DIDLOC=2 -AEEDATA=00h-07Fh/02100h -peeprom_data=EEDATA \ + -DEEDATA=2 -DCODE=2 -DSTRCODE=2 -DSTRING=2 -DCONST=2 -DENTRY=2 -k \ + startup.obj RC5_Remote_Control.obj + +Object code version is 3.10 + +Machine type is 16F628A + + + + Name Link Load Length Selector Space Scale +startup.obj end_init 10 10 1 8 0 + reset_vec 0 0 1 0 0 +RC5_Remote_Control.obj + intentry 4 4 C 8 0 + config 2007 2007 1 400E 0 + text304 167 167 B 8 0 + text303 129 129 1E 8 0 + text302 157 157 10 8 0 + text301 147 147 10 8 0 + text300 81 81 5F 8 0 + text299 187 187 3 8 0 + text298 184 184 3 8 0 + text297 11 11 70 8 0 + maintext E0 E0 49 8 0 + cstackBANK0 2C 2C 8 20 1 + cstackCOMMON 70 70 7 70 1 + clrtext 17C 17C 8 8 0 + bssBANK0 20 20 C 20 1 + bssCOMMON 77 77 3 70 1 + cinit 172 172 A 8 0 + +TOTAL Name Link Load Length Space + CLASS CONST + + CLASS CODE + end_init 10 10 1 0 + intentry 4 4 C 0 + reset_vec 0 0 1 0 + text304 167 167 B 0 + text303 129 129 1E 0 + text302 157 157 10 0 + text301 147 147 10 0 + text300 81 81 5F 0 + text299 187 187 3 0 + text298 184 184 3 0 + text297 11 11 70 0 + maintext E0 E0 49 0 + clrtext 17C 17C 8 0 + cinit 172 172 A 0 + + CLASS STRCODE + + CLASS ENTRY + + CLASS STRING + + CLASS BANK0 + cstackBANK0 2C 2C 8 1 + bssBANK0 20 20 C 1 + + CLASS BANK1 + + CLASS BANK2 + + CLASS RAM + + CLASS ABS1 + abs_s1 7E 7E 2 1 + + CLASS COMMON + cstackCOMMON 70 70 7 1 + bssCOMMON 77 77 3 1 + + CLASS SFR0 + + CLASS SFR1 + + CLASS SFR2 + + CLASS SFR3 + + CLASS CONFIG + config 2007 2007 1 0 + + CLASS IDLOC + + CLASS EEDATA + + CLASS BANK3 + + + +SEGMENTS Name Load Length Top Selector Space Class Delta + + reset_vec 000000 000001 000001 0 0 CODE 2 + intentry 000004 000186 00018A 8 0 CODE 2 + bssBANK0 000020 000014 000034 20 1 BANK0 1 + cstackCOMMON 000070 00000A 00007A 70 1 COMMON 1 + config 002007 000001 002008 400E 0 CONFIG 2 + + +UNUSED ADDRESS RANGES + + Name Unused Largest block Delta + BANK0 0034-006F 3C 1 + BANK1 00A0-00EF 50 1 + BANK2 0120-014F 30 1 + CODE 0001-0003 3 2 + 018A-07FF 676 + COMMON 007A-007D 4 1 + CONST 0001-0003 3 2 + 018A-07FF 100 + EEDATA 2100-217F 80 2 + ENTRY 0001-0003 3 2 + 018A-07FF 100 + IDLOC 2000-2003 4 2 + RAM 0034-006F 3C 1 + 00A0-00EF 50 + 0120-014F 30 + SFR0 0000-001F 20 1 + SFR1 0080-009F 20 1 + SFR2 0100-011F 20 1 + SFR3 0180-01EF 70 1 + STRCODE 0001-0003 3 2 + 018A-07FF 676 + STRING 0001-0003 3 2 + 018A-07FF 100 + + Symbol Table + +??_AN cstackCOMMON 0074 +??_AUS cstackCOMMON 0074 +??_ISR cstackCOMMON 0070 +??_SendEins cstackCOMMON 0076 +??_SendNull cstackCOMMON 0076 +??_SendRc5 cstackBANK0 002C +??_delay_89ms cstackCOMMON 0074 +??_evaluate_tastatur cstackCOMMON 0074 +??_main cstackBANK0 0030 +?_AN cstackCOMMON 0070 +?_AUS cstackCOMMON 0070 +?_ISR cstackCOMMON 0070 +?_SendEins cstackCOMMON 0070 +?_SendNull cstackCOMMON 0070 +?_SendRc5 cstackCOMMON 0076 +?_delay_89ms cstackCOMMON 0070 +?_evaluate_tastatur cstackCOMMON 0070 +?_main cstackCOMMON 0070 +AN@i cstackCOMMON 0075 +AUS@i cstackCOMMON 0075 +SendRc5@command cstackBANK0 002D +SendRc5@group cstackCOMMON 0076 +SendRc5@i cstackBANK0 002E +_AN text303 0129 +_AUS text302 0157 +_CARRY (abs) 0018 +_CM0 (abs) 00F8 +_CM1 (abs) 00F9 +_CM2 (abs) 00FA +_CMCON (abs) 001F +_CountA bssBANK0 0020 +_CountB bssBANK0 0022 +_CountC bssBANK0 0024 +_EEADR (abs) 009B +_EECON1 (abs) 009C +_EECON2 (abs) 009D +_EEDATA (abs) 009A +_GIE (abs) 005F +_INTCON (abs) 000B +_ISR text304 0167 +_OPTION_REG (abs) 0081 +_PORTA (abs) 0005 +_PORTB (abs) 0006 +_RA0 (abs) 0028 +_RBIE (abs) 005B +_RBIF (abs) 0058 +_RD (abs) 04E0 +_SendEins text299 0187 +_SendNull text298 0184 +_SendRc5 text297 0011 +_TRISA (abs) 0085 +_TRISB (abs) 0086 +_WR (abs) 04E1 +_WREN (abs) 04E2 +__Habs1 abs1 0000 +__Hbank0 bank0 0000 +__Hbank1 bank1 0000 +__Hbank2 bank2 0000 +__Hbank3 bank3 0000 +__HbssBANK0 bssBANK0 0000 +__HbssCOMMON bssCOMMON 0000 +__Hcinit cinit 0000 +__Hclrtext clrtext 0000 +__Hcode code 0000 +__Hcommon common 0000 +__Hconfig config 2008 +__HcstackBANK0 cstackBANK0 0000 +__HcstackCOMMON cstackCOMMON 0000 +__Heeprom_data eeprom_data 0000 +__Hend_init end_init 0011 +__Hfunctab functab 0000 +__Hidloc idloc 0000 +__Hinit init 0010 +__Hintentry intentry 0010 +__Hmaintext maintext 0000 +__Hpowerup powerup 0000 +__Hram ram 0000 +__Hreset_vec reset_vec 0001 +__Hsfr0 sfr0 0000 +__Hsfr1 sfr1 0000 +__Hsfr2 sfr2 0000 +__Hsfr3 sfr3 0000 +__Hstrings strings 0000 +__Htext text 0000 +__Labs1 abs1 0000 +__Lbank0 bank0 0000 +__Lbank1 bank1 0000 +__Lbank2 bank2 0000 +__Lbank3 bank3 0000 +__LbssBANK0 bssBANK0 0000 +__LbssCOMMON bssCOMMON 0000 +__Lcinit cinit 0000 +__Lclrtext clrtext 0000 +__Lcode code 0000 +__Lcommon common 0000 +__Lconfig config 2007 +__LcstackBANK0 cstackBANK0 0000 +__LcstackCOMMON cstackCOMMON 0000 +__Leeprom_data eeprom_data 0000 +__Lend_init end_init 0010 +__Lfunctab functab 0000 +__Lidloc idloc 0000 +__Linit init 0010 +__Lintentry intentry 0004 +__Lmaintext maintext 0000 +__Lpowerup powerup 0000 +__Lram ram 0000 +__Lreset_vec reset_vec 0000 +__Lsfr0 sfr0 0000 +__Lsfr1 sfr1 0000 +__Lsfr2 sfr2 0000 +__Lsfr3 sfr3 0000 +__Lstrings strings 0000 +__Ltext text 0000 +__S0 (abs) 2008 +__S1 (abs) 007A +__S2 (abs) 0000 +__end_of_AN text303 0147 +__end_of_AUS text302 0167 +__end_of_ISR text304 0172 +__end_of_SendEins text299 018A +__end_of_SendNull text298 0187 +__end_of_SendRc5 text297 0081 +__end_of_delay_89ms text301 0157 +__end_of_evaluate_tastatur text300 00E0 +__end_of_main maintext 0129 +__pbssBANK0 bssBANK0 0020 +__pbssCOMMON bssCOMMON 0077 +__pcstackBANK0 cstackBANK0 002C +__pcstackCOMMON cstackCOMMON 0070 +__pintentry intentry 0004 +__pmaintext maintext 00E0 +__ptext296 text296 0000 +__ptext297 text297 0011 +__ptext298 text298 0184 +__ptext299 text299 0187 +__ptext300 text300 0081 +__ptext301 text301 0147 +__ptext302 text302 0157 +__ptext303 text303 0129 +__ptext304 text304 0167 +__ptext305 text305 0000 +__size_of_AN (abs) 0000 +__size_of_AUS (abs) 0000 +__size_of_ISR (abs) 0000 +__size_of_SendEins (abs) 0000 +__size_of_SendNull (abs) 0000 +__size_of_SendRc5 (abs) 0000 +__size_of_delay_89ms (abs) 0000 +__size_of_evaluate_tastatur (abs) 0000 +__size_of_main (abs) 0000 +_counterms bssCOMMON 0077 +_counterus bssCOMMON 0078 +_cycl_1 bssBANK0 0026 +_cycl_2 bssBANK0 0028 +_delay_89ms text301 0147 +_evaluate_tastatur text300 0081 +_exit init 0010 +_main maintext 00E0 +_somethingpressed bssBANK0 002A +_toggle bssCOMMON 0079 +btemp (abs) 007E +clear_ram clrtext 017C +end_of_initialization cinit 017A +evaluate_tastatur@a cstackBANK0 002F +evaluate_tastatur@comcode cstackBANK0 002C +evaluate_tastatur@e cstackBANK0 002D +evaluate_tastatur@i cstackBANK0 002E +interrupt_function intentry 0004 +intlevel0 functab 0000 +intlevel1 functab 0000 +intlevel2 functab 0000 +intlevel3 functab 0000 +intlevel4 functab 0000 +intlevel5 functab 0000 +main@comcode cstackBANK0 0033 +main@help cstackBANK0 0031 +main@subcode cstackBANK0 0032 +reset_vec reset_vec 0000 +saved_w (abs) 007E +start init 0010 +start_initialization cinit 0172 +wtemp0 (abs) 007E diff --git a/out/RC5_Remote_Control.obj b/out/RC5_Remote_Control.obj new file mode 100644 index 0000000000000000000000000000000000000000..4bcd3342ab215cb585091ec9e7d89bb2e6b67531 GIT binary patch literal 11190 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 W^DS8okvwc)=y?_tKLpB<&-@n#(N?Aa literal 0 HcmV?d00001 diff --git a/out/RC5_Remote_Control.rlf b/out/RC5_Remote_Control.rlf new file mode 100644 index 0000000000000000000000000000000000000000..0a86f0f9ee66c566d01b11c95188626938995a10 GIT binary patch literal 121572 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

ibK?+~#($GYK@S(g=*Hv)G(BGTyIia=;4{I{ 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 -> 0 `i `uc +] +[; ;main.c: 50: unsigned char toggle = 0; +"51 +[i _counterus +-> -> 0 `i `uc +] +[; ;main.c: 51: unsigned char counterus = 0; +"52 +[i _counterms +-> -> 0 `i `uc +] +[; ;main.c: 52: unsigned char counterms = 0; +[; ;main.c: 53: unsigned int cycl_1; +[; ;main.c: 54: unsigned int cycl_2, CountA, CountB, CountC; +"55 +[i _somethingpressed +-> -> 0 `i `ui +] +[; ;main.c: 55: unsigned int somethingpressed = 0; +[; ;main.c: 57: void samplebit(); +"60 +[v _AN `(v 1 ef ] +{ +[; ;main.c: 59: void AN() +[; ;main.c: 60: { +[e :U _AN ] +[f ] +"61 +[v _i `uc 1 a ] +[; ;main.c: 61: unsigned char i = 0; +[e = _i -> -> 0 `i `uc ] +[; ;main.c: 62: do +"62 +[e :U 54 ] +[; ;main.c: 63: { +"63 +{ +[; ;main.c: 64: RA0 = 1; +"64 +[e = _RA0 -> -> 1 `i `b ] +[; ;main.c: 65: RA0 = 1; +"65 +[e = _RA0 -> -> 1 `i `b ] +[; ;main.c: 66: RA0 = 1; +"66 +[e = _RA0 -> -> 1 `i `b ] +[; ;main.c: 67: RA0 = 1; +"67 +[e = _RA0 -> -> 1 `i `b ] +[; ;main.c: 69: RA0 = 0; +"69 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 70: RA0 = 0; +"70 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 71: RA0 = 0; +"71 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 72: RA0 = 0; +"72 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 73: RA0 = 0; +"73 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 74: RA0 = 0; +"74 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 75: RA0 = 0; +"75 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 76: RA0 = 0; +"76 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 77: RA0 = 0; +"77 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 78: RA0 = 0; +"78 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 79: RA0 = 0; +"79 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 80: i++; +"80 +[e ++ _i -> -> 1 `i `uc ] +"81 +} +[; ;main.c: 81: } +[; ;main.c: 82: while(i<32); +"82 +[e $ < -> _i `i -> 32 `i 54 ] +[e :U 53 ] +[; ;main.c: 84: RA0 = 0; +"84 +[e = _RA0 -> -> 0 `i `b ] +[; ;main.c: 130: } +"130 +[e :UE 51 ] +} +"133 +[v _AUS `(v 1 ef ] +{ +[; ;main.c: 132: void AUS() +[; ;main.c: 133: { +[e :U _AUS ] +[f ] +"134 +[v _i `uc 1 a ] +[; ;main.c: 134: unsigned char i = 0; +[e = _i -> -> 0 `i `uc ] +[; ;main.c: 135: do +"135 +[e :U 58 ] +[; ;main.c: 136: { +"136 +{ +[; ;main.c: 137: RA0=0; +"137 +[e = _RA0 -> -> 0 `i `b ] +"138 +} +[; ;main.c: 138: } +[; ;main.c: 139: while(i++<59); +"139 +[e $ < -> ++ _i -> -> 1 `i `uc `i -> 59 `i 58 ] +[e :U 57 ] +[; ;main.c: 154: } +"154 +[e :UE 55 ] +} +"160 +[v F595 `(v 1 tf ] +[v _ISR `IF595 1 e ] +{ +[; ;main.c: 159: void interrupt ISR (void) +[; ;main.c: 160: { +[e :U _ISR ] +[f ] +[; ;main.c: 162: } +"162 +[e :UE 59 ] +} +"165 +[v _delay_89ms `(v 1 ef ] +{ +[; ;main.c: 164: void delay_89ms() +[; ;main.c: 165: { +[e :U _delay_89ms ] +[f ] +"167 +[; pause89ms ;# +"168 +[; clrf _CountA ;# +"169 +[; clrf _CountB ;# +"170 +[; clrf _CountC ;# +"171 +[; movlw 0x74 ;# +"172 +[; movwf _CountB ;# +"173 +[; movlw 0x02 ;# +"174 +[; movwf _CountA ;# +"175 +[; movlw 0x01 ;# +"176 +[; movwf _CountC ;# +"177 +"178 +[; Loop ;Wiederholung der Zeitverzögerung ;# +"179 +[; decfsz _CountA ;# +"180 +[; goto Loop ;# +"181 +[; decfsz _CountB ;# +"182 +[; goto Loop ;# +"183 +[; decfsz _CountC ;# +"184 +[; goto Loop ;# +[; ;main.c: 186: return; +"186 +[e $UE 60 ] +[; ;main.c: 187: } +"187 +[e :UE 60 ] +} +"190 +[v _SendEins `(v 1 ef ] +{ +[; ;main.c: 189: void SendEins() +[; ;main.c: 190: { +[e :U _SendEins ] +[f ] +[; ;main.c: 191: AUS(); +"191 +[e ( _AUS .. ] +[; ;main.c: 192: AN(); +"192 +[e ( _AN .. ] +[; ;main.c: 193: } +"193 +[e :UE 61 ] +} +"195 +[v _SendNull `(v 1 ef ] +{ +[; ;main.c: 194: void SendNull() +[; ;main.c: 195: { +[e :U _SendNull ] +[f ] +[; ;main.c: 196: AN(); +"196 +[e ( _AN .. ] +[; ;main.c: 197: AUS(); +"197 +[e ( _AUS .. ] +[; ;main.c: 198: } +"198 +[e :UE 62 ] +} +"202 +[v _evaluate_tastatur `(v 1 ef1`*uc ] +{ +[; ;main.c: 201: void evaluate_tastatur(char *comcode) +[; ;main.c: 202: { +[e :U _evaluate_tastatur ] +[v _comcode `*uc 1 r1 ] +[f ] +"203 +[v _i `uc 1 a ] +"204 +[v _a `uc 1 a ] +"205 +[v _e `uc 1 a ] +[; ;main.c: 203: unsigned char i; +[; ;main.c: 204: unsigned char a; +[; ;main.c: 205: unsigned char e; +[; ;main.c: 206: e = 0; +"206 +[e = _e -> -> 0 `i `uc ] +[; ;main.c: 208: for(i=3; i != 255; i--) +"208 +{ +[e = _i -> -> 3 `i `uc ] +[e $ != -> _i `i -> 255 `i 64 ] +[e $U 65 ] +"209 +[e :U 64 ] +[; ;main.c: 209: { +{ +[; ;main.c: 210: PORTB = 0xFF; +"210 +[e = _PORTB -> -> 255 `i `uc ] +[; ;main.c: 211: PORTB &= ~(1< ~ << -> 1 `i _i `uc ] +[; ;main.c: 212: for(a=4; a <= 7; a++) +"212 +{ +[e = _a -> -> 4 `i `uc ] +[e $ <= -> _a `i -> 7 `i 67 ] +[e $U 68 ] +"213 +[e :U 67 ] +[; ;main.c: 213: { +{ +[; ;main.c: 214: e++; +"214 +[e ++ _e -> -> 1 `i `uc ] +[; ;main.c: 215: if( ((PORTB>>a) & 1) == 0) +"215 +[e $ ! == & >> -> _PORTB `i _a -> 1 `i -> 0 `i 70 ] +[; ;main.c: 216: { +"216 +{ +[; ;main.c: 217: *comcode = e; +"217 +[e = *U _comcode _e ] +[; ;main.c: 218: somethingpressed = 1; +"218 +[e = _somethingpressed -> -> 1 `i `ui ] +[; ;main.c: 219: return; +"219 +[e $UE 63 ] +"220 +} +[e :U 70 ] +"223 +} +"212 +[e ++ _a -> -> 1 `i `uc ] +[e $ <= -> _a `i -> 7 `i 67 ] +[e :U 68 ] +"223 +} +"224 +} +"208 +[e -- _i -> -> 1 `i `uc ] +[e $ != -> _i `i -> 255 `i 64 ] +[e :U 65 ] +"224 +} +[; ;main.c: 220: } +[; ;main.c: 223: } +[; ;main.c: 224: } +[; ;main.c: 226: } +"226 +[e :UE 63 ] +} +"229 +[v _SendRc5 `(v 1 ef2`*uc`*uc ] +{ +[; ;main.c: 228: void SendRc5(char* command, char *group) +[; ;main.c: 229: { +[e :U _SendRc5 ] +[v _command `*uc 1 r1 ] +[v _group `*uc 1 r2 ] +[f ] +"230 +[v _i `uc 1 a ] +[; ;main.c: 230: unsigned char i; +[; ;main.c: 231: SendEins(); +"231 +[e ( _SendEins .. ] +[; ;main.c: 232: SendEins(); +"232 +[e ( _SendEins .. ] +[; ;main.c: 234: toggle = toggle ^ 1 & 1; +"234 +[e = _toggle -> ^ -> _toggle `i & -> 1 `i -> 1 `i `uc ] +[; ;main.c: 235: if(toggle == 1) +"235 +[e $ ! == -> _toggle `i -> 1 `i 72 ] +[; ;main.c: 236: SendEins(); +"236 +[e ( _SendEins .. ] +[e $U 73 ] +"237 +[e :U 72 ] +[; ;main.c: 237: else +[; ;main.c: 238: SendNull(); +"238 +[e ( _SendNull .. ] +[e :U 73 ] +[; ;main.c: 240: for(i = 4; i != 255; i--) +"240 +{ +[e = _i -> -> 4 `i `uc ] +[e $ != -> _i `i -> 255 `i 74 ] +[e $U 75 ] +"241 +[e :U 74 ] +[; ;main.c: 241: { +{ +[; ;main.c: 242: if(((*group>>i))&1) +"242 +[e $ ! != & >> -> *U _group `i _i -> 1 `i -> 0 `i 77 ] +[; ;main.c: 243: SendEins(); +"243 +[e ( _SendEins .. ] +[e $U 78 ] +"244 +[e :U 77 ] +[; ;main.c: 244: else +[; ;main.c: 245: SendNull(); +"245 +[e ( _SendNull .. ] +[e :U 78 ] +"246 +} +"240 +[e -- _i -> -> 1 `i `uc ] +[e $ != -> _i `i -> 255 `i 74 ] +[e :U 75 ] +"246 +} +[; ;main.c: 246: } +[; ;main.c: 247: for(i = 5; i != 255; i--) +"247 +{ +[e = _i -> -> 5 `i `uc ] +[e $ != -> _i `i -> 255 `i 79 ] +[e $U 80 ] +"248 +[e :U 79 ] +[; ;main.c: 248: { +{ +[; ;main.c: 249: if(((*command)>>i)&1) +"249 +[e $ ! != & >> -> *U _command `i _i -> 1 `i -> 0 `i 82 ] +[; ;main.c: 250: SendEins(); +"250 +[e ( _SendEins .. ] +[e $U 83 ] +"251 +[e :U 82 ] +[; ;main.c: 251: else +[; ;main.c: 252: SendNull(); +"252 +[e ( _SendNull .. ] +[e :U 83 ] +"253 +} +"247 +[e -- _i -> -> 1 `i `uc ] +[e $ != -> _i `i -> 255 `i 79 ] +[e :U 80 ] +"253 +} +[; ;main.c: 253: } +[; ;main.c: 254: delay_89ms(); +"254 +[e ( _delay_89ms .. ] +[; ;main.c: 256: } +"256 +[e :UE 71 ] +} +"260 +[v _main `(v 1 ef ] +{ +[; ;main.c: 259: void main(void) +[; ;main.c: 260: { +[e :U _main ] +[f ] +"261 +[v _comcode `uc 1 a ] +[; ;main.c: 261: unsigned char comcode = 0; +[e = _comcode -> -> 0 `i `uc ] +"262 +[v _subcode `uc 1 a ] +[; ;main.c: 262: char subcode = 0; +[e = _subcode -> -> 0 `i `uc ] +[; ;main.c: 264: OPTION_REG = 0b00000010; +"264 +[e = _OPTION_REG -> -> 2 `i `uc ] +[; ;main.c: 265: CMCON = 0x07; +"265 +[e = _CMCON -> -> 7 `i `uc ] +[; ;main.c: 266: TRISA = 0x00; +"266 +[e = _TRISA -> -> 0 `i `uc ] +[; ;main.c: 267: TRISB = 0xF0; +"267 +[e = _TRISB -> -> 240 `i `uc ] +[; ;main.c: 269: GIE = 1; +"269 +[e = _GIE -> -> 1 `i `b ] +[; ;main.c: 270: CM0 = 1; +"270 +[e = _CM0 -> -> 1 `i `b ] +[; ;main.c: 271: CM1 = 1; +"271 +[e = _CM1 -> -> 1 `i `b ] +[; ;main.c: 272: CM2 = 1; +"272 +[e = _CM2 -> -> 1 `i `b ] +[; ;main.c: 273: PORTA = 0; +"273 +[e = _PORTA -> -> 0 `i `uc ] +[; ;main.c: 274: PORTB = 0xFF; +"274 +[e = _PORTB -> -> 255 `i `uc ] +[; ;main.c: 275: subcode = 29; +"275 +[e = _subcode -> -> 29 `i `uc ] +[; ;main.c: 278: INTCON = 0; +"278 +[e = _INTCON -> -> 0 `i `uc ] +[; ;main.c: 279: RBIE = 1; +"279 +[e = _RBIE -> -> 1 `i `b ] +"280 +[v _help `uc 1 a ] +[; ;main.c: 280: char help = 0; +[e = _help -> -> 0 `i `uc ] +[; ;main.c: 282: while(1) +"282 +[e :U 86 ] +[; ;main.c: 283: { +"283 +{ +[; ;main.c: 284: while(!RBIF) +"284 +[e $U 88 ] +[e :U 89 ] +[; ;main.c: 285: asm("sleep"); +"285 +[; sleep ;# +[e :U 88 ] +"284 +[e $ ! _RBIF 89 ] +[e :U 90 ] +[; ;main.c: 286: PORTB = 0xFF; +"286 +[e = _PORTB -> -> 255 `i `uc ] +[; ;main.c: 287: evaluate_tastatur(&comcode); +"287 +[e ( _evaluate_tastatur (1 &U _comcode ] +[; ;main.c: 288: if(somethingpressed == 1) +"288 +[e $ ! == _somethingpressed -> -> 1 `i `ui 91 ] +[; ;main.c: 289: { +"289 +{ +[; ;main.c: 290: SendRc5(&comcode, &subcode); +"290 +[e ( _SendRc5 (2 , &U _comcode &U _subcode ] +[; ;main.c: 291: somethingpressed = 0; +"291 +[e = _somethingpressed -> -> 0 `i `ui ] +[; ;main.c: 292: help = 1; +"292 +[e = _help -> -> 1 `i `uc ] +"293 +} +[e :U 91 ] +"303 +} +[e :U 85 ] +"282 +[e $U 86 ] +[e :U 87 ] +[; ;main.c: 293: } +[; ;main.c: 303: } +[; ;main.c: 304: } +"304 +[e :UE 84 ] +} diff --git a/out/main.pre b/out/main.pre new file mode 100644 index 0000000..6b45f1a --- /dev/null +++ b/out/main.pre @@ -0,0 +1,801 @@ + +# 1 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" + +# 81 "C:\Program Files\HI-TECH Software\PICC\9.82\include\pic16f628a.h" +volatile unsigned char INDF @ 0x000; + + + +volatile unsigned char TMR0 @ 0x001; + + + +volatile unsigned char PCL @ 0x002; + + + +volatile unsigned char STATUS @ 0x003; + +volatile bit CARRY @ ((unsigned)&STATUS*8)+0; +volatile bit DC @ ((unsigned)&STATUS*8)+1; +volatile bit ZERO @ ((unsigned)&STATUS*8)+2; +volatile bit nPD @ ((unsigned)&STATUS*8)+3; +volatile bit nTO @ ((unsigned)&STATUS*8)+4; +volatile bit IRP @ ((unsigned)&STATUS*8)+7; +volatile bit RP0 @ ((unsigned)&STATUS*8)+5; +volatile bit RP1 @ ((unsigned)&STATUS*8)+6; + +volatile union { +struct { +unsigned C : 1; +unsigned DC : 1; +unsigned Z : 1; +unsigned nPD : 1; +unsigned nTO : 1; +unsigned RP : 2; +unsigned IRP : 1; +}; +struct { +unsigned : 5; +unsigned RP0 : 1; +unsigned RP1 : 1; +}; +} STATUSbits @ 0x003; + + + +volatile unsigned char FSR @ 0x004; + + + +volatile unsigned char PORTA @ 0x005; + +volatile bit RA0 @ ((unsigned)&PORTA*8)+0; +volatile bit RA1 @ ((unsigned)&PORTA*8)+1; +volatile bit RA2 @ ((unsigned)&PORTA*8)+2; +volatile bit RA3 @ ((unsigned)&PORTA*8)+3; +volatile bit RA4 @ ((unsigned)&PORTA*8)+4; +volatile bit RA5 @ ((unsigned)&PORTA*8)+5; +volatile bit RA6 @ ((unsigned)&PORTA*8)+6; +volatile bit RA7 @ ((unsigned)&PORTA*8)+7; + +volatile union { +struct { +unsigned RA0 : 1; +unsigned RA1 : 1; +unsigned RA2 : 1; +unsigned RA3 : 1; +unsigned RA4 : 1; +unsigned RA5 : 1; +unsigned RA6 : 1; +unsigned RA7 : 1; +}; +} PORTAbits @ 0x005; + + + +volatile unsigned char PORTB @ 0x006; + +volatile bit RB0 @ ((unsigned)&PORTB*8)+0; +volatile bit RB1 @ ((unsigned)&PORTB*8)+1; +volatile bit RB2 @ ((unsigned)&PORTB*8)+2; +volatile bit RB3 @ ((unsigned)&PORTB*8)+3; +volatile bit RB4 @ ((unsigned)&PORTB*8)+4; +volatile bit RB5 @ ((unsigned)&PORTB*8)+5; +volatile bit RB6 @ ((unsigned)&PORTB*8)+6; +volatile bit RB7 @ ((unsigned)&PORTB*8)+7; + +volatile union { +struct { +unsigned RB0 : 1; +unsigned RB1 : 1; +unsigned RB2 : 1; +unsigned RB3 : 1; +unsigned RB4 : 1; +unsigned RB5 : 1; +unsigned RB6 : 1; +unsigned RB7 : 1; +}; +} PORTBbits @ 0x006; + + + +volatile unsigned char PCLATH @ 0x00A; + + +volatile union { +struct { +unsigned PCLATH : 5; +}; +} PCLATHbits @ 0x00A; + + + +volatile unsigned char INTCON @ 0x00B; + +volatile bit RBIF @ ((unsigned)&INTCON*8)+0; +volatile bit INTF @ ((unsigned)&INTCON*8)+1; +volatile bit T0IF @ ((unsigned)&INTCON*8)+2; +volatile bit RBIE @ ((unsigned)&INTCON*8)+3; +volatile bit INTE @ ((unsigned)&INTCON*8)+4; +volatile bit T0IE @ ((unsigned)&INTCON*8)+5; +volatile bit PEIE @ ((unsigned)&INTCON*8)+6; +volatile bit GIE @ ((unsigned)&INTCON*8)+7; +volatile bit TMR0IF @ ((unsigned)&INTCON*8)+2; +volatile bit TMR0IE @ ((unsigned)&INTCON*8)+5; + +volatile union { +struct { +unsigned RBIF : 1; +unsigned INTF : 1; +unsigned T0IF : 1; +unsigned RBIE : 1; +unsigned INTE : 1; +unsigned T0IE : 1; +unsigned PEIE : 1; +unsigned GIE : 1; +}; +struct { +unsigned : 2; +unsigned TMR0IF : 1; +unsigned : 2; +unsigned TMR0IE : 1; +}; +} INTCONbits @ 0x00B; + + + +volatile unsigned char PIR1 @ 0x00C; + +volatile bit TMR1IF @ ((unsigned)&PIR1*8)+0; +volatile bit TMR2IF @ ((unsigned)&PIR1*8)+1; +volatile bit CCP1IF @ ((unsigned)&PIR1*8)+2; +volatile bit TXIF @ ((unsigned)&PIR1*8)+4; +volatile bit RCIF @ ((unsigned)&PIR1*8)+5; +volatile bit CMIF @ ((unsigned)&PIR1*8)+6; +volatile bit EEIF @ ((unsigned)&PIR1*8)+7; + +volatile union { +struct { +unsigned TMR1IF : 1; +unsigned TMR2IF : 1; +unsigned CCP1IF : 1; +unsigned : 1; +unsigned TXIF : 1; +unsigned RCIF : 1; +unsigned CMIF : 1; +unsigned EEIF : 1; +}; +struct { +unsigned : 1; +unsigned : 1; +unsigned : 1; +unsigned : 3; +unsigned : 1; +unsigned : 1; +}; +} PIR1bits @ 0x00C; + + + + +volatile unsigned char TMR1L @ 0x00E; + + + +volatile unsigned char TMR1H @ 0x00F; + + + +volatile unsigned int TMR1 @ 0x00E; + + +volatile unsigned char T1CON @ 0x010; + +volatile bit TMR1ON @ ((unsigned)&T1CON*8)+0; +volatile bit TMR1CS @ ((unsigned)&T1CON*8)+1; +volatile bit nT1SYNC @ ((unsigned)&T1CON*8)+2; +volatile bit T1OSCEN @ ((unsigned)&T1CON*8)+3; +volatile bit T1CKPS0 @ ((unsigned)&T1CON*8)+4; +volatile bit T1CKPS1 @ ((unsigned)&T1CON*8)+5; + +volatile union { +struct { +unsigned TMR1ON : 1; +unsigned TMR1CS : 1; +unsigned nT1SYNC : 1; +unsigned T1OSCEN : 1; +unsigned T1CKPS : 2; +}; +struct { +unsigned : 4; +unsigned T1CKPS0 : 1; +unsigned T1CKPS1 : 1; +}; +} T1CONbits @ 0x010; + + + +volatile unsigned char TMR2 @ 0x011; + + + +volatile unsigned char T2CON @ 0x012; + +volatile bit TMR2ON @ ((unsigned)&T2CON*8)+2; +volatile bit T2CKPS0 @ ((unsigned)&T2CON*8)+0; +volatile bit T2CKPS1 @ ((unsigned)&T2CON*8)+1; +volatile bit TOUTPS0 @ ((unsigned)&T2CON*8)+3; +volatile bit TOUTPS1 @ ((unsigned)&T2CON*8)+4; +volatile bit TOUTPS2 @ ((unsigned)&T2CON*8)+5; +volatile bit TOUTPS3 @ ((unsigned)&T2CON*8)+6; + +volatile union { +struct { +unsigned T2CKPS : 2; +unsigned TMR2ON : 1; +unsigned TOUTPS : 4; +}; +struct { +unsigned T2CKPS0 : 1; +unsigned T2CKPS1 : 1; +unsigned : 1; +unsigned TOUTPS0 : 1; +unsigned TOUTPS1 : 1; +unsigned TOUTPS2 : 1; +unsigned TOUTPS3 : 1; +}; +} T2CONbits @ 0x012; + + + + +volatile unsigned char CCPR1L @ 0x015; + + + +volatile unsigned char CCPR1H @ 0x016; + + + +volatile unsigned int CCPR1 @ 0x015; + + +volatile unsigned char CCP1CON @ 0x017; + +volatile bit CCP1Y @ ((unsigned)&CCP1CON*8)+4; +volatile bit CCP1X @ ((unsigned)&CCP1CON*8)+5; +volatile bit CCP1M0 @ ((unsigned)&CCP1CON*8)+0; +volatile bit CCP1M1 @ ((unsigned)&CCP1CON*8)+1; +volatile bit CCP1M2 @ ((unsigned)&CCP1CON*8)+2; +volatile bit CCP1M3 @ ((unsigned)&CCP1CON*8)+3; + +volatile union { +struct { +unsigned CCP1M : 4; +unsigned CCP1Y : 1; +unsigned CCP1X : 1; +}; +struct { +unsigned CCP1M0 : 1; +unsigned CCP1M1 : 1; +unsigned CCP1M2 : 1; +unsigned CCP1M3 : 1; +}; +} CCP1CONbits @ 0x017; + + + +volatile unsigned char RCSTA @ 0x018; + +volatile bit RX9D @ ((unsigned)&RCSTA*8)+0; +volatile bit OERR @ ((unsigned)&RCSTA*8)+1; +volatile bit FERR @ ((unsigned)&RCSTA*8)+2; +volatile bit ADEN @ ((unsigned)&RCSTA*8)+3; +volatile bit CREN @ ((unsigned)&RCSTA*8)+4; +volatile bit SREN @ ((unsigned)&RCSTA*8)+5; +volatile bit RX9 @ ((unsigned)&RCSTA*8)+6; +volatile bit SPEN @ ((unsigned)&RCSTA*8)+7; +volatile bit ADDEN @ ((unsigned)&RCSTA*8)+3; + +volatile union { +struct { +unsigned RX9D : 1; +unsigned OERR : 1; +unsigned FERR : 1; +unsigned ADEN : 1; +unsigned CREN : 1; +unsigned SREN : 1; +unsigned RX9 : 1; +unsigned SPEN : 1; +}; +struct { +unsigned : 3; +unsigned ADDEN : 1; +}; +} RCSTAbits @ 0x018; + + + +volatile unsigned char TXREG @ 0x019; + + + +volatile unsigned char RCREG @ 0x01A; + + + +volatile unsigned char CMCON @ 0x01F; + +volatile bit CIS @ ((unsigned)&CMCON*8)+3; +volatile bit C1INV @ ((unsigned)&CMCON*8)+4; +volatile bit C2INV @ ((unsigned)&CMCON*8)+5; +volatile bit C1OUT @ ((unsigned)&CMCON*8)+6; +volatile bit C2OUT @ ((unsigned)&CMCON*8)+7; +volatile bit CM0 @ ((unsigned)&CMCON*8)+0; +volatile bit CM1 @ ((unsigned)&CMCON*8)+1; +volatile bit CM2 @ ((unsigned)&CMCON*8)+2; + +volatile union { +struct { +unsigned CM : 3; +unsigned CIS : 1; +unsigned C1INV : 1; +unsigned C2INV : 1; +unsigned C1OUT : 1; +unsigned C2OUT : 1; +}; +struct { +unsigned CM0 : 1; +unsigned CM1 : 1; +unsigned CM2 : 1; +}; +} CMCONbits @ 0x01F; + +# 438 +volatile unsigned char OPTION_REG @ 0x081; + +volatile bit PSA @ ((unsigned)&OPTION_REG*8)+3; +volatile bit T0SE @ ((unsigned)&OPTION_REG*8)+4; +volatile bit T0CS @ ((unsigned)&OPTION_REG*8)+5; +volatile bit INTEDG @ ((unsigned)&OPTION_REG*8)+6; +volatile bit nRBPU @ ((unsigned)&OPTION_REG*8)+7; +volatile bit PS0 @ ((unsigned)&OPTION_REG*8)+0; +volatile bit PS1 @ ((unsigned)&OPTION_REG*8)+1; +volatile bit PS2 @ ((unsigned)&OPTION_REG*8)+2; + +volatile union { +struct { +unsigned PS : 3; +unsigned PSA : 1; +unsigned T0SE : 1; +unsigned T0CS : 1; +unsigned INTEDG : 1; +unsigned nRBPU : 1; +}; +struct { +unsigned PS0 : 1; +unsigned PS1 : 1; +unsigned PS2 : 1; +}; +} OPTION_REGbits @ 0x081; + + + +volatile unsigned char TRISA @ 0x085; + +volatile bit TRISA0 @ ((unsigned)&TRISA*8)+0; +volatile bit TRISA1 @ ((unsigned)&TRISA*8)+1; +volatile bit TRISA2 @ ((unsigned)&TRISA*8)+2; +volatile bit TRISA3 @ ((unsigned)&TRISA*8)+3; +volatile bit TRISA4 @ ((unsigned)&TRISA*8)+4; +volatile bit TRISA5 @ ((unsigned)&TRISA*8)+5; +volatile bit TRISA6 @ ((unsigned)&TRISA*8)+6; +volatile bit TRISA7 @ ((unsigned)&TRISA*8)+7; + +volatile union { +struct { +unsigned TRISA0 : 1; +unsigned TRISA1 : 1; +unsigned TRISA2 : 1; +unsigned TRISA3 : 1; +unsigned TRISA4 : 1; +unsigned TRISA5 : 1; +unsigned TRISA6 : 1; +unsigned TRISA7 : 1; +}; +} TRISAbits @ 0x085; + + + +volatile unsigned char TRISB @ 0x086; + +volatile bit TRISB0 @ ((unsigned)&TRISB*8)+0; +volatile bit TRISB1 @ ((unsigned)&TRISB*8)+1; +volatile bit TRISB2 @ ((unsigned)&TRISB*8)+2; +volatile bit TRISB3 @ ((unsigned)&TRISB*8)+3; +volatile bit TRISB4 @ ((unsigned)&TRISB*8)+4; +volatile bit TRISB5 @ ((unsigned)&TRISB*8)+5; +volatile bit TRISB6 @ ((unsigned)&TRISB*8)+6; +volatile bit TRISB7 @ ((unsigned)&TRISB*8)+7; + +volatile union { +struct { +unsigned TRISB0 : 1; +unsigned TRISB1 : 1; +unsigned TRISB2 : 1; +unsigned TRISB3 : 1; +unsigned TRISB4 : 1; +unsigned TRISB5 : 1; +unsigned TRISB6 : 1; +unsigned TRISB7 : 1; +}; +} TRISBbits @ 0x086; + + + +volatile unsigned char PIE1 @ 0x08C; + +volatile bit TMR1IE @ ((unsigned)&PIE1*8)+0; +volatile bit TMR2IE @ ((unsigned)&PIE1*8)+1; +volatile bit CCP1IE @ ((unsigned)&PIE1*8)+2; +volatile bit TXIE @ ((unsigned)&PIE1*8)+4; +volatile bit RCIE @ ((unsigned)&PIE1*8)+5; +volatile bit CMIE @ ((unsigned)&PIE1*8)+6; +volatile bit EEIE @ ((unsigned)&PIE1*8)+7; + +volatile union { +struct { +unsigned TMR1IE : 1; +unsigned TMR2IE : 1; +unsigned CCP1IE : 1; +unsigned : 1; +unsigned TXIE : 1; +unsigned RCIE : 1; +unsigned CMIE : 1; +unsigned EEIE : 1; +}; +} PIE1bits @ 0x08C; + + + +volatile unsigned char PCON @ 0x08E; + +volatile bit nBOR @ ((unsigned)&PCON*8)+0; +volatile bit nPOR @ ((unsigned)&PCON*8)+1; +volatile bit OSCF @ ((unsigned)&PCON*8)+3; +volatile bit nBO @ ((unsigned)&PCON*8)+0; +volatile bit nBOD @ ((unsigned)&PCON*8)+0; + +volatile union { +struct { +unsigned nBOR : 1; +unsigned nPOR : 1; +unsigned : 1; +unsigned OSCF : 1; +}; +struct { +unsigned nBO : 1; +}; +struct { +unsigned nBOD : 1; +}; +} PCONbits @ 0x08E; + + + +volatile unsigned char PR2 @ 0x092; + + + +volatile unsigned char TXSTA @ 0x098; + +volatile bit TX9D @ ((unsigned)&TXSTA*8)+0; +volatile bit TRMT @ ((unsigned)&TXSTA*8)+1; +volatile bit BRGH @ ((unsigned)&TXSTA*8)+2; +volatile bit SYNC @ ((unsigned)&TXSTA*8)+4; +volatile bit TXEN @ ((unsigned)&TXSTA*8)+5; +volatile bit TX9 @ ((unsigned)&TXSTA*8)+6; +volatile bit CSRC @ ((unsigned)&TXSTA*8)+7; + +volatile union { +struct { +unsigned TX9D : 1; +unsigned TRMT : 1; +unsigned BRGH : 1; +unsigned : 1; +unsigned SYNC : 1; +unsigned TXEN : 1; +unsigned TX9 : 1; +unsigned CSRC : 1; +}; +} TXSTAbits @ 0x098; + + + +volatile unsigned char SPBRG @ 0x099; + + + +volatile unsigned char EEDATA @ 0x09A; + + + +volatile unsigned char EEADR @ 0x09B; + + + +volatile unsigned char EECON1 @ 0x09C; + +volatile bit RD @ ((unsigned)&EECON1*8)+0; +volatile bit WR @ ((unsigned)&EECON1*8)+1; +volatile bit WREN @ ((unsigned)&EECON1*8)+2; +volatile bit WRERR @ ((unsigned)&EECON1*8)+3; + +volatile union { +struct { +unsigned RD : 1; +unsigned WR : 1; +unsigned WREN : 1; +unsigned WRERR : 1; +}; +} EECON1bits @ 0x09C; + + + +volatile unsigned char EECON2 @ 0x09D; + + + +volatile unsigned char VRCON @ 0x09F; + +volatile bit VRR @ ((unsigned)&VRCON*8)+5; +volatile bit VROE @ ((unsigned)&VRCON*8)+6; +volatile bit VREN @ ((unsigned)&VRCON*8)+7; +volatile bit VR0 @ ((unsigned)&VRCON*8)+0; +volatile bit VR1 @ ((unsigned)&VRCON*8)+1; +volatile bit VR2 @ ((unsigned)&VRCON*8)+2; +volatile bit VR3 @ ((unsigned)&VRCON*8)+3; + +volatile union { +struct { +unsigned VR : 4; +unsigned : 1; +unsigned VRR : 1; +unsigned VROE : 1; +unsigned VREN : 1; +}; +struct { +unsigned VR0 : 1; +unsigned VR1 : 1; +unsigned VR2 : 1; +unsigned VR3 : 1; +}; +} VRCONbits @ 0x09F; + + +# 27 "C:\Program Files\HI-TECH Software\PICC\9.82\include\pic.h" +#pragma inline(_nop) +extern void _nop(void); + +# 80 +extern unsigned int flash_read(unsigned short addr); + +# 144 +extern void flash_erase(unsigned short addr); + +# 41 "C:\Program Files\HI-TECH Software\PICC\9.82\include\eeprom_routines.h" +extern unsigned char eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +extern void eecpymem(volatile unsigned char *to, eeprom unsigned char *from, unsigned char size); +extern void memcpyee(eeprom unsigned char *to, const unsigned char *from, unsigned char size); + + +# 153 "C:\Program Files\HI-TECH Software\PICC\9.82\include\pic.h" +#pragma inline(_delay) +extern void _delay(unsigned long); + +# 43 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c" +asm("\tpsect config,class=CONFIG,delta=2"); asm("\tdw ""0xFF7F & 0xFFBF & 0xFFFF & 0xFFDF & 0xFFF7 & 0xFFFB & 0xFFED"); + + +unsigned char PhaseDemod(); + + + +unsigned char toggle = 0; +unsigned char counterus = 0; +unsigned char counterms = 0; +unsigned int cycl_1; +unsigned int cycl_2, CountA, CountB, CountC; +unsigned int somethingpressed = 0; + +void samplebit(); + +void AN() +{ +unsigned char i = 0; +do +{ +RA0 = 1; +RA0 = 1; +RA0 = 1; +RA0 = 1; + +RA0 = 0; +RA0 = 0; +RA0 = 0; +RA0 = 0; +RA0 = 0; +RA0 = 0; +RA0 = 0; +RA0 = 0; +RA0 = 0; +RA0 = 0; +RA0 = 0; +i++; +} +while(i<32); + +RA0 = 0; + +# 130 +} + +void AUS() +{ +unsigned char i = 0; +do +{ +RA0=0; +} +while(i++<59); + +# 154 +} + + + + +void interrupt ISR (void) +{ + +} + +void delay_89ms() +{ + +# 166 +#asm + pause89ms + clrf _CountA + clrf _CountB + clrf _CountC + movlw 0x74 + movwf _CountB + movlw 0x02 + movwf _CountA + movlw 0x01 + movwf _CountC + + Loop ;Wiederholung der Zeitverzögerung + decfsz _CountA + goto Loop + decfsz _CountB + goto Loop + decfsz _CountC + goto Loop +#endasm +return; +} + +void SendEins() +{ +AUS(); +AN(); +} +void SendNull() +{ +AN(); +AUS(); +} + + +void evaluate_tastatur(char *comcode) +{ +unsigned char i; +unsigned char a; +unsigned char e; +e = 0; + +for(i=3; i != 255; i--) +{ +PORTB = 0xFF; +PORTB &= ~(1<>a) & 1) == 0) +{ +*comcode = e; +somethingpressed = 1; +return; +} + + +} +} + +} + +void SendRc5(char* command, char *group) +{ +unsigned char i; +SendEins(); +SendEins(); + +toggle = toggle ^ 1 & 1; +if(toggle == 1) +SendEins(); +else +SendNull(); + +for(i = 4; i != 255; i--) +{ +if(((*group>>i))&1) +SendEins(); +else +SendNull(); +} +for(i = 5; i != 255; i--) +{ +if(((*command)>>i)&1) +SendEins(); +else +SendNull(); +} +delay_89ms(); + +} + + +void main(void) +{ +unsigned char comcode = 0; +char subcode = 0; + +OPTION_REG = 0b00000010; +CMCON = 0x07; +TRISA = 0x00; +TRISB = 0xF0; + +GIE = 1; +CM0 = 1; +CM1 = 1; +CM2 = 1; +PORTA = 0; +PORTB = 0xFF; +subcode = 29; + + +INTCON = 0; +RBIE = 1; +char help = 0; + +while(1) +{ +while(!RBIF) +asm("sleep"); +PORTB = 0xFF; +evaluate_tastatur(&comcode); +if(somethingpressed == 1) +{ +SendRc5(&comcode, &subcode); +somethingpressed = 0; +help = 1; +} + +# 303 +} +} + diff --git a/out/startup.as b/out/startup.as new file mode 100644 index 0000000..7f2d839 --- /dev/null +++ b/out/startup.as @@ -0,0 +1,84 @@ + + ; HI-TECH C Compiler for PIC10/12/16 MCUs V9.82 + ; Copyright (C) 1984-2011 HI-TECH Software + + ; Auto-generated runtime startup code for final link stage. + + ; + ; Compiler options: + ; + ; -oRC5_Remote_Control.cof -mRC5_Remote_Control.map --summary=default \ + ; --output=default main.p1 --chip=16F628A -P --runtime=default \ + ; --opt=default -D__DEBUG=1 --rom=default --ram=default -g --asmlist \ + ; --errformat=Error [%n] %f; %l.%c %s --msgformat=Advisory[%n] %s \ + ; --warnformat=Warning [%n] %f; %l.%c %s + ; + + + processor 16F628A + + global _main,start,_exit,reset_vec + fnroot _main + psect config,class=CONFIG,delta=2 + psect idloc,class=IDLOC,delta=2 + psect code,class=CODE,delta=2 + psect powerup,class=CODE,delta=2 + psect reset_vec,class=CODE,delta=2 + psect maintext,class=CODE,delta=2 + C set 0 + Z set 2 + PCL set 2 + INDF set 0 + + STATUS equ 3 + PCLATH equ 0Ah + + psect eeprom_data,class=EEDATA,delta=2,space=2 + psect intentry,class=CODE,delta=2 + psect functab,class=CODE,delta=2 + global intlevel0,intlevel1,intlevel2, intlevel3, intlevel4, intlevel5 +intlevel0: +intlevel1: +intlevel2: +intlevel3: +intlevel4: +intlevel5: + psect init,class=CODE,delta=2 + psect cinit,class=CODE,delta=2 + psect text,class=CODE,delta=2 + psect end_init,class=CODE,delta=2 + psect clrtext,class=CODE,delta=2 + FSR set 4 + psect strings,class=CODE,delta=2,reloc=256 + + psect reset_vec +reset_vec: + ; No powerup routine + global start + +; jump to start + goto start & 0x7FF | (reset_vec & not 0x7FF) + + + + psect init +start +_exit + psect end_init + global start_initialization + ljmp start_initialization ;jump to C runtime clear & initialization + +psect bank0,class=BANK0,space=1 +psect bank1,class=BANK1,space=1 +psect bank2,class=BANK2,space=1 +psect bank3,class=BANK3,space=1 +psect ram,class=RAM,space=1 +psect abs1,class=ABS1,space=1 +psect common,class=COMMON,space=1 +psect sfr0,class=SFR0,space=1 +psect sfr1,class=SFR1,space=1 +psect sfr2,class=SFR2,space=1 +psect sfr3,class=SFR3,space=1 + + + end start diff --git a/out/startup.lst b/out/startup.lst new file mode 100644 index 0000000..8113f19 --- /dev/null +++ b/out/startup.lst @@ -0,0 +1,83 @@ + + +HI-TECH Software PIC Macro Assembler V9.82 build 9453 + Fri Apr 15 09:39:32 2016 + + + 1 + 2 ; HI-TECH C Compiler for PIC10/12/16 MCUs V9.82 + 3 ; Copyright (C) 1984-2011 HI-TECH Software + 4 + 5 ; Auto-generated runtime startup code for final link stage. + 6 + 7 ; + 8 ; Compiler options: + 9 ; + 10 ; -oRC5_Remote_Control.cof -mRC5_Remote_Control.map --summary=default \ + 11 ; --output=default main.p1 --chip=16F628A -P --runtime=default \ + 12 ; --opt=default -D__DEBUG=1 --rom=default --ram=default -g --asmlist \ + 13 ; --errformat=Error [%n] %f; %l.%c %s --msgformat=Advisory[%n] %s \ + 14 ; --warnformat=Warning [%n] %f; %l.%c %s + 15 ; + 16 + 17 + 18 processor 16F628A + 19 + 20 global _main,start,_exit,reset_vec + 21 fnroot _main + 22 psect config,class=CONFIG,delta=2 + 23 psect idloc,class=IDLOC,delta=2 + 24 psect code,class=CODE,delta=2 + 25 psect powerup,class=CODE,delta=2 + 26 psect reset_vec,class=CODE,delta=2 + 27 psect maintext,class=CODE,delta=2 + 28 0000 C set 0 + 29 0002 Z set 2 + 30 0002 PCL set 2 + 31 0000 INDF set 0 + 32 + 33 0003 STATUS equ 3 + 34 000A PCLATH equ 0Ah + 35 + 36 psect eeprom_data,class=EEDATA,delta=2,space=2 + 37 psect intentry,class=CODE,delta=2 + 38 psect functab,class=CODE,delta=2 + 39 global intlevel0,intlevel1,intlevel2, intlevel3, intlevel4, intlevel5 + 40 0000 intlevel0: + 41 0000 intlevel1: + 42 0000 intlevel2: + 43 0000 intlevel3: + 44 0000 intlevel4: + 45 0000 intlevel5: + 46 psect init,class=CODE,delta=2 + 47 psect cinit,class=CODE,delta=2 + 48 psect text,class=CODE,delta=2 + 49 psect end_init,class=CODE,delta=2 + 50 psect clrtext,class=CODE,delta=2 + 51 0004 FSR set 4 + 52 psect strings,class=CODE,delta=2,reloc=256 + 53 + 54 psect reset_vec + 55 0000 reset_vec: + 56 ; No powerup routine + 57 global start + 58 + 59 ; jump to start + 60 0000 2810 goto start & 0x7FF | (reset_vec & not 0x7FF) + 61 + 62 + 63 + 64 psect init + 65 0010 start + 66 0010 _exit + 67 psect end_init + 68 global start_initialization + 69 0010 2972 ljmp start_initialization ;jump to C runtime clear & initialization + + +HI-TECH Software PICC Macro Assembler V9.82 build 9453 +Symbol Table Fri Apr 15 09:39:32 2016 + + _main 00E0 _exit 0010 start 0010 start_initialization 0172 + intlevel0 0000 intlevel1 0000 intlevel2 0000 intlevel3 0000 + intlevel4 0000 intlevel5 0000 reset_vec 0000 diff --git a/out/startup.obj b/out/startup.obj new file mode 100644 index 0000000000000000000000000000000000000000..9bd75004e4f11044b5a9b126b35f5204593b92ba GIT binary patch literal 1601 zcmZ{k&2G~`6opTm&_G(io6&bA-Ta^ml1MH4$Z;l>g=0tdq!gZ#_h5~L z#3J0e;TPf+<8G}>;=5F|?+KL!YG6cv#KzQG1^szb*iuq zV-!V;W0$cX-X?gF?v5%0gQ}Ct{pnzsl3ox?aW6Ac)so1atjR;=DZ<6f4}Dn-SfQD& z*;AZ6Hn}5cjJ)=TxhZ(TLgOeG*0cj3)Z?Yv>HgV?cEzHm*ooguP6dXuSZ+d3y7Tf0 zcXHu`ekesK<8S2?X1Zpda2jGAN2}Swl`dZ9yEIfFg`wea;CyxfPH^QaCkngJqU!9K zuKkace=HIqXLrKGS?;djd_dD@rMyey9KkyJD&oz$9KlZ3MjWUYEkyC2sTEn%441}V z1d&(lK?P~?YVc{=&#q&*^l!^&^&(dL)5+-S15k(Y19)0EqH0y(7aHpC88B1nsArhq z($2&^HDN(Wq#J92aDL%F_1(b#?n<9N2^!v2oQe>LI}y-jp`VGePIs+Rr>k12(@n3` z-~2~^o9cO`@+T8~{#?NMD+&pJ>iE6gnz`PpZ=1AvPNa263G%$`vf;d~rv0pp<3fk~ zAWdtte(ff_r$(W>dODs)e!qL~(T2&6G$js}I&69l5=oz6@}oXbUx+4-4s_iN`k3M` D)Y&4Q literal 0 HcmV?d00001 diff --git a/out/startup.rlf b/out/startup.rlf new file mode 100644 index 0000000000000000000000000000000000000000..1cefda0612a2f4499dbeff230cfa6fdbe076558d GIT binary patch literal 5104 zcmchbZBOGy5XTod_2g7);VQL#RjpKU;-r|1^K@`gq^3@CARQcn&`Nz!WSmX#)%LpU z4F^>}ML%8N_AB&NrK+Oi9mfG;FF91z;)TinXLfexx3jiCC6CF<>Ka)&@La*&b1$Mt z`!-oC{j;)BD(&r?gPy%dPxx5Aa|BDq=z#-D+KFQpocT=9Z+5qLs`PB?`6IepZ`5ds z{(o0rc(fAPNP5mrDCJ8JIb)za~b zKD4w(&?#9A3pLV;qK%GKrKoC2o%sCB@r_{uO<8Tv@{nD6vMgB4q zbb@j%P*KcWX}CNbdy}&3J8|5$-yHV$UzMT$Bj!t|T}3xqT+od-^0}LO+3&u7W0!Av z&{8l9WW=&Cy1m=>+R~$a#NRP7jS5}p$S}}Fmh3_&I(SkiNeLypl!ZP3uL@kbjmxkN zsJBtUyaQAq%rBzxol;_jYT&I{d1Sx7sRf3L=ifi<_KiPRHs(>lp;~;YIBUQMc+987 zI2m*XrzZycd1};94lsbclk3%hU^|07C9ibO(Lh&yR4h?k#$f9P!;vGMv^2e5w=?L> zKr6?QSI6lO@o|*%kdFIeVwW({Q=1Y+4g>Vqe8uXpcSYHBESL9k8xwZ|FK&I$bOUJc-0PX@?^jj=FZW(L`tY zZI6DHZXFcm$8~Fg+2Mm0fYm4S9hnUh@<+j*%p?d_Lkm`m9&(zVm{h=%s~0kySIZN2 z9DIL3xsD!G==f;Sx6>e^lHYLI1Q_yHzM8E3DI{eJ+SK2V*2rJi*X!A`Nono+F(K;- zXr%NZ`F$Zz#)M05sHZFXlvXZZ^!xNzx|Ml=A44v2;F$`(2~-tcsL-*5iUL5CUsNnX zN3tpu0~jC8!BDFuUoNZ_qgHE0Gr(cN?6(3l_2`LaS{!cgZZyyVk)BvsY}FAw$M=45 zl9xWT23VfV7dPu0gs9Sgk(EBz0~}WiJ=gHx0$(Z(cjhx%GxY52z1a1cBY=V=sW&3a z{}!^$$B>h&;Eelp;K0X{LXQ5Mf#Q!Lcl@h&4Ek}FWvYH4tqncY~U#t@lz_-%DM~RTl 1 definiert +// Eine 0 wird durch eine Flanke 1 -> 0 definiert +// Der Empfänger invertiert die Bits !!! + +// Die RC5-Pulsbreite beträgt 1,778ms +// PORTB.0 wird alle 890us abgetastet und in 2 Bits rotiert. + +// Die einzig gültige n Werte sind dann +// 0x02 für ein 1 Bit und 0x01 für ein 0 Bit +// 0x00 sowie 0x03 sind nicht erlaubt und ein Kennzeichen +// für keinen Empfang + + +//Auflösung des Timers 8 us +//RELOAD = 890us/8us = 111 + +//Wegen des Programm-Overheads ist der Timer mit 111 zu lang +//und die Abtastung rutscht nach rechts über die Flanken +//Timerwert verkürzen +//So sollte es eigentlich sein +//#define RELOAD 255-111 //Alle 890us läuft der Timer über + +#define DELAY 73 +#define RELOAD 255-DELAY //So gehts +#define _XTAL_FREQ 40000000 + + +//verzögert um 890us, sampelt dann PORTB.0 +//und schiebt das Bit in shift + +#include +//#include +// #include +#include +//#include "phaserec.h" + +//#define IrOut PORTA,0 + + +__CONFIG( LVP_OFF & BOREN_OFF & CPD_OFF & MCLRE_OFF & PWRTE_ON & WDTE_OFF & FOSC_XT ); + + +unsigned char PhaseDemod(); + + +//Globale Variablen +unsigned char toggle = 0; //Das Togglebit +unsigned char counterus = 0; +unsigned char counterms = 0; +unsigned int cycl_1; +unsigned int cycl_2, CountA, CountB, CountC; +unsigned int somethingpressed = 0; + +void samplebit(); + +void AN() +{ + unsigned char i = 0; + do + { + RA0 = 1; + RA0 = 1; + RA0 = 1; + RA0 = 1; + + RA0 = 0; + RA0 = 0; + RA0 = 0; + RA0 = 0; + RA0 = 0; + RA0 = 0; + RA0 = 0; + RA0 = 0; + RA0 = 0; + RA0 = 0; + RA0 = 0; + i++; + } + while(i<32); + + RA0 = 0; +/* +#asm +;**************************************************************************** +; Licht pulsen (889 us) +; ideal: 32 IR Pulse von je 6,944 us mit Pausen von 20,8332 us +; real: 32 Pulse a 7 us mit je 21 us Pause, letzte Pause entfällt (32x7+31*21=875 us) +bcf 0x03, 5 +bsf 0x05, 6 +LichtAn + ; 1. Puls + bsf 0x05,0 + movlw 0x1E ; 31 weitere Zyklen + movwf _cycl_1 + nop + nop + nop + nop + bcf 0x05,0 + + ;31 Zyklen aus Pause und Puls +LichtAn1 + ;Pause + movlw 0x05 ;1T + movwf _cycl_2 ;1T + nop ;1T + nop ;1T +LichtAn2 ; 4x3T + 1x2T =14T + decfsz _cycl_2,f ;1T + goto LichtAn2 ;2T + ;Puls ;7T + bsf 0x05,0 + nop + nop + nop + nop + nop + nop + bcf 0x05,0 + decfsz _cycl_1,f ;1T + goto LichtAn1 ;2T + + return +; remaining code goes here + +#endasm*/ +} + +void AUS() +{ + unsigned char i = 0; + do + { + RA0=0; + } + while(i++<59); + /*unsigned char _cycl_2; +#asm + bcf 0x05,0 +LichtAus + + movlw 0xAF + movwf _cycl_2 +LichtAus2 + nop ;1T + nop ;1T + decfsz _cycl_2,f ;1T + goto LichtAus2 ;2T +#endasm*/ + +} + + + + +void interrupt ISR (void) +{ + +} + +void delay_89ms() +{ +#asm + pause89ms + clrf _CountA + clrf _CountB + clrf _CountC + movlw 0x74 + movwf _CountB + movlw 0x02 + movwf _CountA + movlw 0x01 + movwf _CountC + + Loop ;Wiederholung der Zeitverzögerung + decfsz _CountA + goto Loop + decfsz _CountB + goto Loop + decfsz _CountC + goto Loop +#endasm + return; +} + +void SendEins() +{ + AUS(); + AN(); +} +void SendNull() +{ + AN(); + AUS(); +} + + +void evaluate_tastatur(char *comcode) +{ + unsigned char i; + unsigned char a; + unsigned char e; + e = 0; + + for(i=3; i != 255; i--) + { + PORTB = 0xFF; + PORTB &= ~(1<>a) & 1) == 0) + { + *comcode = e; + somethingpressed = 1; + return; + } + + + } + } + +} + +void SendRc5(char* command, char *group) +{ + unsigned char i; + SendEins(); + SendEins(); + + toggle = toggle ^ 1 & 1; + if(toggle == 1) + SendEins(); + else + SendNull(); + + for(i = 4; i != 255; i--) + { + if(((*group>>i))&1) + SendEins(); + else + SendNull(); + } + for(i = 5; i != 255; i--) + { + if(((*command)>>i)&1) + SendEins(); + else + SendNull(); + } + delay_89ms(); + +} + + +void main(void) +{ //Takt des PIC 4MHz, ein Zyklus = 1us + unsigned char comcode = 0; + char subcode = 0; + + OPTION_REG = 0b00000010; //Pullups on + CMCON = 0x07; //Komperatoren Abschalten + TRISA = 0x00; //PORTA ist Ausgang + TRISB = 0xF0; //PORTB 0...3 sind Ausgänge + //PR2 = 0xFF; //Periodendauer für die PWM modulation + GIE = 1; //Interrupts nicht möglich + CM0 = 1; + CM1 = 1; + CM2 = 1; + PORTA = 0; //Aus und Eingänge auf null + PORTB = 0xFF; + subcode = 29; //21; + + + INTCON = 0; + RBIE = 1; + char help = 0; + + while(1) + { + while(!RBIF) + SLEEP(); + PORTB = 0xFF; + evaluate_tastatur(&comcode); + if(somethingpressed == 1) + { + SendRc5(&comcode, &subcode); + somethingpressed = 0; + help = 1; + } + /*else if(help == 1) + { + help = 0; + comcode = 0; //endcommand + SendRc5(&comcode, &subcode); + }*/ + + + + } +} + + +