1
F:\latest 877a\timer0 overflow 1sec delay\1sec_delay_intr.asm ;----------------------------------------------------------------- ; PROCESSING INTERRUPT- 1SECOND DELAY BY TIMER0 OVERFLOW INTERRUPT ;PROGRAMMAR- SYED TASWAR MAHBUB ; MODUS OPARENDY: ; LEDS ARE ON AND OFF ALTERNATELY IN EACH SECOND. ; TMR0 OVERFLOW IS 255X128(PRESCALE)=6.528 MS ; COUNTER INCREASES UPTO 153 TIMES AND TOTAL ; STANDS= 6.528X153=1SEC(0.998784SEC ACTUALLY). ;------------------------------------------------------------------ TITLE: "1SECOND DELAY BY TIMER0 OVERFLOW INTERRUPT ROUTINE" LIST P = PIC16F877A #INCLUDE "P16F877A.INC" __CONFIG H'3F71' CBLOCK 0X20 CNT ENDC ORG 0X00 GOTO INIT ORG 0X04 GOTO ISR ;--------- MAIN PROGRAM STARTS HERE -------------------------------------- INIT BANKSEL TRISB CLRF TRISB CLRF TRISC CLRF TRISD MOVLW B'10000110' ;PRESCALE VALUE = 128 MOVWF OPTION_REG BANKSEL PORTB CLRF PORTB CLRF PORTC CLRF PORTD START BCF INTCON , 2 ;TOIF DISABLE,SO INTR FLAG CAN BE SET WITH INTR. BSF INTCON , 5 ;TOIE SET BSF INTCON , 7 ;GIE SET CLRF CNT LOOP GOTO LOOP ;PROGRAM COUNTER WILL REMAIN HERE TILL INTERRUPT ISR BCF INTCON , 2 ;TOIF DISABLE,SO INTR FLAG CAN BE SET WITH NEXT INTR INCF CNT , F MOVLW .153 SUBWF CNT , W ; WHEN COUNT= 153, COUNT CLEARED,PORTB COMPLEMENTED. BTFSS STATUS , 2 RETFIE COMF PORTB , F COMF PORTC , F COMF PORTD , F CLRF CNT RETFIE ;RETURN FROM INTERRUPT ROUTINE. END ;---------------------------------------------------------------------------------------- 1

1sec Delay Intr 77A

Embed Size (px)

DESCRIPTION

1 second Delay using Timer0 Interrupt

Citation preview

  • F:\latest 877a\timer0 overflow 1sec delay\1sec_delay_intr.asm

    ;-----------------------------------------------------------------; PROCESSING INTERRUPT- 1SECOND DELAY BY TIMER0 OVERFLOW INTERRUPT;PROGRAMMAR- SYED TASWAR MAHBUB; MODUS OPARENDY:; LEDS ARE ON AND OFF ALTERNATELY IN EACH SECOND.; TMR0 OVERFLOW IS 255X128(PRESCALE)=6.528 MS; COUNTER INCREASES UPTO 153 TIMES AND TOTAL; STANDS= 6.528X153=1SEC(0.998784SEC ACTUALLY).;------------------------------------------------------------------

    TITLE: "1SECOND DELAY BY TIMER0 OVERFLOW INTERRUPT ROUTINE"

    LIST P =PIC16F877A #INCLUDE "P16F877A.INC"

    __CONFIG H'3F71'

    CBLOCK 0X20 CNT ENDC

    ORG 0X00 GOTO INIT

    ORG 0X04 GOTO ISR

    ;--------- MAIN PROGRAM STARTS HERE --------------------------------------

    INIT BANKSEL TRISB CLRF TRISB CLRF TRISC CLRF TRISD MOVLW B'10000110' ;PRESCALE VALUE = 128 MOVWF OPTION_REG BANKSEL PORTB CLRF PORTB CLRF PORTC CLRF PORTD

    START BCF INTCON,2 ;TOIF DISABLE,SO INTR FLAG CAN BE SET WITH INTR. BSF INTCON,5 ;TOIE SET BSF INTCON,7 ;GIE SET CLRF CNTLOOP GOTO LOOP ;PROGRAM COUNTER WILL REMAIN HERE TILL INTERRUPT

    ISR BCF INTCON,2 ;TOIF DISABLE,SO INTR FLAG CAN BE SET WITH NEXT INTR INCF CNT,F MOVLW .153 SUBWF CNT,W ; WHEN COUNT= 153, COUNT CLEARED,PORTB COMPLEMENTED. BTFSS STATUS,2 RETFIE COMF PORTB,F COMF PORTC,F COMF PORTD,F CLRF CNT RETFIE ;RETURN FROM INTERRUPT ROUTINE. END ;----------------------------------------------------------------------------------------

    1