Guest User

Untitled

a guest
Jul 19th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. ; -----------------------------------------------------------------------
  2. ; Uso del conversor anlogico digital de 10 bits del
  3. ; PIC 12F675 con oscilador interno de 4MHz
  4. ; 10/01/2011
  5. ; -----------------------------------------------------------------------
  6. ; Codigo para simular. No fue probado en la practica
  7.  
  8. ; -----------------------------------------------------------------------
  9. #include <p12f675.inc>
  10.  
  11. ; -----------------------------------------------------------------------
  12. ; Bits de configuración
  13. __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _BODEN_ON & _CP_OFF & _CPD_OFF
  14.  
  15. ; -----------------------------------------------------------------------·
  16. ; Definiciones mnemotecnicas
  17. #define SAN GPIO,0 ; pin donde se encuentra la señal analogica a converitr
  18.  
  19. org 0x000 ; inicio luego de un reset
  20.  
  21. ; -----------------------------------------------------------------------·
  22. ; Configuracion pines
  23. bsf STATUS,5 ;me paso al banco 1
  24.  
  25. ; configuro el registro ANSEL para tener:
  26. ; tiempo de conversion de 16TOSC y pin 7 (ANS0) como entrada analogica
  27. movlw b'01010001'
  28. movwf ANSEL
  29.  
  30. ;configuro el pin 7 como entrada
  31. bsf TRISIO,0
  32.  
  33. bcf STATUS,5 ;me paso al banco 0
  34.  
  35. ; selecciono el canal de conversion
  36. ; indicando que la señal analogica estara en AN0 (pin 7 del PIC)
  37. bcf ADCON0,CHS1
  38. bcf ADCON0,CHS0
  39. ; indico que como referencia utilize VDD
  40. bcf ADCON0,VCFG
  41. ; indico el formato de conversion deseado: x x x x x x b9 b8 - b7 b6 b5 b4 b3 b2 b1 b0
  42. bsf ADCON0,ADFM
  43.  
  44. ; -----------------------------------------------------------------------·
  45. ; Programa principal
  46. ppal
  47. bsf ADCON0,ADON ; habilito el conversor
  48. ; aqui, en la practica, hay que esperar un tiempo a que se cargue el capacitor que toma la muestra a convertir
  49. bsf ADCON0,GO ; inicio una nueva conversion
  50.  
  51. esperar_conv
  52. btfsc ADCON0,GO ; verifico si finalizó la conversión (GO=0)
  53. goto esperar_conv ; si aun no finalizó, quedo esperando
  54.  
  55. ;resultados de la conversion los guarda en los registros ADRESH Y ADRESL de RAM
  56.  
  57. bcf ADCON0,ADON ; deshabilito el conversor para consumir menos recursos
  58.  
  59. END
Add Comment
Please, Sign In to add comment