Controlling LED brightness with a PWM signal

In this project, you will control the brightness of an LED using a Pulse-Width-Modulated (PWM) signal. PWM signals are higher-frequency pulse trains on a single digital I/O pin that are integrated (filtered) by an external circuit to create a lower frequency analog signal – they are effectively low-cost DAC circuits. The Assembly language program for this project uses subroutines, so program flow control and use of the stack is also introduced.