Embedded Programming

Microcontroller Data Sheet

This week's assignment is to read a microcontroller data sheet of our choice and build on the PCB we made last week: our hello.world board with added LED and a button. We are to program it to do something with as many programming languages as possible.Since I am a beginner I will be very satisfied if I can get it programmed with one language, Arduino.

I chose to read the data sheet on the ATtiny 84 since that is the microcontroller I used on my hello-world board. Most of the information was completely confusing to me - these things are dense! I recognized some vocabulary that I'me becoming more familiar with after hearing it in most of our class sessions and I hope that the information stated in these data sheets because easier to interpret in the coming months.

I read a lot of specifications in my job as an architect so I was looking for some kind of structure to get acquainted with; it looks like data sheets typically are organized as follows:

- Pin Configurations: very helpful to know what I need to connect to and where things are located

- General Overview: basically explains how the microcontroller functions and gets into more specifics about the individual chip capabilities

- The Architecture: very confusing diagrams and lots of new vocabulary words

- Memory: more diagrams but I found these more interesting since it shows how bits are incorporated

- Clocks, Power, Interrupts, Ports, more details on things I don't know abut.

At this point in the class, I understand very little of what is written. The answer to life could be found in one of these diagrams for all I know. It's confusing and challenging. But, it does show me that any question I may have about a microcontroller is probably answered somewhere in the data sheet. Hopefully, by the end I won't feel like I'm trying to read a novel in another language.

Programming

We did our programming together as a group and used Arduino since eveyrone in our group is a beginner. Shawn walked us through the steps to program our board and we made adjustments as needed for our specific layouts. In order to program our boards I used our FabISP and FTDI programmer plugged in to one of my USB drives and connected a ribbon cable to my 6-pin programming headers. I struggled to get my computer to read the FabISP programmer and we discovered that several people in our group had the same problem. Once we discovered one that worked, we all took turns using it. I used the Arduino Blink and Button example codes and modified the code for my pin assignments with sucess. The only issue I have is that my LED turns off when I press the button instead of turning on. Things are reversed but I am not sure why?

Blinking LED Version 1

Blinking LED Version 2

Blinking LED Version 3

Arduino Code:

Blink

Button

Jessica Metz Fab Academy 2015

Back to Top