Beruflich Dokumente
Kultur Dokumente
N de dientes = 100
< de 100
68HCS12
> de 100
Velocidad = 100v/s
4 MHz
N de dientes = 100
68HCS12
PB.7
IC1 > de 100
PB.6
< de 100
Velocidad = 100v/s
Como lneas de control, se toman las dos ms significativas del Puerto B. PB.7 se
pondr a 1 en el caso de que la velocidad sea superior a 100 v/s. S la velocidad es inferior a
la especificada PB.6 se pondr a 1. En el caso de que sea la velocidad sea correcta, las dos
estarn a cero.
b.2) Programa
*VARIABLES EN LA RAM
org $1000 ;Origen de la RAM
PULSO rmb 2 ;Reserva 2 bytes
#include hcs12.h
org $C000
lds #$2000 ;SP al final de la RAM
movb #$ff,DDRB ;Puerto B salida
movb #$90,TSCR1 ;Habilita Timer y borrado de flags automtico
movb #$00,TSCR2 ;Deshab. interrup. Timer y prescaler = 0
movb #$04,TCTL4 ;IC1 por flanco subida
;Espera primer flanco subida
otro brclr TFLG1,$02,* ;Espera flanco subida 1
ldd TC1 ;Valor del TCNT al primer flanco
std PULSO
brclr TFLG1,$02,* ;Espera flanco subida 2
ldd TC1
subd PULSO
cpd #2400 ;Es 10KHz?
beq igual
bcs menor
bset PORTB %01000000 ;PB.6 = 1
jmp otro
menor bset PORTB,%10000000 ;PB.7 = 1
jmp otro
igual bclr PORTB,%11000000 ;PB.6 = PB.7 = 0
jmp otro