Digital Voltimeter

In this exercise you will use the embedded programming techniches presented in previous classes to build a digital voltimeter using an MCU-embedded ADC. The basic idea is to input an analog signal into the MCU and output a digital value corresponding to the analog signal's voltage.

ATMega Microcontroller Family

For this exercise, we will use a new AVR MCU: the AT90CAN128. Your first task is to "port" your solution for our well known Light Keyboard exercise to this new microcontroller.

Useful docs

Solutions

ADC Operation

In this exercise, you will need to implement an application that reads an analog input signal between 0 and 5V and periodically outputs a corresponding digital value (from 0 to 255). In order to do this, you will need to configure the MCU ADC through it's registers; configure the analog reference suplied by STK500 to the MCU and periodically process the 10-bit ADC data. Understanding and implementing these operations is up to you, but the supplied documentation should help you a lot.

Expected results

  1. Working demonstration
  2. Well documented, C++, interrupt-driven working code
  3. Report presenting the design of the implemented hardware and software systems, including software diagrams and operational characteristics (sampling rate, precision, etc.)

Useful docs

Solutions