6) Clignotement d'une seule LED2 sur le même port en sortie.
La durée d'extinction et d'allumage étant différente
Introduction de variable et passage de paramètre

* Fichier hautbas.asc
* Led allumée durant un temps different de celui eteint.
*Equivalences registres
 
portb		equ		$04

* Constantes
 
dureeal		equ		30
dureeet		equ		10

*Variables
 
		org		$0000
duree		rmb		1

*Début du programme implantation en EEPROM
 
		org		$F800

********************
*   Configuration        
********************
 
start		lds		#$00ff

********************
*Programme principal  
********************

* préparation de l'adressage indexé pour instruction
 
		ldy		#$1000

*Allumer la led 1 et 8 sur le portb.
 
		ldaa		#$81
		staa		portb,y

* Attente de 3 secondes 
 
debut		ldaa		#dureeal
		staa		duree
		bsr		tempo

* Eteindre la led 1 sur le portb.
 
		bclr		portb,y,#$01

* cette instruction permet d'eteindre la led 1 sans toucher aux autres sorties

* Attente de 1 secondes
 
		ldaa		#dureeet
		staa		duree
		bsr		tempo

* Allumer la led 1 sur le portb.
 
		bset		portb,y,#$01

 
* cette instruction permet d'allumer la led 1 sans toucher aux autres sorties

		bra		debut

********************
*  Sous Programmes 
********************

*  SP Tempo 
*****************
*temporisation parametre par duree 

* chargement du compteur du nombre de boucle a effectuer
 
tempo		ldaa		duree

* Chargement de la valeur permettant de faire une tempo de 0,1s
 
t1s		ldx		#$33333

*tempo basée sur le nombre de boucle à effectuer
 
t100ms		dex		
		bne		t100ms

* fin de la boucle de 100ms

* décomptage du nombre de boucle
 
		deca
		bne		t1s
		rts

***************************
* Vecteurs d'interruptions
***************************
*vecteur de reset 
 
		org	$fffe
rstvect		fdb	start
		end

DEBUT DE PAGE

7) Même problème que ci-dessus avec modulation de la temporisation par donnée sur port d'entrée.

SOMMAIRE


Giampiero D'AQUINO
Enseignant en Génie Electronique