Documente Academic
Documente Profesional
Documente Cultură
; REGISTRO DE CONTROL DEL T/C0 PARA ARRANCAR ; CON EL RELOJ IGUAL A Fosc ; CS02:0 = 001 LDI AUX1,0B00000001 OUT TCCR0B,AUX1 ; LAZO DONDE ESPERA EL EMPAREJAMIENTO CON OCR0B LOOP2: IN AUX1,TIFR0 SBRS AUX1,OCF0B RJMP LOOP2 ; CONTINA AL ENCENDER LA BANDERA DE COMPARACIN OCF0B ; REGISTRO DE CONTROL DEL T/C0 PARA DETENER ; CS02:0 = 000 LDI AUX1,0B00000000 OUT TCCR0B,AUX1 ; BORRAR LA BANDERA DE COMPARACIN OCF0B DEL T/C0 LDI AUX1,0B00000100 OUT TIFR0,AUX1 ; EL T/C0 DETENIDO LDI AUX1,10 STOP2: DEC AUX1 BRNE STOP2 ; REINICIALIZACIN DE LOS REGISTROS COMPARADORES DEL T/C0 LDI AUX1,0xF0 OUT OCR0A,AUX1 LDI AUX1,0xF8 OUT OCR0B,AUX1 ; VALOR INICIAL DEL REGISTRO CONTADOR T/C0 LDI AUX1,0xEC OUT TCNT0,AUX1 ; REGISTRO DE CONTROL DEL T/C0 PARA ARRANCAR ; CON EL RELOJ IGUAL A Fosc/8 ; CS02:0 = 010 LDI AUX1,0B00000010 OUT TCCR0B,AUX1 ; LAZO DONDE ESPERA EL DESBORDAMIENTO LOOP3: IN AUX1,TIFR0 SBRS AUX1,TOV0 RJMP LOOP3 ; CONTINA CUANDO SE DESBORDA ; REGISTRO DE CONTROL DEL T/C0 PARA DETENER ; CS02:0 = 000 LDI AUX1,0B00000000 OUT TCCR0B,AUX1 ; BORRAR LAS TRES BANDERAS DEL T/C0 LDI AUX1,0B00000111 OUT TIFR0,AUX1 ; EL T/C0 DETENIDO LDI AUX1,10 STOP3: DEC AUX1 BRNE STOP3 ; FINAL: RJMP FINAL .EXIT ; FIN DEL MODULO FUENTE
Figura N4
Figura N5
No cambia el Timer
Figura N6
Figura N7
Figura N8
No cambia el Timer
A continuacin se muestran capturas de pantalla del AVR Studio, detallando los contenidos de los Registros del Timer0, donde se puede apreciar los cambios que se producen en el Registro Contador (TCNT0) y en las Banderas (OCF0A, OCF0B y TOV0) a medida que avanza el programa.
Figura N4 Arranque del contador y lazo de espera hasta que se encienda OCF0B
TCNT0=0x3A Emparejando a OCR0B TCNT0=0x3B Bandera OCF0B encendida TCNT0=0x3D Siguen dentro del lazo TCNT0=0x3E Siguen dentro del lazo
Figura N7 Arranque del contador y lazo de espera hasta que se encienda TOV0
TCNT0=0x01 Timer0 detenido TCNT0=0x01 Banderas apagadas
Figura N8 Detencin del contador y borrado de las tres banderas OCF0A, OCF0B y TOV0