Aims
(i) To develop an appreciation of the design workflow when writing code (firmware) for the ATmega32A microcontroller when using an Integrated Development Environment (IDE) such as Microchip Studio 7.0
(ii) To use the ATmega32A datasheets to determine and interpret essential characteristics of the microcontroller.
(iii) To design and implement a lookup table using Assembler from a description written in pseudocode.
(iv) To use Microchip Studio 7.0 to simulate the behaviour of the ATmega32A microcontroller.
Introduction
In this laboratory, you are required to use the Microchip Studio 7.0 Development Environment to develop a small firmware application in AVR Assembler for the ATmega32A. Marks will be awarded for developing fully functional firmware and in-depth analysis via a supporting written report. This laboratory accounts for a total of 7% of the overall course grade. The knowledge gained during this laboratory will be examined as part of the Lectorial Quizzes scheduled later in the semester. You will work individually, and your progress will be assessed via a written laboratory report / code submission which is due Friday, Week 4 at 11:59pm. A late penalty of 10% of the total score possible per calendar day late will apply for submissions past the due date / time. Your submission will only be considered complete when the report as well as the corresponding code is submitted to Canvas.
The aim of this laboratory is to create a short algorithm that generates a unique value based on your student number. The task will require the use of lookup tables which can be considered as constant arrays in High-Level programming languages such as C / C++. The first lookup table contains the values for the key generation algorithm and by the end of the laboratory you will create and use a second table which contains your student number.
Assessment Process
When you have finished all of the assessable items please place your findings in a brief laboratory report (no more than 5 pages of content). Ensure that you have described the outcomes of your code and provided clear screenshots of the register window (or other sections) to support your discussion. The report should be written as a standalone document which clearly describes the tasks undertaken, your development process, your results and how they were validated. The code samples are to be uploaded to the Canvas website as per the naming conventions specified in Section 3. A rubric can be found in the remaining pages of this document and on the subject Canvas website. The laboratory is an individual assessment. No other libraries or source code (apart from your own) are to be incorporated into the submission. Furthermore, a penalty of 10 marks per 24-hour period reduction will be applied to all late submissions (inclusive of weekends).