Вы находитесь на странице: 1из 15

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 1

EJERCICIOS QUE UTILIZAN INTERRUPCIONES QUE GENERA EL TIMER1


ENUNCIADO DEL EJERCICIO 1: Modificar al programa del reloj digital, para reemplazar el lazo de repeticin que incrementa los segundos por las interrupciones generadas cada segundo mediante el Timer1, configurado en el Modo CTC. Las modificaciones que sea realizan en el programa principal son: 1. Adicionar el Vector de Interrupciones por emparejamiento del Timer1 con el Registro A de Comparacin. 2. Incluir en el programa principal la programacin del Timer1 y habilitacin de las interrupciones para que se generen cada segundo. 3. Modificacin en el programa principal el lazo de repeticin donde se muestra el reloj digital en los displays, eliminando los incrementos cada segundo. Las modificaciones que sea realizan en las rutinas de interrupcin son: 4. En rutina de la Interrupcin Externa 2 incluir el cambio de estado del Timer1, entre detenido y corriendo. 5. Incorporacin de la rutina de Interrupcin del Timer1 por emparejamiento con el Registro A de Comparacin, que incrementa en un segundo al reloj digital para ser publicado por programa principal. ANLISIS PARA CONFIGURAR AL TIMER1: La configuracin del Timer1 que conviene para esta aplicacin es la de Borrar el Timer al emparejar con el Comprador o CTC. Se debe mantener desactivada la salida del Timer, porque no se va a generar una seal. Y se necesita establecer el valor del registro de comparacin OCR1A, con el fin de generar interrupciones cada segundo. Para que transcurra un segundo, considerando que el Timer tiene el mismo reloj que el microcontrolador (sin pre escalamiento) e igual a 1MHz, es necesario contar 1000.000 de pulsos lo que no se puede hacer con 16 bits. La siguiente alternativa es que el Timer tenga como reloj el del microcontrolador divido para 8 (con pre escalamiento de 8), lo que significa que se deben contar 125.000 pulsos, que tampoco se puede contar con 16 bits. Como tercera opcin es alimentar al Timer con el reloj del microcontrolador divido para 64 (con pre escalamiento de 64), lo que significa que se deben contar 15.265 pulsos, que si se puede contar con 16 bits; por lo tanto, est ser la configuracin para el escalamiento del reloj del Timer y el valor para el registro OCR1A. Finalmente se debe habilitar las interrupciones por emparejamiento con el OCR1A y reservar el respectivo vector. CODIFICACIN DEL PROGRAMA PRINCIPAL Y DE LAS RUTINAS DE INTERRUPCIN CON LAS MODIFICACIONES
.NOLIST .INCLUDE "m164pdef.inc" .LIST ; DEFINICIN DE ETIQUETAS PARA LOS REGISTROS .DEF AUX1 = R16 ; REGISTRO AUXILIAR1 .DEF AUX2 = R17 ; REGISTRO AUXILIAR2

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 2

.DEF AUX3 = R18 ; REGISTRO AUXILIAR3 .DEF HORAS = R19 ; REGISTRO PARA LAS HORAS .DEF MINUT = R20 ; REGISTRO PARA LAS MINUTOS .DEF SEGUN = R21 ; REGISTRO PARA LOS SEGUNDOS .DEF AUXI1 = R23 ; REGISTRO AUXILIAR 1 INTERRUPCIONES .DEF AUXI2 = R24 ; REGISTRO AUXILIAR 2 INTERRUPCIONES ; SEGMENTO DE CDIGO o MEMORIA FLASH .CSEG JMP PROGP .ORG $02 ; RUTINA DE LA INTERRUPCIN EXTERNA 0 JMP RUTINT0 .ORG $04 ; RUTINA DE LA INTERRUPCIN EXTERNA 1 JMP RUTINT1 .ORG $06 ; RUTINA DE LA INTERRUPCIN EXTERNA 2 JMP RUTINT2 .ORG $1A ; RUTINA DE LA INTERRUPCIN DEL TIMER1 JMP RUTTIM1 M0DIFICACIN 1 ; INICIALIZACIN DEL PUNTERO DEL STACK Y DE LOS PRTICOS PROGP: LDI AUX1,LOW(RAMEND) OUT SPL,AUX1 LDI AUX1,HIGH(RAMEND) OUT SPH,AUX1 LDI AUX1,0B00000100 OUT PORTB,AUX1 ; PULL-UP INT2 = PB2 LDI AUX1,0B00001100 OUT PORTD,AUX1 ; PULL-UP INT0/1 = PD2/3 ; PROGRAMACIN DE LAS INTERRUPCIONES EXTERNAS LDI AUX1,0B000101111 STS EICRA,AUX1 ; INT2 T. NEGAT. INT1/0 T. POS. LDI AUX1,0B00000100 OUT EIMSK,AUX1 ; INT2 HABILITADA LDI AUX1,0B00000111 OUT EIFR,AUX1 ; BORRAR LAS BANDERAS ; PROGRAMACIN DEL TIMER1 M0DIFICACIN 2 ; COM1A1:0=00 DESCONECTADA DE LA SALIDA OC1A (PD5) ; COM1B1:0=00 DESCONECTADA DE LA SALIDA OC1B (PD4) ; DOS BITS RESERVADOS = 00 ; WGM11:0=00 CONFIGURACIN CTC (MODO 4) LDI AUX1,0B00000000 STS TCCR1A,AUX1 ; ICNC1=0 DESHABILITA CANCELACIN DE RUIDO ; ICES1=0 TRANSICIN NEGATIVA PARA LA ENTRADA DE CAPTURA ; BIT RESERVADO = 0 ; WGM13:2=01 CONFIGURACIN CTC (MODO 4) ; CS12:0=011 RELOJ IGUAL A Fosc/64 LDI AUX1,0B00001011 ; Fosc/64 STS TCCR1B,AUX1 ; VALOR A COMPARAR EN OCR1A (ESCRITURA DE 16 BITS) LDI AUX1,HIGH(15625) LDI AUX2,LOW(15625) STS OCR1AH,AUX1 STS OCR1AL,AUX2 ; HABILITA INTERRUPCIN POR EMPAREJAMIENTO EN COMPARACIN A LDI AUX1,0B00000010 STS TIMSK1,AUX1 ; VALORES INICIALES DE HH:MM:SS LDI HORAS,23 LDI MINUT,59 LDI SEGUN,49 ; HABILITACIN GLOBAL DE INTERRUPCIONES SEI

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 3

; TRANSFORMACIN A BCD DE LOS CONTADORES RELOJ: LDI XL,LOW(DIGIT) M0DIFICACIN 3 LDI XH,HIGH(DIGIT) MOV AUX2,HORAS RCALL BINBCD MOV AUX2,MINUT RCALL BINBCD MOV AUX2,SEGUN RCALL BINBCD ; TRANSFORMACIN A 7 SEGMENTOS RCALL ASEG ; MOSTRAR EN EL DISPLAY EL RELOJ DIGITAL RCALL SCAN RJMP RELOJ ; TRANSFORMACIN DE BINARIO A BCD Y ALMACENAMIENTO BINBCD: CLR AUX1 BINBCD1:SUBI AUX2,10 BRCS BINBCD2 INC AUX1 RJMP BINBCD1 BINBCD2:LDI AUX3,10 ADD AUX2,AUX3 ST X+,AUX1 ST X+,AUX2 RET ; ARRANCAR - DETENER EL RELOJ RUTINT2: IN AUXI1,EIMSK LDI AUXI2,0B00000011 EOR AUXI1,AUXI2 ; COMPLEMENTAR LOS 2 BITS OUT EIMSK,AUXI1 ; CAMBIAR HABILITACIN OUT EIFR,AUXI2 ; BORRA INTF0 y INTF1 LDS AUXI1,TIMSK1 M0DIFICACIN 4 LDI AUXI2,0B00000010 EOR AUXI1,AUXI2 ; COMPLEMENTAR EL 2 BIT STS TIMSK1,AUXI1 ; CAMBIAR HABILITACIN FINR2: RETI ; IGUALAR MINUTOS RUTINT1: INC MINUT CPI MINUT,60 BRNE RUT11 CLR MINUT RUT11: RETI ; IGUALAR HORAS RUTINT0: INC HORAS CPI HORAS,24 BRNE RUT01 CLR HORAS RUT01: RETI ; INCREMENTO DE SEGUNDOS RUTTIM1: INC SEGUN CPI SEGUN,60 BRNE FINRT1 CLR SEGUN INC MINUT CPI MINUT,60 BRNE FINRT1

M0DIFICACIN 5

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 4

CLR MINUT INC HORAS CPI HORAS,24 BRNE FINRT1 CLR HORAS FINRT1: RETI ; .INCLUDE "SUBCC.ASM" ; .EXIT ; FIN DEL MODULO FUENTE

COMPROBACIN DEL RELOJ DE 24 HORAS CON INTERRUPCIONES PRODUCIDAS POR EL TIMER1

ENUNCIADO DEL EJERCICIO 2: Modificar al programa anterior, correspondiente al reloj digital para convertirlo en un Cronmetro Digital Ascendente, que muestre Minutos, Segundos y Centsimas de Segundos. El control del cronmetro se realiza mediante tres teclas: La tecla CLEAR conectada a la Interrupcin Externa 2 pone el cronmetro en cero, solo cuando est detenido. La tecla STOP conectada a la Interrupcin Externa 0 detiene el cronmetro. La tecla START conectada a la Interrupcin Externa 1 arranca el cronmetro. Adems de la redefinicin de los Contadores para el Cronmetro y de las funciones que realizan las Rutinas de las Interrupciones Externas, el Timer1 debe ser configurado para producir interrupciones cada 10 milisegundos en lugar de cada segundo. ANLISIS PARA CONFIGURAR AL TIMER1, A FIN DE INCREMENTAR LOS CONTADORES CADA CENTSIMA DE SEGUNDO: Para producir interrupciones cada centsima de segundo con el Timer teniendo el mismo reloj que el microcontrolador, igual a 1MHz, es necesario contar 10.000 pulsos que si se puede hacer con 16 bits. Esto significa que el reloj del Timer es sin escalamiento y 10.000 es el valor que se carga en el registro de comparacin OCR1A.

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 5

CODIFICACIN DEL PROGRAMA PRINCIPAL Y DE LAS RUTINAS DE INTERRUPCIN PARA CONVERTIR EL RELOJ EN CRONMETRO
.NOLIST .INCLUDE "m164pdef.inc" .LIST ; DEFINICIN DE ETIQUETAS PARA LOS REGISTROS .DEF AUX1 = R16 ; REGISTRO AUXILIAR1 .DEF AUX2 = R17 ; REGISTRO AUXILIAR2 .DEF AUX3 = R18 ; REGISTRO AUXILIAR3 .DEF MINUT = R19 ; REGISTRO PARA LAS MINUTOS .DEF SEGUN = R20 ; REGISTRO PARA LAS SEGUNDOS .DEF CENTI = R21 ; REGISTRO PARA LAS CENTSIMAS DE SEGUNDO .DEF AUXI1 = R23 ; REGISTRO AUXILIAR 1 INTERRUPCIONES .DEF AUXI2 = R24 ; REGISTRO AUXILIAR 2 INTERRUPCIONES ; SEGMENTO DE CDIGO o MEMORIA FLASH .CSEG JMP PROGP .ORG $02 ; RUTINA DE LA INTERRUPCIN EXTERNA 0 JMP RUTINT0 .ORG $04 ; RUTINA DE LA INTERRUPCIN EXTERNA 1 JMP RUTINT1 .ORG $06 ; RUTINA DE LA INTERRUPCIN EXTERNA 2 JMP RUTINT2 .ORG $1A ; INTERRUPCIN POR EMPAREJAMIENTO TIMER 1 JMP RUTTIM1 ; INICIALIZACIN DEL PUNTERO DEL STACK Y DE LOS PRTICOS PROGP: LDI AUX1,LOW(RAMEND) OUT SPL,AUX1 LDI AUX1,HIGH(RAMEND) OUT SPH,AUX1 LDI AUX1,0B00000100 OUT PORTB,AUX1 ; PULL-UP INT2 = PB2 LDI AUX1,0B00001100 OUT PORTD,AUX1 ; PULL-UP INT0/1 = PD2/3 ; PROGRAMACIN DE LAS INTERRUPCIONES EXTERNAS LDI AUX1,0B000101010 STS EICRA,AUX1 ; INT2/1/0 TRANSICIN NEGAT. LDI AUX1,0B00000010 OUT EIMSK,AUX1 ; INT1 HABILITADA (ARRANCAR) LDI AUX1,0B00000111 OUT EIFR,AUX1 ; BORRAR LAS BANDERAS ; PROGRAMACIN DEL TIMER1 ; COM1A1:0=00 DESCONECTADA DE LA SALIDA OC1A (PD5) ; COM1B1:0=00 DESCONECTADA DE LA SALIDA OC1B (PD4) ; DOS BITS RESERVADOS = 00 ; WGM11:0=00 CONFIGURACIN CTC (MODO 4) LDI AUX1,0B00000000 STS TCCR1A,AUX1 ; ICNC1=0 DESHABILITA CANCELACIN DE RUIDO ; ICES1=0 TRANSICIN NEGATIVA PARA LA ENTRADA DE CAPTURA ; BIT RESERVADO = 0 ; WGM13:2=01 CONFIGURACIN CTC (MODO 4) ; CS12:0=000 SIN RELOJ LDI AUX1,0B00001000 ; TIMER DETENIDO STS TCCR1B,AUX1 ; VALOR A COMPARAR EN OCR1A (ESCRITURA DE 16 BITS) LDI AUX1,HIGH(10000) LDI AUX2,LOW(10000) STS OCR1AH,AUX1 STS OCR1AL,AUX2
Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 6

; HABILITA INTERRUPCIN POR EMPAREJAMIENTO EN COMPARACIN A LDI AUX1,0B00000010 STS TIMSK1,AUX1 ; VALORES INICIALES DE MM:SS:CS LDI MINUT,0 LDI SEGUN,0 LDI CENTI,0 ; HABILITACIN GLOBAL DE INTERRUPCIONES SEI ; TRANSFORMACIN A BCD DE LOS CONTADORES CRONO: LDI XL,LOW(DIGIT) LDI XH,HIGH(DIGIT) MOV AUX2,MINUT RCALL BINBCD MOV AUX2,SEGUN RCALL BINBCD MOV AUX2,CENTI RCALL BINBCD ; TRANSFORMACIN A 7 SEGMENTOS RCALL ASEG ; MOSTRAR EN EL DISPLAY EL CRONOMETRO RCALL SCAN RJMP CRONO ; TRANSFORMACIN DE BINARIO A BCD Y ALMACENAMIENTO BINBCD: CLR AUX1 BINBCD1:SUBI AUX2,10 BRCS BINBCD2 INC AUX1 RJMP BINBCD1 BINBCD2:LDI AUX3,10 ADD AUX2,AUX3 ST X+,AUX1 ST X+,AUX2 RET ; PONER CEROS EN EL CRONMETRO RUTINT2: LDI MINUT,0 LDI SEGUN,0 LDI CENTI,0 RETI ; DETENER EL CRONMETRO RUTINT0: ; CS12:0=000 SIN RELOJ LDI AUX1,0B00001000 ; TIMER DETENIDO STS TCCR1B,AUX1 LDI AUX1,0B00000111 OUT EIFR,AUX1 ; BORRAR LAS BANDERAS LDI AUX1,0B00000110 OUT EIMSK,AUX1 ; INT2/1 HABILITADAS (ENCERAR - ARRANCAR) RETI ; ARRANCAR EL CRONMETRO RUTINT1: ; CS12:0=001 RELOJ IGUAL A Fosc/1 LDI AUX1,0B00001001 STS TCCR1B,AUX1 LDI AUX1,0B00000111 OUT EIFR,AUX1 LDI AUX1,0B00000001 OUT EIMSK,AUX1 RETI

; TIMER CONTANDO ; BORRAR LAS BANDERAS ; INT0 HABILITADA (DETENER)

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 7

; INCREMENTO DE CENTSIMAS DE SEGUNDO RUTTIM1:INC CENTI CPI CENTI,100 BRNE FINRT1 CLR CENTI INC SEGUN CPI SEGUN,60 BRNE FINRT1 CLR SEGUN INC MINUT CPI MINUT,60 BRNE FINRT1 CLR MINUT FINRT1: RETI ; .INCLUDE "SUBCC.ASM" ; .EXIT ; FIN DEL MODULO FUENTE

COMPROBACIN DEL CRONMETRO ASCENDENTE INTERRUPCIONES PRODUCIDAS POR EL TIMER1

CON

ENUNCIADO DEL EJERCICIO 3: Elaborar el programa de control para un DIMMER de 19 pasos, que se pueden cambiar mediante dos teclas, una para subir y otra para bajar. El DIMMER es un dispositivo electrnico que permite controlar la intensidad de iluminacin de lmparas incandescentes, controlando el ngulo de disparo del TRIAC que alimenta a la lmpara; por lo tanto, este programa tiene como objetivo escoger el ngulo de disparo del TRIAC cada 10, entre 0 y 180 de los semiciclos de la seal de 110 Vac. ANLISIS Y ALGORITMO DE LA SOLUCIN: Se necesita producir pulsos al inicio de los semiciclos de la seal de 110 Vac, mediante un circuito externo al microcontrolador (detector de cruce por cero) y el programa se encarga de generar los pulsos de disparo con un retardo de acuerdo al ngulo escogido, tal como se muestra a continuacin para el caso de 100 como ngulo de disparo.

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 8

Seal de 110 Vac Corriente en la lmpara

Seal de 6 Vac, rectificada

Pulsos al inicio Pulsos de disparo

CIRCUITO DEL DIMMER:

Pulsos al inicio Pulsos de disparo

Seal de 6 Vac, rectificada

Los pulsos al inicio de los semiciclos se obtienen mediante el colector del transistor NPN, conectado en el terminal de entrada de la Interrupcin Externa 2, 2 que tiene activada la resistencia interna de pull-up. pull up. El transistor trabaja en corte y saturacin, controlado por la seal que ingresa por la resistencia de la base y que corresponde co a una seal de 6 Vac rectificada en onda completa. La rutina de la Interrupcin Externa 2 se encarga de arrancar al contador del Timmer1; el cual, mediante ediante la interrupcin por emparejamiento con el valor del registro de
Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 9

comparacin OCR1A, controla el retardo del pulso de disparo del TRIAC. Los valores de comparacin se obtienen desde la tabla de constantes, que han sido calculadas para tener ngulos de disparo cada 10 grados con seales de 60 Hz, considerando que el Timer1 tiene el mismo reloj que el microcontrolador e igual a 1MHz.

Paso del Dimmer


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Angulo en grados
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180

Tiempo en microsegundos
0 463 926 1389 1852 2315 2778 3241 3704 4167 4630 5093 5556 6019 6481 6944 7407 7870 8333

CODIFICACIN DEL PROGRAMA PRINCIPAL Y DE LAS RUTINAS DE INTERRUPCIN PARA EL CONTROL DEL DIMMER
.NOLIST .INCLUDE "m164pdef.inc" .LIST ; .DEF AUX1 = R16 .DEF AUX2 = R17 .DEF AUX3 = R18 ; .CSEG JMP PROGP JMP INTE0 JMP INTE1 JMP INTE2

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 10

.ORG

$1A JMP

; INTERRUPCIN POR EMPAREJAMIENTO ATMEGA164P INTT1

; PROGP: ; UBICACIN DEL STACK AL FINAL DE LA SRAM LDI AUX1,LOW(RAMEND) OUT SPL,AUX1 LDI AUX1,HIGH(RAMEND) OUT SPH,AUX1 ; CONFIGURACIN COMO SALIDA (PA3) LDI AUX1,0B00001000 OUT DDRA,AUX1 ; PULL-UP EN LAS ENTRADAS INT0 e INT1 (PD2 y PD3) LDI AUX1,0B00001100 OUT PORTD,AUX1 ; PULL-UP EN LA ENTRADA INT2 (PB2) LDI AUX1,0B00000100 OUT PORTB,AUX1 ; PROGRAMACION DEL TIMER1 ; COM1A1:0=00 DESCONECTADA DE LA SALIDA OC1A (PD5) ; COM1B1:0=00 DESCONECTADA DE LA SALIDA OC1B (PD4) ; FOC1A:0=1 OBLIGA A COMPARACIN CON OCR1A ; FOC1B:0=0 NO OBLIGA A COMPARACIN CON OCR1B ; WGM11:0=00 CONFIGURACIN CTC (MODO 4) LDI AUX1,0B00001000 STS TCCR1A,AUX1 ; ICNC1=0 DESHABILITA CANCELACIN DE ; ICES1=0 TRANSICIN NEGATIVA PARA LA ENTRADA DE CAPTURA ; BIT5=0 BITS RESERVADO ; WGM13:2=01 CONFIGURACIN CTC (MODO 4) ; CS12:0=001 RELOJ DETENIDO LDI AUX1,0B00001000 STS TCCR1B,AUX1 ; VALOR A COMPARAR EN OCR1A (ESCRITURA DE 16 BITS) LDI ZL,LOW((TBLK+9)<<1) LDI ZH,HIGH((TBLK+9)<<1) LPM AUX3,Z+ LPM AUX2,Z+ STS OCR1AH,AUX2 STS OCR1AL,AUX3 ; HABILITA INTERRUPCIN POR EMPAREJAMIENTO EN COMPARACIN A LDI AUX1,0B00000010 STS TIMSK1,AUX1 ; SEALES PARA INTERRUPCIONES EXTERNAS ; ISC11:0=10 INTERRUPCIN EXTERNA 1 TRANSICIN NEGATIVA ; ISC01:0=10 INTERRUPCIN EXTERNA 0 TRANSICIN NEGATIVA ; ISC21:0=10 INTERRUPCIN EXTERNA 2 TRANSICIN NEGATIVA LDI AUX1,0B00101010 STS EICRA,AUX1 ; HABILITACIN INTERRUPCIONES EXTERNAS ; INT1=1 INTERRUPCIN EXTERNA 1 DESHABILITADA ; INT0=1 INTERRUPCIN EXTERNA 0 DESHABILITADA ; INT2=0 INTERRUPCIN EXTERNA 2 HABILITADA LDI AUX1,0B00000111 OUT EIMSK,AUX1 SEI ; HABILITACIN GLOBAL DE INTERRUPCIONES ; LAZO INFINITO LOOP: RJMP LOOP ; RUTINA DE INTERRUPCIN DEL TIMER1 INTT1: LDI AUX1,0B00001000 STS TCCR1B,AUX1

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 11

LDI OUT NOP NOP NOP NOP NOP NOP LDI OUT RETI ; RUTINA DE LA INTE2: LDI STS RETI ; RUTINA DE LA INTE1: CPI BREQ DEC DEC DEC DEC LPM LPM STS STS END1: RETI ; RUTINA DE LA INTE0: CPI BREQ LPM LPM STS STS END0: RETI ; ;CONSTANTES DE TBLK: .DW .DW .DW .DW .EXIT

AUX1,0B00001000 PORTA,AUX1

AUX1,0B00000000 PORTA,AUX1 INTERRUPCIN EXTERNA 2 AUX1,0B00001001 TCCR1B,AUX1 INTERRUPCIN EXTERNA 1 ZL,LOW((TBLK+1)<<1) END1 ZL ZL ZL ZL AUX3,Z+ AUX2,Z+ OCR1AH,AUX2 OCR1AL,AUX3 INTERRUPCIN EXTERNA 0 ZL,LOW((TBLK+19)<<1) END0 AUX3,Z+ AUX2,Z+ OCR1AH,AUX2 OCR1AL,AUX3 LOS TIEMPOS EN MICROSEGUNDOS PARA CADA 10 GRADOS 0,463,926,1389,1852 2315,2778,3241,3704,4167 4630,5093,5556,6019,6481 6944,7407,7870,8333 ; FIN DEL MODULO FUENTE

COMPROBACIN MEDIANTE EL SIMULADOR DEL PROTEUS Para la comprobacin se utiliza el osciloscopio de cuatro canales, con el que se observa: CANAL A: el voltaje sobre la carga. CANAL B: la seal de 6 Vac rectificada. CANAL C: pulsos de inicio del semiciclo, para producir transiciones en la entrada de la Interrupcin Externa 2. CANAL D: pulsos de disparo del TRIAC, que genera la Interrupcin del Timer1 por el emparejamiento con el valor del OCR1A.

NOTA: nicamente para la comprobacin mediante el simulador, se ha incluido la referencia de GND en el terminal comn de la carga con el generador de 110 Vac y el primario del transformador; en el circuito real no existe, para mantener el aislamiento entre las secciones de corriente alterna y de corriente continua.
Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 12

Solo para comprobar mediante el Simulador

SEALES CON NGULO DE DISPARO DE 0

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 13

SEALES CON NGULO DE DISPARO DE 60

SEALES CON NGULO DE DISPARO DE 90

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 14

SEALES CON NGULO DE DISPARO DE 100

SEALES CON NGULO DE DISPARO DE 140

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

SISTEMAS MICROPROCESADOS: Uso de interrupciones generadas por el Timer1 Pgina 15

SEALES CON NGULO DE DISPARO DE 180

Ing. Jaime E. Velarde Departamento de Electrnica, Telecomunicaciones y Redes de Informacin

Вам также может понравиться