Added missing classes from final year at OSU

This commit is contained in:
2019-06-17 14:04:15 -07:00
parent 8fa1ffb1b0
commit c717a0316f
166 changed files with 653934 additions and 308 deletions

View File

@@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Atmel Studio Solution File, Format Version 11.00
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{18226A42-8477-4023-8AD2-40C49DA407C9}") = "Corwin_Perren_Lab7_challengecode", "Corwin_Perren_Lab7_challengecode\Corwin_Perren_Lab7_challengecode.asmproj", "{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AVR = Debug|AVR
Release|AVR = Release|AVR
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}.Debug|AVR.ActiveCfg = Debug|AVR
{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}.Debug|AVR.Build.0 = Debug|AVR
{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}.Release|AVR.ActiveCfg = Release|AVR
{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,12 @@
;
; Corwin_Perren_Lab7_challengecode.asm
;
; Created: 11/7/2018 4:13:18 PM
; Author : caperren
;
; Replace with your application code
start:
inc r16
rjmp start

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>7.0</ProjectVersion>
<ToolchainName>com.Atmel.AVRAssembler</ToolchainName>
<ProjectGuid>59B1D629-9DCC-43ed-A0FD-8AB0E4D622AB</ProjectGuid>
<avrdeviceseries>none</avrdeviceseries>
<avrdevice>ATmega128</avrdevice>
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
<OutputFileExtension>.obj</OutputFileExtension>
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
<Language>ASSEMBLY</Language>
<AssemblyName>Corwin_Perren_Lab7_challengecode</AssemblyName>
<Name>Corwin_Perren_Lab7_challengecode</Name>
<RootNamespace>Corwin_Perren_Lab7_challengecode</RootNamespace>
<ToolchainFlavour>Native</ToolchainFlavour>
<EntryFile>$(MSBuildProjectDirectory)\Corwin_Perren_Lab7_challengecode.asm</EntryFile>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<CacheFlash>true</CacheFlash>
<ProgFlashFromRam>true</ProgFlashFromRam>
<RamSnippetAddress />
<UncachedRange />
<preserveEEPROM>true</preserveEEPROM>
<OverrideVtorValue />
<BootSegment>2</BootSegment>
<ResetRule>0</ResetRule>
<eraseonlaunchrule>0</eraseonlaunchrule>
<EraseKey />
<AsfFrameworkConfig>
<framework-data xmlns="">
<options />
<configurations />
<files />
<documentation help="" />
<offline-documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.40.0" />
</dependencies>
</framework-data>
</AsfFrameworkConfig>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrAssembler>
<avrasm.assembler.general.AdditionalIncludeDirectories>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\avrasm\inc</Value>
</ListValues>
</avrasm.assembler.general.AdditionalIncludeDirectories>
<avrasm.assembler.general.IncludeFile>m128def.inc</avrasm.assembler.general.IncludeFile>
</AvrAssembler>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrAssembler>
<avrasm.assembler.general.AdditionalIncludeDirectories>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\avrasm\inc</Value>
</ListValues>
</avrasm.assembler.general.AdditionalIncludeDirectories>
<avrasm.assembler.general.IncludeFile>m128def.inc</avrasm.assembler.general.IncludeFile>
</AvrAssembler>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
<Compile Include="Corwin_Perren_Lab7_challengecode.asm">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Assembler.targets" />
</Project>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
<ProjectComponents>
<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CApiVersion></CApiVersion>
<CBundle></CBundle>
<CClass>Device</CClass>
<CGroup>Startup</CGroup>
<CSub></CSub>
<CVariant></CVariant>
<CVendor>Atmel</CVendor>
<CVersion>1.2.0</CVersion>
<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
<Description></Description>
<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc</AbsolutePath>
<Attribute></Attribute>
<Category>include</Category>
<Condition>AVRASM</Condition>
<FileContentHash i:nil="true" />
<FileVersion></FileVersion>
<Name>avrasm/inc</Name>
<SelectString></SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc\m128def.inc</AbsolutePath>
<Attribute></Attribute>
<Category>header</Category>
<Condition>AVRASM</Condition>
<FileContentHash>bd3TUV9UtxpdYQkn+6MWPA==</FileContentHash>
<FileVersion></FileVersion>
<Name>avrasm/inc/m128def.inc</Name>
<SelectString></SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\templates\main.asm</AbsolutePath>
<Attribute>template</Attribute>
<Category>source</Category>
<Condition>AVRASM</Condition>
<FileContentHash>rbbsner92ALdzlNDevb80Q==</FileContentHash>
<FileVersion></FileVersion>
<Name>avrasm/templates/main.asm</Name>
<SelectString>Main file (.asm)</SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
</Files>
<PackName>ATmega_DFP</PackName>
<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/Atmel.ATmega_DFP.pdsc</PackPath>
<PackVersion>1.2.209</PackVersion>
<PresentInProject>true</PresentInProject>
<ReferenceConditionId>ATmega128</ReferenceConditionId>
<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string></d4p1:string>
</RteComponents>
<Status>Resolved</Status>
<VersionMode>Fixed</VersionMode>
<IsComponentInAtProject>true</IsComponentInAtProject>
</ProjectComponent>
</ProjectComponents>
</Store>

View File

@@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Atmel Studio Solution File, Format Version 11.00
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{18226A42-8477-4023-8AD2-40C49DA407C9}") = "Corwin_Perren_Lab7_sourcecode", "Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asmproj", "{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AVR = Debug|AVR
Release|AVR = Release|AVR
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}.Debug|AVR.ActiveCfg = Debug|AVR
{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}.Debug|AVR.Build.0 = Debug|AVR
{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}.Release|AVR.ActiveCfg = Release|AVR
{59B1D629-9DCC-43ED-A0FD-8AB0E4D622AB}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,306 @@
;***********************************************************
;*
;* Corwin_Perren_Lab7_sourcecode.asm
;*
;* This program allows for speed control of the tekbot
;* by using timer counters, with adjustment via buttons
;*
;* This is the skeleton file for Lab 7 of ECE 375
;*
;***********************************************************
;*
;* Author: Corwin Perren
;* Date: 11/7/2018
;*
;***********************************************************
.include "m128def.inc" ; Include definition file
;***********************************************************
;* Internal Register Definitions and Constants
;***********************************************************
.def mpr = r16 ; Multipurpose register
.def waitcnt = r17 ; Wait Loop Counter
.def ilcnt = r18 ; Inner Loop Counter
.def olcnt = r19 ; Outer Loop Counter
.def speed_reg = r20 ; Store of speed
.def mpr2 = r21
.equ WTime = 15 ; Button debounce time
.equ max_level = 15 ; Max speed level
.equ min_level = 0 ; Min speed level
.equ speed_multiplier = 17 ; Mutiplier for timer
.equ sd_mask = 0b00001111 ; Pins for speed display [B]
.equ dr_mask = 0b11110000 ; Pins for driving [B]
.equ EngEnR = 4 ; Right Engine Enable Bit [B]
.equ EngEnL = 7 ; Left Engine Enable Bit [B]
.equ EngDirR = 5 ; Right Engine Direction Bit [B]
.equ EngDirL = 6 ; Left Engine Direction Bit [B]
.equ upMax = 0 ; Set speed to max bit [D]
.equ upInc = 1 ; Increase speed by one bit [D]
.equ downInc = 2 ; Decrease speed by one bit [D]
.equ downMin = 3 ; Decrease speed to min bit [D]
.equ InterruptFlagRegisterClear = (1 << INTF0) | (1 << INTF1) | (1 << INTF2) | (1 << INTF3)
;***********************************************************
;* Start of Code Segment
;***********************************************************
.cseg ; beginning of code segment
;***********************************************************
;* Interrupt Vectors
;***********************************************************
.org $0000
rjmp INIT ; reset interrupt
; place instructions in interrupt vectors here, if needed
.org INT0addr
rjmp SPEEDMAX
.org INT1addr
rjmp INCSPEED
.org INT2addr
rjmp DECSPEED
.org INT3addr
rjmp SPEEDMIN
.org $0046 ; end of interrupt vectors
;***********************************************************
;* Program Initialization
;***********************************************************
INIT:
; Initialize the Stack Pointer
ldi mpr, low(RAMEND) ; Init the 2 stack pointer registers
out SPL, mpr
ldi mpr, high(RAMEND)
out SPH, mpr
; Configure I/O ports
; Set drive pins and led display to outputs
ldi mpr, ((1 << EngEnR) | (1 << EngDirR) | (1 << EngEnL) | (1 << EngDirL) | sd_mask)
out DDRB, mpr
; Initialize Port D pins for input
ldi mpr, ((0 << upMax) | (0 << upInc) | (0 << downInc) | (0 << downMin)) ; Not necessary, just being explicit
out DDRD, mpr
; Set input pins to enable pullups
ldi mpr, ((1 << upMax) | (1 << upInc) | (1 << downInc) | (1 << downMin))
out PORTD, mpr
; Configure External Interrupts, if needed
; Enable falling edge pin change interrupts on all input pins
ldi mpr, ((1 << ISC01) | (1 << ISC11) | (1 << ISC21) | (1 << ISC31))
sts EICRA, mpr
; Set mask to enable the four interrupts
ldi mpr, ((1 << INT0) | (1 << INT1) | (1 << INT2) | (1 << INT3))
out EIMSK, mpr
; Configure 8-bit Timer/Counters
; Setup timer/counter 0
ldi mpr, ((1 << WGM00) | (1 << COM01) | (1 << COM00) | (1 << WGM01) | ( 1 << CS00) | ( 1 << CS01) | ( 1 << CS02))
out TCCR0, mpr
; Setup timer/counter 2
ldi mpr, ((1 << WGM20) | (1 << COM21) | (1 << COM20) | (1 << WGM21) | ( 1 << CS20) | ( 1 << CS22))
out TCCR2, mpr
; Set TekBot to Move Forward (1<<EngDirR|1<<EngDirL)
ldi mpr, (1 << EngDirR | 1 << EngDirL)
out PORTB, mpr
; Set initial speed, display on Port B pins 3:0
ldi speed_reg, min_level ; Gets displayed on first loop run
; Enable global interrupts (if any are used)
sei
;***********************************************************
;* Main Program
;***********************************************************
MAIN:
in mpr, PINB ; Load current drive state
ldi mpr2, dr_mask ; Load drive mask
and mpr, mpr2 ; And to clear all speed pins
or mpr, speed_reg ; Or to set new speed display
out PORTB, mpr ; Write display
ldi mpr2, speed_multiplier ; Load multiplier
mul speed_reg, mpr2 ; Multiply for real speed
out OCR0, r0 ; Load low byte into counter
out OCR2, r0 ; Load low byte into other counter
rjmp MAIN ; Return to top of MAIN
;***********************************************************
;* Functions and Subroutines
;***********************************************************
;-----------------------------------------------------------
; Func: SPEEDMAX (ISR)
; Desc: Sets the tekbot speed to its max, full movement
;-----------------------------------------------------------
SPEEDMAX:
cli
; If needed, save variables by pushing to the stack
push waitcnt
push mpr
; Execute the function here
ldi speed_reg, max_level
; Wait for button to stabilize
ldi waitcnt, WTime ; Wait for 1 second
rcall Wait ; Call wait function
; Clear interrupt flags so no new interrupts until after
ldi mpr, InterruptFlagRegisterClear
out EIFR, mpr
; Restore any saved variables by popping from stack
pop mpr
pop waitcnt
sei
reti ; End a function with RET
;-----------------------------------------------------------
; Func: INCSPEED (ISR)
; Desc: Increases tekbot speed by 1, if not at max
;-----------------------------------------------------------
INCSPEED: ; Begin a function with a label
cli
; If needed, save variables by pushing to the stack
push mpr
push waitcnt
; Execute the function here
ldi mpr, max_level
cpse speed_reg, mpr
inc speed_reg
; Wait for button to stabilize
ldi waitcnt, WTime ; Wait for 1 second
rcall Wait ; Call wait function
; Clear interrupt flags so no new interrupts until after
ldi mpr, InterruptFlagRegisterClear
out EIFR, mpr
; Restore any saved variables by popping from stack
pop waitcnt
pop mpr
sei
reti ; End a function with RET
;-----------------------------------------------------------
; Func: DECSPEED (ISR)
; Desc: Decreases tekbot speed by one, if not at min
;-----------------------------------------------------------
DECSPEED: ; Begin a function with a label
cli
; If needed, save variables by pushing to the stack
push mpr
push waitcnt
; Execute the function here
ldi mpr, min_level
cpse speed_reg, mpr
dec speed_reg
; Wait for button to stabilize
ldi waitcnt, WTime ; Wait for 1 second
rcall Wait ; Call wait function
; Clear interrupt flags so no new interrupts until after
ldi mpr, InterruptFlagRegisterClear
out EIFR, mpr
; Restore any saved variables by popping from stack
pop waitcnt
pop mpr
sei
reti ; End a function with RET
;-----------------------------------------------------------
; Func: SPEEDMIN (ISR)
; Desc: Sets tekbot speed to min, no movement
;-----------------------------------------------------------
SPEEDMIN: ; Begin a function with a label
cli
; If needed, save variables by pushing to the stack
push waitcnt
push mpr
; Execute the function here
ldi speed_reg, min_level
; Wait for button to stabilize
ldi waitcnt, WTime ; Wait for 1 second
rcall Wait ; Call wait function
; Clear interrupt flags so no new interrupts until after
ldi mpr, InterruptFlagRegisterClear
out EIFR, mpr
; Restore any saved variables by popping from stack
pop mpr
pop waitcnt
sei
reti ; End a function with RET
;----------------------------------------------------------------
; Sub: Wait
; Desc: A wait loop that is 16 + 159975*waitcnt cycles or roughly
; waitcnt*10ms. Just initialize wait for the specific amount
; of time in 10ms intervals. Here is the general eqaution
; for the number of clock cycles in the wait loop:
; ((3 * ilcnt + 3) * olcnt + 3) * waitcnt + 13 + call
;----------------------------------------------------------------
Wait:
push waitcnt ; Save wait register
push ilcnt ; Save ilcnt register
push olcnt ; Save olcnt register
Loop: ldi olcnt, 224 ; load olcnt register
OLoop: ldi ilcnt, 237 ; load ilcnt register
ILoop: dec ilcnt ; decrement ilcnt
brne ILoop ; Continue Inner Loop
dec olcnt ; decrement olcnt
brne OLoop ; Continue Outer Loop
dec waitcnt ; Decrement wait
brne Loop ; Continue Wait loop
pop olcnt ; Restore olcnt register
pop ilcnt ; Restore ilcnt register
pop waitcnt ; Restore wait register
ret ; Return from subroutine
;***********************************************************
;* Stored Program Data
;***********************************************************
; Enter any stored data you might need here
;***********************************************************
;* Additional Program Includes
;***********************************************************
; There are no additional file includes for this program

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>7.0</ProjectVersion>
<ToolchainName>com.Atmel.AVRAssembler</ToolchainName>
<ProjectGuid>59B1D629-9DCC-43ed-A0FD-8AB0E4D622AB</ProjectGuid>
<avrdeviceseries>none</avrdeviceseries>
<avrdevice>ATmega128</avrdevice>
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
<OutputFileExtension>.obj</OutputFileExtension>
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
<Language>ASSEMBLY</Language>
<AssemblyName>Corwin_Perren_Lab7_sourcecode</AssemblyName>
<Name>Corwin_Perren_Lab7_sourcecode</Name>
<RootNamespace>Corwin_Perren_Lab7_sourcecode</RootNamespace>
<ToolchainFlavour>Native</ToolchainFlavour>
<EntryFile>$(MSBuildProjectDirectory)\Corwin_Perren_Lab7_sourcecode.asm</EntryFile>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<CacheFlash>true</CacheFlash>
<ProgFlashFromRam>true</ProgFlashFromRam>
<RamSnippetAddress />
<UncachedRange />
<preserveEEPROM>true</preserveEEPROM>
<OverrideVtorValue />
<BootSegment>2</BootSegment>
<ResetRule>0</ResetRule>
<eraseonlaunchrule>0</eraseonlaunchrule>
<EraseKey />
<AsfFrameworkConfig>
<framework-data xmlns="">
<options />
<configurations />
<files />
<documentation help="" />
<offline-documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.40.0" />
</dependencies>
</framework-data>
</AsfFrameworkConfig>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrAssembler>
<avrasm.assembler.general.AdditionalIncludeDirectories>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\avrasm\inc</Value>
</ListValues>
</avrasm.assembler.general.AdditionalIncludeDirectories>
<avrasm.assembler.general.IncludeFile>m128def.inc</avrasm.assembler.general.IncludeFile>
</AvrAssembler>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrAssembler>
<avrasm.assembler.general.AdditionalIncludeDirectories>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\avrasm\inc</Value>
</ListValues>
</avrasm.assembler.general.AdditionalIncludeDirectories>
<avrasm.assembler.general.IncludeFile>m128def.inc</avrasm.assembler.general.IncludeFile>
</AvrAssembler>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
<Compile Include="Corwin_Perren_Lab7_sourcecode.asm">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Assembler.targets" />
</Project>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
<ProjectComponents>
<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CApiVersion></CApiVersion>
<CBundle></CBundle>
<CClass>Device</CClass>
<CGroup>Startup</CGroup>
<CSub></CSub>
<CVariant></CVariant>
<CVendor>Atmel</CVendor>
<CVersion>1.2.0</CVersion>
<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
<Description></Description>
<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc</AbsolutePath>
<Attribute></Attribute>
<Category>include</Category>
<Condition>AVRASM</Condition>
<FileContentHash i:nil="true" />
<FileVersion></FileVersion>
<Name>avrasm/inc</Name>
<SelectString></SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc\m128def.inc</AbsolutePath>
<Attribute></Attribute>
<Category>header</Category>
<Condition>AVRASM</Condition>
<FileContentHash>bd3TUV9UtxpdYQkn+6MWPA==</FileContentHash>
<FileVersion></FileVersion>
<Name>avrasm/inc/m128def.inc</Name>
<SelectString></SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\templates\main.asm</AbsolutePath>
<Attribute>template</Attribute>
<Category>source</Category>
<Condition>AVRASM</Condition>
<FileContentHash>/AFceVdvjVlVdl/rMwg4mA==</FileContentHash>
<FileVersion></FileVersion>
<Name>avrasm/templates/main.asm</Name>
<SelectString>Main file (.asm)</SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
</Files>
<PackName>ATmega_DFP</PackName>
<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/Atmel.ATmega_DFP.pdsc</PackPath>
<PackVersion>1.2.209</PackVersion>
<PresentInProject>true</PresentInProject>
<ReferenceConditionId>ATmega128</ReferenceConditionId>
<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string></d4p1:string>
</RteComponents>
<Status>Resolved</Status>
<VersionMode>Fixed</VersionMode>
<IsComponentInAtProject>true</IsComponentInAtProject>
</ProjectComponent>
</ProjectComponents>
</Store>

View File

@@ -0,0 +1,20 @@
:020000020000FC
:0200000045C0F9
:0200040064C0D6
:020008006EC0C8
:02000C007AC0B8
:0200100086C0A8
:10008C000FEF0DBF00E10EBF0FEF07BB00E001BB90
:10009C000FE002BB0AEA00936A000FE009BF0FE70A
:1000AC0003BF0DE705BD00E608BB40E0789406B33E
:1000BC0050EF0523042B08BB51E1459F01BE03BC47
:1000CC00F6CFF8941F930F934FE01FE02ED00FE064
:1000DC0008BF0F911F9178941895F8940F931F9364
:1000EC000FE0401343951FE020D00FE008BF1F9195
:1000FC000F9178941895F8940F931F9300E0401388
:10010C004A951FE012D00FE008BF1F910F91789411
:10011C001895F8941F930F9340E01FE006D00FE062
:10012C0008BF0F911F91789418951F932F933F93AD
:10013C0030EE2DEE2A95F1F73A95D9F71A95C1F7CD
:08014C003F912F911F910895CE
:00000001FF

View File

@@ -0,0 +1,900 @@
AVRASM ver. 2.2.7 C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm Wed Nov 07 16:44:50 2018
EQU SIGNATURE_000 0000001e
EQU SIGNATURE_001 00000097
EQU SIGNATURE_002 00000002
EQU UCSR1C 0000009d
EQU UDR1 0000009c
EQU UCSR1A 0000009b
EQU UCSR1B 0000009a
EQU UBRR1H 00000098
EQU UBRR1L 00000099
EQU UCSR0C 00000095
EQU UBRR0H 00000090
EQU TCCR3C 0000008c
EQU TCCR3A 0000008b
EQU TCCR3B 0000008a
EQU TCNT3L 00000088
EQU TCNT3H 00000089
EQU OCR3AL 00000086
EQU OCR3AH 00000087
EQU OCR3BL 00000084
EQU OCR3BH 00000085
EQU OCR3CL 00000082
EQU OCR3CH 00000083
EQU ICR3L 00000080
EQU ICR3H 00000081
EQU ETIMSK 0000007d
EQU ETIFR 0000007c
EQU TCCR1C 0000007a
EQU OCR1CL 00000078
EQU OCR1CH 00000079
EQU TWCR 00000074
EQU TWDR 00000073
EQU TWAR 00000072
EQU TWSR 00000071
EQU TWBR 00000070
EQU OSCCAL 0000006f
EQU XMCRA 0000006d
EQU XMCRB 0000006c
EQU EICRA 0000006a
EQU SPMCSR 00000068
EQU PORTG 00000065
EQU DDRG 00000064
EQU PING 00000063
EQU PORTF 00000062
EQU DDRF 00000061
EQU SREG 0000003f
EQU SPL 0000003d
EQU SPH 0000003e
EQU XDIV 0000003c
EQU RAMPZ 0000003b
EQU EICRB 0000003a
EQU EIMSK 00000039
EQU EIFR 00000038
EQU TIMSK 00000037
EQU TIFR 00000036
EQU MCUCR 00000035
EQU MCUCSR 00000034
EQU TCCR0 00000033
EQU TCNT0 00000032
EQU OCR0 00000031
EQU ASSR 00000030
EQU TCCR1A 0000002f
EQU TCCR1B 0000002e
EQU TCNT1L 0000002c
EQU TCNT1H 0000002d
EQU OCR1AL 0000002a
EQU OCR1AH 0000002b
EQU OCR1BL 00000028
EQU OCR1BH 00000029
EQU ICR1L 00000026
EQU ICR1H 00000027
EQU TCCR2 00000025
EQU TCNT2 00000024
EQU OCR2 00000023
EQU OCDR 00000022
EQU WDTCR 00000021
EQU SFIOR 00000020
EQU EEARL 0000001e
EQU EEARH 0000001f
EQU EEDR 0000001d
EQU EECR 0000001c
EQU PORTA 0000001b
EQU DDRA 0000001a
EQU PINA 00000019
EQU PORTB 00000018
EQU DDRB 00000017
EQU PINB 00000016
EQU PORTC 00000015
EQU DDRC 00000014
EQU PINC 00000013
EQU PORTD 00000012
EQU DDRD 00000011
EQU PIND 00000010
EQU SPDR 0000000f
EQU SPSR 0000000e
EQU SPCR 0000000d
EQU UDR0 0000000c
EQU UCSR0A 0000000b
EQU UCSR0B 0000000a
EQU UBRR0L 00000009
EQU ACSR 00000008
EQU ADMUX 00000007
EQU ADCSRA 00000006
EQU ADCH 00000005
EQU ADCL 00000004
EQU PORTE 00000003
EQU DDRE 00000002
EQU PINE 00000001
EQU PINF 00000000
EQU ACME 00000003
EQU ACIS0 00000000
EQU ACIS1 00000001
EQU ACIC 00000002
EQU ACIE 00000003
EQU ACI 00000004
EQU ACO 00000005
EQU ACBG 00000006
EQU ACD 00000007
EQU SPDR0 00000000
EQU SPDR1 00000001
EQU SPDR2 00000002
EQU SPDR3 00000003
EQU SPDR4 00000004
EQU SPDR5 00000005
EQU SPDR6 00000006
EQU SPDR7 00000007
EQU SPI2X 00000000
EQU WCOL 00000006
EQU SPIF 00000007
EQU SPR0 00000000
EQU SPR1 00000001
EQU CPHA 00000002
EQU CPOL 00000003
EQU MSTR 00000004
EQU DORD 00000005
EQU SPE 00000006
EQU SPIE 00000007
EQU I2BR 00000070
EQU TWBR0 00000000
EQU TWBR1 00000001
EQU TWBR2 00000002
EQU TWBR3 00000003
EQU TWBR4 00000004
EQU TWBR5 00000005
EQU TWBR6 00000006
EQU TWBR7 00000007
EQU I2CR 00000074
EQU TWIE 00000000
EQU I2IE 00000000
EQU TWEN 00000002
EQU I2EN 00000002
EQU ENI2C 00000002
EQU TWWC 00000003
EQU I2WC 00000003
EQU TWSTO 00000004
EQU I2STO 00000004
EQU TWSTA 00000005
EQU I2STA 00000005
EQU TWEA 00000006
EQU I2EA 00000006
EQU TWINT 00000007
EQU I2INT 00000007
EQU I2SR 00000071
EQU TWPS0 00000000
EQU TWS0 00000000
EQU I2GCE 00000000
EQU TWPS1 00000001
EQU TWS1 00000001
EQU TWS3 00000003
EQU I2S3 00000003
EQU TWS4 00000004
EQU I2S4 00000004
EQU TWS5 00000005
EQU I2S5 00000005
EQU TWS6 00000006
EQU I2S6 00000006
EQU TWS7 00000007
EQU I2S7 00000007
EQU I2DR 00000073
EQU TWD0 00000000
EQU TWD1 00000001
EQU TWD2 00000002
EQU TWD3 00000003
EQU TWD4 00000004
EQU TWD5 00000005
EQU TWD6 00000006
EQU TWD7 00000007
EQU I2AR 00000072
EQU TWGCE 00000000
EQU TWA0 00000001
EQU TWA1 00000002
EQU TWA2 00000003
EQU TWA3 00000004
EQU TWA4 00000005
EQU TWA5 00000006
EQU TWA6 00000007
EQU UDR00 00000000
EQU UDR01 00000001
EQU UDR02 00000002
EQU UDR03 00000003
EQU UDR04 00000004
EQU UDR05 00000005
EQU UDR06 00000006
EQU UDR07 00000007
EQU MPCM0 00000000
EQU U2X0 00000001
EQU UPE0 00000002
EQU DOR0 00000003
EQU FE0 00000004
EQU UDRE0 00000005
EQU TXC0 00000006
EQU RXC0 00000007
EQU TXB80 00000000
EQU RXB80 00000001
EQU UCSZ02 00000002
EQU UCSZ2 00000002
EQU TXEN0 00000003
EQU RXEN0 00000004
EQU UDRIE0 00000005
EQU TXCIE0 00000006
EQU RXCIE0 00000007
EQU UCPOL0 00000000
EQU UCSZ00 00000001
EQU UCSZ01 00000002
EQU USBS0 00000003
EQU UPM00 00000004
EQU UPM01 00000005
EQU UMSEL0 00000006
EQU UBRR8 00000000
EQU UBRR9 00000001
EQU UBRR10 00000002
EQU UBRR11 00000003
EQU UBRR0 00000000
EQU UBRR1 00000001
EQU UBRR2 00000002
EQU UBRR3 00000003
EQU UBRR4 00000004
EQU UBRR5 00000005
EQU UBRR6 00000006
EQU UBRR7 00000007
EQU UDR10 00000000
EQU UDR11 00000001
EQU UDR12 00000002
EQU UDR13 00000003
EQU UDR14 00000004
EQU UDR15 00000005
EQU UDR16 00000006
EQU UDR17 00000007
EQU MPCM1 00000000
EQU U2X1 00000001
EQU UPE1 00000002
EQU DOR1 00000003
EQU FE1 00000004
EQU UDRE1 00000005
EQU TXC1 00000006
EQU RXC1 00000007
EQU TXB81 00000000
EQU RXB81 00000001
EQU UCSZ12 00000002
EQU TXEN1 00000003
EQU RXEN1 00000004
EQU UDRIE1 00000005
EQU TXCIE1 00000006
EQU RXCIE1 00000007
EQU UCPOL1 00000000
EQU UCSZ10 00000001
EQU UCSZ11 00000002
EQU USBS1 00000003
EQU UPM10 00000004
EQU UPM11 00000005
EQU UMSEL1 00000006
EQU SREG_C 00000000
EQU SREG_Z 00000001
EQU SREG_N 00000002
EQU SREG_V 00000003
EQU SREG_S 00000004
EQU SREG_H 00000005
EQU SREG_T 00000006
EQU SREG_I 00000007
EQU IVCE 00000000
EQU IVSEL 00000001
EQU SM2 00000002
EQU SM0 00000003
EQU SM1 00000004
EQU SE 00000005
EQU SRW10 00000006
EQU SRE 00000007
EQU SRW11 00000001
EQU SRW00 00000002
EQU SRW01 00000003
EQU SRL0 00000004
EQU SRL1 00000005
EQU SRL2 00000006
EQU XMM0 00000000
EQU XMM1 00000001
EQU XMM2 00000002
EQU XMBK 00000007
EQU CAL0 00000000
EQU CAL1 00000001
EQU CAL2 00000002
EQU CAL3 00000003
EQU CAL4 00000004
EQU CAL5 00000005
EQU CAL6 00000006
EQU CAL7 00000007
EQU XDIV0 00000000
EQU XDIV1 00000001
EQU XDIV2 00000002
EQU XDIV3 00000003
EQU XDIV4 00000004
EQU XDIV5 00000005
EQU XDIV6 00000006
EQU XDIVEN 00000007
EQU PORF 00000000
EQU EXTRF 00000001
EQU BORF 00000002
EQU WDRF 00000003
EQU JTRF 00000004
EQU JTD 00000007
EQU RAMPZ0 00000000
EQU SPMCR 00000068
EQU SPMEN 00000000
EQU PGERS 00000001
EQU PGWRT 00000002
EQU BLBSET 00000003
EQU RWWSRE 00000004
EQU ASRE 00000004
EQU RWWSB 00000006
EQU ASB 00000006
EQU SPMIE 00000007
EQU OCDR0 00000000
EQU OCDR1 00000001
EQU OCDR2 00000002
EQU OCDR3 00000003
EQU OCDR4 00000004
EQU OCDR5 00000005
EQU OCDR6 00000006
EQU OCDR7 00000007
EQU IDRD 00000007
EQU PSR321 00000000
EQU PSR1 00000000
EQU PSR2 00000000
EQU PSR3 00000000
EQU PSR0 00000001
EQU PUD 00000002
EQU TSM 00000007
EQU ISC00 00000000
EQU ISC01 00000001
EQU ISC10 00000002
EQU ISC11 00000003
EQU ISC20 00000004
EQU ISC21 00000005
EQU ISC30 00000006
EQU ISC31 00000007
EQU ISC40 00000000
EQU ISC41 00000001
EQU ISC50 00000002
EQU ISC51 00000003
EQU ISC60 00000004
EQU ISC61 00000005
EQU ISC70 00000006
EQU ISC71 00000007
EQU GICR 00000039
EQU GIMSK 00000039
EQU INT0 00000000
EQU INT1 00000001
EQU INT2 00000002
EQU INT3 00000003
EQU INT4 00000004
EQU INT5 00000005
EQU INT6 00000006
EQU INT7 00000007
EQU GIFR 00000038
EQU INTF0 00000000
EQU INTF1 00000001
EQU INTF2 00000002
EQU INTF3 00000003
EQU INTF4 00000004
EQU INTF5 00000005
EQU INTF6 00000006
EQU INTF7 00000007
EQU EEDR0 00000000
EQU EEDR1 00000001
EQU EEDR2 00000002
EQU EEDR3 00000003
EQU EEDR4 00000004
EQU EEDR5 00000005
EQU EEDR6 00000006
EQU EEDR7 00000007
EQU EERE 00000000
EQU EEWE 00000001
EQU EEMWE 00000002
EQU EERIE 00000003
EQU PORTA0 00000000
EQU PA0 00000000
EQU PORTA1 00000001
EQU PA1 00000001
EQU PORTA2 00000002
EQU PA2 00000002
EQU PORTA3 00000003
EQU PA3 00000003
EQU PORTA4 00000004
EQU PA4 00000004
EQU PORTA5 00000005
EQU PA5 00000005
EQU PORTA6 00000006
EQU PA6 00000006
EQU PORTA7 00000007
EQU PA7 00000007
EQU DDA0 00000000
EQU DDA1 00000001
EQU DDA2 00000002
EQU DDA3 00000003
EQU DDA4 00000004
EQU DDA5 00000005
EQU DDA6 00000006
EQU DDA7 00000007
EQU PINA0 00000000
EQU PINA1 00000001
EQU PINA2 00000002
EQU PINA3 00000003
EQU PINA4 00000004
EQU PINA5 00000005
EQU PINA6 00000006
EQU PINA7 00000007
EQU PORTB0 00000000
EQU PB0 00000000
EQU PORTB1 00000001
EQU PB1 00000001
EQU PORTB2 00000002
EQU PB2 00000002
EQU PORTB3 00000003
EQU PB3 00000003
EQU PORTB4 00000004
EQU PB4 00000004
EQU PORTB5 00000005
EQU PB5 00000005
EQU PORTB6 00000006
EQU PB6 00000006
EQU PORTB7 00000007
EQU PB7 00000007
EQU DDB0 00000000
EQU DDB1 00000001
EQU DDB2 00000002
EQU DDB3 00000003
EQU DDB4 00000004
EQU DDB5 00000005
EQU DDB6 00000006
EQU DDB7 00000007
EQU PINB0 00000000
EQU PINB1 00000001
EQU PINB2 00000002
EQU PINB3 00000003
EQU PINB4 00000004
EQU PINB5 00000005
EQU PINB6 00000006
EQU PINB7 00000007
EQU PORTC0 00000000
EQU PC0 00000000
EQU PORTC1 00000001
EQU PC1 00000001
EQU PORTC2 00000002
EQU PC2 00000002
EQU PORTC3 00000003
EQU PC3 00000003
EQU PORTC4 00000004
EQU PC4 00000004
EQU PORTC5 00000005
EQU PC5 00000005
EQU PORTC6 00000006
EQU PC6 00000006
EQU PORTC7 00000007
EQU PC7 00000007
EQU DDC0 00000000
EQU DDC1 00000001
EQU DDC2 00000002
EQU DDC3 00000003
EQU DDC4 00000004
EQU DDC5 00000005
EQU DDC6 00000006
EQU DDC7 00000007
EQU PINC0 00000000
EQU PINC1 00000001
EQU PINC2 00000002
EQU PINC3 00000003
EQU PINC4 00000004
EQU PINC5 00000005
EQU PINC6 00000006
EQU PINC7 00000007
EQU PORTD0 00000000
EQU PD0 00000000
EQU PORTD1 00000001
EQU PD1 00000001
EQU PORTD2 00000002
EQU PD2 00000002
EQU PORTD3 00000003
EQU PD3 00000003
EQU PORTD4 00000004
EQU PD4 00000004
EQU PORTD5 00000005
EQU PD5 00000005
EQU PORTD6 00000006
EQU PD6 00000006
EQU PORTD7 00000007
EQU PD7 00000007
EQU DDD0 00000000
EQU DDD1 00000001
EQU DDD2 00000002
EQU DDD3 00000003
EQU DDD4 00000004
EQU DDD5 00000005
EQU DDD6 00000006
EQU DDD7 00000007
EQU PIND0 00000000
EQU PIND1 00000001
EQU PIND2 00000002
EQU PIND3 00000003
EQU PIND4 00000004
EQU PIND5 00000005
EQU PIND6 00000006
EQU PIND7 00000007
EQU PORTE0 00000000
EQU PE0 00000000
EQU PORTE1 00000001
EQU PE1 00000001
EQU PORTE2 00000002
EQU PE2 00000002
EQU PORTE3 00000003
EQU PE3 00000003
EQU PORTE4 00000004
EQU PE4 00000004
EQU PORTE5 00000005
EQU PE5 00000005
EQU PORTE6 00000006
EQU PE6 00000006
EQU PORTE7 00000007
EQU PE7 00000007
EQU DDE0 00000000
EQU DDE1 00000001
EQU DDE2 00000002
EQU DDE3 00000003
EQU DDE4 00000004
EQU DDE5 00000005
EQU DDE6 00000006
EQU DDE7 00000007
EQU PINE0 00000000
EQU PINE1 00000001
EQU PINE2 00000002
EQU PINE3 00000003
EQU PINE4 00000004
EQU PINE5 00000005
EQU PINE6 00000006
EQU PINE7 00000007
EQU PORTF0 00000000
EQU PF0 00000000
EQU PORTF1 00000001
EQU PF1 00000001
EQU PORTF2 00000002
EQU PF2 00000002
EQU PORTF3 00000003
EQU PF3 00000003
EQU PORTF4 00000004
EQU PF4 00000004
EQU PORTF5 00000005
EQU PF5 00000005
EQU PORTF6 00000006
EQU PF6 00000006
EQU PORTF7 00000007
EQU PF7 00000007
EQU DDF0 00000000
EQU DDF1 00000001
EQU DDF2 00000002
EQU DDF3 00000003
EQU DDF4 00000004
EQU DDF5 00000005
EQU DDF6 00000006
EQU DDF7 00000007
EQU PINF0 00000000
EQU PINF1 00000001
EQU PINF2 00000002
EQU PINF3 00000003
EQU PINF4 00000004
EQU PINF5 00000005
EQU PINF6 00000006
EQU PINF7 00000007
EQU PORTG0 00000000
EQU PG0 00000000
EQU PORTG1 00000001
EQU PG1 00000001
EQU PORTG2 00000002
EQU PG2 00000002
EQU PORTG3 00000003
EQU PG3 00000003
EQU PORTG4 00000004
EQU PG4 00000004
EQU DDG0 00000000
EQU DDG1 00000001
EQU DDG2 00000002
EQU DDG3 00000003
EQU DDG4 00000004
EQU PING0 00000000
EQU PING1 00000001
EQU PING2 00000002
EQU PING3 00000003
EQU PING4 00000004
EQU CS00 00000000
EQU CS01 00000001
EQU CS02 00000002
EQU WGM01 00000003
EQU CTC0 00000003
EQU COM00 00000004
EQU COM01 00000005
EQU WGM00 00000006
EQU PWM0 00000006
EQU FOC0 00000007
EQU TCNT0_0 00000000
EQU TCNT0_1 00000001
EQU TCNT0_2 00000002
EQU TCNT0_3 00000003
EQU TCNT0_4 00000004
EQU TCNT0_5 00000005
EQU TCNT0_6 00000006
EQU TCNT0_7 00000007
EQU OCR0_0 00000000
EQU OCR0_1 00000001
EQU OCR0_2 00000002
EQU OCR0_3 00000003
EQU OCR0_4 00000004
EQU OCR0_5 00000005
EQU OCR0_6 00000006
EQU OCR0_7 00000007
EQU TCR0UB 00000000
EQU OCR0UB 00000001
EQU TCN0UB 00000002
EQU AS0 00000003
EQU TOIE0 00000000
EQU OCIE0 00000001
EQU TOV0 00000000
EQU OCF0 00000001
EQU TOIE1 00000002
EQU OCIE1B 00000003
EQU OCIE1A 00000004
EQU TICIE1 00000005
EQU OCIE1C 00000000
EQU TOV1 00000002
EQU OCF1B 00000003
EQU OCF1A 00000004
EQU ICF1 00000005
EQU OCF1C 00000000
EQU WGM10 00000000
EQU PWM10 00000000
EQU WGM11 00000001
EQU PWM11 00000001
EQU COM1C0 00000002
EQU COM1C1 00000003
EQU COM1B0 00000004
EQU COM1B1 00000005
EQU COM1A0 00000006
EQU COM1A1 00000007
EQU CS10 00000000
EQU CS11 00000001
EQU CS12 00000002
EQU WGM12 00000003
EQU CTC10 00000003
EQU WGM13 00000004
EQU CTC11 00000004
EQU ICES1 00000006
EQU ICNC1 00000007
EQU FOC1C 00000005
EQU FOC1B 00000006
EQU FOC1A 00000007
EQU CS20 00000000
EQU CS21 00000001
EQU CS22 00000002
EQU WGM21 00000003
EQU CTC2 00000003
EQU COM20 00000004
EQU COM21 00000005
EQU WGM20 00000006
EQU PWM2 00000006
EQU FOC2 00000007
EQU TCNT2_0 00000000
EQU TCNT2_1 00000001
EQU TCNT2_2 00000002
EQU TCNT2_3 00000003
EQU TCNT2_4 00000004
EQU TCNT2_5 00000005
EQU TCNT2_6 00000006
EQU TCNT2_7 00000007
EQU OCR2_0 00000000
EQU OCR2_1 00000001
EQU OCR2_2 00000002
EQU OCR2_3 00000003
EQU OCR2_4 00000004
EQU OCR2_5 00000005
EQU OCR2_6 00000006
EQU OCR2_7 00000007
EQU TOIE2 00000006
EQU OCIE2 00000007
EQU TOV2 00000006
EQU OCF2 00000007
EQU OCIE3C 00000001
EQU TOIE3 00000002
EQU OCIE3B 00000003
EQU OCIE3A 00000004
EQU TICIE3 00000005
EQU OCF3C 00000001
EQU TOV3 00000002
EQU OCF3B 00000003
EQU OCF3A 00000004
EQU ICF3 00000005
EQU WGM30 00000000
EQU PWM30 00000000
EQU WGM31 00000001
EQU PWM31 00000001
EQU COM3C0 00000002
EQU COM3C1 00000003
EQU COM3B0 00000004
EQU COM3B1 00000005
EQU COM3A0 00000006
EQU COM3A1 00000007
EQU CS30 00000000
EQU CS31 00000001
EQU CS32 00000002
EQU WGM32 00000003
EQU CTC30 00000003
EQU WGM33 00000004
EQU CTC31 00000004
EQU ICES3 00000006
EQU ICNC3 00000007
EQU FOC3C 00000005
EQU FOC3B 00000006
EQU FOC3A 00000007
EQU TCN3L0 00000000
EQU TCN3L1 00000001
EQU TCN3L2 00000002
EQU TCN3L3 00000003
EQU TCN3L4 00000004
EQU TCN3L5 00000005
EQU TCN3L6 00000006
EQU TCN3L7 00000007
EQU WDTCSR 00000021
EQU WDP0 00000000
EQU WDP1 00000001
EQU WDP2 00000002
EQU WDE 00000003
EQU WDCE 00000004
EQU WDTOE 00000004
EQU MUX0 00000000
EQU MUX1 00000001
EQU MUX2 00000002
EQU MUX3 00000003
EQU MUX4 00000004
EQU ADLAR 00000005
EQU REFS0 00000006
EQU REFS1 00000007
EQU ADCSR 00000006
EQU ADPS0 00000000
EQU ADPS1 00000001
EQU ADPS2 00000002
EQU ADIE 00000003
EQU ADIF 00000004
EQU ADFR 00000005
EQU ADSC 00000006
EQU ADEN 00000007
EQU ADCH0 00000000
EQU ADCH1 00000001
EQU ADCH2 00000002
EQU ADCH3 00000003
EQU ADCH4 00000004
EQU ADCH5 00000005
EQU ADCH6 00000006
EQU ADCH7 00000007
EQU ADCL0 00000000
EQU ADCL1 00000001
EQU ADCL2 00000002
EQU ADCL3 00000003
EQU ADCL4 00000004
EQU ADCL5 00000005
EQU ADCL6 00000006
EQU ADCL7 00000007
EQU LB1 00000000
EQU LB2 00000001
EQU BLB01 00000002
EQU BLB02 00000003
EQU BLB11 00000004
EQU BLB12 00000005
EQU CKSEL0 00000000
EQU CKSEL1 00000001
EQU CKSEL2 00000002
EQU CKSEL3 00000003
EQU SUT0 00000004
EQU SUT1 00000005
EQU BODEN 00000006
EQU BODLEVEL 00000007
EQU BOOTRST 00000000
EQU BOOTSZ0 00000001
EQU BOOTSZ1 00000002
EQU EESAVE 00000003
EQU CKOPT 00000004
EQU SPIEN 00000005
EQU JTAGEN 00000006
EQU OCDEN 00000007
EQU WDTON 00000000
EQU M103C 00000001
DEF XH r27
DEF XL r26
DEF YH r29
DEF YL r28
DEF ZH r31
DEF ZL r30
EQU FLASHEND 0000ffff
EQU IOEND 000000ff
EQU SRAM_START 00000100
EQU SRAM_SIZE 00001000
EQU RAMEND 000010ff
EQU XRAMEND 0000ffff
EQU E2END 00000fff
EQU EEPROMEND 00000fff
EQU EEADRBITS 0000000c
EQU NRWW_START_ADDR 0000f000
EQU NRWW_STOP_ADDR 0000ffff
EQU RWW_START_ADDR 00000000
EQU RWW_STOP_ADDR 0000efff
EQU PAGESIZE 00000080
EQU FIRSTBOOTSTART 0000fe00
EQU SECONDBOOTSTART 0000fc00
EQU THIRDBOOTSTART 0000f800
EQU FOURTHBOOTSTART 0000f000
EQU SMALLBOOTSTART 0000fe00
EQU LARGEBOOTSTART 0000f000
EQU INT0addr 00000002
EQU INT1addr 00000004
EQU INT2addr 00000006
EQU INT3addr 00000008
EQU INT4addr 0000000a
EQU INT5addr 0000000c
EQU INT6addr 0000000e
EQU INT7addr 00000010
EQU OC2addr 00000012
EQU OVF2addr 00000014
EQU ICP1addr 00000016
EQU OC1Aaddr 00000018
EQU OC1Baddr 0000001a
EQU OVF1addr 0000001c
EQU OC0addr 0000001e
EQU OVF0addr 00000020
EQU SPIaddr 00000022
EQU URXC0addr 00000024
EQU UDRE0addr 00000026
EQU UTXC0addr 00000028
EQU ADCCaddr 0000002a
EQU ERDYaddr 0000002c
EQU ACIaddr 0000002e
EQU OC1Caddr 00000030
EQU ICP3addr 00000032
EQU OC3Aaddr 00000034
EQU OC3Baddr 00000036
EQU OC3Caddr 00000038
EQU OVF3addr 0000003a
EQU URXC1addr 0000003c
EQU UDRE1addr 0000003e
EQU UTXC1addr 00000040
EQU TWIaddr 00000042
EQU SPMRaddr 00000044
EQU INT_VECTORS_SIZE 00000046
DEF mpr r16
DEF waitcnt r17
DEF ilcnt r18
DEF olcnt r19
DEF speed_reg r20
DEF mpr2 r21
EQU WTime 0000000f
EQU max_level 0000000f
EQU min_level 00000000
EQU speed_multiplier 00000011
EQU sd_mask 0000000f
EQU dr_mask 000000f0
EQU EngEnR 00000004
EQU EngEnL 00000007
EQU EngDirR 00000005
EQU EngDirL 00000006
EQU upMax 00000000
EQU upInc 00000001
EQU downInc 00000002
EQU downMin 00000003
EQU InterruptFlagRegisterClear 0000000f
CSEG INIT 00000046
CSEG SPEEDMAX 00000067
CSEG INCSPEED 00000073
CSEG DECSPEED 00000081
CSEG SPEEDMIN 0000008f
CSEG MAIN 0000005d
CSEG Wait 0000009b
CSEG Loop 0000009e
CSEG OLoop 0000009f
CSEG ILoop 000000a0

View File

@@ -0,0 +1,36 @@
<ASSEMBLER_INFO>
<VERSION>2.2.7</VERSION>
<DEVICE>"ATmega128"</DEVICE>
<WORKING_DIR>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Debug</WORKING_DIR>
<INCLUDE_PATH>
<DIR>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc</DIR>
<DIR>C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avrassembler\Include</DIR>
<DIR></DIR>
</INCLUDE_PATH>
<SOURCE_FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</SOURCE_FILE>
<INCLUDED_FILES>
<FILE>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc\m128def.inc</FILE>
</INCLUDED_FILES>
<OBJECT_FILES>
<FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Debug\Corwin_Perren_Lab7_sourcecode.obj</FILE>
</OBJECT_FILES>
<HEX_FILES>
<FILE>Corwin_Perren_Lab7_sourcecode.hex</FILE>
</HEX_FILES>
<OUTPUT_FILES>
<FILE>Corwin_Perren_Lab7_sourcecode.map</FILE>
<FILE>Corwin_Perren_Lab7_sourcecode.lss</FILE>
</OUTPUT_FILES>
<LABELS>
<INIT><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>79</LINE></INIT>
<SPEEDMAX><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>155</LINE></SPEEDMAX>
<INCSPEED><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>184</LINE></INCSPEED>
<DECSPEED><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>215</LINE></DECSPEED>
<SPEEDMIN><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>246</LINE></SPEEDMIN>
<MAIN><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>131</LINE></MAIN>
<Wait><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>279</LINE></Wait>
<Loop><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>284</LINE></Loop>
<OLoop><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>285</LINE></OLoop>
<ILoop><FILE>C:\Users\caperren\Github\ECE_375\Labs\Lab 7\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode\Corwin_Perren_Lab7_sourcecode.asm</FILE><LINE>286</LINE></ILoop>
</LABELS>
</ASSEMBLER_INFO>