The course on "Microprocessor Applications" represents a didactic
material for embedded applications amateurs and an additional study material
for university lectures in this area.
As reference has been selected an AVR microcontroller
produced by Atmel company and applications will be designed in most cases for
ATmega16 microcontroller, which has the majority of modules required to solve
problems for this course. The course itself will include descriptions of some
typical problems and solutions. The reason for selecting the AVR series was
simple architecture in comparison with its main competitors. Also, this series
is widely available on market and has an acceptable price. The course materials
will be presented in such a way as to be applicable to other architectures,
different than AVR.
The course will be divided into two sections:
- Microcontroller Core Architecture. ASM Programming - in this section is analyzed in detail the
microcontroller core structure, its functional principle and the way to
work with its components by using the ASM (Assembly) low-level programming
language.
- Microcontrollers
programming in C language Peripheral modules - this section will include an introduction to microcontroller
programming in C, the specifics of microcontroller programming in this
language (so-called 'high' level programming language). The applications
will be oriented toward working with microcontroller peripheries and
applications development with their use.
In this course you will also find examples of solved
problems that can serve as reference for more complex projects.
Find below the course contents that will be
periodically adjusted and completed.
1. The Microcontroller Core Architecture.
ASM (Assembly) Programming
1. Microcontroller architecture. Memory organization
2. Peripheral modules. GPIO Peripheral modules - Generic Input/Output Port.
3. AVR Microcontroller commands system.
4. Introduction to ASM programming. Stack. Subroutine, subroutine with
parameters.
5. Creation of Basic Algorithmic Constructions: conditions, multiple
selection, loops.
6. Constants. Boolean logic. Mask.
7. Direct access to SRAM memory, Variables, Operations with variables.
8. Indirect access to SRAM memory, Arrays, Processing of arrays.
9. Switches, Programs with interrupts. The RESET interruption.
10. External interrupt.
11. Watchdog Timer
2. Microcontrollers programming in C language. Peripheral modules
1. Introduction to C programming
language. Data structures, functions.
2. Instructions of C programs with
interrups, access to peripherals.
3. TIMER0 Peripheral module,
Timer/Event counter.
4. TIMER1 Peripheral module, OC, IC,
PWM modules.
5. Analog interfaces. The AC and ADC
peripheral modules.
6. Serial interfaces. The SPI and UART
peripheral modules.
7. Efficient programming in C for MCU,
the C-ASM interaction.
A evaluation test sample on Microprocessors course
The ASM problems:
1. Problem L1 - Controlling a LED with
one button.
2. Problem L2 – Rolling lights. The
“Delay” subroutine.
3. Problem L3 - Assessment of
conditional expressions.
4. Problem L4 - Processing of arrays
in ASM
5. Problem L5 - 4x4 Keypad
6. Problem L6 - Dynamic display on LED
Display 8x7seg.
7. Problem of L7 - PWM Generator
controlled through ADC
External references
As
references of this course were taken: university lecture notes of courses on
"Microprocessors" and "Microsystems", information from
similar blogs. However, the best source of inspiration still remains the
technical documentation (Datasheet) and Appnotes from Atmel company.
Looking
forward for expressing your interest by adding the course comments.
Enjoy your
reading...
Niciun comentariu:
Trimiteți un comentariu