Need to create a microcontroller based signal gegerator which would generate sine, triangle and square waves. There should be two buttons(up/down) to adjust frequency and two buttons to adjust amplitude. The minimum resolution is 20mV and frequency range is 0 to 10kHz. When powered on the frequency, level and the waveform used on the last use should be used as default values. I can use only one 16F628 microcontroller and the code should be written in assembly only.(I need an explanation about the functioning of the circuit and the code also)