MPASM 02.01 Released CAPAC2.ASM 11-3-1998 18:01:01 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 LIST P=16F84
00002
00000085 00003 TRISA EQU 85
00000086 00004 TRISB EQU 86
00000005 00005 PORTA EQU 05
00000006 00006 PORTB EQU 06
00000000 00007 W EQU 0
00000001 00008 f EQU 1
00000002 00009 PC EQU 02
00000008 00010 EDATA EQU 08
00000009 00011 EADR EQU 09
00000088 00012 ECON1 EQU 88
00000089 00013 ECON2 EQU 89
00000001 00014 TIMER0 EQU 01
00000081 00015 OPCION EQU 81
00000003 00016 STATUS EQU 03
00000010 00017 REG1 EQU 10
00000012 00018 REG3 EQU 12
00000017 00019 REG4 EQU 17
0000001B 00020 AUXCI EQU 1B
0000001C 00021 BANDER1 EQU 1C
0000001E 00022 PER1 EQU 1E
0000001F 00023 REG5A EQU 1F
00000020 00024 BANDERS EQU 20
00000022 00025 REG1A EQU 22
00000023 00026 REG2A EQU 23
00000024 00027 REG3A EQU 24
00000025 00028 REG4A EQU 25
00000026 00029 CICLO EQU 26
0000000B 00030 INTCON EQU 0X0B
00031 #DEFINE COMP PORTA,2
00032 #DEFINE TRIGGER PORTA,3
00033 #DEFINE ENABLE PORTA,1
00034 #DEFINE RS PORTA,0
00035 #DEFINE CARRY STATUS,0
00036 #DEFINE OVERFL INTCON,2 ;BANDERA DE OVERFLOW DE TIMER0
00037
0000 00038 ORG 00
0000 2801 00039 GOTO INICIO
00040
0001 1683 00041 INICIO BSF 3,5 ;CONFIGURAR PUERTOS
0002 3004 00042 MOVLW 0X04
0003 0085 00043 MOVWF TRISA
0004 3000 00044 MOVLW 0X00
0005 0086 00045 MOVWF TRISB
0006 3080 00046 MOVLW 0X80
0007 0081 00047 MOVWF OPCION ;PREESCALIZADOR 1:2, CON FLANCO DE SUBIDA
0008 1683 00048 BSF 3,5
0009 1085 00049 BCF ENABLE ;LCD DESHABILITADO;
000A 3064 00050 MOVLW .100 ;RETARDO DE ESTABILIDAD DE LCD
MPASM 02.01 Released CAPAC2.ASM 11-3-1998 18:01:01 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000B 0090 00051 MOVWF REG1
000C 207A 00052 CALL RETARDO
000D 3038 00053 MOVLW 0X38 ; INICIA LCD A 8 BITS Y 2 LINEAS
000E 206F 00054 CALL CONTROL
000F 3006 00055 MOVLW 0X06 ; MENSAJE FIJO EN PANTALLA
0010 206F 00056 CALL CONTROL
0011 300C 00057 MOVLW 0X0C ; ACTIVA EL DISPLAY
0012 206F 00058 CALL CONTROL
0013 3001 00059 MOVLW 0X01 ; BORRAR PANTALLA
0014 206F 00060 CALL CONTROL
00061
0015 1585 00062 CLEAR BSF TRIGGER ; DESCARGAR CONDENSADOR
0016 110B 00063 BCF OVERFL ; BORRAR BANDERA DEL TIMER0
0017 30FA 00064 MOVLW .250
0018 0090 00065 MOVWF REG1
0019 207A 00066 CALL RETARDO ; RETARDO DE DESCARGA TOTAL DE C
001A 30FA 00067 MOVLW .250
001B 0090 00068 MOVWF REG1
001C 207A 00069 CALL RETARDO
001D 01A2 00070 CLRF REG1A ; CLEAR AL CONTADOR
001E 01A3 00071 CLRF REG2A
001F 01A4 00072 CLRF REG3A
0020 01A5 00073 CLRF REG4A
0021 019F 00074 CLRF REG5A
0022 01A0 00075 CLRF BANDERS
0023 0181 00076 CLRF TIMER0
0024 1185 00077 BCF TRIGGER ; INICIAR CARGA DEL CONDENSADOR
0025 110B 00078 FARA1 BCF OVERFL
0026 1905 00079 FARAD2 BTFSC COMP ; COMPARACION VMAX DEL CONDENSADOR
0027 282C 00080 GOTO CICLO2
0028 1D0B 00081 BTFSS OVERFL
0029 2826 00082 GOTO FARAD2 ; ESPERAR QUE CARGUE EL CONDENSADOR
002A 0AA0 00083 INCF BANDERS,f
002B 2825 00084 GOTO FARA1
00085
002C 0801 00086 CICLO2 MOVF TIMER0,W ; GUARDAR # DE PULSOS EN CICLO
002D 00A6 00087 MOVWF CICLO
002E 009B 00088 MOVWF AUXCI
002F 0AA0 00089 INCF BANDERS,f
0030 0820 00090 MOVF BANDERS,W
0031 009C 00091 MOVWF BANDER1 ; GUARDAR # DE BANDERAS EN BANDER1
0032 3002 00092 MOVLW .2 ; PERIODO PARA REPETIR DATOS
0033 009E 00093 MOVWF PER1
0034 2084 00094 CXLOS CALL INCONT
0035 0BA6 00095 DECFSZ CICLO,f ; CONTAR # DE PULSOS DEL TIMER0
0036 2834 00096 GOTO CXLOS
0037 0BA0 00097 DECFSZ BANDERS,f ; DECREMENTAR CICLO DE ACUERDO A
0038 2843 00098 GOTO CONTF ; # DE BANDERAS
0039 0B9E 00099 DECFSZ PER1,f
003A 283E 00100 GOTO REPIT
003B 1585 00101 BSF TRIGGER ; DESCARGAR CONDENSADOR
003C 2046 00102 CALL VISUAL
003D 2815 00103 GOTO CLEAR
MPASM 02.01 Released CAPAC2.ASM 11-3-1998 18:01:01 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
003E 081B 00104 REPIT MOVF AUXCI,W ; RECUPERAR LOS DATOS DEL CONTEO
003F 00A6 00105 MOVWF CICLO ; PARA 2 VEZ Y PODER COMPENSAR PREESCALIZADOR
0040 081C 00106 MOVF BANDER1,W
0041 00A0 00107 MOVWF BANDERS
0042 2834 00108 GOTO CXLOS
0043 30FF 00109 CONTF MOVLW 0XFF
0044 00A6 00110 MOVWF CICLO
0045 2834 00111 GOTO CXLOS
00112
0046 3030 00113 VISUAL MOVLW 0X30 ; PERMITE VISUALIZAR LOS DATOS DE LOS REG Y
0047 07A2 00114 ADDWF REG1A,f ; LOS CONVIERTE DE BCD A ASCII
0048 07A3 00115 ADDWF REG2A,f
0049 07A4 00116 ADDWF REG3A,f
004A 07A5 00117 ADDWF REG4A,f
004B 079F 00118 ADDWF REG5A,f
004C 3001 00119 MOVLW .1
004D 206F 00120 CALL CONTROL
004E 3023 00121 MOVLW "#"
004F 2071 00122 CALL DATO
0050 3046 00123 MOVLW "F"
0051 2071 00124 CALL DATO
0052 3041 00125 MOVLW "A"
0053 2071 00126 CALL DATO
0054 3052 00127 MOVLW "R"
0055 2071 00128 CALL DATO
0056 3041 00129 MOVLW "A"
0057 2071 00130 CALL DATO
0058 3044 00131 MOVLW "D"
0059 2071 00132 CALL DATO
005A 3049 00133 MOVLW "I"
005B 2071 00134 CALL DATO
005C 304F 00135 MOVLW "O"
005D 2071 00136 CALL DATO
005E 3053 00137 MOVLW "S"
005F 2071 00138 CALL DATO
0060 303A 00139 MOVLW ":"
0061 2071 00140 CALL DATO
0062 081F 00141 MOVF REG5A,W
0063 2071 00142 CALL DATO
0064 0825 00143 MOVF REG4A,W
0065 2071 00144 CALL DATO
0066 0824 00145 MOVF REG3A,W
0067 2071 00146 CALL DATO
0068 302E 00147 MOVLW "."
0069 2071 00148 CALL DATO
006A 0823 00149 MOVF REG2A,W
006B 2071 00150 CALL DATO
006C 0822 00151 MOVF REG1A,W
006D 2071 00152 CALL DATO
006E 0008 00153 RETURN
00154
006F 1005 00155 CONTROL BCF RS ; ESTA RUTINA GENERA LOS PULSOS PARA ENVIAR
0070 2872 00156 GOTO DATO1 ; UN DATO O UNA INSTRUCCION AL LCD
MPASM 02.01 Released CAPAC2.ASM 11-3-1998 18:01:01 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0071 1405 00157 DATO BSF RS
0072 1485 00158 DATO1 BSF ENABLE
0073 0086 00159 MOVWF PORTB
0074 3005 00160 MOVLW .5
0075 0090 00161 MOVWF REG1
0076 207A 00162 CALL RETARDO
0077 1085 00163 BCF ENABLE
0078 207A 00164 CALL RETARDO
0079 3400 00165 RETLW 0
00166
007A 0810 00167 RETARDO MOVF REG1,W ; RETARDO VARIABLE DE ESTABILIDAD
007B 0092 00168 MOVWF REG3
007C 30FA 00169 LOOP1 MOVLW .250
007D 0097 00170 MOVWF REG4
007E 0000 00171 LOOP NOP
007F 0B97 00172 DECFSZ REG4,f
0080 287E 00173 GOTO LOOP
0081 0B92 00174 DECFSZ REG3,f
0082 287C 00175 GOTO LOOP1
0083 0008 00176 RETURN
00177
0084 0AA2 00178 INCONT INCF REG1A,f ; RUTINA PARA UNIDADES,DECENAS,CENTENAS DE
0085 300A 00179 MOVLW 0X0A ; LOS VALORES DE CAPACITANCIA A MEDIR
0086 0622 00180 XORWF REG1A,W
0087 1D03 00181 BTFSS 3,2
0088 28A2 00182 GOTO SALIR
0089 01A2 00183 CLRF REG1A
008A 0AA3 00184 INCF REG2A,f
008B 300A 00185 MOVLW 0X0A
008C 0623 00186 XORWF REG2A,W
008D 1D03 00187 BTFSS 3,2
008E 28A2 00188 GOTO SALIR
008F 01A3 00189 CLRF REG2A
0090 0AA4 00190 INCF REG3A,f
0091 300A 00191 MOVLW 0X0A
0092 0624 00192 XORWF REG3A,W
0093 1D03 00193 BTFSS 3,2
0094 28A2 00194 GOTO SALIR
0095 01A4 00195 CLRF REG3A
0096 0AA5 00196 INCF REG4A,f
0097 300A 00197 MOVLW 0X0A
0098 0625 00198 XORWF REG4A,W
0099 1D03 00199 BTFSS 3,2
009A 28A2 00200 GOTO SALIR
009B 01A5 00201 CLRF REG4A
009C 0A9F 00202 INCF REG5A,f
009D 300A 00203 MOVLW 0X0A
009E 061F 00204 XORWF REG5A,W
009F 1D03 00205 BTFSS 3,2
00A0 28A2 00206 GOTO SALIR
00A1 019F 00207 CLRF REG5A
00A2 0008 00208 SALIR RETURN
00209 END
MPASM 02.01 Released CAPAC2.ASM 11-3-1998 18:01:01 PAGE 5
SYMBOL TABLE
LABEL VALUE
AUXCI 0000001B
BANDER1 0000001C
BANDERS 00000020
CARRY STATUS,0
CICLO 00000026
CICLO2 0000002C
CLEAR 00000015
COMP PORTA,2
CONTF 00000043
CONTROL 0000006F
CXLOS 00000034
DATO 00000071
DATO1 00000072
EADR 00000009
ECON1 00000088
ECON2 00000089
EDATA 00000008
ENABLE PORTA,1
FARA1 00000025
FARAD2 00000026
INCONT 00000084
INICIO 00000001
INTCON 0000000B
LOOP 0000007E
LOOP1 0000007C
OPCION 00000081
OVERFL INTCON,2
PC 00000002
PER1 0000001E
PORTA 00000005
PORTB 00000006
REG1 00000010
REG1A 00000022
REG2A 00000023
REG3 00000012
REG3A 00000024
REG4 00000017
REG4A 00000025
REG5A 0000001F
REPIT 0000003E
RETARDO 0000007A
RS PORTA,0
SALIR 000000A2
STATUS 00000003
TIMER0 00000001
TRIGGER PORTA,3
TRISA 00000085
TRISB 00000086
VISUAL 00000046
W 00000000
__16F84 00000001
f 00000001
MPASM 02.01 Released CAPAC2.ASM 11-3-1998 18:01:01 PAGE 6
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXX------------- ----------------
All other memory blocks unused.
Program Memory Words Used: 163
Program Memory Words Free: 861
Errors : 0
Warnings : 0 reported, 0 suppressed
Messages : 3 reported, 0 suppressed
               (
geocities.com/micros_uan/Inclass)                   (
geocities.com/micros_uan)