Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TEMA:
CIRCUITO INVERSOR
ESTUDIANTE:
GRUPO HORARIO:
90G
FECHA:
04/04/19
2018
I. Objetivos
III. Procedimiento
.include "C:\VMLAB\include\m8def.inc"
.DSEG
.ORG $60
CUENTA: .byte 1
.CSEG
.org 0
rjmp ENCENDER
;******************************
;***** PROGRAMA PRINCIPAL *****
;******************************
ENCENDER:
IN R20,PINC
ANDI R20,$01
CPI R20,0
BREQ ENCENDER
RJMP INICIO
INICIO:
LDI R16,HIGH(RAMEND); inicializamos la pila
OUT SPH,R16
LDI R16,LOW(RAMEND)
OUT SPL,R16
LDI R16,$FF; Configuramos PORTB como salida
OUT DDRB, R16
RCALL CONFIGURA_TMR1
LDI R16,$01;inicializamos CUENTA y PORTB con $00
OUT PORTB,R16
STS CUENTA,R16
LAZO:
IN R16,TIFR;Sondeamos OCF1A(bit4 de TIFR)
ANDI R16,$10;esperamos que sea 1
CPI R16,$10
BRNE LAZO
IN R16,TIFR;Se pone 0 el bit OCF1A
ORI R16,$10
OUT TIFR,R16
LDS R16,CUENTA;Se incrementa CUENTA
INC R16
STS CUENTA, R16
CPI R16,$03
BREQ INICIO
OUT PORTB,R16;Lo visualizamos en el puerto B
RJMP LAZO
;***********************************************
;*** SUBRUTINA QUE CONFIGURA EL TIMER1 COMPA ***
;***********************************************
CONFIGURA_TMR1:
LDI R16,0b00000000;
OUT TCCR1A,R16
LDI R16,0b00001001;
OUT TCCR1B,R16
LDI R17,HIGH(124)
LDI R16,LOW(124)
OUT OCR1AH,R17
OUT OCR1AL,R16
RET
VI. Conclusiones