├── Codes ├── CodeVision │ └── ProjFinal2 │ │ ├── ProjFinal2.txt │ │ ├── Debug │ │ ├── ProjFinal2.str1 │ │ ├── Exe │ │ │ ├── alcd.ol │ │ │ ├── math.ol │ │ │ ├── ctype.ol │ │ │ ├── stdlib.ol │ │ │ ├── string.ol │ │ │ ├── ProjFinal2.o │ │ │ ├── ProjFinal2.hex │ │ │ ├── alcd.al │ │ │ ├── ctype.al │ │ │ ├── ProjFinal2.rom │ │ │ ├── ProjFinal2.a │ │ │ └── stdlib.al │ │ ├── ProjFinal2.cof │ │ ├── ProjFinal2.obj │ │ ├── ProjFinal2.sym1 │ │ ├── ProjFinal2.sym3 │ │ ├── ProjFinal2.sym2 │ │ └── List │ │ │ └── ProjFinal2.map │ │ ├── ProjFinal2.cof │ │ ├── ProjFinal2.fct │ │ ├── ProjFinal2.cci │ │ ├── ProjFinal2.atsln │ │ ├── ProjFinal2.cproj │ │ ├── ProjFinal2.c │ │ ├── ProjFinal2.cwp │ │ ├── ProjFinal2.prj │ │ └── ProjFinal2.c~ └── Proteus │ └── Project1 │ ├── ProjectFinal.pdsprj │ ├── Project Backups │ ├── ProjectFinal [Autosaved].pdsprj │ ├── ProjectFinal [20230130, 23-51-54].pdsprj │ ├── ProjectFinal [20230131, 05-11-31].pdsprj │ ├── ProjectFinal [20230131, 09-58-29].pdsprj │ └── ProjectFinal [20230131, 11-18-54].pdsprj │ └── ProjectFinal.pdsprj.DESKTOP-B0J1FTO.Ahmad.workspace ├── Pictures ├── 1.png ├── 2.png └── 3.png ├── README.md └── LICENSE /Codes/CodeVision/ProjFinal2/ProjFinal2.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.str1: -------------------------------------------------------------------------------- 1 | adc_inputarithmaticoperation2exp_pressedoperation -------------------------------------------------------------------------------- /Pictures/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Pictures/1.png -------------------------------------------------------------------------------- /Pictures/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Pictures/2.png -------------------------------------------------------------------------------- /Pictures/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Pictures/3.png -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/ProjFinal2.cof: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/ProjFinal2.cof -------------------------------------------------------------------------------- /Codes/Proteus/Project1/ProjectFinal.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/Proteus/Project1/ProjectFinal.pdsprj -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/alcd.ol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/Exe/alcd.ol -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/math.ol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/Exe/math.ol -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/ctype.ol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/Exe/ctype.ol -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/stdlib.ol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/Exe/stdlib.ol -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/string.ol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/Exe/string.ol -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/ProjFinal2.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/Exe/ProjFinal2.o -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.cof: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.cof -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.obj -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.sym1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.sym1 -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.sym3: -------------------------------------------------------------------------------- 1 | 2 |  #('+94<[B^jMn-] -------------------------------------------------------------------------------- /Codes/Proteus/Project1/Project Backups/ProjectFinal [Autosaved].pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/Proteus/Project1/Project Backups/ProjectFinal [Autosaved].pdsprj -------------------------------------------------------------------------------- /Codes/Proteus/Project1/Project Backups/ProjectFinal [20230130, 23-51-54].pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/Proteus/Project1/Project Backups/ProjectFinal [20230130, 23-51-54].pdsprj -------------------------------------------------------------------------------- /Codes/Proteus/Project1/Project Backups/ProjectFinal [20230131, 05-11-31].pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/Proteus/Project1/Project Backups/ProjectFinal [20230131, 05-11-31].pdsprj -------------------------------------------------------------------------------- /Codes/Proteus/Project1/Project Backups/ProjectFinal [20230131, 09-58-29].pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/Proteus/Project1/Project Backups/ProjectFinal [20230131, 09-58-29].pdsprj -------------------------------------------------------------------------------- /Codes/Proteus/Project1/Project Backups/ProjectFinal [20230131, 11-18-54].pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AsadiAhmad/Micro-Processor-Calculator/HEAD/Codes/Proteus/Project1/Project Backups/ProjectFinal [20230131, 11-18-54].pdsprj -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Micro-Processor-Calculator 2 | Calculator and Thermometer with ATMega32 Micro Processor 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/ProjFinal2.fct: -------------------------------------------------------------------------------- 1 | main DSTACK_USAGE:16 DSTACK_LEVEL:16 FILE:"ProjFinal2.c" LINE:110 2 | printlcd DSTACK_USAGE:18 DSTACK_LEVEL:34 FILE:"ProjFinal2.c" LINE:94 3 | lcd_putchar DSTACK_USAGE:1 DSTACK_LEVEL:35 FILE:"" LINE:265 4 | lcd_gotoxy DSTACK_USAGE:2 DSTACK_LEVEL:37 FILE:"" LINE:247 5 | _lcd_write_data DSTACK_USAGE:1 DSTACK_LEVEL:38 FILE:"" LINE:161 6 | _lcd_write_nibble DSTACK_USAGE:1 DSTACK_LEVEL:39 FILE:"" LINE:139 7 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/ProjFinal2.sym2: -------------------------------------------------------------------------------- 1 |  2 |  3 |  4 |  5 |   #!%!'#(#)#+#0)2)4+4+5+6+8+;->:@:B<C<D<F<I\K\M^N^O^Q^Yl[l]n^n_nanczfzm1o1 -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/ProjFinal2.cci: -------------------------------------------------------------------------------- 1 | VERSION:3 SOURCE_TIMESTAMP:563F5AB1 2 | NODE:I LEVEL:0 LINE:4 "D:\Programming\CodeVision\Application\inc\mega32.h" 3 | NODE:I LEVEL:0 LINE:5 "D:\Programming\CodeVision\Application\inc\alcd.h" 4 | NODE:I LEVEL:0 LINE:6 "D:\Programming\CodeVision\Application\inc\delay.h" 5 | NODE:I LEVEL:0 LINE:7 "D:\Programming\CodeVision\Application\inc\stdlib.h" 6 | NODE:M LEVEL:0 LINE:8 "ADC_VREF_TYPE" 7 | NODE:F LEVEL:0 LINE:10 "read_adc(unsigned char adc_input)" 8 | NODE:F LEVEL:0 LINE:19 "T0Delay(void)" 9 | NODE:F LEVEL:0 LINE:27 "pressed1(int press,int num,int key)" 10 | NODE:F LEVEL:0 LINE:35 "pressed2(int press,int num,int key)" 11 | NODE:F LEVEL:0 LINE:43 "arithmatic(int numb1,int operation2,int numb2)" 12 | NODE:F LEVEL:0 LINE:60 "convert(int number)" 13 | NODE:F LEVEL:0 LINE:94 "printlcd(int result)" 14 | NODE:F LEVEL:0 LINE:110 "main(void)" 15 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/ProjFinal2.atsln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 11.00 2 | # Atmel Studio Solution File, Format Version 11.00 3 | Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "ProjFinal2", "ProjFinal2.cproj", "{405D7DE1-423D-497C-A76A-A46C3F34E8A0}" 4 | EndProject 5 | Global 6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 7 | Debug|AVR = Debug|AVR 8 | Release|AVR = Release|AVR 9 | EndGlobalSection 10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 11 | {405D7DE1-423D-497C-A76A-A46C3F34E8A0}.Debug|AVR.ActiveCfg = Debug|AVR 12 | {405D7DE1-423D-497C-A76A-A46C3F34E8A0}.Debug|AVR.Build.0 = Debug|AVR 13 | {405D7DE1-423D-497C-A76A-A46C3F34E8A0}.Release|AVR.ActiveCfg = Release|AVR 14 | {405D7DE1-423D-497C-A76A-A46C3F34E8A0}.Release|AVR.Build.0 = Release|AVR 15 | EndGlobalSection 16 | GlobalSection(SolutionProperties) = preSolution 17 | HideSolutionNode = FALSE 18 | EndGlobalSection 19 | EndGlobal 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Ahmad Asadi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/ProjFinal2.cproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2.0 5 | 6.1 6 | com.HPInfoTech.CodeVisionAVR.C 7 | {405D7DE1-423D-497C-A76A-A46C3F34E8A0} 8 | ATmega32 9 | none 10 | Executable 11 | C 12 | $(MSBuildProjectName) 13 | .cof 14 | $(MSBuildProjectDirectory)\$(Configuration) 15 | ProjFinal2 16 | ProjFinal2 17 | ProjFinal2 18 | Native 19 | true 20 | false 21 | 22 | 0 23 | 24 | 25 | 26 | 27 | "ProjFinal2.prj" 28 | 29 | 30 | 31 | 32 | 33 | 34 | "ProjFinal2.prj" 35 | 36 | 37 | 38 | 39 | 40 | compile 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/List/ProjFinal2.map: -------------------------------------------------------------------------------- 1 | RAM Allocation [bytes] 2 | Variable Address Size 3 | ------------------------------------------------------------------------------------------------ 4 | _base_y 0x0260 4 5 | _seed 0x0264 4 6 | 7 | EEPROM Allocation [bytes] 8 | Variable Address Size 9 | ------------------------------------------------------------------------------------------------ 10 | 11 | Register Allocation 12 | Variable Register Size 13 | ------------------------------------------------------------------------------------------------ 14 | _lcd_x R5 1 15 | _lcd_y R4 1 16 | _lcd_maxx R7 1 17 | 18 | FLASH Allocation [words] 19 | Function Address Size 20 | ------------------------------------------------------------------------------------------------ 21 | read_adc 0x0006A 15 22 | T0Delay 0x00079 12 23 | pressed1 0x00085 9 24 | pressed2 0x0008E 12 25 | arithmatic 0x0009A 49 26 | convert 0x000CB 73 27 | printlcd 0x00114 68 28 | main 0x00158 290 29 | _lcd_write_nibble_G100 0x0027A 20 30 | _lcd_write_data 0x0028E 12 31 | lcd_gotoxy 0x0029A 13 32 | lcd_clear 0x002A7 12 33 | lcd_putchar 0x002B3 21 34 | lcd_puts 0x002C8 17 35 | lcd_init 0x002D9 46 36 | itoa 0x00307 46 37 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/ProjFinal2.hex: -------------------------------------------------------------------------------- 1 | :0C0000000C943D000C9400000C940000D7 2 | :10000C000C9400000C9400000C9400000C94000064 3 | :10001C000C9400000C9400000C9400000C94000054 4 | :10002C000C9400000C9400000C9400000C94000044 5 | :10003C000C9400000C9400000C9400000C94000034 6 | :10004C000C9400000C940000000000000000000064 7 | :10005C00000080C001002D4E414E00494E4600006C 8 | :10006C00020060025E000100640260000000F8946F 9 | :10007C00EE27ECBBF1E0FBBFEBBFE5BF8DE0A2E0F0 10 | :10008C00BB27ED938A95E9F780E098E0A0E6ED9325 11 | :10009C000197E9F7ECE6F0E085919591009761F016 12 | :1000AC00A591B59105901590BF01F00105900D92A9 13 | :1000BC000197E1F7FB01F0CFEFE5EDBFE8E0EEBF14 14 | :1000CC00C0E6D2E00C945801AA93E881E06CE7B941 15 | :1000DC008BE18A95F1F7369A349BFECF349AE4B1D2 16 | :1000EC00F5B10C940503E0E8E2BFE5E0E3BFE8B747 17 | :1000FC00E0FFFDCFE0E0E3BFE1E0E8BF0895BA9395 18 | :10010C00AA93EC81FD81309711F40E94350308C04D 19 | :10011C00BA93AA93AC81BD81119711F40E94350357 20 | :10012C00EA81FB8126960895BA93AA931A930A93AF 21 | :10013C0000E010E0AC81BD81119729F40E944603C8 22 | :10014C000E94D0038F01AC81BD81129729F40E94CB 23 | :10015C0046030E94B8038F01AC81BD81139739F41B 24 | :10016C00AA81BB81EE81FF81EA1BFB0B8F01AC8165 25 | :10017C00BD81149729F40E944603EA0FFB1F8F01DF 26 | :10018C00F8011981088128960895BA93AA93E881F9 27 | :10019C00F981309719F4E0E30C94A502A881B98198 28 | :1001AC00119719F4E1E30C94A502A881B981129777 29 | :1001BC0019F4E2E30C94A502A881B981139719F400 30 | :1001CC00E3E30C94A502A881B981149719F4E4E334 31 | :1001DC000C94A502A881B981159719F4E5E30C9448 32 | :1001EC00A502A881B981169719F4E6E30C94A5022F 33 | :1001FC00A881B981179719F4E7E30C94A502A8819B 34 | :10020C00B981189719F4E8E30C94A502A881B98177 35 | :10021C00199711F4E9E393C1E6E291C1BA93AA9359 36 | :10022C002A970E94F9030E944B035AE2A889B989C4 37 | :10023C000E94F503E4F4F801DE011696EE0FFF1FA1 38 | :10024C00EA0FFB1FBF01A889B989EAE0F0E00E9420 39 | :10025C00D503DB01ED93FC930F5F1F4FA889B98980 40 | :10026C00EAE0F0E00E94D003E88BF98BDFCF980135 41 | :10027C0000240216030694F4F9013197DE01169658 42 | :10028C00EE0FFF1FAE0FBF1F0E94F103DF017DDFDA 43 | :10029C005E2FA52F62D121503040EACF0E9400047E 44 | :1002AC006296089560978AE0A6E0B0E0E4E5F0E09D 45 | :1002BC000E9407040E944B0340E050E0EEEFEABBC3 46 | :1002CC00EFEFE4BBEFE0E1BBE0E0EBBBE7BBE8BB8F 47 | :1002DC00E5BBE2BBE3BFE2BFECBFEFBDEEBDEDBDE6 48 | :1002EC00ECBDE7BDE6BDEBBDEABDE9BDE8BDE2BDD9 49 | :1002FC00E5BDE4BDE3BDE9BFE5BFE4BFEAB9E0E8B5 50 | :10030C00E8B9E0ECE7B9E7EAE6B9E0E0E0BFEDB95F 51 | :10031C00E6BFA0E148D1E1E0E2BB849B0BC00E94A8 52 | :10032C005003A7E00E945503A7E00E945E03A7E3D9 53 | :10033C000E946303859B0BC00E945003A8E00E949F 54 | :10034C005503A8E00E945E03A8E30E946303869B0A 55 | :10035C000BC00E945003A9E00E945503A9E00E9423 56 | :10036C005E03A9E30E946303879B07C0E1E0F0E012 57 | :10037C000E946B03AFE20E946303B5DEE2E0E2BBD6 58 | :10038C00849B0BC00E945003A4E00E945503A4E080 59 | :10039C000E945E03A4E30E946303859B0BC00E9432 60 | :1003AC005003A5E00E945503A5E00E945E03A5E35F 61 | :1003BC000E946303869B0BC00E945003A6E00E9420 62 | :1003CC005503A6E00E945E03A6E30E946303879B8D 63 | :1003DC0007C0E2E0F0E00E946B03AAE20E94630314 64 | :1003EC00E4E0E2BB80DE849B0BC00E945003A1E0E2 65 | :1003FC000E945503A1E00E945E03A1E30E946303E7 66 | :10040C00859B0BC00E945003A2E00E945503A2E002 67 | :10041C000E945E03A2E30E946303869B0BC00E94B2 68 | :10042C005003A3E00E945503A3E00E945E03A3E3E4 69 | :10043C000E946303879B07C0E3E0F0E00E946B031C 70 | :10044C00ADE20E946303E8E0E2BB4DDE849B0FC08B 71 | :10045C000E944B0340E050E0E0E0EE87EF87EC8732 72 | :10046C00ED876FD0E0E0E887E9870E947003859BF9 73 | :10047C000BC00E945003A0E00E945503A0E00E9414 74 | :10048C005E03A0E30E946303869B14C03A932A93F5 75 | :10049C00E889F989FA93EA93DA0146DEEC87FD875D 76 | :1004AC00ADE35BD0AC85BD85B9DEE885F9853196C9 77 | :1004BC00E887F987879B07C0E4E0F0E00E946B03B4 78 | :1004CC00ABE20E9463030FDEEA85FB853196EA8777 79 | :1004DC00FB87AA85BB851A9729F4E0E0EA87EB87AE 80 | :1004EC000E94700318CFFFCFAA93E5B3EF70AE2F25 81 | :1004FC00E881E07FEA2BE5BB8DE08A95F1F7AA9ABB 82 | :10050C008DE08A95F1F7AA988DE08A95F1F777C07E 83 | :10051C00AA93A881E9DFE881E295E883A881E4DF6A 84 | :10052C0085E88A95F1F76BC0AA93E881F0E0E05A70 85 | :10053C00FD4FE081A981AE0FEBDF598048802296F8 86 | :10054C000895A2E00E949403ACE0E2DFA1E00E94D7 87 | :10055C009403E0E04E2E5E2E0895AA93A881AA3053 88 | :10056C0011F0571448F0E0E0EA934394A42DDCDF3B 89 | :10057C00A881AA3009F443C05394A89AA881C8DF73 90 | :10058C00A8983DC0BA93AA931A93A981BA81ED9108 91 | :10059C00A983BA831E2FE03019F0A12FDEDFF5CF2F 92 | :1005AC00188123960895AA93E4B3E06FE4BBA29A52 93 | :1005BC00A09AA19AAA98A898A9987880E881E0585E 94 | :1005CC00E0936202E881E054E0936302A4E1B0E0BE 95 | :1005DC000E94A2030E949A030E949A030E949A030B 96 | :1005EC00A0E282DF88EC90E00197F1F7A8E290DFBF 97 | :1005FC00A4E08EDFA5E88CDFA6E08ADFA2DF2196DF 98 | :10060C000895BA93AA93A991B991E991F991309669 99 | :10061C002AF4E095F09531966DE26D93E89480E1C3 100 | :10062C0097E20DD088EE93E00AD084E6992707D0A4 101 | :10063C008AE005D06E2F10D066276C93089566273C 102 | :10064C00E817F90720F06395E81BF90BC9F7662347 103 | :10065C0011F416F008956894605D6D930895EA8125 104 | :10066C00FB81AAE0B0E00E94B803EA83FB83E88137 105 | :10067C00F981AA81BB81EA0FFB1FEA83FB830895F2 106 | :10068C00EA81FB81AE81BF81089500E010E020E09B 107 | :10069C0030E008951A930A933A932A930895B0E0A0 108 | :1006AC000E9485009F011A930A935A934A930895C6 109 | :1006BC00B0E00E948E00AF0108950E94B302E8855D 110 | :1006CC00F9853196E887F9870895EE87FF8701E071 111 | :1006DC0010E00895A0E00E946A00EE83FF83AE81D3 112 | :1006EC00BF81E4E0F0E00E94D003EE83FF83FA9335 113 | :1006FC00EA93DE0112960E940703EEE2EA83E3E43A 114 | :10070C00EB83E0E0EA93A1E00E949A02DE010E94F2 115 | :10071C00C802E885EA93A0E00C949A020E948E022B 116 | :10072C00A3E0B0E00C94A203A0E30E947A0288EC50 117 | :10073C0090E00197F1F70895109639F080ED97E06D 118 | :10074C000197F1F7A8951197C9F70895F195E195DF 119 | :10075C00F0400895FA9FF02DEB9FF00DEA9FE02DED 120 | :10076C00F10D08952AD0F6DF0EF4F0DF0895002481 121 | :10077C00112490E1AA0FBB1F001C111C0E1A1F0A9A 122 | :10078C0018F40E0E1F1E01C0A1609A9599F7FD0179 123 | :10079C00D001089512D0EBDF0EF4D8DF0895E89461 124 | :1007AC00B7FF04C0A095B09511966894F7FDCEDF05 125 | :1007BC00DEDFFD010EF4CADF0895E894F7FF02C0F6 126 | :1007CC00C5DF6894B7FF06C0A095B095119600F8E8 127 | :1007DC00039400FA0895ED91FC911197089500246B 128 | :1007EC000A160B0608955A934A933A932A931A932E 129 | :1007FC000A9308955D814C813B812A81198108817E 130 | :10080C000895AC0FBD1F05900D928A95E1F70895E0 131 | :00000001FF 132 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/alcd.al: -------------------------------------------------------------------------------- 1 | ;PCODE: $00000000 VOL: 0 2 | #ifndef __SLEEP_DEFINED__ 3 | ;PCODE: $00000001 VOL: 0 4 | #define __SLEEP_DEFINED__ 5 | ;PCODE: $00000002 VOL: 0 6 | .EQU __se_bit=0x80 7 | ;PCODE: $00000003 VOL: 0 8 | .EQU __sm_mask=0x70 9 | ;PCODE: $00000004 VOL: 0 10 | .EQU __sm_powerdown=0x20 11 | ;PCODE: $00000005 VOL: 0 12 | .EQU __sm_powersave=0x30 13 | ;PCODE: $00000006 VOL: 0 14 | .EQU __sm_standby=0x60 15 | ;PCODE: $00000007 VOL: 0 16 | .EQU __sm_ext_standby=0x70 17 | ;PCODE: $00000008 VOL: 0 18 | .EQU __sm_adc_noise_red=0x10 19 | ;PCODE: $00000009 VOL: 0 20 | .SET power_ctrl_reg=mcucr 21 | ;PCODE: $0000000A VOL: 0 22 | #endif 23 | ;PCODE: $0000000B VOL: 0 24 | ;PCODE: $0000000C VOL: 0 25 | 26 | .DSEG 27 | 28 | .CSEG 29 | ;PCODE: $0000000D VOL: 0 30 | ;PCODE: $0000000E VOL: 0 31 | ;PCODE: $0000000F VOL: 0 32 | ;PCODE: $00000010 VOL: 0 33 | ;PCODE: $00000011 VOL: 0 34 | ;PCODE: $00000012 VOL: 0 35 | ;PCODE: $00000013 VOL: 0 36 | ;PCODE: $00000014 VOL: 0 37 | ;PCODE: $00000015 VOL: 0 38 | ;PCODE: $00000016 VOL: 0 39 | ;PCODE: $00000017 VOL: 0 40 | ;PCODE: $00000018 VOL: 0 41 | ;PCODE: $00000019 VOL: 0 42 | ;PCODE: $0000001A VOL: 0 43 | ;PCODE: $0000001B VOL: 0 44 | ;PCODE: $0000001C VOL: 0 45 | ;PCODE: $0000001D VOL: 0 46 | ;PCODE: $0000001E VOL: 0 47 | ;PCODE: $0000001F VOL: 0 48 | ;PCODE: $00000020 VOL: 0 49 | ;PCODE: $00000021 VOL: 0 50 | ;PCODE: $00000022 VOL: 0 51 | ;PCODE: $00000023 VOL: 0 52 | ;PCODE: $00000024 VOL: 0 53 | ;PCODE: $00000025 VOL: 0 54 | ;PCODE: $00000026 VOL: 0 55 | ld r30,y 56 | ;PCODE: $00000027 VOL: 0 57 | swap r30 58 | ;PCODE: $00000028 VOL: 0 59 | st y,r30 60 | ;PCODE: $00000029 VOL: 0 61 | ;PCODE: $0000002A VOL: 0 62 | ;PCODE: $0000002B VOL: 0 63 | ;PCODE: $0000002C VOL: 0 64 | ;PCODE: $0000002D VOL: 0 65 | ;PCODE: $0000002E VOL: 0 66 | ;PCODE: $0000002F VOL: 0 67 | ;PCODE: $00000030 VOL: 0 68 | ;PCODE: $00000031 VOL: 0 69 | ;PCODE: $00000032 VOL: 0 70 | ;PCODE: $00000033 VOL: 0 71 | ;PCODE: $00000034 VOL: 0 72 | ;PCODE: $00000035 VOL: 0 73 | ;PCODE: $00000036 VOL: 0 74 | ;PCODE: $00000037 VOL: 0 75 | ;PCODE: $00000038 VOL: 0 76 | ;PCODE: $00000039 VOL: 0 77 | ;PCODE: $0000003A VOL: 0 78 | ;PCODE: $0000003B VOL: 0 79 | ;PCODE: $0000003C VOL: 0 80 | ;PCODE: $0000003D VOL: 0 81 | ;PCODE: $0000003E VOL: 0 82 | ;PCODE: $0000003F VOL: 0 83 | ;PCODE: $00000040 VOL: 0 84 | ;PCODE: $00000041 VOL: 0 85 | ;PCODE: $00000042 VOL: 0 86 | ;PCODE: $00000043 VOL: 0 87 | ;PCODE: $00000044 VOL: 0 88 | ;PCODE: $00000045 VOL: 0 89 | ;PCODE: $00000046 VOL: 0 90 | ;PCODE: $00000047 VOL: 0 91 | ;PCODE: $00000048 VOL: 0 92 | ;PCODE: $00000049 VOL: 0 93 | ;PCODE: $0000004A VOL: 0 94 | ;PCODE: $0000004B VOL: 0 95 | ;PCODE: $0000004C VOL: 0 96 | ;PCODE: $0000004D VOL: 0 97 | ;PCODE: $0000004E VOL: 0 98 | ;PCODE: $0000004F VOL: 0 99 | ;PCODE: $00000050 VOL: 0 100 | ;PCODE: $00000051 VOL: 0 101 | ;PCODE: $00000052 VOL: 0 102 | ;PCODE: $00000053 VOL: 0 103 | ;PCODE: $00000054 VOL: 0 104 | ;PCODE: $00000055 VOL: 0 105 | ;PCODE: $00000056 VOL: 0 106 | ;PCODE: $00000057 VOL: 0 107 | ;PCODE: $00000058 VOL: 0 108 | ;PCODE: $00000059 VOL: 0 109 | ;PCODE: $0000005A VOL: 0 110 | ;PCODE: $0000005B VOL: 0 111 | ;PCODE: $0000005C VOL: 0 112 | ;PCODE: $0000005D VOL: 0 113 | ;PCODE: $0000005E VOL: 0 114 | ;PCODE: $0000005F VOL: 0 115 | ;PCODE: $00000060 VOL: 0 116 | ;PCODE: $00000061 VOL: 0 117 | ;PCODE: $00000062 VOL: 0 118 | ;PCODE: $00000063 VOL: 0 119 | ;PCODE: $00000064 VOL: 0 120 | ;PCODE: $00000065 VOL: 0 121 | ;PCODE: $00000066 VOL: 0 122 | ;PCODE: $00000067 VOL: 0 123 | ;PCODE: $00000068 VOL: 0 124 | ;PCODE: $00000069 VOL: 0 125 | ;PCODE: $0000006A VOL: 0 126 | ;PCODE: $0000006B VOL: 0 127 | ;PCODE: $0000006C VOL: 0 128 | ;PCODE: $0000006D VOL: 0 129 | ;PCODE: $0000006E VOL: 0 130 | ;PCODE: $0000006F VOL: 0 131 | ;PCODE: $00000070 VOL: 0 132 | ;PCODE: $00000071 VOL: 0 133 | ;PCODE: $00000072 VOL: 0 134 | ;PCODE: $00000073 VOL: 0 135 | ;PCODE: $00000074 VOL: 0 136 | ;PCODE: $00000075 VOL: 0 137 | ;PCODE: $00000076 VOL: 0 138 | ;PCODE: $00000077 VOL: 0 139 | ;PCODE: $00000078 VOL: 0 140 | ;PCODE: $00000079 VOL: 0 141 | ;PCODE: $0000007A VOL: 0 142 | ;PCODE: $0000007B VOL: 0 143 | ;PCODE: $0000007C VOL: 0 144 | ;PCODE: $0000007D VOL: 0 145 | ;PCODE: $0000007E VOL: 0 146 | ;PCODE: $0000007F VOL: 0 147 | ;PCODE: $00000080 VOL: 0 148 | ;PCODE: $00000081 VOL: 0 149 | ;PCODE: $00000082 VOL: 0 150 | ;PCODE: $00000083 VOL: 0 151 | ;PCODE: $00000084 VOL: 0 152 | ;PCODE: $00000085 VOL: 0 153 | ;PCODE: $00000086 VOL: 0 154 | ;PCODE: $00000087 VOL: 0 155 | ;PCODE: $00000088 VOL: 0 156 | ;PCODE: $00000089 VOL: 0 157 | ;PCODE: $0000008A VOL: 0 158 | ;PCODE: $0000008B VOL: 0 159 | ;PCODE: $0000008C VOL: 0 160 | ;PCODE: $0000008D VOL: 0 161 | ;PCODE: $0000008E VOL: 0 162 | ;PCODE: $0000008F VOL: 0 163 | ;PCODE: $00000090 VOL: 0 164 | ;PCODE: $00000091 VOL: 0 165 | ;PCODE: $00000092 VOL: 0 166 | ;PCODE: $00000093 VOL: 0 167 | ;PCODE: $00000094 VOL: 0 168 | ;PCODE: $00000095 VOL: 0 169 | ;PCODE: $00000096 VOL: 0 170 | ;PCODE: $00000097 VOL: 0 171 | ;PCODE: $00000098 VOL: 0 172 | ;PCODE: $00000099 VOL: 0 173 | ;PCODE: $0000009A VOL: 0 174 | ;PCODE: $0000009B VOL: 0 175 | ;PCODE: $0000009C VOL: 0 176 | ;PCODE: $0000009D VOL: 0 177 | ;PCODE: $0000009E VOL: 0 178 | ;PCODE: $0000009F VOL: 0 179 | ;PCODE: $000000A0 VOL: 0 180 | ;PCODE: $000000A1 VOL: 0 181 | ;PCODE: $000000A2 VOL: 0 182 | ;PCODE: $000000A3 VOL: 0 183 | ;PCODE: $000000A4 VOL: 0 184 | ;PCODE: $000000A5 VOL: 0 185 | ;PCODE: $000000A6 VOL: 0 186 | ;PCODE: $000000A7 VOL: 0 187 | ;PCODE: $000000A8 VOL: 0 188 | ;PCODE: $000000A9 VOL: 0 189 | ;PCODE: $000000AA VOL: 0 190 | ;PCODE: $000000AB VOL: 0 191 | ;PCODE: $000000AC VOL: 0 192 | ;PCODE: $000000AD VOL: 0 193 | ;PCODE: $000000AE VOL: 0 194 | ;PCODE: $000000AF VOL: 0 195 | ;PCODE: $000000B0 VOL: 0 196 | ;PCODE: $000000B1 VOL: 0 197 | ;PCODE: $000000B2 VOL: 0 198 | ;PCODE: $000000B3 VOL: 0 199 | ;PCODE: $000000B4 VOL: 0 200 | ;PCODE: $000000B5 VOL: 0 201 | ;PCODE: $000000B6 VOL: 0 202 | ;PCODE: $000000B7 VOL: 0 203 | ;PCODE: $000000B8 VOL: 0 204 | ;PCODE: $000000B9 VOL: 0 205 | ;PCODE: $000000BA VOL: 0 206 | ;PCODE: $000000BB VOL: 0 207 | ;PCODE: $000000BC VOL: 0 208 | ;PCODE: $000000BD VOL: 0 209 | ;PCODE: $000000BE VOL: 0 210 | ;PCODE: $000000BF VOL: 0 211 | ;PCODE: $000000C0 VOL: 0 212 | ;PCODE: $000000C1 VOL: 0 213 | ;PCODE: $000000C2 VOL: 0 214 | ;PCODE: $000000C3 VOL: 0 215 | ;PCODE: $000000C4 VOL: 0 216 | ;PCODE: $000000C5 VOL: 0 217 | ;PCODE: $000000C6 VOL: 0 218 | ;PCODE: $000000C7 VOL: 0 219 | ;PCODE: $000000C8 VOL: 0 220 | ;PCODE: $000000C9 VOL: 0 221 | ;PCODE: $000000CA VOL: 0 222 | ;PCODE: $000000CB VOL: 0 223 | ;PCODE: $000000CC VOL: 0 224 | ;PCODE: $000000CD VOL: 0 225 | ;PCODE: $000000CE VOL: 0 226 | ;PCODE: $000000CF VOL: 0 227 | ;PCODE: $000000D0 VOL: 0 228 | ;PCODE: $000000D1 VOL: 0 229 | ;PCODE: $000000D2 VOL: 0 230 | ;PCODE: $000000D3 VOL: 0 231 | ;PCODE: $000000D4 VOL: 0 232 | ;PCODE: $000000D5 VOL: 0 233 | ;PCODE: $000000D6 VOL: 0 234 | ;PCODE: $000000D7 VOL: 0 235 | ;PCODE: $000000D8 VOL: 0 236 | ;PCODE: $000000D9 VOL: 0 237 | ;PCODE: $000000DA VOL: 0 238 | ;PCODE: $000000DB VOL: 0 239 | ;PCODE: $000000DC VOL: 0 240 | ;PCODE: $000000DD VOL: 0 241 | ;PCODE: $000000DE VOL: 0 242 | ;PCODE: $000000DF VOL: 0 243 | ;PCODE: $000000E0 VOL: 0 244 | ;PCODE: $000000E1 VOL: 0 245 | ;PCODE: $000000E2 VOL: 0 246 | ;PCODE: $000000E3 VOL: 0 247 | ;PCODE: $000000E4 VOL: 0 248 | ;PCODE: $000000E5 VOL: 0 249 | ;PCODE: $000000E6 VOL: 0 250 | ;PCODE: $000000E7 VOL: 0 251 | ;PCODE: $000000E8 VOL: 0 252 | ;PCODE: $000000E9 VOL: 0 253 | ;PCODE: $000000EA VOL: 0 254 | ;PCODE: $000000EB VOL: 0 255 | ;PCODE: $000000EC VOL: 0 256 | ;PCODE: $000000ED VOL: 0 257 | ;PCODE: $000000EE VOL: 0 258 | ;PCODE: $000000EF VOL: 0 259 | ;PCODE: $000000F0 VOL: 0 260 | ;PCODE: $000000F1 VOL: 0 261 | ;PCODE: $000000F2 VOL: 0 262 | ;PCODE: $000000F3 VOL: 0 263 | ;PCODE: $000000F4 VOL: 0 264 | ;PCODE: $000000F5 VOL: 0 265 | ;PCODE: $000000F6 VOL: 0 266 | ;PCODE: $000000F7 VOL: 0 267 | ;PCODE: $000000F8 VOL: 0 268 | ;PCODE: $000000F9 VOL: 0 269 | ;PCODE: $000000FA VOL: 0 270 | ;PCODE: $000000FB VOL: 0 271 | ;PCODE: $000000FC VOL: 0 272 | ;PCODE: $000000FD VOL: 0 273 | ;PCODE: $000000FE VOL: 0 274 | ;PCODE: $000000FF VOL: 0 275 | ;PCODE: $00000100 VOL: 0 276 | ;PCODE: $00000101 VOL: 0 277 | ;PCODE: $00000102 VOL: 0 278 | ;PCODE: $00000103 VOL: 0 279 | ;PCODE: $00000104 VOL: 0 280 | ;PCODE: $00000105 VOL: 0 281 | ;PCODE: $00000106 VOL: 0 282 | ;PCODE: $00000107 VOL: 0 283 | ;PCODE: $00000108 VOL: 0 284 | ;PCODE: $00000109 VOL: 0 285 | ;PCODE: $0000010A VOL: 0 286 | ;PCODE: $0000010B VOL: 0 287 | ;PCODE: $0000010C VOL: 0 288 | ;PCODE: $0000010D VOL: 0 289 | ;PCODE: $0000010E VOL: 0 290 | ;PCODE: $0000010F VOL: 0 291 | ;PCODE: $00000110 VOL: 0 292 | ;PCODE: $00000111 VOL: 0 293 | ;PCODE: $00000112 VOL: 0 294 | ;PCODE: $00000113 VOL: 0 295 | ;PCODE: $00000114 VOL: 0 296 | ;PCODE: $00000115 VOL: 0 297 | ;PCODE: $00000116 VOL: 0 298 | ;PCODE: $00000117 VOL: 0 299 | ;PCODE: $00000118 VOL: 0 300 | ;PCODE: $00000119 VOL: 0 301 | ;PCODE: $0000011A VOL: 0 302 | ;PCODE: $0000011B VOL: 0 303 | ;PCODE: $0000011C VOL: 0 304 | ;PCODE: $0000011D VOL: 0 305 | ;PCODE: $0000011E VOL: 0 306 | ;PCODE: $0000011F VOL: 0 307 | ;PCODE: $00000120 VOL: 0 308 | ;PCODE: $00000121 VOL: 0 309 | ;PCODE: $00000122 VOL: 0 310 | ;PCODE: $00000123 VOL: 0 311 | ;PCODE: $00000124 VOL: 0 312 | ;PCODE: $00000125 VOL: 0 313 | ;PCODE: $00000126 VOL: 0 314 | ;PCODE: $00000127 VOL: 0 315 | ;PCODE: $00000128 VOL: 0 316 | ;PCODE: $00000129 VOL: 0 317 | ;PCODE: $0000012A VOL: 0 318 | ;PCODE: $0000012B VOL: 0 319 | ;PCODE: $0000012C VOL: 0 320 | ;PCODE: $0000012D VOL: 0 321 | ;PCODE: $0000012E VOL: 0 322 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/ProjFinal2.c: -------------------------------------------------------------------------------- 1 | /******************************************************* 2 | Ahmad Asadi 99463107 Final Project 3 | *******************************************************/ 4 | #include 5 | #include 6 | #include 7 | #include 8 | #define ADC_VREF_TYPE ((1< 0) { 100 | digit[i] = result % 10; 101 | i = i + 1; 102 | result = result / 10; 103 | } 104 | for(j = i; j > 0; j--) { 105 | chary = convert(digit[j - 1]); 106 | lcd_putchar(chary); 107 | } 108 | } 109 | 110 | void main(void){ 111 | int exp_pressed = 0; 112 | int num1 = 0; 113 | int num2 = 0; 114 | int operation = 0; 115 | int res = 0; 116 | 117 | int round = 0; 118 | int lcdx = 0; 119 | int x = 0; 120 | char out[6]; 121 | 122 | DDRA = 0b11111110; // pin 0 is input 123 | DDRC = 0b11111111; // all output for lcd 124 | DDRD = 0b00001111; // first 4 pin is output and other are input 125 | 126 | PORTA=(0< 5 | #include 6 | #include 7 | #include 8 | 9 | // Declare your global variables here 10 | 11 | // Voltage Reference: Int., cap. on AREF 12 | #define ADC_VREF_TYPE ((1< 0) { 102 | digit[i] = result % 10; 103 | i = i + 1; 104 | result = result / 10; 105 | } 106 | for(j = i; j > 0; j--) { 107 | chary = convert(digit[j - 1]); 108 | lcd_putchar(chary); 109 | } 110 | } 111 | void main(void){ 112 | int exp_pressed = 0; 113 | int num1 = 0; 114 | int num2 = 0; 115 | int operation = 0; 116 | int res = 0; 117 | 118 | int round = 0; 119 | int lcdx = 0; 120 | int x = 0; 121 | char out[6]; 122 | 123 | DDRA = 0b11111110; // pin 0 is input 124 | DDRC = 0b11111111; // all output for lcd 125 | DDRD = 0b00001111; // first 4 pin is output and other are input 126 | 127 | PORTA=(0< 2 | 3 | 4 | 2c00000000000000010000000083ffff0083ffffffffffffffffffffac00000025000000c806000013040000 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -22 42 | No 43 | 100 44 | 120 45 | 100 46 | 47 | 48 | 49 | 50 | 100 51 | No 52 | Yes 53 | 100 54 | 100 55 | Yes 56 | Yes 57 | Yes 58 | Yes 59 | 0 60 | 100 61 | 100 62 | 100 63 | 100 64 | 0 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 2 73 | Yes 74 | 2 75 | Yes 76 | Yes 77 | 00000000 78 | 79 | 80 | 81 | 82 | 2 83 | Yes 84 | 2 85 | Yes 86 | Yes 87 | 00000000 88 | 89 | 90 | 91 | 92 | 2 93 | Yes 94 | 2 95 | Yes 96 | Yes 97 | 00000000 98 | 99 | 100 | 101 | 102 | 2 103 | Yes 104 | 2 105 | Yes 106 | Yes 107 | 00000000 108 | 109 | 110 | 111 | 112 | 2 113 | Yes 114 | 2 115 | Yes 116 | Yes 117 | 00000060 118 | 119 | 120 | 121 | 122 | 2 123 | Yes 124 | 2 125 | Yes 126 | Yes 127 | 00000020 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 100 136 | No 137 | Yes 138 | 100 139 | 1134 140 | Yes 141 | Yes 142 | Yes 143 | Yes 144 | No 145 | 0 146 | 100 147 | 100 148 | 100 149 | 0 150 | 0 151 | 152 | 153 | 154 | 155 | 156 | -------------------------------------------------------------------------------- /Codes/CodeVision/ProjFinal2/Debug/Exe/ProjFinal2.a: -------------------------------------------------------------------------------- 1 | ;/******************************************************* 2 | ;Ahmad Asadi 99463107 Final Project 3 | ;*******************************************************/ 4 | ;#include 5 | ;PCODE: $00000000 VOL: 0 6 | #ifndef __SLEEP_DEFINED__ 7 | ;PCODE: $00000001 VOL: 0 8 | #define __SLEEP_DEFINED__ 9 | ;PCODE: $00000002 VOL: 0 10 | .EQU __se_bit=0x80 11 | ;PCODE: $00000003 VOL: 0 12 | .EQU __sm_mask=0x70 13 | ;PCODE: $00000004 VOL: 0 14 | .EQU __sm_powerdown=0x20 15 | ;PCODE: $00000005 VOL: 0 16 | .EQU __sm_powersave=0x30 17 | ;PCODE: $00000006 VOL: 0 18 | .EQU __sm_standby=0x60 19 | ;PCODE: $00000007 VOL: 0 20 | .EQU __sm_ext_standby=0x70 21 | ;PCODE: $00000008 VOL: 0 22 | .EQU __sm_adc_noise_red=0x10 23 | ;PCODE: $00000009 VOL: 0 24 | .SET power_ctrl_reg=mcucr 25 | ;PCODE: $0000000A VOL: 0 26 | #endif 27 | ;PCODE: $0000000B VOL: 0 28 | ;PCODE: $0000000C VOL: 0 29 | ;#include 30 | ;#include 31 | ;#include 32 | ;#define ADC_VREF_TYPE ((1< Y+0 43 | ;PCODE: $00000010 VOL: 0 44 | ;PCODE: $00000011 VOL: 0 45 | ;PCODE: $00000012 VOL: 0 46 | ; 0000 000C delay_us(10); 47 | ;PCODE: $00000013 VOL: 0 48 | ; 0000 000D ADCSRA|=(1< Y+4 103 | ; num -> Y+2 104 | ; key -> Y+0 105 | ;PCODE: $00000038 VOL: 0 106 | ;PCODE: $00000039 VOL: 0 107 | ;PCODE: $0000003A VOL: 0 108 | ; 0000 001D num = num * 10; 109 | ;PCODE: $0000003B VOL: 0 110 | ;PCODE: $0000003C VOL: 0 111 | ;PCODE: $0000003D VOL: 0 112 | ;PCODE: $0000003E VOL: 0 113 | ; 0000 001E num = num + key; 114 | ;PCODE: $0000003F VOL: 0 115 | ;PCODE: $00000040 VOL: 0 116 | ;PCODE: $00000041 VOL: 0 117 | ;PCODE: $00000042 VOL: 0 118 | ; 0000 001F } 119 | ; 0000 0020 return num; 120 | ;PCODE: $00000043 VOL: 0 121 | ;PCODE: $00000044 VOL: 0 122 | ;PCODE: $00000045 VOL: 0 123 | ;PCODE: $00000046 VOL: 0 124 | ; 0000 0021 } 125 | ;PCODE: $00000047 VOL: 0 126 | ; 127 | ;int pressed2 (int press, int num, int key) { 128 | ; 0000 0023 int pressed2 (int press, int num, int key) { 129 | ;PCODE: $00000048 VOL: 0 130 | ;PCODE: $00000049 VOL: 0 131 | ; 0000 0024 if (press == 1) { 132 | ;PCODE: $0000004A VOL: 0 133 | ; press -> Y+4 134 | ; num -> Y+2 135 | ; key -> Y+0 136 | ;PCODE: $0000004B VOL: 0 137 | ;PCODE: $0000004C VOL: 0 138 | ;PCODE: $0000004D VOL: 0 139 | ; 0000 0025 num = num * 10; 140 | ;PCODE: $0000004E VOL: 0 141 | ;PCODE: $0000004F VOL: 0 142 | ;PCODE: $00000050 VOL: 0 143 | ;PCODE: $00000051 VOL: 0 144 | ; 0000 0026 num = num + key; 145 | ;PCODE: $00000052 VOL: 0 146 | ;PCODE: $00000053 VOL: 0 147 | ;PCODE: $00000054 VOL: 0 148 | ;PCODE: $00000055 VOL: 0 149 | ; 0000 0027 } 150 | ; 0000 0028 return num; 151 | ;PCODE: $00000056 VOL: 0 152 | ;PCODE: $00000057 VOL: 0 153 | ;PCODE: $00000058 VOL: 0 154 | ;PCODE: $00000059 VOL: 0 155 | ; 0000 0029 } 156 | ;PCODE: $0000005A VOL: 0 157 | ; 158 | ;int arithmatic (int numb1, int operation2, int numb2) { 159 | ; 0000 002B int arithmatic (int numb1, int operation2, int numb2) { 160 | ;PCODE: $0000005B VOL: 0 161 | ;PCODE: $0000005C VOL: 0 162 | ; 0000 002C int result = 0; 163 | ; 0000 002D if (operation2 == 1){ 164 | ;PCODE: $0000005D VOL: 0 165 | ;PCODE: $0000005E VOL: 0 166 | ;PCODE: $0000005F VOL: 0 167 | ; numb1 -> Y+6 168 | ; operation2 -> Y+4 169 | ; numb2 -> Y+2 170 | ; result -> R16,R17 171 | ;PCODE: $00000060 VOL: 0 172 | ;PCODE: $00000061 VOL: 0 173 | ;PCODE: $00000062 VOL: 0 174 | ;PCODE: $00000063 VOL: 0 175 | ;PCODE: $00000064 VOL: 0 176 | ; 0000 002E result = numb1 / numb2; 177 | ;PCODE: $00000065 VOL: 0 178 | ;PCODE: $00000066 VOL: 0 179 | ;PCODE: $00000067 VOL: 0 180 | ;PCODE: $00000068 VOL: 0 181 | ; 0000 002F } 182 | ; 0000 0030 if (operation2 == 2){ 183 | ;PCODE: $00000069 VOL: 0 184 | ;PCODE: $0000006A VOL: 0 185 | ;PCODE: $0000006B VOL: 0 186 | ;PCODE: $0000006C VOL: 0 187 | ; 0000 0031 result = numb1 * numb2; 188 | ;PCODE: $0000006D VOL: 0 189 | ;PCODE: $0000006E VOL: 0 190 | ;PCODE: $0000006F VOL: 0 191 | ;PCODE: $00000070 VOL: 0 192 | ; 0000 0032 } 193 | ; 0000 0033 if (operation2 == 3){ 194 | ;PCODE: $00000071 VOL: 0 195 | ;PCODE: $00000072 VOL: 0 196 | ;PCODE: $00000073 VOL: 0 197 | ;PCODE: $00000074 VOL: 0 198 | ; 0000 0034 result = numb1 - numb2; 199 | ;PCODE: $00000075 VOL: 0 200 | ;PCODE: $00000076 VOL: 0 201 | ;PCODE: $00000077 VOL: 0 202 | ;PCODE: $00000078 VOL: 0 203 | ; 0000 0035 } 204 | ; 0000 0036 if (operation2 == 4){ 205 | ;PCODE: $00000079 VOL: 0 206 | ;PCODE: $0000007A VOL: 0 207 | ;PCODE: $0000007B VOL: 0 208 | ;PCODE: $0000007C VOL: 0 209 | ; 0000 0037 result = numb1 + numb2; 210 | ;PCODE: $0000007D VOL: 0 211 | ;PCODE: $0000007E VOL: 0 212 | ;PCODE: $0000007F VOL: 0 213 | ;PCODE: $00000080 VOL: 0 214 | ; 0000 0038 } 215 | ; 0000 0039 return result; 216 | ;PCODE: $00000081 VOL: 0 217 | ;PCODE: $00000082 VOL: 0 218 | ;PCODE: $00000083 VOL: 0 219 | ;PCODE: $00000084 VOL: 0 220 | ;PCODE: $00000085 VOL: 0 221 | ;PCODE: $00000086 VOL: 0 222 | ;PCODE: $00000087 VOL: 0 223 | ;PCODE: $00000088 VOL: 0 224 | ; 0000 003A } 225 | ;PCODE: $00000089 VOL: 0 226 | ; 227 | ;char convert (int number) { 228 | ; 0000 003C char convert (int number) { 229 | ;PCODE: $0000008A VOL: 0 230 | ;PCODE: $0000008B VOL: 0 231 | ; 0000 003D if (number == 0) { 232 | ;PCODE: $0000008C VOL: 0 233 | ; number -> Y+0 234 | ;PCODE: $0000008D VOL: 0 235 | ;PCODE: $0000008E VOL: 0 236 | ;PCODE: $0000008F VOL: 0 237 | ; 0000 003E return '0'; 238 | ;PCODE: $00000090 VOL: 0 239 | ;PCODE: $00000091 VOL: 0 240 | ;PCODE: $00000092 VOL: 0 241 | ; 0000 003F } 242 | ; 0000 0040 if (number == 1) { 243 | ;PCODE: $00000093 VOL: 0 244 | ;PCODE: $00000094 VOL: 0 245 | ;PCODE: $00000095 VOL: 0 246 | ;PCODE: $00000096 VOL: 0 247 | ; 0000 0041 return '1'; 248 | ;PCODE: $00000097 VOL: 0 249 | ;PCODE: $00000098 VOL: 0 250 | ;PCODE: $00000099 VOL: 0 251 | ; 0000 0042 } 252 | ; 0000 0043 if (number == 2) { 253 | ;PCODE: $0000009A VOL: 0 254 | ;PCODE: $0000009B VOL: 0 255 | ;PCODE: $0000009C VOL: 0 256 | ;PCODE: $0000009D VOL: 0 257 | ; 0000 0044 return '2'; 258 | ;PCODE: $0000009E VOL: 0 259 | ;PCODE: $0000009F VOL: 0 260 | ;PCODE: $000000A0 VOL: 0 261 | ; 0000 0045 } 262 | ; 0000 0046 if (number == 3) { 263 | ;PCODE: $000000A1 VOL: 0 264 | ;PCODE: $000000A2 VOL: 0 265 | ;PCODE: $000000A3 VOL: 0 266 | ;PCODE: $000000A4 VOL: 0 267 | ; 0000 0047 return '3'; 268 | ;PCODE: $000000A5 VOL: 0 269 | ;PCODE: $000000A6 VOL: 0 270 | ;PCODE: $000000A7 VOL: 0 271 | ; 0000 0048 } 272 | ; 0000 0049 if (number == 4) { 273 | ;PCODE: $000000A8 VOL: 0 274 | ;PCODE: $000000A9 VOL: 0 275 | ;PCODE: $000000AA VOL: 0 276 | ;PCODE: $000000AB VOL: 0 277 | ; 0000 004A return '4'; 278 | ;PCODE: $000000AC VOL: 0 279 | ;PCODE: $000000AD VOL: 0 280 | ;PCODE: $000000AE VOL: 0 281 | ; 0000 004B } 282 | ; 0000 004C if (number == 5) { 283 | ;PCODE: $000000AF VOL: 0 284 | ;PCODE: $000000B0 VOL: 0 285 | ;PCODE: $000000B1 VOL: 0 286 | ;PCODE: $000000B2 VOL: 0 287 | ; 0000 004D return '5'; 288 | ;PCODE: $000000B3 VOL: 0 289 | ;PCODE: $000000B4 VOL: 0 290 | ;PCODE: $000000B5 VOL: 0 291 | ; 0000 004E } 292 | ; 0000 004F if (number == 6) { 293 | ;PCODE: $000000B6 VOL: 0 294 | ;PCODE: $000000B7 VOL: 0 295 | ;PCODE: $000000B8 VOL: 0 296 | ;PCODE: $000000B9 VOL: 0 297 | ; 0000 0050 return '6'; 298 | ;PCODE: $000000BA VOL: 0 299 | ;PCODE: $000000BB VOL: 0 300 | ;PCODE: $000000BC VOL: 0 301 | ; 0000 0051 } 302 | ; 0000 0052 if (number == 7) { 303 | ;PCODE: $000000BD VOL: 0 304 | ;PCODE: $000000BE VOL: 0 305 | ;PCODE: $000000BF VOL: 0 306 | ;PCODE: $000000C0 VOL: 0 307 | ; 0000 0053 return '7'; 308 | ;PCODE: $000000C1 VOL: 0 309 | ;PCODE: $000000C2 VOL: 0 310 | ;PCODE: $000000C3 VOL: 0 311 | ; 0000 0054 } 312 | ; 0000 0055 if (number == 8) { 313 | ;PCODE: $000000C4 VOL: 0 314 | ;PCODE: $000000C5 VOL: 0 315 | ;PCODE: $000000C6 VOL: 0 316 | ;PCODE: $000000C7 VOL: 0 317 | ; 0000 0056 return '8'; 318 | ;PCODE: $000000C8 VOL: 0 319 | ;PCODE: $000000C9 VOL: 0 320 | ;PCODE: $000000CA VOL: 0 321 | ; 0000 0057 } 322 | ; 0000 0058 if (number == 9) { 323 | ;PCODE: $000000CB VOL: 0 324 | ;PCODE: $000000CC VOL: 0 325 | ;PCODE: $000000CD VOL: 0 326 | ;PCODE: $000000CE VOL: 0 327 | ; 0000 0059 return '9'; 328 | ;PCODE: $000000CF VOL: 0 329 | ;PCODE: $000000D0 VOL: 0 330 | ;PCODE: $000000D1 VOL: 0 331 | ; 0000 005A } 332 | ; 0000 005B return '&'; 333 | ;PCODE: $000000D2 VOL: 0 334 | ;PCODE: $000000D3 VOL: 0 335 | ;PCODE: $000000D4 VOL: 0 336 | ;PCODE: $000000D5 VOL: 0 337 | ; 0000 005C } 338 | ;PCODE: $000000D6 VOL: 0 339 | ; 340 | ;void printlcd (int result) { 341 | ; 0000 005E void printlcd (int result) { 342 | ;PCODE: $000000D7 VOL: 0 343 | ;PCODE: $000000D8 VOL: 0 344 | ; 0000 005F int digit[5]; 345 | ; 0000 0060 int i = 0; 346 | ; 0000 0061 int j = 0; 347 | ; 0000 0062 char chary= '*'; 348 | ; 0000 0063 while (result > 0) { 349 | ;PCODE: $000000D9 VOL: 0 350 | ;PCODE: $000000DA VOL: 0 351 | ;PCODE: $000000DB VOL: 0 352 | ; result -> Y+16 353 | ; digit -> Y+6 354 | ; i -> R16,R17 355 | ; j -> R18,R19 356 | ; chary -> R21 357 | ;PCODE: $000000DC VOL: 0 358 | ;PCODE: $000000DD VOL: 0 359 | ;PCODE: $000000DE VOL: 0 360 | ;PCODE: $000000DF VOL: 0 361 | ;PCODE: $000000E0 VOL: 0 362 | ;PCODE: $000000E1 VOL: 0 363 | ;PCODE: $000000E2 VOL: 0 364 | ;PCODE: $000000E3 VOL: 0 365 | ;PCODE: $000000E4 VOL: 0 366 | ;PCODE: $000000E5 VOL: 0 367 | ; 0000 0064 digit[i] = result % 10; 368 | ;PCODE: $000000E6 VOL: 0 369 | ;PCODE: $000000E7 VOL: 0 370 | ;PCODE: $000000E8 VOL: 0 371 | ;PCODE: $000000E9 VOL: 0 372 | ;PCODE: $000000EA VOL: 0 373 | ;PCODE: $000000EB VOL: 0 374 | ;PCODE: $000000EC VOL: 0 375 | ;PCODE: $000000ED VOL: 0 376 | ;PCODE: $000000EE VOL: 0 377 | ;PCODE: $000000EF VOL: 0 378 | ; 0000 0065 i = i + 1; 379 | ;PCODE: $000000F0 VOL: 0 380 | ;PCODE: $000000F1 VOL: 0 381 | ; 0000 0066 result = result / 10; 382 | ;PCODE: $000000F2 VOL: 0 383 | ;PCODE: $000000F3 VOL: 0 384 | ;PCODE: $000000F4 VOL: 0 385 | ;PCODE: $000000F5 VOL: 0 386 | ; 0000 0067 } 387 | ;PCODE: $000000F6 VOL: 0 388 | ;PCODE: $000000F7 VOL: 0 389 | ; 0000 0068 for(j = i; j > 0; j--) { 390 | ;PCODE: $000000F8 VOL: 0 391 | ;PCODE: $000000F9 VOL: 0 392 | ;PCODE: $000000FA VOL: 0 393 | ;PCODE: $000000FB VOL: 0 394 | ;PCODE: $000000FC VOL: 0 395 | ;PCODE: $000000FD VOL: 0 396 | ;PCODE: $000000FE VOL: 0 397 | ;PCODE: $000000FF VOL: 0 398 | ; 0000 0069 chary = convert(digit[j - 1]); 399 | ;PCODE: $00000100 VOL: 0 400 | ;PCODE: $00000101 VOL: 0 401 | ;PCODE: $00000102 VOL: 0 402 | ;PCODE: $00000103 VOL: 0 403 | ;PCODE: $00000104 VOL: 0 404 | ;PCODE: $00000105 VOL: 0 405 | ;PCODE: $00000106 VOL: 0 406 | ;PCODE: $00000107 VOL: 0 407 | ;PCODE: $00000108 VOL: 0 408 | ; 0000 006A lcd_putchar(chary); 409 | ;PCODE: $00000109 VOL: 0 410 | ;PCODE: $0000010A VOL: 0 411 | ; 0000 006B } 412 | ;PCODE: $0000010B VOL: 0 413 | ;PCODE: $0000010C VOL: 0 414 | ;PCODE: $0000010D VOL: 0 415 | ;PCODE: $0000010E VOL: 0 416 | ;PCODE: $0000010F VOL: 0 417 | ; 0000 006C } 418 | ;PCODE: $00000110 VOL: 0 419 | ;PCODE: $00000111 VOL: 0 420 | ;PCODE: $00000112 VOL: 0 421 | ;PCODE: $00000113 VOL: 0 422 | ; 423 | ;void main(void){ 424 | ; 0000 006E void main(void){ 425 | ;PCODE: $00000114 VOL: 0 426 | ; 0000 006F int exp_pressed = 0; 427 | ; 0000 0070 int num1 = 0; 428 | ; 0000 0071 int num2 = 0; 429 | ; 0000 0072 int operation = 0; 430 | ; 0000 0073 int res = 0; 431 | ; 0000 0074 432 | ; 0000 0075 int round = 0; 433 | ; 0000 0076 int lcdx = 0; 434 | ; 0000 0077 int x = 0; 435 | ; 0000 0078 char out[6]; 436 | ; 0000 0079 437 | ; 0000 007A DDRA = 0b11111110; // pin 0 is input 438 | ;PCODE: $00000115 VOL: 0 439 | ;PCODE: $00000116 VOL: 0 440 | ;PCODE: $00000117 VOL: 0 441 | ;PCODE: $00000118 VOL: 0 442 | ;PCODE: $00000119 VOL: 0 443 | ; exp_pressed -> R16,R17 444 | ; num1 -> R18,R19 445 | ; num2 -> R20,R21 446 | ; operation -> Y+14 447 | ; res -> Y+12 448 | ; round -> Y+10 449 | ; lcdx -> Y+8 450 | ; x -> Y+6 451 | ; out -> Y+0 452 | ;PCODE: $0000011A VOL: 0 453 | ;PCODE: $0000011B VOL: 0 454 | ;PCODE: $0000011C VOL: 0 455 | ;PCODE: $0000011D VOL: 0 456 | ;PCODE: $0000011E VOL: 0 457 | ;PCODE: $0000011F VOL: 0 458 | ;PCODE: $00000120 VOL: 0 459 | ;PCODE: $00000121 VOL: 0 460 | ; 0000 007B DDRC = 0b11111111; // all output for lcd 461 | ;PCODE: $00000122 VOL: 0 462 | ;PCODE: $00000123 VOL: 0 463 | ; 0000 007C DDRD = 0b00001111; // first 4 pin is output and other are input 464 | ;PCODE: $00000124 VOL: 0 465 | ;PCODE: $00000125 VOL: 0 466 | ; 0000 007D 467 | ; 0000 007E PORTA=(0<