Skip to content

Instantly share code, notes, and snippets.

@charliexr
Created January 10, 2011 18:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save charliexr/773225 to your computer and use it in GitHub Desktop.
Save charliexr/773225 to your computer and use it in GitHub Desktop.
; -----------------------------------------------------------------------
; Uso del conversor anlogico digital de 10 bits del
; PIC 12F675 con oscilador interno de 4MHz
; 10/01/2011
; -----------------------------------------------------------------------
; Codigo para simular. No fue probado en la practica
; -----------------------------------------------------------------------
#include <p12f675.inc>
; -----------------------------------------------------------------------
; Bits de configuración
__CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _BODEN_ON & _CP_OFF & _CPD_OFF
; -----------------------------------------------------------------------·
; Definiciones mnemotecnicas
#define SAN GPIO,0 ; pin donde se encuentra la señal analogica a converitr
org 0x000 ; inicio luego de un reset
; -----------------------------------------------------------------------·
; Configuracion pines
bsf STATUS,5 ;me paso al banco 1
; configuro el registro ANSEL para tener:
; tiempo de conversion de 16TOSC y pin 7 (ANS0) como entrada analogica
movlw b'01010001'
movwf ANSEL
;configuro el pin 7 como entrada
bsf TRISIO,0
bcf STATUS,5 ;me paso al banco 0
; selecciono el canal de conversion
; indicando que la señal analogica estara en AN0 (pin 7 del PIC)
bcf ADCON0,CHS1
bcf ADCON0,CHS0
; indico que como referencia utilize VDD
bcf ADCON0,VCFG
; indico el formato de conversion deseado: x x x x x x b9 b8 - b7 b6 b5 b4 b3 b2 b1 b0
bsf ADCON0,ADFM
; -----------------------------------------------------------------------·
; Programa principal
ppal
bsf ADCON0,ADON ; habilito el conversor
; aqui, en la practica, hay que esperar un tiempo a que se cargue el capacitor que toma la muestra a convertir
bsf ADCON0,GO ; inicio una nueva conversion
esperar_conv
btfsc ADCON0,GO ; verifico si finalizó la conversión (GO=0)
goto esperar_conv ; si aun no finalizó, quedo esperando
;resultados de la conversion los guarda en los registros ADRESH Y ADRESL de RAM
bcf ADCON0,ADON ; deshabilito el conversor para consumir menos recursos
END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment