*IC1.asm *----------------------------------------------------------------- * fonction input capture du timer * entrée: signal périodique sur IC1 (PA2) * sortie: affichage à l'écran de la durée de la période en cycles * !!!!!!!! attention: lancement du programme en $100 !!!!!!!!!!!! *------------------------------------------------------------------ * programme simulable * penser à cocher "communication SCI" dans les options du simulateur * modifier le stimulus sur PA2 *----------------------------------------------------------------- include EtiqE1.asm org 2 *zone des variables PREMIER rmb 2 *Programme org $100 lds #$01FF ;pile en RAM ldx #$1000 lda #%00100000 sta TCTL2,X %00100000 BOUCLE bset TFLG1,X %00000100 ; 0-->iC1F *attente du 1er front B1 brclr TFLG1,X %00000100 B1 *front montant detecte ldd TIC1,X std iC1F *attente du 2eme front B2 brclr TFLG1,X %00000100 B2 *determination periode ldd TIC1,X subd D jsr ?Outdec ;affiche en décimal le contenu du registre D pshx ; ldx #CHAINE1 ; jsr ?OutStr ; affiche la chaine de caractères codés en ASCII pulx ; cette chaine commence à l'adresse contenue dans X * et se termine l'octet 0 (marqueur de fin) jsr ?tempo1000 bra BOUCLE *constantes CHAINE1 fcc ' cycles ',0