Microprocessor Course – AVR - ATmega1284P

                 

Course Instructor: Prof. Costas Foudas, F3.303, x8750

                                  Costas.Fountas@cern.ch

Laboratory Instructor:

Course hours: To be agreed in Autumn 2021

This is part of a new course at the Physics Department of the University of Ioannina on programmable devices and it has been designed as crash course on micro-controllers. Experience with digital electronics is helpful but not necessary. The course language is English due to the fact that all documentation about Microcontrollers is in English and freely available in the internet.

The course goals are:

·       To teach the architecture of an AVR micro-controller.

·       To demonstrate that a micro-controller can be programmed and be useful in everyday life applications.

·       To give the students useful professional skills.

·       To teach the basics of electronics-design by constructing various interfaces of the micro-controller with other devices.

The basic processor is the ATMEL ATmega1284P micro-controller.

Documentation aboutATmega1284P can be downloaded here:

ATmega1284P Data Sheet Summary

ATmega1284P Data Sheet Data Sheet

ATMEL AVR Instruction Set Manual

AVR364 ATMega1284 Xplained HARDWARE Users Guide

The Electronic Schematics XPLAINED Evaluation Board

Lectures:

Introductory Lecture

Introduction - Basic Digital Electronics and Numerical Systems

Lecture-1: AVR Assembly I

Lecture-2: Setting up the ATmega1284P Ports as Input or Output

Lecture-3: Status Register - Setting up and calling subroutines

Lecture-4: Pointers-Reading/writing to SRAM-Reading tables from Flush Memory

Lecture-5: Digital Voltmeter - Writing a device driver

Lecture-6: Interrupts - Timer0/Counter0 Interrupt

·       Example of code for Interrupt Timer0: PORTB LEDs TURN ON/OFF every sec