Вы находитесь на странице: 1из 5

CAPACIMETRO CON PIC 16F84 - www.pesadillo.

com

http://www.pesadillo.com/pesadillo/?p=1503#c...

Impreso desde www.pesadillo.com. Por favor, ayuda a mantener el sitio operativo haciendo un donativo en la web. Intentamos mantener la web sin publicidad.

CAPACIMETRO CON PIC 16F84


Vase la evolucin:
Un capacmetro con los mismos principios bsicos, se present en Nueva Revista Electrnica de
marzo de 1978, y no menos de 13 CYS de lgica discreta. Vase el CI
Hoy podemos construir la capacmetro con un solo IC, el microcontrolador PIC16F84, por ejemplo,
y un pequeo programa embebido en su memoria.
Capacmetro
Por supuesto, no podemos compararlo con una HP por $ 5000, 00 o algo, pero le garantizo que
cuando no se tiene que romper toda una gran rama en el banco o en el campo.
Mide desde 9999 hasta 5NF UF con un promedio de error <2% en comparacin con un Minipa,
suficiente para los trabajos de mantenimiento, ya que la mayora de los condensadores de
diversos dispositivos electrnicos estn en el radio, especialmente con electroltico tolerancia de
hasta el 20%

PROGRAMACION EN ENSAMBLADOR (ASM):


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

1 de 5

;Esquema 2 ( display K comun )


;10/09/2003 CAPACIMETRO 5n a 9999 microF
; COLOCAR RESISTOR DE 1K2 NO PINO 3 ( RA4 ) PARA +5V
; Ligar resistor do ponto decimal ao +5
;Segmentos no portb
errorlevel -302
list p=16F84A
radix dec
include
__config _XT_OSC & _CP_OFF & _WDT_OFF & _PWRTE_ON
W2 equ 12
ST2 equ 13
milhar equ 14
centena equ 15
dezena equ 16
unidade equ 17
qual equ 18
tempo equ 19
dt1 equ 20
espera equ 21
org 0
goto inicio
org 4
SalvaWeST:
movwf W2
movf STATUS,W
movwf ST2

17/02/15 18:56

CAPACIMETRO CON PIC 16F84 - www.pesadillo.com


32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

2 de 5

http://www.pesadillo.com/pesadillo/?p=1503#c...

TestaFlags:
btfsc INTCON,T0IF
goto INT_TIMER
btfsc INTCON,RBIF
goto INT_EXTERNA
Fim_Int:
movf ST2,W
movwf STATUS
movf W2,W
retfie
INT_TIMER:
bcf STATUS,RP0
incf qual,f
movf qual,w
indexa:
addwf PCL,f
nop
goto dispM
goto dispC
goto dispD
goto dispU
movlw 1
movwf qual
dispM:
bsf PORTA,1
bsf PORTA,2
bsf PORTA,3
bsf PORTA,4
movf milhar,w
call segmento
movwf PORTB
bcf PORTA,2
bcf INTCON,T0IF
goto Fim_Int
dispC:
bsf PORTA,1
bsf PORTA,2
bsf PORTA,3
bsf PORTA,4
movf centena,w
call segmento
movwf PORTB
bcf PORTA,1
bcf INTCON,T0IF
goto Fim_Int
dispD:
bsf PORTA,1
bsf PORTA,2
bsf PORTA,3
bsf PORTA,4
movf dezena,w
call segmento
movwf PORTB
bcf PORTA,4
bcf INTCON,T0IF
goto Fim_Int
dispU:
bsf PORTA,1
bsf PORTA,2
bsf PORTA,3
bsf PORTA,4
movf unidade,w
call segmento
movwf PORTB
bcf PORTA,3
bcf INTCON,T0IF
goto Fim_Int
segmento:
addwf PCL,f
retlw B'01111111'
retlw B'00001101'
retlw B'10110111'
retlw B'10011111'
retlw B'11001101'
retlw B'11011011'
retlw B'11111011'
retlw B'00001111'
retlw B'11111111'
retlw B'11011111'
retlw B'11110010'
retlw B'10100000'
retlw B'10111000'
retlw B'10101000'
retlw B'00000000'
call erro

;0
;1
;2
;3
;4
;5
;6
;7
;8
;9
;
;
;
;
; apaga segmentos

INT_EXTERNA:

17/02/15 18:56

CAPACIMETRO CON PIC 16F84 - www.pesadillo.com


128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223

3 de 5

http://www.pesadillo.com/pesadillo/?p=1503#c...

incf unidade,f
movlw 10
subwf unidade,w
btfss STATUS,Z
goto fim_ext
clrf unidade
incf dezena,f
movlw 10
subwf dezena,w
btfss STATUS,Z
goto fim_ext
clrf dezena
incf centena,f
movlw 10
subwf centena,w
btfss STATUS,Z
goto fim_ext
clrf centena
incf milhar,f
movlw 10
subwf milhar,w
btfss STATUS,Z
goto fim_ext
clrf milhar
fim_ext:
bcf INTCON,RBIF
goto Fim_Int
inicio:
clrf PORTA
clrf PORTB
bcf PORTA,1
bcf PORTA,2
bcf PORTA,3
bcf PORTA,4
clrf INTCON
clrf TMR0
bsf STATUS,RP0
movlw B'00000001'
movwf TRISB
movlw B'11100000'
movwf TRISA
movlw B'10010011'
movwf OPTION_REG
bcf STATUS,RP0
Reset:
clrf milhar
clrf centena
clrf dezena
clrf unidade
clrf qual
bcf INTCON,T0IF
bcf INTCON,RBIF
bsf INTCON,T0IE
bsf INTCON,RBIE
bsf INTCON,GIE
;--------pulso
bsf PORTA,0 ; descarga do capacitor
call ms250 ; espera
call ms250
bcf PORTA,0 ; inicia carga do capacitor
loop: btfss PORTB,0 ;
bsf INTCON,RBIF ; conta durante tempo de carga do capacitor
;------------------OVERFLOW (9999)-------------------------btfsc PORTB,0 ;*** testa fim da medio do capacitor
goto off ;***
movf milhar,w
addwf centena,w ; SOMA
addwf dezena,w ; "
addwf unidade,w ; "
xorlw 36 ; 9+9+9+9
btfss STATUS,2
goto loop
erro movlw 10
movwf milhar
movlw 11
movwf centena
movlw 11
movwf dezena
movlw 12
movwf unidade
off movlw 1 ;(+- 1 min.)
movwf espera

17/02/15 18:56

CAPACIMETRO CON PIC 16F84 - www.pesadillo.com


224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270

http://www.pesadillo.com/pesadillo/?p=1503#c...

loop2 call ms250


incfsz espera,1
goto loop2
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf

10
milhar
11
centena
12
dezena
13
unidade

movlw 240 ; (+- 4 seg.)


movwf espera
loop3 call ms250
incfsz espera,1
goto loop3
;-----------------------------------------------;Preparando-se para dormir
bsf STATUS,RP0
movlw B'11111111'
movwf TRISA
movwf TRISB
bcf STATUS,RP0
bcf INTCON,GIE
sleep
;-------------------------ms250:
movlw 250
movwf tempo
ms250a:
movlw 248
movwf dt1
ms250b:
nop
decfsz dt1,1
goto ms250b
decfsz tempo,1
goto ms250a
return
END

Para la programacin, crear un fichero de texto con extensin .hex y copiar el contenido
hexadecimal dentro del fichero
CONTENIDO DEL FICHERO HEX:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

:020000006D2869
:080008008C0003088D000B19A8
:100010000F280B1853280D0883000C0809008312C1
:10002000920A1208820700001A2824282E2838284D
:100030000130920085140515851505160E0842201D
:10004000860005110B110B2885140515851505165D
:100050000F084220860085100B110B28851405150A
:100060008515051610084220860005120B110B2875
:100070008514051585150516110842208600851181
:100080000B110B2882077F340D34B7349F34CD34E5
:10009000DB34FB340F34FF34DF34F234A034B834B3
:1000A000A83400349620910A0A301102031D6B28EF
:1000B0009101900A0A301002031D6B2890018F0AEB
:1000C0000A300F02031D6B288F018E0A0A300E02C0
:1000D000031D6B288E010B100B28850186018510EE
:1000E0000511851105128B018101831601308600EF
:1000F000E03085009330810083128E018F019001E2
:10010000910192010B110B108B168B158B17051497
:10011000B720B7200510061C0B1406189E280E08E1
:100120000F0710071107243A031D8B280A308E0091
:100130000B308F000B3090000C3091000130950097
:10014000B720950FA0280A308E000B308F000C309E
:1001500090000D309100F0309500B720950FAD283C
:100160008316FF308500860083128B136300FA30FC
:100170009300F83094000000940BBB28930BB9282F
:02018000080075
:02400E00F13F80
:00000001FF

Alimentacin:
Bat de 9 V
Goma de borrar o de 9 V
Operacin:
Colocar el condensador terminales, y pulse el botn de prueba.
Para electroltico, observe la polaridad.

4 de 5

17/02/15 18:56

CAPACIMETRO CON PIC 16F84 - www.pesadillo.com

http://www.pesadillo.com/pesadillo/?p=1503#c...

Calibracin:
POTS multivoltas.
Tema 1: 5 nF a 9999 nF (470 nF condensador de referencia de 1%) (bote de 470 K).
Tema 2: 1 UF a 99,9 UF (47 UF condensador de referencia de 1%) (DE MACETA 1K).
Tema 3: 100 UF a 9999 UF (4700 UF condensador de referencia del 1%) (DE MACETA 200R).
1er Lugar en referencia a las terminales de condensador.
2 Gire la olla multivoltas correspondiente a la indicacin correcta.
Nota:
Si el ensamblador tiene opciones para ajustar las resistencias, puede sustituir los potencimetros
en serie con la resistencia, por una sola resistencia, lo que har ms compacto el circuito.
Al probar los condensadores, no olvides descargarlos antes.
Fuente: http://br.geocities.com/eronpaganucci/cappic.htm
Si ests interesado en como se programa el pic, busca en esta web el Curso de programacin
PICs donde explicamos paso a paso, con circuitos prcticos, como programar el pic 16f84. del
cual os dejo el primer link: http://www.pesadillo.com/pesadillo/?p=3211
Programas para la programacin: http://www.pesadillo.com/pesadillo/?p=3090
Existen dos modos de programacin extendidos. El ASM y el CCS, en este caso el programa esta
construido en ASM, para su comprensin se necesita experiencia con este modo de programacin.
Lo imprescindible es el contenido del fichero HEX (compilado) para la programacin del pic, con
cualquier programador conocido normalmente a travs del puerto RS232 (serie) del ordenador.

Gracias por tu visita a www.pesadillo.com

5 de 5

17/02/15 18:56

Вам также может понравиться