need help with this lab

Hello again I attached for you the lab and also after you done with the code please do a pdf and answer for me this questions

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper
  1. What does your program do?
  2. What variables/registers does your program use?
  3. What is the main algorithm/logic of your program?
  4. What external hardware connections did you make?

COMPE-375: Embedded Systems Programming Lab
Lab 3: Keypad Multiplexing
Before starting to this lab assignment:


Go over the following lecture topics:
o General Purpose I/O
Complete Lab 2 successfully
Important notes about this assignment:



You should work on this during your lab session.
Demonstrate the complete lab (if not done so already) by the beginning of the next lab
session.
Note that this and all future lab submissions should be your own unique work, and
unique from other students’ labs. The lab programs should be individual effort, NOT
group work!
Instructions to complete this assignment:
For this Lab assignment, your task is to scan the 4×4 keypad and transmit the corresponding
ASCII character using the USART.
Your program is intended to output the letter or the number that is pushed on the sixteen-button
keypad provided to you, based on which key is being pressed.
The suggestion is that you set rows as output and columns as input. The code shall first set all
rows high at each pass and then, go one row at a time (setting them low), checking each
column in that row, to identify which button is pressed. And then interpret the pressed button
based on the pins each key is associated with and output the key’s corresponding
letter/number/symbol on the Data Visualizer console provided in the Atmel Studio. The code
should run on an infinite loop, continually scanning for any button that is pushed.
Note: If USART is initialized, DO NOT use PD0 and PD1 for keypad (GPIO pins disabled when
Serial I/O enabled for these pins)
After this assignment, you should be able to:



Navigate through the datasheet of your AVR device
Control an external general purpose I/O device (keypad)
Read/write the GPIO registers of your AVR device
Grading (as stated in syllabus):



30% – demonstration of the complete lab assignment
40% – correctness of the complete lab demonstration
30% – brief report, based on template from Lab 0, on the final code implementation
Due Dates:


Demo: Due before/during the next lab session on 9/27
Report: Due by the end of day on 9/27

Are you stuck with your online class?
Get help from our team of writers!

Order your essay today and save 20% with the discount code RAPID