2
Deber N. 4 Realizar un programa que permita medir la relación de trabajo de una señal Fast PWM .include "m164pdef.inc" /*Definicion de Variables*/ .def tempo=r16 .def repeticiones=r17 .def frecalto=r18 .def frecbajol=r19 .def frecbajoh=r20 .cseg .org 0x00 rjmp inicio .org 0x02 rjmp pulsos_en_alto ;Interrupcion Externa para Pulsos en Alto .org 0x04 rjmp pulsos_en_bajo ;Interrupcion Externa para Pulsos en Bajo inicio: clr tempo out ddra, tempo out ddrb, tempo out ddrc, tempo out ddrd, tempo ser tempo out porta, tempo out portb, tempo out portd, tempo out portc, tempo

Deber Relacion de Trabajo

Embed Size (px)

DESCRIPTION

Micros

Citation preview

Page 1: Deber Relacion de Trabajo

Deber N. 4Realizar un programa que permita medir la relación de trabajo de una señal Fast PWM

.include "m164pdef.inc"

/*Definicion de Variables*/ .def tempo=r16 .def repeticiones=r17 .def frecalto=r18 .def frecbajol=r19 .def frecbajoh=r20

.cseg .org 0x00 rjmp inicio .org 0x02 rjmp pulsos_en_alto ;Interrupcion Externa para Pulsos en Alto .org 0x04 rjmp pulsos_en_bajo ;Interrupcion Externa para Pulsos en Bajo

inicio: clr tempo out ddra, tempo out ddrb, tempo out ddrc, tempo out ddrd, tempo ser tempo out porta, tempo out portb, tempo out portd, tempo out portc, tempo

/*Interrupciones para contar flanco de bajada y subida*/ ldi tempo, 0b00001010 sts eicra, tempo ldi tempo, 0b00000011 out eimsk, tempo out eifr, tempo

Page 2: Deber Relacion de Trabajo

sei

pulsos_en_bajo: /*Timer 1 Cuenta el flanco de bajada*/ ldi tempo, 0b00000000 sts tccr1a, tempo ldi tempo, 0b00000001 sts timsk1, tempo ldi tempo, 0b00000110 sts tccr1b, tempo in frecalto, TCNT0 clr tempo out TCNT0, tempo reti

pulsos_en_alto: /*Timer 0 cuenta el flanco de subida*/ ldi tempo, 0b00000000 sts tccr0a, tempo ldi tempo, 0b00000001 sts timsk0, tempo ldi tempo, 0b00000111 sts tccr0b, tempo lds frecbajol, TCNT1L lds frecbajoh, TCNT1H clr tempo sts TCNT1L, tempo sts TCNT1H, tempo reti