HW 2: Exploring Microcontrollers

You have probably head the term microprocessor in your studies. But what is a microcontroller? The difference between the two is minor in terms of what is going on inside them, but the focus of the two components is very different.

Microprocessor

A microprocessor is a general purpose machine. Basically that term was slapped on the computer when we shrank the major internal components into such a small space that we could encase them in a small chip. To complete a full machine, these components normally interface with other system parts on something we call a motherboard. I would bet all of you have seen such things when you go into any major store selling computers and computer components.

The most common microprocessor is probably the Intel Pentium, which looks something like this:

../_images/pentium-microprocessor.jpg

Microcontrollers

A microcontroller is still a complete computer system, designed to run programs to do its job. But typical microcontrollers have everything they need to function inside one chip. They interface with other kinds of gadgets through the I/O pins provided on the chip. These machines are typically embedded in other products. A typical automobile today may have something approaching 50 such microcontrollers dedicated to managing some aspect of the vehicles operation.

Here is a microcontroller we will use in this class:

../_images/attiny85.png

Your Assignment

First, look closely at the image of the microcontroller chip above. Based only on that picture, and what you know about computers in general, answer these questions:

  1. What company manufactures this chip?
  2. How many pins are available for connecting to external devices to be
    controlled?
  3. What would you need to add to this gadget (at minimum) to make it blink
    a light?

Don’t get carried away with this. Just think about it.

Next, use Google to do some basic research on this part. The name of the part is attiny85. Now answer these additional questions

  • How much memory is available for program code?
  • How much memory is available for program data?
  • How fast can this chip go?
  • How might we create a network of multiple chips to solve some problem.

What to Submit

This assignment will be submitted in a folder in your course repository you will set up on Github. You are to use a text editor and not something like Microsoft Word to create this solution. Your completed assignment must be located in a folder inside your course project folder:

cosc2325-projects/
|
+- homework/
    |
    +- hw1/
    |
    +- hw2/
        |
        + microcontroller-research (this is the assignment solution)

Pay attention to the case of the names you see here. There will be no capital letters in directory names, or in file names. The contents of this file must be in plain ASCII text, created using your favorite programmer’s editor.