ArmandoCircuitos
Inicio
Electronica
Programacion
Resultado
Codigo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Media; namespace Cuenta_regresiva_UART_01 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } byte[] buffer = { 1 }; SoundPlayer tic; byte cnt = 10; int displays; int unidad, decena; private void Form1_Load(object sender, EventArgs e) { serialPort1.Open(); serialPort1.Write(buffer, 0, 1); } private void btnIniciar_Click(object sender, EventArgs e) { cnt = (byte)nudInicio.Value; tic = new SoundPlayer("tic-tac_loop.wav"); tic.PlayLooping(); timer1.Enabled = true; nudInicio.Enabled = false; btnIniciar.Enabled = false; } private void timer1_Tick(object sender, EventArgs e) { lblNumero.Text = cnt.ToString("D2"); unidad = cnt % 10; decena = cnt / 10; displays = unidad << 4; displays = displays + decena; if (cnt == 0) { tic.Stop(); timer1.Enabled = false; tic = new SoundPlayer("tic-tac_end.wav"); tic.Play(); nudInicio.Enabled = true; btnIniciar.Enabled = true; } else cnt--; buffer[0] = (byte)displays; serialPort1.Write(buffer, 0, 1); } private void nudInicio_ValueChanged(object sender, EventArgs e) { cnt = (byte)nudInicio.Value; lblNumero.Text = cnt.ToString("D2"); unidad = cnt % 10; decena = cnt / 10; displays = unidad << 4; displays = displays + decena; buffer[0] = (byte)displays; serialPort1.Write(buffer, 0, 1); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { buffer[0] = 255; serialPort1.Write(buffer, 0, 1); serialPort1.Close(); } } }
Descarga del archivo
Descargar archivo