; Mini-gerador de formas de onda: código principal ; TC0 modo 2: auto-reload ; th0 -> valor a fazer o reload ; tl0 -> valor corrente fME equ 200 fE equ 150 fB equ 100 fMB equ 50 ascend equ 0 descend equ 1 convda equ 0C000h dseg at 30h onda: ds 1 valact: ds 1 public onda,valact,ascend,descend public fME,fE,fB,fMB extrn code(selfreq) inicio segment code cseg at 0 reset: jmp inicio rseg inicio mov onda,#ascend ; começa pela onda serra ascendente mov dptr,#convda mov ie,#87h ; Permite ints externas e pelo T/C 0 mov tmod,#2 ; T/C 0 como timer em modo 2 mov th0,#fME mov tl0,#fME ; começa com a frequência máxima orl tcon,#15h ; T/C 0 activo, ints externas activas à descida ciclo: call selfreq ; carregaram em alguma tecla de frequência? ; aqui entrariam quaisquer outras acções... jmp ciclo end