Paso 4: Módulo de los sonidos
El módulo de sonido utiliza el timbre de LilyPad. Recibe entradas desde el módulo principal, y si se cumplen ciertas condiciones, suena la alarma. El módulo principal reconoce si la alarma está armada (Armada estado = 1) y si se ha interrumpido la luz golpea el sensor IR rotura de la viga mientras que el sistema estaba armado (activado estado = 1). Si ambos son 1, entonces la alarma sonará.
El código es el siguiente:
código en el módulo de alarma se toma de
http://www.fpga4fun.com/MusicBox1.html y modificada
módulo alarmSound (altavoz, clk, triggeredState);
entrada clk;
triggeredState entrada ;
salida de altavoz;
parámetro clkdivider = 25000000-440/2;
reg [23:0] tono;
siempre clk del posedge )
if (triggeredState == 1)
tono de < = tono + 1;
reg [14:0] contador;
siempre clk del posedge )
if (triggeredState == 1)
comenzar
if (contador == 0)
contador < = ([23] el tono? 1 clkdivider: clkdivider/2-1);
otra cosa
contador < = contador-1;
final
rpor ejemplo altavoz;
siempre clk del posedge )
if (triggeredState == 1)
if (contador == 0)
altavoz < = ~ altavoz;
endmodule