Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
ESCUELA POLITÉCNICA NACIONALFACULTAD DE INGENIERÍA ELÉCTRICA
DEPARTAMENTO DE ELECTRÓNICA Y CONTROL
M
Medidor De Factor De Potencia
Para Ondas Distorsionadas
En Base AI Microcontrolador
8052AH-BASIC
DOCUMENTO ANEXO 1
Programa DH ensambladordel equipo diseñado.
. Realizada por:Julio Ernesto Palacio Fierro
Quito, EcuadorNoviembre 23, 1994
•
ProgramaDEL MEDIDOR DE FACTOR DE POTENCIA
PARA ONDAS DISTORSIONADAS
BASADO EN EL 8052AH-BASIC
NOMBRE DEL DOCUMENTO:PROGRAMA.LST
The Cybeirnetxc Micro Svatems 0051 Family AsísembLec, Versión 3 ,02 Page 1H-03-9'1
PROGRAMA QUE ENCUENTRA EL FACTOR DE POTENCIA Y
ANALIZA EL CONTENIDO ARMÓNICO DE UNA RED
REALIZADO POR JULIO ERNESTO PALACIO FIERRO
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA ELÉCTRICA
QUITO, 27 DE AGOSTO DE 1994
LISTADO DE CONSTANTES
0841
3305
084?
.320B
083B
31FF
Las direcciones que apuntan las siguientes constantes son las
anteriores al primer dígita de las valores a usarse.
kl EQU 08-Í1H ;kl=HUMl£RO DE MUESTRAS TOMADAS
klroin EQU 3205H ,-DA'lO Kl EN ROM
Tc2 EQU 0847H ; ¡:2-NUMERO DE FRECUENCIAS OBTENIDAS
k2rom EQU 320BH /DATO K2 EN ROM
pÍ2 EQU 083BH ;pi2=pi/2
pi2rora EQU 31FFH /DATO PI/2 EN ROM
0028
0020
0010
0005
0001
0001
0001
OOFE
0006
Las siguientes etiquetas tienen -dignado los valores a
continuación que indican el número de variables con las
.que se trabaja en determinados procesos
;NUMERO DE BYTES DE DISPLAY RAM
/NUMERO DE MUESTRAS TOMADAS
/NUMERO DE W^<K>
;LOG(MUNUM)/LOG(2) PARA 64=6, PARA 32=5
;MSB DE RECARGA TIMER O PARA TOMAR MUESTRAS
;LSB DE RECARGA TIMER O PARA TOMAR MUESTRAS
dapnum
munum
rnuin
mulog
pi2num
klnum
k2num
EQUKQÜ
EQU
EQUEQU
EQU
EQU
tren
trel
4032
16
5
1
1
1
EQU
EQU
; NUM:
;NUM:
; NUM:;LOG
OFEH
006H
***** LISTADO DE DIRECCIONES DE ENTRADA Y SALIDA *****
Las direcciones que apuntan las siguientes etiquetas son
direcciones de localidades externas.
1COO
1EOO
1AOO
1A01
39FF
33FF
0835
070F
2FFF
adci EQU 1COOH .-DIRECCIÓN ADC CORRIENTE
odcv EQU 1EOOH /DIRECCIÓN ADC VOLTAJE
discom EQU 1AOOH /DIRECCIÓN COMANDOS DE DISPLAY
disdat EQU 1A01H ,-DIRECCION DATOS DE DISPLAY
Las direcciones que apuntan las siguientes etiquetas son
las anteriores al primer dato de las tablas a usarse.
ccorr EQU 39FFH /TABLA DE CONVERSIÓN DE CORRIENTE EN ROM
cvolt EQU 33FFH /TABLA DE CONVERSIÓN DE VOLTAJE EN ROM
dif EQU 0835H /REGISTRO TEMPORAL EN FFT
dspram EQU 070FH ;DISPLAY RAM
dsprom EQU 2FFFH ,-TABLA INICIAL DISPLAY RAM EN ROM
30FF =OCCF =OD2F -080B =
0811 =
090F =ODEF =
OEAF =OA2F =
081D =337F =
OB4F =
33DF =07FF =
OCOF =OC6F =09CF =
32FF =OA8F =0805 =082F =
0823 =
0829 =084F =
OD8F =
OE4P =0817 =
ro Systems 8051 Family Assembler, Versión 3.02 Page 2 •
drpoafordfposfpfpdiiarmifas
irirms
irromixnxpowerpordpposrar-rarrorarx3
sumthdithdvV
varmvíasvrnts
EQU
EQU
EQU
EQU .
EQU
EQU
EQU
EQUEQUEQU
EQD
EQU
EQU
EQU
EQUEQUEQU
EQU
EQU
EQU
EQU
EQU
EQUEQU
EQUEQU
EQU
PAGINA
30FFHOCCFHOD2FH080BH
0811H090FHODEFH
OEAFH
OA2FH081DH337FH
OB4FH
33DFH07FFH
OCOFHOCGFH09CFH32FFH
OA8FK0805H082FH
0823H
0829H084FH
OD8FH
OE4FH0817H
11-03-94
; TABLA DE CAMBIOS EN DISPLAY RAM; TABLA DE FASE FFT ORDENADA/POSITIVOS DE FASE;DATO DE FACTOR DE POTENCIA
;DATO DE FACTOR DE POTENCIA DE DESP7TABLA DE MUESTRAS DE CORRIENTE; MODULO DE ARMÓNICAS DE CORRIENTE '
/FASE DE ARMÓNICAS DE CORRIENTE
; TABLA DE WA<k> IMAGINARIOS;DATO DE CORRIENTE EFICAZ; TABLA IR EN ROM
; TABLA DE VARIABLE FFT IMAGINARIA
; TABLA A USARSE EN ROM/DATO DE POTENCIA REAL
7 TABLA DE POTENCIA FFT ORDENADA/POSITIVOS DE ANTERIOR; TABLA DE Wrt<k> REALES
; TABLA RAR EN ROM; TABLA DE VARIABLE FFT REAL
;DATO DE POTENCIA APARENTE/REGISTRO TEMPORAL EN FFT
/DATO DE DISTORSIÓN ARMÓNICA TOTAL I/DATO DE DISTORSIÓN ARMÓNICA TOTAL .V/TABLA DE MUESTRAS' DE VOLTAJE
/MODULO DE ARMÓNICAS DE VOLTAJE
/FASE DE ARMÓNICAS DE VOLTAJE/DATO DE VOLTAJE EFICAZ
1 DE MEMORIA
ZONA DE MANEJO DE RESET E INTERRUPCIONES
2001 ORG 2001H
2001 AA DB OAAH /INDICA A BASIC QUE EL RESET ES EXTERNO
200B ORG 200BH
200B 0228GC LJMP TMR
2090 ORG 2090H ; LOCALI2ACIOII DE BASIC PARA RESET
BASIC ASIGNO SCON, TMOD, TCON Y T2CON
Ttie Cyber:netic Micro Systems 8051 Family Assembler, Verrsion 3.02 Page 3
11-03-94
;*****INICIALIZACION DE ¡•
2090 78FF
2092 E4
2093 F6
2094 D8FD
2095 75814D
2099 7S3E4D
209C 7B07
209E 79FF
20AO 90FFFF
20A3 A3
20A4 £4
20A5 FO
20A6 EB
20A7 B5I33F9
20AA E9
20AB B5132F5
MOV
CLR
RESET1 :
DJNZ
MOV
MOV
MOV
MOV
MOV
RESET2 :
CLR
MOVX
MOV
CJNE
MOV
CJNE
RO,.#OPPH ;PRI
A ; CON
MOV @RO , A
RO , RESET1
SP,*4DH ,-PUH1
3EH/t4DH /POR
R3,*07H ;07F
R1,«OFFH ;A S
DPTR,»OFFFFH ; INI'
INC DPTR
A " / ENC.
8DPTR.A /A L'
A,R3
A/DPH,RESET2 /SIG
A,R1 ;IGU
A,DPL,RESET2
,***** INJCIALIZACION DE PUNTEROS
20AE 90010A
2 OBI 740F
20B3 FO
20B4 A3
20B5 741?F
20B7 FO
20B8 900104
20BB 740F
20BD FO
20BE A3
20BF 7-iFF
20C1 FO
20C2 90U1ÜW
20C^ 7.102
"ü*"1? FO
"."»'"' '' '
ú «•• -j
20CB FO
•¿QCC yooioc2GCF 74 üF
JOD1 FO
20 D'J A¿
ÜOLÓ 74KK
:'ÜL>S FO
3UD-6 7509FK
20Dy 7511FE
20DC 900200
20DF 7401
20E1 FO
MOV
MOV
MOVX
INC
MOV
MOVX
MOV
MOV
MOVX
INC
MOV
MOVX
MOV
MOV
MOVX
i:'.:O
MOV
MUVX
MOV
M>.-V
HOVÍ
J HC
MOV
MOVX
; ' l ' * * PRIU-'A
MOV
MOV
MOV
MOV
MOVX
DPTR, UOAH jPRI
A,#OFH /QUE
0DPTR,A ;EL
DPTR ;A L
A,ííOFFH
SOPORTA
DPTR,#104H ;AHO
A,*OFH ;QUE
QDPTR.A ;EL
DPTR /QUE
A,#OFFH ;VAD
0DPTR,A
DPTR,H108H jDIH
A, lt02H /DEL
ODPTR.A ;DIR
DPTR ;CIO
A.íf06H ;DE
ODPTO,A
DPTR, «106H ; FIN
A. liOFH /QUE
tíUp-L'HíA ;EL
ttPTU ;HO
A.ííOFFH
« DPTR, A
ItACIOM DE PILAS Y AhW
9H, DOFEH ;IN1
11H,*OPEH ;INI
DPTR,H512 /APU
A, ttOlH /DE
0DPTR,A
;PRIMERO ENCERA MEMORIA INTERNA
;CON EL ACUMULADOR = CERO
,-Y RO COMO PUNTERO
,-PUNTERO DE PILA INTERNA Y
/PORTADOR DEL MISMO INICIALIZADOS
;07FFH BYTES DE MEMORIA INTERNA
;A SER INICIALIZADOS EN ESTE PASO
;INICIALIZA DPTR DESDE CERO
/ENCERA USANDO ACUMULADOR
/A LOCALIDAD APUNTADA POR DPTR
/SIGUE HASTA QUE DPTR SEA
/QUE SERA IMICIALIGADO CON
;EL VALOR OFFFH EQUIVALENTES
ÍAM U4 Y U5
;AHORA VARTOP=MEMTOP
;QUE SERA INICIALIZADO COH
;EL VALOR OFFFH E INDICA
/QUE NO HAY ESPACIO RESER-
VADO PARA STRINGS
;DIMUSE=51B{206h) = LONGITUD
;DEL PROGRAMA EN RAM (0) 4
/DIRECCIÓN INICIO PROGRAMA-
CIÓN £M RAM (512) + LONGITUD
;DE NUMERO PUNTO FLOTANTE (6)
,-FINALMENTE VARUGE^VAF<TOP
/QUE SERA irJICIALIXAlJu CUJ
;EL VALOR OFFFH E INDICA QUE
;HO HAY VARIABLES EN HAM
/IN1CIALIZA PILA DE ARGUMENTOS
,-INIClALIZA PILA DE CONTROL
/APUNTA EL INICIO DEL ÁREA DE
/DE PROGRAMA PARA PONER EOF
The Cybernetic Micro Systems 8051 Paiiiily Assembler, Versión 3.02 Pag e 4
11-03-94
20E2 8006
,***** CÁLCULOS CON VALOR DE CRISTAL
SJMP RESET3
20E4 00 00 00
20E7 00 00 12
20EA 9020Eíl
20ED E509
20EF C3
20FO 9<10620F2 F509
20F4 F8
20F5 75A001
20F8 7906
20FA E4
20FB 93
20FC F2
20FD A3
20FE 18
20FF D9F9
2101 7458
2103 120030
2106 751302
2109 751400
210C 75CBFF
210F 75CA08
2112 7B32
2114 7980
2116 D234
2118 7406
211A 120030
211D 7407
211F 120030
2122 7B322124 79AO
2126 D234
2128 7406
312A 120030
212D 7407
212F 120030
XTAL : DB
DB
RESET3 :
MOV
CLR
SUBEMOV
MOV
MOV
MOV
RESETM :MOVC
MOVX
INC
DEC
DJN2
MOV
LCALL
.*-**** INDICA
MOV
OOH,OOH,OOH
OOH,OOH,12H
MOV DPTR ,
A, 9
C
A, #6
9, A
RO,A
P2, Hl
Ül.ttG
CLf< A
A, JAiUPTRííRO,A
DPTR
RO
R1,RESET4
A,t58H
30H
DONDE EMPIEZA
13H,*02H
; PUNTO FLOTANTE DE CRISTAL
;12 MHz.
VXTAL ; ENVÍA VALOR DE CRISTAL A
/PILA DE ARGUMENTOS
/INDICA QUE VA UN NPF A PILA
í GUARDA ESTE VALOR EN RO
;P2 INDICA LA PAGINA DE LA PILA
;EL NUMERO DE BYTES A TRANSFERIR
; TRANSFIERE EL VALOR DE ROM A
;LA PILA D!í ARGUMENTOS EN A
/TRANSFIERE TODOS LOS DÍGITOS
/LLAMA A RUTINA BASIC DE CALCÓLO
,- DE VALOP DÍ¿L CRISTAL
PROGRAMA USUARIO*****
; INDICA A BASIC QUE COMIENZO
MOV 14.H/ÍOOH ;DE PROGRAMA ESTA EN 512 (200HJ
7 ***** INICIALIZACION PÓRTICO SERIAL *****
MOV RCAP2H,*OFFH ;EN RCAP2 SE PONE OFFD8H PARA
MOV
,***** ENVÍA
MOV
MOV
SETB
MOV
LCALL
MOV
LCALL
MOV
MOV
SETB
MOV
LCALL
MOV
LCALL
RCAP2L,*OD8H ,-9600 bps CON 12 MHz
MENSAJE A CONSOLA *»***
R3,*32H
R1,#80H
52
A, H6
30HA, #7
30H
R3, I32HR1,#OAOH
52
A,S6
30H
A, #7
30H
/DIRECCIÓN DEL MENSAJE EN/R3:R1
/IMPRIME MENSAJE DE ROM
/A CONSOLA INVOCANDO A
/RUTINA BASIC
/ENVÍA UN CR LF
; DIRECCIÓN DEL MENSAJE EN/ R3 : Rl
/MENSAJE ESTA EN ROM
; LLAMA A RUTINA BASIC
/ENVÍA UN CR LF
RUTINAS DE INCIALIZACION
The Cybernetic Micro Systems 8051 Family Aasembler, Versión 3.02 Pag e 5
11-03-94
2132 43DO>.8
2135 3140
2137 314F
2139 31D7213B C2AF
213D 022800
INICIO; ORL
ACALL INTMRO
ACALL IMDISP
ACALL MAPA
CLR EA
LJMP LLAMA
PSW,*18H /TRABAJA CON BANCO 3 DE REGISTROS
7INIC1ALIZ.ACION DEL TIMKR O
7INICIALIZACIOW DEL DISPLAY
7INICIALIZACION MAPA DE MEMORIA
7 NO SE ATENDERÁN INTERRUPCIONES
;SALTA A PAGINA 2 DE MEMORIA
,-DONDE RESIDE PROGRAMA PRINCIPAL
,.****RUTINAS DE INICIALISACION
INTMRO: ,-INICIALIZACION TIMBRO
2140
2143
2146
2143
214B
214F
2152
2154
2156
2158215A
215C
215F
21SO
2162
2164
2166
2168
2169
21SB
216D
216E
2170
2172
2173
2175
21772179
217A
217C
217E
2180
2181
438901
53891?!
C28C
758CFE
7S8A06
4 3 DO 1 0
7996
78.32
DDFE
D9FA
7438
901AOO-
FO
7932
7832
D8FE
D9FA
FO
A93C
D9FE
FO '
A91E
D9FE
FO
A91E
D9FE
7406
FO
791E
D9FE
740C
FO
791E
ORL
ANL
CLR
MOV
MOV
N b'f
IHDJSP:
•JÍ<L
MOA'
P.VJ3A1 i
PJNZ
DJNZ
MOV
MOV
MOVX
MOV
PAÜSA2 :
DJNZ
DJNZ
MOVX
MOV
DJNZ
MOVXMOV
DJNZ
MOVX
MOV
DJNZ
MOV
MOVX
MOV
DJNZ
MOV
MOVX
MOV
TMOD(#01H
TMOD,*OF1H
TRO
THO, *treh
TLÜ, strel
P^l.,lBH
R'l . IH50
MOV RO, ¿50
PO.Í
Rl.PAUSAl
A.S38H
DPTR, ftdiscom
ODPTR.A
Rl.itSO
MOV R0,#50
R0,$R1,PAUSA2
0DPTR;A
Rl,60
R1,SflDPTR/A
Rl,30
Rl,5flDPTR,A
Rl,30
R1,SA.iíOGH
QDPTR.A
Rl,#30
ni,sA, ítOCH
üDPTR.A
P 1,1130
;USO DE TMOD PARA TIMER O
;COMO TIMER 16 BITS
;DETIENE TIMER O
;CARGA EL VALOR INICIAL DE
;TIMER PARA INTERRUPCIÓN
;INICIALI2ACION DISPLAY
,-TRABAJA CON BANCO 3 DE
; REALIZA UNA ESPERA DE 15 ms
;PARA GARANTIZAR RESET DEL DISPLAY
,-INICIA SECUENCIA DE RESET DEL DISPLAY
;(ESTA ES LA DIRECCIÓN DE COMANDOS)
/ENVIANDO 4 VECES EL VALOíí 3811
;COM ESTADOS DE ESPERA INTERCALADOS
;{PRIMERO UNO DE r,my Y l.UEGO TRES
; DE 60US)
;DE MANERA QUE EL
;EL DISPLAY RECIBA EL COMANDO
;DE ESTABLECIMIENTO DE FUNCIÓN
;LONGITUD DE BYTE 8 BITS, DISPLAY DE
;2 LINEAS, FORMATO 5x7 PUNTOS
;COMANDO DE MODO DE ENTRADA; EN INGRESO
;DE DATOS, LA PANTALLA NO SE DESPLAZA Y
?LA POSICIÓN DEL CURSOR SE INCREMENTA
/COMANDO DE CONTROL DE DISPLAY: ENCIENDE
;EL DTSPLAY. DESACTIVA EL CURSOR.
The Cybernecic Micro Systems 8051 Family Assembler, Versión 3.02 Page 6'
11-03-94
2183 D9FEI
2185 7401
2187 FO
2188 A914.
218A 7832
218C D8FE
218E D9FA
DJNZ
MOV
MOVX
MOV
PAUSA3 :
DJNZDJNZ
R1,S
A,*01H
@DPTR,A
Rl , 20
MOV R0,f50
R0,$R1,PAUSA3
/COMANDO DE LIMPIAR PANTALLA
/ESPERA DE 2us PARA COMAWDO" ANTERIOR, • *
-
/MENSAJE DE RESET
2190 748CI
2192 FO
2193 791IÍ
2195 D9FH
2197 78002199 903280
219C E8
219D 93
219E B42I102
21A1 21AJÍ
21A3 901A01
21AG FO
21A7 08
21A8 79112
21AA D9F12
21AC 219Í?
21AE 901J\00
21B1 74CD
21B3 FO
21B4 79112
21B6 D9FE
21B8 7800
21BA 9032AO
31DD Eíí
21 BE *13
•MBF Bilí 2 n:
. * " '•:•'"•
¿IC4 901A01
J1C7 KO
21C6 OS
21C9 V91H
21CB D9F-E
'.¡ICO 21BA
21CF E590
21D1 F52021D3 53DQE7
21D6 22
MOV
MOVXMOV
DJNZ
MOV
HEÑÍ : MOV
MOVMOVC
CONE
AJMP
MENA : MOV
MOVX
INC
MOV
DJNZ
AJMP
MEN2 : MOV
MOV
MOVXMOV
DJNZMOV
HI2N3: MÚV
MOV
MOVCC.7BK
A J MI-
MEN B : MOV
MOVX.
INC
MOV
DJN'¿
AJMP
MEN4 : MOV
MOV
AN1.
RET
A, »80H
0DPTR(ARl,#30
Rl,$
R0(#00DPTR,*3280H
A,RO
A, 9A+DPTR
A,*22H,MENA
MEN2
DPTR, lídisdat
0DPTR,A
RO
Rl,#30
Rl/$MEN1
DPTR/tdiBcom
A,#OCOH
6DPTR,A
R1.ÍÍ30
Rl,$
RO, #00DPTR,tt32AOH
A,RO
A.9A+DPTR
A. S72H.MENB
MKN-i
DPTR.üdisdat
üDPTR.A
. ñuUl , Í3 0
Rl,$
MEN3
A,P1
20H/A
PSW^OEVH
;UBICA ESCRITURA A PRIMER BYTE DEL DD RAM
,-PARA ESCRIBIR MENSAJE DE RESET
/PUNTERO DE LETRAS DE MENSAJE
/DIRECCIÓN INICIAL DE MENSAJE EN ROM
/CARGA CARÁCTER RO
/EN ACUMULADOR
/ESTA LA DIRECCIÓN DE DATOS DE DISPLAY
;Y PASA DATO A DISPLAY
;LEE SIGUIENTE CARÁCTER
/UBICA ESCRITURA A PRIMER BYTE 2DA. LINEA
/PARA ESCRIBIR MENSAJE DE RESET
/PUNTERO DE LETRAS DE MENSAJE,-DIRECCION INICIAL DE MENSAJE EN ROM
; CARGA CARÁCTER RO
;EN ACUMULADOR
/ESTA LA DIRECCIÓN DE DATOS DE DIGPLAY
;Y PASA DATO A DISPLAY
;LEE SIGUIENTE CARÁCTER
/COPIA VALOR DE Pl A
;BYTE INTERNO 20H
/VUELVE A SANCO 0
The Cybernetic Micro üyatoms ¡5o'>T. F<amily Assembior, Versión 3.02 Paga 7
11-03-94
MAPA
RUTINA QUE CONFIGURA EL MAPA DE MEMORIA RAM
;ENTRADAS:
;;
;
/
;
;fií
;7
;
dsprom
irromklromk2 rom
pi2romirariomÍJüyíTum
irkik2pÍ2
rar
dirección
direccióndireccióndirección
direcciónüi seccióndittreción
di cocción
dirección
direccióndirección
dirección
inicio
inicio
inicioinicio
inicioinicioinicio
inicioinic'io
inicioinicio
inicio
de tabla de display rain en rom
de tabla Ví^<K> imaginarios en rom
del valor de kl en romdel valor de k2 en rom
del valor de pi/2 en romde tabiíi Ví's<K> rsales en romdo display ram
de tabla Wrt<K> imaginarios en rain
del valor de kl en ram
del valor de k2 en ranídel valor de pi/2 en ram
de tabla Ví^<K> realeo en ram
;SALIDAS:
083CH-0841H
0842H-0847H0848H-084DH09DOH-OA2FHOA30H-OA8FH
ubicación valor de pi/2 en ram
ubicación valor de kl en ram
ubicación valor de k2 en ramubicación tabla W^<K> reales en ram .ubicación tabla W^<K> imaginarios en ram
;PROCESO:
; Almacena tablas originarias de rom en localidades de; de memoria RAH, Para ello invoca a la subrutina ROMRAM.
/CONSTANTES USADAS:
; dspnum cantidad de byLes de disply rajn; klnum cantidad de valores de kl
,- k2num cantidad de valores de k2
; pi2num cantidad de valores de pi/2; rnum cantidad de valores de Wrt<K>
;VARIABLES CREADAS:
,- RO indica cantidad de valorea a copiarse en ROMRAMR5:R4 dirección inicial de tabla de'valores en RAM
; DPTR dirección inicial de tabla de valores en ROM
,-SUBRUTINAS USADAS
ROMRAM
The CybecneCíc Micro Syscems 8051 Family Assembler, Versión 3.02 Pag e 811-03-94
;REGISTROS ALTERADOS
; DPTR, A, RO, Rl, R2, R3, R4, R5
21D7 43D018
21DA 782821DC 00070K
lilDF A3¿1KO AC¡-.¿
(• :,..,;21124 902PFF21E7 A321E8 51112
21EA 7810ülEC 9Q09CF21EF AJVÍIPO Acaa21P2 AD8J21Pd 9032PF21F7 A3
21F8 513 E
21FA 781021FC 900A2F
21FF A3
2200 AC822202 AD832204 90337F2207 A32208 51-lE220A 7801220C 90083B220F A322 1Ü ACU22212 ADÍJ32214 9031FF2217 A3
2218 513 E
221A 7801.
221C 900841221F A3
2220 AC32
2222 AD332224 90.3205222? A32228 513E222A 7801222C 900847222F A32230 AC822232 AD832234 90320B
2237 A32238 513E
223A 53DOE7
MAPA : ORLMOV
MOVINCMOVMOV
MOV
INC
AOAL1.MOV
MUV
INC
MOV
MOV
MOV
INCACALL
MOVMOV
INCMOVMOV
MOV
INC
ACALLMOV
MOV
INC
MOV
MOV
MOV
INCACALLMOVMC'V
INCMOV
MOV
MOV
INC
ACALb
MOV
MOV
INC
MOV
MOV
MOV
INC
ACALL
ANL
PSW,*18HRO, ttdspnum
DPTR,#dupramDPTRRd , DPL
Rü.DPH
DPTR/iidaprom
ÜPTR
ROM RAM
RO, tfrnuníDP'lTí rarDPTRR4,DPL
R5,DPHDPTR,* rar romDPTR
ROMRAMRO, tfrnuraDPTR, # ir
DPTR
R4.DPL
R5 , DPH
DPTR,*irrornDPTRROMRAMRO, #pi2numDPTR,tfpi2DPTRR4,DPL
R5,DPHDPTR /*pi2 romDPTR
ROMRAMRO, ftklnumDPTR,*klDPTR
U4 , DPL
R5,DPHDPTR,(tklrornDPTRROMRAMRO, »k2numDPTR, #k2DPTRR4 , DPL
R5 , DPH
DPTR , tk2 romDPTRROMRAM
PSW,#OE7H
,-UTILIZA BANCO 3 DE REGISTROS;CARGA EN RO CANTIDAD DE VALORES*A COPIAR*
;DIRECCION INICIAL EN DPTR;CARGA DIRECCIÓN INICIAL DE TABLA DE;VALORES rar DE RAM EN R5: IU
;IDEM DE ROM EN DPTR
;COPIA DE ROM A RAM
7CARGA EN RO CANTIDAD DE VALÜHES A COPEAN
;DIRECCIÓN INICIAL EN DPTR;CARGA DIRECCIÓN INICIAL DE TABLA DE
/VALORES rar DE RAM EN R5:R4,-IDEM DE ROH EN DPTR
;COPIA DE ROM A RAM
;CARGA EM RO CANTIDAD DE VALORES A COPIAR
;DIRECCIÓN INICIAL EN DPTR;CARGA DIRECCIÓN INICIAL DE TABLA DE/VALORES ir DE RAM EN R5:R4/ÍDEM DE ROM EN DPTR
/COPIA DE ROM A RAM/CARGA EN RO CANTIDAD DE VALORES A COPIAR
;DIRECCIÓN INICIAL EN DPTR;CARGA DIRECCIÓN INICIAL DE TABLA DE
;VALORES pí2 DE RAM EN R5:R47 ÍDEM DE ROM EN DPTR
,-COPIA DE ROM A RAM;CARGA EN RO CANTIDAD DE VALORES A COPIAR
/DIRECCIÓN INICIAL EN DPTR¡CARGA DIRECCIÓN INICIAL DE TABLA DE
;VALORES kl DE RAM EN R5:R4;ÍDEM DE ROM EN DPTR
;COPIA DE ROM A RAM;CARGA EM RO CANTIDAD DE VALOREO A COPIAR
;DIRECCIÓN INICIAL EN DPTR/CARGA DIRECCIÓN INICIAL DE TABLA DE/VALORES kl DE RAM EN R5:R4/ÍDEM DE ROM EN DPTR
;COPIA DE ROM A RAM
/TRABAJA CON BANCO CERO DE REGISTROS
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3,02 Pag e 9
11-03-94
223D 22 RET
3ÜBRUTIHAS DE MAPA
ROMRAM «***'
;ENTRADAS;
RO cantidad de valores en punfc ilotante
R5:R4 dirección primer -v^l^r del primer dato en RAMDPTR dirección primer valor del primer dato en ROM
/SALIDAS:
; Direcciones R5:R4 - R5:(R4+RO-1) en RAM ocupadas con
datos de ROM.
;PROCESO:
; Carga DPTR en R3:R2, por 6 ocasiones (equivalentes a
; 6 dígitos por número en punto flotante) se copia la; dirección en ROM apuntada por DPTR al acumulador, se
; • carga en DPTR la dirección R5:R4 y ae carga valor del/ acumulador en esa dirección, se incrementan las direcciones, R3:R2 y R5:R4, y se copia R3:R2 en DPTR. Se repite
; hasta que ya no falten más números (R0=0)
;CONSTANTES USADAS:
; ninguna
/VARIABLES CREADAS:
; A registro del valor de tabla a copiarse; RO número de datos a procesarse
; Rl contador de iteraciones para NPF
; R3:R2 puntero de tabla de valores en ROM
; R5:R4 puntero de tabla de valores en RAM; DPTR puntero para mover valores desde y hacia el acumulador
;SUBRUa!INAS USADAS
ninguna
/RKOÍKTKOS ALTERADOS
DPlft, A, RO, Rl, R2, R3, R4, R5
223E ABEI32240 AA03
2242 7906
MOV
MOV
R3.DPHR'¿ , DPL
Rl.ítOS
/COPIA R0*6 LOr-ALlDADÜG fJK RJ :R:¡ A R5:R4;COPIA DPTR A R3:R2
;CUENTA 6 ITERACIONES POR NUMERO EN PUNTO
Thft Cybernef av M J - . Family Assembler, Versión 3.02 Page 10
11-03-94
?FLOTANTE (MPF)
224-i
2245
224o
2248
224A
224B
224C
224D
224F
2250
2251
2252
2254
2255
22572259
225B
225D
E4
93QD83
8C82
FO
OA
EA
7001
OB
ocEC
7001
OD
8B83
8 AS 2
D9E9
D8E5
22
ROM 2 i CLR
HOVC
MOV
MOV
MOVX
INC
MOV
JNZ
INC
ROM3 : INC
MOV
JNZ
INC
ROM 4 ; MOV
MOV
DJN2
DJNZ
RET
.i****'!»:*-)"»-
A
A.ííA-tDPTR
DPH t R5
DPL,R4
9DPTR,A
R2
A,R2
ROM3
R3
R4
A,R4
ROM 4
R5
DPH,R3
DPL,R2
Rl , ROM2
RÜ,ROM1
/CARGA LOCALIDAD R3:R2 DK ROM A ACC . •
/ALMACENA ACC. EN LOCALIDAD R5:R4 DE RAM
/INCREMENTA PUNTERO
/DIRECCIÓN EN ROM
l R3 : R2
/INCREMENTA PUNTERO
/DIRECCIÓN EN RAM
,-R5:R4
; REPITE 6 VECES EL PROCESO
;Y CONTINUA CON LOS DEMÁS " NÚMEROS
R1ÍSULT
EXPRESA RESULTADOS EN LCD Y VÍA SERIAL
. /ENTRADAS:
fp
fpd
/ iarin
; ifas
i irme
/ power
thdi
thdv
varm
vfa3
vrms
dirección inicio factor de potencia
dirección inicio factor de potencia de desplazara.
dirección inicio de tabla armónicas de corrientedirección inicio de tabla de fases de corrientes
dirección inicio de corriente rnis
dirección inicio de potencia real y primer set dedatos a transmitir
dirección inicio de potencia aparente
dirección 'inicio del valor thd de corriente
dirección inicio distorsión armónica total volt.
dirección inicio de tabla armónicas de voltaje y
segundo aet de danos a trasmitir
dirección inicio de tabla de fases de voltajes
dirección inicio de voltaje rms
/SALIDAS:
; 0710H-07FFH display ram actualizado
/PROCESO:
1 Envía resultados vía serial
En inicializaciÓn prepara comunicación a 19200 bps
Family Aasembler, Versión 3.02 Page 31
11-03-94
:,..'[.. ;.L*^uh-OJi'OPli (módulos y fases de armónicas) y¿Uüii"íi2Fh (P, S, fp, fpd, veras, irms, thdv y thdi)oirnplumtínUe envía sin esperar continuación
2 Actual i aa display rain
Cop:la número a actualizar a 3UmCopia valor dal exponente de rerytoncia a PO .Copia t*n Ul ubicación ttilíaiva tn display ruiii
Para P, S, fp, fpd, thdv, thdi, iritis:
Compara exponente de sum con fíOSi es mayor, ubica ?? en OtílSi es igual, convierte el HSB de sum en BCD y lo
ubica en en @R1
Si es igual a RO-l utiliza el segundo dígito delMSB de sum para ubicar Ott en 6R1
Si es menor a RO-l ubica 00 en 9R1En fpd ubica, el signo en display ram
Para vnns, compara exponente de suin con RO, si es mayor
ubica en @R1 ???, si es igual y los dos MSB de sum son
ABCD ubica ABC en <9R1, si es igual a RO-l ubica OABen 8R1, si es igual a RO-2 ubica OOA en @Rl y ni esmenor a RO ubica 000
Para mayor armónica de voltaje o de corrienteUbica cual es la mayor armónica y copia a sumEl número de la armónica en R2
Copia valor de R2 en display rajfi
L3roceda como an vnns o i rutoPara b primeras armónicatí de vo.lt.aje o corriente
Chequea si armónica es virtualmente ceroSi no es, divide para armónica mayor el resultadocarga en difUbica número de armónica en display rrnn
Ubica módulo de dif en display rarn corno para fp
Ubica fase de armónica en díí y luego en displayrain como vrms
Laa armónicas de voltaje se procesan luego de mayorarmónica de voltaje y las de corriente luego de lamayor de corriente
/REGISTROS TEMPORALES
; sum dif
,-CONSTANTES OSADAS:
; ninguna
/VARIABLES CREADAS:
; RO cantidad de npf a copiarse o procesarse; R3:R2 dirección inicial tabla fuente de copia
; A puntero de tabla para manejo de stack; DPTR dirección inicial de tabla blanco de copia o proceso
,-SÜBRQTINAS UTILIZADAS
The cybernetic Micro SysCems 8051 Family Assembler, Versión 3,02 Page 12
11-03-94
; CARSER, CRLF, TOCOM, TOSTACK
,- COPIA1, COPIA2, RAMRAM, SIG
/REGISTROS ALTERADOS
; DPTR, A, RO, Rl, R2, R3, R4, R5,
225E
2261
2263
2264
2265
2268
226B
226E
2270
2273
22Vtí
2270
2H79
V.IVA
Sl^D
.. ..;-••
2 2 8.1
238ÍJ
228tí
2 Jü:>
Ü2'óC
220F
2292
22942297
2298
229B
229E
22A1
22A3
22AG
22A722AA
22AD
22BO
22B222B5
22B8
22BA
22BD
43D01E!
7800
08
E8
9007FF
122F3C
122F31
742C
122E56
B808ED
7800
03
E8
9i)UD*I-
1 2 .1 K í ¡;
J J^r J L
742C
122E56
E8
90 OH 4 P
122F36
122F31
742C
122E56
E8900DEF
122F36
122P31
742C122E56
ES
900EAF
122F36122F31
742C
122E56
B810CO
74FF
122E56
122E69
RESULT :
ORL
SERIAL:
MOV
SER1 : INC
MOV
• MOV
LCALL
LCALL
MOV
LCALL
CUNE
MOV
SEttÜ : INC
MOV
HOV
;.•.•«[.:.LCALL
MCV
LCALL
1ͻJV
MOV
l.C'ALL
LCALL
MOV
LCALL
MOV
MOVLCALL
LCALL
MOV
LCALL
MOV
MOV
LCALL
LCALL
MOV
LCALL
CJNE
MOV
LCALL
LCALL
PSVÍ,#18H
RO,#OOH
RO
A,RO
DPTR,#power
TOSTACK
TOSER
A, #2CH
CARSER
RO^OSíSERl
RO.fcOOH
ROA,RO
UP'i'K, ifvarmT-JSTAOK
'1OSER
A. aacnCARSER
v'i , r-vj
DiJTR. fivfas
'rüSTACK
TOSER
A,#2CH
CARSER
A.RO
DPTR, aiarm
TOSTACK
TOSER
A(#2CH
CARSER
A,RO
DPTR, «i fas
TOSTACK
TOSER
A,ít2CH
CARSER
RO,416,SER2
' A,#OFFH
CARSERCRLF
7ENVÍA DATOS A COMPUTADOR
;NUMERO DE RESULTADOS ENVIADOS
;INCREMENTA EN UNO NUMERO DE ENVÍOS
;CARGA DIRECCIÓN INICIAL RESULTADOS
;ENVÍA RESULTADO A STACK
;Y LUEGO A PÓRTICO SERIAL
;ENVÍA V A PÓRTICO
;CARSER ENVÍA UN CARÁCTER A PÓRTICO
;REPITE CON LOS DEMÁS RESULTADOS
/NUMERO DE ARMÓNICAS DE v E i
/INCREMENTA EN UNO NUMERO DE ENVÍOS
,-CARGA DIRECCIÓN INICIAL MODULO v
;ENVÍA RESULTADO A STACK
;Y LUEGO A PÓRTICO SERIAL
;ENVÍA V A PÓRTICO
;CARSER ENVÍA UN CARÁCTER A PORTuX)
;CARGA DIRECCIÓN INICIAL FASE v
;ENVÍA RESULTADO A STACK
,-Y LUEGO A PÓRTICO SERIAL
;ENVÍA "," A PÓRTICO
;CARSER ENVÍA UN CARÁCTER A PÓRTICO
;CAUCA DIRECCIÓN INICIAL MODULO i
/ENVÍA RESULTADO A STACK •
;Y LUEGO A PÓRTICO SERIAL
;ENVÍA "," A PÓRTICO;CARSER ENVÍA UN CARÁCTER A PÓRTICO
;CARGA DIRECCIÓN INICIAL FASE i
;ENVÍA RESULTADO A STACKjY LUEGO A PÓRTICO SERIAL
7ENVÍA V A PÓRTICO
/CARSER ENVÍA UN CARÁCTER A PÓRTICO/REPITE CON LAS DEMÁS ARMÓNICAS
/TRANSMITE CARÁCTER DE FIN DE
/TRANSMISIÓN DE BLOQUE/ENVÍA CR-LF A PÓRTICO
The Cybornetie Micro Syscemo 8051 Pamily AsaHiibler, Versión 3.02 13
11-03-94
22CO 7EOO
LCD:
MOV R6,*00
VALOR DE POTENCIA REAL
/ACTUALIZA DISPLAY RAM CON CÁLCULOS
;0 DATOS COPIADOS A DISPLAV RAM
22C2
22C4
22C7
22C8
22CA
22CC
22CF
22DO
22D3
22D5
22D7
22D922DC
22DD
22DF22E1
22E4
22E5
22E8
22EA
7801
90Q7FF
A3
AB83
AA82
SOOSIÍF
A3
122CI5C
7884
B165
780190080B
A3
AB83
AA82
90082F
A3
122C5C
7880
B103
22EC
22EE22F1
22F2
23F422FS
22F9
22 FA
22FD
22FF
2301
2303
2306
2307
2309
230B
230E
230F
2312
2314
2316
7801
900805A3
AB83
AA8290082F
A3
122C5C
7884
B165
7801
900811
A3
AB83
AA82
90082F
A3
122C5C
7880B103
B1FB
MOV R0,#01
MOV DPTR,ttpower
IHC DPTR
MOV R3 , DPHMOV R2,DPL
MOV DPTR,)(sum
IMG DPTR
LCALL RAMRAM
MOV R0.1t 8 4H
ACALL COPIA2
VALOR DE VALOR
MOV RU.nOl
MOV DPTR,*fp
INC DPTR
MOV R3 , DPH
MOV R2 , DPLMOV DPTR ,#sum
INC DPTR
LCALL RAMRAM
MOV RO,*80H
ACALL COPIA1
;SE VA A COPIAR UN NPF
,-COPlA DIRECCIÓN DE VALOR DE POTENCIA
,-REAL A R3:R2
jY A DPTR LA DEL REGISTRO TEMPORAL surtí
; COPIA NPF A sum
,-4 ES EL EXPONENTE DE REFERENCIA
.-ACTUALIZA DISPLAY RAM CORRESPONDIENTE
DE PGTGHCJ7-Í. *****
iSB VA A COPIAR UN NPP
; COPIA DIRECCIÓN DE FACTOR DE POTENCIA; REAL A R3 : R2
,-Y A DnTTx LA DEL REGISTRO TEMPORAL sum
; COPIA NPF A sum
;0 ES EL EXPONENTE DE REFERENCIA
/ACTUALIZA DISPLAY RAM CORRESPONDIENTE
VALOR DE POTENCIA APARENTE *****
MOV R0,#01
MOV DPTR, f 3
INC DPTR
MOV R3 , DPH
MOV R2 , DPL
MOV DPTR, usuro
INC DPTR
LCALL RAMRAM
MOV RO,484H
ACALL COPIA2
;SE VA A COPIAR UN NPF
; COPIA DIRECCIÓN DE VALOR DE POTENCIA/APARENTE A R3 : R2
;Y A DPTR LA DEL REGISTRO TEMPORAL sum
;COPIA NPF A sum
;4 ES EL EXPONENTE DE REFERENCIA
/ACTUALIZA DISPLAY RAM CORRESPONDIENTE
FACTOR DE POTENCIA DE DESPLAZAMIENTO *-***
MOV R0,#01
MOV DPTR,itfpd
INC DPTR
MOV R3 , DPH
MOV R2 , DPL
MOV DPTR, ÜBUHI
INC DPTR
LCALL' RAMRAMMOV RO,#80HACALL COPIA1
ACALL SIG
;SE VA A COPIAR UN NPF
; COPIA DIRECCIÓN DE FACTOR DE POTENCIA
;DE DESPLAZAMIENTO A R3 :R2
;Y A DPTR LA DEL REGISTRO TEMPORAL sum
;COPIA NPF A aum
;0 ES EL EXPONENTE DE REFERENCIA/ACTUALIZA DISPLAY RAM CORRESPONDIENTE
/ACTUALIZA SIGNO EN DISPLAY RAM
The Cybernetic Micro Systems 8051 Family Assernbler, Versión 3.02 Page 14.
11-03-94
VOLTAJE RMS
232D
232F
2332
2333
2335
2337
233A
233B
233E
2340
23422344
2347
2348234A
234G
234F2350
2353
2355
2357
2353
235C
235D
235P
23612364
23652368
236A
7801
SOOD8P
A3
AB83
AAS2
90Ú82F
A3122C5C
7883
B165
7801900829
A3AB83AAB2
90082F
A3
12?. CSC
7880
B1QJ
780190081D
A3 •AB83
AA82
90082F
A3122C5C7882
B165
MOV
MOV
INCMOVMOVMOV
INC
LCALL
MOV
ACALL
R O , * Ü 1
DPTR,#vrmsDPTR
R 3 , D P H
KS , DPL
U'TK, ttsuinDPTRRAt-íRAM
K O . H 8 3 H '
COP1A2
/SE \]
,-A R:
;Y A
/ COP;;3 E£
;ACTI
VOLTAJE FUNDAMENTAL
MOV
MOV
INCMOV
MOV
MOV
INC
LCALL
MOVACALL
MOVMOV
INC
MOV
MOV
MOV
INC
LCALL
MOV
ACALL
MOV
MOV
INC
MOV
MOV
MOV
INC
LCALL
MOV
ACALL
K O . f t O lDPTR,*varmDPTR
P.3 , DPHR2 , DPLDPTR, #3Um
DPTR
RAÍ1RAM
R O , f t 8 3 HCOPIA2
DISTORSIÓN
R0,#01DPTR,#thdvDPTR
R3,DPHR 2 , D P L
DPTR,*aumDPTRRAM RAM
R O , B 8 0 H
COPIA1
CORRIENTE
R0,§01DPTR^irms
DPTR
R3 , DPHR2 , DPLDPTR, ttsum
DPTR
RAMRAMR O ; t G 2 H
COPIA2
;SE A
,-COP:;A R'.
/Y A
/COP;,-3 Eí/ACTI
VOLTAJE
/SE ^
/COP:,-TOTj
,-Y A
/COP:,-0 El
; ACTI
RMS
;SE '
/COP
/RMS
;Y A
j COP
;2 E:
/ACTI
;SE VA A COPIAR UN NPF
;COPIA DIRECCIÓN DE VOLTAJE RMS
;Y A DPTR LA DEL REGISTRO TEMPORAL sum
;3 ES EL EXPONENTE DE REFERENCIA
/ACTUALIZA DIfíPLAY RAM CORRESPONDIENTE
;SE VA A COPIAR UN NPF
;COPIA DIRECCIÓN DE VOLTAJE FUNDAMENT-
R3:R2
,-Y A DPTR LA DEL REGISTRO TEMPORAL sum
/COPIA NPF A sum
ES EL EXPONENTE DE REFERENCIA
/ACTUALIZA DISPLAY RAM CORRESPONDIENTE
;SE VA A.COPIAR UN NPF/COPIA DIRECCIÓN DE DISTORSIÓN ARMÓNICA
;TOTAL DE VOLTAJE A R3:R2
,-Y A DPTR LA DEL REGISTRO TEMPORAL sum
/COPIA NPF A sum
;0 ES EL 1SXPOHENTE DE REFERENCIA
/ACTUALIZA DiyPLAY RAM CORRESPONDIENTE
;SE VA A COPIAR UN NPF
/COPIA DIRECCIÓN DE VALOR DE CORRIENTE
;Y A DPTR LA DEL REGISTRO TEMPORAL sum
/COPIA NPF A sum
;2 ES EL EXPONENTE DE REFERENCIA
/ACTUALIZA DISPLAY RAM CORRESPONDIENTE
.-*-**** CORRIENTE FUNDAMENTAL *****
The Cybernecic Micro Systems 80íii Faniily Assernblec, Versión 3.02 Page 15
11-03-94
2381
2383
2386
2387
2389
238B
238E
238F
2392
2394
2396
2398
239A
239D
239E
239F
23A2
23A3
2 3 AS
23A723A9
23AB
23AD
23AE
¿3AK
23B4
¿3B5
2JB7
.ÍJfiy
23BA
23BB
23ED
23BF
23C1
7801
900823
A3
AB83
AA82
90082F
A3
122C5C
7880
B103
7C01
7DOO900D8?
EC
04
75P006
A4
2582
F582
E5FO
3583
F583
EO
C39481407B
EC
C3
94Ü9
SOüti
EC
04
2430
61C12441
F8
.****+1
f * * * tí *
REW:
:.,..
REW1 :
HEW2 :
MOV
MOV
INC
MOV
MOV
MOV
INC
LCALL
MOV
ACALL
MOV
MOV
INC
MOVMOV
MOV
INCLCALL
•MOV
ACALL
MOV
MOVMOV
MOV
INC
MOV
MUL
ADD
MOV
MOV
ADDC
MOV
HOVX
CLR
ÜUBB
JC
MOVCLí;¿U HE
JNC
MOV
INC
ADD
AJMP
ADD
MOV
RO, trUl
DPTR, riiarm
DPTR
R3 , DPH
R2 , DPL
DPTR,#sum
DPTR
RAM RAM
RO,Í82H
COPIA2
DISTORSIÓN
R0,#01
DPTR/ttthdi
DPTR '
R3 , DPH
R2 , DPL
DPTR,#sum
DPTR
RAMRAM
RO,4t80H
COPIA1
ARMÓNICOS
R4/*01H
R5, #OOH
DPTR,«varm
A,R4A
B,*06
ABA, DPL
DPL, A
A,B
A, DPH
DPH,A
A.8DPTR
C
A, H31H
SICV
HUMERO DE
A, R4
cA, íryREVV1
A, RJ
A
A,ff3QH
REV»/2
A.fi.í ÍH
RO , A
íüE VA A COPIAÍi UN NPP
;COPIA DIRECCIÓN DE VALOR DE CORRIENTE
; FUNDAMENTAL A R3 :R2
;Y A DPTR LA DEL REGISTRO TEMPORAL 3UIH '
; COPIA NPF A sum
;2 ES EL EXPONENTE DE REFERENCIA
,-ACTUALIZA DISPLAY RAM CORRESPONDIENTE
CORRIENTE *****
;SE VA A COPIAR UN NPF
/COPIA DIRECCIÓN DE DISTORSIÓN ARMÓNICA
;TOTAL DE CORRIENTE A R3:R2
;Y A DPTR LA DEL REGISTRO TEMPORAL sum
/COPIA NPF A suin
;0 ES EL EXPONENTE DE REFERENCIA
j ACTUALIZA DISPLAY RAM CORRESPONDIENTE
DE VOLTAJE *****
/CONTADOR DE ARMÓNICOS REVISADOS
/CONTADOR DE ARMÓNICOS DISTINTOS DE CERO
/SE REVISARA LA ARMÓNICA R4
;PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA
/CARGA EN ACUMULADOR EXPONENTE DE ARMÓNICA
; RESTA EXPOHEWTE - (1)
; SALTA SI EX PONENTE ES MENOR A 0
ARMÓNICO ******
/CARGA * ARMÓNICO PARA HACER PESTA
/ HUMERO DE ARMÓNICOS PROCESADOS i> Y
/DETERMINAR SI EL QUE SIGUE ES MAYuR A 9
/SALTA SI MAS DE 8 ARMÓNICOS PROCESADOS
/CARGA NUMERO DE ARMÓNICO EN PROCESO,-A ACUMULADOR
/CONVIERTE NUMERO EN ASCII
/CONTINUA EN REW2
/CONVIERTE HUMERO EN ASCII iA " <!)
/COPIA NUMERO DE ARMÓNICO A RO
The Cybernetiic Micro Systems 8051 Family Assembler, Versión 3.02 Page 16'
11-03-94
23C2 91EC
23C4
23C6
2JC9
:MCA:: ico.. •! 'íi
2 -J DO
'¿3D2
23D4
2JDtí
2 3 Da¿,íD9
23DÜ
23DD
2'3 EO
23E1
33E2
23E4
23E5
23 E7
23EA
23EC
23ED
23EF
23FO
23F2
7801
900D3P
ECVíiKOOb
Al
¿'•ij¿
F5«;;EbFO
353:3F5tU
A3AB83
AA82
90082F
A3
EC
COEO
ED
COEO
122C5C
DOEO
FD
DOEO
FC
7883
B165
MOV
MOVMOV
MOV
W'L
AÜD
MOV
MOV
AN-Í:M« A?
INC
MOV
MOV
MOV
INC
MOV
PÜSH
MOV
PUSH
LCALL
POP
MOV
POP
MOV
MOV
ACALL
RO.ftl
DPTR, Hvarm
A.Ríl
B, SOG
Afi
A,UPL
DPL.A
A,B
A, DPH
UPH,A
DPTR
8J.DPII
Rl! , DPL
DPTR, ftsum
DPTR
A,R4
ACC
A,R5
ACCRAM RAM
ACC
R5,A
ACC
R4(A
RO(#83H
COPIA2
ACALL COPIAO ;COPIA VALOR ASCII EH RO EN DISPLAY
MODULO DE ARMÓNICO *****
;SE COPIARA 1 NPF
; CORRESPONDIENTE A LA ARMÓNICA R-J •
,-PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA
;EN R3:R2 DIRECCIÓN DE MSB DE ARMÓNICA
; RAMRAM CAMBIA R4 Y R5
•;POR LO QUE SE DEBEN CONSERVAR ESTOS
;VALORES
;COPIA ARMÓNICA A SUíri
;3 ES EL EXPONENTE DE REFERENCIA
,-COPIA VALORES A DISPLAY RAM
FASE DE ARMÓNICO
23F4
23F6
23F9
23 FA
23FD
23FE
2400
2402
2404
2406
2408
2409
240B
240D
2410
2411
2412
2414
2415
2417241A
241C
7801
900E4F
EC75FOOS
A4
2582
P502
E5FO
3583
F583
A3
AB83
AA82
90082F
A3
EC
COEO
ED
COEO
122C5C
DOEO
FD
MOV
MOV
MOVMOV
MUL
AD1JHuí/
MOV
ADDC
MOV
INC
MOV
MOV
MOV
INC
MOV
PUSH
MOV
PUSH
LCALL
POP
MOV
R0,#l
DPTR,#vfas
A(R4
3,1(06
AE
A.Di'L
Di'L , ;-.A,BA, DPH
DPH, A
DPTR
R3 , DPH
R2,DPL
DPTR,#sum
DPTR
A,R4
ACC
A.P.5
ACC
RAMRAM
ACC
R5,A
;SE COPIARA 1 HPF
,-CORRESPONDIENTE A LA FACE R4
rPARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA
;EN R3;R2 DIRECCIÓN DE MSP, DE FASE
;RAMRAM CAMBIA R4 Y R5
;POR LO QUE SE DEBEN CONSERVAR ESTOS
,-VALORES
,-COPIA ARMÓNICA A sum
The Cybernetle Micro SysCems 8051 Family Assembler, Versión 3.02 Page 17
11-03-94
2410 DOEO
241P FC
2420 BIFE
2422 7883
2424 B165
2426 OD
2427 BD0804
242A 813E
242C 619A
242E OC
242P BC10FA
2432 7820 '
2434 7A08
243S 91EC
2438 DAFG
243A OD243B BD08F6
243E 7C01
2440 7DOO
2442 900DEF
2445 EC
2446 04
2447 75F006
244A A4
244B 2582
244D FS82
244F E5FO
2451 35832453 F583
2455 EO
2456" C3
2457 9481
2459 4Ü7B
24r>K E'"
.": IV."1 Cj24GD 940SI
243F 5006
2461 EC
2462 042463 2430
24fi5 81 C>'3
2467 2441
2 469 F8
24(5A 91KC
POP
MUV
ACALL
MOV
ACALL
INC
CJNE
AJMP
REW3 : AJMP
SIGV; INC
CONE
. *****/
SIGV1 : MOVSIGV2 : MOV
SIGV3 : ACALL
DJNZ
INCCJNE
. ***-**
ACTI : MOV
MOV
REVI : MOV
MOV
INC
MOV
MUL
ADD
MOV
MOV
ADDCMOV
MOVX
CLR
SUBB
ac
. .' •* *• «; 'A
MOV
CLR
¿UBB
JHC
MW
IMC
ADD
AJMP
RBVI1: ADDREVI 2. MOV
ACALL
ACC
lid , A
SIG
RO,#83H
COPTA2
R5
R5 ,1*8, SIGV
ACTI
REW
R4 •
; PROCESA SIGNO DE FASE
;3 ES EL EXPONENTE DE REFERENCIA
;COPIA VALORES A DISPLAY RAM
7 SOLO HAY 8 ESPACIOS PARA ARMÓNICOS
;SI HAY VTítí ESPACIO CHEQUE;1. ARMÓNICOS
jtíi NO, SALTA A ARMÓNICOS DE CORRIENTE
; APOYO A CJNE X,X,R£W3
/CHEQUEA SI HAY MAS ARMÓNICOS
R4,*rnum,REW3 ; REPITE SI LOS HAY
ESPACIOS EN DEMÁS SITIOS *****
RQ,*20H
R2,*8
COPIAO
R2 , SIGV3
R5
,-A RO CÓDIGO ASCII DE ESPACIO
;SE PONDRÁN 8 ESPACIOS POR LUGAR
;DE ARMÓNICO NO USADO
/CONTINUA CON LOS DEMÁS ARMÓNICOSRS/ttB.SIGVS
ARMÓNICOS
R4,#01H
R5, *OOH
DPTR, »iarm
A,R4
AB^oeABA,DPL
DPL,A
A,B
A,DPHDPH,A
A,@DPTR
C
A,#81H
SIGI
NUMERO DE
A,R4
C
A,J-3
ItJSVTl
A,R4
A
A, ti30H
PEVI2
A, «-11H
RO,A
COPIAO
DE CORRIENTE *****
; CONTADOR DE ARMÓNICOS REVISADOS
/CONTADOR DE ARMÓNICOS DISTINTOS DE CERO
;SE REVISARA LA ARMÓNICA R4
;PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA
,-CARGA EN ACUMULADOR EXPOWENTE DE ARMÓNICA
; RESTA EXPONENTE - (1)
; SALTA SI EXPONENTE ES MENOR A 0
ARMÓNICO *****
; CARGA # ARMÓNICO PARA HACER RESTA
.-NUMERO DE ARMÓNICOS PROCESADOS - 9 Y
; DETERMINAR SI EL QUE SÍCUE EC MAYOR A 9
; SALTA SI MAS DE 8 ARMÓNICOS PROCESADOS
;CARGA NUMERO DE ARMÓNICO EN PKU.'tJu
,-A ACUMULADOR
,-CONVIEROJE NUMERO EN ASCII
; CONTINUA EN REVI 2 '
/CONVIERTE NUMERO EN ASCII (A N G),-COPIA NUMERO DE ARMÓNICO A RO
; COPIA VALOR ASCII EN RO EN DIKPLAV
£ Cybertieti*: Micro py anaína «051 Family Assenibler, versión 3.02 Page 18
11-03-94
MODULO DE ARMÓNICO
1¡ 4 6Ü
2 -1 SE24712472
¿475
2476
2478
2 47 A
247C
247E
2480
2481
2483
2485
2488
2489
248A
248C
248D
248F
2492
2494
2495
2497
2498
249A
7801
900DEF
EC
75F006
A 4
25Ü2
F582E5FO
3583
P583A3 •
AB83
AA82
90082F
A3
EC
COEO
ED
COEO
12 2 CSC
DOECI
FD
DOEO
FC
78871
B103
HOV
MOV
MOV
MOV
MÜL
ADD
MOV
MOV
ADDC
MOV
INC
MOV
MOV
MOV
INC
MOV
PUSHMOV
PUSH
LCALL
POP
MOV
POP
MOV
MOV
ACRI,L
UO, til
ÜPTR.ÍÜ;
A,!MB,5106
AB
A,DPL
DPL,A
A,B
A, DPH
DPH, ADPTR
R3 , DPHR2,DPL
DPTR, * si
DPTR
A,R4
ACC
A,R5
ACC
RAMRAM
ACC
R5,A.ACC
R4,A
RO, H82H
en p i AI
;SE COPIARA 1 tlPF
CORRESPONDIENTE A LA ARMÓNICA R4 '
;PARA ELLO ENCUENTRA SU DIRECCIÓN -EXACTA
;EN R3:R2 DIRECCIÓN DE MSB DE ARMÓNICA
;RAMRAM CAMBIA R4 Y R5
;POR LO QUE SE DEBEN CONSERVAR ESTOS
;VALORES
;COPIA ARMÓNICA A aum
;2 ES EL EXPONENTE DE REFERENCIA
;COPIA VALORES A DTSPLAY RAM
FASE DE ARMUtíK
249C 780:t
249E 900IÍAF
24A1 EC
24A2 75F006
24A5 A4
24A6 2582
24A8 F582
24AA E5FO
24AC 3583
24AE F583
24BO A3
24B1 AB83
24B3 AAB2
24B5 900132F
24B8 A3
24B9 EC
24BA COEO
24BC ED
24BD COEO
24BF 122C5C
24C2 DOEO24C4 FD
24C5 DOE'O
MOV
MOVMOV
MOVMUL
ADD
MOV
MOV
ADDC '
MOV
INC
MOV
MOV
MOV
INC
MOV
PUSH
MOV
PUSH
LCALL
POP
MOV
POP
RO , nDPTR, tfifas
A,R4B.K06
AB
A.DPL
DPL(A
A,B
A, DPH
DPH, A
DPTR
R3,DPH
R2 , DPL
DPTR, *3Um
DPTR
A,R4
ACC
A,R5
ACC
RAMRAM
ACCR5,A
ACC
;SE COPIARA 1 NPF.-CORRESPONDIENTE A LA FASE R4
;PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA
;EN R3:R2 DIRECCIÓN DE MSB DE FASE
;RAMRAM CAMBIA R4 Y R5
;POR LO QUE SE DEBEN CONSERVAR ESTOS
;VALORES
/COPIA ARMÓNICA A sum
The Cybornet ic Ci\rjcoias 3051 Family Acsembler, Versión 3.02 Paga 1911-03-94
24u'7 FC
24C8 B1FB
24CA 78831MCC B165
24CE OD
2-JCF BD0804
24D2 81E6
24D4 8142
24D6 OC
2407 BC1QFA,
24DA 7820
24DC 7A07
24DE 91EC
24EO DAFC
24E2 OD
24E3 BD08F6
24E6 D123
24ES 53DOE7
24EB 22
24EC OE
24ED 9030FF
24FO EE
24F1 93
24F3 F9
24F3 90070F
24F6 E582
24F8 29
24F9 F582
24FB E424FC 3583
24FE F583
2500 E8
2501 FO
2502 22
2503 OE
2504 9030FF
2507 EE
2508 93
2509 F9
250A 90082F
250D 7A06
250F A32510 DAFD
2512 EO
HOV
ACALL
MOV
ACALL
INC
CGNE
AJ'MP
REVI3 : AJMP
SIGI: INC
CJHE
. >. i: * * f.
SIGI1: MOV
SIGI2 : MOV
SIGI3: ACALL
DJHZ
INC
CJÍÍE
ACF1N :
ACALL
AWLRET
COPIAO :
MOV
MOV
MOVC
MOV
MOV
MOV
ADD '
MOV
CLR
ADDC
MOV
MOV
MOVX
RET
COPIA1 :
MOV
MOV
MOVC
MOV
MOV
HOV
PINC1: INCDJNZ
MOVX
R4,A
SIfl
RO, ít83H
COPIA2
R5
R5,*8,SIGI
ACFIN
REVI
R4R4,*rmM,REVI2
í PROCESA SIGNO DE FASE
;3 ES EL EXPONENTO DE REFERENCIA/COPIA V7O.ORES A DISPLAY RAM
;SOLO HAY 8 ESPACIOS PARA ARMÓNICOS-
/SALTA SI HAY MAS ESPACIO
/SI NO, SALTA A ARMÓNICOS DE CORRIENTE
/APOYO A CJNE #,*,REVI3
; CHEQUEA SI HAY MAS ARMÓNICOS
! ; REPITE SI LOS HAY
ESPACIOS EN DEMÁS SITIOS ****•>•
RO,*20H
R2,*7
COPIAO
R2 , SIGI3
R5
R5,#S,SIGI2
ACTDIS
f-SH. ÜOE7H
INC R6
DPTR y *drpos
A,R6
A,0A+DPTR
R1(A
DPTRjidsprajnA.DPLA,R1
Dt'L.A
A
A(DPH
DPH,A
A,RO
8DPTR,A
' INC R6
DPTR,#drpos
A,R6A, 6A+DPTR
R1,A
DPTR, tsum
R2,#06
DPTRR2 , PINC1
A, 0DPTR
;A RO CÓDIGO ASCII DE ESPACIO
/SE PONDRÁN 7 ESPACIOS POR LUGAR
/DE ARMÓNICO NO USADO
/CONTINUA CON LOS DEMÁS ARMÓNICOS
/ACTUALIZA DISPLAY
: FINALIZA ACTUALIZACIÓN
/INCREMENTA PUNTERO PARA LOCALIZAR
/POSICIÓN A COPIARSE EN DISPLAY RAM
/CAPC7'- rw ACUMULADOR DIRECCIÓN REL.
;EN Rl DIRECCIÓN RELATIVA
/APUNTA A INICIO DE DISPLAY RAM
;Y AUMENTA POSICIÓN RELATIVA
/Rl AL PUNTERO PARA GUARDAR NUEVAMENTE
/VALOR A PONER EN DISPLAY RAM EN ACUMULADOR
/INCREMENTA PUNTERO PARA LOCALIZAR
/POSICIÓN A COPIARSE EN DISPLAY RAM
/CARGA EN ACUMULADOR DIRECCIÓN REL,
/EN Rl DIRECCIÓN RELATIVA
/CARGA LA DIRECCIÓN DE SUM A DPTR
;Y LA INCREMENTA 6 VECES PARA APUNTAR
/AL EXPONENTE
;Y CARGA EL EXPONENTE AL ACUMULADOR
The Cybernetic Micro syscems 8051 Family Assembler, Versión 3.02 Page 20
11-03-94
2513
2515
2518
2519
251A
251B251D
251F
2521
2523
2524
2527
2528
252A
252B
252E
252P
2531
2532
2534
2535
2ri3fi
20;1/. •-;;
253C
253E
253P
2541
2543
25S4
2546
2547
2549
254A
254B
254E
254F
2550
25512554
2556
2557
2559
255A
255C
255E
255F
25G1
2563
25S4
2565
2566
2569
25 6A
F5FO
90Q82F
A3
C3
E8
95FO
5004
74FF
A135
E8B5F003
EO
A135
14
B5F006
EO54FO
C4
Al 3 5
EMF8
•)C070K
KC-.;-¿ -j
FOó-í
E<i
"i 5 8.1
F5S3
E8
5-1FOC4
2430
FO
OE
903 OFF
blE
93
F9
90070F
E582
29
F5Í32
E4
3583
F5133
E8540F
2430
FO
22
OE
90 3 OFF
EE
93
MOV
MOV
INC
CLR
MOV
SUBB
JNC
MOV
AJMP
PINC2 : MOV
CJblE
MOVX
AJMP
PINC3 : DEC
CJNE
MOVX
ANL
SWAP
AJMP
PINC4 : CLR
PJNC5: MOV .
MOV
MOV
AUO
MOV
CLRAÜÍ.K:-Mt.)V
MOV
AtIL
S\ÍAP
ADDMOVX
INC
MOV
MOV
MOVC
MOV
MOV
MOV
ADD
MOV
CLR
ADDC
MOV
MOV
ANLADD
MOVX
RET
COPIA2 :
MOVMOV
MOVC
B,ADPTR, ttaum
DPTR
C
A,RO
A,B
PINC2
A,#OFFH
PINC5
A,ROP^B.PIHCB
A,@DPTR
PINC5
A
A,B,PINC4
A,8DPTR
A,*OFOH
-A
PINC5
A
RO(A
DPTR,«dapram
A.DPL
A,1U
DPL,A
A
A(DPH
DPH , A
A.RO
A, fcOFOH
A
A, #3 OH
ODPTR , A
R6
DPTR, ttdrpos
A,R6
A,8A+DPTR
R1,A
DPTR, lídsprainA,DPL
A,R1
DPL,A
A
A, DPH
DPH, A
A,ROA,*OFH
A, I30H
9DPTR, A
INC - R6
DPTR, fcdrpooA,R6
A.eA+DPTR
;Y POSTERIORMENTE A REGISTRO B
,-CARGA EN PUNTERO DIRECCIÓN DE DÍGITO
;MAS SIGNIFICATIVO DE NPF
;RESTA REFERENCIA - EXPONENTE . • • '
;SALTA SI REFERENCIA >= A EXPONENTE
;'??' A ACUMULADOR INDICA OVERFLOW . '
;SALTA A PINC5 PARA ACTUALIZAR 2 DATOS
/CARGA REFERENCIA A ACUMULADOR
;SALTA SI EXPONENTE ES MENOR A REFERENCIA
;Y ALMACENA MSB EN ACUMULADOR
;DISMINUYE EN 1 EL VALOR DE LA REFERENCIA
;SALTA SI EXPONENTE MENOR A REFERENCIA-1
;DOS DÍGITOS MAS SIGNIFICATIVOS A ACUMULADOR
/ELIMINA DÍGITO MENOS SIGNIFICATIVO Y
/EXPRESA DÍGITOS O y Al
;'00' A ACUMULADOR INDICA UNDERFLOW
/CARGA EN RO VALOR A PONER EN DISPLAY RAM
/APUNTA A INICIO DE DISPLAY RAM
/Y AUMENTA POSICIÓN RELATIVA
;R1 AL PUNTERO PARA GUARDAR
/VALOR A PONER EN DISPLAY RAM A ACUMULADOR
/PRIMERO TRABAJA CON DÍGITO MAS SIGNIFICATIVO
/CONVIERTE DÍGITO A ASCII
/INCREMENTA PUNTERO WUtA LOCALJ"¿Ai\N A COPIARSE EN DISPLAY RAM
;CARGA EN ACUMULADOR DIRECCIÓN REL.
,*EN Rl DIRECCIÓN RELATIVA
rAPUNTA A INICIO DE DISPLAY RAM
,-Y AUMENTA POSICIÓN RELATIVA
,-Rl AL PUNTERO PARA GUARDAR NUEVAMENTE
/VALOR A PONER EN DISPLAY RAM EN ACUMULADOR
/TRABAJA AHORA CON DÍGITO MENOS SIGNIFICATIVO
/CONVIERTE A ASCII
/INCREMENTA PUNTERO PARA LOCALIZAR
.-POSICIÓN A COPIARSE EN DISPLAY RAM
/CAUCA EN ACUMULADOR DIRECCIÓN REL.
The Cybernecic Micro Systems 8051 Family Assembler, Versión 3.02 Page 21
11-03-94
25GB F9256C 90082F
256F 7A06
2571 A3
2572 DAFD
2574 EO
2575 F5FO
2577 90082F
257A A3
257B C3
257C E8
257D 95FO
257F 5007
2581 74FP
2583 75FOFF
2586 A1A£!2588 E8
2589 B5F007
258C EO
258D F5FO258F A3
2590 EO
2591 A1AE
2593 14
2594 B5FOOA
2597 EO
2598 54FO
259A C4
259B F5FO
259D EO
259E C4
259F AlAi:
25A1 14
25A2 B5P006
25A5 75FCIOO25A8 EO
25A9 A1AE
25AB E4
25AC F5FO
25AE F8
25AF 900VOF
25B2 E58Í!
25B4 29
25B5 F58H
25B7 E4
25B8 358:i
25BA F58:f
25BC E5FO
25BE 54FO
25CO C4
25C1 2430
25C3 FO
25C4 OE
25C5 9030FF
25Cf3 E£
MOVMOV
MOV
PINC6: INC
DJNZ
MOVXMOV
MOV
INC
CLUMOV
SUBB
JHC
MOV
MOVAJMP
PINC7 ; MOV
CJNE
MOVX
MOV
INC
MOVX
AJMP
PINC8: DEC
CONE
MOVX
ANL
SWAP
MOV
MOVX
SWAP
AJMP
PINC9: DECCJNE
MOV
MOVXAJMP
PINGA: CLR
MOV
PINCB: MOV
MOV
MOV
ADD
MOV
CLR
ADDC
MOV
MOV
ANL
SWAP
ADD
MOVX
INC
MOV
MOV
R1,A
*DPTR,#smn
R2,»06
DPTR
R2,PINC6
A,9DPTR
B,A
DPTR,#sum
DPTR
CA,RG
A,TJ
P1HC7
A, ftOFFH
B, HOFFH
PINCB
A,RO
A,B,PINC8
. A,9DPTR
B,A
DPTR
A,QDPTR
PINCB
A
A,B,PINC9
A.QDPTR
AftOPOH
A
B,A
A,0DPTR •
A
PINCB
AA, B, PINGA
B,»OOHA,6DPTRPINCB
A
B,A
RO,A
DPTR,#dspi:Eun
A,DPL
A,R1
DPL,A
A
A,DPH
DPH,A
A,B
A,#OFOH
A
A,f30H
9DPTR,A
R6DPTR, ttdrposA,R6
7EN Rl DIRECCIÓN RELATIVA;CARGA LA DIRECCIÓN DE SUM A DPTR
;Y LA INCREMENTA 6 VECES PARA APUNTAR
;AL EXPONENTE
,-Y CARGA EL EXPONENTE AL ACUMULADOR
,-Y POSTERIORMENTE A REGISTRO B
;DPTR APUNTA.A DIRECCIÓN DE
7 PRIMER DÍGITO DE NPF
;RESTA REFERENCIA - EXPONENTE
;SALTA SI REFERENCIA >- A EXPONENTE
;'??' A ACUMULADOR INDICA OVERFLOW
;'??' EN B INDICA OVERFLOW
;SALTA A PINC5 PARA ACTUALIZAR 2 DATOS/CARGA REFERENCIA A ACUMULADOR
;SALTA SI EXPONENTE ES MENOR A REFERENCIA
;Y ALMACÉNALOS EN ACUMULADOR/DIGITOfí HAÜ SIGNIFICATIVOS EN B
/APUNTA A SIGUIENTES DOS DÍGITOS
;Y ALMACENA EN ACUMULADOR
/DISMINUYE EN 1 EL VALOR DE LA REFERENCIA
;SALTA SI EXPONENTE MENOR A REFERENCIA-1
I DOS DÍGITOS MAS SIGNIFICATIVOS A ACUMULADOR
/ELIMINA DÍGITO MENOS SIGNIFICATIVO Y
/EXPRESA DÍGITOS O y Al
/ALMACENA DÍGITOS EN B
/DÍGITOS MAS SIGNIFICATIVOS A ACUMULADOR
/DÍGITO MENOS SIGNIFICATIVO TOMADO EN CUENTA
/DISMINUYES EN 1 EL VALOR DE LA REFERENCIA
/SALTA SI EXPONENTE MENOR A REFERENCIA-2
?OOH A B COMO DÍGITOS MAS SIGNIFICATIVOS;TERCER DÍGITO A ACUMULADOR
;'00l A ACUMULADOR Y A
/REGISTRO B INDICA UNDERFLOW
/CARGA EN RO DÍGITOS MENOS SIGNIFICATIVOS
/APUNTA A INICIO DE DISPLAY RAM
;Y AUMENTA POSICIÓN RELATIVA
/Rl AL PUNTERO PARA GUARDAR
;VALOR MAS SIGNIFICATIVOS A ACUMULADOR
/PRIMERO TRABAJA CON DÍGITO MAS SIGNIFICATIVO
/CONVIERTE DÍGITO A ASCII
/INCREMENTA PUNTERO PARÍ. LOCALIZAR
/POSICIÓN A COPIARSE EN DISPLAY RAM
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 22
11-03-94
25C9 93
25CA F925CB 90070F
25CE E58:i
25DO 29
25D1 F58¡>
25D3 E4
25D4 3583
25D6 F583
25 D8 E5FO
25DA 540F
25DC 2430
25DE FO
25DF OE
25EO 9030FF
25E3 EE
25E4 93
25E5 F9
25E6 90070F
25E9 E58225EB 29
2SEC F582
25EE E4
25EF 3583
25F1 F583
25F3 EO
25F4 54FO
25F6 CA
25F7 2 43 U
.¡K-F9 PC
-.'.•:••:, i.
25FB 500821-'
25FE 7905
2600 A3
2601 D9FD2603 EO
2604 5401
2bÜ6 783B
2608 6002
260A 782D
260C OE
2SOD 9030FF26^Q EE
2611 93
2612 F9
2613 90070F
2616 E582
2618 29
2619 F582261B E4
261C 3583
261E F5832620 E8
2621 FO
MOVC
MOV
MOV
MOV
ADD
MOV
CLR
ADDC
MOV
MOVANL
ADD
MOVX
INC
MOVMOV
MOVC
MOV
MOV
MOV
ADD
MOV
CLR
ADDC
MOV
MOV
ANL
SWAP
ADD
MOVX
RET
3IG: MOV
MOV
rilOl : iNC
DONÜMOVX
AHL
MOV
JZ
MOV
SIG2 : IrtC
MOV
MOV
MOVC
MOV
MOV
MOV
ADD
MOV
CLR
ADDC
MOVMOV
MOVX
A, 6A+DPTR
R1,A
DPTR, (tdspramA,DPL
A,R1
DPL,A
A
A,DPH
DPH,A
A,B
A,*OFH
A,*30H
9DPTR,A
R6
DPTR, ttdrpoa
A,R6
A.9A+DPTR
R1,A
DPTR,#dsprtunA,DPL
A,R1
DPL(A
A
A,DPH
DPH,A
A,RO
A,ÜOFOH
AA, tí 3 OH
aUPTR.A
DPTR, HsumRi,«5DPTR
R1,SIG1
A, « DPTR
A, H01
RO,tt2BH
SIG2
ftü, 83DH
RCDPTR, tdr posA,R6
A.8A+DPTR
R1,A
DPTR,#d3pram
A,ÜPL
A,R1
DPL,A
A
A,DPH
DPH,AA,RO
9DPTR,A
/CARGA EN ACUMULADOR DIRECCIÓN REL.
/EN Rl DIRECCIÓN RELATIVA
/APUNTA A INICIO DE DISPLAY RAM;Y AUMENTA POSICIÓN RELATIVA
/Rl AL PUNTERO PARA GUARDAR NUEVAMENTE
/VALOR A PONER EN DISPLAY RAM EN ACUMULADOR
/TRABAJA AHORA CON DÍGITO MENOS SIGNIFICATIVO
/CONVIERTE A ASCII
/INCREMENTA PUNTERO PARA LOCALIZAR
/POSICIÓN A COPIARSE EN DISPLAY RAM
/CARGA EN ACUMULADOR DIRECCIÓN REL.
/EN Rl DIRECCIÓN RELATIVA
;APUNTA A INICIO DE DISPbAY RAM
/Y AUMENTA POSICIÓN RELATIVA/Rl AL PUNTERO PARA GUARDAR NUEVAMENTE
/VALOR A PONER EN DISPLAY RAM EN ACUMULADOR
/SOLO TRABAJA CON DÍGITO MAS SIGNIFICATIVO
/CONVIERTE DÍGITO A ASCII
/UBICA PUNTERO EN LOCALÍ7^CION/DE MEMORIA CORRESPONDIENTE AL
;SIGNO DE sum
/TRAE SIGNO DE sum AL ACUMULADOR
/AISLA EL BIT DEL SIGNO
/CARGA SIGNO POSITIVO A RO
/SALTA SI sufl! ES POSITIVO
; CARGA SlüliU NEGATIVO A ftu
/INCREMENTA PUNTERO PARA LOCALIZAR
;POSICIÓN A COPIARSE EN DISPLAY RAM
/CARGA EN ACUMULADOR DIRECCIÓN REL.
/EN Rl DIRECCIÓN RELATIVA
/APUNTA A INICIO DE DISPLAY RAM
/Y AUMENTA POSICIÓN RELATIVA
/Rl AL PUNTERO PARA GU7lRDAR NUEVAMENTE
/CARGA SIGNO A
/DISPLAY RAM
The Cybeirneiic Micro Syaírems 8051 Kaniily Assembler, Versión 3.02 Page 23
11-03-94
2622 22
ACTD1S
.•ENTRADAS:
Pl Pórtico 1, donde un interruptor indica pantalla usadadiscom Dirección do comandoe a displaydisdat Dirección de datos a display
dspram Dirección inicial de display ram
/SALIDAS:
Copia de pórtico 1 actualizado
¡PROCESO;
Este proceso revisa el interruptor en Pl y actualiza elram del display según existan cambios en Pl .
Se chequea Pl , según el bit que esté conectado a tierra,se indica una dirección reía M va de display ram de muñeraque se copia un segmento de display ram a la rain del
display. Es muy importante la introducción de estados deespera. El proceso debo ser transparente.
/CONSTANTES
; ninguna
/VARIABLES CREADAS:
/ A variable de propósito general
/ RO
j Rl contador para estados desespera
7SUBRÜTINAS USADAS
r ninguna
/REGISTROS ALTERADOS
A
2623 C0832625 C0822627 ES
2628 COEO262A E9
262B COEO
262D 901AOO2630 7480
2632 FO
ACTDIS::PÜSHMOV
PÜSHMOV
PÜSHMOV •MOV
MOVX
PÜSHDPL
A,RÜACC
A,R1
ACC
DPTR,
DPH
#discomA,*80H
9DPTR ,A
;EL PROCESO DEBE SER TRANSPARENTE
/PARA ELLO ENVÍA A STACK A
/DPTR, RO Y Rl
/DIRECC. COMANDOS DISPLAY EN DPTR;Y ENVÍA A ESTA LOCALIDAD, PRIMER
/BYTE DDRAM A SER ESCRITO
The CyberneCic Micro Systems 8051 Family Aaaembler, Versión 3.02 Page 24
11-03-94
2633 791.E
2635 D9FE
2637 E590•>63y 90070F
263C 30EOU
2C3P •}ÜEl1.í2 Ú 4 2 J Í 'E : ;1 '1
. - . < • 'i'j jv;¿-i 10
3648 3QEÜLF
2 6 4 B 30EG23
264E F520
21550 C1P.C:¡652 F5202654 7400
2656 C1V-J2658 F'520265A 7428
265C C174
265E P5202660 74502662 C174
2664 P520
2666 74782668 C174
266A F520
266C 74AO
266E C17íi
2670 F52C)
2672 74CÍÍ
2674 258;!2676 F58;!
2678 7400
267A 358;j267C F58,'J
267E 7814
2680 A3
2681 EO
2682 C0832684 COSÍ!
2686 901A012689 FO
268A 79112
268C D9FE
268E D082
2690 D083
2692 D8EC
2694 C083
2696 C082
2698 901AOO
269B 74CO269D FO
269E 791E
26AO D9FE
26A2 D082
26A4 D083
MOV
DJNZ
MOV
MOV
JNfi
.1HEJNBJiiii
JNBOMBMOv
P.aMP
DSPO : MOVMOV
AJMP
DSP1 : MOV
MOV
AOMP
DSP2 : MOV
MOV
AJMP
DSP3 : MOV
MOV
AJMP
DSP4: MOVMOV
AOMP
DSP5 ; MOVMOV
CDDRAM:
MOV
MOV
• ADDC
MOV
MOV
CDD2 : INC
MOVX
PUSH
PUSH
MOVMOVX
MOVDJNZPOP
POP
DJNZ
PUSHPUSH
MOV
MOVMOVX
MOV
DJNZPOP
POP
Rl,#30
Ri,$A,P1
DPTR,#dspram
ACC . 0 , DSPO
ACC.l.DSPlACC . 3 , DSP2
ACC . 4 , DSP3
ACC.5,DSP4ACC . 6 , DSP5iüH, A
CDD3
2 OH, AA, 5100
CDDRAM
2 0 H , AA , Ü 4 0
CDDRAM
2 0 H , A
A, U S O
CDDRAM
2 OH, A
A, #120
CDDRAM
20H,AA, #160
CDDRAM
20H,A
A,#200
ADD A,DPL
DPL,A
A, #00
A,DPH
DPH,A
R0,í í20
DPTRA.ODPTR
DPHDPLDPTR,#disdat6DPTR,A
Rl , #3 0
R l / SDPL
DPH
RO(CDD1DPH
' DPLDP7H,#discornA,#OCOH6DPTR,A
Rl , #3 0
Rl,$DPL
DPH
;INTRODUCE ESTADO DE ESPERA
.-NUEVAMENTE Pl A ACUMULADOR
;EN DPTR, DIRECCIÓN DE DISPLAf RAM
,-SALTA SI ESTA ACTIVADA RED 1
;SALTA SI ESTA ACTIVADA RED 2
;SALTA SI ESTA ACTIVADO MODULO 1 .
;SALTA SI ESTA ACTIVADO MODULO 2
;SALTA SI ESTA ACTIVADA PASE 1
;SALTA SI ESTA ACTIVADA FhQE 2
/ACTUALIZA 20H
/COPIA PRIMERA PANTALLA
/ACTUALIZA 20H
;SÜMA 40 A DPTR, PAPA COPIAR
;SEGUNDA PANTALLA DE DISPLAY RAM
;ACTUALIZA 3OH
,-SUMA 80 A DPTR, PARA COPIAR
;TERCERA PANTALLA DE DISPLAY RAM
/ACTUALIZA 2OH
;SUMA 120 A DPTR, PARA COPIAR/CUARTA PANTALLA DE DISPLAY RAM
/ACTUALIZA 20H
;SUKA 160 A DPTR, PARA COPIAR
/QUINTA PANTALLA DE DISPLAY RAM
7ACTUALIZA 20H/SUMA 200 A DPTR, PARA COPIAR 6a.
,-SUMA ACUMULADOR A DPTR
/PARA OBTENER LA PANTALLA A
/COPIARSE DESEADA
/SON 20 DATOS A COPIARSE EN la. FILA
/TRAE DATO DE DISPLAY RAM
/ALMACENA PUNTERO EN STACK
;A DPTR DIRECCIÓN DATOS DE DDRAM
/ENVÍA DATO A DDRAM
/INTRODUCE ESTADO DE ESPERA
/SALTA HASTA LEER TODOS LOS DATOS
/ALMACENA PUNTERO EN STACK
]A DPTR DIRECCIÓN COMANDOS DE DDRAM
;PARA INDICAR LOCALIDAD DE PRIMER
/BYTE SEGUNDA FILA DE DATOS
/RECUPERA PUNTERO DE STACK
The Cybernetic Micro Syatema 8051 Family Assembler, 3.02 Page 25
11-03-94
26A6
26A8
26A9
26AA
26AC
26AE
26B1
26B2
2GB4
26B6
26B8
26BA
26BC
26BE
26BF
26C1
26C2
26C4
26C6
7814
A3
EOC083
C082
901A01
FO
79Í.E
D9FE
DO ()2
DOIÍ3
D81SC
DOI20
F9
DOSO
F8D032
D083
22
MOVCDD2 : INC
MOVX
PUSH
PUSH
MOV
MOVX
MOV
DJNZ
POPPOP
' ÜJNZ
CDD3 : POP
MOV
POPMOVPOP
POP
RET
;
RO,*2Q
DPTR
A.6DPTR
DPH
DPLDPTR,*disdat
@DPTR(A .
Rl,#30
Rl,SDPLDPHRO,CDD2
ACCR1,A
ACCRO,A
DPL
DPH
PAGINA 2 DE
;TRAE DATO DE DlSPLAY RAM
; ALMACENA PUNTERO EN STACK
;A DPTR DIRECCIÓN DATOS DE DDRAM .
; ENVÍA DATO A DDRAM
/INTRODUCE ESTADO DE ESPERA
i SALTA HASTA LEER TODOS LOS DATOS
; FINALIZADO EL PROCESO, RECUPERA
;DE PILA A Rl , RO Y DPTR
MEMORIA
PROGRAMA PRINCIPAL
2800
2800
28ü:-
¿(JIM
.iáüb
~ÍHJ'J
11 OB
L-J.DC310D
KíJJ.1..-.
00 Fu
ORG 2800H
LLAMA: ACJvLL
ACALL
aCALL
L.' vLL
S.3MP
LECTOR
FACTOR
ARMÓN I
PvESOLT
LLAMA
;LEE DATOS DE ADC Y GUARDA EN MEMOR
; ENCUENTRA FACTOR DE POTENCIA DE RE
rREALIZA ANÁLISIS DE ARMÓNICAS
; ACTUALIZA RESULTADOS
;CRHA LAZO INDEFINIDO
.•RESULT se encuentran en la página 1 de memoria puoato que no requiere
,-do invocar a lucirías BASIC para realizar operaciones; de punió tloLante,
,D,td-.i la lij-j-eiisión del programa, todas las rutinas (LECTOR, FACTOR, ARMÓN I/
;RF,í;OLT y las llamadas a BASIC) no entran juntas en esta página de 2K
,-por io qi_¡£i se roquierií hacer la mencionada división.
LECTOR
LEE DATOS DEL ADC Y ALMACENA EW MEMORIA
;ENTRADAS:
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 26
11-03-34
adci dirección de conversor analógico digital de corriente
adcv dirección de conversor analógico digital de voltaje
ccoir dirección inicio de tabla de conversión valores de corriente
cvolt dirección inicio de tabla de conversión valores de voltaje
i dirección inicio de tabla de muestraa de corriente
v dirección inicio de tabla de muestras de voltaie-
;UALIDAS
0350H-090PH ubicación de muestras de voltaje en BCD
0910H-QSCFH ubicación de muestran de corriente en BCD
;PROCESO;
,- Toma 32 muestras de voltaje y 32 muestras de corriente de Ion
respectivos ADC, para ello trabaja con el timer O del U052.
; Debe recordarse que debe recuperarse PSW del stack al regresar
; de innerruptores
,• Cada muestra debe obtenerse del promedio de 16 lecturas con el
,- objeto de mejorar la precisión de los ADC.
; Como cada muestra es un valor de 8 bits, se obtiene la dirección
; de su equivalencia en BCD en las tablas apuntadas por ccorr y
; CVolt.
; Finalmente, se carga la equivalencia BCD en memoria RAM usando
para ello la rutina ROMRAM.
[CONSTANTES USADAS-.
; treh MSB de recarga del timer O como referencia del tiempo de mueotreo
,- trel LSB de recarga del timer O como referencia del tiempo de muestreo
/VARIABLES OREADAS;
; A variable de propósito general
; B variable de multiplicación
,- RO número de lecturas de ADC muestreadas, número de datos a
; trasladarse en ROMRAM
; Rl contador iterativo de número de muestras para sacar la
; lectura muestreada y par . copiar datos en ROMRAM
; R3:R2 valores acumulflci-^ de voltaje para promedio, dirección
; respaldo de DPTR en ROMRAM
; R5:Rd valores acumulados de corriente para promedio, dirección
; inicial de tabla de valorea en RAM on ROMRAM
; R6 contador de número de lecturas muestreadas con valores; BCD en RAM
; DPTR dirección inicial de tabla de valores en ROM en ROMRAM
;SUBRÜTINAS OSADAS
; CONVN, VALTB, ROMRAM, TMR, VALTB, VTMRO
;REGISTROS ALTERADOS
DPTR, A, B, RO, Rl; R2, R3, R4, R5, R6
The Cybi3rnetic Micro Systems 8051 Fainily Assembler, Versión 3.02 Page 27
11-03-94
280B
280E2810
2812
28142816
2819281B
281D
281F
2820
28212824
2825
28272829
282B
282E
2830
2833
2834
2836
2838
283B
283C
283D
2840
2811
23-13
2í3<!5
¿y 47;: ••"- 4 A.¿o-lC
?.8-lF
2850
2852
-ÍÜ54
'¿857
2»bG
2d5B
285E
43D018
D2AFD2A9
7800
D28C!B820FD
C28C
C2ASI
7E2CI
EE
14
900ÉI4F
A3
11C<;
AC82
AD83
90084F
115F
9033FF
A3
HCíl
780112223E
EE
14
900ÍJOF
A3
HCd
AC8Ü
Aoa.'JyüOIJUl-
J J ->¿903ÍPF
AJ11C4
7801
1 2 2 2 i E1E
BEOOC4
5 3 DO E V
22
LECTUR:
SETB
SETB
MOV
SETB
CJNE
CLR
CLR
MOVTABLA: MOV
DEC
MOV
INC
ACALL
MOV
MOV
MOV
ACALL
MOV
INC
ACALL
MOVLCALL
MOV
DEC
MOV
INC
ACALL
MOV
MOV
1-JOVACALL
MOV
INC
ftCAU.MOV
LCALL
DÍ-JC
CJNE
ANL
RET
ORL PSW( U
EA
ETO -
RO,fOO
TRO
RO, #jnunum($TROETO
R6(#munumA,R6
A
DPTR.ítv
DPTR
VALTB
R4 , DPL
R5 , DPH
DPTR,*v .
CONVN
DPTR/Kcvolt
DPTR
VALTB
R0,*01
ROMRAM
A,R6
A
DPTR, 1 i
DPTR
VALTB
FM,DPL
R5 , DPH
UPTR , H i
CONVNDPTR, ttccorx
DC-TR
VALTñU0,ü01
UüHRAM
Rí".
R6, #00 /TABLA
PSW.ÍOE7H
H ;BANCO 3 DE REGISTROS
¡HABILITA INTERRUPCIONES
;HABILITA INT. DE TIMER O
;DEBE HABER munum MUESTRAS
/ARRANCA TIMER O
/ESPERA LAS munum INTERRUPC.
/DETIENE EL TIMER O
/DESHABILITA INTERR. TIMER O
;HAY munum VALORES
,-ÜBICA EN DPTR, DIRECCIÓN . RAM
;DE PRIMER VALOR DE
7TABLA DE MUESTRAS VOLTAJE
;Y COPIA A PAR DE REGISTROS
,-R5:R4
,-CARGA A DPTR DIRECCIÓN v
/ENCUENTRA LA MUESTRA PROMEDIO
;UBICA EN DPTR DIRECCIÓN ROM;DE PRIMER VALOR EQUIVALENTE
/DE MUESTRAS DE VOLTAJE
;SOLO UNA MUESTRA
/TRANSFIERE VALOR REAL A RAM
/UBICA EN DPTR, DIRECCIÓN RAM
/DE PRIMER VALOR DE
/TABLA DE MUESTRAS CORRIENTE
/Y COPIA A PAR DE REGISTROS
;R5:R4
/CARGA A DPTR DIRECCIÓN i
/ENCUENTRA LA MUESTRA PROMEDIO
;UBICA EN DPTR DIRECCIÓN ROM
;DE PRIMER VALOR EQUIVALENTE
;DE MUESTRAS DK CORRIENTE;SOLO 1 MUESTRA
/TRANSFIERE VALOR REAL A RAM
/UNA MUESTRA MENOS
/HASTA QUE SE ACABEN
/BANCO O PARA REGRESAR
SUBRUTINAS DE LECTUR
CONVN
/ENTRADAS;
; R6 número del dato de 1 byte que ae quiere conocer,- DPTR dirección inicial del primer dato de la tabla de búsqueda
The Cybernetic Micro Systems 8051 Family Asserabler, Versión 3,02 Page 28
11-03-94
r SAL IDAS;
; PROCESO :
valor del dato de 1 byte correspondiente a índice RG
/ Se agrega R6 a DPTR y el contenido de la dirección resultante
; se almacena en el acumulador.
;CONSTANTES USADAS:
; ninguna
/VARIABLES CREADAS:
/ A variable de propósito general
íSUBRUTIUAS USADAS
/ ninguna
/REGISTROS ALTERADOS
DPTR, A, R6
285F
2861
2862
2864
2866
2868
286A
286B
E582
2E
F582
7-100
3583
F583
EO
22
CONVN: MOV
ADD
MOV
MOV
ADDC
MOV
MOVXRET
;ENTRADAS:
,- adci/ adcv
; í
V
;SALIDAS:
/ENCUENTRA A PARTIR DE DPTR
;Y R6, LA
/DIRECCIÓN CORRESPONDIENTE A
/MUESTRA PROMEDIO TOMADA
/ESTA DIRECCIÓN SE ALMACENA
/EN DPTR
;Y SE CARGA EL CONTENIDO EN A
A, DPI.
A,R6
DPL,A
A, tOO
A,DPH
DPH,A
A,0DPTR
TMR
dirección de conversor analógico digital de corriente
dirección de conversor analógico digital de voltaje
dirección inicio de tabla de muestras de corriente
dirección inicio de tabla de muestras de volcaje
Q85QH-Q86FH
Ü910H-092FH
ubicación de lecturas de muestras de voltaje
ubicación de lecturas de muestras de corriente
;PROCESO;
7 Debe recuperarse PSW del sfcack.
; Incrementa el contador de lecturas muestreadas.; Lee 16 muestras de voltaje y 16 muestras de corriente de los ADC.
The Cybernetic Micro Synfcems 8051 Family Assembler, Versión 3.02 Page 29
11-03-94"
/ Acumula muestras en R3:R2 y R5:R4 respectivamente.
,- Se obbiene el promedio de las 16 lecturas y se almacena en tablaa RAM
;CONSTANTES USADAS:
; ninguna
;VARIABLES CREADAS:
; . A variable de propósito general
; RO número de lecturas de ADC muestreadas
/ Rl contador iterativo de número de muestras para uacar la
; lectura muestreada
,- R3:R2 valores acumulados de voltaje para promedio
; R5:R4 valores acumulados de corriente para promedio
/ DPTR variable general
,-SUBRUTINAS USADAS
VTMR
/REGISTROS ALTERADOS
DPTR, A, RO, Rl, R2, R3, R4, R5
2dtoC DOüO
._-j: t:.' i J.'-J
2 tí 70 D28C
2872 03
2373 7910
2875 7AOO
2877 7BOO
2879 7COO
2B7B 7DOO
287D 901EOO
2880 EO2881 2A
2882 FA
2883 7-100
2885 3B
2886 FB
2887 901COO
288A EO
288B 2C
288C FC
288D 7400
288F 3D
2890 FD
2891 D9EA
2893 EA
2894 791B
2896 D7
2897 C42898 COEO
The Cybernetic
1'fofí; POP
ACiU.li
SETB
INC
MOV
MOV
MOV
MOV
MOV
TMR1 : MOV
MOVXADD
MOV
MOV
ADDC
MOVMOV
MOVX
ADD
MOV
MOV
ADDC
MOV
DJNZ
MOV
MOV
XCHD
SWAP
PUEH
Micro Systems
PSV/V'l'MRO
TRORO
Rl, 816R2,ffOO
R3, üOO
R4, ÜOO
R5,*00
UPTR.Madcv
J\ QDPTR
A,R2
R2 , A
A, «00
A,R3
R3,A
DPTR,#adci
A , 0DPTR
A,R4
R4,A
A, #00A,R5
R5,AR1.TMR1
A,R2
R1,#1BH
A,9R1A
ACC
«U51 Family
/COND. NECESARIA INTERRUPCIÓN
/CONDICIONES INIC. TIHER O
/ARRANCA TIMER O
;SE TOMARA OTRA MUESTRA MAS
;TOMARA 16 VALORES EN
;R3:R2 PARA VOLTAJE
;Y;R3:R4 PARA CORRIENTE
;PARA LUEGO SACAR EL PROMEDIO
;*uEE PRIMERO EL VALOR DE
/VOLTAJE DEL ADC;bSB DE SUMAaOIUQ A ACUMULADOR
;Y COPIADO A R2
;COPIA CERO A ACUMULADOR SIN
/ALTERAR CARRY PARA SUMARLO Y/COPIARLO A MSB DE SUMATORIO -
/LEE AHORA EL VALOR DE
/CORRIENTE DEL ADC
;LSB DE SUMATORIO A ACUMULADOR
;Y COPIADO A R4
/COPIA CERO A ACUMULADOR SIN
/ALTERAR CARRY PARA SUMARLO Y
/COPIARLO A MSB DE SUMATORIO
/REPITE HASTA TOMAR 16 VALORES
;LSB DE SUMATORIO A ACUMULADOR
/CARGA Rl CON DIRECCIÓN DE R3
/PARA CAMBIAR PRIMER DÍGITO
7E INTERCAMBIAR DÍGITOS EN A/GUARDA VALOR PROMEDIO
Assemblor, Versión 3.02 Page 30
11-03-94
289A 900S4F
289D E582
289F 28
28AO F582
28A2 7400
28A4 3583
28A6 F583
28A8 DOEO
28AA FO
28AB EC
28AC 791D
28AE D7
28AF C4
28BO COEO28B2 9Q090P
28B5 E582
2807 28
28B8 F5G2
28BA 7400
2 SBC 3583
28BE F583
28CO DOEO
28C2 FO
28C3 32 '
MOV
MOV
ADD
HOVMOV
ADDC
MOV
POP
MOVX
HOV
MOV
XCHD
( SWAP
PUSHMOV
MOV
ADD
MOV
MOV
ADDC
MOV
POP
MOVX
RETÍ
DPTR, «v
A(DPL
A,RO
DPL,A
A, 100 -
A.DPH
DPH,A
ACC
@DPTR,A
A,R4
R1(#1DH
A,flRl
A
ACC
DPTR, Si
A.DPL
A, noDPL , A
A, KOO
A.DPH
DPH(A
ACC
6DPTR,A
7CARGA A DPTR DIRECCIÓN
/INICIAL DE LOCALIDADES DE
,-VOLTAJE UBICANDO LUEGO
7DIRECCIÓN CORRESPONDIENTE A
;MUESTRA PROMEDIO TOMADA
7ESTA DIRECCIÓN SE ALMACENA
7 EN DPTR7RECUPERA VALOR PROMEDIO
;Y LO ALMACENA EN MEMORIA
,-LSB DE SÜMATORIO A ACUMULADOR
;CARGA Rl CON DIRECCIÓN DE R5
;PARA CAMBIAR PRIMER DÍGITO
,-E INTERCAMBIAR DÍGITOS EN A
;GUARDA VALOR PROMEDIO
;CARGA A DPTR DIRECCIÓN
/INICIAL DE LOCALIDADES DE
;CORRIENTE UBICANDO LUEGO
,-OIRECCION CORRESPONDIENTE A
;MUESTRA PROMEDIO TOMADA
7ESTA DIRECCIÓN SE ALMACENA
7EN DPTR
;RECUPERA VALOR PROMEDIO
,-Y LO ALMACENA EN MEMORIA
/REGRESA A ESPERA DE INTERR.
A- * ti Á- * VALTB *****
;ENTRADAS:
; A número del dato cuya dirección se quiere conocer; DPTR dirección inicial del primer dato de la tabla de búsqueda
íSALIDAS:
; DPTR dirección del dato de l bybe correspondiente a índice R6
;PROCESO:
; Se multiplica A por 6 y se agrega el valor a DPTR
/CONSTANTES USADAS:.
; ninguna
7VARIABLES CREADAS:
; B variable de multiplicación
íSUBRUTINAS USADAS
; ninguna
/REGISTROS ALTERADOS
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 31
11-03-94
DPTR, A, B
2BC4.
28C7
28C8
28CA
28CC
28CE
28DO
28D2
75POOG
A-4
2582
F582
E5PO
358.3
F583•¿2
VALTB: MOV
MOL
ADD
MOV
MOV
ADDC
MOVRET
B,»06
AB
A,DPL
DPL,A
A,B
A,DPH
DPH,A
28D3 C28C
28D5 758CPE28D8 758A06
28DB 22
**.»- VTMRG *****
; ENTRADAS:
; L¿eh MSB de recarga del bimer O como referencia del UJerapo de muestreo
creí L3B de recarga del timer O como referencia del tiempo de muestreo
íGAI.IDA.3:
TIMER O detenido
;PROCESO:
; Se detiene al TIMER O y se le carga con el valor treh:ti:el
¡CONSTANTES USADAS;
; ninguna
/VARIABLES CREADAS:
; ninguna
rSUBRüTICÍAS UÜADAS
,- ninguna
/REGISTROS ALTERADOS
; ninguno
VTMRO: CLR
MOVMOV
RET
TRO ,-DKTIEHE TIMER O
THQ,*treh ;CARGA EL VALOR INICIAL DE
TLO,ttrel ,-TIMER PARA INTERRUPCIÓN
r FACTOR
í; RUTINA QUE CALCULA EL FACTOR DE POTENCIA
The Cybernebic Micro Systems 8051 Fainily Assembler, Versión 3.02 Page 32
11-03-94
í ENTRADAS:
; v dirección inicio de tabla muestras de voltaje
; i ' dirección inicio de tabla muestras de corriente
; power dirección inicio del valor potencia real
/ s dirección inicio del valor potencia aparente
; fp dirección inicio del valor factor de potencia
,- vrms dirección inicio del valor eficaz de voltaje
,• irms dirección inicio del valor eficaz de corriente "
/ SALIDAS .-
; OF8CH-OF91H ubicación valor de potencia real
; OF92H-OF97H ubicación valor de potencia aparente
/ OFA4H-OFA9H ubicación valor de factor de potencia
,- OFAAH-QFAFH ubicación valor eficaz de voltaje
,• irms ubicación valor eficaz de corriente
;PROCESO:
; l Lee valor individual de voltaje v y valor individual
; de corriente i. Multiplica v*i y acumula en oumatorio,
; luego divide para número de muestras y almacena
; en power y en stack,
/ 2 Procede de igual manera solo con v 'para almacenar en
; vrmB y en stack.
/ 3 Igual que el anterior pero solo con i, almacena en irme
; y en stack.
; 4 Multiplica dos últimos números del stack, almacena en
,- stack y en s (s-vrms*irms).
,- 5 Divide dos últimos números del stack, almacena en fp
(fp=p/sj.
;CONSTANTES USADAS:
kl dirección de constante kl en formato de npf
;VARIABLES CREADAS:
puntero cíe posición de valor en tabla ck* íJai.os
puntero de tabla para manejo de stack
; IJi Tlí dittóccíón inicial de tabla para manejo de stack
;WUimUTINAS UTILIZADAS:
VJ , V?, 12, SUMA, COCTENTE, FROMSTACK, PRODUC, KEDON2, SQR, TOCTACK
/REGISTROS ALTERADOS
DPTR, A, RO, B
FACTOR:
28DC 43D018 ORL PSW,*18H ;BANCO 3 DE REGISTROS
The CyberneUic Micro Syetems 8051 Family Assembler, Versión 3,02 Page 33
11-03-94
.¿Jul-' /Bul)
1ÍGÜ1 3170
28E3 18
2»E'l 3170
28E6 F12C
2 SEO D8PA23EA 900641
213ED 7401
2 SEP F136
28P1 D15F
28F3 D1D9
28F5 9007FF
28F8 7401
28FA D173
28FC 9007FF
28FF 7401
2901 F136
2903 7820
2905 317F
2907 18
2908 317F
290A F12C290C D8FA
290E 9008<,1
2911 7401
2913 F136
2915 D15F
2917 K127
2919 D1D9
291B 900817
291E 7401
2920 D173
2922 900817
2925 7401
2927 F136
2929 7820
292B 318E
292D 18
292E 318E
2930 F12C
2932 D8FA2934 900841
2937 7401
2939 F136
293B D15F
293D F127
293F D1D9
2941 90081LD
2944 7401
2946 D173
2948 9008-.LD
294B 7401
The Cybernebic
MOV
ACALL
ütC
ACALL
ACALL
DJNZMOV
MOV
ACALL
ACALL
ACALL
MOV.
MOV
ACALL
MOV
MOV
ACALL
MOV
ACALL
DEC
FACTOR2 :
ACALL
ACALLDJNS
MOV
MOV
ACALL
ACALL
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
MOV
ACALL
DEC
FACTOR3 :ACALL
ACALL
DJN2MOV
MOV
ACALL
ACALL
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
Micro Systems
RO , Hiitunuin
VIRÜ
VI
SUMA
RO, FACTOR 1
DPTR, Ski
A, #01
1-0 STACK
COCIENTE
REDON2
DPTR, ttpower
A, #01
FROMSTACK
DPTR , Jtpov/er
A, #01TOSTACK
RO, #munuraV2
RO
V2SUMARO , FACTOR2
DPTR.m
A, ¥01
TOSTACK
COCIENTE
SQR
REDON2
DPTR,#vrms
A, #01
PROM STACK
DPTR,#vrms
A, #01
TOSTACK
RO , #munum
12RO
12
SUMA
RO , FACTOR3
DPTR,#kl
A, #01
TOSTACK '
COCIENTE
SQR
REDON2
DPTR,#irms
A, #01
FROMSTACK
DPTR, # inrisA, #01
8051 Family i
/CARGA RO CON munum MUESTRAS OBTENIDAS
/MULTIPLICA Vi POSICIÓN íuunum
/UN DATO MENOS QUE TUAÓAJAK
/MULTIPLICA v*i POSICIÓN RO
/SUMA A RESULTADO ANTERIOR
/Y REPITE PARA LAS DEMÁS POSICIONES
;CARGA VALOR CORRESPONDIENTE
,-DE NUMERO DE MUESTRAS
,-A STACK
;Y DIVIDE SUMATORIA v*i PARA ESE VALOR
/APROXIMA AL SECUNDO DECIMAL
/ALMACENA VALOR DE POTENCIA
;A LOCALIDAD DE MEMORIA power
;CARGA VALOR DE POTENCIA
;NUEVAMENTE
/EN STACK
,-HAY munuin MUESTRAS OBTENIDAS
;MULTIPLICA v*v POSICIÓN munum
;UN DATO MENOS QUE TRABAJAR
/MULTIPLICA v*v POSICIÓN RO
;SUMA A RESULTADO ANTERIOR
;Y REPITE PARA LAS DEMÁS POSICIONES
;CARGA VALOR CORRESPONDIENTE
;DE NUMERO DE MUESTRAS;A STACK
;DIVIDE SUMATORIA v*v PARA ESE VALOR
;SACA RAÍZ CUADRADA AL RESULTADO
.-APROXIMA AL SEGUNDO DECIMAL
;Y ALMACENA VALOR DE VOLTAJE RMS
;A LOCALIDAD DE MEMORIA vntis
;CARGA VALOR DE VOLTAJE RMS
7 NUEVAMENTE;EN í?T?,CX;HAY munum MUESTRAS OBTENIDAS
/MULTIPLICA i*i POSICIÓN munum
;UN DATO MENOS QUE TRABAJAR
/MULTIPLICA i*i POSICIÓN RO
/SUMA A RESULTADO ANTERIOR
/Y REPITE PARA LAS DEMÁS POSICIONES
/CARGA VALOR CORRESPONDIENTE
/DE NUMERO DE MUESTRAS
;A STACK
/DIVIDE SUMATORIA i*i PARA ESE VALOR
/SACA RAÍZ CUADRADA AL RESULTADO
/APOXIMA AL SEGUNDO DECIMAL
/Y ALMACENA VALOR DE CORRIENTE RMS
,-A LOCALIDAD DE MEMORIA irms
/CARGA VALOR DE CORRIENTE RMS
.-NUEVAMENTE
Assembler, Versión 3.02 Page 34
11-03-94
294D
294F
2951
2953
2956
2958
295A
295D
295F
2961
2963
2965
2968
296A
296C
296F
F136
D1CF
D1D9900805
7401
D173900805
7401F136
D'ISF
D1D9
90080B7401
D173
53C-OE7
22
ACALL
FACTOR4 :
ACALL
ACALL
MOV
MOV
ACALLMOV
MOV
ACALL
FACTOR5 :
ACALL
ACALL
MOV
MOV
ACALL
ANL
RET
TOSTACK
PRODUC
REDON2 .
DPTRvts
A, #01
FROMSTACK
DPTR,*s
A, #01
TOSTACK
COCIENTE
REDON2
DPTR,#fp
A, #01
FROMSTACK
PSW,#OE7H
7EN STACK
/REALIZA PRODUCTO vrms*irins
/APROXIMA AL SEGUNDO DECIMAL
;ALMACENA RESULTADO DE
/POTENCIA APARENTE EN
/LOCALIDAD DE MEMORIA 3
/Y MANTIENE RESULTADO EN
/STACK
/DIVIDE p/B
/APROXIMA AL SEGUNDO DECIMAL
/Y ALMACENA RESULTADO DE
/FACTOR DE POTENCIA EN
/LOCALIDAD DE MEMORIA fp
/TRABAJA CON BANCO CERO DE REGISTROS
.***** SUBRUTINAS DE FACTOR *****
***** y^ *****
/ENTRADAS:
; UO puntero de tabla
,- v dirección inicio de tabla muestras de voltaje
i dirección inicio de tabla muestras de corriente
,UALIDAS:
Producto v(RO)*i(RO) a stack
Carga v(RO) a sfcack por medio de la subrucina
carga i(RO) a sback de la misma forma, realiza el
producto invocando a la subrutina produc (que realiza
/ producto de las dos últimas pob-iciones del stacl: y
; conaer/va el resultado en la última posición del stacK-j
/CONSTANTES USADAS:
; ninguna
/VARIABLES CREADAS:
; A puntero de tabla de valorea a enviarse a stack
,- DPTR dirección inicial de tabla de valores a enviarse a stack
,-SUBRUTIWAS USADAS
,- PRODUC, TOSTACK
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 35
11-03-94
2970 90084F
2973 E82974 F136
2976 90090F
2979 E82 97A F13(3297C D1CF'
297E 22
;REGISTROS ALTERADOS
DPTR, A
VI: MOV
MOVACALL
MOV
MOVACALLACALL
RET
DPTR/tV
A,RO
TOSTACK
DPTR,#iA,RO
TOSTACKPRODUC
; CARGA VALOR DE VOLTAJE
,-POSICIÓN RO;A STACK
;CARGA VALOR DE CORRIENTE
;POSICIÓN RO;A STACK;MULTIPLICA AMBOS VALORES
297F 9008-1F2982 E82983 F1362985 90084F
2988 E82989 F136298B D1CF
ñu puntero de tabla
,- . v dirección inicio de tabla muestras de voltaje
;3ALIDAS:
Producto v{RO)*v(RO) a stack
;PROCESO:
; Carga v(RO) a atack por medio de la cubrutina tostack; 2 veces, realiza ral producto invocando a la subrutina produc
/CONSTANTES USADAS:
; ninguna
7VARIABLES CREADAS:
; A puntero de tabla de valores a enviarse a stacl:
; DPTR dirección inicial de tabla a enviarse a sfcack
/SUBRUTINAS USADAS
PRODUC, TOSTACK
;REGISTROS Al/TERADOS
V2:
DPTR, A
MOVMOVACALLMOV
HOVACALLACALL
DPTR,tv
A,ROTOSTACKDPTR,#V
A,ROTOSTACKPRODUC
,-CARGA VALOR DE VOLTAOE7 POSICIÓN RO,-A STACK;CARGA VALOR DE VOLTAJE
;POSICTC:; RO;A STACK;MULTIPLICA AMBOS VALORES
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3,02 Page 36
31-03-94
298D 22 RET
298E 90090F
2991 E82992 F13ó
2994 90090F
2997 E82998 F135
299A D1C?
299C 22
,- ENTRADAS:
RO
12
puntero de tabladirección inicio de tabla muestras de corriente
/SALIDAS:
Producto i(RO)*i(RO) a stack
/PROCESO:
; Carga i[RO) a stack por medio de la subrutina tostack
/ 2 veceo, realiza el producto invocando a la aubrutina
; produc
/CONSTANTES USADAS:
,- ninguna
/VARIABLES CREADAS;
; A puntero de tabla de valores a enviarse a stack; DPTR dirección inicial de tabla a enviarse a stack
,-SÜBRUTINAS USADAS
PRODUC, TOSTACK .
;REGISTROS ALTERADOS
DPTR, A
12: MOV DPTR,# i
MOV A,RO
ACALL TOSTACK
MOV DPTR,«i
MOV A,ROACALL TOSTACK
ACALL PRODUCRET
/CARGA VALOR DE CORRIENTE
/POSICIÓN RO/A STACK
/CARGA VALOR DE CORRIENTE
/POSICIÓN RO/A STACK
;MULTIPLICA AMBOS VALORES
ARMÓNI
RUTINA QUE REALIZA EL ANÁLISIS DE ARMÓNICAS
The Cybernetic Micro Systenis 8051 Family Assembler, Versión 3.02 Page 37
11-03-94
,- ENTRADAS :
i dirección inicio de tabla muestras de corriente
v dirección inicio de tabla muestras de voltajev,mn dirección inicio de tabla armónicas de voltaje ••ianu dirección inicio de tabla armónicas de corrientetVidv dirección inicio distorsión armónica total volt,thdi dirección inicio del valor thd de corrienteEpd dirección inicio factor de potencia drt deapl«T¿am.
;SALIDAS:
OEOÜÜ-OEBFH ubicación tabla de armónicas de voltajeQECOH--OF7FH ubicnción tabla de antiónicas de corrienteOFBOH-OF85H ubicación dist. armónica total voltajeOFBbH-OFíiBH ubicación valor thd de corriente
/ OF9EH-OPA3H ubicación factor de potencia de desplazam.
7PROCESO:
; 1 Mueve valores de voltaje v a variable real FFT rx,- Encera valores de variable imaginaria FFT ix; Aplica algoritmo de FFT en subrutina FFT
,- Copia datos de potencia ordenada FFT a armónicos de voltaje
; Encuentra distorsión armónica total de voltaje thdv; Carga valor de fase de ler. armónico de voltaje
; Divide valores de armónicos para valor de primer armónico
; 2 Procede de igual manera pero con variables de corriente3 Resta fases de armónicos de voltaje y corriente menos el
; el de primero de voltaje, convierte fases a grados
íREGISTROS TEMPORALES
; SUHl dlf
.-CONSTANTES USADAS;
; ninguna
7VARIABLES CREADAS:
; RO cantidad de npf a copif.rbs o procesarse; R3:R2 dirección ániT-iuJ cabla fuente de copia
; A puntero de tabla para manejo de stack
; DPTR dirección inicial de tabla blanco de copia o proceso
,-SUBRUTIÍIAS UTILIZADAS
/ RAMRAM, CERO, FFT, DISTOR, FROMSTACK, COSENO, COCIENTE
; PRODUC, RESTA, REDON2, SIGNO, SQR, SUMA, TOSTACK
/REGISTROS ALTERADOS .
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 38
11-03-94
DPTR, A, Rü, Rl, R2, R3, R4, R5, R6, R7, B
ARMÓNI:299D 43D018 ORL PSW,»18H ;BANCO 3 DE REGISTROS
APLICA ALGORITMO FFT A VOLTAJE
29AO 78:30
29A2 90Q84F29A5 A3
29A6 AAB2
29A8 AB83
29AA 90QA8F
29AD A3
29AE 915C
29BO 7820
29B2 900B4F
29B5 A3
29B6 917B
29B8 9189
29BA 7810
29BC 900D2F
29BF A3
29CO AÍ..82
29C2 AB83
29C4 900E4F
29C7 A3
29C8 915C
29CA 7 £11029CO 900C6F
29CP A,'í
29DO AK:'C
¿.•ju¿ ABuj
29D4 90QDUF
29D7 A.3
29D8 915C
29DA 900D8Í-'
29DD 7810
29DF D10C
2921 900Ú29
29E4 7401
29E6 D173
29E8 7820
29EA 90090F
29ED A3
29EE AA82
29FO AB83
29F2 900A8F
29F5 A:I
ARMON1 :
MOV
MOV
INC
MOV
MOV
MOV
INC
ACALL
MOV
MOV
INC
ACALL
ACALL
MOV
MOVINC
MOV
MOV
MOV
INC
ACALL
HOV
MOV
INC
MOVMOV
MOV
IPJC
ACALL
MOV
MOV
ACALL
HOV
MOV
ACALL
, * * * * •*
ARMON2 :
WOV
MOV
INC
MOV
MOV
MOV
INC
RO , IrnunumDPTR,*vDPTR
R2,DPL
R3,DPHDPTR , 4 rx
DPTR
RAMRAM
RO , Imunuin
DPTR,#ix
DPTR
CERO
FFT
Rü,#rnuroDPTR (ff pos
DPTR
R2,DPL
R3 ( DPH
DPTR(*vfas
- DPTR
RAM RAM
RO, ttrnurnDPTR/#ppos
DPTR
R2 . DPL
R3,DPH
DPTR,tivarm
DPTR
RAMRA1-5
DPTO,SvarmFcO, iírnumDISTOR
DPTR(ftthdv
A, «01
FROMSTACK
APLICA FFT A
RO, tmunuiuDPTR ,4(1
DPTRR2 , DPL
R3 , DPH
DPTR, trxDPTR
;HAY UN
; CARGA \ VALOR I
; CARGA ]
; CARGA 1
; CARGA 1
; VALOR !
/COPIA '
;EN RO <
; UBICA '
,-DE VAR:,-PARA El
; APLICA
;SE VA ;
; DE FAS!
; LOCAL I!
; R3 : R2
,-A TABL.
;DIRECC'
/COPIA '
;SE VA ;/DE ARM'
,- LOCAL I :
7 R3 : R2
7 A TABL,
,-DIRECC
/COPIA '
; CARGA
; CALCUL.
/CARGA 1
7 A PUNTA
7 CARGA :
CORRIENTE
/HAY UN
; CARGA '
/VALOR !/CARGA :
/CARGA :
/CARGA '
/VALOR 1
;HAY UN TOTAL DE munuin MUESTRAS
/CARGA VALOR DE PRIMER DÍGITO DE PRIMER;VALOR DE TABLA DE DATOS DE VOLTAJE
/CARGA EN R2 LSB
/CARGA EN R3 MSB/CARGA VALOR DE PRIMER DÍGITO DE PRIMER
/VALOR DE TABLA DE VARIABLE REAL FFT ,
/COPIA TABLA v A TABLA rx
/EN RO CANTIDAD DE MUESTRAS Y EN DPTR
/UBICA TABLA
7DE VARIABLE IMAGINARIA FFT
/PARA ENCERARLA
/APLICA EL ALGORITMO FFT
/SE VA A COPIAR rnum VALORES
/DE FASE DE ARMÓNICAS POSITIVAS
/COPIA TABLA DE FASE ORDENADA A vfas
/COPIA TABLA DE POTENCIA ORDENADA A vann
/CARGA INICIO DE TABLA DE ARM. DE VOLTAJE
/CALCULA DISTORSIÓN ARMÓNICA TOTAL
/CARGA DIRECCIÓN VALOR DIST. ARMÓN. TOTAL V.
/APUNTA PRIMER DATO DE TABLA
/CARGA EN ESA DIRECCIÓN EL ULTIMO VALOR STACK
/HAY UN TOTAL DE munum MUESTRAS
,-CARGA VALOR DE PRIMER DÍGITO DE PRIMER
/VALOR DE TABLA DE DATOS DE CORRIENTE/CARGA EN R2 LSB
/CARGA EN R3 MSB
/CARGA VALOR DE PRIMER DÍGITO DE PRIMER
/VALOR DE TABLA DE VARIABLE REAL FFT
The Cybe>rnetic Micro Systems 8051 Feunily Assembler, Versión 3.02 Page 39
11-03-94
29FS 915C
29F8 7820
29FA 900B(IF
29FD A329FE 917B
2AOO 9189
2A02 78102A04 900DIIF
2A07 A3
2A08 AA82
2AOA AB832AOC 900EAF
2AOF A3
2A10 915C2A12 7810
2A14 900C(ÍF
2A17 A3
2A18 AA82
2A1A AB83
2A1C 900DEF
2A1F A3
2A20 915C
2A22 900DEF
2A25 78102A27 D10C
2A29 900823
2A2C 7401
2A2E D173
2A30 7810
2A32 900EAF
2A35 E8
2A3S F136
2A38 900EílF
2A3B 7401
2A3D F136
2A3F 9008;¡F
2A-12 E8
2A43 D18B2A45 9008ÍIF
2A48 7401
2A4A F136
2A4C D1CF
2A4E D1D4
2A50 ES
2A51 900EAF
2A54 D173
2A5G 900EílF
2A59 ES
2A5A F136
2A50 yOOE'lF
2A5K 7001?.*.'• i ni--',.itw Cybernet ic
ACALL
MOV
MOV
INC
ACALL
ACALL
MOV
MOV
INC
MOV"MOV
MOV
INCACALL
MOV
MOV
INCMOV
MOV
MOV
INC
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
„•*»***
PASES: MOV
FASE1: MOV
MOVACALL
MOV
MOV
ACALL
MOV
MOV •
. AC7O.LMOV
MOV
ACALL
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
Micro Systííms;
RAMRAM
RO, ÜmunumDPTR, tix
DPTR
CERO-
FFT
RO, ttrnumDPTR, ü f pos
DPTR
R2 , ÜPL
R3.DPH
ÜPTtí/ filfas
DPTR
RAMRAM
R0,#rrmmDPTR,#ppos
DPTR
R2 , DPL
R3,DPH
DPTR, it iarm
DPTRRAMRAM
DPTR,ttiarmRO , K rnumDISTOR
DPTR,*bhdi
A,*01
FROMSTACK "
/COPIA TABLA i A TABLA rx
;EN RO CANTIDAD DE MUESTRAS Y EN DPTR
/UBICA TABLA
/DE VARIABLE IMAGINARIA FFT
/PARA ENCERARLA
/APLICA EL ALGORITMO FFT
/SE VA A COPIAR rnum VALORES
/DE FASE DE ARMÓNICAS POSITIVAS
/LOCALIZADAS A PARTIR DE
;R3:R2
;A TABLA APUNTADA POR
; DIRECCIÓN ifas
/COPIA TABLA DE FASE ORDENADA A i fas
,-SE VA A COPIAR rnum VALORES
/DE ARMÓNICAS POSITIVAS
,- LOCALIZADAS A PARTIR DE
fR3-íí2
;A TABLA APUNTADA POR
/DIRECCIÓN iarm
/COPIA TABLA DE POTENCIA ORDENADA A iarm '
/CARGA INICIO DE TABLA DE ARM. CORRIENTE
/CALCULA DISTORSIÓN ARMÓNICA TOTAL
/CARGA DIRECCIÓN VALOR DIST. ARMÓN. TOTAL I.
/APUNTA PRIMER DATO DE TABLA
/ CARGA EN ESA DIRECCIÓN EL ULTIMO VALOR STACK
PASE DE VOLTAJE COMO REFERENCIA DE FASES «**.*
RO, «rnumDPTR, tifas
A,RO
TOSTACK
DPTR,tvfas
A,#l
TOSTACK
DPTR, *sum
A,RO
H2BCD
DPTR,#sumA, ül
TOSTACK
PRODOC
RESTA
A,RO
DPTR,#ifas
FROMSTACK
DPTR,#vfas
A,RO•10STACK
DPTR, «v fas
A. Bl
TOÜTACK
tíu¿l Family
;SE VA A TRABAJAR CON rnum FASES
/DIRECCIÓN DE PASE DE CORRIENTE
; ENVÍA VALOR DE PASE A STACK
/ENVÍA VALOR DE FASE DE
/FUNDAMENTAL DE VOLTAJE A STACK
/NUMERO DE ARMÓNICA A sum
/CONVIERTE NUMERO DE ARMÓNICA EN
/NPF BCD Y ALMACENA EN 3Uin
/CARGA NUMERO DE ARMÓNICA EN STACK
/MULTIPLICA PASE(l)* «ARMÓNICA
/RESTA PASE (ARM) - RESULTADO ANT.
/ENVÍA EL RESULTADO DE LA RESTA
/A DIRECCIÓN DE FASE CORRESPONDIENTE
/DIRECCIÓN FASE DE ARMÓNICAS
/ENVÍA VALOR DE FASE A STACK
; ENVÍA VALOR DE FASE DE
/FUNDAMENTAL A STACK
Assembler, Versión 3.02 Page -10
11-03-94-
2A63 90082F
2A66 7400
2AG8 F136
2A6A D1CF
2A6C D1D4
2 ASE E8
2A!5F 900E:'!F
2A72 U173
2A74 D«BC
2A76 90ÜI32F
2A73 740-3
2A7B DltíB
SA7D 90082F
2A60 7401
2A32 F136
2A04 90083Q
?.A87 7401
2AJ39 F136
2A8B D1CF
2A8D 90082F
2A90 7401
2A92 D173
2A94 7810
2A96 900E4F
2A99 E8
2A9A F136
2A9C 71AB
2A9E 900E4F
2AA1 ES
2AA2 D173
2AA4 900EAF
2AA7 E8
2AA8 F136
2AAA 71AE
2AAC 900EAF
2AAF E8
2ABO D173
2AB2 D8E2
2AB4 900EI4F
2AB7 7401
2AB9 F13S
2ABB 900EAF
2ABE 7401
2ACO F136
2AC2 D1D4
2AC4 20E020
2AC7 20E21D
2ACA 90082F
2ACD 7401
The Cybernetic
MOV
MOVACALL
ACALL
ACALL
MOV
MOV
AC.WU,
ÜJlifc
.„*,«*
MOV
MOV
ACALL
MOVMOV
ACALL
MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
MOV
FASE2 : MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
FASE3 : MOV
MOV
ACALL
ACALL
HOV
MOV
ACALL
FASE4 : DJNZ
. x * A* *
MOV
MOV
ACALL
MOV
MOV
ACALL
ACALL
JB
JB
MOV
MOV
Micro Systems
DPTR,#sum
A, «I
TQETACK
PRODUC
RESTA
A,RO
DPTR.Ívfas
FROMSTACK
RO , FASE1
CHEQUEO VALi
DPTR, KBum
A.* 4
H2BCD
DPTtl, Usuin
A.ttl
TOSTACK
UPTR, iípi2
A(#l
TOSTACK
PRODUC
DPTR,#suin
A,4tl
FROMSTACK
R0,*rnum
DPTR, #vfaBA(RO
TOSTACK
FAPI
DPTR,*vfasA,RO
FROMSTACK
DPTR, tifasA,RO
TOSTACK
FAPI
DPTR^ifas
A,RO
FROMSTACK
RU , FASJ22
CALCULA FPD
DPTR, tí vf as
A,*l
TOSTACK
DPTR, tifas
A,#l
TOSTACK
RESTA
ACC . 0 , FPD1
ACC.2,PPD1
DPTR,#sumA, #01
8051 Family i
;ENVÍA NUMERO DE ARMÓNICA A STACK
;MULTIPLICA FASE(l) * U ARM
,-RESTA FASE(ARM) - RESULT, ANT,
;ENVÍA RESULTADO A DIRECCIÓN
;DE FASE CORRESPONDIENTE
/CONTINUA CON TODAS LAS ARMÓNICAS
; ENVÍA NUMERO -i A sutn
;Y A STACK
;ENVÍA PI/2 A STACK
/MULTIPLICA 4 * PI/2
;ENVÍA RESULTADO (2-PI) A sum
;PARA CHEQUEAR QUE NO EXISTAN
/ÁNGULOS > 2*PI
;RO LLEVA LA CUENTA DE ÁNGULOS
íCHEQUEA PRIMERO FASES DE V.
;DEJA ÁNGULO ENTRE -PI Y PI
/ÁNGULO EQUIVALENTE
,-Y CÁRGALO EN VALOR DE FASE
7CORRESPONDIENTE
;CHEQUEA AHORA FASES DE I.
ANGÜNLO ENTRE -PI Y PI
jAHGULO EQUIVALENTE
;V CÁRGALO EM VALOR DE FASE
;CHEQUEA TODAS ARMÓNICAS
;CARGA EN STACK
;EL VALOR DE FACE DEL
;PRTMFr. ARMÓNICO DE VOLTAJE
,-Y FASE DE PRIMER ARMÓNICO DE CORRIENTE
/RESTA FASE VOLTAJE - FASE CORRIENTE
,-SALTA A FPD1 SI RESTA ES CERO, ES DECIR,
;SI fpd=l
/SI NO LO ES
;ALMACENA RESULTADO EN SUM
;mbler, Versión 3.02 Page 41
11-03-94
2ACF
2AD1
2AD4
2AD62AD8
2 ADA
2ADD
2ADF
2AE12AE3
2AE5
2AE7
2AE9
2AEB
2AEE
2AFO
2AF2
2AF5
2AF7
2AF9
2AFB
2AFE
2AFF
2B012B04
2BOS
2B08
2BOA
2BOD
2BOF
2B11
2B13
2D15
2B18
2B19
2B1B
281E
2B1F
2B21
2B2'1
2B26
2 Olí*
j B '¿ ¡\D
2B2F
2B312BJ3
2B35
2B38
2B39
2B3B
D173
90082P
7¿01
F136
D164
90082F
7401
F136
F122
D1CF8002
D164
D1D9
900811
7401
D173
90082 F
74 5A
D18B
7810
900E4F£¡8
F136SI0082F
7401
I'136
EUCF
EI0083B
7401
T136
015 F
D1D9
SIOOE4F
E8
0173
ÍÍOOEAP
I!8
F136
90G82F
'/401
FIJO
IM'.T
'JOUti ífc
7-101
F13G
Dlbi-'
D1D9
900EAF
E8
D173
D8BE
ACALi.
MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
ACALL
ACALL
SOMP
FPD1 : ACALL
FPD2 : ACALL
MOVMOV
. ACALL
.****»-
MOV
MOV
ACALL
MOV
GRADO: MOVMOV
ACALL
MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV '
ACALL
MOV
MOV
ACALL
AfALL
Í-50V
MOV
ACALL
ACALL
ACALL
MOV
MOV
ACALL
DJNZ
KUOMSU'ACK
DPTR,*sum
A, #01
TOSTACK
COSENO
DPTR,#sUni
A, #01
TOSTACK
SIGNO
PRODUC
FPD2
COSENO
REDON2
DPTR,*fpd
A, #01
FROMSTACK
ÁNGULOS EN
DPTR, tBUm
A, #90H2BCD
RO^tírnumDPTRíifvfna
A,RO
TOSTACK
DPTR, #surn
A,*l
TOSTACK
PRODUC
DPTR,#pÍ2
A,*l
TOSTACK
COCIENTE
REDON2
DPTR.Kvfas
A,RO
FROMSTACK
DPTR,#ifas
A,RO
TOSTACK
DPTR,#suii¡
A,#l
TOSTACK
PRODUC
DPTR, *pi2
A.ttl
TOSTACK
COCIENTE
REDON2
DPTR,#i£asA,RO
FROMSTACK
RO , GRADO
;OBTIENE COSENO DE RESTA DE PASES
-t: SIGNO
;DE RESTA DE FASES
,-MULTIPLICA AMBOS
,-SALTA A PPD2
/OBTIENE COSENO DE RESTA DE FASES
/APROXIMA A SEGUNDO DECIMAL
/CARGA VALOR OBTENIDO CORRESP.
/FACTOR DE POTENCIA DE DESPLAZAM.
;DE STACK A LOCALIZACION fpd
;A sum EL NUMERO 90 DECIMAL
/SE TRABAJARA CON rnum FASES
íEMPEZANDO POR FASES DE VOLTAJE
;ENVÍA FASE A STACK
jENVÍA 90 A STACK
/MULTIPLICA FASE x 90
/ENVÍA PI/2 A STACK
;PARA DIVIDIR RESULTADO ANTERIOR
/ENTRE PI/2 PARA OBTENER FASE
/APROXIMA A 2 DECIMALES
7EN GRADOS, A ESTE RESULTADO, GUARDA
/EN DIRECCIÓN DE FASE CORRESPOND.
;AHORA CON FASES DE CORRIENTE
/ENVÍA FASE A STACK
/ENVÍA 90 A STACK
/MULTIPLICA FASE x 90
/ENVÍA PI/2 A STACK
;PARA DIVIDIR RESULTADO AWTÍ2KIOR
;ENTRE PI/2 PARA OBTÜtíttR FASE J¿N GRADOS
;APROXIMA A 2 DECIMALES
/A ESTE RESULTADO, GUARDA
/EN DIRECCIÓN DE FASE CORRESPOND.
The Cybernetic Micro Systüíiis 8051 Faraily Assembler, Versión 3.02 Paye -12
MÓDULOS COMO PORCENTAJES
2BJD «J0033S
2B4Ü 74tí42B-Í2 D18B
2B44 7810
2346 182B47 900D8F
2B4A E8
2B4B 04
2B4C F136
2B4E 900DflF
2B51 7401
2B53 F136
2B55 D15P
2B57 20E115 .
2B5A 20E3122B5D 900835
2B60 7401
2B62 F136
2B64 D1CF2B66 900D3P
2B69 E8
2B6A Oí2B6B D173
2B6D 8007
2B6F 90082F
2B72 7401
2B74 D173
2B76 900DEF
2B79 E8
2B7A 04
2B7B F136
2B7D 900DEF2B80 7401
2B82 F136
2B84 D15P2B86 20E115
2B89 20E312
2B8C 900835
2B8F 7401
2B91 F136
2B93 D1CF
2B95 900DEF
2B98 E8
2B99 04
2B9A D173
2B9C 8007
2B9E 90082F
2BA1 7401
2BA3 D173
2BA5 D8AO
2BA7 53DOE7
2BAA 22
MOV
MOV
ACALL
MOV
DEC
MOD2 ; MOV
MOV
INC
ACALL
MOV
MOV
ACALL
ACALL
JB
JB
MOV
MOV
ACALL
ACALLMOV
MOV
INC
ACALL
EJMP
MOD%2 : MOV
MOV
ACALL
MOD%3 : MOV
MOV
INC
ACALL
MOVMOV
ACALL
ACALLJE
JB
MOVMOV
ACALL
ACALL
MOV
MOV
INCACALL
SJMP
MOD34 : MOV
MOV
ACALL
MOD%5 r DJNZ
ANL
RET
DPTR, #dif
A(ülOO
H2BCD
RQjBrnuKi
RO
DPTR, ftvarm
A(RO
A
TO STACK
DPTR,*varm
A,#lTO STACK
COCIENTE
ACC.1/MOD%2
ACC.3/MOD%2
DPTR.tdif
A,«l
TOSTACK
PRODUC
DP'DÍ, *varinA,ROA
S-'ROMSTACK
MOD13
DPTR, tí sum
A/*l
FROM STACK
DPTRi » larra
A,RO
A
TOSTACK
DPTR,#iarmA,*l
TOCTACK
COCIENTEACC.1,MOD%4
ACC.3,MODS4
DPTR,*dif
A,ttl
TOSTACK
PRODUC
DPTR,#iarm
A,RO
A
FROM STACK
MODS5
DPTR, *sum
A,#l
FROM STACKRO,MOD%
PSW,*OE7H
;ALMACENA EN dif
;100 CONVERTIDO EN BCD
;RO LLEVA LA CUENTA DE ARMÓNICAS
rCARGA ARMÓNICO RO+1 EN STACK
/CARGA ARMÓNICO (ti EN STACK
/SALTA SI EXISTE OVERFLOW
;SALTA SI DIVISIÓN/CERO
;CARGA 100 EN STACK
; Y MULTIPLICA PARA EXPRESAR COMO
/CARGA ARMÓNICO RO+1 EN STACK
/GUARDA RESULTADO EN varm
/ALMACENA EN suin RESULTADO OBSOLETO
/CARGA ARMÓNICO RO+1 EN STACK
;CARGA ARMÓNICO tíl EN STACK
/SALTA SI EXISTE OVERFLOW
/SALTA SI DIVISIÓN/CERO
;CARGA 100 EN STACK
/Y MULTIPLICA PARA EXPRESAR COMO
/CARGA ARMÓNICO RO+1 EN STACK
;GUARDA RESULTADO EN iarm
,-ALMACENA EN sum RESULTADO OBSOLETO
/TRABAJA CON BANCO CERO DE REGISTROS
The Cybernetic Micro Systems 6051 Family Assembler, Versión 3.02 Page 43
11-03-94
0UBRUTINAS DE ARMÓN!
2BAB 9 008 2 F
2BAE 7401
2BBO F136
2BB2 D15F
2BB4 9006J5
2BB7 7401
2BB9 D173
2BBB 90083S
2BBK A.J
2P.H' Ai
. . ! • ' - .s •
3BC1 A3
2BC2 A3
2BC3 A3
2BC-Í EO
•¿BC5 C3
2BC6 948'J
2BC8 5013
2BCA 900833
2BCD 7401
28CF F136
UBD1 90062?
211D4 7401
2BD6 F136
2BD8 D1CF
2BDA S01B
2BDC 9008352BDF 7401
2BE1 F136"
2BE3 9008352BE6 7401
2BE8 F136
2BEA D16E
2BEC D1D4
2BEE 90082F
2BF1 7401
2BF3 F136
2BF5 D1CF
2BF7 900G35
2BFA 74012BFC DI 7 3
2BFE 90083B
2C01 7401
2C03 F136
2C05 90083B
2C08 7401
2COA F1362COC F12C
2COE 900835
2C11 7401
2C13 F136
The Cybernetic
5-' API: MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
MOV
J.HCHlC
INC
i ríeI NCincHOVX
CLRSUBB
JNC
MOV
MOV
ACALL
MOV
WOV
ACALL
ACALL
SJMP
FAPIA; MOVMOV
ACALL
MOVMOV
ACALL
ACALL
ACALL
MOV
MOVACALL
ACALL
FAPIB: MOV
MOV
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALLACALL
MOV
MOV
ACALL
Micro SysbemB
DPTR.fcaum
A lí"\ W i
TOSTACK
COCIENTE
DPTR, «dif
A, #1FROM STACK
DPTR,#díf
DPTR
DPTRDPTR
DPTR
DPTR
UPTfi
A, 0 DPTR
C
A, íífílHFAPIA
DPTR, ftdif
A, S1
TOSTACK
DPTÍí, üuuiit
A, «01
TOSTACK
PRODUC
FAPIB
DPTR,»dífA, XI
TOSTACK
DPTR,*di£A,*l
TOSTACK
ENTERO
RESTA
DPTR,*sum
A, KOI
TOSTACKPRODUC
DPTR.ídif
A,tt01
FROH STACK
DPTR,típi2A, «1
TOSTACK
DPTR,*pÍ2
A^Kl
TOSTACKSUMA
DPTR,*díf
A, #01
TOSTACK
8051 Famil;
,-DIVIDE FASE / (2 * PI)
;RESULTADO A dif
;APUNTA A EXPONENTE
;DE dif
;EXPONENTE A ACUMULADOR
;RESTA MENOS S1H
;SI EXP.O1H, SIGUE
;RETORNA dif A STACK
;ENVÍA suiu (2*PI) A STACK
;MULTIPLICA PARA ENCONTRAR
;NUMERO ORIGINAL Y SIGUE
;RESULTADO A STACK
;2 VECES Y OBTIENE
/VALOR ENTERO DE ULTIMO
/RESTA PARA OBTENER DECIMAL
;ENVIA sum (2»PI) A STACK
/MULTIPLICA PARA ENCONTRAR
/ALMACENA AHGU1X) ENTRE
;-2PI Y 2PI EN dif
;ENVÍA PI/2 A STACK
; EN VI A PI/2 A STACK
/POR SEGUNDA OCASIÓN
PI EN STACK
/ÁNGULO A STACK
Page 44
11-03-94
2C15
2C172C19
2C1C2C1E
2C20
2C23
2C25
2C26
2C28
2C292C2B
2C2D
2C30
2C32
2C34
2C3S
2C39
2C3B
2C3D
2C3F
2C41
2C44
2C46
2C48
2C4A
2C4D
2C4F
2C51
2C53
2C54
2C57
2C59
2C5B
D14CD1D4
900811
7401D173
900811
7F05
A3
DFFD
EO
54016027
900811
7401F136
F122900835
7401F13S
F122
D1CF90082F
7401
F136D1CF
900835
7401F136
F12C
22
900835
7401
F136
22
ACALL
ACALL
MOV
' MOVACALL
MOV
MOV
FASGN: INC '
DJNZ
MOVX
ANL
J2
MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
ACALL
ACALL
MOV
MOV
ACALL
ACALL
MOVMOVACALL
ACALL
RET
FAPOS: MOVMOV
ACALL
RET
ABSOL
RESTA
DPTR, #fpd
A/#l
FROMSTACK
DPTR, ft fpd
R7,t5
DPTR
R7, FASGN
A, 8DPTR
A,*01FAPOS
DPTR,*fpd
A,#lTO STACK
SIGNO
DPTR.,«dif
A, til
TO STACK
SIGNO
PRODUC
DPTR, #sum
A,»lTO STACK
PRODUC
DPTR,tdif
A,#lTO STACK
SUMA
DPTR, IdifA,fl '
TO STACK
/SACA VALOR ABSOLUTO;RESTA PI-ABSfÁNGULO)
; ENVÍA REBUJ/TiaDO A
/UBICA PUNTERO EN LOCALIZACION
/DE MEMORIA CORRESPONDIENTE AL
/SIGNO DE fpd
/TRAE SIGNO DE fpd AL ACUMULADOR
/AISLA EL BIT DEL SIGNO
/SALTA SI BUm ES POSITIVO
/VALOR DE DIFERENCIA DE PI-ANG
/A STACK
;SACA SIGNO (SIEMPRE -1}/PROCEDE DE MANERA SIMILAR CON
/ÁNGULO EN DIF PARA INVERTIR
/SU SIGNO
;LO QUE SE OBTIENE
/MULTIPLICANDO -1*SGN(ÁNGULO)
/AHORA ESTE SIGNO ASIGNA A
,-2PI (QUE ESTA EN sum)
;TRAE ÁNGULO A STACK
/QUE SUMADO A +/- 2PI
/DA EL ÁNGULO REQUERIDO
;YA PUEDE REGRESAR
,-VALOR RESULTADO A STACK;REGRESA
; KlU'RADAS :
RO cantidad de valores en punto flotante
R3:R2 dirección primer valor del primer dato entrada
,• DPTR dirección primer dato de salida
/CALIDAS:
Direcciones ¿JDPTR - GDPTR-t-RO-1 ocupadas con nuevo*,- datos
/PROCESO:
Carga DPTR en R5;R4, se carga en DPTR R3:R2,
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 45
11-03-94
; por 5 ocasiones (equivalentes a 6 dígitos por número
; en punco flotante) se copia, la dirección en ruin apuntada
; por DPTR. al acumulador, se carga en DPTR la dirección R5:R4
; y se almacena valor del acumulador en esa dirección,
; se incrementan las direcciones R3:R2 y R5:R4.
; Se repite haota que ya no falten más números (R0=0)
;COMSTANTES USADAS:
ninguna
;VARIABLES CREADAS:
; A registro del valor de tabla a copiarse; RO número de datos a procesarse,- R'.l contador de i t«raeiones para npf
R'í:R2 puntero dts Labia de valores de entradaííi>:Ha puntero de tabl¿i ¿u valones do salida
,- OP'I'K puntero paca moveí valoi.'Híi desde y hacia el acumulador
;SUBRUTINAS USADAS
; ninguna
/REGISTROS ALTERADOS
; DPTR, A, RO, Rl, K2, R3, R<1, R5
RAMRAM:
2 CSC
2C5E
2C60
2C62
2C64
2CS6
2C67
2C69
2C6B
2C6C
2C6D
2C6E
2C70
2C71
2C72
2C73
2C7S
2C76
2C78
2C7A
AD83
AC82
7906
8B83
8A82
EO
8D83
8C82
FO
OA
EA
7001DB
OC
EC7001
OD
D9EA
D8E6
22
MOV
MOV
RAM1 : MOV
RAM2 : MOV
MOV
MOVX
MOVMOV
MOVX
INC
MOV
JHZ
INC
RAM3 : INC
MOV
JNZ
INCRAM4:' DJN2
DJN'¿
RET
R5,DPH
R4,DPL
Rl,*06
DPH,R3'
DPL,R2A, QDPTR
DPH,R5
DPL,R4
6DPTR , A
R2
A,R2
RAM3
R3
R4
A,R4
RAM 4
R5
R1,RAM2
RO.RAM1
;COPIA R0*6 LOCALIDADES DE R3:R2 A R5:R4
7COPIA DPTR A R5:R4
/CUENTA 6 ITERACIONES POR HUMERO EN PUNTO
,-FLOTANTE (NPF)
/CARGA LOCALIDAD R3:R2 DE RAM A ACC.
,-ALMACENA ACC. EN LOCALIDAD R5:R4 DE RAM
/INCREMENTA PUNTERO
/DIRECCIÓN ENTRADA
,-R3:R2
,-INCREMENTA PUNTERO
/DIRECCIÓN DE SALIDA
/RS:R4
;REPITE 6 VECES EL PROCESO
;Y CONTINUA CON LOS DEMÁS NÚMEROS
* * ii * * CERO *****
The Cybernetic Micro Systems 8051 Family Assembler, Veroion 3.02 Page 46
11-03-94
1 ENTRADAS:
; RO cantidad ¿je ijp£=0; DPTR dirección primer valor del primer dato entrada
íSALIDAS;
; ninguna
/PROCESO:
; Por 6 ocasiones (equivalentes a 6 dígitos por número/ en punto flotante) ge copia a la dirección en ram apuntada; por DPTR un cero.; Se repite hasta que ya no falten más números (R0=0)
/CONSTANTES USADAS:
; ninguna
/VARIABLES CREADAS:
; A ceroRO número de datos a procesarse
Rl contador iteraciones para npf; DPTR puntero para mover valores desde y hacia el acumulador
,-SUBRUTINAS USADAS
; ninguna
/REGISTROS ALTERADOS
DPTR, A, RO, Rl
2C7Ü
j ",' \j
2C7F2C80
2C81
2C83
2CG15
'."•»0t
•;...,sFUAJ
D9FAD8FC22
CEftO :
OERO1 ; MOV
OHK02 : HUv/
MÜVX
INC
130 H2
0-iMK
RET
Rl/t t06
A , # 0 0ODPTR.ADPTR
Ftl(CER02RO.CER01
;ENGERÍ, ix
,-CÜENTA 6 ITERACIONES POR HUMERO EN PUNTO/FLOTANTE (HPP)
;CARGA UN CERO A ODP'l'K DH RAM
/REPITE & VECES EL PkOCHJSU;Y CONTINUA CON LOS DEMÁS NÚMEROS
;ENTRADAS:
; rx dirección inicio datos onda a ser tratadaThe Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 47
11-03-94
£ord
dirección inicio cerodirección inicio datos de potencia ordenadosdirección inicio datos de fase ordenados
ulit'üH-üCVFJ! ubicación datos de potencia ordenados,- OCÜCH-ODFPH ubicación datos de fase ordenados
;PROCESO:
j i Aplica algoritmo de transformada rápida de Fourier; 2 Da notación de armónicos como módulo y fase
3 Ordena armónicos
,-REGISTROG TEMPORALES:
; surn dif
jCOHSTANTES USADAS-.
; nx valores de <K> ordenadosrar valores de WA<K> reales
; ir valores de Hrt<K> imaginarios; pi2 valor de pi/2; k2 k2 número de valores Wrt<k>
VARIABLES USADAS:
; A variable de propósito generalpuntero tabla para manejo del sfcack (LAZOK., FFT2, FFT3 ¡
; RÜ índice laso ascendente {maneja vectoreo rr e ir); número de datos a procesarse en FFT2, FFT3; Fíl Índice que manto tt vectores rx e ix; R2 índice que maneja vectores rx e ix,- R3 variable iterativa que maneja R2 y R6; R4 variable iterativa que maneja RO,- R5 índice lazo descendente,- R6 índice lazo descendente; DPTR dirección inicia) í-. Lias a manejarse con stack
SUBRUTINAS USADAS:
LAZOK, MODULO, FASE, ATAN, COCIENl-E, FROMSTACK, PRODUC,; RESTA, 3QR, SUMA, TOSTACK
; REGISTROS ALTERADOS:
DPTR, A, E, RO, Rl, R2, R3, R4, R5, R6, R7
2C86 43D018 ORL PSW,*18H rPARA PROBAR MODULO INDEPENDIENTEMENTE
2C89 7B10 FFT: MOV R3 , *rnum ;R3<-K
2C8B 7C01 MOV R4,*01 ;R4<-NGRUPO2C8D 7D05 MOV R5,*mulog ;LA2O DESCENDENTE R5<-KITER
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 48
11-03-94
2C8F
2C91
2C93
2C94
2C95
2C96
2C97
2C98
2C9A
2C9C
2C9D
2C9E
2C9F
2 CAO
2CA2
2CA3
2CA4
2 CAS
2 CAS
2CA7
2CA8
2CA9
2 CAÁ
2CAC
2 CAE
2CBO
2CB2
2 CBS
2CB6
2CB8
2CBB
2CBC
2CBE
2 CCO2CC2
2CC5
2CC6
2CC8
•¿CCB
3CCC
¿CCD
;<.'!•'.'-íCbá
3CDi>
2CD6
2CD8
2CDB
2CDC
1£CDD
2 CEO
2CE2
2CE-1
7AOO
7801
EA
F9
EB
FE
0991E5
DEFB
C3
E8
08
9C
70F1
C3
EC
33
FC
C3
EB
13FB
DDE3
7820
B187
B1BA
900B<IF
E8
D173
900AEÍF
E8D173
D8EE
7820
90QAÍ1F
£8
F13G
9033PP
ES93
900CGP
D!7J
yOOBlK
128F136
9033DF
E393900CCF
D173
D8DE
22
KITER: MOV
MOV
KNGRUP:
MOV
MOV
MOV
KIISY: INC
ACALL
DJNZ
CLR
MOV
INC
SUBE
JNZ,CLR
MOV
RLC
MOV
CLR
MOV
RRC
MOV
DJNZ
FFT2 : MOV
POT: ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
DJNZ
FFT3 : MOV
ORDEN: MOV
MOV
ACALL
MOV
MOV
MOVC
MOV
ACALL
MOV
MOV
ACALL
MOV
MOV
JMOVC
MOV
ACALL
DJNH
RET
R2,)IOO
R0,*01
MOV A,R2
R1,A
A,R3
R6,A
Rl
LA20K
R6,KNSY
CA,RO
RO
A,R4
KNGRUP
C
A,R4
AR4,A
C
A,R3
A
R3(A
R5 , KITER
RO, tmunum
MODULO
FASE
DPTR, tix
A,RO
FROMSTACK
DPTR,í(rx
A,RO
FROMSTACK
RO, POT
R0,,lmunuinDPTR, trie
A,RO
TOSTACK
DPTR,»nxA , RO
A.DA+DPTR
DPO'R.ttpord
KltüMSTACK
DPTR , * ix
A.RO
'J-OSTACK
DPTR. iinx
A, HO
A^WAn-DPTR
DPTR, üford
FROMSTACK
RO , ORDEN
;LAZO ASCENDENTE RO<-KNGRUP
;LA2O DESCENDENTE R6<-KNSY
;APLICA ALGORITMO A CADA ITERACIÓN
,-CIERRA EL LAZO KNSY
; CIERRA EL LAZO KNGRUP
,-NGRUPO=NGRUPO*2
; CIERRA LAZO KITER
/HALLA MODULO DE ARMÓNICA
; HALLA FASE DE ARMÓNICA
7 VALOR DE FASE A IX (RO)
j POTENCIA A RX(RÜ)
/VALOR DE POTENCIA A STACK
7MSB DE DIRECCIÓN DE NX A DPH
/LSB DE DIRECCIÓN DE NX A ACUMULADOR
/TRAE VALOR DE WX A ACUMULADOR
/ALMACENA VALOR DE POTENCIA ORDENADO
;VALOR DE FASE A STACK
7MSB DE DIRECCIÓN DE MX A DPH
/LSB DE DIRECCIÓN DE NX A ACUMULADOR
;TRAE VALOR DE NX A ACUMULADOR
/ALMACENA VALOR DE FASE ORDENADO
.***** SÜBRUTINAS UTILIZADAS POR FFT ***•* +Tlie Cybernetic Micro Sysfcems 8051 Family Asserabler, Versión 3.02 Page 49
11-03-94
2CE5 £9
2CE6 2B
2 CE 7 PA
2CE8 9009CP
2CEB E8
2CEC F13G
2CEE 900B4F
2CP1 EA
2CF2 F13ÍÍ2CP4 DlCJj1
2CF6 900A2F
2CF9 E8
2CFA F13I3
2CFC 900A8F
2CFF EA
2DOO F13Ó
2 DO 2 D1CP
2 DO í F12C
2D06 90032F
2D09 7401
2 DOS D17.3
2DOD 9009CF
2D10 E8
2D11 F136
2D13 900A8F2D16 EA
2D17 F136
2 DI 9 D1CF
2 DIB 900A2F2D1E E8
2D1F F136
2D21 900B4F2D24 EA
2D25 F136
2D27 D1CF
2D29 D1D4
2D2B 900835
2D2E 7401
2D30 DI 7.3
2D32 900A8F
2D35 E9
2D36 F136
2D38 900335
2D3B 7401
2D3D F13S
2D3F D1D4
2D41 900A8F
2D44 EA
2D45 D17-3
2D47 900B4F
2D4A E9
2D4B F136
2D4D 900B2F
Tha Cybernet ic
LA'ZOK: MOV
ADD
MOV
MOV
MOVACALL
MOV
MOVACALLACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
ACALL
ACALL
MOV
MOV
ACALL
MOVMOV
ACALL
MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
ACALL
ACALL
MOV
MOV
ACALLMOV
MOV
ACALLMOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
MOV
Micro Sysbems
A,R1A,R3R2,A
DPTR,ürar
A,ROTOSTACK
DPTR(#ix
A,R2TOSTACKPRODUC
DPTR ,# irA,RO
TOSTACK
DPTR , * rx
A,R2
TOSTACK
PRODUC
SUMA
DPTR, -Usuro
A,*01
FfíOMSTACK
DPTR, tirarA,ROTOSTACK
DPTR,*rx
A,R2
TOSTACK
PRODUC
DPTR,*ir
A,RO
TOSTACK
DPTH , * i-x
A,R2
TOSTACK
PRODUC
RESTA
DPTR,*dif '
A,*01
FROMSTACK
DPTR,#rx
A(R1
TOSTACK
DPTR,*ai£A,*01
TOSTACK
RESTA
DPTR,*rx
A,R2
FROMSTACK
DPTR.tix
A,R1
TOSTACK
DPTR,*3Uin
8051 Family
,-DIRECCION INICIAL RAR EN DPTR
;KNGRUP EN ACUMULADOR
; ENVÍA RAR(KNGRUP) A STACK
; ENVÍA IX (R2) A STACK
,-MULTlPLICA RAR'(KNGRUPJ*IX.(R2)
;ENVIA IR(KNGRUP) A STACK
; ENVÍA RX(R2) A STACK
/MULTIPLICA IR(KNGRUP)*RX(R2)
,- SUMA DOS PRODUCTOS ANTERIORES
/SACA SUMA PARCIAL DE STACK
;Y ALMACENA EN LOCALIZACION
;Í)ÜM DE MEMORIA
;ENVIA RAR(KÍJGRUP) A STACK
; ENVÍA P.:C(R2) A STACK
,-MüLTlPLICA LOS DOS VALORES
/ENVÍA IR(KNGRUP) A STACK
/ENVÍA IX (R2) A STACK
/MULTIPLICA DOS ÚLTIMOS VALORES
,-RESTA DOS PRODUCTOS ANTERIORES
;SACA RESTA PARCIAL DE STACK
;Y ALMACENA EN LOCALIZACION
;DIF DE MEMORIA
/ENVÍA RX(R1) A STACK
/ENVÍA DIF A STACK
/RESTA PARA HALLAR RX(R2)
/ALMACENA RESULTADO EN MEMORIA
/ENVÍA IX (Rl) A STACK
Aasembler, Versión 3.02 Page 50
11-03-91
2D50 7-101
2D52 F136
2Db<l D1D4
2D56 900B4F
2DS3 EA
7.D5A D173
2D5C 900A8F
2D5P E9
2D60 F136
2D62 900835
2D65 7401
2D67 F136
2D69 F12C
2D6B 900A8F
2D6E E9
2D6F D173
2D71 900B4F
2D74 E9
2D75 F136
2D77 90082F
2D7A 7401
2D7C F136
2D7E F12C
2D80 ÍJOOIHF2D83 E9
2D84 DI 73
2D86 22
2D87 7902
2D89 900A8F
2D8C E8
2D8D F136
2D8F D9F8
2D91 D1CF
2D93 7902
2D95 900B4F
2D98 E8
2D99 F136
2D9B D9F8
2D9D D1CF2D9F F12G
2DA1 F127
2DA3 9008(172DA6 7401
2DA8 F136
2DAA 9008111
2DAD 7401
2 DA!1 F136
2DB1 D1CP
2DB3 F127
2DB5 D15F
2DB7 D1D9
2DB9 22
MOV
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
RET
MODULO :
IPOT: MOV
MOV
ACALL
DJNZ
ACALL
MOV
IPOTl : MOV
MOV
ACALL
DJNZ
ACALL
ACALL
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
ACALL
ACALL
ACALL
ACALL
RET
A, ÜOI
.TOSTACK
RESTA
DPTR , * ixA,R3
FROMSTACK
DPTR,*rx
A,R1
TOSTACK
DPTR.tdif
A, #01
TOSTACK
SUMA
DPTR,#rxA,R1
FROMSTACK
DPTR(#ix
A,R1
TOSTACK
DPTR,#BUHl
A,#01
TOSTACK
SUMA
DPTR, ir ix
A.R1
FROMSTACK
MOV Rl,#02
DPTRjtrxA,RO
TOSTACK
R1,IPOT
PRODÜC '
Rl.fí/2
DPTR,*ix
A,RO
TOSTACK
Rl , IPOTl
PRODÜC
SUMA
SQR
DPTRf*k2A, #01
TOSTACK
DPTR,#klA, #01
TOSTACK
PRODÜC
SQR
COCIENTE
REDON2
;SÜM A STACK
; HALLA ix{R2)
; ALMACENA RESULTADO EN MEMORIA
; ENVÍA RX(R1) A STACK
/ENVÍA DIF A STACK
/RESTA PARA HALLAR RX(R1)
jALMACENA RESULTADO EN MEMORIA
; ENVÍA IX (Rl) A STACK
;SUM A STACK
/HALLA IX (Rl)
,-ALMACENA RESULTADO EN MEMORIA
/ENVÍA RX(RO) A STACK
/DOS VECES
/MULTIPLICA PARA HALLAR RX(RO)"2
/ENVÍA IX (RO) A STACK
/DOS VECES
/MULTIPLICA PARA HALLAR RX(RO)^2
/SUMA ELEMENTOS COMPLEJOS
jY SACA RAÍZ CUADRADA = POTENCIA
/CARGA A STACK
/VALOR DE k2
/CARGA A STACK
/VALOR DE kl
/PRODUCTO kl-k2
/SACADO LA RAÍZ CUADRADA
/Y DIVIDIDO DE POTENCIA DA RMS
/APROXIMA A SEGUNDO DECIMAL
The Cybernotic Micro SystemB 8051 Family Assembler, Versión 3.02 Page 51
11-03-94
2 DBA
2DBD
2DBE
2DCO
2DC3
2DC4
2DC62DC8
2DCB
2DCE
2DDO
2DD3
2DD4
2DDS
2DD9
2DDB
2DDD
2DEO
2DE2
2DE3
2 DES
2DE6
2 DES
2 DEA
2DED
2DEF
2DF1
2DF4
2DF6
2DF8
2DFA
2DFC
2DFD
2EOO
2E02
2E04
2E072E09
2EOB
900B4F
E8
F136
900A8FES '
F13f¡
D15K
20EJ32
20E;¡2F
DIS:L900JV8F
E8
F13I)
900Ü2F
740:1
Di?:t900D2F
7FOÍJ.
A3
DFFD
EO5401
6(m
90083B
7401
F136
90083B
7401
P136
F12C
F12G
22
900ÍI2F
740:1D17;i
900ÍI3B
74011
F13 <!
22
FASE : MOV
MOV
ACALL
MOV |
MOV '
ACALL ;
ACALL I
JE
JB
ACALL
MOVMOV
ACALL
MOV
MOV
ACALL
MOV
MOV
RXSGN; INC
DJNZ
MOVXANL
JZ .
MOVMOV
ACALL
MOV
MOV
ACALL .
. ACALL
ACALL
RXPOS: RET
INFIN: MOV
MOV
ACALL
MOV
MOV
ACALL
RET
DPTR,*ix
A,RO
TOSTACK
DPTR,trx •
A^RO :OX)STACK
COCIENTEACC.l, INFIN
ACC.3(INFIN
ATAN
. DPTR,*rx
A,RO
TOSTACK
DPTR,*sum
A, ttl
FROMSTACK
DPTR,ifsuin
RV , *5
DPTR
: R7, RXSGN
A, QDPTR, A,*01
. RXPOS
' DPTR,#pi2
; A,#OI: TOSTACK
; DPTR,tpÍ2
'-A/'tOl
TOSTACK
BOMA
SUMA
DPTR, #sum"A.K01
FROMSTACK
, DPTR,*pi2
A,*01HTOSTACK
;ENVÍA IX(RO) A STACK
/ENVÍA RX(RO) A STACK
,-HALLA IX(ROJ/RX(RO); SALTA SI EXISTE OVERFLOW
;SALTA SI DIVISIÓN PARA CERO
;SACA EL ARCO TANGENTE DE LA DIVISIÓN
;ENVÍA rx(RO) A STACK
;Y LUEGO A sunt
/UBICA PUNTERO EN LOCALIZACION
;DE MEMORIA CORRESPONDIENTE AL
,-SIGNO DE aun
7TRAE SIGNO DE eum AL ACUMULADOR/AISLA EL BIT DEL SIGNO
?S*Vrr. SI aum ES POSITIVO
;COMO rx ES NEGATIVO, ENTONCES
;CARGA 2 VECES PI/2
;PARA QUE EL ÁNGULO SEA SUMADO A
,-PI RADIANES
;SACA DE STACK RESULTADO
;NO VALIDO
;PI/2 A STACK
; -*,^*« DISTOR *****
I ENTRADAS:
,- RO cantidad de npf a procesarae
; DPTR . dirección primer valor del primer dato entrada
/SALIDAS:
/ Distorsión armónica total de la señal procesada en atack
7PROCESO:
; Decrementa en 1 a DPTR, carga el primer dato a stack,
The CybQrnetic Micro Systems 8051 Family Asaembler, Veréion 3.02 Page 52
11-03-94
; carga el segundo dato y lo eleva al cuadrado, carga los
; demás datos elevándolos al cuadrado y sumándolos al anterior
; Saca la raíz cuadrada de la sumatoria y divide este
/ resultado para el primer dato (ya almacenado)
;CONSTANTES USADAS;
ninguna
¡VARIABLES CREADAS:
,- DPTR indica dirección inicial de tabla
; A puntero de datos en tabla
R'.l número de datos procesados
,- f<2 contador que eleva valor al cuadrado
; SUBRUTÍINAS USADAS
/ COCIENTE, PRODUC, SQR, SUMA, TOSTÁCK
;REGISTROS ALTERADOS
DPTR, ?., Rl, R2
2EOC 7902
2EOE C083
2E10 C082
3E12 7A02
2E14 D082
2E16 D083
2E18 C083
2E1A C082,
2E1C E9
2E1D F1362E1F DAF3
2E21 D1CF
2E23 7AO;¡
2E25 09
2E26 D082
2E28 DO 8:-:
2E2A C083
2E2C C082
2E2E E9
2E2F F136
2E31 DAF3
2E33 DICE1
2E35 F12C
2E37 C32E38 E9
2E39 98
2E3A 70E7
2E3C F127
2E3E D082
2E40 D083
2E42 7901
The Cybernetic
DISTOR:
PUSHPUSH
MOV
DIS1: POP .POP
PUSH
PUSH
MOV
ACALL
DJN2
ACALL
DIS2 : MOV
INC
DI 83: POPPOP
PUSH
PÜGH
MOV
ACALL
DJNS
ACALL
ACALL
.. CLRMOV
SUBE
JNZ
ACALL
POP
POP
MOV
Micro Systeraa
MOV Rl ,
DPHDPL
R2,*02
DPL
DPH
DPH
: DPL1 A,R1
TOSTACK
: R2,DIS1
PRODUC
R2,*02
Rl
DPL
DPHDPHDPL
A,R1
TOSTACKR2,DIS3
PRODUC
SUMA
C
A,R1
A,RODIS2
. SQR
• DFLDPHRl(#01
8051 Family
Ü02
;SUBRUTINAS EN BASIC ALTERAN DPTR
,-POR LO QUE SERÁN ALMACENADAS EN STACK
,-RECÜPERA DPTR LUEGO DE SUBRUTIRA BASIC
fCARGA A STACK SEGUNDA ARMÓNICA
;2 VECES
;PARA ELEVAR LA COADRADO
/RECUPERA DPTR LUEGO DE SUBRUTINA BASIC
;CARGA A STACK. ARMÓNICA # Rl
;2 VECES
;MULTIPLICA PARA ELEVAR AL CUADRADO
AL RESULTADO ANTERIOR
/HASTA QUE SE LEAN TODAS LAS ARMÓNICAS
;SACA RAÍZ CUADRADA DE SUMATORIO
Asaerabler, Versión 3.02 Page 53
11-03-94
2£44 E9
2E-15 F136
2E47 D15F
2E49 D1D92E4B 22
MOV &,R1
ACAU. TOSTACK
ACALL COCIENTE
ACALL REDON2
RET
;CARGA A STACK
;PRIMERA ARMÓNICA DE SEÑAL
.-DIVIDE SUMATOIUO PARA PRIMERA ARMÓNICA
.-APROXIMA A 2 DECIMALES
.****•* SUBRÜTIMAS GENERALES
2E4C 7418
2E4E F109
2E50 32
ABSOL:
MOV •A,Ü18H
ACALL RUTINA
RET
7SACA VALOR ABSOLUTO DE ULTIMO NUMERO STACK
2E51 7422
2E53 F1092E55 22
ATAN:
MOV 'A,*22H
ACALL RUTINA
RET
,-SACA ARCO TANGENTE DE ULTIMO NUMERO DE STACK
CARSER:
SER.
2E56 53DOE7
2E59 FD
2E5A 7480
2E5C F109
2E5E 22
ANL PSW,*OE7H
MOV R5,AMOV A,t80H
ACALL RUTINA
RET
rTRANSMITE CARÁCTER EN ACUMULADOR A PORT.
;TRABAJA CON BANCO CERO DE REGISTROS
/CARÁCTER A R5
COCIENTE:
2E5F 748A MOV • A, *8AH
2E61 F109 ACALL RUTINA2E63 22 RET
,-DIVIDE PENÚLTIMO NUMERO DE STACK PARA ULTIMO
2E64 741C
2ES6 F109
2E68 22
COSENO:
MOV A,*1CH
ACALL RUTINA
RET
;SACA COSENO DE ULTIMO NUMERO DE STACK
2E69 7407
2E6B F109
2K6D 22
CRLF:
MOV A , * G 7 H
ACALL RUTINARET
,-ENVÍA CR-LF A PÓRTICO SERIAL
2E6E V-1192E70 F109
21272 22
ENTERO:MOV A , H 1 9 H
AOJiLI, RUTINA
RET
/-OBTIENE EL VALOR ENTERO DE UN NPF
2E73 75FOOb
2E76 M
2E77 53DOE7
2E7A 2582
KROMSTACK:
HOV
MUL
ASL
ADD
AB
PSW,«OE7H
A.DPL
,-SACA UN NUMERO DE PUNTO FLOTANTE DE STACK
rTRABAJA CON BANCO CERO DE REGISTROS
The Cytaernetic Micro Systems 8051 Fdmily Aesembler, Versión 3.02 Page 54
11-03-94
2E7C
2E7D
2E7F
2E81
2E82
2E84
2E87
2E6A
.¡:.iE
2E8C
2EÜF
2E90
2E92
2E94
2E97
2ES8
2E9A
2E9C
2E9E
2E9F
2EAO
2EA2
2EA5
3EA6
2EA8
2EA9
2EAB
2EAE
2EBO
2EB2
2EB3
2EB4
2EB6
2EB7
2EBA
2EBC
2EBE
2EBF
2 ECO
2EC1
2EC2
2EC4
2 ECS
2EC6
2EC7
2 ECS
2EC9
2ECA
2ECB
2ECC
2ECD
2ECE
.P9
E5FO
3583
PB
7403
120030
43D018
22
AJ
75FOtí-i
84
600E
E5FÜ
75FOOA
84
2-110
DIGO
7483
FO
22
E5FO
75FOOA
84
600C
C4
4.5FO
•75FOOO
OIGO
7482
KO
:¡21Í5FO
C4
75FOOO
DIGO
7481
FO
:>2FO
>\3E5FO
C4
yoA3
E4
FO
A3
FO
A3
FO
A3
22
MOV
MOV
ADDC
MOV
• MOV
LCALLi:.
ORL
RET
H2BCD:
IHC
MOV
DIV
ozMOV
MOV
DIV
ADD.
ACALL
MOV
MOVX
RET
HBCD2 : MOV
MOV
DIV
JZ
SWAP
ORL
MOV
ACALL
MOV
MOVX
RET.
HBCD1: MOV
SWAP
MOV
ACALL
MOV
MOVX
RET
WPF: MOVX
INC
MOV
SWAP
MOVX
INC
CLR.
MOVX
INC
MOVX
INC"MOVX .
INC
RET /
R1,A
A,B
A,DPH
R3,A -
A, «03 '
30H
PSW,#18H
DPTR
B, *100
AB
HBCD2
A,B
B^IO
AB
A,#1GH
NPF
A,«83H
@DPTR,A
A,B
B,#10
AB
HBCD1
A
A,B
B.fOOHNPP
A,t82H
0DPTR.A
A,B
A
B,*00
NPF
A.ÍÍ81H
6DPTR,A
6DPTR,A
DPTR
A,S
A
eDPTR,A
DPTR •
A
9DPTR,A
DPTR
BDPTR,A
DPTR
SDPTR,A
DPTR
;INVOCA A SUBRUTINA BASIC QUE SACA DATO DE
;STACK A DIRECCIÓN R3:R1 ' '
/TRABAJA CON BANCO TRES DE REGISTROS
/CONVIERTE OH HEXADECIMAL (EN ACC) EN NPF
¡{PAQUETE BCD) Y ALMACENA EN «DPTR
;APÜNTA A 2 DÍGITOS MAS SIGNIFICATIVOS
;D1VIDE NUMERO EN HEXADECIMAL PARA 100
;SALTA SI EL HUMERO HENOR QUE 100
;DIVIDE RESULTANTE PARA 10
;PONE EN PRIMER DÍGITO DE ACC EL 1
;CARGA DÍGITOS Y SIGNO DE NPF
;3 ES EL EXPONENTE DEL NPF
;NPF ES MENOR QUE 100
;ASI QUE SE LO DIVIDIRÁ PARA 10
/SALTA SI NPF MENOR QUE 10
;PONE DÍGITO EN LUGAR MAS SIGNIFIC.
;Y CARGA B EN LOGAR MENOS SINGIFIC.
tSEGUNDO PAQUETE BCD ES CERO
;CARGA DÍGITOS Y SIGNO
;2 ES EL EXPONENTE DEL NPF
;NPF ES MENOR QUE 10
,-CARGA EN «DPTR DÍGITOS MAS SIGNIFICAT.
/PREPARA EN ACUMULADOR SIGUIENTES DÍGITOS
;Y CÁRGALOS EN «DPTR
/LOS SIGUIENTES 4 DÍGITOS SON CERO
;EK SIGNO, CERO PARA INDICAR POSITIVO
The CyberneCic Micro Systems 8051 Family Assembler, Versión 3.02 Page 55
11-03-94
2F.CF
2 EDI
2ED3
2ED4
2ED6
2ED8
2ED9
2EDC
2EDE
2EEO
2EE3
2 EES
2EE7
2EE9
2EEC
2EEE
2EFO
2EF3
2EF5
2EF7
2EF9
2EFB
2EFD
2EFF
2F02
2F04
2F06
2F08
2F09
2FOC
¿Fúr
2F12
2F14
2F16
2PT9
2 FIE
2 F1C
2F1F
2F21
2F22
2F24
2F26
7488
F109
22
7484
F109
22
900B35
7464
EM8B
900835
7401
F13G
D1CF
900847
7401
F'136
S00841
7401
F136
D1SP
F'12C
7419
FIO 9
900835
7401
F136
D15F
22
S3DOK7
120U3G
'UUülo
COEÜ
E590
12.52003
OOEO
22
122623
DOEO
22
741A
F103
22
PRQDÜC -.
MOV
ACALL
RET
RESTA:
MOV
ACALL
RET
REDON2 : ¡
MOV ,
MOV.
ACALL
MOV
MOV
ACALL
ACALL
MOV
MOV
ACALL
MOVMOV
ACALL
ACALL
ACALL
MOV
ACALL
MOVMOV,
ACALL
ACALL
RET :
RUTINA:
ANL
LCALL
CRL
PUSH
CAMDIÍJ:
CJt!E
POP
RET
ACTUD: LCALL
POPREO?
SIGHO -.
MOV
ACALL
RET
A, Í88H
RUTINA
A,*84H
RUTINA
ÜPTR,*dif
A, 1100 .
H2BCD
DPTR,*dif
A(*01
TO STACK
PRODUC
DPTR,*k2
A, tOl
TO STACK
DPTR,#]cl
A, #01
TO STACK
COCIENTE
SUMA
A,*19H
RUTINA
DPTR,#dif
A/*01
TO STACK
COCIENTE
PGW,IIOE7H
30H
PSW, *18H
ACC
MOV A,P1
A.iOH/ACl'OD
ACC
ACTDIS
ACC
A,*1AH
-RUTINA
íHULTIPLICA ÚLTIMOS DOS HUMEROS DE STACK
,-RESTA PENÚLTIMO NUMERO MENOS ULTIMO
",-APROXIMA NPF EN STACK A 2 DECIMALES
;SE PONDRÁ EN REGISTRO dif
;100 COMO NPF EN PAQUETE BCD
/LLEVA VALOR DE 100 A STACK
/MULTIPLICA NPF EN STACK POR 100
;EWVIA K2 Y Kl A STACK
;Y LOS DIVIDE PARA OBTENER
;K2/K1=0.5 Y SÚMALO A NPF PARA
7REDONDEAR AL SEGUNDO DECIMAL
;OBTIENE EL ENTERO
/LLEVA 100 NUEVAMENTE A STACK
,-VUELVE A DIVIDIR PARA 100
;EFECTÚA LLAMADAS A RUTINAS BASIC Y
,-CHEQUEA SI HAY CAMBIOS EW DISPLAY
7HASTA AQUÍ LLAMADA A BASIC, EL PROCESO
/SIGUIENTE DEBE SER TRANSPARENTE
;REALI2A LA COMPARACIÓN J3NTHK Pl
iY 2QH, SKL- 81 SON IGUALES
,-ACTÜALIZA DISPLAY
,-SACA SIGNO DE ULTIMO NUMERO DB STACK
The Cybornetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 56
11-03-94
;; J.' J /
2P29
2 F2B
2FHC
2 FUE
2F30
2F31
2F332F35
2F36
2F39
2F3A
2F3D2F3J?
2F4I)
2F422F44
2F4!5
2F473F4A
2F4D
V •- i i-
F10S
22
7'A«2
F10922
7490
F109
22
75F006
Aá53DOE7
2582
F8
E5FO
3583FA7402
120030
43D018
22
IdOV
ACALL
RET
fíUHA :
MOV
ACALL
RET
TOSER;
MOV
ACALLRET
TOSTACK;
MOV
MUL
ANL
ADD
MOV
MOV
ADDC
MOV
MOVLCALL
ORL
RET
A,#1FH
RUTINA
A ( t t 8 2 H
RUTINA
A, #90HRUTINA
B , t Ü 6
AB
PSW,#OE7HA,DPLRO,AA,B
A,DPHR2,AA, #023 OH
PSW,418H
;SACA RAÍZ CUADRADA DE ULTIMO NUMERO DE STACK
,-SUMA ÚLTIMOS DOS HUMEROS DE'STACK
/ENVÍA NPF EN STACK A PÓRTICO SERIAL
,-ENVÍA UN NUMERO DE PUNTO FLOTANTE A STACK
rTRABAJA CON BANCO CERO DE REGISTROS
;INVOCA A SUBRUTINA BASIC QUE PONE EN
;STACK A DIRECCIÓN R2:RO
/TRABAJA CON BANCO TRES DE REGISTROS
;***A* LAS ULTIMAS LOCALIDADES DISPONIBLES DE ROM
,***** SON USADAS PARA ALMACENAR TABLAS DE DATOS
**********
3000 ORG 3000H
j TABLA DE CONSTRUCCIÓN DE DISPLAY RAM
; Datos generales de red
The cybernecic Micto Sysicems 8051 Frita i ly Assemblor, Versión 3.02 Paga 5711-03-94
3000 20 50 3D db20hJ5pb,3Dh,30b,2Cb,30h,30h,6Bb,57b,20h,20h,66h,7Qb.3;jbr30h,30h,25b,20h,20b,20b3003 30 7C 30 30 GB 57 20 20 €6 70300D 3D 30 30 25 20 20 20 •'
' ;' P=0,QOkH fp=00%
3014 20 53 3D db "20b. ,53h / 3Dh í 30h í 2Cb J 30h í 30h í 6Bb í 5f5h í 41h í 20h I 66h,64h í 3Db J 30h>30h,25b,20b I 2Bb J 20h3017 30 2C 30 30 6B 56 41 20 66 643032 3D 30 30 25 2p 3B 20
¡' S=0,OOkVA fd=00% + "
30É28 56 3D 30 db56h í 3Dh ( 30h í 30h ( 30b ,56b / 20b í 20b í 3ah í 3Ah / 30h í 30h ,30h / 56h ( 20h / 44h í 3Dh ( 30b í 30h í 25h
303B 30 30 56 20 20 31 3A 30 30 303035 56 30 44 3D 30 30 25
;"V=OOOV Z:OOOV D=008"
303C 49 3D 30 db
ígh^Db^Ob^Ob^Ch^Oh.álh^Oh^lh^Ah^Oh^Ob^Ch^Oh^Oh^íih^Db^Oh^Oh^Sh303P 30 2C 30 41 20 31 3A 30 30 2C3049 30 20 44 3D 30 30 25 :
j - I = Q Q , Q K 1".OQ,Q D=QQ%"
; Datos de armónicas de voltaj'e
3050 20 32 3A db
2Oh , 32h,3Ab,3Oh, 3Oh, 3Oh, 2Bh,3Oh, 3Oh, 3Oh, 2Oh, 33b, 3Ah, 3Oh,3Oh,3Oh, 2Bb,3Oh,3Oh, 3Oh3053 30 30 30 2B 30 30 30 20 33 3A305D 30 30 30 2B 30 30 30
;" 2:000+000 3:000+000"
3064 20 3-1 3A db
20h .34h ,3Ah .30h ( 30h / 30h / 2Bh ,30h ,30h í 30h / 20h / 35h ,3Ah ,30h / 30h ,30h í 2Bh / 30h / 30h / 30híOí',7 :=.•> 'JO 30 2B 30 30 30 20 35 3A3071 30 30 30 2B 30 30 30
i" -UGOO+OOQ 5:000*000"
3078 ÍO 36 3A db
20h ,3Sh / 3Ah ,30b ,30h , ' JOh ,2Bh ,30h / 30h / 30h < 20h / 37h ,3Ah ,30h / 30h ,30h / 2Bb ,30h / 30b ,30h307B 30 30 30 2B 30 30 30 20 37 3A3005 30 30 30 2B 30 30 30
;" ü - .OQQ+QQQ 7:000+000"
303C "¿O 33 3A db2 0 h í 3 8 h ( 3 A h ( 3 0 h , 3 0 h ( 3 0 h / 2 B h / 3 0 h , 3 0 h / 3 Q h / 2 0 h , 3 9 h , 3 A h / 3 0 h / 3 0 h ( 3 0 h / 2 B h / 3 0 h , 3 0 h / 3 0 h
308F 30 30 30 2B 30 30 30 20 39 3A
3099 30 30 30 2B 30 30 30
:u d r O O C H O O O 9:000+000"
/ Danos d<= armónicas de corriente
30AO 20 32 3A db
20h,32h,3Ah,30¡v,30h,2Bh,30h, jOh,30hí20h /33h,3AhJ30h,30h /2Bh(30h,30h /30h /20h,20h30KJ 3-0 30 2B, 30 30 30 '¿O 33 3A 30
30AD 30 2B 30 30 30 20 20
The Cybérnecic Micro Systeitis 8051 Family Assecnbleí:, Versión 3.02 Page 5811-03-94
;" 2 iQQ+QQQ 3:00+000 "
30B4 20 34 3A db ;
2 Oh ,3 4h,3Ah,3 Oh,3 Oh,2Bh,3 Oh\ Oh,3 Oh,2 Oh,35h,3 Ah,3 Oh,3 O h , 2 Bh,3 Oh,3 Oh,3 Oh,2 Oh,2 Oh
30B7 30 30 2B 30 30 30 20 35 3A 30
30C1 30 2B 30 30 30 20 20 !
í" 4- .QO + QQQ 5:00+000 "
30C3 "20 36 '3A db20h,36h,3Ah,30h,30h,3Bh,30h,3Qh,30h,20h,37h,3Ah,30h,30h,2Bh,30h,30h,30h,20h,20h
30CB 30 30 2B 30 30 30 20 37 3A 3030D5 30 2B 30 30 30 20 20
; " 6 ;ÜO+000 7:00+000 "
30DC 20 38 3A db
20h/3eh í3Ah/30h,30h,2Bh/30í i (30h,30h(20h í39h /3Ah,30h /JOh/2Bh/30h,30h /30h,20h,20h
30DF 30 30 2E 30 '30 30 20 33 3A 30
30E9 30 2B 30 30 30 20 20 '.
; i 8:00 + 000 9:00+000 "
3100
3100
3103
310B
310E
3113
3116
311B
311E
3123
3126
312B
313E3133
3136
313B
313 E
3143
04 06
OF 10
2B 2C
33 34
3F 40
4? 48
52 54
56 57
5C! 5E
60. 61
66 68
6í. 6B
701 72
7<, 75
7?, 7C
7£! 7F
8íl 86
ORG
07 db18 1A IB2D db
35 3A 3B42 db4A 4E 4F
55 db58 59 5A5F db62 63 6469 db6C 6D 6E73 db
76 77 787D db80 81 82
87 db
3100H
***** »EABLA DE DIRECCIONES RELATIVAS PARA DISPLAY RAM *****
4h,6h,7h,OFh,10h,18h,lAh,lBh,23h,24h,27h ?P(3), fp(2), S(3), fpd (3)23 24 27 •2Bh,2Ch,2Dh,33h,34h,35h,3Ah,3Bh 7vnnB(3),
3Fh,40h,42b,47h,48h,4Ah,4Eh,4Fh
52h,54h,55h,56h,57h,58h,59h,5Ah
5Ch, 5Eh,5Fh,-60h, 61h, 62h, 63h, 64h
6 6h,68h,69h,6Ah,6Bh(6Ch,6Dh,6Eh
70h,72h,73h,74h,75h,76h/77h(78h
7Ah,7Ch,7Dh,7Eh,7Fh,80h,81h,82h
84h,86h,87h,88h,89h,8Ah,8Bh,8Ch
, thdv(2)
;irmB(3), 11(3) , thdí(2)
;A2, MI, M2, M3, +, Fl, F2, F3
;A3, MI, M2, M3, +, Fl, F2, F3
;A4, MI, M2, M3, +, Fl. F2, F3
,-A5, MI, M2, M3, +, Fl, F2, F3
;A6, MI, M2, M3, +, Fl, F2, F3
/A7, MI, M2, M3, +, Fl, F2, F3
3146 88 89 8A 8B 8C
314B 8E 90 91 db 8Eh,9Qh,91h,92h,93h,94h,95b,96h
314E 92 93 94 95 96
3153 98 9A 9B db • 98h, 9Ah, 9Bh , 9Ch, 9Dh , 9Eh, 9Fh, OAOh
3156 9C 9D 9E 9F AO i
315B A3 Aá A5 db OA2b, OAdb, OA5b, Oí,£:i, üA7b, OASb, OA9h
315E A6 A7 A8 A93162 AB AD AE db OABh,OADh,OAEh,OAFh,QBOh,OBlh,OB2h
3165 AF BO Bl B2
OB6h.-038b,OB9h,OBAh,OBBh,OBCb,OBDb
,-A8, MI , M 2 , M3, -f, Fl, F2, F3
;A9, MI, M 2 , M3, + , Fl, F2, F3
;a2, Hl, M 2 , +, Fl, F2, F3
;a3, MI , M 2 , +,. Fl, F2, F3
,-a4, MI, M 2 , +', Fl,' F2, F33169 B6 B8 B9 db316G BA BB BC BD3170 BF Cl C2 db OBFh,OClh,OC2híOC3h,OC4h,OC5h,OC6b . ;a5, MI, M 2 , +, Fl j F2, F3
The Cybernetic Micro eystems 8051 Family Aaaerabler, Versión 3.02 Page 59
1 . 11-03-94
31733177
317A.317!!
3181
318Í.
3^ee-318C
31ST1
C3 C4 C5 C6CA CC CD db
CE CF DO DI
D3 D5 D6 db
.D? D8 D9 DA
DE EO El db
E2 E3 E4 E5
E7 ES EA db
EB EC ED EE
OCAh,OCCh,OCDh,OCEh,OCFb,ODOh,ODlh
OD3by OD5b tOD6h,OD7b,ODSh,OD9h,ODAh
ODEh,OEOb,OElh,OE2b,OE3b,QE4h,OE5b
OE7h, OE9h , OEAh, OEBÍl, OECh, OEDh, OEEh
;a6, MI, M2, +, Fl, F2, F3
,-a7, MI, M2, +, Fl, F2, F3
;a8, MI, M2, +, Fl, F2, F3
;a9( MI, M2, +, Fl, F2, F3
3200
3200 15
3203 63
3206 323209 00
35OC lt
3¿QF 00
3280
3280 20
3283 4d
3289 44326C 66
328E 22
33AO
32AO 2032A3 50
32A8 31
70 79
00 81
00 00
00 82
Oü OU
uü «2
,-PI/2=l.5707963
;K.1=32
40 45
49 44
45 20
70
45 53
45 52
35 20
ORG 3200H
/VALOR DE PI/2
DB 15b,70h,79b,63h,OQh,81h
/VALOR DE XI .
DB 32b,00b,00hí00b,00b,82b
; VALOR DB K2
DB 16h,OOh,OOb,OOh,ÜOb,S2b
ORG 32BOU
/**•*** MENSAJE DE INICIALI2ACIOH SERIAL
DB ' 2ÜH,4DK,4 :5H,<Í4H,49f f í 44H,4FH,52H: ,20H /MEDIDOR4F 52 20
7 DE fpDB 4 4 H J 4 5 H Í 2 0 H / 6 6 H , 7 0 H
DB 22H
ORG 32AOH
DB 20HÍ45H,53H,50H,45KÍ52H,45H,20H45 20
DB 31H,35H,20H,53H,45H,47H,2EH
;TERMINA MKWSAJE
;ESPERE
jlS SEG.
32AB
32AF
!
3300
53
22
45 2E
DB
ORG
22H
3300h
; TERMINA MENSAJE
; Valores W<k> reales
330033033306
10
00
26
00
0056
00
81
10
The Cybernetic
3309
330C330F33123315
331 £l '33111331Ü3321.3324
3327
332A
332D3330
33333336
3339
333C
333F
3342
3345
3348
3 3 IB
33Í.E
3331
33Ü4
33ÍÍ7
3 3 15 A
33ÍJD
33-90
36
7064
70
5332
44
38
33
38
33
92
14
9825192955
12
83
29
83
47
55
06
19
24
9883
017100
71
01
38002601
260038
010700
50
01
5500
14
01
14
00
55
01
50
000701
79
06
80
06607980
83
80
83
8079
80
8580
90
80
70
80
69
80
69
80
70
8090
80
84
80
db
dbMicro
db
db
db
db
db
db
db
db
db
db
db
lOb, .
26h, ¡
Oh,
56bSysbems
70h,
7 Oh,
92h,
38b,
38b,
92h,
38b,
19h,•'
55h,
83h,
83b,
db 55h,
. db
db
ORG
I9h,
98h,
71h
71h
38b
26h
26h
38h
7br
5 Oh
55h
14b
14b
55h
5 Oh
7h,
Oh, Oh,OQh,81h
, lOfa,8051
, 6h,
, oh,
f ?9b.
, 83h,
, 83b,
, 79h,
B5b,
, 90h,
, 70h,
, 69h,
, 69h>
, 70h,
, 90h,
84bJ
36h ,0lh(79bFamily Asserobler,
64h,
S3h,
4ah
33b
33h
14h
25hr
29h
12b
29h
47h
00h,80h
Olh.SOh
,00h,80h
(01h,80h
,00b,80h
^oih.SOh
ODbr80b
(01h,80b
,00h,80h
,01h,80b
,00b,80h
; rar ( 1 ) = 1* '
; rar ( 2 ) = -2 .656104E-08Versión 3.02 Page 60
11-03-94
•
; rar [ 3 ) = .7071066
,- rar ( 4 ) = -.7071065
; rar ( 5 ) = .9238794
; rar ( 6 ) = -.3B26B33
; rar ( 7 ) = .3826833 '
; rar ( 8 ) = -.í)238791
; rar ( 9 ) = .9807853
,- rar ( 10 ) = -.1950903
; rar { 11 } = .5555701
; rar ( 13 ) = -.8314693
; rar ( 13 ) = .8314695
ebíOlb^eoh ; rar ( 14 ) = -.5555-701
24b
83h,
^Oh.SOh
Olh,80h
; rar ( 15 ) = .1950902
? rar ( 16 ) = -.9807848
3380h
? Valores
33803383
3386
3389
338C
33 8F
3392
3395
3398
00
00
99
70
70
70
70
4738
00
00
99
01
710171
01
26
00
80
99
80
06
80
06
80
83
db
db
db
db
db
W(k) imaginarios
Oh, Oh,
99h,
70h,
70b,
38b,
99b
7 Ib
7 Ib
26b
Oh, Oh
, 99h,
, 6h,
, 6h,
, 83h,
,00b
7 Oh
70h(
47h(
42h
,80h
.Olb.SOh
Olh(80b
Olh,80h
( oah,80h
; rar ( 1 ) = 0
7 rar ( 2 ) = -.9999997
,- rar ( 3 ) = -.7071067
; rar ( 4 ) = -.7071065
; rar ( 5 ) = -.3826834
339B 42 01 80
339E 92 38 79 db 92h, 38h, 79h, 20h,01h,80h
33A1 20 01 80
33A4 92 38 79 db 92h, 38h, 79b, 32h,01h,80h
33A7 32 01 8033AA 38 26 83 db 38h, 26b, 83b, l&b,01b,80b
33AD 18 01 8033BO 19 50 90 db 19h, SOh, 90h, 32h,01h,80h
33B3 32 01 8033B6 98 07 84 db 98b, 7b, 84h, 95h,01b,80h33B9 95 01 80
33BC 83 14 69 db 83b, 14h, 69h, 47h,01h,80h
The CyberneCic Micro Systems 8051 Family Assembler, Veraion 3.02 Page 61
11-03-94
; rar ( 6 ) = -.9238792
,- rar ( 7 ) = -.9238793
; rar ( 8 ) = -.3826832
7 rar ( 9 ) = -.195^903
rar ( 10 ) = -.980785 '
7 rar ( 11 ) = -.8314695
33BF33C2
33C533C833CB
35CJ333D1
33P-133D7
33DA33DD
33EO
47 0155 55
94 01
55 5518 01
83 14
29 01
98 0701 01
19 !iO14 Ül
8069
80
70SO
69
00ÓT«O
9000
33EO 10 20
33E3 03 14
33HG 12 02
33EB OA 16
33FO 11 01
33F3 09 15
33FS 13 03
33FB OB 17
as041A061905IB07
db 55h( 55h, 69hy 94b,01b,80b
db 55h, 55b; 70h/ 18h,01b,80h
db S3bf I4ti, 69h, 29h,01h,8Qh
db 96h, 7h, 85h, lh,01b,80h
db 19h, SOh, 90h, 14b,01hí80b
Cííü 33EOb
¡ Valores <K> otdeoados
db 16, 32, 24, 8, 20, 4, 28, 121C OCdb 1ÍJ, 2, 26, 10, 22, 6, 30, 1-1
1E OE
db 17, 1, 25, 9, 21, 5, 29, 13ID OD
db 19, 3, 27, 11, 33, 7, 31, 15
1F OF
,- rar ( 12 )
,- rar ( 13 )
; rar ( 14 )
rar ( 15 } =
,- rar ( 16 }
= -.5555699
= -.5555702
= -.8314693
-.980785
= - .1950901
3400 ORG 3400H
¡TABLA DE VALORES DE VOLTAJE
,- TABLA DE CONVERSIÓN
,- TABLA DE CONVERSIÓN
3400 '25 00 00 db 25h, Oh, Oh, Oh,01h,83h3403 00 01 83
3406 24 80 39 db 24h, 80h, 39h, 21h,01b,£í3h3409 21 01 83340C 24 GO 78 db 34h, <5Qll, 78h, 43h ,0 lh ,03h
340F 43 01 833413 24 41 17 db 24h , 41b, 17h, 64h,01h,83b3415 64 01 83 :
3418 24 21 56 db 24h, 21h, 56h, 66h,01h,83h
; valor adc ( O ) = -250
7 valor adc ( 1 ) = -248.0392
,- valor adc ( 2 ) = -246.0784
; valor adc ( 3 ) = -244.1176
; valor adc ( 4 ) = -242.1569
3 4 IB S6 DI 83
341E 21 01 96 db 24h, Ih, 96h, 7h,01h,83h3431 07 01 833424 23 82 35 db 23h, 82h, 35b, 29b,01b,83h3427 29 01 83
342A 23 62 74 db 23h, 62b, 74b, 51b,Oab,83h
343D 51 01 83
3430 23 43 13 db 23b, 43h, 13h, 72h,01h,83h3433 72 01 83
3436 23 23 52 db 23h, 23h, 52b, 94b,01b,83h3439 94 01 83
343C 23 03 92 db 23b, 3b, 92h, 15h,0lh,83h
,- valor adc ( 5 ) = -240.1961
7 valor adc ( 6 ) = -238.2353
,- valor adc { 7 ) = -236.2745
; valor adc ( 8 ) = .-234,3137
r valor adc ( 9 ) ='-232.3529
; valor adc ( 10 ) = -230.3922The Cybernetic Micro Systema 8051 Family Aseerabler, Versión 3.02 Page 62
11-03-34
343F3442
3445
3448
3 4 4 B
344E
3451
3454
3457
345A
345D
34603463
34663469
346C
346F
3472
34753-178347B347E3-1813484
3487
348A
3480
3490
3493
3436
3499349C349F
34A23-1A534A834AU1: 5 AJÍ.'
3-1B1
3 4 B 4
34B7
34BA34BD
15
22
3522
5722
80
22
02
22
23
21
45
21
66
21
6:8
21
10;:i31
;¡o53
20
74
I!0
S' 6
;io17
;io3919
e;i:i9«2
:i90-1•i::':i519
J7
18
68
01
840164
01
45
01
25
01
05
01
86
01
66
01
47
01
27
01
07
01
88
0168
01
49
01
29
01
09
01
90017001
50
01
->;
01
11
01
97.
01
83
31
83
70
83
09
63
49
83
88
83
2783
6683
05
83
45
83
34
83
23
83
62
83
01
83
41
83
80
83
19
83
58839fl
HJ
¿i V
63
76
6:í
15
83
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
cb
db
db
22h,
22b,
22h,
22h,
22b,
21h,
21h,
21h,
21b,
21h,
20b,
20h,
2 Oh,
20h,
2 Oh,
19h,
19h,
19h,
ash,
I9h,
I8h,
84h, 31b, 35h,01h,83b
64h, 70h, 57h,01h,83b
«¿h, 3b, 80b,01b,83b
25h, 49h, 2b,01h,83h
5h, 88h, 23h, Olh,83h
86h, 27h, 45h,01h-,83h
66b, 66h, 66b,01h,83b
47h, 5h, 88h,01h,83h
27h, 45h, 10h,01h,83h
7h, 84h, 31h,01h/83h
88b, 23h, 53b,01b,83h
68h, 62h, 74b,01h,83h
49h, lh, 96h,01b,83h
29h, 41b.( 17hí01h,83h1
9h, 80b, 39h,01h,83h'
90b, 19h, eih^Olh^Sh
7üb, 5811, 82h,01h,83b
50h, 98h, 4h,0!bí83h
3Jh, 37hr 25b,0ab,83b
lili, 76h, 47h,01h/83h
92h, lí>b, SSh.Olh^eSh
; valor
; valor
; valor
; valor
; valor
; valor
adc
adc
adc {
adc (
adc (
adc
7 valor adc
,- valor
7 valor
7 valor
; valor
7 valor
7 valor
adc (
adc
adc (
adc
adc
adc (
7 valor adc
; valor
i valor
; valor
7 valor
; valor
? valor
; valor
adc (
adc
adc
adc (
adc
adc
adc
( 11
( 12
13 )
: i* )
15 )
( 16
( 17
18 )
( 19
20 )
( 21
( 22
! 23 )
( 24
25 )
( 26
( 27
28 )
( 29
( 30
( 31
) = -228
) = -226
= -224 .
= -222.
= -220.
) = -218
) = -216
= -214 .
) =: -212
= -210.
) = -208
) = -206
= -204.
) = -202
= -200.
) = -199
) = -197
= -195.
) = -193
) = -191
) = -189
.4314
.4706
5098
549
5882
.6275
.6667
7059
.7451
7843
.8235
.8627
902
.9412
9804
.0196
.0588
098
.1373
.1765
.2157
34CO 18 72 54 db ISh, 72tl, 54h, 69h,Olh,83h
34C3 89 01 8334C6 18 52 94 db 18h, 52h, 94h, 10h,Qlh,83h
34C9 10 01 8334CC 18 33 33 db 18h, 33h, 33h, 32b,01h,83h34CF 32 01 8334D2 18 13 72 db 18h, 13h, 72b, 53b,01h,83h34D5 53 01 03
34D8 17 94 11 db 17h, 94h, llh, 75h,01h,83h
34DB 75 01 83 '34DE 17 74 50 db 17b, 74b, 50b, 96b,01h,83b
34E1 96 01 83
The Cybernetic Micro Systems 8051 Family Aesembler, Versión 3,02 Page 6311-03-94
r valor adc ( 32 ) = -187.2549
; valor adc ( 33 ) = -185.2941
7 valor adc { 34 ) ~ -183.3333
; valor adc ( 35 ) = -181:3725
7 valor adc ( 36 ) = -179.4118
; valor adc ( 37 ) = -177-.451
34E4 17
34E7 18
34EA 1.7
34ED 413-JFO IV
34F3 63
3 "IV6 16
HF'> 81
34FC 1S
34FF 06
3502 16
3505 27
3500 16
350B 49
350E 16
3511 713514 153517 92351A 15351D 143520 15
3523 35
3526 15
3529 57352C 13
352F 793532 15
3535 00
3538 14
353B 22
353E 14
3541 43
3544 14
3547 63354A 14
354D 85
3550 14
3553 073556 13
3559 28
355C 13355F 50
3562 13
54 90
01 03
35 29
01 83
15 Gb
01 SJ
96 07
Oí OJ
76 47
01 83
5G 66
01 ti;
37 25
01 83
17 64
01 83
98 03
01 83
78 43
01 83
58 82
01 83
39 21
01 03
19 GO
01 83
00 00
01 83
80 39
01 83
60 78
01 83
41 17
01 83
21 56
01 83
01 96
01 83
82 35
01 83
62 74
01 83
43 13
db 1711, 54h, 90b, 18h,01h,83h.
db 17b, 35b, 29h, 41h,01h,83b
db 17b, 15h, 68b, 63b,01h,83h
db I6h, 96h, 7h, 84b,01h,83h
db 16b, 76h, 47h, 6h,Qlh,83h
db iGh, 56h, 86h, 27h,0lh,83b
db ICh, 37h, 25h, 49b(01b,83h
db ish, I7h, 64b, 7lb,01h,83h
db I5h, gsh, 3h, 92h/01h,83h
db 15h, 73h, 43b, ldb,olb,83h
db 15h, 58h, 82h/ 35b,01b,83h
db 15h, 39h, 21h, 57h,01b/83h
db I5h( I9h, 60h, 79h,Olh,83b
db I5b, Oh, Oh, Ob.Olh.SSh
db 14h, 8pb, 39b, 22b,01h,83b
db 14h, 60h, 78h, 43b,01b,83b
db 14h, 41b, 17t), 63b,01h,83h
db 14h, 21b, 56h, 85h,01h,83h
db Idb, lh( 96h, 7h,01h/83h
db I3h( 82h, 35h, 28h/01h,03h
db 13b, 62b, 74h, 50h,01h,83h
db 13h, 43h, 13b, 71h,01b,83b
; valor adc ( 38 )
,- valor adc ( 39 )
; valor adc ¡ -10 )
,- valor adc ( 41 ) r
; valor adc ( 42 ) =
; valor adc ( 43 )
7 valor adc ( 44 )
; valor adc { 45 )
,- valor adc ( 46 ) :
(- valor adc { 47 )
,- valor adc { 48 )
7 valor adc ( 49 )
7 valor adc ( 50 )
valor adc ( 51 ) = -
7 valor adc ( 52 }
; valor adc ( 53 )
,- valor adc ( 54 )
; valor adc ( 55 )
7 valor adc [ 56 ) =
7 valor adc ( 57 )
; valor adc { 58 )
; valor adc ( 59 )
= -175.4902
= -173.5294
- -171.5686
: -169.6078
= -167.6471
- -165.6863
= -163.7255
= -161.7647
: -159.8039
- -157.8431
= -155.8824
= -153.9216
= -151.9608
-150
= -148.0392
= -146.0784
= -144.1176
= -142.1569
-140.1961
= -138.2353
= -136.2745
= -134.3137
3565 71 01 83
3568 13 23 52 db 13h, 23h, 52b, 93h,01h,83b356B 93 01 83356E 13 03 92 db 13h, 3h, 92h, 14h,Qlb,83h3571 14 01 83
3574 12 84 31 db 12h, 84b, 31b, 36b,Ülb,83h3577 36 01 83357* 12 64 70 db 12h; 64h, 70h, 59h,01h,83h
357D 59 01 83 ;
3580 12 45 09 db 12h, 45b, 9b, 80h,01h,83b
3583 80 01 83 .
358(1'12 25 49 db 12h, 25b, 49h, lb,01b,83h
; valor adc ( 60 ) = -132.3529.
; valor adc ( 61 ) = -130.3922
? valor adc ( 62 ) = -128.4314
; valor adc ( 63 J - -126.4706
; valor adc ( 64 j = -124.5098
; valor adc { 65 ) = -122.549
Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Paye £4
11-03-94
358S1
358C
358F'
359?3595
3596;
359B
359E
3 5 Al
35A4
35A7
35AA
35AD
J5BO
35B3
35B6
35B9
35BC
35BF
35C3
35C535C8
35CB
35CE
35D1
35D4
3507
35DA
35DD
35EO
35E3
35E6
35E9
35EC
35EF
35F2
35F5
35F8
35FB
35FE
3601
3604
3607
0112
23
11
45
' 11
66
1187
110911
31
10
53
1074
10
9610
1710
39
99
04
97
2095
36
93
52
91
68
8983
87
05
85
21
83
3781
53
01
05
018501
66
01
47
01
27
0107
0188
01
68
01
4901
29
01
0901
01
01
0501
09
01
130117
012101
25
01
29
01
33
01
37
01
83
S8
83
27
33
66
83
05
83
45
83
84
8323
83
62
83
01
83
41
8380
83
96
82
88
83
8082
728264
8256
82
49
82
di
82
33
82
25
82
db
db
db
.db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
I2h,
llh,
llh,
llh,
llh,
llh,
lOh,
lOh,;
lOh,
lOh,
lOb,
99h,
97h,
95b,
93b,
9lh,
89h,
87b,
85b,
83h,
81b,
5h, 88h, 23h,01h,83h
66h, 27b, 45h,0lb,83h
66ÍI, 66b, 66b,01hf83b
47h, 5h, Ü7h,01h,83h-
27h, 45h, 9h,01h,83h
7h, 84h, 3lh/01h,83h
88b, 23h, 53h,01h,83b
68h, 62h, 74h,01h,83h
49b, lh, 96h,01h,83h
29b, 41h, -17b,01b,83h
.9b, 80b, 39b,01b,83h
Ib, 96b, 4h,01h,82h
5h, 88h, 20h,01h(82h
9h, SOh, 36b,01h,82b
13h, 72b, 52b,01b,82b
17h, 64h, 68h,01h,82h
21h, SGh, 83h,01h/82h
25h, 49h, 5b/01bí82h
29h, 41h, 21h,01h,82b
33b, 33h, 37h,01h/82b
37b, 25h, 53h/01h,82h
; valor adc [ 66 ) =
; valor adc ( 67 )
; valor adc [ 68 )
; valor adc ( 69 ) =
/ valor adc ( 70 ) =
,- valor, adc ( 71 ) *
,- valor adc ( 72 )
; valor adc ( 73 )
; valor adc ( 74 ) =
/ valor adc ( 75 )
; valor adc ( 76 ) =
f valor adc ( 77 ) =
í valor adc ( 78 } =
; valor adc ( 79 ) =
; valor adc ( 80 )
; valor adc ( 81 )
,- valor adc ( 82 )
/ valor adc ( 83 ) =
,- valor adc ( 84 )
,- valor adc { 85 )
; valor adc ( 86 )
-120,5882
= -118.6274
= -116.6667
-114.7059
: -112.7451
: -110,7843
- -108.8235
= -106.8627
-104.902
= -102.9412
-100,9804
-99.01961
-97.05882
-95.09804
= -93.13725
= -91.17647
= -89.21568
-87.25491
= -85.29412
= -83.33334
= -81.37255
360A 79 41 17 db 79h, 41h, 17h, 68h,01h,82b3600 63 01 823610 77 45 09 db 77h, 45b, 9h, 78b,01h,82b361ÍI 78 01 82361(3 75 49 01 db 75b, 49h, Ib, 94h,01h,82h361¡) 94 01 82
361C 73 52 94 db 73h, 52b, 94b, 10h,01h,82b361F 10 01 82
362;¡ 71 56 86 db 71h, 56h, 86h, 26tl,01h,82h
362Í) 26 01 823628 69 60 78 db 69b, 60b, 78b, '41b,01b,82b362IÍ 41 01 82
The Cybsrnetic Micro Systeuis 8051 Family Assembler, Versión 3.02 Page 6511-03-94
; valor adc ( 87 ) = -79.41177
valor adc ( 88 ) = -77.'45098
valor adc ( 89 ) = -75.4902
; valor adc ( 90 ) = -73.52941
; valor adc ( 91 ) = -71.56863
; valor adc ( 92 ) = -69.60784
362E: 673631 573634 053637 73363A 63363D 693640 613643 053646 593649 20364C 5736-iF 363652 553655 523658 53365B 68365E 513661 843664 503667 00366A 48366D 153670 463673 313676 44367S 443670 42367F 633602 403685 793686 38368EI 94368E¡ 363691 103694 343697 23369A 32369D 3936AO 3036A3 S836A6 2836A9 7036AC 26
64 7001 82óti 6201 8272 5501 8276 4701 8280 3901 8284 3101 8288 2301 8292 1501 8296 0701 8200 0001 8203 92O'l 8207 8401 8211 76
01 8215 68
01 82
19 60
01 82
23 5201 82
27 45
01 0231 3701 8235 2901 8239 3101 8243 1301 82
4? 05
db 67h, 64b, 70h, 57h,01h,82h
db fiSh, 6311, 62h, 73h,01h,82h
db 63b, 72b, 54b, 89h,01b,32b
db 61h/: 76h, 47h, 5b,0lh,82b
db 59h, eoh, 39b, 2on,Qih(82h
db 571-1, Sáh, 31b, 36h,01h,82h
db 55h, 88b, 23h, 52b,01b,82h
db 53h, 92b, 15h, 68b,01b,82h
db 51h,' 96h, 7b, 84h,01h,32h
db 50h( Oh, Ob, Oh,01b,82b
db 48h/ 3h, 92b, 15h/01h,82b
db 46h, 7h, 84h, 31b,01h,82h
db 44h, llh, 76h, 44h,01b,82b
db 42h, 15b, eSb, eSh.Olb^ah
db 40b, 19b, 60h, 79b(01b,82b
db 33h, 23b, 52h, 94h,01h,82h
db 36b( 27b, 45h, 10h,01h,82h
db 34h, 31h, 37b, 23b,01h(82h
db 32b, 35h( 29h, 39b,ülh,82b
db 30b( 39h, 21b, 58h,01h,82h
db 28h,- 421), 13h, 70h/01h,82h
db 26b, 47h, 5b, 89b,01h,82b
; valor adc ( 93 ) --
; valor adc [ 94 ) =
; valor adc ( 95 ) =
; valor adc ( 96 ) =
; valor adc ( 97 ) - =
? valor adc ( 98 ) =
; valor adc ( 99 } =
; valor adc ( 100 }
; valor adc ( 101 ) -
valor adc ( 102 ) - -
; valor adc ( 103 ) -
; valor adc ( 104 ) =
,- valor adc ( 105 )
7 valor adc ( 106 )
/ valor adc { 107 J
; valor adc ( 108 )
; valor adc ( 109 )
i valor adc [ 110 J
7 valor adc ( 111 )
; valor adc ( 112 )
; valor adc ( .113 )
7 valor adc ( 114 ) =
: -67.64706
•- -65.68627
= -63.72549
-61.76471
= -59.80392
: -57.84314
: -55.88235
- -53.92157
¡ -51,96078
•50
: -48.03922
= -46.07843
= -44.11765
= -42.15686
= -40.19608
= -38,23529
= -36.27451
= -34.31372
= -32.35294
= -30.39216
= -28.43137
= -26.47059
36AF 83 01 82
36B2 24 50 98 db 24h, 50h, 98h, 3h,01h,82h36B5 03. 01 8236B8 22 54 90 db 22b, 54b, 90b, 18b,01b,82h36BB 18 01 82
36BE 20 58 82 db 20h, 58h, 82b, 35h,01b,82b
36C1 35 01 82 '.
36C4 18 62 74 db 18h, 62h, 74h , 5lh,01b,82h
36C7 51 01 3236CA 16 66 66 db 16b, 66b, 66b, 65b,01h,82b36CD 65 01 82
36DO 14 70 58 db 14h, 70b, 58h, 81b,01h,82h
,- valor adc ( 115 ) = -24.5098
,- valor adc ( 116 ) = -22.54902
; valor adc ( 117 ) = -20.58824
; valor adc ( 118 ). - -18.62745
; valor adc ( 119 j = -16.66667
; valor adc ( 120 ) .= -14.70588The Cybernetic Micro Systettis 8051 Family Assembler, Versión 3.02 Page 66
: 11-03-94
36D3 81
36D6 12
36D9 98
36DC 10
36DP 13
3ÜE2 38
3CE5 rJO
36E8 68
36EB 52
36EE 49
36F1 07
36P4 29
36P7 62
36PA 98
36PD 15
3700 98
3703 15
3706 29
3709 62
370C 49
370F 07
3712 68
3715 52
3718 88
371B 94
371E 10
3721 13
3724 12
3727 98
372A 14
372D 81
3730 16
3733 65
.3736 18
3739 51
373C 20
:¡73F 35
3742 22
3745 18
3748 24
374B 03
374E 26
3751 89
01 82
74 50
Ül 82
78 -.13
01 62
•¿3 52
•'•I il
62 7401 8101 9GUl 81•11 1701 8103 9201 8003 9200 80•U 1700 3101 96
00 8162 74
00 81
23 5200 81
78 43
00 8274 5000 8270 5800 6266 66
00 8262 7400 8258 8200 8254 90
00 82
50 98
00 8247 05
00 82
db 12h, 74h, 50b, 98b,01h,82b
db lOb, 78h, 43b, 13b/0lh,82b
db 88h, 23h, 52h, 9dh,Dlh,81b
db SSh, 62b, 74h, 52h/01h/81h
db 49b, Ih, 96b, 7b,01b,81b
db 23h, -.llb, 17h, 62b,0lb,81b
db 9Sh, ,3b, S2h, I5h,0ih,80b
db 9Qh, 3h, 92b, 15h,00b,80b
db 29Í1, 41b, I7h, 62biOOh/81b
db flSh, Ib, 96b, 7b,00b/81b
db 58b, 62b/ 74b, 52h,00h,8lb
db 8811, 23b, 52b, Sill^Oh^lh
db 10b( 78h, 43h, 13b,00b,82h
db 12b, 74b, 50b, 98b,00b,82b
db 14h, 70h, 58b, eib/OOh^ab
db 16h, 66h, 66b, 65h,00h,82h
db 18b( 62h( 74b, 51h/00h,82h
db 2Üh, 58b, 82h, 35h,0üh/82h
db 22h, 5-Jh, 90h, 18h,00h,82b
db 24h( 50h, 98h, 3h/00h,82h
db 26b, 47h, 5b, 89b,00h,82b
; valor adc ( 121 ) = -12.7451
; valor adc ( 122 ) = -10.78431
; valor adc ( 123 ) = -8.823529
; valor adc ( 124 ) = -6.862745
,- valor adc ( 125 ) = -4.901961
; valor adc ( 126 ) = -2.941176
; valor adc ( 127 ) = -.9803922
} valor adc ( 128 ) = .9803922
,- valor adc ( 129 ) - '¿.yáia'/C
7 valor adc ( 130 ) = 4.901961
; valor adc ( 131 ) = 6,862745
,- valor adc ( 132 ) = 8.823529
; valor adc ( 133 ) = 10.78431
; valor adc ( 134 ) = 12.7451
/ valor adc { 135 ) = 14.70588
; valor adc ( 136 ) = 16.66667
; valor adc ( 137 ) = 18.62745
,- valor adc { 138 ) = 20.58824
,- valor adc ( 139 ) = 22.54902
; valor adc ( 140 ) = 24.5098
; valor adc ( 141 ) = 26.47059
3754 28 43 13 db 28h, 43h, 13h, 70h,QOh,82h
3757 70 00 82375A 30 39 21 db 30h, 39h, 2lb, 5Bh ,OObi82h375D 58 00 82
3760 32 35 29 db 32h, 35h, 29b, 39h,00h,82h37G3 39 í)0 823766 34 31 37 db 34h, 31h, 37h, 23h,00h,82h3769 23 00 62
376C 36 27 45 db 36h, 27h, 45h, 10b,00h,82h376F 10 00 82
3772 38 23 52 db 38h, 23h, 52b, 94h ,OGb,82h3775 94 00 82
The Qybernecic Micro Synteins 8051 Fainily Asaembler, Versión 3.02 Page 6711-03-94
; valor adc ( 142 ) = 28.43137
; valor adc ( 143 ) = 30.39216
; valor adc ( 144 ) = 32.35294
; valor adc ( 145 ) = 34.31372
; valor adc ( 146 ) => 36:27451
; valor adc { 147 ) = 38.23529
3778 40377B 79
377E 423781 63
378(1 44
3787 44378A 46378D 313790 48
3793 153796 503799 00
379C 51379F 8437A2 53
37A3 6837A8 55
37AB 5237AE 57
37B1 3637B4 5937B7 2037BA 6137BD 0537CO 63
37C3 8937C6 65
37C9 7337CC 67
37CP 57
37D2 6937D5 41
37D8 7137DB 2637DE 7337E1 1037E4 7537E7 9-137EA 7737ED 78
37FO 79rm-'J e oj'/KG 81
19 6000 82
15 6800 82Íl 76
00 8207 8400 8203 92
00 82
00 0000 82
96 0700 8292 15
00 82
88 2300 8284 31
00 8280 3900 82
76 4700 8272 54
00 8268 62
00' 8264 70
00 82
60 7800 82
56 86
00 8352 9400 8249 0100 824b 09
00 á2di 17O'i ¡j:>
37 Ü5
db 40h, 19b, 6oh, 79h,00h,82h
db 42h, 15h, 68h, 63h,00h,82h
db 44h, llh, 76h, 44h,00h/82h
db 46h, 7h, 84h, 31h(00h,82h
db 48h, 3h, 92h, 15h,00h,82b
db 50h, Oh, Oh, Oh/00h,82h
db 51h, 96h, 7b, 84h,00h,82h
db 53h, 92h, 15h, 68h',00h,82h
db 55h, 88h, 23h, 52h,00b,82h
db 57h, 84b, 3lh, 36h,00b,82h
db 59h, 80b, 39h, 20h,00h,82h
db 6lh, 76b, 47h, 5h,00h,82h
db 63h, 72h, 54b, 89bíOOb,82h
db 65h, 68h, 62h, 73h,00h/82h
db 67h, 64b, 70b, 57h,00b/82h
db 69h, 60h, 78H, 4lb,00hí82h
db 71h, 56h, 86h, 26h,00h,82h
db 73b, 52h, 94h, 10b,00h,82h
db 75b, 49h, "ih, 94bíOOb,82h
db 77h, 45h, 9h( 78h,00h,82h
db 79h, dlh, 17tl, 63h.JOOhI82h
db 81h, 37b, 35hf 53h(00h,82h
; valor adc ( 148 )
; valor adc { 149 )
,- valor adc ( 150 )
7 valor adc ( 151 )
,- valor adc ( 152 )
valor adc ( 153 ) =
; valor adc ( 154 )
,- valor adc { 155 )
7 valor adc ( 156 )
i valor adc ( 157 )
; valor adc ( 158 )
7 valor adc ( 159 )
; valor adc ( 160 )
; valor adc ( 161 )
; valor adc ( 162 }
; valor adc { 163 )
7 valor adc ( 164 )
; valor adc ( 165 )
; valor adc [ 166 )
7 valor adc ( 167 )
; valor adc ( 168 )
; valor adc ( 169 }
= 40.19608
= 42.15686
= 44.1.1765
= 46.07843
= 48.03922
50
= 51.96078
= 53.92157
= 55.88235
= 57.84314
= 59.80392
- 61.76471
= 63.72549
= 65.68627
= 67.64706
- 69.60784
= 71.56863
= 73,52941
= 75.4902
= 77.45098
= 79.41177
= 81.37255
37F9 53 00 8237FC 83 33 33 db 83h, 33b, 33h, 37h,00h,82h37FP 37 00 823802 85 29 41 db 85h, 29b, 41h, 21h,00h,82h3805 21 00 823808 07 25 49 db B7h, 25h, 49b, 5h,00h,82b380B 05 00 82380E 89 21 56 db 89h, 21h, 56h, 83b,OGh,82h
3811 83 00 82
3814 91 17 64 db 91h, 1711, 64h, 68h,00h,82h3817 68 00 82
381A 93 13 72 db 93b, 13h, 72h, 52h,QQh,82h
; valor adc ( 170 ) = 83.33334
; valor adc ( 171 } = 85.29412
; valor adc ( 172 ) =. 87.25491
7 valor adc ( 173 ) = 89.21568
7 valor adc ( 174 ) = 91.17647
; valor adc ( 175 ) = 93.13725
The Cybernatic Micro Systems 8051 Family Assembler, Versión 3.02 Page 68
11-03-94
381Ü 523820 953823 363826 973829 20382C 99382F 043832 103835 393838 10383B 17383E 103841 96jsd-j a o3847 74
384A 10
384D 53
3850 11
3853 31
3856 11
3359 09
385C 11
385F 87
38fa'2 11
3865 66
3868 11
386B 45
386E 12
3871 23
3874 12
3877 01
387A 12
387D 80
3880 12
3883 59
3886 12
3889 36
388C 13
388F 14
3692 13
3895 933898 13
389B 71
00 82
09 80
00 82
05 88
00 -82
01 96
00 82
09 80
00 83
2$i 41
00 83
íí£í 01
00 U3
6» S2
00 83
88 23
00 83
07 8d
00 83
27 45
00 83
47 05
00 83
66 66
00 83
86 27
00 83
05 88
00 83
25 49
00 83
45 09
00 83
64 70
00 83
84 31
00 83
03 92
00 83
23 52
00 83
43 13
00 83
db 95b, 9h, 80h, 36h,00h,82h
db 97h, 5b, 8Bh, 20h,00h,82h
db 99h, Ih, 96b, 4b,00b,82b
db lOh, 9h, 80hV 39híOOhí83h
db lOh, 29h, élh, 17h,00b,83h
db IQh, 43h, ih, 96b,QOb,83h
db 1 Oh, 68h, 62h, 7<lb,DOh,83b
db lOh, 88h, 23h, 53b,00h,83b
db llh, 7h, 3dh, 3ih,ooh,83h
db lili, 2'>h, 45h, 9b,00h,83h
db llb, d7b, 5b, 87h,00h,83h
db llh, 66h, 66h, 66h,00h,83b
db llh, 86h, 27h, d5h,00h,83h
db 12h, 5h, 88h, 23b/OOhJ83h
db 12h, 25h, 49b, lh,00h,83b
db 12b, 45h( 9h, 80h,00h,83h
db I2b, 64h, 70h, 59h,00h,83h
db 12b, 84b, 31b( 36h,00h,83b
db 13h, 3h, 92h, 14h,00h/83b
db 13b, 23b, 52h, 93h,00h,83h
db 13h, 43h, 13b, 71b,00hí83h
j valor adc ( 176 ) =
¡ valor adc ( 177 ) =
,- valor adc ( 178 ) =
,- valor adc ( 179 ) =
7 valor adc ( 180 )
7 valor adc ( 181 )
; valor adc ( 182 )
,- valor adc ( 183 }
; valor adc ( 184 ) =
,- valor-adc ( 185 ) =
; valor adc ( 186 ) =
; valor adc ( 187 )
7 valor adc { 188 )
; valor adc { 189 ) =
; valor adc ( 190 ) =
7 valor adc ( 191 ) =
; valor adc ( 192 )
,- valor adc ( 193 )
i valor adc ( 194 ) —
; valor adc ( 195 )
? valor adc ( 196 )
95.09804
97.05882
99.01961
: 100.9804_
= 102.9412
: 104.902
= 106.8627
= 108.8235
110.7843
112.7451
114.7059
= llb.6667
- 118,6274
120.5882
122.549
124.5098
= 126.4706
= 128.4314
130.3922
= 132.3529
= 134.3137
389E '13 62 74 rtb ]3h, CUb , 7-íh ( 50h,00h,83h
3 U Al 50 00 8'J
3ÍÍA4 13 82 3£ db 131), 82ü, J5H, 28h,00h,83h38A7 28 00 83
38AA 14 01 96 db 14b, Ih, 96b, 7b,00h,83b30AD 07 00 33
38BO 14 ^1 56 db 14h, 21h, 56h, 85h,00h,83h3SB3 85 00 83
38B6 1-1 41 17 db 14h, -ilb, 17b, 63b,00h,83h
38B9 63 00 83
38BC 14 60 78 db 14h, 60b, 78h, 43h,00h,83b38BF 43 00 83
The Cybernetic Micro SysteraB 8051 Family Assembler, Versión 3.02 Page 69
11-03-94
; valor adc ( 197 ) = 136.2745
; valor adc ( 198 ) = 138.2353
; valor adc ( 199 ) = 140.1961
; valor adc ( 200 ) =s 142.15*69
; valor adc ( 201 ) = ,144.-1176"
; valor adc ( 202 ) = 146-.0784
38C2 14
38C5 22
38CO 15
38CB 00
38CE 15
38D1 79
38D4 15
38D7 57
38DA 15
38DD 35
38EO 15
38E3 14
38E6 15
38E9 92
38EC 16
38EF 71
38F2 16
38F5 49
38F8 16
38FB 27
38FE 16
3901 06
3904 16
3907 84
390A 17
390D 63
3910 17
3913 41
3916 17
3919 18
391C 17
391F 96
3922 17
3925 75
3928 18
392B 53
392E 18
3931 32
3934 18
3937 10
393A 18
393D 89
3940 18
80 39
00 83
00 00
00 83
I!! 60
00 83
3¡) 21
00 83
51) 82
00 83
7B 4300 83
9 ¡3 03
00 83
17 64
00 83
37 25
00 83
56 86
00 83
76 47
00 83
96 07
00 83
15 68
00 83
35 29
00 835.Í 90
00 83
7'1 50
00 83
9'i 11
O'O 83
13 72
00 83
33 33
00 83
52 94
00 83
72 5400 83
92 15
db 14h, 80h, 39h, 22h,00h,83b
db 15h, Oh, Oh, Oh,00h,83b
db I5h, 19h, 60h, 79h,00h,83b
db 15h, 39b, 21b, 57h,00b,83h
db 15h, 58h, 82b, 35h,00b,83h
db 15h, 7Sh, f l3h , 14b,00h,83b
db I5h, 98h, 3h, 9 2 h , O O h , B 3 h
db I6b, 17h, 64h, 71h,00b,83h
db 16b, 37b., 25h, 49b,00h,83h
db 16b, 56h, 86h, 27b,00b,83b
db 16h, 76h, '47b, 6h,00b,83h
db 16b, 96h, 7h, 84h,00h,83h
db I7h, I5h, 68h, 63h,00h,83b
db 17h, 35b, 29h, 41h,00h,63h
db 17h, 54h, 90h, 18b,ÓOh,83b
db 17b, 74h, 50h, 96h,00h,83h
db 17b, 94h, .llh, 75h,00h,83h
db 18h, 13b, 72h, 53h,00h,83h
db 18b, 33h, 33b, 32b,00b,83h
db 18h, 52h, 94b, 10h,00h,83h
db 18h, 72h, 54h, 89h,0ph,83h
db 18h, 92h, 15h, 68h,OObJ83b
7 valor adc ( 203 )
; valor adc ( 204 ) =
,- valor adc ( 205 )
; valor adc ( 206 )
,- valor adc ( 207 J
; valor adc ( 208 )
; valor adc ( 209 ) :
; valor adc ( 210 )
; valor adc ( 211 )
; valor adc ( 212 )
; valor adc ( 213 } ;
; valor adc ( 214 ) :
,- valor adc [ 215 )
; valor adc ( 216 )
; valor adc [ 217 )
; valor adc ( 218 )
; valor adc ( 219 )
; valor adc ( 220 )
-, valor adc ( 221 )
,- valor adc ( 222 )
; valor adc ( 223 }
; valor adc ( 224.)
= 148.0392
150
= 151.9608
= 153.9216
= 155.8824
= 157.8431
= 159.8039
= 161.7647
= 163.7255
= 165.6863
= 167.6471
= 169.6078
= 171.5686
= 173.5294
= 175.4902
= 177.451
= 179.4118
= 181.3725
= 183.3333
= 185.2941
= 187.2549
= 189.2157
3943 68 DO 83
3946 19 i;l 76 db 19h, llh, 76h, 47b,OQh,83h
3949 47 00 83
394C 19 3U 37 db 19h, 3lh, 37h, 25h,00h,83h
394F 2 5 - 0 0 83
3952 19 50 98 db 19b, 50h, 98b, 4b,00h,83b
3955 04 00 83
3958 19 70 58 db 19h, 70h, 58h, 82h,00h,83h
395B 62 00 83
395E 19 90 19 db 19h, 90h, 19h, 61h,00h,83b
3961 61 00 833964 20 0!í 80 db 20h, 9h, 80h, 39h,00b,83h
i valor adc [ 225 ) = 191.1765
; valor adc ( 226 } = 193.1373
; valor adc ( 227 ) = 195.098
7 valor adc ( 228 ) ~ 197.0588
; valor adc ( 229 ) = -199.0196-
; valor adc ( 230 ) = 200.9804
The Cybernofcíc Micro Systerae 8051 Family Aesembler, Versión 3.02 Page 70
11-03-94
3967 39
396A 20
396D 17
3970 20
3973 96
397G 20
3979 74
V) 70 ?.Q
397P 53
3982 21
3985 313988 21
398B 10
3S8E 21
3991 88
3994 21
3997 66
399A 21
39SD 45
39AO 22
39A3 23
39A6 22
39A9 02
39AC 22
39AF 80
39B2 22
39B5 57
39B8 22
39BB 35
39KE 23
39C1 15
39C4 23
39C7 94
39CA 23
39CD 72
39DO 23
39D3 51
39D6 .'J339D9 39
39DC 24
39DF 0739E2 24
39E5 86
00
29
00
49
00
6»
00
68
00
0700
270047
00
66
00
86
00
05
00
25
00
450064
00
64.
00
03
00
23
00
43
00e;:00s;¡00
01
002%
00
83
41
83
01
83
63
83
2 J
83
84
83
45
83OG
836683
27
83
88
83
49
83
09
83
7083
31
83
92
83
52
83
138374833583
96
83
56
83
'db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
2 Oh;
20h,
2 Oh,
2 Olí,
21h,
21h,
21h,
21h,
21h,
22h ,
22h,
22h;
22h,
22h,
23h,
23h,
23h,
23h,
23h,
24h,
24h,
29h,
49h,
6iíhf
88h,
7h, i
27)1;
¿7b,
6fíh,
S6h,
5h, I
25h,
45h,
64h,
84h,
3b, ;
23h,
43h,
62h;
82 h.
Ih, í
21h,
!
>lh, 17h
Ih, 96b,
62h, 74h
23h, 53h
B4h, 31h,
45h, lOh
5h, S3h,
Sbbj G6h
2Vh, 45h
B8h, 23h,
49b, 2b,
9h, 80h,|Í70h, 57b
i3 ib; 35h
32h, 15h,
52h, 94h
13b, 72h
7dh, 5lh
3511, 39h
,00h
00h(
,00h
,00h
OOb,
,00b
OOb,
,00h
,00h
00h(
OOb,
OOh,
,00h
,00h
OOh,
( 00h
,00h
;00h
,00h
,83h
83h
,83b
,83b
83h
,83h
83h
,83h
, 83h
83h
83h
83h
,83b
,83h
83h
, 83h
;83h
,83b
,83h
íGh, 7b,00h,83h
56h, 86b , OOh ,83h
; valor adc
r valor adc
; valor adc
,- valor adc
,- valor adc i
; valor adc
,- valor adc i
; valor adc
; valor adc
-, valor ¿tdc i
; valor adc i
,* valor adc i
,- valor adc
,- valor adc
; valor adc i
; valor adc
; valor adc
; valor adc
,- valor adc
7 valor adc (
; valor adc
( 231
( 232
( 233
( 234
E 235
( 235
[ 237
( 238
( 239
[ 240
( 241
[ 242
( 243
( 244
; 245
( 246
( 247
( 248
( 249
250 )
( 251
) = 202.9412
) = 2 0 4 . 9 0 2
) = 206,8627
) = 208.8235
) = 210.7843
) = 212.7451
) = 214.7059
) 1= 216.6667
) = 218.C275
) = 220.5882
} = 222.549
) = 224.5098
) = 2 2 6 . 4 7 0 6
) = 228.4314
) = 230.3922
) = 232.3529
) = 234.3137
) = 236 .2745
) = 238.2353
= 240.1961
) = 242.1569
jyES 3<í 41 17 db 2'íh, 4 lh , I7h, £4h,00h,83b
39EB tí-í 00 y-!
39EE 24 60 7íJ db 24h, GOh, 7üh, 43h,00h,83h39F1 '13 00 8339F-Í 2-i 130 3y db 24h, 80h, 39h, 2lh,ooh,83b39F7 21 1)0 83
39FA 25 00 00 db 2Sh, Oh, Oh, Oh,00b,83h
39FD 00 00 83 ;
3AOO ORG 3AOOH
,- valor adc ( 252 ) = 244.1176
; valor ftdc ( 253 ) ss 246.0784
; valor adc ( 254 ) = 248.0392
7 valor adc ( 255 ) = 250
/TABLA DE VALORES DE CORRIENTE
The Cybernetic Micro Systems 6051 Family Assembler, Versión 3.02 Page 71
11-03-94
3AOO 253A03 00
3A06 2d
3A09 203AOC 243AOF 43
3A12 24
3A15 64
3A18 24
3A1B 863A2E 243A21 07
3A24 23
3A27 293A2A 233A2D 51
3A30 233A33 713A36 23
3A39 943A3C 233A3F 15
3A42 223A45 373A48 223A4B 58
3A4E 22
3A51 80
3A54 22
3A57 023A5A 22
3A5D 223A60 21
3A63 453A66 213AG9 65
3A6C 213A6F 883A72 213A75 10
00 00
01 82
80 39
01 62
60 78
01 82
41 17
01 82
21 56
01 82
01 96
01 82
82 35
01 B2
€-2 74
01 82
4,3 13
01 82
23 52
01 62
03 92
01 82
84 31
01 82
64 70
01 82
65 09
01 82
;¡5 49
01 82
05 88
01 82
136 27
01 82
|>6 66
01 82
(17 05
01 82
Ü7 45
01 82
; TABLA DE CONVERSIÓN
db 25b, Oh, Oh, Oh,01h,82h
db 24h, 80h/ 39h, 20h,01h/82h
db 24h, 60h, 78h, 43h,01h,82h
db 24h, 41h,'17h, 64h,01h,82h
db 24h, 21b, 56h, 86h,01h,82h
db 2-Jn, Ih, 9bb, 7h,01h,82b
db 23h, 82h, 35h, 29h,01h,82h
db 23h, 62h, 74h, 51h,01h,82h
db 23h, 43h, 13h, 71h,01h,82h
db 23h, 23b,' 52b, 94h,01h/82h
db 23h, 3h, 93h, 15hJ01h,82h
db 22h, 84h,' 31h, 37h/01h,82h
db 22h, 64h, 70h, 58h,01h,82h
db 22h, 4Sh,' 9h, BOh^Olh^ah
db 22h, 25h/ 49h, 2h/01h,82h
db 22h, 5h, 88h, 22h,01h,82b
db 21h, 86h, 27h, 45h,01h,82h
db 21h, 66h, 66b, 65hr01b,82b
db 21h, 47b, 5h, 88h,01h,82h
db 21h, 27h, 45h, 10hí01b,82h
valor adc ( O ) =
,- valor adc ( 1 )
,- valor adc ( 2 )
; valor adc ( 3 )
,- valor adc ( 4 )
; valor adc ( 5 ) ~
-, valor adc [ 6 )
,- valor adc ( 7 )
; valor adc ( 8 )
; valor adc ( 9 )
; valor adc ( 10 )
; valor adc ( 11
,- valor adc ( 12
; valor adc ( 13 )
; valor adc ( 14 )
; valor adc ( 15 )
; valor adc ( 16
f valor adc ( 17
,- valor adc { 18 )
,- valor adc ( 19
-25
= -24.80392
= -24.60784 f
= -24.41176
= -24.21569
: -24.01961
= -23.82353
= -23.62745
= -23.43137
= -23.23529
= -23 .03922
) = -22.84314
} = -22.64706
= -22.45098
= -22.2549
= -22.05882
) = -21.86275
) - -21.66667
= -21.47059
) = -21.27451
3AT8 21 07 84 db 2lh, 7h, 84h, 31h, Olh, 32ÍJ
3A7B 31 0>. 823A7E 20 8|3 23 db 20h, 88h, 23h, 53b,01h,82h3A81 53 O:L 82
3A84 20 6¡) 62 db 20h, 68h, 62h, 73h,01h(82h3A87 73 01 83 .
3A8A. 20 49 01 db 2Qb, 49h, Ib, 96h,01h,82h3A8D 96 01 82 '
3A90 20 29 41 db 20h, 29h, 41h, 16h,01h,82h
3A93 16 01 83 : '3A96 20 09 80 db 20b, 9b, 80h, 39h,01h,82h3A99 39 01 82 '' '"'
The Cybernetic Micro Systerns 8051 Family Assembler, Versión 3.02 Page 72; ' ' 11-03-94
; valor adc ( 20 ) = -21.07843
; valor adc ( 21 ) = -20,88235
7 valor adc ( 22 ) = -20.68627
; valor adc (23 )'= -20.4902
; valor adc ( 24 ) = -20.29412
; valor adc ( 25 } = -20.09804
3A9C3A9F3AA23AA53AA83AAB3AAE3 ASI
3AB4
3AB7
3ABA3ABD
3ACO
3AC3
3AC6
3AC9
3ACC
3ACF
3AD2
3AD53AD83ADB
3ADE
3AE1
3AE4
3AE73AEA7APD3AJ>'Ü
3AP3
3AF6
3AP9
3AFC
3AFF
3B02
3B053B083BOB380E3B113B143B173B1A
19
61
198219
04
19
25
19
47
18
67
18
90
18
10
18
33
18
551776179817
in1743
17
61
16
84
16
061G271649
1669
15
92
15
900:170015'0'013101
11
01
92
01
72
01
53
01
3-3
0113019401
74
01
54
01
35O'i'Ib01
96
0176
01
56013701170198
01
78
19
82
58
82
98
82
37
82
7682
15
82
54
82
94
82
33
82
72
82
11
82
50
82
90
82•¿ti
tf~
6b8:i07
82
47
82
86
82
25826482
03
82
43
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
19h,
19h,
19h,
19h,
19h,
18b,
18b,
18h,
18h(
iah,
17b,
I7h,
17b,
17h,
17h,
ish.
itih.
isb.
I6h,
ISh,
15h,
15b,
9 Oh
7 Oh
5Qb
3 Ib
llb
92h
72h
52h
33b
13b
94h
74b
54h
35h
I5b
96h
7Sh
56h
37h
17 h
98h
78b
i
i
i
i
i
,
,
i
i
,
>
i
i
,
i
,
,
,
,
i
,
,
19h, 61h,01h,82h
58h, 82h,01h,82h
98h, 4h,01h,82h
37h, 25h,Qlh,82h
76h, 47h,01h,82h
15h, 67b,01b,82h
54h, 9Qh,01h,82b
94h, 10h,01h,82h
33h, 33h,01h,82h
72b, 55h,01h,82h
llb, 76h,01h,82h
5Óh, 9Bb,01h,82b
90h, 18h,01b,82b
29b, 41hJ01b/82h
58h, 61b,01h,82li
7ht 8.1bjOlh,82h
47h. 6h,01h,82h
SGh, 27hJ01h,82h
25h, 49b,01b/82h
G4h, 69b,01b/82h
3h, 92h/0ih,62h
43h» 14hí01h(82h
; valor adc ( 26 ) =
; valor adc ( 27 ) =
; valor adc ( 28 ) -
; valor adc ( 29 ) =
; valor adc ( 30 ) =
; valor adc ( 31 ) =
; valor adc ( 32 ) -
; valor adc ( 33 ) =
; valor adc { 34 ) =
; valor adc ( 35 } =
; valor adc ( 36 J =
; valor adc ( 37 ) =
; valor adc ( 38 ) =
; valor adc { 39 ) =
; valor adc ( 40 ) =
r valor adc ( 41 ] -
r valor adc ( 42 ) =
; valor adc { 43 ) =
; valor adc ( 44 ) =
,- valor adc ( 45 ) =
r valor adc ( 46 ) =
; valor adc ( 47 ) -
: -19.90196
: -19.70588
-19.5098
-19.31373
; -19.11765
: -18.92157
; -18.72549
-18.52941
; -18.33333
; -18.13725
•• -17.94118
: -17.7451
: -17.54902
-17.35294
-17.15686
-16.96078
-16.76471
; -16.56863
: -16.37255
: -16.17647
-15.98039
: -15.78431
3B1D 14 01 823B20 15 58 82 db 15b, 58h, 82b, 34b,01b(82h3B23 34 01 82 :3B26 15 39 21 db 15b, 39h, 21h, 55b,01h,82h3B29 55 01 82 ;
3B2C 15 19 60 db 15b, 19h, £0b, 79b,0ah,82b3B2F 79 01 82 ' _. „ . - • _ '3B32 15 00 00 db 15b, Oh, Oh, Oh,01h,82b3B35 00 01 82 ; •3B38 14 80 39 db 14b,^80b, 39b, 22b,01h,82h3B3B 22 01 82 '' . j ' '.
3B3E 14 60 78 db 14b, 60h, 78h, 43h,01b,82h
; valor adc ( 48 ) = -lü.58823
; valor adc ( 49 ) = -15,39216
,- valor adc ( 50 ) = -15.19608
valor adc ( 51 ) = -15*
/ valor adc ( 52 ) ='-14.80392
,• valor adc ( 53 ) = -14.60784The Cybetrnetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 73
; ' 11-03-94
3B41 43
3B44 14
3B47 65
3B4A 14
3B4D 85
3B50 14
3B53 07
3B56 13
3B59 28
3B5C 13
3B5F 513B62 13
3B65 73
3B68 13
3B6B 94
3B6E 13
3B71 16
3B74 12
3B77 36
3B7A 12
3B7D 5&
3B80 lí:
3B83 80
3BI39 01
3B8C 111
3B8P 233B92 113B95 415
3B98 113B98 663B9E 11
3BA1 89
3BA4 11
3BA7 093BAA 11
3BAD 313BBO 103BB3 53
3BB6 103BB9 743BBC 10
3BBF 96
01 82
41 17
01 8221 56'01 8201 96
01 82
82 35
01 82
62 74
01 82
43 13
01 82
23 52
01 82
03 92
01 82
84 31
01 6264 70ül 824D 09
01 Ü¿20 4301 32os as01 b2
86 '¿'I
01 82
66 6G
01 82
4? 05
01 82
27 45
01 82
07 84
01 82
88 23
01 82
68 62
01 82
49 01
01 82
db 14h,'41h, i7h, 65h,01h,82h
db 14h, 21h, 56b, S5h,01h,82h
db 14h, Ib, 96b, 7b,01b,82b
db 13h, 82h, 35h, 28b/01h,82h
db 13h, 62h, 74b, 51h,01h,82h
db 13h, 43h, 13h, 73h,01h,82b
db 13h, 23b, 52b, 94bf01h,82b
db 13b, 3h, 92h, 16b/01h,82h
db 12h, Sílh^Slh, 36b(01b,82h
db 12b( 6-lb, 70h, 58h,01b,82h
db 32b, J5b, 9n, 80b,Glh,82h
db 12h, 25h, 43h, lh,01h,82b
db I2h( 5b, 88h, 23h,0ih,82h
dh nh( 86h/ 27h, 45b,01b,82b
db aih, 661v 66h, 66h,01hrS2b
db llh, 47h, 5h, 89h,01h,82h
db llh, 27h, 45h, 9h,01hí32h
db lib, 7b, B4b, 31b,01b,82h
db lOb, 88b, 23h, 53h,Dlb,82b
db 10b, 68h, 62b, 74h,01h,82h
db 10h, 49b( Ib, 96h,01b,82b
; valor adc ( 54 )
; valor adc ( 55 )
; valor adc ( 56 ) -
; valor adc ( 57 )
; valor adc ( 58 )
; valor adc ( 59 )
/ valor adc ( 60 )
; valor adc ( 61 ) =
,- valor adc ( 62 )
,- valor adc ( 63 )
; valor adc ( 64 ) =
; valor adc ( 65 ) =
; valor adc ( 65 ) =
,• valor adc ( 67 )
; valor adc ( 68 )
; valor adc { 69 ) =•
¡ valor adc ( 70 ) -
; valor adc ( 71 } -
; valor adc ( 72 )
7 valor adc ( 73 )
; valor adc ( 74 } =
= -14.41177
= -14,21569
-14,01961
= -13.82353
= -13.62745
= -13.43137
= -13 .23529
-13 .03922
= -12.84314
= -12.64706
-12.45098
-12.2549
-12.05882
= -11 .86275
= -11.66667
-11.47059
-13 .27451
-11.07843
= -10.88235
= -10.68627
-10.4902
3BC2 10 ;!9 -11 db lOh, 29h, ' í l lh , 17h,01h,82h
3ÜC5 17 01 82
3BC8 10 09 80 db lOb, 9h, SOh, 39h,Qlh,82h3BCB 39 01 82
3ECE 99 01 95 db 99h, Ib, 96b, 'íh,01b,8lb3BD1 04 01 31 :
3BD4 97 05 68 db 97h, 5h, 88h, 20b,01h,81h3BD7 20 01 81
3BDA 95 09 80 db 95h, 9h, 80b, 36b,01b,81h3BDD 36 01 813BEO 93 13 72 db 93b, 13h, 72b, 52b,01b,81b
3BE3 52 01 81Itie Cybernetic Micro Systems 8051 Family Asseinbler, Versión 3.02 Page 74
I 11-03-94
; valor adc ( 75 ) = -10.29412
; valor adc ( 76 ) = -10.09804
valor adc ( 77 ) = -9.90196
; valor adc ( 78 ) = -9.705882
; valor adc [ 79 ) = -9/5098.04 •
; valor adc ( 80 ) = -9.313725
3BE63BE9
3BEC
3BEF3BF2
3BF5
3BF8
3BFB3BFE
3C01
3C043C07
3COA3COD3 CIO
3C13
3C163C193 C1C
3C1F
3C223C25
3C38
3C2B;?*, 3C2E
.••fj* 3C31
M 3C34
£jfc 3C37JT* 3C3AífÜrí 3C3D
ÍNl 3C40
f3C43
3C463C493C4C
f • ; 3C4F340 3C52
*£ 3C55'^íft 3C58
:M~ jS 3 C5B
§^ 3C5E3C61
.^ 3C64
1
9174
89
6987
05
85
1583
31
8147
796277
78
75
0073
10
7126
69
4167
57
657363
89
6105
5920
5736
55
5253
68
5184
50
17
O'l
21
01
25
O L
29
0133
01
3701
410145
01
49
0152
01
56
01
60
0164
01
68
0172
01
7601
80
0184
01
88
0192
01
9601
00
54
81
56
8149
81
41
8133
81
2581
178109
81
02
8194
81
86
81
78
8170
81
62
8154
81
4781
3981
31
81
23
8115
81
07
81
00
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
db
9 Ib
89b
87h
05h
83h
8lh
79b
77h
75h
73h
7 Ib
69b
67h
65h
63h
61h
59b
57h
55b
53h
5 Ib
50b
,
,
,
,
i
,
,
,
i
,
,
i
,
,
,
i
i
,
,
i
i
17b, 64b, 74h,01b,81h
2ih,'seb, 89h,oih,sih
25h, 49b| 5h,01h,81h
29h, dlb, 15h,01b,81h
33h, 33h, 3ih,oih,sih
37b, 25b, 47h,01b,81h
41h, 17b, 62h,01b,81b
45b, 9b, 78h,01h,81h
49h, 2h, Oh,Qlh,81h
52b, 94b, 10b,01h,81h
56b, 86b, 26h,01b,81h
60h» 78h, 41h,Qlh,81h
64h, 70h, 57h,Ólh,81b
68h, 62h, 73h,01h,81h
72h, 54b, 89h,01h,81h
76h, 47b, 5h,01h,81h
eoh, 39h, 2oh,oib,8ih
84h, 31b( 36b,01h,81b
88h', 23b, 52h,01b,81h
92b, 15h, 68b,01h,81b
96h, 7h( 84b,01h,81h
Ob, Ob, Oh,01h,81h
; valor adc ( 81 )
7 valor adc ( 82 ) :
7 valor adc ( 83 ) =
; valor adc ( 84 )
,- valor adc [ 85 )
; valor adc ( 86 )
; valor adc ( 87 )
/ valor adc ( 88 ) =
; valor adc ( 89 } =
7 valor adc ( 90 )
? valor adc ( 91 )
7 valor adc ( 92 )
; valor adc ( 93 )
; valor adc ( 94 ) :
,- valor adc ( 95 ) ;
7 valor adc { 96 ) =
; valor adc { 97 ) :
j valor adc ( 98 ) :
; valor adc ( 99 ) :
j valor adc ( 100 J
7 valor adc ( 101 )
; valor adc ( 102 ) =
-9.117647
-8.921569
-8.725491
= -8.529411
= -8.333333
= -8.137255
= -7.941176
-7.7-15098
7.54902
-7.352941
-7.156863
-6.960784
-6.764706
-6.56862?
-6.372549
-6.176471
-5,980392
-5.784314
-5.588235
= -5.392157
-5.196078
5
3CG7 00 01 81
3CGA 48 03 92 db 4Qh. 3h, 92h, 15h,0lh,81b3C6D 15 01 813C70 ib 07 8a db 46h, 7h, tíah, abh,oih,8ah3C73 28 01 813C7G 44 11 76 db d-Jh, 3 Ib, 75b, 47b,0ab,81b3C79 47 01 81
3C7C -12 15 68 db 42h , I5h, 68h, 63b,01h,81h3C7F 63 01 813C82 40 19 60 db 40h, 19h, 60b, 79b,01h,81b
3C85 79 01 81
3C88 38 23 52 db 38h, 23b, 52b( 94b,0lh,81b
í valor üdc ( 103 ) s -J.803922.
r valor adc ( 1G<! ) s- -J.607843
; vulor adc ( 105 ) =; -4.411765
; -valor adc ( 106 ) = -4'.21568G
; valor adc ( 107 ) = -'4.019608
; valor adc ( 108 ) = -3.823529The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 75
11-03-94
3C8B3C8E3C913C9-13C973C9A3C9D3CAO3CA33CA63CA93CAC3CAP3CE23CB53CB83CBB3CBE3CC13CC43CC73CCA3CCD3CDO3CD33CD63CD93CDC3CDF.3CE23CE53CE83CEB3CEE3CP13CP43CP73CPA3CFD3DOO3D033D063D09
94 01
36 2710 01
34 31
26 01
32 35
42 01
30 39
58 01
28 43
73 01
26 47
86 01
24 50
03 01
22 54
18 01
20 58
35 01
18 62
49 01
16 66
65 01
14 70
81 01
12 7 i,
97 01.
10 7£l13 01
88 3JI
94 01
68 63:
52 01
49 Oi
07 01.
29 4:i
65 01.
98 03
15 0198 0315 0029 4165 00
db
db
db
db
db
db
db
db
db
db
814581378129812181138105
819881
908182
81
74
8166 db8158 db81
50 db8143 db81
52 db8074 db
8096 db80
17 db8092 db7F92 db7F17 db80
36h, 27h, 45h, 10h,01h,81h
34h, 31h( 37h, 26b/0ih/81b
32b, 35h, 29h, fi2hfOihr8i'b
30h( 39h, 2ih, 58h,oih,sih
28h, 43h, I3h, 73h,oah,81h
26h, 47b, 5b, eeb/Olb.Slb
24b, S0hr 98h, 3b,Dlh,8ab
22h, 54h, 90h, ISh^Olh^lh
20h, SSh, 82h( 35h,0ibí81b
18h, 62b, 711-j, 49híOlh,81h
I6b, 66b, 66b, SSh/oih^ih
I4hí 70b, 58h, BlhíOih/sih
I2h, 74b, 50h, 97b,0ih(81b
lOh, 78b/ 43h, 13h,0lh(81h
88br 23h, 52b, 94br01h,80b
68h, 62h/ 74h ( 52h/01hí80h
-19b, Ib, 96b, 7hJ01h,80b
29b, 41h, 17h, eSb.Olh^Oh
98b, 3b, 92h, 15b,01h,7Fb
gSh, 3b( 92h, l5h/OOh/7Fh
29h, 41h, 17b, SSh^Oh^Oh
7 valor adc ( 109 ) =
,• valor adc ( 110 ) =
,- valor adc ( 111 ) =
; valor adc ( 112 ) =
; valor adc ( 113 ) =
7 valor adc ( 114 ) = -
,- v^lor adc ( 115 ) s -
,- valor adc ( 116 ) =
7 valor adc ( 117
; valor adc ( 118
; valor adc ( 119
} valor adc ( 120
,- valor adc ( 121
; valor adc ( 122
; valor adc ( 123
; valor adc ( 124 ) - -.
? valor adc ( 125 ) = -
; valor adc ( 126 ) =
; valor adc ( 127 ) = •
; valor adc { 128 ) =
; valor adc ( 129 ) -
\ -
) =
) =
) =
-3.627451
-3.431373
-3 .235294
-3.039216
-2.843137
2.647059
2.45098
-2 .254902
-2 .058824
-1.862745
-1.666667
-1.470588
-1,27451
-1,078431
-.8823529
,4901961
-.2941177
-9.803922E-02
9.803922E-02
.2941177
JDOC 49 01 96 db 49h, lh( 96h, 7h,00h,80h
3DOF 07 00 803D12 58 (¡2 74 db 68h, 62h, 74b, 52b,.0ph,80h
3D15 52 00 80
3D18 88 ¡13 52 db 88b, 23h, 52b, 94h,00h,80h3D1B 94 00 80
3D1E 10 V8 43 db lOh, 78b, 43h, 13h,00h,81h3D21 13 00 81
3D24 12 V4 50 db 12b, 74h, 50h, 97h,00h,81h
3D27 97 00 813D2A 14 70 58 db I4b, 70b, 58h, 81b,00b,81b
3D2D 81 00 81The Cybernetic Micro SysteniB 8051 Family Assembler, Versión 3.02 Page 76
: ' 11-03-94
; valor adc ( 130 ) = ,4901961
,- valor adc ( 131 } = .6862745
; valor adc ( 132 ) = .8823529
; valor adc ( 133 ) = 1,078431
; valor adc ( 134 ) = - 1.27451*
; valor adc { 135 ) = 1.470588
3D30 163D33 65
3D36 183D39 493D3C 20
3D3F 353D42 32
3D45 183048 24
3D4B 03
3D4E 263D51 86
3D5-1 'JO
3D57 73
j|V>A ;0
3D5D 533D60 32
3D63 -123D66 34
3069 26
3D6C 363D6P 10
3D73 383D75 943D78 40
3D7B 793D7E 423D81 63
3D84 44
3D87 47
3D8A 463D8D 28
3D90 483D93 15
3D96 503D99 003D9C 513D9F 843DA2 53
3DAS 683DAS 553DAB 523DAE 57
()6 66
00 81
62 74
00 81¡58 82
00 81
Ü 4 90
DO 81!)0 98
00 81
47 0500 81
33 13
00 ¿1
J'J 21
00 81
35 29
00 81
31 37
00 81
27 4500 81
23 52
00 8119 60
00 8115 68
00 8111 76
00 Bl
07 8400 81
03 92
00 81
00 00
00 81
$16 0700 81su is00 81Ít8 23
CIO 81
ÍH 31
db I6h,. 66b, 66h, 65h,00h,81h
db 18h, 62h, 74h, 49h/00b,8lb
db 20h, 58b, 82h, 35b,00b,81h
db 22h, 54h, 90h, 16h,00b,8lh
db 24h, 50h, 98b, 3h,ooh,81h
db 26h, 47h, 5h, 86h,00h,81h
db 20h, 43h, 13h, 73h,00h,8lh
Ub 30n, 39h, 2lh, 58h,00h(8lh
db 32h, 35h, 29hy 42h/00h/81h
db 34h, 31h, 37b, 26h,00h,8lh
db 36b, 27h( 45b, lOb^Ob.eih
db 38h, 23h, 52h, 94h,00h,8lh
db 40h, I9h, 60h, 79h,00h,8ih
db 42h, I5h, 68h, SSh/OOh/Sih
db 44hf llh, 76h, 47h/00b,8lb
db 46h( 7h, 84h, 2Bb,OOh,81h
db 48h, 3h( 92h, 15b,00h,81b
db 50h, Oh, Oh, Oh,0üb,81h
db 51h, 96h( 7h, 84b/00hí81b
db 53b, gah, I5h, GebíOOhySih
db 55h, SSh, 23h, 52h/00h(81h
db 57h, 84h, 3ih, seh^Oh^Slb
; valor adc { 136 )
; valor adc ( 137 )
; valor adc ( 138 )
/ valor adc ( 139 )
r valor adc ( 140 ) •
-, valor adc [ 141 ) ••
r valor adc ( 142 )
,- valor adc ( 143 )
: valor adc [ I4d )
; valor adc [ 145 )
,- valor adc { 146 )
; valor adc ( 147 )
; valor adc ( 148 )
; valor adc ( 149 }
,- valor adc ( 150 )
; valor adc ( 151 ) =
; valor adc ( 152 ) =
; valor adc ( 153 ) -
,- valor adc ( 154 } :
,- valor adc ( 155 )
; valor adc ( 156 )
,- valor adc ( 157 )
= 1.666667
= 1.862745
= 2.058824
= 2.254902
= 2.45098
= 2.647059
= 2.843137
= 3.039216
= 3.235294
= 3.J31373
s 3.627451
= 3.823529
= 4.01560&
= 4.215G06
= 4.411765
: 4.607843
-. 4.803922
5
: 5.196078
= 5.392157
= 5.588235
= 5.784314
^ 36 00 81
3DB-J 59 80 39 db 59b, 60h, 39b, 20h,00h,61h3DB7 20 00 613DBA 61 76 47 db 61h, 76h, 47h, 5h,00h,81b3DBD 05 00 813DCO 63 72 5-: db S3b, 72b, Süb, 89b,00b,8lb
3DC3 89 00 813DC6 65 68 62 db 65h, 68h, 62h, 73h,00h,81h3DC9 73 00 813DCC 67 64 70 db 67b, 64b, 70h, 57b,00h,81h3DCF 57 00 81
3DD2 69 60 78 db 69b, 60b, 78h, 41h,QOh,81h
,- valor adc ( 158 ) - 5.980392
• valor adc ( 159 } - 6.176471
; valor adc i 160 ) = 6.372549
; valor adc ( 161 ) = 6-.S68627
; valor adc ( 162 ) - '6.764706
; valor adc ( 163 ) = 6.960784The CyberneUic Micro Sysbems 8p5l Family Aeseinbler, Versión 3 ,02 Page 77
11-03-94
3DD5 413DD8 71
3DDB 26
3DDE 73
3DE1 10
3DEd 75
3DE7 00
3DEA 77
3DED 76
3UPO 79
3DF3 623DF6 81
3DF9 47
3DFC 833DPF 31
3E02 85
3E05 15
3E08 87
3EOB 05
3EOE 89
3E11 89
3E14 91
3E17 74
3E1A 93
3E1D 52
3E20 95
3E23 36
3E26 97
3E29 20
3E2C 99
3E3F 043E32 10
3E35 39
3E38 10
3E3B 17
3E3E 10
3E4.1 96
3E44 10
3E47 74
3E4A 10
3E4D 533E50 11
3E53 31
00 8156 8600 6152 94
00 8149 02
00 81
45 0900 81
4] 17
00 8137 2500 81
33 33
00 81
29 41
00 81
25 49
00 81
21 56
00 81
17 64
00 81
13 72
00 81
OS' 80
00 8105 8800 8103. 96OC1 81OSI 80
00 82
251 41
OC1 82
4£) 01
Otl 82
61! 62
00 82
8tt 23
00 82
07 8400 82
db 71h, 56b, 86h, 26h,00h,81b
db 73h( 52h, 94h, 10h,00b,81b
db V5h, <i9b, 2h, Ob,00b,8ab
db 77h, 45h, 9h, 78h,OOU,8lh
db 7Sh, <ilb, 27h , G2h ( 00h ( e ih
db 81h, 37h, 25h, 47h,00h/81h
db 83h, 33b, 33h, 31b,00b,81b
db 85b, 29h, 41h, 15h,00hf81h
db 87h, 25Í1, 49h, 5b,00h,81h
db 89b, 2Ib, 56b, 89h,00h,81h
db Slb, 17b, 64h, 7db,00h,81h
db 93h, 13h, 72b, sah^OOb/Slh
db 95b, 9b, 80b, 36h,00h(81h
db 97h, Sh, 88b, 20h,00b/81h
db 99bf Ib, 96h, Ub,00h,81b
db lOh, 9h, 80h( 39b,00h,82h
db lOh, 29h, 41b, 17h,00h,82h
db lOh, 49b, lh( 96b ( 00h ( 82h
db 1Oh, 68h, S2b, 7 4h , OOh,82b
db lOh, .BBb, 23b, 53h,00tl /82b
db llh, 7b; 84b, 31bIOOhí82h
; valor adc ( 164 }
; Vttlot adc { 165 )
; valor adc ( 166 ) =
; valor adc ( 167 ) =
; valor adc ( 168 )
,• valor adc ( 169 )
; valor adc ( 170 )
¡ valor adc ( 171 )
; valor adc ( 172 ) =
,- valor adc ( 173 )
; valor adc ( 174 )
í valor adc ( 175 )
j valor adc ( 176 ) =
; valor adc ( 177 ) =
; valor adc ( 178 ) =
; valor adc ( 179 ) =
/ valor adc ( 180 )
; valor adc ( 181 ) -
,- valor adc ( 182 }
; valor adc ( 183 }
; valor adc ( 184 ) -
= 7.156863
= 7.352941
7.54902
7.745098.
= 7.941176
= 8.137255
= 8.333333
= 8.529411
8.725491
= 8.921569
= 9.117647
= 9.313725
9.509804
9.705882
9.90196
10.09804
= 10.29412
10.4902
= 10.68627
= 10.88235
11.07843
3E56" II 27 45 dí> 11H, 27h, 45h, 9 h , 0 0 b , f l 2 h
3E59 09 00 82
3E5C 11 47 05 - db llb, 47h, 5h, 89h,OQb,82b3E5F 89 00 82
3E62 11 66 66 db llh, 66h, 66b, 66h,00h,82b3E65 66 00 82
3E68 11 86 27 db llb, 86h, 27h, 45h,00h,82h3E6B 45 00 82
3E6E 12 05 88 db 12h, 5b, 88h, 23h / 00h ,82h3E71 23 00 82
3E74 12 25 49 db 12b, 25h, 49b, lh ,OOh,B2h3E77 01 00 82 '
The Cybernetic Micro Systeme 8051 Family Assembler, Versión 3.02 Pago 78
11-03-94
; valor adc { 185 ) - 11.27451 '
7 valor adc ( 186 ) = 11.47059
,- valor adc ( 187 ) = 11.66667
; valor adc ( 188 -) = 11.86275
; valor adc ( 189 .} = 12.05882
; valor adc ( 190 ) = 12.2549
3E7A3E7D
3E803 £83
3E86
3E893E8C
3E8F3E92
3E953E983E9B
3E9E3EA13EA4
3EA73EAA3EAD3EBO
3EB33EB63EB9
3EBC3EBF3EC2
3 ECS
3 ECS
3ECB3ECE
3 EDI3ED43ED7
3 EDA3EDD3EEO
3EE33EE63EE93EEC
3EEF
3EF23EF5
3EF8
12 45 0580 00 82
12 64 7058 00 82
12 84 31
36 00 82
13 03 93
16 00 82
13 23 52
94 00 82
13 43 13
73 00 82
13 62 74
51 00 82
13 82 35
28 00 82
14 01 96
07 00 8214 21 56
:85 00 82
14 41 17•55 00 02
14 60 ?8
•13 00 8214 80 39
!Í2 00 82
15 00 00
00 00 82
15 19 60
V9 00 82
US 39 21
US 00 82
1.5 58 82
34 00 82
15 78 43
14 00 82
].5 98 03
92 00 82
16 17 64
69 00 82
16 37 25
49 00 82
36 56 86
db 12h, -ISh, 9h, 80h,00h,32h
db iah, o-lh, 70h, 58b,00h,82h
db 12b, S4b, 31h, 36h,00b,82h
db 13b, 3b, 92h, 16h,00b,82b
db 13h, 23h, 52b, 94h,00h,82h
db 13b, 43h, I3h, 73b,00h,82b
db 13h, 62b, 74h, 5lb,00b,82b
db 13h, óüh, 35b, 28b,00h,82h
db 14h, Ib, 96b, 7b,00h,82b
db 14b, 21b, Seh, 85b,00h,82b
db 14b, 41b, 17h/ 65b,00hí82b
db 14h, 60b, 78h, 43h,00b,82b
db 14h, 80b, 39b, 22b/00h,82h
db 15h, Oh, Oh, Ob,00h,82h
db 15h, 19h, 60h, 79h,00h,82h
db 15h, 39b, 2lb, 55h,00b,82h
db 15b, 58h, 82h, 34h,00h/82h
db 15h, 78h, 43b, 14h,00b,82h
db 15b, 98h( 3b, 92b,00b,82h
db 16b, 17b, 64h, 69h,00b,82b
db 16b, 37h, 25h, 49h(00h,82b
db I6h( 56h, 86h, 27h,00h,82h
; valor adc ( 191 )
; valor adc ( 192 )
; valor adc ( 193 )
; valor adc ( 194 )
,- valor adc ( 195 )
; valor adc ( 196 )
; valor adc ( 197 )
r valor adc ( 198 )
; valor adc ( 199 ) =
,- valor adc ( 200 )
; valor adc { 201 )
; valor adc ( 202 )
,- valor adc ( 203 )
r valor adc ( 204 ) =
,- valor adc [ 205 )
; valor adc ( 206 )
; valor adc ( 207 )
,- valor adc ( 208 )
; valor adc ( 209 )
; valor adc ( 210 )
; valor adc ( 211 )
,- valor adc { 212 }
- 12.45098
= 12.64706
= 12.84314
= 13,03922
=: 13.23529
= 13.43137
= 13.62745
= 13.82353
14.01961
= 14.21569
= 14.41177
= 14.60784
= 14.80392
15
= 15.19608
= 15.39216
= 15.58823
= 15.78431
= 15.98039
= 16.17647
= 16.37255
= 16.56863
3EFIÍ 27 00 023EFE 16 76 47 clb iGh, 7fih, -I7h, 6 h , O Ü h , 8 2 h3F01 06 00 823F04 16 96 07 db I6h, 96h, 7h, 8<lh ,00h ,82b3F07 84 00 82
3FOA 17 15 G8 db 17b, 15b, 68h, 61hfOOh,82b
3FOD 61 00 83
3F10 17 35 29 db 17h, 35h, 29h» 41h,QOb,82b3F13 41 00 82
3F16 17 54 90 db 17h( 54h( 90h, 18h(OOh,S2h3F19 18 00 82 i3F1C 17 74 50 db 17h( 74h, 50h, 98b,00b,82h
,- valor adc ( 213 ) = 16.76471'
; valor adc ( 214 ) = 16.96078
j valor- adc { 215 ) = 17.15686
7 V&lor adc ( 216 } = 17.35294
; valor adc ( 217 ) = 17.54902
; valor adc ( 218 J = 17.7451The Cybernebic Micro Sysbems 8051 Family Assembler, Versión 3.02 Page 79
;. 11-03-94
3F1F 983F22 173F25 763F28 183F2B 553F2F. 183F31 333F34 183F37 103F3A 183F3D 903F40 183F43 673F46 193F49 473F4C 193F4F 253F52 193F55 043F58 193F5B 823F5E 193F61 613F64 203F67 393F6A 203F60 163F70 203F73 S63F7G 20.ií-'V-J '/J3F7C 20
3F7P 533F82 213F85 313FÍÍO 213F8B 103F8E 213F91 883F94 213F97 653F9A 213F9D 45
00 8294 1100 8213 7200 8233 3300 8252 9400 8272 5400 8292 1500 8211 7600 8231 3700 8250 9800 8270 5800 8290 1900 8209 8000 8229 4100 8249 0100 32íjG 62ÜU 8.Í88 2300 8207 8000 8227 4500 8247 0500 8266 6600 S286 2700 82
db 17b, 94b, llh, 76h,00b,82b
db 18b, 13h, ?2h, 55b,00b,82b
db IBh, 33b, 33h, 33b,00b,82b
db 18h, 52b, 94h, 10b,00h,82h
db 18b( 72b, 54h, 90b,00bí82b
db 18h, 92b, 15h( 67b,00b(82h
db 19h, llh, 76h, 47h,00b,82b
db I9h, 31'n, 37h, 25b,00h,82b
db 19b, 50b( 98b, 4h,00b,82b
db 19b, 70b, 58b, 82b,00h,82b
db 19h, 90b, 19b, 61b,00b,82h
db 20h, 9h, 80b, 39h,00bí82h
db 20b, 29b, 4lh, 16b/00b,82b
db 20h, 49h( Ib, 96b(00h,82h
db 2Oh, 6tíb, 52h, 73h,OOh,82b
db 20h, Sab, 23h, 53b ,OOb ( S2h
db '¿ib, 7h, 04h, 31b/oobí82b
db 2lh, 27b, .»5b( 10b,00b,82h
db 2lh, 47h, 5b, 88h,00h/82b
db 21h, 66h, 66b, 65h,00h,82h
db 21b, 86b, 27h, 45h,00h,82b
,- valor adc
,- valor adc
l valor adc
,- valor adc
j valor adc
; valor adc
,- valor adc
,- valor adc
; valor adc (
; valor adc
; valor adc
j valor adc (
í valor adc
; valor adc (
/ valor adc
; valor adc
,- valor adc (
r valor adc
; valor adc (
,* valor adc
; valor adc
( 219 ) =
( 220 ) =
( 221 ) =
( 222 ) =
( 223 ) -
( 224 ) =
( 225 ) =
( 226 ) =
227 ) =
( 228 ) =
( - 2 2 9 ) =
230 ) =
( 231 ) =
232 ) =
( 233 ) =
{ 234 ) =
235 J =
[ 236 ) =
237 ) =
( 239 ) =
17.94118
18.13725
18.33333
18.52941
18.72549
18.92157
19.11765
19.31373
19.5098
19.70588
19,90196
20.09804
20.29412
20.4902
20.68627
20.88235
21.078-13
21.27451
21.47059
21.66667
21.86275
3FAO 22 05 88 db 22h , 5h, 88h, 2 2 h , 0 0 h , 8 2 b
3FA3 22 00 823FA6 22 :¡5 49 db 2 2 h » 25h, 49h, 2h,00b,82b3FA9 02 00 82
3FAC 22 <¡5 09 db 22h, 45h( 9b, 80h ,OQn,82b3FAF 80 DO 82
3FB2 22 64 70 db 22h, 64h, 70h, 58h,00h,82h3FB5 58 00 82
3FB8 22 84 31 db 22h, 84h, 31h, 37h,00n,82h3FBB 37 00 82
3FBE 23 03 92 db 23h, 3h, 92b, 15h,00h,82b3FC1 15 00 82
The Cybernetic Micro Systems 8051 Family Assembler, Versión 3.02 Page 8011-03-94
; valor adc ( 240 ) - 22.05882
; valor adc { 241 ) = 22.2549
; valor adc ( 242 ) = 22.45098
; valor adc ( 243 ) = 22.64706
; valor adc { 244 ) = . 22.84314
; valor adc ( 245 ) = 23.03922
3FC-1 23 ':3 52 db 2jh, 23h, S2h, 94h,OQh,82h
3FCV 9't 00 tí:;
^j-'-JA JJ -13 U db 23b, 43h, 13h, 7lh,00h,82h3FCD 71 00 823FDO 23 132 7d db 23h, 62h, 74h, 5lh,00b,82b
3FD3 51 1)0 8?.
3FD6 23 132 35 db 23h, 82ti, 35h. 29h,00h,82h3FD9 29 00 623FDC 2-1 01 96 db 24h, lh, 96h, 7h,00h,82h
3FDF 07 00 82
3FE2 24 21 56 db 24h, 21b, 5Gli, 86h,00h/82h3FE5 86 00 82
3FE8 2-1 41 17 db 24h , 41h, 17h, 64b,00h,82b3FEB 64 00 823FEE 24 60 78 db 24h, 60h, 78h( 43h,00h,82h
3FF1 43 00 82
3FF4 24 80 39 db 24h, 80h, 39h, 20h,00h,82h3FF7 20 00 823FFA 25 00 00 db 25b, Oh, Oh, Ob ,00b ( 82h3FFD 00 00 82
; valor adc ( 246 ) = 23,23529
; valor adc ( 247 ) = 23.43137
; valor adc ( 248 ) = 23.62745
; valor adc ( 249 ) - 23.82353
T valor adc ( 250 ) = 24,01961
,- valor adc ( 251 ) = 24.21569
,- valor adc ( 252 ) = 24.41176
-, valor adc ( 253 ) = 24 .60704
; valor adc ( 254 ) = 24 .80392
,- valor adc ( 255 ) = 25
0000 END
Tíie cybernobíc Micro systems 6051 Family Assembler, Versión 3.02 Page 8111-03-94
;%T Syiubol Ñame Type Valué
ABSOL L 2E4CKCFIH L 24E6
ACTDIS . . , . £ , 2623ACTI. . L 243EACTUD ? . L 2F1CADCI. , . . , I 1COOADCV I 1EOOARMON1 . L 29AOÍ.RMOH2 I» 29E8AfiWONr. L 399DATAN. , . L 2E51CAMDIS L 2F14
CARSER L 2E56
CCORR ! I 39FF
CDD1 . . • - . . L 2680CDD2 L 26A8
CDD3. L 2 SBC
CDDRAH, L 2674CERO L 2C7BCERO1 U 2C7BCERO2 L 2C7D
COCIENTE L 2E5FCONVN , L 285F
COPIAD L 24EC • ' *
COPIA1 £, 2503
COPIA2. . . . .. L 2555
COSENO L 2E64CRLP. L 2ES9
CVOLT I 33FFD1F I 0835DIS1. L 2E14
DIS2. . . . . . . . . . . . . . I. 2E23DIS3 L 2E2SDISCOM. T l?.0ü
DISDAT. . . . , I 1A01DISTOR. LJ 2EOC
DRPOS I 30FFDBPO L 2652
DSP1. ....".' L 2658DSP2. L 265ED8P3 L 2664
DSP4 L 266ADSP5 L 2670DBPHUH I 0028
DSPRAk I 070FDSPROM , . . 1 2FFTENTERO, L 2E6EFACTOR. L 28DC
FACTOR1 L 28E4FACTOR2 L 2908
FACTOR3 L 292EFACTOR4 L 294F
Tne Cybernetic Micro Systenis S051 Faiitily Assembler, Versión 3.02 Page 8211-03-94
FACTOR5 . L 2961FAPI. . L 2BAB
FAPIA L 2BDCFXPIfi . L 2BF7FAPOS L 2C54FASE . . L 2DBAFASE1 b 2A32
FASE2 L 2A96FASE3 , . . . . . . . L 2AA4FASEá L 2AB2FASES L 2A30
FAGGH L 2C25
FFT L 2C69KPT2 . . . L 2CACPFTJ L 2CCO
FINALIZA. U 0000
POHL. r OCCFFP . I 080B
t'PD I 0811PPD1 L 2AE7
Fl>D2 . . . b 2AE9
FPOS I OD2P
FUOlVSTACK L 2ET3
GRADO L 2AFB
H2BCD b 2E8B
HBGD1 b 2EB4HBCD2 L 2EAO
I ' . . . . . I 09GF
12 L 298E
IARM. I ODEF
IFAfi I QEAF
INDIS?. . L 21-JFINFltí . , . . . L 2DFD
INICIO L 2132
I1TO4RO L 2140
IPOT. - - b 2D89
I POTl b 2D35
IR I OA2F
IW4S. - I QS1D
IRROM I 337F
IX I OB4F
Kl. I 0841
K11NUM I 0001
K1ROM I 3205
K2 I 0847
K2WUM I 0001
KlftOM I 320B
KITER L 2CQP
KNGRUP " . . . . . . , L 2C93
KNSY . . . b 2C97LAZOK b 2CE5
bCD , b 22CO
bECTOR b 280BbbAMA b 38HO
MAPA L 21D7
Ttie Cybernetic Micro SyBt€flíis S051 Pamily Aseeiribler, Versión 3.02 Page 83
11-03-94
MENl b 2199
MEN2 b 21AE
MEN3 b 2 IBA
HEH4. .b 21CF
WEWA L 21A3
MENB. b 21C4MOD», L 2D4?
MOD%2 b 2B6F
M0043 b 2B76
MODK4 b 2B9E
MOD%5 , , . b 2BA5
MODULO L 2087
MULOS I 0005
MUNUW 1 0020
NPF b 2ECO
NX I 33DF
ORDEN - . . . L 2CC2
PAUSA!, . . . . . L 2154IPAUSA2. . . . . f L 2162PAUSA3 L 218A
PI2 I Ü83B
PI2NDV I 0001
SI2R.OM i 31KF
PINC1 L 250P
PINC2 L 2533
PINC3 ' L 252A
PINC4 . . . L 2534
PINC5 L 2535
PINC6 L 2571
PINC7 L 2588
PIMC8 . L 2593
PIWC9 • . L 25A1
PINGA . L 25AB
PINCB . . . . L 25AEPORD I OCOF
POT L 2CAE
POWER I 07FF
PPOS. I OC6F
PUODÜC L 2ECF
RAM1 L 2C60
RAM2 L 2C62
RAM3 L 2C71
RAW4.' L 2C76
RAMRAM. L 2C5C
RAR I 09CF
RARROM. T 32FF
RZOQtll L 2ED9
RESETl. L 2093REBET2. L 20A3
RESET3 L 20EA
RESET4. L 2 OPA
RESTA L 2ED4RESULT. . . . . . L 225E
REVt .' L 2442
R'SVri L 3467
Tfte Cybtrrnetic Micro SyBtems 8051 Ftunily Aseernbler, Versión 3.02 Pag& 3411-03-94
RSVI2 L 2469
KEU13 L 24Díl
REUV L 23ÍIA
Í\EW\ 23BFREW2 lj 23C1
REW3 L 242C
SNUM I 0010
ROM1 . L 2242ROM?.. L 2244
ROM3. L 225ÜROM-i. . . . . . . . . . . . . . 1, 22S5
RQHPAK L. 223E
RUTILA L 2F09
RX - I OA8F
RXPOG L 2DPC
RXSGN L