logo de bricotronique
Newsletter
 

L'électronique

- pratique :

Les Montages
Les Dossiers
Les Calculateurs
Les Cours
Les Astuces
Les Datasheets

- services intéractifs :

Le Forum
Le Chat
Actualité
Petites Annonces
L'Annuaire
Le Dictionnaire
La Librairie
La logithèque

Avec les mains
Le Lifter
Générateur thermique
Un Lecteur CD
Montage pour vélo
Faire un condensateur
Antimoustique solaire

Conseil de lecture

Scintillement aléatoire d'une LED avec un PWM.
Ce programme fait scintiller de manière aléatoire une led branchée sur la 9ème broche du PIC16F628. L'intensité est générée par l'unité de PWM (Pulse with modulation) du 628. La valeur du rapport cyclique est changée lors d'une interruption sur le Timer0. On charge alors une valeur aléatoire dans la valeur du rapport cyclique du PWM à l'aide de la routine RANDOM :

RANDOM
MOVF RAND_HI, W ; if current random is 0000, make it 00FFH
IORWF RAND_LO, W
BTFSC STATUS, Z
COMF RAND_LO, F

BTFSS RAND_HI, 6 ; hi.7 = hi.7 xor hi.6
MOVLW 00H
BTFSC RAND_HI, 6
MOVLW 80H
XORWF RAND_HI, F

BTFSS RAND_HI, 4 ; hi.7 = hi.7 xor hi.4
MOVLW 00H
BTFSC RAND_HI, 4
MOVLW 80H
XORWF RAND_HI, F


BTFSS RAND_LO, 3 ; hi.7 = hi.7 xor lo.3
MOVLW 00H
BTFSC RAND_LO, 3
MOVLW 80H
XORWF RAND_HI, F

RLF RAND_HI, W ; carry = hi.7
RLF RAND_LO, F ; double left shift
RLF RAND_HI, F

movf RAND_LO,W

RETURN




Le schéma :




Le code : BOUGIE.ASM

Design © 2003 LW pour kitgrafik

Les Partenaires

Forum

N'hésitez pas à poser vos questions sur le Forum


Recherche

Copyright © bricotronique 2003-2005 Paul Heroin
Toute Reproduction partielle ou totale du site est interdite sans l'accord du Webmaster