Menu Principal:
Prácticas > Práctica 10
Montemos ahora un circuito algo más complicado para utilizar un pulsador como entrada.
Se trata de simular un dado electrónico con 7 LEDs.
Los diodos van conectados al puerto B como se ve en el esquema.
Debemos escribir un programa que mientras esté pulsado el contacto haga aparecer de forma rápida todas las combinaciones en los LEDs, y al soltarlo muestre la última combinación durante 5 segundos, apague los LEDs y espere la próxima tirada.
Las combinaciones en la salida serán las que se muestran en el cuadro, de forma que con cuatro salidas del PIC gobernaremos los siete LEDs para conseguir las seis combinaciones.
Y el programa resultante podría ser el que aparece a continuación.
program Dado
const dado as byte[6]= ($1,$2,$3,$6,$7,$e)
sub function Lanzar as byte
dim i as Byte
i = 0
while not(Button(PORTA, 0, 1, 0))
i = i + 1
if i = 6 then
i = 0
end if
PortB = Dado[i]
delay_ms(10)
wend
result = i
end sub
main:
TrisA = $ff
TrisB = 0
while true
PortB = 0
if (Button(PORTA, 0, 1, 1)) then
PortB = Dado[Lanzar]
delay_ms(5000)
end if
wend
end.