my lab report

Lab/Homework #3

I wanted to give you some experience in programming timers and interrupts, and using assembly language to do so. This is a topic which would be much better served with a more advance processor, such as a Raspberry Pi or such. This was in fact my intent, but because of the current university shutdown situation, we will work with what we have, though I understand this approach will be a bit inferior.

It is very important in studying embedded systems to understand how to use timers and interrupts. These can be programmed using the simple Arduino C programming language, but can be made much more efficient (both in speed and in memory usage) using assembly language. In addition, you can build functions that you do not even have available in Arduino C.

As I am aware that most of you have not programmed in assembly language before, note that these are all fairly low level exercises, built for hobbyists. But they will nonetheless be quite instructive and useful for us to investigate.

I found five different websites that I wish for you to study, program onto your Arduino, and then to build and run them as much as possible with the components you have available.

The five webpages are :

1). https://medium.com/jungletronics/meeting-assembly-…

2). https://microcontrollerslab.com/use-arduino-interr…

3). https://gist.github.com/mhitza/8a4608f4dfdec20d387…

4). https://ucexperiment.wordpress.com/2016/03/04/ardu…

5). https://e-radionica.com/en/blog/low-level-arduino-…

(Note also that I did not write any of these exercises, but rather borrowed them from the given webpages).

A few of these will require you to download a demo version of a software platform named AVR in order to write assembly code for the Arduino. The instructions for doing so are included on the webpages.

Simply follow the given instructions in each of these webpages. Note that they are pretty much step by step, and fairly simple.

Deliverables: Turn in evidence to demonstrate that you have completed each of these tasks. This could include code, screenshots, and especially short videos of the tasks running. You should also include any comments you feel may serve your report well.

Note that I am not expecting a full project report as you did for the two class projects. Think more at the level you would do for a standard lab class. My expectations are, however, that it should still stand as a reasonable and organized lab report, not as a jumbled collection of photos, data, and a few smatterings of statements.

You will turn these in following our established protocol.