Advertisement
Electgpl

8051 - Generador 50Hz con TMR0

Jun 19th, 2017
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;-------------------------------------------------------------------------------------
  2. ;Programa que genera un delay de 100us con el uso del Timer 0.
  3. ;
  4. ;NOTA: TiempoOscilador: fXLS/Div = 12MHz/12=1us
  5. ;Valor del delay Tiempo[us]/TiempoOscilador[us]=10ms/1us=10000
  6. ;Calculando TLO y THO: 65536-10000=55536 -> D8F0
  7. ;
  8. ;                Registro TMOD      
  9. ; -------TIMER1--------|--------TIMER0--------|
  10. ; GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |  
  11. ;   0     0    0    0      0     0    0    1    
  12. ;
  13. ; Modo  M1  M0
  14. ;   0   0   0   13 bit Timer
  15. ;   1   0   1   16 bit Timer
  16. ;   2   1   0   8 bit Auto-Reload
  17. ;   3   1   1   Split Timer
  18. ;                
  19. ;Archivo: toggle10ms.s03
  20. ;Fecha de realización: 19/06/2017
  21. ;Autor: Sebastian Caccavallo - electgpl.blogspot.com.ar
  22. ;Modificación:
  23. ;-------------------------------------------------------------------------------------
  24.             ORG     0000H           ;Dirección del origen del programa
  25.             JMP     SETUP           ;Salta al Inicio del programa
  26. ;        
  27. SETUP:      MOV     TMOD,#01H       ;Configuramos TMOD con 1 (TMR0 - Modo 0) 16bits
  28. ;    
  29. LOOP:       CPL     P1.0            ;Toggle pin P1.0
  30.             CALL    DELAY           ;Llama a la subrutina de delay de 10ms  
  31.             SJMP    LOOP            ;Realiza el loop infinito
  32. ;    
  33. DELAY:      MOV     TL0,#0F0H       ;Configuramos TL0 con F0h
  34.             MOV     TH0,#0D8H       ;Configuramos TH0 con D8h
  35.             SETB    TR0             ;Start Timer
  36. ESPERA:     JNB     TF0,ESPERA      ;Espera al flag TF0=1 (espera que se desborde)
  37.             CLR     TR0             ;Stop Timer
  38.             CLR     TF0             ;Borra flag TF0
  39.             RET                     ;Retorno de subrutina
  40. ;
  41.             END                     ;Fin del programa
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement