Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
Bonsoir paulfjujo, Gérard, et tout le forum,
Je testerais cette possibilité, comme j'en ai pas, je vais en commander, via ton lien.
OK, javais déjà vu, mais dans ce domaine je suis un peu néophyte.
Là !!, il faut que je lise à tête reposé
pour ta participation, et tes connaissances dans ce domaine....,
Ouais, ouais ..... schéma très intéressant, ... très bonne méthode pour décharge et recharge,
, et pourtant c'est un peu le même principe que le tien, et que ce passe t'il si on utiliserai un comparateur ?
Bon je remets pas en causse tes déductions, et en y reviendra
Au travaille, et pendant que mon chef n'était pas là je me suis amusé à faire des calculs sur le convertisseur analogique.
J'explique, comme tu sais si on prends 5 volts et quand se sert du convertisseur analogique on obtient
(5,12 volts / 1024) = 0,005 volts par pas
Sachant qu'on ne peut pas dépassé approximativement 2 mA sur une PT100, ça nous donne une résistance de 2200 ohms, avant PT100.
(5 volts /2200) * 1000 =2,2 mA
Maintenant si je la branche comme sur le schéma
A 0°C j'ai 0,22 volts
A 250°C j'ai ,0,42 volts
ça nous fait une variation de 0,42 volts - ,22 volts = 0,20 volts avec un pas à 0,005 volts, ça nous donne 40 graduations
Et là stupeur, je me dit c'est pas bon du tout 40 graduation pour 250°C
Alors je me suis rappelé ce que disais le maître Bigonoff, il suffit de mettre V- ref au GND et V+ref à 0,42 volts
Ce qui nous ferais 1024 valeurs, ça nous donnerais 0,42 volts/ 1024 = 0,00041 volts par pas.
Mais Bigonoff dit aussi ceux-ci
Attention toutefois : lors de l’utilisation d’une tension de référence Vref-, Vref+ vous ne pouvez pas utiliser n’importe quelle tension(consultez le datasheet de votre Pic)
Alors avant de passer au essai sur cette méthode, sais tu sur le Pic18F26K22 le mini et maxi qui est acceptable pour Vref- et Vref+
Car j'ai fouillé sur le datasheet, et je n'ai rien trouvé, mais, se sais qu'avec 1 volts ça fonction, par ce que j'ai testé.
pour ta participation, sujet qui est très éducatif....
A+
Gérard a écrit :Source du message Pour 250°, je pense qu'un thermocouple serait intéressant.
Je testerais cette possibilité, comme j'en ai pas, je vais en commander, via ton lien.
Gérard a écrit :Source du message Les tables correspondants aux tensions générées.
OK, javais déjà vu, mais dans ce domaine je suis un peu néophyte.
Gérard a écrit :Source du message Attention toutefois, un thermocouple nécessite une compensation de soudure froide.
Là !!, il faut que je lise à tête reposé
pour ta participation, et tes connaissances dans ce domaine....,
paulfjujo a écrit :Source du message Test avec 2 mosfet
Ouais, ouais ..... schéma très intéressant, ... très bonne méthode pour décharge et recharge,
paulfjujo a écrit :Source du message MAUVAISE SOLUTION !
, et pourtant c'est un peu le même principe que le tien, et que ce passe t'il si on utiliserai un comparateur ?
paulfjujo a écrit :Source du message Attendons ta contre proposition ....
Bon je remets pas en causse tes déductions, et en y reviendra
Au travaille, et pendant que mon chef n'était pas là je me suis amusé à faire des calculs sur le convertisseur analogique.
J'explique, comme tu sais si on prends 5 volts et quand se sert du convertisseur analogique on obtient
(5,12 volts / 1024) = 0,005 volts par pas
Sachant qu'on ne peut pas dépassé approximativement 2 mA sur une PT100, ça nous donne une résistance de 2200 ohms, avant PT100.
(5 volts /2200) * 1000 =2,2 mA
Maintenant si je la branche comme sur le schéma
A 0°C j'ai 0,22 volts
A 250°C j'ai ,0,42 volts
ça nous fait une variation de 0,42 volts - ,22 volts = 0,20 volts avec un pas à 0,005 volts, ça nous donne 40 graduations
Et là stupeur, je me dit c'est pas bon du tout 40 graduation pour 250°C
Alors je me suis rappelé ce que disais le maître Bigonoff, il suffit de mettre V- ref au GND et V+ref à 0,42 volts
Ce qui nous ferais 1024 valeurs, ça nous donnerais 0,42 volts/ 1024 = 0,00041 volts par pas.
Mais Bigonoff dit aussi ceux-ci
Attention toutefois : lors de l’utilisation d’une tension de référence Vref-, Vref+ vous ne pouvez pas utiliser n’importe quelle tension(consultez le datasheet de votre Pic)
Alors avant de passer au essai sur cette méthode, sais tu sur le Pic18F26K22 le mini et maxi qui est acceptable pour Vref- et Vref+
Car j'ai fouillé sur le datasheet, et je n'ai rien trouvé, mais, se sais qu'avec 1 volts ça fonction, par ce que j'ai testé.
pour ta participation, sujet qui est très éducatif....
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le mar. 9 juil. 2019 17:57, modifié 1 fois.
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
Bonsoir paulfjujo, Gérard, et tout le forum,
pour l'aide que tu m'apporte, et le temps que tu y passe, j'en commanderai peut être, mais avant tout je veux réussir à faire fonctionner cette Pt100.
C'est une question d'honneur, et de ténacité, je ne lâcherai rien....... par la suite je reviendrai sur le thermocouple, pour autre projet,
j'en reparlerai ici.
A+
pour l'aide que tu m'apporte, et le temps que tu y passe, j'en commanderai peut être, mais avant tout je veux réussir à faire fonctionner cette Pt100.
C'est une question d'honneur, et de ténacité, je ne lâcherai rien....... par la suite je reviendrai sur le thermocouple, pour autre projet,
j'en reparlerai ici.
A+
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Bonjour TempsX et à tous,
La solution directe ADC analogique du PIC , ne permet qu'une gamme maxi de 1,024V.
qui est d'ailleurs la +VREF minimale.
il est indispensable d'alimenter la sonde à courant constant
* Avec une Pt1000 ce serait plus facile 380 ohms de delta pour 100°C
un montage en pont de wheastone te un petit ampli OP programmable arangerait bien MCP6S21 par exemple.
Apres tout, tu ne nous a pas dit la resolution et precision que tu veux atteindre ..
j'ai retesté le montage RC avec un SN74LS14 et 2 valeurs de condo
j'ai dans mes tiroirs 2 ETALON "MECi"
un 138,500 Ohms => 100°C
et un de 29,78 Ohms avec un point violet et Jaune => ce devrait etre le delta pour 74°C
Avec un condo (relativement) élévé , la periode est grande et on peut directement
mesurer cette duree avec un timer avec une tres grande precision ( 64MHz FOSC => FOSC/4 => cycle de 62,5nS)
sans aller jusque là !
avec C=4,7µF ( polyester isolé 63V)
j'obtiens les valeurs du tableau ci-joint
Avec C=4µf
°C R µS HZ
0 100.00 590 1695
75 129.78 796 1256
84 133.20 804 1244
100 138.5 828 1208
188 171.70 992 1008
408 250.00 1290 775
delta T(µS) 238 pour 0-100°C
delta F(Hz) -487 pour 0-100°C
238µS c'est exploitable...
MAIS sans utiliser le montage annexe , avec autocalibration
on mesurera AUSSi les variations du Condo C .
Important aussi : la tension d'alimentation doit etre STABILISEE..
Ces éléments perturbation sont grandement compensés si on utilise l'autocalibration
et la mesure ratiometrique qui en découle.
On ne peut pas faire TRES SIMPLE ...pour des deltas de 0,38 ohms/°C
Si c'était à refaire, aujourdh'hui je prendrai le MAX31865 resistance-to-digital converter optimized
La solution directe ADC analogique du PIC , ne permet qu'une gamme maxi de 1,024V.
qui est d'ailleurs la +VREF minimale.
il est indispensable d'alimenter la sonde à courant constant
* Avec une Pt1000 ce serait plus facile 380 ohms de delta pour 100°C
un montage en pont de wheastone te un petit ampli OP programmable arangerait bien MCP6S21 par exemple.
Apres tout, tu ne nous a pas dit la resolution et precision que tu veux atteindre ..
j'ai retesté le montage RC avec un SN74LS14 et 2 valeurs de condo
j'ai dans mes tiroirs 2 ETALON "MECi"
un 138,500 Ohms => 100°C
et un de 29,78 Ohms avec un point violet et Jaune => ce devrait etre le delta pour 74°C
Avec un condo (relativement) élévé , la periode est grande et on peut directement
mesurer cette duree avec un timer avec une tres grande precision ( 64MHz FOSC => FOSC/4 => cycle de 62,5nS)
sans aller jusque là !
avec C=4,7µF ( polyester isolé 63V)
j'obtiens les valeurs du tableau ci-joint
Avec C=4µf
°C R µS HZ
0 100.00 590 1695
75 129.78 796 1256
84 133.20 804 1244
100 138.5 828 1208
188 171.70 992 1008
408 250.00 1290 775
delta T(µS) 238 pour 0-100°C
delta F(Hz) -487 pour 0-100°C
238µS c'est exploitable...
MAIS sans utiliser le montage annexe , avec autocalibration
on mesurera AUSSi les variations du Condo C .
Important aussi : la tension d'alimentation doit etre STABILISEE..
Ces éléments perturbation sont grandement compensés si on utilise l'autocalibration
et la mesure ratiometrique qui en découle.
On ne peut pas faire TRES SIMPLE ...pour des deltas de 0,38 ohms/°C
Si c'était à refaire, aujourdh'hui je prendrai le MAX31865 resistance-to-digital converter optimized
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
Bonsoir paulfjujo, Gérard, et tout le forum,
Suite à ce que tu as dit, Je viens de voir dans le datasheet de la page 332 le registre VREFCON0 qui permets un réglage de la tension de référence VREF+ en interne, je ne savais pas que ce Pic posséder c'est propre tension de référence pour le convertisseur analogique.
Moi je te parle d'un réglage externe, sur maximum et minimum....
Je viens de voir une très bonne explication sur la façon d'utiliser le convertisseur analogique ICI mais malheureusement tout est en anglais
Si j'en parle en post #1, c'est pour contrôler une température qui n'excédera pas les 250°C à plus au moins 5°C,
Et ma sonde PT100 je la mets à la poubelle si j'ai bien compris, pauvre sonde......
Je sais j'ai fais un mauvais choix, et je suis d'accord avec toi qu'avec une PT1000 j'en serais pas là.
J'ai des MCP6S21(amplificateur programmable) mais je sais pas si c'est vraiment fiable.
ça reste acceptable mais il est vrai qu'il faut une alimentation très stable, que ça soit dans tout les cas de figure.
Et moi, Si c'était à refaire,je partirais sur une PT1000....
J'ai une autre idée..... avec Pic16F1847 ou Pic16F1825 ou Pic16F1937 mais il faut que je teste ce Week-end, car la semaine pas le temps, après essai j'en reparle ici.
A+
paulfjujo a écrit :Source du message La solution directe ADC analogique du PIC , ne permet qu'une gamme maxi de 1,024V.
Suite à ce que tu as dit, Je viens de voir dans le datasheet de la page 332 le registre VREFCON0 qui permets un réglage de la tension de référence VREF+ en interne, je ne savais pas que ce Pic posséder c'est propre tension de référence pour le convertisseur analogique.
Moi je te parle d'un réglage externe, sur maximum et minimum....
Je viens de voir une très bonne explication sur la façon d'utiliser le convertisseur analogique ICI mais malheureusement tout est en anglais
paulfjujo a écrit :Source du message Après tout, tu ne nous a pas dit la résolution et précision que tu veux atteindre ..
Si j'en parle en post #1, c'est pour contrôler une température qui n'excédera pas les 250°C à plus au moins 5°C,
paulfjujo a écrit :Source du message Avec une Pt1000 ce serait plus facile 380 ohms de delta pour 100°C
Et ma sonde PT100 je la mets à la poubelle si j'ai bien compris, pauvre sonde......
Je sais j'ai fais un mauvais choix, et je suis d'accord avec toi qu'avec une PT1000 j'en serais pas là.
J'ai des MCP6S21(amplificateur programmable) mais je sais pas si c'est vraiment fiable.
paulfjujo a écrit :Source du message j'obtiens les valeurs du tableau ci-joint
ça reste acceptable mais il est vrai qu'il faut une alimentation très stable, que ça soit dans tout les cas de figure.
paulfjujo a écrit :Source du message Si c'était à refaire, aujourd’hui je prendrai le MAX31865 resistance-to-digital converter optimized
Et moi, Si c'était à refaire,je partirais sur une PT1000....
J'ai une autre idée..... avec Pic16F1847 ou Pic16F1825 ou Pic16F1937 mais il faut que je teste ce Week-end, car la semaine pas le temps, après essai j'en reparle ici.
A+
Modifié en dernier par Temps-x le jeu. 11 juil. 2019 22:19, modifié 1 fois.
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
Bonsoir paulfjujo, Gérard, et tout le forum,
Je connais le MAX31865 car paulfjujo m'en a parlé ICI, et je vais me rabattre sur ça si je n'arrive pas à la faire fonctionner correctement, mais pour l'instant ..... j'ai pas encore dit mon dernier mot....
Dans tout les cas c'est sympa à toi de vouloir m'aider, et j' apprécie grandement,
A+
Gérard a écrit :Source du message Je viens de tomber sur ça.
Je connais le MAX31865 car paulfjujo m'en a parlé ICI, et je vais me rabattre sur ça si je n'arrive pas à la faire fonctionner correctement, mais pour l'instant ..... j'ai pas encore dit mon dernier mot....
Dans tout les cas c'est sympa à toi de vouloir m'aider, et j' apprécie grandement,
A+
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
Bonsoir paulfjujo, Gérard, et tout le forum,
Je n'arrive pas à configurer sur le Pic18F2622 la tension de référence interne qui est de 1,024V, portant j'ai bien configurer les registres.
Si quelqu’un connait la réponse qui me le dise, pour que je puisse avancer dans mon projet
A++
Je n'arrive pas à configurer sur le Pic18F2622 la tension de référence interne qui est de 1,024V, portant j'ai bien configurer les registres.
Code : Tout sélectionner
movlw B'00000000'
movwf BSR
;***********************************************************************************************
;******************** "configuration de l'oscillateur du microcontrôleur" **********************
;***********************************************************************************************
movlw B'01100100' ; oscillateur à 8 Mhz, fréquence stable
movwf OSCCON
;**************************** configuration du registre OSCTUNE ********************************
movlw B'00000000' ; bit 6 à 1 : PLL * 4
movwf OSCTUNE ; bit 6 à 0 : PLL désactivé
;***********************************************************************************************
;*************** "configuration du convertiseur analogique du microcontrôleur" *****************
;***********************************************************************************************
;*************************** configuration du registre ANSELA **********************************
movlw B'00000000' ; en mode numérique :
movwf ANSELA ; en mode E/S : 2(RA0), 3(RA1), 4(RA2), 5(RA3), 7(RA5)
;**************************** configuration du registre ANSELB *********************************
movlw B'00000000' ; en mode numérique :
movwf ANSELB ; en mode E/S : 21(RB0), 22(RB1) 23(RB2), 24(RB3), 25(RB4), 26(RB5)
;**************************** configuration du registre ANSELC *********************************
movlw B'00011000' ; en mode numérique : 14(RC3), 15(RC4)
movwf ANSELC ; en mode E/S : 13(RC2), 16(RC5), 17(RC6), 18(RC7)
;**************************** configuration du registre VREFCON1 *********************************
clrf VREFCON1 ; DAC est désactivé
;**************************** configuration du registre VREFCON2 *********************************
clrf VREFCON2 ; DAC sur sortie désactivé
;**************************** configuration du registre VREFCON0 *********************************
: B5 à B4
; 00 = tension de référence est désactivée
movlw B'10010000' ; 01 = tension de référence est 1x (1.024V) <-----
movwf VREFCON0 ; 10 = tension de référence est 2x (2.048V)
; 11 = tension de référence est 4x (4.096V)
;*************************** configuration du registre ADCON0 **********************************
movlw B'01111101' ; FVR & ADC
movwf ADCON0
;*************************** configuration du registre ADCON1 **********************************
movlw B'00001000' ; b3 à b2 = 10 : tension de référence FVR = 1.024V
movwf ADCON1 ; b1 à b0 = 00 : tension de reférence, Vref- = Vdd
;*************************** configuration du registre ADCON2 **********************************
movlw B'10111110' ; b2 à b0 = FOSC/64
movwf ADCON2 ; b5 à b3 = 20 TAG
;
; b7 = détermine si le résultat de la conversion
; sera justifié à droite = 1 ou à gauche = 0
;************ configuration des registres TRISA & TRISB & TRISC & TRISE en bank 1 **************
movlw B'00001100' ; RA0(2), RA1(3), RA2(4), RA3(5), RA4(6), RA5(7), RA6(10), RA7(9)
movwf TRISA ;
movlw B'11000000' ; RB0(21), RB1(22), RB2(23), RB3(24), RB4(25), RB5(26), RB6(27), RB7(28)
movwf TRISB ;
movlw B'00011000' ; RC0(11), RC1(12), RC2(13), RC3(14), RC4(15), RC5(16), RC6(17), RC7(18)
movwf TRISC ;
;***********************************************************************************************
;********************************* départ du programme **************************************
;***********************************************************************************************
stable
btfss VREFCON0,FVRST ; vérifier si la tension de référence est stable
bra stable
; rcall canal_AN16 ; sélection du canal AN16/RC4
rcall scan ; scan numérique
rcall _1s
bra stable
;***********************************************************************************************
scan
bsf ADCON0,GO ; lancer la conversion A/D
nop
btfsc ADCON0,GO ; si le bit GO est à 1 on va à la ligne 1
bra $-D'2' ; convertion n'est pas terminer
movff ADRESH,res16 ; transférer le résultat dans la variable 'res8'
movff ADRESL,res8 ; transférer le résultat dans la variable 'res8'
return
Si quelqu’un connait la réponse qui me le dise, pour que je puisse avancer dans mon projet
A++
Contrôle de la température avec sonde PT100, PT1000, Thermocouple, MAX31865 .....
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
j'espere que ça t'aidera un peu
le code en C
et le resultat asm , LST correspondant
j'espere que ça t'aidera un peu
le code en C
Code : Tout sélectionner
ADC_Init_Advanced(_ADC_INTERNAL_FVRH1); // 1.024V as +VREF
EA0 = ADC_Get_Sample(1); // Get 10-bit results of AD conversion
et le resultat asm , LST correspondant
Code : Tout sélectionner
;_18F26K22_16Mhz_Uart1_Base_170802.c,287 :: ADC_Init_Advanced(_ADC_INTERNAL_FVRH1);
MOVLW 24
MOVWF FARG_ADC_Init_Advanced_reference+0
CALL _ADC_Init_Advanced+0, 0
;_18F26K22_16Mhz_Uart1_Base_170802.c,288 :: EA0 = ADC_Get_Sample(1); // Get 10-bit results of AD conversion
MOVLW 1
MOVWF FARG_ADC_Get_Sample_channel+0
CALL _ADC_Get_Sample+0, 0
MOVF R0, 0
MOVWF _EA0+0
MOVF R1, 0
MOVWF _EA0+1
:
;__Lib_ADC_K22_B.c,52 ::
;__Lib_ADC_K22_B.c,55 ::
0x3D3C 0x0E83 MOVLW 131
0x3D3E 0x16C2 ANDWF ADCON0, 1
;__Lib_ADC_K22_B.c,57 ::
0x3D40 0xF000C11D MOVFF FARG_ADC_Get_Sample_channel, R0
0x3D44 0x3600 RLCF R0, 1
0x3D46 0x9000 BCF R0, 0
0x3D48 0x3600 RLCF R0, 1
0x3D4A 0x9000 BCF R0, 0
0x3D4C 0x5000 MOVF R0, 0
0x3D4E 0x12C2 IORWF ADCON0, 1
;__Lib_ADC_K22_B.c,59 ::
0x3D50 0xF00DECDB CALL _Delay_22us, 0
;__Lib_ADC_K22_B.c,60 ::
0x3D54 0x82C2 BSF ADCON0, 1
;__Lib_ADC_K22_B.c,61 ::
L_ADC_Get_Sample4:
0x3D56 0xA2C2 BTFSS ADCON0, 1
0x3D58 0xD001 BRA L_ADC_Get_Sample5
;__Lib_ADC_K22_B.c,62 ::
0x3D5A 0xD7FD BRA L_ADC_Get_Sample4
L_ADC_Get_Sample5:
;__Lib_ADC_K22_B.c,63 ::
0x3D5C 0xF001CFC4 MOVFF ADRESH, R1
0x3D60 0x6A00 CLRF R0
0x3D62 0xF11EC000 MOVFF R0, ADC_Get_Sample_rslt_L0
0x3D66 0xF11FC001 MOVFF R1, ADC_Get_Sample_rslt_L0+1
;__Lib_ADC_K22_B.c,64 ::
0x3D6A 0x50C3 MOVF ADRESL, 0
0x3D6C 0x1200 IORWF R0, 1
0x3D6E 0x0E00 MOVLW 0
0x3D70 0x1201 IORWF R1, 1
0x3D72 0xF11EC000 MOVFF R0, ADC_Get_Sample_rslt_L0
0x3D76 0xF11FC001 MOVFF R1, ADC_Get_Sample_rslt_L0+1
;__Lib_ADC_K22_B.c,65 ::
0x3D7A 0x0E00 MOVLW 0
0x3D7C 0x1400 ANDWF R0, 0
0x3D7E 0x6E02 MOVWF R2
0x3D80 0x5001 MOVF R1, 0
0x3D82 0x0B80 ANDLW 128
0x3D84 0x6E03 MOVWF R3
0x3D86 0x0E00 MOVLW 0
0x3D88 0x1803 XORWF R3, 0
0x3D8A 0xE102 BNZ L__ADC_Get_Sample13
0x3D8C 0x0E00 MOVLW 0
0x3D8E 0x1802 XORWF R2, 0
L__ADC_Get_Sample13:
0x3D90 0xE003 BZ L_ADC_Get_Sample6
;__Lib_ADC_K22_B.c,66 ::
0x3D92 0x0101 MOVLB 1
0x3D94 0x6B1E CLRF ADC_Get_Sample_rslt_L0, 1
0x3D96 0x6B1F CLRF ADC_Get_Sample_rslt_L0+1, 1
L_ADC_Get_Sample6:
;__Lib_ADC_K22_B.c,67 ::
0x3D98 0xF000C11E MOVFF ADC_Get_Sample_rslt_L0, R0
0x3D9C 0xF001C11F MOVFF ADC_Get_Sample_rslt_L0+1, R1
;__Lib_ADC_K22_B.c,68 ::
L_end_ADC_Get_Sample:
0x3DA0 0x0012 RETURN 0
_ADC_Init_Advanced:
;__Lib_ADC_K22_B.c,33 ::
;__Lib_ADC_K22_B.c,34 ::
0x3C76 0x0EFF MOVLW _ADC_Get_Sample
0x3C78 0x0101 MOVLB 1
0x3C7A 0x6F19 MOVWF _ADC_Get_Sample_Ptr, 1
0x3C7C 0x0EFF MOVLW hi_addr(_ADC_Get_Sample)
0x3C7E 0x6F1A MOVWF _ADC_Get_Sample_Ptr+1, 1
0x3C80 0x0EFF MOVLW FARG_ADC_Get_Sample_channel
0x3C82 0x6F1B MOVWF _ADC_Get_Sample_Ptr+2, 1
0x3C84 0x0EFF MOVLW hi_addr(FARG_ADC_Get_Sample_channel)
0x3C86 0x6F1C MOVWF _ADC_Get_Sample_Ptr+3, 1
;__Lib_ADC_K22_B.c,36 ::
0x3C88 0x6AC2 CLRF ADCON0
;__Lib_ADC_K22_B.c,37 ::
0x3C8A 0x5052 MOVF _mult_mask, 0
0x3C8C 0x151D ANDWF FARG_ADC_Init_Advanced_reference, 0, 1
0x3C8E 0x6E00 MOVWF R0
0x3C90 0xE00A BZ L_ADC_Init_Advanced0
;__Lib_ADC_K22_B.c,38 ::
0x3C92 0x5052 MOVF _mult_mask, 0
0x3C94 0x151D ANDWF FARG_ADC_Init_Advanced_reference, 0, 1
0x3C96 0x010F MOVLB 15
0x3C98 0x6F42 MOVWF VREFCON0, 1
;__Lib_ADC_K22_B.c,39 ::
0x3C9A 0x8F42 BSF VREFCON0, 7, 1
;__Lib_ADC_K22_B.c,40 ::
L_ADC_Init_Advanced1:
0x3C9C 0xBD42 BTFSC VREFCON0, 6, 1
0x3C9E 0xD002 BRA L_ADC_Init_Advanced2
;__Lib_ADC_K22_B.c,41 ::
0x3CA0 0x0000 NOP
0x3CA2 0xD7FC BRA L_ADC_Init_Advanced1
L_ADC_Init_Advanced2:
;__Lib_ADC_K22_B.c,42 ::
0x3CA4 0xD002 BRA L_ADC_Init_Advanced3
L_ADC_Init_Advanced0:
0x3CA6 0x010F MOVLB 15
;__Lib_ADC_K22_B.c,44 ::
0x3CA8 0x6B42 CLRF VREFCON0, 1
L_ADC_Init_Advanced3:
;__Lib_ADC_K22_B.c,45 ::
0x3CAA 0x1C51 COMF _vref_mask, 0
0x3CAC 0x6E00 MOVWF R0
0x3CAE 0x5000 MOVF R0, 0
0x3CB0 0x16C1 ANDWF ADCON1, 1
;__Lib_ADC_K22_B.c,46 ::
0x3CB2 0x5051 MOVF _vref_mask, 0
0x3CB4 0x0101 MOVLB 1
0x3CB6 0x151D ANDWF FARG_ADC_Init_Advanced_reference, 0, 1
0x3CB8 0x6E00 MOVWF R0
0x3CBA 0x5000 MOVF R0, 0
0x3CBC 0x12C1 IORWF ADCON1, 1
;__Lib_ADC_K22_B.c,47 ::
0x3CBE 0x0E0F MOVLW 15
0x3CC0 0x12C0 IORWF ADCON2, 1
;__Lib_ADC_K22_B.c,48 ::
0x3CC2 0x8EC0 BSF ADCON2, 7
;__Lib_ADC_K22_B.c,49 ::
0x3CC4 0x80C2 BSF ADCON0, 0
;__Lib_ADC_K22_B.c,50 ::
L_end_ADC_Init_Advanced:
0x3CC6 0x0012 RETURN 0
Retourner vers « Coin Fourre-tout »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 44 invités