#include "c:\miniide\hcs12.inc" hi_time equ 900 lo_time equ 2100 org $1500 movb #$90,TSCR1 ; enable TCNT with fast timer flag clear movb #$03,TSCR2 ; disable TCNT interrupt, set prescaler to 8 bset TIOS,OC0 ; enable OC0 movb #$03,TCTL2 ; select pull high as pin action ldd TCNT ; start an OC0 operation with 700 us as delay repeat addd #lo_time ; " std TC0 ; " low brclr TFLG1,C0F,low ; wait until OC0 pin go high movb #$02,TCTL2 ; select pull low as pin action ldd TC0 ; start an OC operation with 300 us as delay addd #hi_time ; " std TC0 ; " high brclr TFLG1,C0F,high ; wait until OC0 pin go low movb #$03,TCTL2 ; select pull high as pin action ldd TC0 bra repeat end