Cirrus-logic AN88 Manual de usuario Pagina 12

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 14
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 11
AN88
12 AN88Rev2
;*************************************************************************************
;* Routine - delay
;* Input - Count in register A
;* Output - none
;* This subroutine delays by using count from register W. The PIC16F84
;* development board uses a 10 MHz clock (E = 2.5 MHz), thus each cycle is
;* 400 nS. This delay is approximately equivalent to
;* (400ns)*(1545)*(count value), (a count of 720 provides a 445ms delay).
;*************************************************************************************
delay MOVWFCOUNT ; Put the delay count into COUNT
outlp CLRF TEMP ; TEMP used as inner loop count
innlp NOP ; 1 cycle
NOP ; 1 cycle
NOP ; 1 cycle
NOP ; 1 cycle
DECFSZ TEMP,1 ; FF-FE, FE-FD, ....1-0 256 loops
; 10 cycles*256*500ns=1.28 ms
goto innlp ; If count not done repeat loop
DECFSZ COUNT,1 ; Countdown the accumulator
goto outlp ; 2569 cycles*500ns*A
RETURN ; Exit subroutine
;*************************************************************************************
;* Interrupt Vectors
;*************************************************************************************
NOT_USED RETFIE
ORG 0x04 ; Originate Interrupt Vector here
goto NOT_USED ; No Interrupts Enabled
end ; End Program Listing
Vista de pagina 11
1 2 ... 7 8 9 10 11 12 13 14

Comentarios a estos manuales

Sin comentarios