Dado electronico con pic usando secuencia pseudoaleatoria

Hola compañeros de la web, tengo un problema q no he podido resolver, necesito hacer un dado electronico con pic16f84, aunque en realidad son dos dados y necesito q se visualicen en dos displays c/u, mi problema es con la secuencia pseudoaleatoria pues en realidad no se como se programaria de esta manera en el pic.
tengo la base de este programa q es un contador de dos displays q llega hasta 59 despues pasa a cero, adjunto mando este programa.

porfa si alguien puede a ayudarme a programar en el pic la secuencia pseudoaleotoria aganmelo saber.


de antemano muchas gracias
 

Adjuntos

  • contador_937.asm
    1.9 KB · Visitas: 93
  • contador_134.rar
    43.9 KB · Visitas: 159
Elkin, la secuencia pseudoaleatoria yo la haría usando la función rand() que suelen incorporar la mayoría de los compiladores de C, caso de que sea ese el lenguaje que uses para programar el micro. Defines para dicha función rand() que el número máximo sea 6, el número que te ha generado rand() se lo das a una variable que previamente hallas declarado, p.e., numero=rand();, y testeas que no sea cero.

Saludos.
 
Simplemente haz que el micro este contando continuamente durante el tiempo que tengas el pulsador presionado. A 4 Mhz seguro que cada vez que pulses te da un valor que no puedes predecir.
 
lo que podés hacer es un conteo o algoritmo, que generen un rango de números...

y a eso dejarle una "semilla" se llama..

que no es más que dejar en memoria el último valor que obtuviste aleatoriamente.. y utilizarlo para el nuevo conteo..
 
me han dado una pista de como hacer la secuencia pseudoaleatoria, pero no se como aplicarla y esta es usando la operacion XOR del PIC, por favor si alguien pudiera ayudarme a saber como encontrar la solucion.
:rolleyes:
 
a que se refiere con "no hacer conteo secuencial " .?
que no use contadores seria...........

nunca pense en eso de aleatorio, mi vida es perfectamente programada para vivir haciendo cagadas :LOL:

lo que pusieron esta ok pero se usa un contador, tambien cargar un capacitor, pero siempre uno termina con un contador de una o otra forma.

que profesores putarracos .........

a ver, sin un contador que vaya muy rapido y no sepas donde cae......
un nivel de tension que llegue , con el conversor a/D ..........

pero dices con la exor, o hacer una funcion .......
un dado son 6 numeritos

es que para hacer cualquier funcion se debe hacer en base a algo que comparar que varie >>>> contadores, no hay otra, bahh.con los A/D si, seria tension variable de capacitores .

CREO que si analizo hay 2 cosas:
1--- que uso como base en el sistema , algo que varie para luego utilizarlo, y solo s eme ocurren o contadores o tension variable como dije
2 ---con los parametros del punto 1 que los capturo puedo usarlso de base para hacer alguna funcion o comparacion y asi sacar mis numeros aleatorios.

no se me ocurre otra, pero me va a encantar leer seguro ideas muy buenas por que esto si es de tecnica sdigitales.


saludos
 
Hola gente, yo también soy nuevo por aquí. Un saludo antes de nada a todos.
Mi problema es más o menos parecido, tengo que hacer un dado electrónico con el pic16f84a con interrupciones para que cuando le de a la interrupción una vez comience la cuenta del 1 al 6 y cuando le de de nuevo se pare en cualquier numero de ese rango
De momento solo tengo hecho esto:
Ver el archivo adjunto dado.txt
El problema es que lo e cambiado tantas veces que ya ni se lo que hace... s alguien me puede ayudar estaria muy agradecido
 
Atrás
Arriba