/************************************************************************* ** ** ** THE ULTIMATE SOFTWARE DEBOUNCER ** ** ** ** Program: debounce.asm ** ** Version: 1.0 ** ** Date: 5/5/2005 ** ** Author: Elio Mazzocca ** ** E-mail: jnz9876@adam.co.uk ** ** ** ** micro used: ATmega8 with internal 4 MHz oscillator ** ** assembled with: AVR Studio 4.0 ** ** Timer0 interrupt period: 4 mSEC ** ** ** ** Description: This is a 1st order recursive digital filter ** ** with Schmitt trigger output that filters noisy ** ** digital inputs to ATmega8 microcontroller. ** ** The formula employed for the recursive filter: ** ** ** ** ynew = 1/4 xnew + 3/4 yold ** ** ** ** Formula for an inverting Schmitt trigger: ** ** ** ** if(ynew>hi) and (flag=0) then flag=1; vout=1; ** ** if(ynew