begin process at 2010 02 10 00:47:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Les PIC

 > 

nombre aléatoire en asm 16f84


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

nombre aléatoire en asm 16f84

mardi 20 juillet 2004 à 15:56:29 | nombre aléatoire en asm 16f84

sodhaine

Bonjour,
Je suis un newbie-moyen en assembleur/électronique; j'essaie de faire un dé électronique en assembleur 16f84 (avec affichage sur écran LCD) et je me heurte à un problème: comment générer un nombre aléatoire en assembleur 16f84 ? est-ce que quelqu'un à une idée, une routine?
Merci d'avance pour votre aide.
aVr

PS: pourquoi le faire en assembleur ? parceque j'aime ça... .
lundi 16 août 2004 à 21:46:41 | Re : nombre aléatoire en asm 16f84

pjb

il y a plein de méthodes pour faire cela, la meilleure est d'utiliser le timer et un bon petit modulo ! très fastoche et ça marche très très bien (et en plus, le timer est un registre du 16f84, ce qui facilite bien les choses...)

pour le timer du PIC 16f84, vas la dessus par exemple

http://p.may.chez.tiscali.fr/timer.html

@+
vendredi 3 septembre 2004 à 00:12:10 | Re : nombre aléatoire en asm 16f84

CoreBreaker

Beaucoup de générateur pseudo aléatoire se basent sur une multiplication et un modulo du style en C:

rnd= ((seed + a) * b) % c;
seed= rnd;

seed est la graine en général on utilise un timer ou une horloge
a, b, c sont des paramètres qui vont déterminer la périodicité et la répartition statistique des nombres sur un echantillon, elle sont déterminer au pifomètre

il fo donc implémenter une multiplication nb_a * nb_b
le résultat est renvoyé dans res1 pour la partie haute (MSByte) et res0 pour la partie basse (LSByte)

muliplie
movlw 8
movwf counter

movf nb_a, W
movwf tmp0
clrf tmp1
clrf res0
clrf res1

boucle_mul
rrf nb_b, F
btfss STATUS, C
goto next_mul

movf tmp0, W
addwf res0, F
btfsc STATUS, C
incf res1, W

movf tmp1, W
addwf res1, F

next_mul
bcf STATUS, C
rlf tmp0, F
rlf tmp1, F

decfsz counter, F
goto boucle_mul
return

a l'initialisation du générateur pseudo-aléatoire
tu dois faire
movf TMR0, W
movwf seed

le paramètre C vaudra 256 ce qui équivaut à prendre l'octet de poids faible du résultat de la multiplication
pour le paramètre A il doit être un nombre premier

ensuite pour calculer le nombre suivant:
generate_rnd
movf param_b, W
movwf nb_b

movf seed, W
addwf param_a, W
movwf nb_a
call multiplie

; on fait ici le mdulo b, on ne prends donc que l'octet de poids
; faible du résultat de la multiplication
movf res0, W
movwf rnd_num
movwf seed
return

Le nombre aléatoire rendu est dans RND_NUM

Core Breaker
jeudi 4 mai 2006 à 22:00:33 | Re : nombre aléatoire en asm 16f84

nicolo84

Merci Corebreaker,

  Je cherche depuis un moment ce programme pour faire un jeux de lumières  pour ma petite fille ! 


Cette discussion est classée dans : nombre, aléatoire, assembleur, asm, 16f84


Répondre à ce message

Sujets en rapport avec ce message

GENERATUER NOMBRE ALEATOIRE EN ASM [ par fser ] | -= Fr@nçois =- | (cliquez pour m'envoyer un mail)mon siteMERCI DE FAIRE PARVENIR UN PROGRAMME EN ASSEMBLEUR POUR 68 HC 11 POUR GENER Question ASM [ par LordBob ] Bonjours a tous,voila en fait j'aimerais me lancer dans la programmation en assembleur, je viens donc d'acheter un petit bouquin qui traite du sujet e Sous-procedure externe en Assembleur ? [ par cbil ] débutant en c/c++, flash et asm- Me contacterBonjour à tous,J'utilise TASM et j'aimerais faire une sous procedure externe.J'ai tester un exemple, (je Où avez vous appris l'assembleur [ par Joe0557 ] Bonjour, Je m'interresse depuis quelques temps à la programmation en ASM, mon projet final serait de faire un OS (je sais qu'il est très compliquer d' OS -> passer d'ASM au C pour la programmation [ par djmoa ] Bonjour. j'ai quelques notions d'assembleur, et j'aimerai commencer la programation d'un petit OS, me basant sur des choses existant, mais je vois bea Avez-vous des algorithmes pour la génération de nombre aléatoire? [ par Rigel Io ] Salut, ma question est donc assez simple je voudrai seuleument savoir comment générer des nombres aléatoires. Je voudrai savoir car à chaque fois que Aide nombre en asm 8086 16 bits [ par Maureka ] je suis debutant en asm intel 16 bits.j'ai un projet à réaliser et cela consiste à faire un programme qui affiche la liste des nombres premiers compri résoudre un exercice en assembleur [ par imenal ] J'ai pas pu résoudre cet exercice en assembleur.Est ce que vous pouvez m'aider?EnoncéEcrire un programme en assembleur(MASM) qui réalise les opération Que peux t-on faire avec l'assembleur que l'on ne peux pas faire avec d'autres langages [ par Nixeus ] Bonjour à tous,Je sors de BTS Info, et suis développeur de logiciel depuis plus d'un ans dans une société. Ayant obtenu mon BTS l'an dernier, je n'ai Nombre Parfait En Assembleur [ par kopindo ] Bonjour,çava? bon,j'ai besoin de votre aide pour ce qui concerne ce exercice.et je sais pas comme dois-je commencer.merci d'avance je souhaite écrir


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales