Aircraft Starting Mockup Display With Buzzer Question
This application cries out for a small $0.50 microcontroller. I have code for the PIC10F200, the most simple they have. It will require a +5 volt supply for its Vdd pin. A 78L05 3-pin voltage regulator will be OK.
Start switch goes low when pressed, and high when released. Since the microcontroller only allows logical inputs between zero and +5v, some resistors will be required. A light-emitting diode D1 indicates success, and a passive PIEZO-type buzzer indicates failure.






simulate this circuit &ndash; Schematic created using CircuitLab

The code for the microcontroller does some initializing, then waits for SW1 to go low. After about ten milliseconds, another check for a low of SW1 accomplishes de-bouncing. A very long counter increments until SW1 goes high. Then the counter is tested for a value corresponding to a time period of ten seconds. If it is greater, LED D1 is illuminated. If it is less, PIEZO switches high-to-low-to-high....frequency of 1.95 kHz.

;ten second delay start switch
;LED indicator anode to GPIO 1, cathode to Vss
;passive PIEZO sounder to GPIO 0, other end to Vdd, or to Vss.
;March 2017
#include p10f200.inc
    __config _WDT_OFF&amp;_CP_OFF&amp;_MCLRE_OFF
#define startsw GPIO,2      ;start switch input. Pressed is "low".

;------------------------------------
cnt equ 0x10
;------------------------------------
    Org 0               ;power-on reset starts from here
    movlw b'00001100'   ;two outputs: LED, buzzer
    tris GPIO
    movlw b'11001000'   ;enable TMR0, 1MHz clock
    OPTION
    clrf cnt+2          ;zero the counter
    clrf cnt+1
    clrf GPIO           ;turn off LED

;wait until start switch is pressed, logic level goes from high-to-low
wtsgl:
    btfsc startsw
    b wtsgl
;now it has gone low, de-bounce by waiting 10 ms.
;that requires 10000 counts of TMR0
    movlw .39
    movwf cnt
debounce:
    btfss TMR0,7
    b $-1
    btfsc TMR0,7
    b $-1
    decfsz cnt,f        ;wait till cnt=0
    b debounce

tstagn:
    btfsc startsw       ;still low?
    b errortst          ;no - has gone high
    btfss TMR0,7
    b $-1
    btfsc TMR0,7
    b $-1
    incfsz cnt,f        ;increment every 256 us.
    b tstagn
    incfsz cnt+1,f      ;increments every 65536 us.
    b tstagn
    incf cnt+2,f        ;increments every 16777216 us.
    b tstagn

errortst:
;get here when startsw has gone high. If 24-bit "cnt" is less than
;10000, then that's an error condition (too soon). If 24-bit "cnt"
;is greater than 10000, then that's OK, turn on the LED light.
    movf cnt+2,w        ;if this is zero, might be too soon.
    skpz                ;if greater than zero, that's a long time.
    b allOK
    movlw .153          ;153 or greater is OK (longer than ten seconds)
    subwf cnt+1,w
    bnc errorbuzz       ;too soon!
allOK:
    bsf GPIO,1          ;Turn on LED
    b $                 ;loop forever
;
errorbuzz:              ;buzz forever at 1.95 kHz
    btfss TMR0,7
    b $-1
    btfsc TMR0,7
    b $-1
    incf GPIO,w         ;toggle buzzer
    andlw b'00000001'
    movwf GPIO
    b errorbuzz 
;------------------------------------
    END