ADC2 modul


      Az alábbi modullal a PIC16F88x beepitett A/D átalakítóját tudjuk használni.

Szükséges definiciók a főprogramban

xtal_freq       EQU     4000000                 ; oscillátor frekvencia
core_freq       EQU     xtal_freq/4             ; Az MCU magjának frekvenciája.

Opcionális definiciók a főprogramban

#define DEBUG                           ; Ha definiálva van, akkor forditási időben
                                        ; információkat kapunk.

Makrók

Név Paraméter Leirás
AD_INIT clksource, justify, reference, portconfig Inicializálja az ADC2 modult.
pl: AD_INIT AD_Fosc8, AD_JUST_LEFT, AD_REF_VSS_VDD, 00000000000001b
clksource Órajel forrás kiválasztása. Lehetséges értékek:
AD_Fosc2 - Fosc/2
AD_Fosc8 - Fosc/8
AD_Fosc32 - Fosc/32
AD_Frc - RC oszcillátor
justify Eredmény igazítása. Lehetséges értékek:
AD_JUST_LEFT - balra igazitva az ADRESH:ADRESL regiszterpárban
AD_JUST_RIGHT - jobbra igazitva az ADRESH:ADRESL regiszterpárban
reference Referencia feszültség forrása. Lehetséges értékek:
AD_REF_VSS_VDD - VSS és VDD lábak
AD_REF_VSS_AN3 - VSS és AN3 lábak
AD_REF_AN2_VDD - AN2 és VDD lábak
AD_REF_AN2_AN3 - AN2 és AN3 lábak
portconfig bit 0-7 : ANS0-ANS7 az ANSEL regiszterből
bit 8-13 : ANS8-ANS13 az ANSELH regiszterből (0=digital, 1=analog)
AD_STARTCONV Egy konverziót indít. A csatorna számát a W-ben várja. Lehetséges értékek: AD_CH0 ... AD_CH13, AD_CH_CVREF vagy AD_CH_FIXEDREF. Példa:
movlw AD_CH0
AD_STARTCONV
AD_ENDCONV Egy konverziót eredményét várja meg. A konverzió után az eredmény a ADRESH:ADRESL-ben lesz.
AD_GET channel Egy konverziót indít a channel csatornával. Példa:
AD_GET AD_CH0
channel A csatorna számát adhatjuk meg. Lehetséges értékek: AD_CH0 ... AD_CH13, AD_CH_CVREF vagy AD_CH_FIXEDREF