|Tutorial for learning assembly language for the|
of ATMEL with practical examples.
Simple introduction examples, Tutorial
|What to learn here ...|
|Test1||Test1||Learn to handle the board, output to the board LEDs via a port, basic structure of the assembly language, assembler directives and command. The LEDs will go on and off with 800 Hertz (what a useful example).|
|Test2||Test2||Reading input from a port, call a subroutine, setup and use of the stack by subroutines, binary math operations (AND, OR, ROL, etc.), branching and conditions (SBIx, BRxx). Pressing key 0 and 1 on the board should light up the LEDs 0 and 1, one of the other keys the LEDs 2 to 6, pressing key 7 shuts all the LEDs down (also a rather useful program).|
|Test3||Test3||Read the timer in polling mode, use the MOV command. A loop in the main program reads the hardware counter until it reaches zero, increments a software counter and displays its content in hex on the LEDs of the board (at least something like a clock).|
|Test4||Test4||Timer in interrupt mode, use interrupts, interrupt vectors, BCD-arithmetic. The main program loop waits until the upper byte of a software counter reaches hex 3D. Then it waits until the timer low byte reaches 09 (one second = 15625 decimal = 3D09 hex counter pulses). The counters are reset to zero and the second counter is incremented. The seconds are displayed on the LEDs as packed BCD digits (one digit=4 bits, one byte represents two digits). The seconds are reset to zero, if 60 is reached. The seconds are output for the LEDs.|