ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELECTRXCA
Transcript of ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELECTRXCA
ZPÍ2-
- Kl
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRXCA
MEDIDOR DIGITAL DE FACTOR DE POTENCIA PARA
VOLTAJES Y CORRIENTES NO SINUSOIDALES
ANEXO
PROGRAMA ENSAMBLADOR
Programas en QBASIC para,
FILTRO DIGITAL
GRAFXCACION Y GENERACIÓNDE ARCHIVOS DE DATOS
Diego X. 2ambra.no Mora
Marzof 1998
Thfl Cybernetia Micro Systems 8051 Family Aaoembler, Varsion 3.02
1800 «1Q01 -1802 =1803 -
XAQO -1COO =
OOBA =«
OOFE =
OOFD =
OOFB •=
OOEF -
OOFF =
009G =0071 =0076 «
0020 =•0040 =
Thn Cybnrnebia
0080 =
OBFA =OBPB »OBFC »OI3FD «OBFE »OBFF =
3FBO "•3F60 H
3 ES A -3F-1E »3F3C -3FOG «3EF4 -
djczm
* •*•*"• LIOTADO DE COHflT ANTES * " *
DIRECCIONES INICIALES DE LOCALIDADES DE MKMURIA PAlíA ACCEDERAL DISPLAY, TECLADO, MEI-tDRXA DEL DISPLAY, CO1TVERSQRES ANALQGICO-DIGZTALES, Y DIGITAL-ANALÓGICO, ESTOS SE ACCEDEN A TRAVÉS DELPPI 8255 0 COMD LOCALIDADES DE MEMORIA EXTERNA.
DRPA EQU 1000H display LCD: puerto A -> 0255 outDRJ?D EQU 1001U «dc:IN (V,I)¡ pu^rbo B -> B255 inDRPC EOU 1B02I1 beolado-aont: píi^rbo a -> 8255 in-oubDRCH EQU 1803H aontrol world par» el 8255
DA1 EQU 1AOOH direaoión del aanvnrnojc- DA Wl H<1-GDA2 EQU 1COOH dirección del conversar DA #2 H4-7
ETIQUETA DEL CONTROL WORD (CW) DEL PPI-8255
DTIN EQU 08AH ;MODO DE TRABAJO: 8255 PPI
ASIGNACIÓN DE ETIQUF.TAS DE .LOS . . . .BITS DE CONTROL PARA, LOS CQNVERSORES J . , , , ...
DTHR EQU OFEH RESET BIT CO : -TÍR,Inicio dn la aonuersion AD •
DTRDV EQU OFDH RESET BIT Cl : -RDV,leer el valor d« VOLTAJE °n ADC1
DTRDI EQU OFBH RESET BIT C2 ! -RDT, TO READleer el valor d« CORRIENTE nn ADC2
DTINT EQU OEFH RESET BIT C4 : -IÍITR, Iner la señal dainbnrrupoion ' INTR' desde el ADC
CLEAR EQU OFFH sebear todos los BITS
; ETIQUETAS PARA EL NUMERO DE DATOS
LDT EQU 096H ; * de daboa de V e I : 150dndab EQU 071H ; número d» dat:oa: 113dNDT EQU 07GH ; número dat. (puntero) : 113d+5=118d
ETIQUETAS PARA CONTROL DEL TECLADO
mode EQU 0020H ; (1D02IJ) AND 0020H ~> MODEup EQU 00-4 OH ; (1D02H) AND 0040H -> UP
Miaro fíyntom» 8051 Family As a «roblar, Veraion 3.02 P^ge 202-20-98
dvm EQU 0080H ; (1802H) AND OOBOH ~> DOWN
ASIGNACIÓN DE DIRECCIONES A MEMORXA RAMPARA EL MANEJO DEL TECLADO
AUXLCD EQU OBFAHCONTLCD EQU OBFBHCURSOR EQU OBFCHDDRAM EQU OBFDHCARÁCTER EQU OBFEHDÍGITO EQU OBFFH
DIRECCIONES DE INICIO: MENSAJES Y RESULTADOS
ddrl EQU 3FBOH ; panb*lla de monaajei» Jnicinleaddr2 EQU 3F60H ; panball* d« resultados
DIRECCIONES EN RDM .PARA LAS ESCALAS A UTILIZARSE
evR EQU 3F5AJI . diaplay: neanla do voltaje'nevR EQU 3F4EH número: eno^l-l do voltaje«ioj.Il EOU 3F3CH display: ásenla, tfe oorrient*» 1nsalR EOU 3F06H níim<9n»: esoala de aorriint« 1ac2R EQU 3EF4H- ; display: escala de corriente 2
I
3SDO -3F-CB =3ECC =3EBO •=3EAA =
. •/
007C «OJIO 2 ~O B B O »OBBE «
OB77 =0870 =
nsa2R EQUphR EQUnphR EQUanR EQUnanR EQU
DIRECCIONES EN
ov EQU«el EQU*o2 EQUspo EQU
ph EQUan EQU
3 £00 ti3ECEH3ECCH3EBOH3EAAH
RAM .PARA
OB7CHODH21IOBUGHOBOEH
OB77HOB78H
; nfttniKoi osea la de cor ríante 2; display: número de fan*ís; níunero: númaro d« Can^s; di.nplay: calida analogía?»; número: oalida analógica
LAS ESCALAS A UTILIZARSE . •
i/gcala d« voltajenjioala d« oorr^'-nbe 1nnaala de aorriente 2.escala de potencia
numero de fasestipo de salida analógica
DIRECCIONES INICIALES PARA ALMACENAMIENTO DE DATOS EN RAM
OD94 =OB95 -
The Cybornetic Micro
0096 »ony7 fOÍJ9Í) -OB99 »
OCOO -ODOO =
OBEK =
OB7A «OB7B =
01)00 -OBDG =OBDC =
OI3EO =QI1EF. =OBF4 =
;
OEPO =OEDG =OEDC -OEE2 "OEEO =OEEE =>OKF4 •=UEFA =OEFE taOFOO «OF06 -
;
;
OBBE =
OBC-I =
ODOA -OBAO -OBA6 »OBAC =<OBB2 «OBBO «
anv EQUani EQU
OB94HOB95H
;voUa1, ->«Md- analógica/corriente —> salida analógica
Systiínis 8051 Family Assejnbler, Versión 3.02 P*g« 3
anp EQU«na EQUnnCp EQUanfd EQU
adov EQUadoi EQU
rauml EQU
angv EQUangi EQU
XDO EQUKD 1. EQUXD2 EQU
YDO EQUYD1 EQUYD2 EQU
. DIRECCIONES EN
vnna EÜUII.TIIS EQU•vi EQU11 EQUpo EQUfl EQU£p EQU£¡xi EÜU£p« EQUfchv EOUülii EüU
DIRECCIONES EN
direcciones da
K,lfC EQU
' K2K EQU
AO EOUA1, EQUA2 EQUBl EQUB2 EQUKK EQU
ÜÜPfiHOQ97HOUPOHOB99H
OCOO»ODOOH
OBE2H
OÜ7AHOB78H
OÜD01IOJ1D6HOBDCH
OtíESHOBEF.HOBF4 H
RAM PARA
OEDOHOED6UOEDCHOEE2UDEEQJI 'OEEEU1
OEF4 II 'OEFAJI "OEFEHOFOOHOF06H
RAM PARA
02-20-90
/ P -> salid;, analóyJoaíS -> Balido analogía*,-FP -> »«]l..ifjn anfllóyia«;FPD ~> salida analógica
; primor da,to vi( «n RAM 2; primer dato 11, en RAM 2
aouiiiiilador a unía 1
nncrulo en •*! qu= existe Vpiooángulo en el que existe Ipico
fjnLrada; dato oon retardo 0nntrada: cinto con retardo 1,entrada.: dato aon retardo 2
oalida ¡ dato oon r«? tárelo 0oalicla: dato aon retardo 1salida; dato con retardo 2
RESULTAD S
voltaje RMSoorri,e.nt.e RMSarmónico 1 u"e volLaj« (RMS)armón i no 1 dr> uorrietite (RMS)pótündia real (KK)potencia : ' "Tatítor do poü«*naia ' 'faabor de desplazamienton.igno fpctifl torsión ai-món.ica d« volta'j»distorsión armónica de corriente
CONSTANTES
NPF: cttes Usadas en los cálculos
OBBEH
OBCdH
OB9AHOBAOIIOBA6HOBACHOBB2HOBBBH
aireación de la conshante=16A4» 65536 d - .65536 e85
ate => FFIIA2 / 4 : 163<lBd
aoo.fiaip¡nte aü d«J. CiltroaotrCiaionto ni d-?l CilLroaoe.(Tiaieni;e «2 del .filtro : esaalam.cso-CIai«nte bl del filtroco»finiente b2 del filtro
; constante del filtro
Tho Cybornetia Miara Systonua Ü051 Family Asnomblor, Veraion 3,02
DlPi'CCTGNES EN ROM PARA, CONSTANTES
direcciones de NPF: cttes usadas en loa cálculos
3E8C
3EG83E6E3E743E7A3E803E86
002CD U Í J O00810083 '0084O O B 2
K1R
AORMRA2IÍB1.KH2RI<KR
EQU
EQU
EQUEOUEQUEOUEOUEQU
3E92H
3EGBH3EÍVEII3EV4H3E7AH3F.HOU3E86H
dir-cclon d* 1» can* tAnk*>*>16I*'4- 65536 d - .65536 eU5 NPF
direaaion de la. oonstanke=FFHA2/4= 16256 d = .16256 «B5 NPF
aaw.Ciuiont" a,0 d«jl filtroao*j£iai«ntn al il"l filtrooo*>floient9 a2 dol filtrooo--r.LaJ.onb'» bl dol Ciltrono«n.nf «nt*- h2 d«l Ciltroconstante del filtra « 10000
ETIQUETAS UTILIZADAS EH IA SUBRUTlHA : MOSTRAR
expOEOUEOUEQUEOUEQUEQU
2CIIti O l íBill8311Q 1 HB2I1
SUI3RUTIÍÍA DE MANEJO DEL TECI^DO
esta subrutina permite , luego del proceso de inicializacionnacojer las diforentos encalas y otras opciones tniepresenta, el oepij.po (Cunoionna do entradi d*» datos):1.- Escoger la escala do voltaje: 220 o 440 V2.- Escogrir la asoala de corriente:
primera: 1,2,3,4 , S, 12,15 ,"20 , 25 Asegunda: 1,5,10,50,100,250 A
3.— Escocjfjr el tipo de sistema •
4,- Eacog'jir ni tipo de calida analógica;0->5 Vdc, proporcional a: V-I, p-S, fp-fpd,
para efoctuar nstan aaciones se uUiliza una pantalla LCD,en la que an despliegan los inotlnaJHíi, ijuv deben nerna optado" utilizando *•! L«olado tuooi.-pavat.lo, «-t» t«ai»dotiano dos teclas d«> navegación (UP) , (DOHN) , y Una tocia de MODOlos da toa de «ifloalas, nuinoi.-o de Tañes, y sállela analógica,so almacenan en espacios de memoria RAM, por lo que el valor«acogida debe ser transferido desde 1* memoria ROM.
The Cybiscnetic Micro Syatemn 8051 Family Aanombl^r, Versión 3.02
los menoajos oti ln pantalla LCD, 00 trans.fioren desde ROM,a partir de la localidad: flddrl
00000000011111111231567890123456POWER-METER,/nz90
V.SGAL.E? f f f f í f VI.SCALE?##Xff*# Af . PB. 7 # '!'0-5VDC? CL???-???
DE AruwMQur. uní. M.TCROCC/KTHÍÍIJVDOR
ARRANQUE i. ..
onfca subrtíUina «gta toirwd^ dol manual MCS-BAÍJIC52, y permi-to el arr^nqTíQ del sistonw a trauéíi de un REíIET externo. Enni arranq\ie, se borran la," loaalidades de m«morj.a intima(25S) , y al menos las primeras 512 localidades de mr*niorj.aexterna. Se inioializan además loa punteros, lají pilas deargumonton y control, el valor del cristal, la loralizacióndel programa usuario BASIC, y la velocidad de tramamisión
ORG 2001H
; dio* al BASIC qu«; RESET • * oxkwrno
;
20392039 022090
ORGLJMP
ORGLJMP
2003HEXTO
2039H2090H
OKG 209ÜHlocalidad x la cpi« -1 BA31CI. lama para «f<jatuar «1 RESETSCON^SAH, TMOD^IOH, TCON=54H,T2CQN=54H.
2090 78FF
*- INICIALIDACIÓN DE LA MEMORIA INTERNA *•***
MOV RO,*OFFH ," cargo RO can el valar tope d«
Thn Cybornntia Miara Synfcnmn 8051 Family Aíjiornbltr, V^roion 3.02 Pj»gi fi02-20-96
209a FG209-1 DDFD
2096 75(1 UD2099 753E4D
RESETl: MOV HHO,ADJÍJZ RO.IÍESET1
; m»tnori.a ¿ntocna; aciifnulador =» O
; lazo para borrar toda la memoria; interna
IHICIAJ,I?,AR EL SP, Y SU REGISTROÍITI utilizan loe C'ultimoei hito dnl fítnak: 4DII -> 52Hcomo capnoioM do memoria durante la« oubrutinas d«manejo del display LCD
MOV SP.fl'IDH ; -5011= valor inicial; registro del SP
punt*ro
INICIALIZACION DE LA MEMORIA EXTERNA
209C VJ307209E 79FF20AO OOFFFF20A3 A320A-Í F..J20A5 FO20AG EJ320A7 B5B3F920AA E!)20AB BSB2FS
MOVMOVMOV
RESET2: INCCLRMOVXMOVCJHEMOVCJNE
R 3 , N Ü 7 HJU.JTOFFHDPTR,frOFFFFHDPTRAP DPTR, AA, R3A, DPH, RESET2A, RlA, DPL, RESET2
20AK 900.10A20111 71OF20B3 FO20B1 A320H5 7rtFF20B7 FO
20B0 900.10420ÜI3 7'IOF7.0UI) FO20Í3Í: A320BIT 7/IFF20C1 FO
?OC2 9001.0020C5 7-10220C7 FU20CB A320C9 7/10620CB FO
20CC 90010620CF 740F20D1 FU
dir^naión £in«l d« memoriw. RAMR3.RJ. « 07FFHinoroniinto el DPTR en £orrna
INICIAL 12 ACIÓN DE PUNTEROS
htovMOVí-tovxTMCMOVMOVX
MOVMOVMOVXINC
DPTR,ÍÍ10AHA,»OFH6 DPTR, ADPTRA,#OFFH8 DPTR, A
DPTK,#104HA,«OFH8 DPTR, ADPTK
MOVX
MOVMOVMOVXINC
MOVX
MOVMOVMOVX
6DPTR,A
DPTR,K108HA.ÍÍ02H
DPTR
@DPTR,A
DP'm,ÍfjL06HA,ffOFH6 DPTR, A
at iniaializa MJTOP,«in la memoriaoxt"srn» con «1 valor OFFFH
para VARTOP :no fl« consideran vaciablen doltipo STRIHG => MTOP=VARTOP
puntero para matricun DTMUSF.:sin programas en RAM, DIMUSE=518(206H)
puntero de variables VARUSE:se inioializa corno VARUSE=VARTOP(OFFFH), sa consideran 30 variables
Th» Cybernetia Micro Syst«m* 8051 Fajnily Assnmbler, Veroion 3.02
20DD V-1FF2DDS FO
BASIC, para proyraxnaa do prueba ycjrn Clu«ol6n fixí-nenn .
6DPTR.A
PREPARACIÓN DE PILAS DE ARGUMENTOS Y CONTROL
20DC 7509FE2009 7511FE
20DC 90020020DF 740120E1 FO
20E2 U006
20E4 [182 OES 0020EG 0020E7 9220EO 0520E9 11
20EA 9020E420KD E50920EF C320FO 940620 F2 F50920F4 FO20F5 75A00120FQ 7 POS20FA K420FB 9320FC F2'¿uní A320 FE 1.820FF D9F9
2101 7-33A2103 120030
2JOC 7513022109 751400
210C 75O1FF210F 75CAD8
The Cyberne tic
2112 9U18032115 T1BA2117 FO
2110 BlAU
211A 90180221 ID r-;o211E 54CO
MOV 9H,*fOFEH ' • ' • ; iniaializa. la pila dn arqumentoaMOV HH,ffOFEH ; iniaializa la pila de control
+-"••*• + LOCALI2ACIOH DEL PROGRAMA USUARIO *tAi
MOV DPTR, S512 ; si no hay programa» BASIC, neMOV A, #011! ; localixa -1 cAi-«nt«r EOF (finMOVX 8DP5'R,A / de archivo « #OlH) , en 1512
*•*•** CÁLCULOS CON EL VALOR DEL CRISTAL *4"*
SJMP RESET3
XTL: DB 88HDB OOHDB OOH ; dofine al valor del cristal:DB 92HDB 05 HDB 11H ; 11.0592 MHr. = +0.110592 £+08
RESET3: MOV DPTR, ttXTL ; cargo la dirocciotí en ROM, 1» direcciónMOV A, 9 ; en ÁRG STACK, para un nútncro nnCI.R C ; punto flotante.SUBE A..H6MOV 9, AMOV RO , AMOV P2,*lMOV Rl,#6
RESElM ; CLFt A ; transferir ««1 valor del. ori.ntxlMOVC A.PAt'DPTK ; a la piJ.a de argumentos (ARG STACK)MOVX 8RO,A ; del BASICINC DPTR •DEC RODJWZ R1,RESET4
MOV A,ÍI58 ; cargar el. OPBTTF, para loa cálculosLCALL 30H ; con el valor del crintal
**** DIRECCIÓN DE INICIO DEL PROGRAMA USUARIO BASIC illtt
MOV 13M,fl02H • direcaión inioiaj. del BASICMOV 14H,#OOH ; en EPROM (200H - 512d)
**it INICIALI2ACIOÍI DEL PÓRTICO SERIAL iiii
MOV RCAP2JI,dOFFH ; valorea de retía reja paraMOV RCAl'2L,ífOD8H ; 12 MHz, y 9600 baudios (6549Gd)
Micro SystemEi 0051 Family Assotnbler, Versión 3.02 Pagp B07.-20-90
***•* MODO DE TRABAJO; CONSOLA O MICRO i-ti*
SQ naDoj» mediante el boclado el modo d« trabajo,para consola, no dabn prnsionar las teclas UP,DOtfNal mismo tiempo, para el MICRO, solo la tecla MODE
INICIALIZAR LCD -Y ENVIAR MENSAJES
primero inicializo «1 interf>2 PPI:
MOV DPTR, «DRCW ; CONTROL WORD: direcciónMOV A,ffDTIHMOVX 8 DPTR, A
; inicialiao el LCD
ACAI LCDON
MODO DE TRABAJO: CONSOIA O MICRO
; ohocjuenr «1 hoolado :
KEY1:MOV DPTR,TORPCMOVX A, I' DPTRANL A, ¡ÍOCOH ; teclas UP-DOWN aplastadas
2120 B40015 CJIÍE A, í fOOH,KEY2
. ****. ENVIAR MENSAJE A CONSOLA . *í"4-*-
2123 7B3E CSL: MOV R3, ÍÍ3EH ; localidad on 1» qu<s =o encue
C7>
Iit
M
,Cu
O
G «
.- c>
e 9
c a>
Qc
t-
c t
t1-
"T3
Tí
TI
T3 1
) ID
T
J -0
-C
"O
-tí
T3
C¿
H D
O
O
O O
O
^O
OO
OO
OH
-s
Jq
Qs
qp
E»
v H p
c\
H.^
•¿
Uí
DQ
OÍ
EQ
— -.
n j
o
3t-
]o^
- S
* ffi t
í<
o <
U O
O
CDr^
Cl I O
0 O)
n CN
Jcu
o
o n c D •H O U M Oí -1 i..- 5'
> «í ÍJ tu H 10 D ra n e 03 D M o
u H ra i ^ lo o m <
oD
i 0
OC
10 O
O
M
1
< —
OQ
5
r ,4
N T J
g .s
3Q
i-t
*•*
H U H 03 H D O 9 u Q <| Z H § d w
-u
ne
.
O-P
lí
• S H
- U
C k
tt
>
í>-
>
u-
C t
t- O
- O
T3
K
•-
0
U~
n t
H-
B3
V >
D
i-
O —
( C
Di
- -c
rt
o in
.-c o m
-c
e
tN
o —
c n
H-
c ra
o
.
4J r-i
»' r-i
• C
T3
D
--
c re
.•
H-
'—t
¿i
n
c-
C C
0
(4-
E
O J
J.lí
- >
a t- a
. o
u 13
- U
U
f-
a c
. e; u
-
0
D rl
- .u
o -u
e-
rt
-U -rl 4)
•a u
-q c
•a
-Hn
xO
rt
H
r-I
"U & «
(t -
D
É
TJ
r>0
-3
1¡
V~
"Cí
(i F
-Í.H
CE
K
«i -^
lí 4
JU
-n
*•
-fc
p E
r f
uD
-H
—
«'U
Q ~
T-l
a |
%*
K O
tj
-r!
-iJ ü
U
CnB5
M
O -r!
W
Cn
ü-d
ar-
nr~
i
W M
(V C
^ (
fl U
u o
nrin
^
CB H O D n v Oí
10 01
H O H tt U 10 N
H
H U
N
CJ
H0 O
U D
Q'j N
« N
N•?
TJ
T
CM W
r~ n
r- H
H
H o
n m
co
tn 1
3 \o o
u>
« C
V M
M N
Ur-
t- ID
r- v
*r&
w r
-r-
w "
r< u
H f
-l tS
! tV O
n ti
r-
í H
(D
p
D C
u O
í 10
10 o
10 r-
- r-
o; «
N CM
cv
N
W M
M M
W Í
OH
H H
S* H
i-1 i-
"M
pí
en t
e FI
W P
JO
05 >
ca
~: w
to
IO W
M
M M
CO
í(O
M (
O
NI
hs N
o o
o
on
nN
M
M
M M
ÍO
(O
H H
H
I-1
H 1
-* I
-"
8n
n n
n n
nÍQ
at
c\ u
a
Si 3
U í
-1 C
Pl ta
J.-O
W
NJ
MM
Jv
JM
M
(OfO
rOfO
i[-»
j-l.¡-i¡-llJ
l_
lt-l|-
l 1
_ÍW
41
-"
Í-'
•>
>
>>
totc
io-o
«
oto
ioc
:1—
LJ
«-1 C
tB
O a
es
WL
JM
fr:
H
f~ 'r- H
Htu
"z
a oes
CE
O a
<c
a ci
w^
Jfr
j J
rjj -
J \
oü
C -
=» O
i> O
.-TI
3
ni H
fr]
pi
TJ e
n
•» >
Ca
~ TI
T) *
T
•ti CT
3i U
na H
-0
-0
aiEF. tHJOCOO MOV DI'TR,Hadov ; »nvio «1 tU lio do volbaj- a.1 ospauio dw m«moria.21F1 0882 MOV DPL,RO ; RAM asignado21F3 EÜ MOV A,R321F4 FO MOVX BD1>TR,A
21F5 900DOO MOV DP'CR,#*dci ; -nvio ••}. dato de corriente »1 <eap*cio de memoria21FH BB82 MOV DPL,RO ; RAM asignado21FA EC MOV A , R d21FB FO MOVX GDPTR.A
21FC U8 l'WC KO ; reborna. al l^zo (conbeo de dabofi)21FD B8P6B7 CJNE RO , CIJ3T , SITO
2200 22 RET
F.TH DB JA ÜUBRUTIIÍA DK ADQUJSTCIOH DE DATOS
SUBRIJTIHA : ESCALAS •* *•**n- t-i t-
flocribir -?n el LCT "POVn3R-METER/Da98 ; ... "so eiitii.-j.be todo el 'mensaje «n la« 80 loG3lj.dndRS dnRAM del t^D d.ivididnn en doa mit:adna de "í O, paca secluego maotradao en 5 pantAllan d« .1.6 cnra.otr'rnT, B poroadí> mibsd, nóando psr» «íllo la funáion d« dnsplazami^n(SHIFT) en el display
fciransmiLo *il rtt«nBaj«» do ROM a RAM
The Cybecnebic Miaro Sy3^811113 8051 Paniily Asaemblec, Veneion 3.02 Paga 1<102-20-98
2201 y2201 D1EA
9.7.00 P01H022200 EO220A 5420
220C F1DB220E F1DB2210 F1DB2212 B420F1
MOV DPTR,HddrlACALL PROMLCD
MOVMOVX A,SDPTRANL A,flmod<í
ACALL RETARDOACAJ.L RETARDOACALL RETARDOCOWE A,(tmodB,MD3
; tecila mode sin presionar ?
2215 DI67
ESCOJER VARIABLES
chequear elDIñP2teclado:
ESCALA DE VOLTAJE
2217 9 01 B 02221A EO
22. ID F1D1Í22J.F F1DB22»! F1DB2223 B400F1
22 H G 9018022229 EO222A 5120
222C FiDB222E FIDB2230 F1DD2232 B-120F1
2235 F1D02237 7HOO2239 51DB
MOVMOVXAHLACALL'ACALLACALLCJÍÍE
MOVXAHL
ACALLACALLACALLCO1ÍE
ACALLMOVACALL
DPTR,ÜDRPCA, ODPTRA, flinodtsRETARDORETARDORETARDO
A, PDPTR
RETARDO'RETARDORETARDO
PGUP
vs'
MODE presionada ?
mode sin presionar ?
avanzó 1 páginaubica Ion valorno on la tabla.escribo el v*lor '220' en -1 diaplay
I
Q -
H4J
MC «
•§§
o o
oo
- or
e:D
X
G F
-C£
O
as &
C
.<
O
-Q
3
H *
=
~ c
». *
...
ÉU i
<< s
aa<
j «-3
W
Ü £
2u
en:
o o
o -
3= E
- C
Q Q
Q a
:-a
, 3
c c
e EX
o& 2 "
<, <
< D
or¿
f o
o o
* F
- tJ
Q O
'-a
. o
e::£
a £
<í-t
o.
as
r~t
S3
03 H
J (D
o Q
O
Q D
E H
i-* i-i D
r- o
u.
Ci.
03
* ffl
a &
. H
10 o
in
"~.
CV
(V
W
CM
04
a cq
oQ
O f
l-i-
, o
o o
n>
o o
»
c n
: ni p
oH
w
a o
D o
D O
•» i-i H
H -
?O
í tí
in
¡i»
Eif
tij
E2
tx rí
(v
ev N
PJ N
< Q
W£h
Oí
Oí
N W
CV
rv c
v (M
22BC 8042 SJMP W
I
; subrutina para transferir un n.p.£. desde ROM -> RAM
22BE AD0322CO ACU2?.2C2 790C22C4 EJIJ0322CC DAB222CÜ E-l22CÜ 9322CA UDQ322CC OC8 222CE FO22CF OA22WO OC22D1 QI3Q322D3 OAÍ1222D5 D9F122D7 22
ROMRAM:MOV R5,DPM
MOV lulffoc/•IOV 13PM,R3MOV DPL, R2
ROM2 : CLR AMOVC A,(fA+DPTRMOV DPH, RSMOV DPL, R<1MOVX 9DPTR,ATtJC Ií2INC R-1MOV DPM,R3MOV DPL, R2Di/NZ ' Rl, ROM2RET
; «Im^cono dirección RAM de; «ocal* d*
; contador parn el n.p.C.; primor valor "n ROM
; A <- (ROM)
; (RAM) <~ A
; aiguionto valor »n ROM
; nubrutina para, asacibir el valor de voltaje en el dioplay
22D8 900DFD22DB 74 4822DD FO22DE D183
22EO 903F5A22E3 7900
Thw Cybern«tic
'¿7-f.D E 022ES 7ÍÍFOD322K'Í A422KA (J 322E0 AA8222ED AJJÜ322KF 90DBFE22F2 FO22F3 FT2E22F5 8BÜ322F7 (JAD 222 1T 9 050222FH 0922FC D903E6
22FF 22
2300 F1882302 70002304 7163
2306 y01B022309 F.O230A 54-10
23DC F1DB230E F1DB2310 F1DB2312 B4001B
2315 9018022310 tíO2319 5-1-10
23 IB F1DB231D F1DB23 1F F1DB2321 8440F1
2324 0»2325 71632327 F1DB2329 F1DB
vs: MOV DPI-R, HDDRAMMOV A,#4BHMOVX I?DPTR,AACALL MOVDDRAM
MOV DPTR,#gvRMOV Rl,»0
;ubioa esaritura. un la posición 4BH
;do la RAM del display (DDRAM)
Micro Systems B051 Family Aasembler, Versión 3.02 P*g» 17
V31: 1-fOV A,KQMOV B,»3MUÍ, ABMOVC A, 0A-IHPTRMOV R2,DPLMOV R3, DPH(OV D PTR , CARÁCTERMOVX gDPTR,AACALL PJÍ.IHTCHARMOV DPH,R3MOV DPL, R2IHC DPbINC RlCJNE Rl,f(03H,VSl
RET
ESCALA DE CORRIENTE 1
ACALL PGUPK10: MOV R0,#0
ACALL 131
KL1:MOV DPTR, ífDRPCMOVX A, (ID PTRANL A, Hup
ACALL RETARDOACALL RETAJADOACALL RETARDOCJNE .. A, fOOH,K12
KZ11: MOV DPTR,#DRPCMOVX A,f!DPTRAML A, ffup
ACALL RETAIÍDOACALL RETARDOACALL RETARDOCJNE A,#up,KZll
INC ROACALL ISilACALL RETARDOACALL RETARDO
02-20-98
npmitu le tllcacojoii dnl vsJojc(display) do esosla de voltnjo
; hrnnsfiaro onda dígito «1 di.iplayA <- (ROM)gualdo el DPTR
(DDRAM) <~ AROM d« la <tsa*la. da voltajerecupero el DPTR
; avanzo 1 págin*; ubiua los VAlofoo en la tabla; ««ceibo «1 vnlar ' 1'
; tóala UP presionada. ?
-
; toal» up ain pcnoionoi; ?
," ascrájjo el valor 'xx'
I
232B BB09D8 RQ,#09H,K11 ; vuelvo al primer valor: 1
The Cybernebic Micro Sysbema 8051 Fwnily A«semblf»r, Versión 3.02 P*ge 1002-20-90
232E OOD2
23110 901B0223311 El)233-! ."i/I 202 330 Firm233» 1T1DB233A F1DB233C B1QOC7
233F 90180223-12 EO2343 5120
23-15 Fina2317 FIDO2349 F1DB234B B420F1
234E EO234F 7ÍÍFQQG2352 A1
2353 903F062356 2502235U FA2359 ES8323513 FB235C PQOIJ02235F 51BE2361 B02B
23G3 900BFD2366 715023 GB FO2369 D1D3
23GB 903F3C236E 7900
2370 Kfl2371 75F0022374. A-J2375 932376 AAÜ2237 B ABU3237A 900BFE23VD FO237E F12E23BO ÍJBU32302 8AH22384 0582
The Cybernetic
2386 092387 B902E6
238A 22
230B 71)00238D 71EC
238F 901B022392 EO2393 54102395 TÍOS2397 F1DB
K12 i MOVMOVXAWLTvCALLACAJjLACAX-LCJNE
K212: MOVMOVXANL
ACALLACALLACALLCJÍÍE
MOVMOVMUL
MOVADDMOVhtovMOVMOVACALLSJMP
; Subrutina
ISl: MOVMOVMOVXACALL
MOVMOV
ISl i : MOVMOVMULMOVCMOVMOVMOVMOVXACALLMOVMOVJNC
DPTR, /ÍI3RPCA, 1? DPTRA, finodqRETARDORETAPDORETARDOA,#OOH,K11
DP'm./fDRPCA, eDPTRA, Cmode
RETARDORETARDORETARDOA, #mod«,KZ12
A, noB,#6AB
DPTR,í(noGlRA,Dl>LR2, AA, DPHR3, ADPTR.líoalROÍ-tRAMK20
par* escribir el
DPTR, KDDRAMA, «SOH8 DPTR, AMOVDDRAM
DPTR, íoalRRl,*0
A,ROB,ff2.ABA,HA-IDPTRR2 , DPLR3, DPHDPTR, «CARÁCTER8 DPTR, APR.TNTCHARDPH , R3DPL, R2DPL
; t^ala MODE presionada ?
; bacía modo sin presionar ?
-; Apunto 3a diraccion de] valor; nvmieiriao de "íscal». do aorrient*»!
; ubico en R3:R2r la dirección; ROM de IA ooonla d>a aorricntfll
; brans fiero el valor ROM -> RAM
valor de aorríentol *tn oí display
;ubico escritura en la posición 50H
;de la RAM del display (DDRAM)
brnnn£i»ira CJ«d* digit-.o «1 di.^plwy
A <- (ROM)guardo el DPTR
(DDRAM) <- AROM do la «incalA d« voltajerecupero oí DPTR
Miaco Sysbema 8051 Family Ass«wnbler, Versión 3.02 Pag« 19
IHCCOME
RET
ESCALA
K20: MOVACALL
K21:MOVMOVXANLACALLACALL
RlRl,fl02H,ISll
DE CORRIENTE 2
RO,ftOZS2
DPTR,«DRJ?CA, P DPTRA, IkipRETARDORETARDO
02-20-9B
'
•
; ««airibo «1 valor ' 1'
; tecla UP presionada ?
239 y irlos239B B4001B
239E 901B0223A.1 EO23A2 5440
23A4 F1DB23A6 F1DB23 Ai) F1DD23 AA B440F1
23AD 01323AE 71EC23BO FILDB23B2 F3DD,23B-I B0060223B7 80D2
23B9 90130223BC Eü23BD 5-120238F F1DB23C1 F1DQ23C3 F1DB23C5 I3400C7
23CO 90180223GÜ EO23CC 5420
The Cybernetio
23CE F1DB23DO F1D323D2 F1DB23D4 B420F1
23D7 E02308 75FOOS23DB A4
23DC 903EDO23DF 2SB223E1 FA23E2 E5B323E4 FB23E5 ííoonaa23EB 51BE23EA 8027
23EC 90QBFD23EF 74 5323FI FG23F2 DI 83
23F4 903EF423F7 7900
23 F 9 EO23FA 75F0032 3 FU A423FE 9323FF AA022001 AB832403 900BFE2406 FO2<107 F12E240« BB8324 OD OA82240D. A324 OE 09240F B903E7
2112 22
2413 F1Q 82415 7BOO
AGAJ.1. RETARl^OCJHE A,#OOH,K22
KZ21 : MOV DPTR, ffDRPCMOVX A,? DPTRAÍÍL A, #up .
ACALL RETAR13OACALL RETARDOACTÚA, RETARDOCJ1ÍE A,flup,KS21
XWC ROACALL IS27\CAI.L RETARDOACALL RETARDOCJHE RO,#06H,K22SJMP K20
K22:MOV DPTR, ffDRPCMOVX A, 0 DPTRANIi A, HmodeACALL RETARDOACALL RETARDOACALL RETARDOCJNE A, #0011, K21
KZ22: MOV DPTR, frDRPCMOVX A, !í DPTRANL A,#mode
; t«cla up sin presionar- ?
; escribo el valor * xxx'
; beala MODE presionada 7
; teala MODE sin presionar ?
Mioro System» 8051 Family Aseeinbl»r , Versión 3,02 Page 20
ACALL RETARDOACALL RETARDOACALL RETARDOCJHE A,íhnodQ,KZ22
MOV A,ROMOV B,#SMUL AB
MOV DPTR,ffnao2RADD A, DPLMOV R2, AMOV A, DPHMOV R3, AMOV DPTR, W»a2ACAJÚ, ROMRAMSJMP XX
; aubrutina para eaaribir el
IS2: MOV DPTR,HDDRAMMOV A,ff53HMOVX 0 DPTR, AACALL MOVDDRAM
MOV DPTR,»»a2RMOV Rl,ífO
1321: MOV A,ROMOV D,#3MUL ABMOVC A,SA-I-DPTRMOV R2/DPLí-fOV R3, DPHMOV DPTR., «CARÁCTERMOVX e DPTR, AACALL PRINTCHAR
„ MOV DPH,R3MOV DPL, R2IHC DPTRINC IUCJHE Rl^OSH/ISZl
RET
HUMERO DE FASES
XX:ACALL PGUPMOV RO , 1 0
02-20-98
; apunto la direaoion d«sl valor; numerioo da "sácala, de oorriento2
; ubico en R3:R2, 1* direoaion; ROM cío la. anCIAla. do aocrionbal
; transfiero *1 v»lor ROM -> RAM
valor de aorriente 2 en fil diaplay
,'ubiao asoritura en la poniaión 53H
;de la RAM del dieplay (DDRAM)
; tir»n»fi»ra aad» diaito
; A <- (ROM); guardo el DPTR
'; (DDRAM) <- A; ROM de la nacala de voltaje; recupero el DPTR
; avanzo 1 página
The Cybernebic Mioro Systems 8051 Family Asaembler, Versión 3.02 P*ge 2102-20-98
2417 9192 saribo
2^19 yoJ.0022-11C EO2HD 514024 1F FlDB2-121 F10B2123 FlDB242S B40019
2428 9018022-1 2B EO2-12C 5410
242E F1DS2130 F1DB2-132 F1.11B2434 B440F1
2137 70012-139 9192
243B FlDB2430 FlDB243F 80DB
2441 90180224-14 EO2445 SIDO2417 FlDB2 14 y F1D824 4B F1DB21 4D B40019
2450 901B022453 EO2154 5480
2156 FlDE24 SO FlDB245A FlDB245C B4BOF1
245F 7FIOO2161 9192
21(53 FlDB2465 F:IDB2167 BOBO
2469 901802
The Cybernetic
24 6C EO246D 5120
21 CF FlDB2171 FlDB2473 FlDB2475 B400A1
2470 901B02217U F.O247C 5420
24 7E F1DQ2480 F1D132402 FlDB24Ü4 B420F1
2487 E82488 903ECC24ÍJB 9324 8C 900B7724 8F FO2490 8014
MOV DPTR, JfDRPCMOVX A,HDfTRAHÍ, A,HnpACALL RETARDOACALL RETARDOAC T.L RETARDOCJHE A,»OOH/F2
FZ1: MOV DPTR,Í!DRPCMOVX A,HDJ?TR.ANL A,ttup
ACALL RETARDOACALL RETARDOACALL RETARDO •CONE A,Hup,FSl
MOV R0,*lACALL PUS
ACALL RETARDOACALL RETARDOSJMP Fl
F2:MOV DPTR.ffDRPCMOVX A,RDPTRANJJ A, fídwnACALL RETARDOACALL RETARDOACALL RETARDOOttfE A,#OOH,F3
FZ2: MOV DPTR,»DRPCMOVX A,ÍIDPTRANL A,«dvn
ACALL RETARDOACA1.L RETARDOACALL RETARDOCJHE A,(fd«n,FZ2
MOV RO , íf 0ACALL 1?HS
ACALL RETARDOACALL RETARDOSJME Fl
F3:MOV D£>TR,ffDRPC
; teola UP presionada ?
; tecla up sin presionar 7
; dir^aaiono al numero.; osaribo «1 valor '3'
; teola DOWN presionada ?
; teala DOWH sin presionar ?
; diroaciono al numero.; «saribo «1 valor '!'
Miaro Systema 8051 Family Assembler, Versión 3.02 P^ge 22OZ-20-9B
MOVX A,CDPTRAUL A.ttmod^
ACALL RETARDOACALL RETARDOACALL RETARDOCJHE A^OOH,^!
FZ3 : MOV DPTR, ÍIDRPCMOVX A, H DPTRANL A, Wmode
ACALL RETARDOACALL RETARDOACALL RETARDO *CJNE A, tmocl<s,FS3
MOV A, ROMOV DPTR, KnphRMOVC A , B A+DPTRMOV DPTR,ítphMOV¡< 0nPTR,ASJMP YY
; oubzrufcina paca escribir el
; teola MODE pKooionwdm ?
; tecla MODE sin presionar ?
íipnnto 1? dirección tlel valoROM del numero de fasesA. <- [ROM)d.ij:iQaion en RAM: ÍÍCaatis(RAM) <- A
# de fases an el display
2492 900BFD DPTR,#DDRAM
2495249724 9 B
2 4 9 A24 9B
?.49K249F24A224A3-
24A5
24A62-IAfJ24AA
24AC24AF24BO24B2
745CFOD183
EB903ECE
93900BFEfDF12E
22
;
YY:FIGO7noo AOA:91 FF
Al A:901802EO5440FIDB
MOVMOVXACALL
MOVMOV
MOVCMOVMOVXACALL
RET
TIPO DE
ACALLMOVACALL
MOVMOVXAHLACALL
A, 15CH"UPTP, AMOVDDRAM
A,RODPTR, flphR
A.8A+DPTRDPTR, «CARÁCTERSDPTR.A
ubico escritura en la
de la RAM del diapiay
posición 5
(DDRAM)
apunto la dirección elol valor(display) del ff dn £x.nnstransfiero «1 dígitoA <- (ROM)
(DDRAM) <- APR1NTCHAR
SALIDA ANALÓGICA
PGUP ; avanzo a la siguienteRO.HOAHA ; escribo «1 TEXTO ' 1
DPTR, HDRPCA , P D PTRA, tfup ; tecla UP presionada ?RETARDO
al diapiay
pagina
The Cybornotic Micro Syntems 0051 Family Asaronbler, Versión 3.02 Pago 2302-20-98
24B4 FIDB24 B 6 FIDB24BG B4001B
24BB 90180224BE EO24BF 5440
2-1CÍ FIDB2-1C3 FIDB24C5 FIDB2-1C7 B440F1
24CA 0021CB OlFir21 CU FIDB2-lCF FIDB24D1 BD03D824D4 80D2
24DfÍ 90100224D9 EO24DA 542024DC FIDB2 4 DE F1DI324EO FIDB24E2 B400C7
24E5 90180224EÜ EO24E9 5-120
24 EU F1DU24ED FIDB24EF FIDB24F1 B420F1
24F1 EB24F5 OD3EAA21FO 932-1F9 900B7824FC FO24FD H028
ACALL RETARDOACALL RETARDOCJNE A,ifOOH,A2A
AZI: MOV DPTR, HDRPCMOVX A, 0 DPTRANL A.ffup ; tecla up sin presionar 7
ACALL RETARDOACALL RETARDOACALL RETARDOCJHE A,iíup,A21
INC ROACALL AMA ; aoaribo oí valor ' XXX.-KXX'ACALL RETARDOACALL RETARDOCJHE RO,Í03H,A1A ; vuelvo al primer valor: 1SJMP AOA
A2A;MOV DPTR, ÍÍDRPCMOVX A,UDPTRAííL A,í(ifiod» ; tecla MODE presionada ?ACALL RETARDOACALL RETARDOACAI..L RETARDOCJNE A, »OOH,A1A
A22: MOV DPTR,ÍIDRPCMOVX A, P DPTRANL A, ümode ; becla MODE sin presionar ?
ACALL RETARDOACALL RETARDOACALL RETARDOCJHE At HTnode , AZ2
MOV A,RO ; apunto la dirección del valorMOV DPTR.ÍnanR. ; ROM : .ia.J ida analógiaaMOVC A.SA+DPTR ; A <- (ROM)..MOV DPTR, flan ; dirección en RAM: oalida analógicaMOVX BDPTR,A ; (RAM) <- A
. SJMP TRF
; Bubrutina para enoribir «1 tipo dn onlida annlógioa on *il dioplay
20 FF 900BFD ANA: MOV DPTR, ffDDRAM2502 7461 MOV A,*61H ;ubioo oaaritura on la posición 61H2504 FO MOVX [!DPTR,A
The CTi'bern«bia Miaro Systema 9051 Family Aasembler, Versión 3.02 Pago 2-í02-20-90
2SD5 D183 MOVDDRAM ;de la RAM del display (DDRAM)
2507 y(250A 7900
250C EIJ250D 75F0072510 A42511 932512 AAIJ22514 A11032516 '¡OOBFE2519 FO
251A F12E251C 01)8325.1 E ÜAB22520 05022522 092523 B907E6
252B 22
MOVMOV
HA1 : MOVMOVMULMOVCMOVMOVMOVMOVX
ACALLMOVMOVINCiwc:CJNE
RET
DPTR, ff anRRl,ffO
A , KOB,t7ABA.8A+DPTRR2,DPLR3, DPHDPTR, «CARÁCTER9 DPTR, A
PRTNTCHAR
transfiero cada
A <- (ROM); guardo el DPTR
; (DDRAM) <- A
ROM de la «scala
digibo al diaplay
de volta.j eDPH,R3 ; recupero «*1 DPTRDPL,R2•DPL •Rl-Rl,fK)7H,ANAl
-. ,.•
TRANSFERIR LAS CONSTANTES DE ROM A RAM
transfiero la primera conístante: 1GA4
2S27 903E8C
252A E5B2252C FA252D E583252F FB2530 900BBE2533 51BE
2535 903E92
253(1 F.S82253A FA25313 E583253D FB253E 900BC42541 51BE
MOV
MOVMOVMOVMOVMOVACALL ROMRAM
A, DPLR2,AA, DPHR3, ADPTR,*K1K
; ubico en R3:R2, la dirección; ROM de la constante!:£ K1R/almacenar valor en R3:R2
; transfiero el valor ROM -> RAM
transfiero la segunda constante: 16384
MOV
MOVMOVMOVMOVMOVACALL
DPTR,#K2R
A,DPLR2,AA, DPHR3, ADPTR,ffK2KROMRAM
; ubico en R3:R2, la dirección; ROM de la constantfll: K2R/almacenar valor -sn R3:R2
; transfiero «1 valor ROM -> RAM
TRASFERIR LAS CONSTANTES DEL FILTRO DE ROM A RAM
The Cybornetio Micro System» 8051 Family Assembler, Versión 3.0202-20-98
2543 903E68
254G E582254ü FA2549 JS5032S-1B FB254C 9DOB9A254F 51BE
2551 903E6E
2554 E5822550 FA2557 E5832559 FB255A 90ÜIJAO255D SISE
255F 903E74
2562 K5BZ2564 J-'A25G5 F.5B32567 FB25(58 900I3A6256B 51BE
256D 903E7A
2570 E5822572 FA
MOV
MOVMOVMOVMOVMOVACALL
MOV
MOV
MOVMOVMOVMOVMOVACALL
MOV
MOVMOV
DVTR,XAOR
A, DPLR2,AA> DPHR3, ADPTR,HAOROtdRAM
DPTH,#A1R
R2,AA, DPHK3, ADPTR., f AlROMRAM
DPTR,#A2R
A, DPL
A, DPHR3, ADPTR,#A2ROMRAM
DPTR, #B1R
A, DPLR2,A
ubi.oo en R3:R2, la direcciónROM de aO: AORalmacenar valor on R3:R2
ubico la. dirocoion RAM de AOtransfiero el valor ROM -> RAM
Ubico en R3:R2, la direcciónROM de al: AXRalmacenar valor en R3:R2
ubico la diroccion RAM de Altransfiero *>.l valor ROM -> RAM
Ubico en R3:R2, la direcciónROM de a2: A2Ralmacenar valor en R3:R2
ubico la dirección RAM de A2transfiero el valor ROM -> RAM
ubico en R3:R2, la direcciónROM de bl: B1Ralmacenar valor en R3:R2
2573 E5B3257P FU'¿576 "JOUUAC2579 SUBE
257B 9Q3EBO
25VE E5B27.5 U O FA2501 E5Q325OH FU2DU-1 yomma2567 5.1ÜE
2509 903EB6
25HC ES8225(IB FA25OF E5B32591 FD2592 90011BB2595 51BE
MOVI.KJVMOVACALL
MOV
MOVMOVMOVMOVMOVACALL
MOV
MOVMOVMOVMOVMOVACALL
A, DPHl i l , ADVTR, JfBlROMRAM
DPTR,fB2R
A,DPLR2,AA, DPHR3, ADPTR, »62ROMRAM
DPTR,KKKR
A,DPLR2,AA, DPHR3, ADPTR,NKKROMRAM
ijjlau la dirnaaion RAM d» Bltransfiero el valoc ROM -> RAM
ubieo «n R3:R2, 1» diroccianROM d- b2: U2Rlmacanar- valor un R3:R2
líbico la dir«acion RAM d<s BZbrans£iero el valor ROM -> RAM
ubico en R3:R2, la direcciónROÍ-1 de kk: KKRlniaoon^r valotr «n R3:R2
líbico la dirpcaion RAM dn KKtransfiero el valor ROM -> RAM
The Cybernetic Miaro Systems 8051 Family Aasembler, Versión 3.02 P*g?. 2602-20-98
2597 122fi2F2.rj9A DO^Ffin259D 122GEA
25A3 F1DU25A5 F1DB
TRANSFERIR LA PAWTALLA DE RESULTADOS A DDRAM
s<? escribe todo °.l mona aje RII las DO localidades deRAM del -LCll dividid^.-» »>n don mitadn» de "10, pa.rs s»rluf'go mosüradaa en 5 pantallas de 16 caracteres, O porcada mit^d, usando para ello la función de dflapla^airiien(SHIET) «n «1 diflplay
transmito el mensaje de ROM a RAM
LCALL CLEAKLCDMOV in>TR,#ddr2LCAJjL PROMLCDLCAI.L DTSP1.ACALL RETARDOACALL RETARDO
25A7 22
DE rjv aui3FíU'rrtíA ESCALAS
SUBRUTINAS PARA MANEJO DEL DISLMAY LCD.ASM[>. 7.^nibrano M.1995/03
T,3f subrutiiiAo p«ir^ si m»n«jo del dioplay LCl"), SP basan -n •;!envío de diferentes códigos a través del puerto A, del ínterfazparalelo J?PI 8255.
•* SUBRUTIMA DE IKICIALIZACIÓN DEL DISPLAY LCD*. POWER OM KF.SET ( CALL 2100H )
CDON:
DRPA : DIRECCIÓN DEL PUERTO A DEL 8255 PPI, Eíí DOfíDE E.STA
The Cybernetic Miaro Systems 8051 Family Assembler, Versión 3,02 P.nge 2702-20-98
; C01-IECTADO EL DIÜPLAY LCD; 03,03,03, INITIAL IHSTRUCTIOHS
25AU 901800 MOV DPTR,#DRPA25AB 7403 MOV A,N3
25AD FU2ÜAE 74132BDD FU25m F1DB25B.1 74032ÍÍBÍÍ FO25D6 7-1132SÜD FO2509 F1DD25BB 740325DD FO25BE 711325CO FO25C1 F1DB25C3 7-10325CS FO
25C6 740225CG FO25C9 74 1225 CU FO2Í3CC F1DB255CF. 74022sno FO25D] 741225D3 FO250-1 F1DB25DÍÍ 740225D0 FO
2.IÍI)9 7-50023DB FOZSDC 741825DE FO2SDF FJDB25E1 74 0825E3 FO
25E4 7-10025EG FO25E7 741025E9 FO2 5 KA F3D132f)EC 7400
. 25EE FO25EF 74 OF
The Cybennetic
2ñFL FO25F?. 741F25F4 FO25F5 FJ.DBaSF'/ 7-IOF25F9 FO
25FA 740025FC FO?5FD 7*11025FF FO2600 F1DB2R02 74002(504 FO2G05 74062607 FO260B 7416260 A FO2COB F1DB2GOD 74062GOF FO
2<Í10 74002612 FO2613 74102 6 15 FO2filG F1DÍ32618 74002 61 A FO20 IB 74012fUD FO26:1*; 74112620 FO2621 F1DB
MOVX IjDI'TR.AMCP/" A , l ( I . n Hiov;< HDFI 'R,A
AC'ALL MTARDOMOV A , H 3MOVX eDI.'7R,A^KW A/Í13HMCP/X eDÍ»TR,A.ACALL RETARDOMOV A, «UMOWÍ PDPTR,AMOV A,»13HMOVX 6Dl>TR,AACALL RETARDOMOV A, #3MOVX: 8DPTR,A
,-FUNCTIO» SET: 02 ,02 ,08 ,MOV A, ¿(2MOVX IÍDPTR,AMOV A.K12HMOV/ HDI?TR,AACALL RETARDOMOV A , ff 2MOVX eDPTR,AMOV A, Í12HMOVX PDPTR,AACALL RETARDONfOV A, #2MOVX 6DPTR,A
MOV A , Í UMOVX BDPTH,AMOV A , H 1 Ü HMOVX (JDPTR,AACALL RETARDOMOV A, IfSMOVX BDPTR,A
;DISPLAY ON/OFF: OH,OFH
MOV A , fl 0MOVX eRPTR.AMOV A,#1QHMOVX 6DPTH.AACALL RE TARDOMOV A, í 0MOVX PDPTR.AMOV A,#OFH
Mi oro Systems B051 Family Asseitibler, Veraion 3.02
MOVX PDPTU.AÍ40V A, l f lFHMOVX BDPTR,AAC/U.L RETARDOMCC/ A,Í»OFHMOVX gDPTR.,A
; ENTRY MODE SET : OH , 0 6H
MOV A , f OMOVX PDt>TR.,AMOV A,S10HMOVX fiDPTR,AACALL JíETARDOMOV A , "0MOVX eDPTR,AMOV A, #6MOVX. 8DPTH.AMOV A, l f l6HMOVX @DPTR,AACALL RETARDOMOV A, «6MOVX ' @DPTR,A
;CLJl DJSPLAY: OH,1H
MOV A, f f O •MOVX 9DPTR,AMOV A, f f l O HMOVX 8DPTR,AACALL RETARDOMOV A,ÍÍOMOVX gDPTR,AMOV A,# lMOVX 9DPTR,AMOV A,*11HMOVX 6DPTR,AACALL RETARDO
Page 2802-20-98
2023 74012025 Fu252G FJLDB202ÍJ F I D D2 62 A F1DD2fi2C F1DB262E 22
MOVMOVXACALLACALLACALLACALLRET
A,«Iu DPTR, ARETARDORF.TARDORETARDORETARDO
;FIW INICIALIZACION DEL DISPLAY
DE BORRADO DEL DISPLAY LCD*LINEA DE COMANDO » ÜOH,01H(CALL: 2200H }
CLEARLCD:
Syatotua 0051 Fnmily Asaombler, Versión 3.02 Png'? 2902-20-9B
; CLEAR:
263226342(535263V2C3IÍ2S3A253C2G3D
20-132 G I S2 61 72 01 B264A
901.8007400FO7110FOF1.DBV400FO7401FOVIHFOF1DB7401FOF1DD22
F1.DB22
MOVMOVMOVXMOVt'IOVXACALLMOV^tCFVXMOVMCP/XMOVMOVXACALLMOVMOVXACALLRET
; ^ *'
;
DISPl:
MOVMOVMOVXÍ-ÍOVMOVXACALL •MOVMOVXMOVMOVXMOVMOVXACALLMOVMOVXACALLRET
DPTR, tíDRPAA, H O9 DPTR, AA , < K O HflDPTR,A]ÍE TARDOA, N O ,(J DPTR, AA, ttl? DPTR /AA, uní(í DPTR, ARE TARDOA ( * l(!DPTR,ARETARDO
LINEA DE COMANDO - 0 0 H . O O H(CALL :2?.50H )
DPTR, ífDRPAA,«08HH DPTR, AA,#18HBDPTR.ARETARDOA , H U D UeüPTK,AA.t tOOHPDPTR,AA,nOH@ D P T R f ARETARDOA,#í)B DPTR, ARETARDO
SUBRUTIHA DISP2 PARA EfíCRJLülR EN LA 2a MITAD LCDLINEA DE COMANDO = O A H , Q H H
(CAljL : 2300H )
DISP2:
2667 901800 MOV - DPTR,#DRPA
The Cybernehic Micro Systems 8051 Family Assembler, Versión 3.02 Page 30'02-20-90
2G6A2G6C2 6 fill26GF2G702G722GV42 «75
267H
74 OAFO741AFOF1DB7 4 O AFO7.4 08FO7419
MOVMOVXMOVt-iovxACALLMOVMOVXMOVMOVXMOV
A,i¥OAHB DPTR, AA,#1AHg DPTR, ARETARDOA,#OAH0DPTR.A
9DPTR,AA,fflHH
267A KO MOVX2G7B F1IÍB ACALL217D V 4 0 8 MOV267P FO MOVX?.ÍJOO F1DB ACALL2682 22 RET
8DPTR.ARETARDOA, - Y O6 DPTR, ARETARDO
LINEA DE COMANDOPARA DTRECCIONAR- tflddd.dclcIdB
DDRAM PUEDE TOMAR VALORES DESDE 0
LA DDRAM4**
HASTA 79DO O O O O O O O B -> 01001111B
(CALL 235QII )
MOVDDRAMí
2GÜ3 900BFD260 G EO2607 90100026ÜA -1/100268C 54 FO26UE C126BF FO2690 CÜEO2<i<f2 21102694 tfO26<>5 FI.DO2697 DOGO2699 FO
2G9A yüOBFD269D EO269E 9010002GA:I 4*10026A3 540F2GA5 FO26AG CQEO2GAO 24102fiAA FO2CA3 F1DB26AI3 DOEO26AF FO26ÜO F1DB
MOVMOVXMOVORLANt,SWAPMOVXPUSHADDMOVXACALLPOPMOVX
h*3VMOVXMOVORLANLMOVXPUSHADDMOVXACALLPOPMOVXACALL
DPTR, Í»DDRAMA,!IDPTRDPTR, HDRPAA,#100t)OOÜOBA, Í11110000BAfl DPTR, AACCA, U OHI?DPTR,ARETARDOACC(j DPTR, A
DPTR, ff DDRAMA, H DPTRDJ?TK,flDRPAA, ífJOOOOOOOBA, Í00001111BfiDPTR,AACCA,fílOHllllf!DPTR,ARETARDOACC6 DPTR, ARETARDO
;LEO EL VALOR DE DDRAM;COMANDO LCD
;envio el bifce mas significaLivo
;guardo el contenido de ACC
; recupero el valor del ACC
•ínvio el bite monos aignifioativo
The Cybernatic Micro 8051 Family Aaflemblec, Versión 3.02 P^g-? 3102-20-98
MOVCURSOR:
*SUBRUTINA DE POSTCIOHAM [ENTO DEL CURSORLT1ÍEA DE COMAHDO - 1DDD,DDDD1JV RAM (CURSOR) TOMA VAL-ORES DE O A 15MAY QUE TRADUCIR A DIRECCIONES LCD(CALI. : 2400H )
26U3 901UOO2CÜ6 ESFC2GUQ 3400
MOVí-tovANL
DPTR, ífDRPAA, ÜJRSOR.A,ííooooioooa /DETECTO VALORES >* O
cursor dlr cursor dir
01234567
OOH01 H021103FI0411osn06H07H
ü9
101112131415
4 OH41 H421143U4 4 H45H4 G H47H
-> NO SUMO
-> SUMO 38H
SESEHTAyCUA'ÍTÍO 64D = 40H = 0100 00008CINCUENTAVSEIS 56D - 38H = 0011 1000B
2GIIA D-10B0726UD ESFC2613F 243026C1 0226C6
2GC4 ESFC
26CC 448026CO F5FC26CA 54FO
MOVADDLOMP
NOSUMO:MOVSUMADO:ORLMOVAHL
A,#00001000B,NOSUMOA,CURSORA,H3BHSUMADO
A,CURSOR
A , * ] O O O O O O O BCURSOR,AA, #11110000B
I
26CC C426CD FO26CE COEO26DO 241026D2 FO26D3 FJDB26D5 DOEO26D7 FO
26DB E5FC2GDA 54 OF26DC FO
The Cybcírnafcia
2GDD COEO2GL1F 2-1102GK1 fu2 fig 2 F1DB2GE4 I50EO2 GE 6 FO2GE7 F1DB26E9 22
2GEA AB11226EC ACH3
26EE 78FF
26FO D14B
26F2 082GF3 E U26F4 B42802
26F7 DI 67
26F9 EU26FA B45001
26FD 22
2GFE EO2GFF 8B822701 OC832703 932704 F9
2705 C-1270 fi 54 OF2708 4440270A yOlBOO
Tho Cyb-.n-tia
27 OD FO270E COEO2710 24102712 FO2713 F1DB2715 DOEO2717 FO
271Ü E9271.9 5-10F271B 4-140271D 'Í018002720 FO
SWAP AMÍÍVX HD^TH/APUSH ACCADD A, ntíRMOVX flDPTR/AACALL RETARDOPOP ACCMOVX 8 DPTR, A
MOV A, CURSORANL A, tfOOOOllllBMOVX 8 DPTR., A
Miaro Syatenuí 8051 Family Assembl«»r, Vision 3.02 P*go 3202-20-90
PUSH ACCADD A, 410(1MOVX H DPTR, AACALL RETARDOPOP ACCMOVX P DPTR, AACALL RETARDORET
SUBRUTINA PARA COPIAR CONTENIDO DE EPROM AL DISPLAY LCDSE COPIA DESDE Lft. PAGINA BAÍJELCD.AUXLCD MEMORIA TEMPORALCONTLCD CONTADOR DE CARACTERES .(CAIJ-, : 2-1.10H )
PROMLCD:
IVW R3,DPL ; almaceno «X valor del DPTRMOV R4,DPH ; en R<1:R3
MOV RO,HOFFH ; INICIALIZO EL CONTADOR DE CARACTERES -1
ACALL DISP1
COPYLCD :INC ROMOV A , ROCJílE A,f(2BH,HALF ;LOS 40 PRIMEROS CARACTERES EH DDRAM
;CAMBIO A DISP2
ACALL DISP2
IIAJ.F:MOV A,ROC.JNE AíífSOHíOKCOPYLCD ; LOS 80 CARACTERES EN DDRAMF1NROMLCD :RET
ot«:oPYLCD :MOV A,ROMOV DPT..,R3MOV DPI1 , R4MOVC A.BA+DPTR ,-LEO LA ROM A COPIAR EN LCDMOV R1,A ; ALMACENO EN (AUXLCD)
SHAP AANL A,IOFUORL A,S01000000BMOV DPTR,#DtíPA
Miaeo Synbom* 8051 Family Aja-oinblar , Varaian 3.02 Pago 3302-20-98
MOVX ' 8DPTH.APUSH ACCADD A, ftlOHMOVX @DPTR,AACALL RETARDOPOP ACCMOVX e DPTR, A
. ——^—ACOMODO PARA ENVIAR AL DISPLAY LCD SEGUNDOS -I BITS— — —
MOV A,R1AHL A,#OFHORL A,#01000000BMüV DPTR, tfDRPAMOVX 9DPTR,A ' ' •
272] COKO2723 21102725 FO27? G F1DB7.720 DOEO272A FQ
PUSHAllí)MOVXACALL1>OP
ACCA , f f l O H«DPTK.ARF.TARDOACC(ÍDPTR.A
272B 0226F2 LJMJ?
FIN SUBRUTINA DE COPIADO DE ROM AL DISPLAY*
272K 90DBFE2731 EO .2732 OOinOO
2 7;! 5 C12736 540F273U 4110273A 90180027 3D FO273E COEO2740 211027-12 F(J2743 F1DB
Tho CybflrnoLia
2715 DOEO2717 FO
2710 ÍJOOBFE27 4B EO271C 901f)00271 F 51 OF2753 'U 40ÍT/53 FO2754 COEO275G 2110275B FO3V59 FIDO275B DOEO275D FO275E 22
275F 71 032761 14102763 yOlüOO2766 FO2767 COEO2769 2-11027 CB FU27GC F1DB276E DOEO2770 FO
2771 900BFF2774 EO
*•*•*******•*• SUBRUTINA PARA ESCRIBIR UM CARÁCTER EN 1-A POSICIÓNDO RAM
EL CARÁCTER A ESCRIBIR ESTA ALMACENADO EN LA LOC. RAM (CARÁCTER)(CALI, 2550H)
PRINTCHAR:
MOV DPTR, HCARACTERMQVX A, 0 DPTRMOV DPTR, KDRPA
SHAi> AANL A.ÍOFIIORL A.ÍIQ1000000BMOV DPTR, ÍMJRPAMOVX 6 DPTR, APUSH ACCADD A , f H O I JMOVX fl DPTR, AACALL RETARDO
Micro Systemfl Í10S1 Family Asaoniblor, Vorsíon 3.02 PSQO 3402-20-98
POP ACCMOVX 6DPTR,A
• _._. M— „„„ — — __ ACOMODO PARA ENVIAR AL DISPLAY LCD SEGUNDOS 4 BITS————
MOV DPTR, «CARÁCTERMOVX A, 8 DPTRMOV DPTR , «DRPAANL A,*OFHORL, A , í f 0 3 0 0 0 0 0 0 BMOVX QDPTR,APUSH ACCADD A,I10HMOVX P DPTR, AACALL RETARDOPOP ACCMOVX 8 DPTR, ARET
SUBRUT.TNA PARA ESCRIBIR UN NUMERO EN LA POSICIÓNDDRAMEL NUMERO A ESCRIBIR ES UN DÍGITO DECIMAL DE 0 A 9ALMACENADO EN LA LOC. DF. RAM (DÍGITO)
{ CALI. : 260011 )
RINTDIG:
MOV A , f f 0 3ORL A , f f 0 1 0 D O O O O BMOV DPTR, KDRPAMOVX 9 DPTR, APUSH ACCADD A,«10HMOVX U DPTR, AACALL RETARDOPOP ACCMOVX 8 DPTR, A
.__,_____ > — — — ACCM^ODO PARA ENVIAR AL DISPLAY LCD SEGUNDOS 4 BTTÍJ — — — —
MOV DPTR,ttDIGITOMOVX A,eopra
2775 54UF2777 4/IdO2779 901800277C FO277D COEO277F 243.02781 FO
ANLOHLMOVMOVXPUSHADDMOVX
A,*OFHA,ff01ÜOOOOOB
0DPTR,AACC
gDPTR,A
Miaco Syotomo 8051 Family A»n«mblor, Vapulan 3 .02 Pí>g« 3502-20-90
27 [M DOEO27OG FO2787 22
ACALL RETARDOPOP ACCMOVX 8DPTR,ARET
FIN RUTINA PRINTDIG :-
5UBRUTTHA PARA AVANZAR DE PAGINA DENTRODEL DISPI..AY, PARA ELLO SE RECORRE 8 VECESEL DISPLAY HACIA LA DERECHA (PGUP)LXHEA DE COt'lANDO : 01.H,Q8H
27nn 7FOD270A 901000
MOVMOV
R7.DOE1DPTR, ÍIDRPA
27 DD270F27902792279327952797279027 9A27 9B279D279E27AO27A227A32 7 AS27A727A927AB2VAD
7401FO7411FOF1DB7101FO7108FO.7418FOF1DB
7408
FOFLDBDFE6F1DBF1DDF1DI3F1DB
MOV^tovxí-tOVMOVXACALLMOVt'KJVXMOVMOVXMOVMOVXACALLÍ-50VMOVXACATXDJ1IZACALLACALLACALLACALL
A, flOlP DPTR, AA, ffltH0 DPTR, ARETARDOA . f l O lg DPTR, AA, «089 DPTR, AA,nim8 DPTR, ARETARDOA,f l089 DPTR, ARETARDOH7 , PGURBTARÍ)ORETARDORETARDORETARDO
27AF 22
SUTÍRUT.TNA PARA RETROCEDER DE PAGINA DENTRODEL DISPLAY, PARA ELLO iJE RECORRE 8 VECESEL D1SPLAT HACIA LA DERECHA (PGDN)J.THEA DE COMANDO : 01H.OFH
27DO 7FOÜ27B2 901ÜOO
MOVMOV DPTR,tfDRPA
Cybsrnefcia Micro Systems 8051 Family Aasemblsr, Versión 3.02
27B5 901 BOO27B8 7-1012 VEÍA FO27DB 'Mil2 7 CID FO27BE F1DB27CO 740127C2 FO27C3 74 OF27C5 Fu27C6 74 1F27CB FO27C9 FJDB27CB 74 OF
MOVMOVh)OVXMOVMOV:<ACALLMOVMOVXMOVMOVXMOVMOVXACALLMOV
DPTR, ífDRPAA,#l(í DPTR, AA,I11H"? DPTR, ARETARDOA, tflEÍDPTRfAA,«OFH(ÍDPTR,AA,N1FHRDPTR,ARETARDOA,#OFH
Q.
Q a 0
w-a
a
a <
0
ÍO í-1
II II
a B
u?!
*
M
<fl
Ü
O C
n o
o a»
U J-
*H t-
1 ai
XI
O.
H a
0- c
. 3ff
i O u
ffl
MT3
0
O O
*v.O
O
O
M
*- r
t- t
t tt f
t.B
tt
tt V
..
3
H-
H-«
-í.
n *
* *
LJ H
. 3
3
0 1
K
W H
U
Cl
4-U
9C
D
Q
a
a to *- 1-3
hi w
-a
H <
M a ii
u i
n
-s.
* O
H4>
W H
4-
*•
tó4
-— 3
O
Q H
W —
.-O
•~~, t-,-.
3
H
O 3
—.1
-14
.<í ¿
\ •
H 3
*-
.
' +
H•r
4- H
* <í
~ H
-l- N
M
+
«-t"
<+
H M
.
-i-
*-*
< M
•}•
- 3 ¿
j-3
• 3
?!
1•> f
N>
3
X*-
>
1 7\
¡D
P-H
0 ÍT3
S-H
a
o 0H
0o u
a o
hits v
un t
t0 n
3-
a u
n »-" i-1
a tt
a H
V
Cn
aV H
a "Ha
3 •
0 tt
tt 3
a rt
n s
•ti a
0 3 *
S0. u
3 3
rt a
S
CT
oí n o
rt r
ttt 0
3 »
U
3tn
o.
o o
H 3 o
5 3
O
Q3
C
.. o 3
o v
tn3
r-
>3
aC
3
o a
«tt
f.0
-D.O
P.O
tt
H-
ttn a
3V
1 ifl
"3 tt
n 3
c x
o0
M
_,<-
spí 3
í—
H 3
3O fí
tt
H
3 t
tS3
9 H
- £n
E p-
IJ0
h"
D 0
0
tTII
o-rt
-U
O
Jtó
0
3
O
00
.H
n t
t o
<
O O
0
3
H-
> •
33
10
í>
<•f
a í>
?;
< o
M
H•—
H
- Q
P.O
JJ
tt tt•d
oir
3
Ü 0 3
C 0.
3
^>-
H
Q 3
<Í > K
rr
a 3 o
-•a
3
U
Q. 3
3
J.
Jl
p,
3
00
Q
< H
-
HH
3a
Q o
3
tt
0U
C
Q 3-
a í
O
0
3tt
X o
rt
tt
U 0"
í*
3
Q 0
C
rt H
-3 i
3 3
a -
- S
3
H 3 H
3 H
rTU
Jtt O
D
-»
o rt
K O
o a a tt tt a t! o 3 a a c 3 U O tt a
u tt o cr rt-
3 tt O 31 tt a C 1- ff V a o a 9 3 0 13 X tt Q O 3 O a V H tt O w X u a -í D 3
Tí
U
d•^
« n
ii •o
ti
>> u
_ •»
r|- r
r
¿ o
o r
- 3
3H
-tt
tt
O
Q
QN
tt
H
-J-
M-
H-
í»
3<n
3 3
a.
»< rt
- rr
30
C. u
11
T3
u rr
fl 3 3 O
D H
n c
t ,T
rt r
t «í
CL U
- V
- 3
H
- Jl
h 3
3 3
<
• a
a o
vO
O
H
>
ac.
» 3
o <:
o o
tt >-•
tt rt
-*
t_J.
3
'1rr 3
11 U
H<
II 1
<,
<
O
0tt
tt
!-*!
H)
p.p
.
0 0
ti H
0 0
Q.Q
.O
3 Ht-
OQ
H
tt V
H- 3
a 3 rr
1 !t
«
B
H
MD
.O-s
. 4
--^H
H3
CC i-
: —
j-
^
I-1 H
•í 3
_¿
H.
*• »
Hm
_
K1 H
<
4-
4-W
H-
<t-
H K
H-
M +
+
M (
04-
4-
• N
(0
s •
•3 •
•4- •
•
H-
3
-í-
-t-
3 3
I-
4-
3 3
— i
—i
an fó
rmu
H U B C ft t--
H-
U f ü.
V B C D 0 • Q.
P- m e M C 3 rt-
c 0 u e 0 D 0 3
tt o
> »a
8
hn 3
K
V
H-
>
ttt-
a ^
3'•
Jl
0' D
a-
v i
»*B
0.
tn* "
i-- O
ln ü
SQ
5»•»
rt-
P-
H
^3 3
>
'í0
>
-~
•d(U
> H
0
tt 0
rr j
UH
- < o
aH
rt
SC
OS
att
Ha
yo
V d
D"
Q rt
ft 3
»H
- H
3<
i-11
«í
Q
,-
0 O
S^
rr f Q-
8 LJ.
¡JH
í> O D
-H
>>
aX n
n H
-Hrr
0 í
*
°r¿. > H
.•a
a
o o
H-rt
0 G
3 tt f"
3 1
O-
n í-
-3
rt-
o
Cyb
ern
etic
M
J
Q tt O tn K IB rt a:
O i-1 u 3 M-
tt a o 1 OJ tt a tt H- a 3 LJ O [0
O
-ON
JJ
O I te U
co -;
W
*3
»
a D (t ffl § tt C rr 3 ¡u a 0 c rt H-
H H-
M 3 H 0 a «í H O tt a a 0 3 a 0 ct 3 3
t- ti
*• H
it- ~
* >
«-O to *-h
1- *~
-*-H
4-
T3
* ni
4- 4- 4- í >
ífe ía 4-1
]
:S » "í :§
M
íO N
)
ce
a
M C
-J
M c
a an "}
H j
-1 i-
J í-
1 K
j r-1
Oa a
c a
fi c
W W ñ
S ~
¿ S
G
_ . .
o o
o o
o >
* «n i.L cano de un «intima monofásico:eo toman IOB 113 (71H) dato» d* voltaj* y corri»nt«, aa un ciclo, ubicado» a partir de la posición de RAM :
The Cybernetic Miaro Syftoraa 8051 Family AB«*mbler, Versión 3.02 P*ge 3002-20-98
27EO 7DOS27E2 £427E3 C327E4 900BE227E7 FO27EB 050227EA FO27EB 058227ED FO
27EE 08
27EF POOCOO27F2 1)08227F1 SO27F5 122DE627FO 122D2A27FB 742C
OC05H -> par» Ion datos de voltaje ( OCOOII H- 5 JOD05H -> para. Ion dabas .da corriente ( ODOOH + 5 )
KT, hace referencia al tipo de sistema = 1
para, un « i." tirria trifásico:ne debe toner en cuenta que existe un retardo de 90 grados de 1»onda de corriente respecto a la de voltaje, que corresponde a 20' dn.bos d« dif Brencin., por lo tnnto las posiciones inicialwa dn RAMfeon:
OC05H -> para los datos de voltaje ( OCOOH + 5 )OD21H -> para loa datos de corriente ( ODOOH + 5 + 1C )
KT, haae roíornnaia »1 tipo di oistoma =. 3.73205 = SQT (3)( se asume un siatema tri£ásico balanceado )
«> «implomonto .«i« «urna al puntero do loa datos do aorri«nfc"» «1valor 1CH, escogido mediante el teclado, y almacenado en "ph".
CALCULO DEL VOLTAJE RMS
inicializo variables y espacio de memoria
MOVCLRCLRMOVMOVXINCMOVXTHCMOVX
ACDPTR, íouml@DPTR,ADPL
DPI,SDPTR,A
num». de los cuadrados del vol ajo
MOVMOVMOVXLCALLLCALLMOV
RO
DPTR, ffadov
A,6DPTRCHV2TOÍJR
inioializo ROonagro el acumuladorencero la bandera del sumadorubico el alm«aena.dor de la suma.anc«ro la» 3 potiiaianws aan"«autivaade mnmoria =i parhir de (sumí)[sumí + 1 ) =* b.Lbe man eigniCios.tivo(sumí -f 2 ) = 3er bitu dnl sumador
líbico *1 inioio de la tablaapunto al datocargo en Aoo el dato de voltaje
transm.tto al pórtico serialtransmito una coma
The Cybecnetic Mioro Byatnms B051 Fajnily Ass««mblnr, Vsrsion 3.02 Paye 3902-20-98
27FD 122D21 LCALL CHSR
2800 900COO2803 00922005 EO
2806 F5FO2808 A-12009 F92QOA AAFO200C 900BE22BOF EO2010 392011 FO2812 05822011 EO2315 DA2016 FO2017 05022D1P EO281A 3400
MOVMOVMOVX
MOV>n/LhtovMOVMOVMOVXADDCMOVXINCMOVXADDCí-fOVXINCMOVXADDC
DPTR, IfadcvDPL.ROA,8DPTR
B,AABR1,AR2,0DPTK, ffsumlA, 8 DPTRA,R1HDPTR,ADPLA,ÜDPTRA,R2BDPTK,ADPI.A,6DPTRA,KO
ubico el inxoio do la tablaapunto al datocargo en Acá el dato de voltaje
oarijo en B eX dato de voltajeobtengo el cuadrado dol voltaje: vn*vnalmaceno el resultado en Rl:b.mena*.s.
R2;b.mas.a.
sumo al resultado anteriorler bit«
2do bite
fO
o Q
n c
en
o r
w r
t a
o n
G m
— m
o
<o o
13
o o
o
fo G
W M
M M
íO M
Mce
ffl
CE
a c
: a a
cv s
i w
w m
ui m
U) «
n C
>•
c; ui
H
v-1
M H
c ^j
M &
M M
O <
a O
M M
M M
a:
oa
nc
a
w a
a u
i a
m o
o <
J
N
W f
O M
M
fO
ÍO
CO
NJ
M
ISJ
N3
WO
3C
£2
Qii
i<D
oo
;£3
OO
m
ee
LJ
UU
UlU
MfO
ÍO
fO
ÍO
M
)-> i
-*o
^-j
^H
rto
cju
iuo
en
Hte
f-'l
-'l
-iH
o»
-1!-
1-!'-
1
C"
M O
M N
M ÍO
O
M *
0 »
M
«O
[O
OÍO
K3
W(O
ON
)!'J
-J
M
-Jo
w G
n n *
n >
ro *
3 3
n o
M
J-(
o
a
f-1 0
ji w
JJ
03
C
a 3
15
—n
H"*
aa
on
nH U V p. o n
H-
3 H- a H-
1- H-
M 0 < P r¡ H- g- t-- * m m 3 -D OJ
.0 H
-O C
.3 iO 3 o n
n a o o tn
•
o H W n .e n i .
• -
fv
H
t^
t^
fS
r'r
'Sr*
nz
>5
HZ
>2
H2
>Z
22
;2
:S
^S
3S
t^
Sr'r
'SS
Z
p°
p|||°||°p
l^
án¡H
S°s
HS
<5
p g
gs
<
O-5
rtln
iB'-
i<5
^:^
*
1J
3e
f=
f'C
;0
-£t"'C
?3
'tlH
-
- >
"cfn
W
'«Íl2
= t
H'-
3S
á
O>
-ñ
?:i-
HW
3c
Ji
^ *í
O O
H
uJ
G
t-í M
O /
O tB
O
- Jo
P
3C
/3
MC
-ÍO
trt-
r1
»
p.
Za
j^
W^
ÍO
^O
"
'O
53 -
o
*0
53
»H
-*
*
K
o-
>"
3 -
H
H 3
! íl t-1 *
3
tí
H
="=
H-
X
rr
H>
5Q
>?
3>
:3
'í
;d
»'
V
y)
-iiM
ío
e
ü.
Q.
3
?!
H
30
0
5
31
H
P-
H-
s
—
.
0ff
lii
o"
5i,
BO
p.ílo
n
i-1 J
* t*)
w
H
a
.K
OO
OH
=
r.-r
n
>£
n)-
1
n-
es
uH
-o
iiia
HM
o
a
ac
H
c*
x >
i c*
nn
¡u
TI
cr3
IB
aíN
-ís
nu
Q
^
n
o
h3
3
n-
u h
e
*-•
v v
H
CH
-o
v 3
o i-«
3 "-
^ia
c S
o
ufl
iata
sG
3
3>
fl3
pM
Oifl
oo
P.^
-o
í-'p
.n
tr
er
tr
Q3
oo
n-
o
na
on
-o
V
0
O
O
fl
(t
J»
Í3
H-
H-
H-i
ffllC
O
3
3
0$
3
^-
MM
ris
jí
(T3
(T
rr
rrH
3
Oí
»
9
h-
p-
ffl
tíIB
0
t-
^u
'drti-
'E.O
Q
••
O
9
O
33
, 1»
^
(rrr3
í»
l-J
T]
Jí
«í
1!
Q
O
O
H
CD
í-
1
OO
Hli
s
aitc
ün
ti
a
s »
'r-'C
D>
'lj'
¡>
>*
•0
*-
'H
!-
1H
t-
'-
3i3
)J
iB
"J
^
a
H
np
.3
C
WO
0.
3^.
wC
>H
Hr
J3
C
Q
iS
OH
^-
3H
OH
H-
OH
M-
HO
SS
O
H
H
«C
H-
rt
n
V
rr íl
«N
W
fiH
-s
nx
a
cr
o
pi
i» o
H-
T
3i
Bo
>"
D.'fl
1
y-
H
W
U
JJ
tífl.Q
-i-'Q
Q
OH
O«
s.
ox
o^
Xí
'X
c
e.
c n
s» o
^i
-j
c>
3C
'-
H
o
H>
irrE
.C
. s
rr
at
L3 (t
ai
M
3o
, rr
rr
c. o
n
o
wv
-u
,»
§u
p.
a f
fl t
i o
(1
n
-v
wo
rt
- O
rr
aH
<
nn
V3
V
p.
' -
3
c,
ao
H
CO
Ho
oa
i o
<
o
rr
O"
íB
?j
nn
p.
5;
3 a
3
o a
na
H-
11
w 0
-T3
n T3
¿o
n
«H
-O
-í
rr
aa
rr
w
Kflf-
ir
rn
s
H-
sn
ca
í u
11
K
o «
-T
ot
rv
-<
tr
oa
ilíid
a
n
33
5)
»-•• n
o
H
>I
OH
3Ü
VV
C
Ü
N) 3
—
IV
H
H>
rr
,3 g
«-
BU
rr
fflQ
ta3
tfl!
-J
tT
O-
3r
"
Mn
a^
-i
» *
rr »
»-
"•>
,B
>
33
ff
l3
0
H H
z-z
nn
¡a U
C1 3
3
3
3
'
H- a
n ;
j-^-
'Q
ÍB
-S
D
O
H tr
31
ci 3
u 3
jaj
á r
S
3
C O
H 3
o c,
3 .
- «
•3
n ^
a-a
a a.
5 3
• o c
. o í
i- (-
u
>B 4
a
aH
P
-fl
f¿
00
A (a
d
H<C
a a
3
C-3
B
H-
3
'*
n > U b 3 Fl £ n o a » m z •3 n •E £ G
f •
*• t-
V r
* t- 2 f r
3 r
P
P £
P £
£ £
p
3O
E/:
>(r
tSG
an
>r;
•U.O
&C
O-O
T^-
2
§-3
-iM
££
a-j<
<a
:5P
O
>H
J=
Hf0
30
\ -
P.
H *
=»
= Ji
<
X
(T2
to3
Xa
au
O'O
Mií
OO
.a
aH
• 3
«-
> 0" >
C
3
* V
- O
»»
,B
3r
?3
<n
¿3
na
!-C
3
O O
Ü.
— O
P
í i2
pí
i»
Os
rrff
l 3
C <
r-
31
í->
HS
lr
0 C
H
í-íl'C
rt-l-
P.
ti
r-
1 g
<
>
3
O
Q •-
'' íá
i-'H
í— »
-s
»ia
1--
H «
O > il
H H
3o
T *
n n
a .»
Q
«H
-W
?; a
í-- x
f¡ =
c. B
H o i
t"
m
ma
s
ya T
Í o
= x i
x
H 0
-3
>
3
C
•3
rr C
— W
3
Q3 u
a i
a t
u o
U3 f
i. p
, fflriV
SV
o a h
=*
o
<^
U —
H
I 3 «
3
H-
D,
"i c
.t! i
*3
D
íi
N)
•>
¡TI rr ri
M.
0
C.
II T
II
3
ü V
V
(T
O4
0 t
n 3
tó
n 5
1?
MX §s - .-0
§?
H>
d i H
3>
u 3 S
(L 0
rt- 3
0
Ga
o•J
H n 'a C rt P- a a 3 U H
2ÜAO 900BE220AD LrO20AC 05fl220AE ¿"O20AF 05822UBI FO20B2 7Ü05
20B-1 «ÍOOB7720137 KO28B8 F9
28B9213 UA.2Í1BU2QBE2ÜC(]2BC128C3zacr,2QCOaucy20CA2ÜOT2UCD28DO20D12ÜD22UD32QD528DGZQD'l7. (ID! I2 ODA20DJ32 HDD2BDE
OBoy
0082EÜfSFOyoopoo0982EOA')FA-ABFO900BE2EO3AFO0582EO3BFO0502EO3-100FO887CDO
iicro Systems 8051 Family Assemblec, Versión 3.02 Page *11
MOVMOVXIHCMOVXIHCMOVXMOV
MOVMOVXMOV
; suma de los
PAC: IHCIHCVfOVMOVMOVXMOVMOVt-TQVMOVXMUÍ,MOVMQVMOVMOVXADDCMOVXIHCMOVXADDCMOVXIMCMOVXADDCMOVXCJHE
LCALLMOVLCAULLCALLMOVLCALLLCALL
MOVLCALL
02-20-98
DPTR, *suml líbico «1 almacunador do 1* suma6DPTR,A encaro las 3 posiciones cjoniinnutivaraDPL de mronorin *, partir de (sumí)8DPTR,A tsuml + 1 } = bit» mas aignificativoDPL (sumí + 2 ) = 3or bite .del sumadorí DPTR, AR0,#05 iniaializo RO (contador :daton de voltaje)
DPTR, tfph contiene el dallo de acuerdo alA, 8 DPTR tipo de sis tima.R1,A inicializo Rl (contador :da.tos de corriente)
productos : vn * in
RORlDPTR, tfadcvDPL,ROA, P DPTRB,AOPTR, H^daiDPL.R1Ar0DPTRAB.R2,AR3,BDPTR, C sumíA, (í DPTRA/R20 DPTR, ADPLA, 9 DPTRA,R3í! DPTR, ADPLA,I'DVTRA,«0(! DPTR, ARO,HtlDT,PAC
CNV6A, fl ndatOJV2DrvtDPTR,#K2KTOSTSUMA
DPTR, ffpaFROl-IST
ubico el inicio de la tabla dn voltajeapunbo al datocaryo en Acá el dato de voltajeaargo en B el dato de voltajeubico «1 iniciio do la tabla de corrienteapunto al datocargo en Acc el dato do corríanteobtengo el producto : vn * inalmaceno el resultado en R2 :b. monos.».
. - R3:b.mao .s.
numo al resultado anteriorler bite
2do bite
3er bite
almaceno el rebultado en sumí113 datos ?
resultado en 1-IEX. => npf => STACKcargo el valor a convertir en el acc.oonvioKfco oí HGX. »> np£ >*> STACKdivido para el numera d« da toncargo la direoion de K2K en el DPTRenvió al STACKsumo «1 valor -Krt2
almaceno el rebultadoun ni espacio de memoria.
20E1 122E072GE4 717L20JC6 122DGG2ÜE9 J22CDO2BKC 900BC'!20EF 122DDO20F2 122CC9
2HF5 900EEO2BF8 122DBA
The Cybernetia Micro Systems 8051 Family Aasembler, Versión 3.02 Page *5202-20-98
2BFD 900ED62UFB 122DDO2901 HOOEDO?POJ 122DDO2907 122CD3
290A 900EEF.290D 122DBA
2910
2 y 1.12'JIV291A291B291K292129242927292A
900B9-1E O122DEGOOOB95EO122DE6122CD3122CEC122DAD9O0897FO
MOVLCALLMOVLCALLLCALL
MOVLCALL
~ .
MOVMOVXLCALLMOV1-JOVXLCALLLCA1A,LCAT-LLCALLMOVMOVX
DPTR, tfirmsTOSTDPTR, Wv-rmoTOSTMULT
DPTR, HaFROMST
DPTR,#a n vA, 6 DPTRCHV2DPTR, H^niA,f lDPTRO1V2Í-1UIJTSQTTOHEX'DPTR/ í fans ,•8 DPTR, A
aargo I rms al a fca ck
aargo Vrmo al obaak
Irms * Vrms t
almaceno el irosultsdonn el «jQpnaio de memoriacorrespondiente (s)
recilpftro ni vulor I1EX.do voltaje y corriente
' • • •• "'convierto 'a' hexad^cirnal'guardo el dato HEX.
CALCULO DEL FACTOR DE POTENCIA
29211 yOOEES2¡»2E 122DDO2931 900EEE2934 122DDO
2937 122C-DÍI293A 900EF4293D 122DBA
7.9-1029-13
2 9 4 9291D29-1K295129542957
900EF417.2DDO122CE7V4FF122DEG122CD3122DADyOOB9BFO
295(1 VI 00295Á 122DE6
; aargo P a í s taak
; cargo 3 A! «l:nok
P/S <- PUEDE HAIÍER O/Oubioa el resulbadoen el »nps.cl.o de memo iris*aorr«(!pand.LentB (fp)
trJUinClRro el resultadoal otaok (Ip)
escalar el valor de fp
convi-rfco a h«x*decimalguardo el dato HEX.
; inioializo los valores do fpd, thi,thv
; convierto' O a un npf en el atacV;
MOVLCALLMOVLCALL
f-íOVLCALLLCALL
LCALLMOVLCALL
MOVLCALLLCALLMOVLCALLLCALLLCALLMOVMOVX
DPTR, UpoTOfJTD PTR , H BTOST
A , f f 0 1CNV2SUMA
DTVT.DPTR, *fpFROMST
DPTR,«fpTOSTABÍ50],A, Í25SCUV?.MULTTOHEXDPTR, f f an fp@DPTR,A
MOVLCALL
A,'* OCHV2
The Cyb«rnehic l-ltcro 3ystemo 8051 F«mily Asoenmbler, Veraian 3.02 . Psge 4302-20-913
2P5D29GO29C329G629G929fiC29GF29V229752970
900CFA122DI3AyOOEFA122HDO900FOO122DBA900FOO122DDODOOFOS122DBA
MOVLCALLMOVLCALLMOVLCALLMOVLCALLMOVLCALL
DPTR, ff£pdFROMSTDPTR, HEpdTOSTDPTR.Íf thvFROf-tSTDPTR,|íbhvTOSTDPTn,)f thÍFROMST
; \rbiao
; ubico
; ubico
; ubico
; ubico
el
el
el
el
el
0
0
0
0
0
^n FPD
en stack:
en THV
en sliack
on THI
FIH DE 1A SUBRUTINA: CALCULO
SUBRUTINA DE CALCULOFILTRO DIKITAI,
VI,II,FPD,THV,THI
En esta, sxibrutin*, se utilizan loe valoreo Mrrwaenaclofl «n RAMpara Isa esca.la.ft, y J.oi* datos obUenidon desde la. adquisiciónanalógica-digí tal, para obtener modianUo un CJl t t ro digital, loaprimeros armónicos d«s voltaje y cortrionte, y en base a estos rq-oiiltíido» y loo nnü-5rior*a, obtener otron pA.r«m*bro»: FPD ,1'iIV, THI
Las fórmulas utilizadas en los diferentes casos son:
vl(n) - E (v(n))il(n) - f (l[n))VI = Vp(Sbo)/ (1.4142)II = Ipt5l:o)/ (1.4142)fpd= aoa[(n(Vp)-n(Ip))/ndat *(2* 3.14151)]THV - SOT(V 2-V1 2)/ VI
. ..THI = SQT(1'S2-I1A2)/ II
. donde:vi = .valor d». voltaje correspondiente a la fundamentalil =• yálor de corriente correspondiente a la íundamnntalvp -Ip =vi =II =fpd
pi.oo del quinto oiola dul filtro para voltjij-,va,lor pico del quinto cíalo del filtro para corriente.Vrinsl = valor eficaz o RMS del voltaje [ler armónico)Irmsl ** valor eficaz o RMS de la corriente (ler armónico)factor de potencia. d«> desplazamiento
nda t — .numero d« datos pov aada uialon(Vp)M numero de dato en «1 que ocurre el pico de voltaje
The Cybernetic Micro Systems B051 Family Assembler, Versión 3.02 Page <n^-^n-02-20-98
Th« Cybernetia M
ti(Ip) = numera de dato en «1 quo ocmrre el pico de corrienteTHV = distorsión armónica total dq voltajoTHT = distorsión armón.! na total de corrienteV = Vrms = valor eficas; o KMS del voltajeI = Irma ~ valor eficaz a RMS de la corriente
el proceso para hallar loa diferentes parámetro» netransforma en:
VI = vptflto)/ SQTÍ2)II - Ip(5l;o)/ SQTU)JTpdr. aofl L (n (Vp) -n (Ip) ) /ridaL * (2*PI) ]THV = SOT(VA2-vi^2)/ VI * 100THI - SQT(Irt2-Ilrt2)/ II * 100
sv = «naala d© voltajesol — iHaala do corriente 1pc2 = escala do corriente 2apo = escala de potencia
donde:
Para el filtro digital, ne deben tomar 113 datos, correspondientesa un ciclo, y obtener los datos de salida, ruego d*í procensdoo 5ciclos, que eguivalen ^. un numero de ciclón que se requieren para,tenue una atñniiaaion en magnitud menor flj. 10%.
* en el caso de un íiistema mono-fTaaico:sa toman Ion 113 (71H) datos de voltaje y oorrient", correspondientesa un ciclo, ubicados a partir de la ponioion de RAM ¡
OC05H -> para los datos de voltaje ( OCOOII + 5 )OD05H -> pitra loo datoo de corriente ( OCB4H -4- 5 )
* para un sistema trifásico:OQ debe tener en cutmta que existe un retardo de 90 grados de !«.onda de aorrlont» u*»flp*ato a la d= voltaje, qu» corresponda * 2fldatos da diferonaia, por lo tanto lüs posiciones inicíai.BS da RAMson:
OCDñll -> para loo daV.oa de voltaje t OCOOH ^ 5 )OD21H -> para los datos de coririenbe ( ODOOH + 5 + 1C )
FILTRO DIGITAL
X(t) 1 II F(t) 1
Y(t)
conatantfa.i del £,i.ltro:
BO = 1: ~B1'= 1.9BS033: B2' « .9076991 --> B0=l
ero Systems 8051 Family Assambler, Versión 3.02 Pago *1502-20-98
AO = 1.332812: Al = 2.665624; A2 = 1.332B12KK=10DOO
ocuacionea p*rn obton«r in función dn branut
XD2 = XD1: XD1 « XDQYD2 = V131: YD1 = YDO
Yl » Bl' * YD1 - (B2) * YD2XI = AO ^ XDO 4- Al * XD1 + A2 * XD2YDO = -Yl + XI / KK
YDÍ5 KK + B1*YD1
FILTRO DIGITAL
CALC2:
297C V1F7 ACALL PHTR. ; IHICJALIZAR PUtlTEROS
29VK !)OOBF429MI. 122DDO2984 900EDC2967 122DBA
MOV DPTR, »YD2I.CALL TOÍÍTMOV DPTK, «viLCALL FROMST
; ubico «1 0 «n staak.
; ubiao «1 0 on vi -
CALCULO DEL PRIMER ARMÓNICO DE VOLTAJE
298A 7BDO
29HC 7Ü0529ÍIF, C3298F El
MOV R 3 , f f O Ovrri:
W7V R 0 , f f 0 5CLR CCLK A
; R3: contador n. ciclos : 5 inax.
; RC): aonl:«dur n. d»toíi :113di-S « 071H+5; ena<?ro la bandera, dol sumador; ítnceco «1 acumulador
; filtro para los datos de voltaje
2990 082991 900COO
Tlie Cybernetic
2!?94 C1B8Z?.$96 RO2997 122DE6
299A V480299C 122DE6299F 122CCE
29A2 913FZ9M 900BEQ2<!A7 I22DDO29AA 915E29AC 91712!>AK «JOOBEO29B1 122DBA
29134 0B05022WV 00092989 £87604
20EC 01329UD JJB06CC29CO BOS7
VFT: TWC RO.MOV DPTR/íTadav ; ubiao el inicio de la taüla
Hiato Syst«m3 H051 Fíunily- Asseniblar; Vnraion 3.02 P^g*» 4"ff -
MOV DPL,ROMOVX A, 6 DPTRLCALL CHV2
MOV A , K B O HLf^LL CHV2LCALL REfíT
ACALL SFT11-KJV DI.JTR,WYDOLCALL TOSTACALL SFT2ACALL FFT1MOV DPTR,#YDOLCALL FROMST
CJím R3,tt05H,VFT2s^n-ip VPK
VFT2: CJNE RO , ÍÍ1JDT,VFT
IHC fl3CJMR R3 , f 0 6H , VFT1SJ1-0? IFT4
OZ-20-9D
; apunto al dato; CTirgo -u Aoo T-! d»\t;D d- volbi j -; convierto el IÍEX. => npC => STACK
; cargo al valor 12B aao.; convierto el ÍÍEX. -> npf -> STACK; resto ni dato: 128
; desplazo los daboo do nntr^da
• desplazo los daUon de onlida; FILTRO para el dato -> Y
; 6 CICLOS ?
113 datos ?
7 CICLOS ?
; obtengo el voltaje pico y au ángulo (n dato) corrpspondiflnfc-
2!)C2 900EDC29C5 1220002E1CD J22CE729CB DOOI3ES29GT. 122DDO29D1 122CE7J»9D4 122COE?9D7 900HE229DA 322DBA29DD 900BE829EO C58229E2 1429F.3 1429E4 CS 822*)BG BO29E7 13400022 PEA QOOC
29EC ÜOOBE82»KF 122IJDO29F2 900EDC29FS 1 22 DBA
29FB 900UEE29FB C!JB22SFD 1-12'JFE 142PFF C5B22A01 EO
rho Cybocnatio
2A02 B400B-1
2A05 900BEB2A00 C5B2
VPK: MOV DPTK,#vlI.CAI.L TOSTLCALL ABSOLMOV DPTR,fVDOLCALL TOSTLCALL ABSOLLCALL RESTMOV DPTR, # sumíLCALL VROI-1STMOV DPTR, ÍVDOXCH A, DPLDEC ADEC AXCH A, DPLMCJVX A, P DPTRCJNE A, KOOH,VFT3SJI-IP AHG2
VFT3; MOV DPTK,Í(YDOLCALL TOSTMOV PPTR, fvl.LCALL FROMST
AHG2; ' MOV DPTK,.#YD1XCH A, DPLDEC ADEC AXCH A, DPLMOVX A,@DPTR
Mioto Syotemo 8051 Family Ao«*tnblo
CJ1ÍE A,#OOH,VFT2
MOV DPTR, JfYDOXCH A, DPL
cargo la dirocion de vi : VOLTAJE PICO-nvio ni STACKABS (vi)cargo la direaion de "¿DO l salida d«l filtro«nvio a] STACKABS (YDO)vi - YDO
»nvio «1 rebultado desdi «1 STACK -> (numl)obtengo el fligno d«l r»fiultadoubico el dato del SIGNO
si «u negativo; A= 1 , (vi) <- (YDO)
A = 0 ?
cargo la dirccion de YDO ; nuevo V PICO
cargo la dir«aion de vi : voltaje PICO(vi) <- (YDO) '
cairgo la dicocion dt? YD1 :ubiao el dato del SIGNO
fli -3H negativo: A= 1 , (REGRESO)
r, Varoion 3.02 Pago A'}02-20-90
A => 0 ?
cargo la diir«cion dn YDO :ubico oí dato dal SIGIIO
I2AOA 142AOB 1-12AOC C5827AOE EO2AOF B401A72 Al 2 f.B2A13 900B7A2A1G FO2A17 OOAO
2 Al 9 71F7?A1M OOOLUT-I2A1E 122DDO2A21 900EE22A24 122DBA
2A2V 7BOO
2A29 900B772A2C F.O2A2D F92A2E AB052A30 E42A31 C3
2A32 Olí2A33 092A34 900DOO2A37 09022A39 EO2A3A 122DE6
2A3H 74 U 02A3F J22DEfi2A42 122CCE
2A-55 IÍI3F2A47 900BE82A4A 122DDO2A4D 915E2A4F 91712A51 9UOBEU2AS4 122DBA
Thn Cybo.cn-ític
2A57 J3B05022A5A Ü009
ZA5C BQV5D3
2A5F OB2A60 BI30GC62A63 0057
DECDECxcaMOVXCONEMOVMOVMOVXSJMP
CALCULO
ÍFT4;ACALLMOVLCALLMOVLCALL
MOV
IFT1 : MOVMOVXMOVMOVCLRCLR
; filtro de co
IFT: 11 1CIMCMOVMOVMOVXLCALL
MOVLCALLLCALL
ACALLMOVLCALLACALLACALLMOVLCALL
AAA,DPLA, R DPTRA,»01H,VFT2A,RODPTR, #*ngveDp;m,AVFT2
; ai «B negativo: A= 1 , (CRUCE POR CERO)
; A = 1 ?
; cargo la. direcion del ángulo oocr*«pondiínt*; guardo el numero do dato correnp. al ángulo
DEL PRIMER ARMÓNICO DE CORRIENTE
ITITRDPTK,#YD2TOSTDPTR, (filFROt-tST
R3,fOO • •
DPTR,JíphA,gDPTRR1,AR0,05AC
criante
RORlDPTR,fladciDPL,R1A,PDPTRCNV2
A,flUOH 'CNV2REST
SFT1DPTR,» YDOTOSTSI-T2FFTiDPTR, HYDOFROMST
Micro Sy.^t^mfl 8051 Family Ajuiembl
C.JNESJMP
IFT2 : CJHE
INCCJJJESJMP
R3,#05H,IFT2IPK
RO,HNDT,IFT
R3H3, W06H,IFT1THD
; obtengo la corriente pico y su
2Afl5 ÍIOOEE22AÍJO 122DDO2A6U 122CE72AÍÍG fíOOBEflZA71. 122DDO2A7-1 122CE72A77 122CCE2A7A !)QOBE22A7D 122DBA2AÜO 900BEB2AÜ3 C5822AQ5 1-12AIIÍÍ 142AU7 C5U22A09 EO2AflA B<t00022AOD 800C2AOF OOÜBEO2A92 1.22DDQ2A95 900EE22A9B 122DBA
2A9B 900BEE2A9E CÍO 22AAO 1-12AA1 14
IPK: MOVLCALLL.CALLMOVLCALLLCALLLCALLMOVLCALLMOV-xcnDECDEC•xcnMOVXCJ1ÍESJMP
IFT3 : MOVLCALLMOVLCALL
AHG3 ¡ MOVXCHDECDEC
DPTR, tilTOSTAIJSOLDPTR,í(YDOTOSTABSOLRESTDPTR, KsumlFROMSTDPTR, /fYDOA,DPLAAA.DPLA, (l DPTRA, HOOH.IFT3AHG3DPTR,#YDOTOSTDPTIÍ,fíilFROMST
DPTR, KYD1A',DPLAA
; l.íUCTJO.-JtZ.AR HJ1-JTEROS; ubico el 0 «n stack
; ubico el 0 «n il
; R3: contador n. aialos : S max.
; oontione el dato do acuerdo al; tipo de sistema; inicialiso RO
; *>na«ro »1 acumulador; encoró la bandera del sumador
ubico e], inicio de la tablaapunto al datocargo -»n Aac •»! dato de voltaj»convierto el HEX. => npf => STACK
cja.ixjo «1 valor 128 *cc.fjunvj^rto ni IfEX. «=> npr => STACKrento al dato: 12B
desplazo los datos de entrada
desplazo IOB daton de salidaFILTRO para el dato -> Y
»r. Versión 3.02 Paa* 4802-20-98
• 6 CICLOS ?
113 datos ?
7 CICLOS ?
«ngulo (n dato) correspondiente
c*rgo 1* tlir-reiion de il : I PICOenvió al STACKABS (il)cargo la dii-finion de YDO : salida dol filtroenvió al STACKABS (YüO)il - YDO
envió ni resultado dnsdn el STACK -> (sumí)obtengo «J s'ígno del resultadoubico al da.to de), signosi es positivo: A= 0 , (i.1) <- il (TOS)si es negativo: A= 1 , (Jl) <- (YDO)asi obtengo el valor en KVA
A = 0 ?
cargo la direoion de YDO : nuevo I PICOenvió al STACKcargo la dírecion de vi : I PICO(il) <- (YDO)
cargo la direcion de YD1 :ubico el dato del SIGNO
ai e» negativo: A« 1 , (REGRESO)
2AA2 C5822AA4 EO2AAS B400B4
2AAO 900BEB2AAB C5B 22AAD 142AAE 142AAF C5B22AB1 EO2A02 B401A72AU5 E 82AB6 900B7B2AI.19 FO2ABA QOAO
The Cybisrnebía M
XCH A,UPLMQVX A,PI)PTP.CJNE A,#OOH,IFT2 A =• 0 ?
MOV npTR,dYDO cargo l.i dLreaion do YDO :XCH A,DPL uliiao el dabo del SIGl-'ODEC ADEC A si os negativo: A= 1 , (CRUCE POR CERO)XCH A.DL'LMOVX A, P DPTRC.WE A,i¥01H,IFT2 A = 1 ?MOV A,ROMOV DPTR,#angi uargo la. dirtuion d«] ángulo oorc»«poMOVX (ÍDI3TR,A guardo el nuinnro do d^to aorrenp. alSJMP IFT2
oro Systems 8051 Fflmily Assambler, Versión 3.02 P*g- 4902-20-98
CALCULO DE LA DISTORSIÓN ARMÓNICA! TÜDV , THDJ
VI = Vpk/ Í5OT(2)11 = Ipk/ SQTf2)TIIV = SQT (V"2-V1A2) / VI * 100TH1 = SQT(lA2-Ilrt2)/ 11 * 100
ndianbángulo
THD: ' .2A13C DOOEDC2ABF .122DDO1ÍAC2 74022AC4 122DE62AC7 122CEC
2ACA 122CDB2ACD 122CE72ADO 900BAGZAD.3 122DDO2AD6 122CÜ32AD9 900EDC2ADC 122DBA
2ADF 900EE22AE2 122DDO2AU5 74022AE7 122DE62AEA 122CEC
2AED 122CDO2AFO 122CE72AF3 900EE22AFtí 122DBA
-2AP9 900EDO2AFC 122DDÜ2AFF 900EDO2B02 122DDO2U05 122CD32BOQ 900EDC2BOI3 122DDO7BOE 900EDC2IVU 122DDO2B14 122CD3
2B.L7 122CCE2BÍA 122CE72B1D li2?CF,C2B70 900EDC7B23 1?2DDO2B26 122CDO2B29 74fi42B2B 122DÜ6
MOV ,DPTK,#vl . ; cargo V pico al stackJ.CALL "rofíT ,MOV A, «2 ; .aargo 2 al stacfc , •LCALL CNV2 ; convierto .a npf en el stackLCALL SQT ; obUongo la rai= de 2
LCA]JL DJVl ; Vpk / SQT (2)LCALL ABÍÍOLMOV OPTR, KA2LCALL TOSTLCALL MULTV DPTK, tfvl
LCALL FROJ4ST
MOV DPTR, #ilLCALL TOSTMOV A, *7.LCALL CNV2LCALL SQT
LCALL DIVILCALL ABÍJOLMOV DPTR, ffilLCALL FROt-lST
THV) :MOV DPTR, ffvrmaLCALL TO«TMOV DPTR, tfvrmsLCALL TOSTLCALL MULTMOV DPTR, tvlLCALL TOSTMOV DPTR, «viLCALL TOSTLCALL MULT
LCALL RE5TLCALL ABÍ50LLCALL SQTMOV DPTR, fvlLCALL TOSTLCALL DIVT
• -MOV A, f. 1.00LCALL C1JV2
alma onno RJ. r«cnl bailo?n ti inpniíio d* merntiriivcorrespondían Ue tvl)cargo I pico al sback
oargu '¿ al nbankconvierto a npf <?n «>1 stackobtengo la raíz de 2
Ipk / SQT (2)
almaceno el renulb^doen el espacio de memoriacorrespondí en be (il)
ubico il dato de VOLTAJE RMS p. unidadconvierto a un npf en oL obackubico el dato de VOLTA.JP. RMS p. unidadconvierbo a un npf en al stacfc
cargo VI al stack
aargo VI al stack
.obtengo VI "2
rosta de loo oundmdoB
SOT CV*'2-V1 2)cargo VI al stack
obbengo SQT(VA2-Vl-*2) / VI
convierto IDO a un npf en el stack
The Cybernetic Micro Systems 0051 Family Assembler, Versión 3.02 Pago 50
2B2E 122CD32831 122CE22B34 74 LO2B36 122DEC2B39 122CCE2B3C 322CE72I33F 900FQO2B42 122DBA
02-20-90
LCALL MUJjTLCALL IHT ; «sao la parto «nt«ra.MOV . A, flS .LCALL CNV2. ; convierto 100 a un np£ en al stackLCALL -RESTLCALL A8SOL, ....MOV DPTR,fltJiv ,- onvio resultado d«ad« el atacfcLCALL FROMST ; a la posición THDV
;THI):2B45 900EDG2B1H 122DDO2B113 POOEDG2B4E 122DDO2B51 122CD3
2D54 900EE22B57 ;122DDO2B5A 900EE22ÍJ5D 122DDO2BGO 122CD3
2BR3 122CCE2BGG 122CE72H69 122CEC2BGC 900EE22BOF 122DDO2B72 122CDO2B75 716-12B77 122DE62B7A 122CD32B7D 122CE2?noo 7/no2BÍ12 122DEG2UÜ5 122CCEy.tíiH) 12ZCE72I3«I1 900FOG2BOE 122DBA
:
••2B91 C3
2B92 900B7B2B95 EO2B96 122DE6
2B99 900B7A2139C F.O2B9D 122DE6
The Cybernetic Micro
2BAO 122CCE2BA.T 900EFA2UA6 122D13A2BA9 900EFE2BAC EO2I1AD SOOB7A2BBO FO2LW1 yOOEFA2HD-1 1?2DDO2BB7 122 CE'/
aDO A 7 '1672UI.1C 122DE62BBF 122CC92UC2 71712DC-1 172DE62BC7 122CDB2IJCA 7-1022IJCC IZZUBfí2HCF 122CD32I1D2 122CF62UDS 122CD32BDÜ 122CF1
2BDU 90QEFA2BDE 122DBA
2BE1 ÜOÜEFA2I1E-1 J22DDO2ÜB7 7-1 FF2UE9 122DEG2J1EC 122CT)32BEF 122DAD2BF2 900B992BF5 FO
MOV'LCALLMOVLCALLLCALL
MOVLCALLt-JOVLCALLLCALL
LCALLLCALLLCALLMOVLCALLIJ2ALLMOVLCALLLCALLLCALLMOVLCALLLCALLLCALL
- MOVLCALL
CALCULO
£pd— aoo [
CLR
MOVMOV;<LCALL
MOVMOVXLCALL
DPTR, «iritisTOSTl)PTR,ffirmsTOSTMULT
DPTR, #ilTOSTDPTR, #ilTOSTMULT
RESTABUOLSQTDPTR,* i 1TOSTDIVTA, fllOOCNV2' MULTIHTA,ffí 6CHV2 .RESTAB.-JOLDPTR.Ílthi'FROMST
; ubico el dato de CORRIENTE RMS; convierto a un npf en el stnok; ubLao «1 dato dn ' CORRIENTE IÍMS; convierto a un npf en el atack
; cnrgo il ni »t»ck
; cargo il al atack
; obtengo I1A2
; resta dn los cuadrados
; SQT (I/%2-Tl'>2); cargo 11 al otack
; obtengo SQT (1" 2-11" 2) / 11
p,ur
p.ur
; convierta 100 a un npf en el staofc
; convierto 100 a, un npf en el stack
; ouv-lo rtipull;pdo ddfld« el nUacfc; A la posición TKDI
DEL FACTOR DE POTENCIA DE DESPLAZAMIENTO
*,ngi-Angvl'K / ndab M2H1!) ]
C
DPTR, PangiA, P DPTRCNV2
DPTR, «angvA, S DPTRCNV2
; cargo <I al stack
; aargo <v al stack
; <I - < V —> STACK
Systems 8051 Family Aseembler, Versión 3.02 Pago 51
LCALLMOVLCALLMOVMOVXMOVMOVXMOVLCALLLCALL
MOVLCA1.LLCALLMOVLCALLLCALLMOVLCALbLCALLLCALLLCALLLCALL
MOV- .LCALL
MOVLCALLMOVLCALLLCALLLCALLMOVMOVX
RESTDPTR,flfpdFROMSTDPTR, íffpsA, 9 DPTRDPTR,tfanQV6 DPTR, ADPTR,«fpdTOSTABSOL
A,»67HCNV2SUMAA, ti ndatCMV2DivrA,í<02CMV2MULTPI2MULTeos
DPTR, #£pdFROMST
DPTR, íffpdTOSTA, #255CNV2MULTTOHEXDPTRjanfd6 DPTR, A
02-20-98
obtengo la diferencia en ánguloubico •?! resultadoan el espacio de memoria
almaceno el signo an ANGV
ubico el resultadon ni fltaaksaco el valor a_bsolul:o
sumo una ote.
resultado * 2
e nvi o PT al ota ckresultado *. PIobtengo el COSENO del ángulo
ubico el renulUsdoen el espacio de memoriacorrespondiente (fpd)
transfiero ii resultado.-vi otnok (fpct)
escalar el valor de JTp
eianviñcto á hexadociraalguardo el dato HEX.
FIN DE LA SUBRUTINA: CALCULO2
I
2BF6 22
Tho Cybernebic
FPDl !
RET
SUBRUTINAS
Micro Sysbema 0051 Family Assemblor, Versión 3.02 Pago 5202-20-90
INICIALI7.AR LOS PUNTEROS
iniaializo los valores de los datos con retardo de tiempo
2BF7 7400211F9 122DE62EIFC 9000DO2BFF 122DBA2C02 !>OODDQ2COÜ 122DDO2COB 900BD62COB 122D11A2COE 000BD62C11 122DDO2C14 QOOUÜC2C17 122DBA
2C1A yÜOISDC2C1D L22DDQ2C20 900BEO2C23 I22DHA2C2C 900BEB2C29 1220002C2C 900BEK2C2F 122DBA
2C32 9000EE2C35 122DDO2C30 900BF42C3B 1.22DBA.2C3E 22
PHTR: t-TOV A,#0LCALL O/V2MOV [JPTR, #:<DOLCALL FROMSTMOV DPTR, tfXDOLCALL TOSTMOV DPTR,ífXDlLCALL FROMSTMOV .DPTR,f:íDl ;LCALL TOSTMOV DPTR,Í(XD2LCALL FROMST
MOV UPTR, KXD2LCALL TOSTMOV DPTHíffYDOT-C^v-LL FROMSTMOV nPTR^YDO.LCALL TOSTMOV DPTR,#YD1LCALL FROMST
MOV DPTH, ÍYDl ;LCALL TOSTMOV OPTR, fíYD2LCALL FROMST
RET
convierto 0 a un npf en ctl sback
ubico «1 0 <sn XDO
ubico el 0 en sbaak
ubico el 0 en XD1
ubico el 0 .en sbacJc
ubiao oí 0 en XD2
ubico- el 0 en ¿baak.
Ubiao el 0 en YDO
ubiao «1 0 en ratncfc
ubica oí 0 en YD1
ubiao el 0 en «tack
ubioa el 0 en YD2
; aubcutina par» doaplasinr loa dnton dol filtro y obtener uno nuevo
2C3F 900DD62C42 13213002C-15 9000DC2C4Ü 1Z2DBA
2C4H 900IJDO2C4E 122DDO2C5.1. 900UDG2C54 122DBA
2C57 900BDO2C5A 122DBA2C5D 22
The Cybarnratic
2C5E 9UOÜEE2C63 Ü22DIJO2CG4 900ÜF42C67 122DBA
2CÍÍA ÍÍOOBBE t
2C6D 122DBA
XD2 <~ XD1 : XD1 <- XDOYD2 <- YD1 : YD1 <- YDO
SFT1:
MOV DPTR,ffXDlLCALL TOSTMOV DPTR,»IXD2LCALL FROMST
MOV DPTR,fXDO /LCALL TOSTMOV DPTK, HXD1LCALL FROMST
MOV DPTR,#XDO ;LCALL FROMST
RET
Miaro Syubems 8051 Family Aseembler
SFT2:
MOV DPTR.tfYDlLCALL TOSTMOV DP'l'n., YD2 ;LCALL FROÍ-1ST
MOV DI.JTR, KYDlLCALL FROMST
; XDO <- Xi
envió XD1 al stnck.
envió XD1 * XD2
envió XDO al sb«ak
envió XDO a XD1
envió dato a XDO desde el st.ick
, Versión 3.02 .Paqe 5302-2Q-9H
envió YD1 al sb^ck
«nvio YD1 a YD2
envió dabo a YD1 desda el staok
I ZC712C712C772C7A2C7D2C802C032CS6
¡JOOBDO122DDOÍÍOOBDC122DDO122CCO900B9A1.22DDO122CD3
2CD9 900BD62COC 122DDO2CQF !»OOBAO2C92 122DDI)2C95 122CD32C90 122CC9
2C9B 900BBU2C9F, 122DDO2CA1 122CDO
2CA4 900BEE2CA7 122DDO2 CAÁ 000BAC2CAD 122DDO2CBO 122CD32CB3 122CC9
2CS62C092C0C2CBF2CC22 CCS
[ÍOOBF4122DDOOOOBB2122DDO122CD3122CC9
2CC8 22
tarutina qiio ufeotua 1.» funoion d« Üi7anfjfej:*ínaia, del filtro
YDO = [ AO*(XDO^XD2)+ Al'XDl ] / KK + B1*YD1 + B2*YD2
envió dato XDO al ntack
envió dato XD2 al abaak.
envía AO al sback
envió dato XD1 al sback
envió Al al stacJc
; envió KK al aback
envió dato VD1 al sback
envió fll al aback
envió dato YD2 al aback
onvio B2 A! «sbaak
MOVLCALLMOVLCALLLOALLMOVLCALLLCALL
MOVLCALLMOVLCALLLCALLLCALL
MOVLCALLLCALL
DPTR,fOíDOTOST •Drm,»XD2TOSTSI.TMA
Dt*TR,#AOTOSTMULT
DVTRfffXDlTOSTDPTH, (1 AlTOSTMULTSUMA
Dl'TR, HKKTOSTDI-VI
• LCALLLCALLLCALL
MOVLCALLMOVLCALLLCALLLCALL
MOV DPTR, fJYDlLC/iLL TOSTMOV DPTR^íBl
TOSTMULTSUMA
DPTH,ÍIYD2TOSTDPTR,»B2TOSTMUT.TSU14A.
Tho Cybornetia Micro Syufcem» 8051 Family Aasombler, Ve^aion 3.02
FORMA DE LJJvMAR A SUBRUTINAS BASIC DESDE LENGUAJE ENSAMBLADOR
NOTAS:
HBO,1,2 (BANCOS DE REGISTROS), Ufados por «il RASICRB3 rotjiflbro de usuaria , DBY(24(1BHJ->31(1FH))=0->255
para noí etiol.onwrlo!ORL PíJW.I'OOOllOOOB : PSW3,PSW4 = 1ORL P3Vf,lt lOH
32(20H) ,33 (21H) localidadon inbeirnas, sa direocionan: BIT o BITEpor el usuario
RBO registro di* trabajo, para fM eccionarlo:ANL PSW,M110QÍ11B : PSHSíPSH'l - 'OANL PSW,HE71Ia* dtbt »«l«»ociona.r antes d<» llamar a. una, rutina BASIC
ARG. STACK esta localizado «n la memoria oxtecna on latí localidades12DH hasba 11TKH, el. ul.biino niunoco nn el STACK, so almacenaon la ponioion 1FEH haeba 6 localidades abras.
ARCJ. SP eoba localizado en la posición 9H do la memoria int'irna,aeasume que el pcimer dígito de la dirección es 1 (1XXH)
SUHRUTTNAS QUE EFECTÚAN OPERACIONESCON NÚMEROS EN PUNTO FLOTANTE EN EL STACK
se d«b« aíiecfiirar el trabajo con el banao O (RIJO) , durant" e l llamadoa una aübrubina, y- el trabajo con el banco 3 de rngiofcroo (RB3) ,durante *1 desarrollo del programa en lenguaje ensamblador.
o, a
pu
u u
uu
u
Di
in
cv
£4 O
O
O
• 5«
H-'-U C
C
£ 1
0
3
H .
3 n
C
M9-
(t
C.
D,
e- ü
f JJ
T3
ffl•H >
•— l
•a -a
0
, A
Eií
t
•H
ü
^J (t r-
•H i>
O
s c ¿
r-i H
O
C
-•o
CH
0
Oc
Atu
o 1
C
E —
Eo
r-1 =
Ai-
C
—
oC
H
C
O•0
-P c
0 3
M C
U
¿1
CC
tt1
oo
u u
-t É
> c
n
C H
•O (i •a
o -U
Q3
M
r-l
0
c i
0u
EO
-rt
n; r-i
r>
3
< 5
H 5
E o
t-i O
Cil
C W
Dp p
uu
tiC
V tN
CM
n \
ftt~
D p
ou
du
N
CM
tN
D <
UD
Q P
uti
uÍV
tN
tN
Q t
i H
p p
uG
üu
IN Í
N t
N
U U
UU
U U
r- o
í u)
ia M
uD
Ou
CV
CN
' O
J
[u t
u
Ui
th I
&!
Eli
u u
u
u u
uCV
tN
O
J O
J O
J W
u H 0) 3 2 H K < 1 3
•H
Mtu
tn
e
o
c re
o"3
CT
J•r
H
o -
u fi
3O
U
0
D J
2 0
C
3
Cit
B
<Ó
niH
H H
ft
fi0
o .y
o•-
i 3
-H
•9 °-
S5
-r-
i 5
D
e 0
a
xP
- C
D0
H
*: *
t/1
O U
)C
i n D
J
tj
E 5
2
tí o
r- o
03
O P
l r-í
oo
oC
o D
n N
n
a W
Htu
tu O
uu
a
IO
OJ
m o
¡ i oft
Nen i
re
CNO
í 0
N O n c o -i e a . u r-t i ^ i i» r-t
O ID e >i
o tj a is 0 iJ c u J3 U C
m r
e Q
K
EC
ZG
t-i H *
H
O O
»; ü
-
04 U
U••
V
fí
Q O
O
-
r- o
ai
o n
Ho
oo
QO
Qn
cv
nl/
ír-i
rr
OO
O
O
— {
rD
DQ
W
N
CV
N C
M O
) tS
J
I
SUBKUTINAÍJ QUE EFECTÚAN OPERACIONESDE TRANSFERENCIA CON EL PÓRTICO 3ERJAL
CRLF:2D1C 7407 MOV A, I07H ; trannmit»! haoi» la aonpola2D1E 91FB ACALL ROOT ; o puerto norial una secuencia CR-LF2D20 22 RET
; transmito el contenido dal acumulador hacia el puocto aerial
CHSR:2D21 53DQE7 ANL • PSV, ftlllOOlllB ; trabajo oon «si banco O de registros2D24 FD MOV -R5,A ; trannfiíro «1 contenido del aaa. a R52D2S 7400 htOV A, J80U ; trannmibfl hacia el puerbo aerial2D27 91FB ACALL ROOT ; el carácter en R5.2D29 22 • " RET - • •
; transmito el contenido del STACK hacia el puerto serial
TO5R;2D2A 7490 MQV A, M90H ; tranflinite hacia «si puerto serial2D2C 91FB ACALL ROOT ; oí NPÍ1 «Imacenado «n el STACK2D2E 22 RET
'• ACTUALIZACIÓN DE DISPLAY DE ACUERDO A LA TECLA PRESIONADA; LUEGO DE LA REVISIÓN DEL TECLADO
The Cybornebic Miaro Systema 0051 Family Asaembleí;, Versión 3.02 P*ge 5702-20-9B
2D2F 901B022D32 ÉO2D33
2D35 1227D132D3U 12'.Í7DB
2D3E 1227DO2041 1227I3D2D44 1227DD
2D47 B40024
7.D4A 9010022D4D EO2D4E 5440 .
2D50 1227D02D53 12270D2D56 1227DB2D59 1227002Ü5C 1227DB2DSF 1227DB
2D62 B44QE5
2D65 1227802D68 1227DB2DGB DOEO2D6D 22
2DGE 9018022D71 EO2D72 5480
2D74 1227D1J2D77 1227D132D7A 1227DB2D7D 1227DB2DIJG 1227DB2DB3 1227DB
2DÜ6 B400A6
MOVMOVXANL
LCALLLCALLLCALLLCALLLCALLLCALL
MOVMOVXANL
LCAI.LLCALLLCALLLCALLLCALLLCALL
CJKE
LCALLLCALLPOPRET .
LCALLLCALLLCALLLCALLLCALLLCALL
CJNE
DPTR,#DRPCA,0DPTRA, tfup
RETARDORETARI30RETARDORETAHDQRETARDORETARDO
UP pr««ionacía
CJNE A,#OOH,KYB2
DPTR, WDRPCA,SDPTRA, ííup
RETARDORETARDORETARDORETARDORETARDORETARDO
A,f(up,KBZl
PGUPRETARDOACC
DPTK,NDRPCA,PDPTRA, ff dwn
RETARDO •RETARDORETARDORETARDORETARDORETARDO
A, tfOOH,KTBl
tecla up sin presionar ?
avanzo 1 página
teala DOHN presionada ?
2D09 9018022DBC EO
MOVMOVX
ÜPTR, «I3RJPC
2D8D 5480 t«cla DCJWN sin presionar ?
2D0F 122VDB2D92 1227DI32D93 1227DB2D98 1227DB
Th« Cybttrnobio
aop» laa'/DB2D9E 1227DB
2DM B480E5
2DA4 1227UO2DAV 1227DB2DAA DOGO2DAC 22
2DAD S3DOE72DBO 7/1012.DU2 J200302DB5 E 9
2DBG 43D0182DB9 22
«DBA 7-lOfí2DBC 53DOE72DBF 25022DC1 FS)2DC2 7-1002DC4 35032DC6 Fu2DC7 71032DC9 1200302DCC 43D01BZDCF 22
2DDO 7405
Tha Cybornefcia
2DD2 53DOE72DD3 25B22DD7 FU2DDÍJ 7'100 'ZDDA 35032DDC FA2DDD 74022DDF 1200302I3E2 43D01B2DES 22
2DE6 53DOE72DK9 FU2DEA 7AOO2DEC 74 9A
LCAJ.L I^TAJUJOJ.CALL PETARDOL.CAL1. RETARDOLCALL RETARDO
Miaro Byaktima 0051 Fnmily Artnsmbl»!:, Vncaion 3.02 Pngn SO02-20-9B
LCM.L RETARDOLCALL RETARDO
CJWE A,ttdwn,KBZ2
LCALL PGOH / retrocado y páginaIX LL RETARDOPOP ACCRET
SUBRUTINAS DE THAHSFEREIJC3A Y CONVERSIÓNCON NÚMEROS EN PUNTO FLOTANTE
.
Donvoraion ;nuinero en punto flotante => hejcadeaimal en {R3:R1)
TOHEX:ANL PSW,fíOE7H ; b^nao 0 ti* r-ql^troi"^ ov A, ya?. ;. STACK npf => £R3:Ri)iiExLCALL 301-1, .MOV A,Rl ; ca,L'gar *»J. valor «n «1 acumulador
ORL PSW,tflHH ; banco 3 de reyistroaRET
; HROCI un numero on punto Clotnnto dal ntnak — > (R3 ;R1)
FROMST :htOV A, "05 almacena un NPF, el* 3. obaak a (R3¡R1)AWL PSH,ffOE7H banco 0 de cegÍPtroBADD A,DPL DPTR uontíonp la dirección R3:Rt, poroJ-1OV R1,A tiautslto uaryar la ultima poaiaionI-JOV A,fOH (R3:R1 4- 5)ADDC A, DPHMOV R3,AMOV A,* 03 STACK. -> (R3:R1)LCALL 3 OHORL PSW,#1BH banco 3 de regiatrosRET
; envía al STACK un numero en punto flotante deade (R2:RO)
TOST:MOV A, #05 ; «nvia un NPF, al atack donde R2:RO
Micro Systems 8051 Family Assemblar, Versión 3.02 Page 5902-2Q~yt]
ANL PSVT, ÍOE7H ; banco 0 do registrosADD A, DPI,MOV RO,AMOV A,#0»ADDC A, DPHMOV ' R2,AMOV A,»02 ; (R2:RO) => STACKLCALL 30 HORL PSW,?UBH ; banco 3 de registrosRET
conviirtfi un numero hexadacimal de 8 bits , contenido en A,a un numero «n punto flotante «n *>1 STACK
CHV2: ; f hexadecimal dn 8 bits => HPFANL PSW,/ÍOE7H . ; banoo 0 do ragistirooMOV RO,A • ; A contiene el numero, se transfiereMOV R2 , H 0 - ; a ' R2 ! RO 'MOV A, H9AH ; (R2:RO)H -> (STACK) HPF
2DEE 1200302DF.L 43D0182DF4 22
2DFS 53DOE72DFB E5022DFA Fu2DFB E5D32DFD FA2DFF. 749A2BOO J200302E03 43D0182E06 22
2E07 900DE22EOA 53DOE72EOD A32EOE A32EOF EO2E10 FU2E11 7AOO2E13 749A
The Cybernetic
2S15 1200302E1B 43D018
2E1H fíOODBfi2E1E 122DDO2E21 122CD32E2.1 900SK22E27 53DOE72E2A EO2E2B PO2E2C A32E2D EO2E2E FA2E2F 74 9A2E31 1200302E34 43D0182E37 122CC9
2E3A 22
LCALL 30»ORh PSW,fllHHRET
aonvi-ri:*' un numero hnx rlnciíra un numero «n punto flotante
CHV4 :AHÍ, PSW,*OE7HMOV A.DPLMOV RO,AMOV A.DI'HMOV R2,AMOV A,«9AHUCALL 3 OHORL PSW,#18HRET
convierte un numero nnxadeaima un numero en '-punto flotante
CNV6 : ;MOV DP'm.ffsumlANL P.W, #OE7HIHC DPTR1HC DPTRMOVX A, fi DPTRMOV JtO,AMOV R2 , # 0MOV A, »9AH
banao 3 d« registros
¡»l do 16 bit.i , on DPTR,en «1 STACK
* hflxadecimn.l. do ü bits -> NPFbanpo 0 de CfiglotronDPTH,cont;ione el numera,ae transfiBCe a R2:RO
(R2¡RO)H => (STACK) HPF
banco 3 de rogiafcros
ai dg 24 bitfl, , aontenido en; sumí,en el STACK
H hexadecimal de 24 bits =*> HPF.
bancp'.O do registros
{R2:RO)H => (STACK) HPF
Micro Sysfceqis 8051 Family Assembler, Versión 3,02 Pag*" 60
LCALL 30HORL P3W, ÍÍ18H
MOV DP1TX, KK1KLCALL TOSTLCALL MULTMOV DPTR(í(numlAKL PSW,«OE7HMOVX A , fi DPTRMOV RO , AIHC DPTRMOVX A, «DPTRMOV R2,AMOV A, #9AHLCALL 3 OHORÍ, PSW,«1BHLCALL SUMA
RET
02-20-90
banao 3 de jrcyio tro o
posición del HPF - ate. - 16A"4 « 6S536d
ubico Jn posición inicial do aumlbanco 0 do rogiabrosDPTR apunta al numoco, se tra.nafierea R2:RO
(R2:RO)H => (STACK) HPF
banco 3 de registros
; aproxima con don dncimaloa un n.p.f., almacenado on el STACK
XNT t tn*10*100+5)/10 ] / 100
2F.3D 746-12E3D 122DE62E10 122CD32E43 740A2E-15 122DE62E4Q 122CD3
2E1U 74052E4D 122DEG2ESO 122CC9
2E53 740A2E.55 Í22DE62E5U 122CDQ2E5H 122CE22E5E 74642EGO 122DEG2E63 122CD02E66 22
ROUND:MOV A,/flOOLCALJJ CNV2LCALL HUÍ.TMOV A,noLCALL CHV2LCALL MULT
i-rov A, HOSLCALL CHV2LCALL SUMA
MOV A, fflOLCALL CHV2 ' '. LCAJ-L D1VJLCALL XHTMOV A, «100LCALL CUV?.LCALL ' D1VI 'RET
convierto 100 a un HPF en «1 STACK
multiplico por 100, el valor a redondear
multiplico por 10, oí valor a redondear
OBTENGO 5 en el STACK
lo gtimo al numero
convierto 10 a un HPF on el STACK
divido para 3.0saco la parte enL^rs. dol. numeroconvierto 100 a un HPF en el STACK
'divido 'para 100, o~L valor a redondeary gu*da en el STACK
; *** FIH DE LAS SUBRUTIMAS GENERALES *4 +
1
IThe Cybernetia Micro Systoms U051 Family Aaaembler, Versión 3.02
Í41+ SUBRUTINA PAJIA MOSTRAR LOS RESULTADOS ******-** Y ENVIAJÓOS Al. COMPUTADOR. *•***•
Esta miljrutina toma los repintados almacenados en las respectivasloaalidsdos de memoria, y Ion transfiere hacia el display, el puertoserial -y I* salida analógica.Todos Ion números se hallan almacienaclon en el formato de. puntodotante: 1 bí tos para loa dígitos, 1 bite para el signo y 1 bitepar* wl expon^ntn,
I,ao <iiLfsjrenb*íi3 paginas para los resultados, se transfieran desde ROM,a partir de la, localidad: tfddr2
000000000.11:1.11111231ÜIJVD9012.T15GV; JtlttfV X: H)f#AP! (KW) N N N H . H f3: (KVA)
Una ves bransfiridoa IOP d-itos hnaLa XA. pantalla, ae tcannfifjrín loamlsmura hnoif\! computador. LOP datos ne biranafiernn en el forma-to de punto flotante, separados por una ",".
A la salida analógica an transfloran Ion datos, dependisndo di laopaion encogida, d«»ndo I a.s diEorontow laoalidad<ae do momocia in lasque se hallan almacenados los resultados.
I.t.STADO HE COUSTWJTKS
I
thii EQU OFOCH
REGISTROS UTILIZADOS
; ultimo dato
numero O" oeron a la Izqulnrda de la uiCtr» unnumero H- onUiro.i d» ] nj.fr»; «i nn ti«n-í d-cnumnro dp oifr^fl'. «nt«ro» -!• decim«l*abnndrsrn: eegun el tipo de dato:nibbl« mao »iyni Titi» Uivo o> R3~0nJbble menon signiCioaUivo => R3=lpar de rogiatroo en los qiie att guarda el 0PTR
ETIQUETAS UTILIZADAS EN LA SUBRUTIHA
BQ51 f»mily A-n-mbl-r, V«r,«icm 3.02
002CUDBODOGO008100820083OOB4
coma EOUminú EOUoupO EOU-rpl EOUexp2 EQUexp3 EQU«xp4 EQU
aciiÜUOHQOH01H02HB3H84H
PROGRAMA PTUMCIPA1-
DATO DE VOLTAJE
2EGV 900EDO2EGA 122DDQ2EGD V40S3E6F 122DE62F.72 125CD32E75 7-1022E77 122DEG2E7A 122CDQ2E7D 122DAD2EBO 9QOB942E83 FO2EQ-1 SOOEDO2EQ7 122DDO
2EHA 900B7C2E8D 122DDO2E90 122CD32.E33 122CE22E9G SOOEDO2E99 122DBA
2E9C 900TIFD2F.'ÍF 74032EA1 FO2EA2 122 6Ü 3
2EA5 900ED5
The Cybernebia
2EAO CÜB22EAA 142EAI3 F5B22EAD BO2EAE 60782EQO FU2ED1 7 1832EB3 C32EH-1 9«2F.E15 10712EH7 FU2EDU V9FF2EBA VAOS2F,ac VBOO2EBE 122ECE
2EC1 SOOEDO2ECM C5822EC6 142EC7 F582
2EC9 122EEC2ECC OOSA
VD : MOV OPTP-, # vrnutLCALL TOSTI-KJV A, «5LC;O.L CNV2LCALL MU) .ThJOV A, 12LCALL QÍV2LCALL DIVTLCALL TOHEXMOV DPTR,i*anvMQVX !ÍDPTR,AMCfV DPTR,ÍVEmsLCALL TOST
MOV 13PTR,ftavLCAliL TOSTLCAbL MUr.TLCALL 1NTIHOV DPTK, ftvrm»LCALL FROMST
MOV npTR, HDDRAMMOV A , « U 3 HÍ-KJVX PDPTR,ALCALL MQVDDRAM
MOV DPTR, ífirms
; r«uup<>t:o «1 i:««ultado; tl«l QHpaaio dn memoriamultiplico por el factor
; dn ajuahe
• aonvierto a ]inx»deaimal• guardo el da ho UEX.
• r»oup«ro oí CfinUlUado; del ospacio da memoria
• multiplico por el fautor de fiscal»
• "ItnAcwno «1 resultadoen *íl nnpAaio dr m"inor.LA
• correspondíante (vrma)
•ubico eooritxira en la pooición 03H
de la RAM del display (DDRAM)
ubico el eacpon. del voltaje {bite 6)
Mioro Systems B051 Fainilv Aosambleír, Versión 3.02 Paae 63
XCI i A, DPLDEC AMOV DPL, AMOVX A.flDPTRJZ IDMOV RO,AMOV A, Kexp3CLR CSUBB A,ROJC TDMOV RO , AMOV IU,MOFFHMOV R 2 , » 3MOV IO , í) 0LCALL TDX1
MOV DPTR, ftvrmsXCII A, DPLDEC AMOV DPL, A
LCALL TDX2SJMP ID
02-20-98
A <- (*Tspon«nh«)si *>s o«?ro , aalto al siguiotnta dato
83 es el exponente d»? referencia
ubico en RO la d.ifortncia entre el
<j3tp. y el ftXp. d« r-Corencia ( f de cerón)el numero no ti<"n*> p?»rt:ís d«tiimalnvimero de cifran enhoraw: f l í í fbnndera: posición del dígito a Lndicacllamo a la «ubrutirta cju« «xiarib» a«ro« =.la izquierda
ubico el dato de voltaje (bite mas siynC.-l)
llíuno a la subrubinn que eoribe las cifras
oubiriítiníi para osariliir los awrotj a la Í7;qiiiocda rio unnumiro «n punto £.lofcante mostrado en formato BCD en la
2ECE KO2ECF 601 A2ED1 ímüBFF2ED1 7-1002EDG t'O?.F.I)V 12275F2EDA 102EDB 192EDC 1A2EDD F.92EDE 70 BE
2EBO 900BFE2F.E3 7-12C2EBS FO2EE6 J2272E2EKS OOE32EED 22
la pantalla
TDX1: MOV A,UOJS TX1MOV DPTR.ffÜIGITOhÍOV A , ff 0Í-1OVX HnPTR,ALCM.L PRIHTDIGDEC RODEC RlDEC R2MOV A,R1JKZ TDX1
MOV DPTR, «CARÁCTER. MOV A.Jfüoma
MOVX fj DPTR, ALCALL PRrHTCHARSJMP TDX1
TX1: RET
transfloro el N O ~> DISPLAY
,
.ii Rl=0 , «scri.bo ","si no es , regreso
(DDRAM) <- " ,"
; lubtutina, pata, onocibie loo digitoo dal un niimaeo orí p.vmto; flotante en la. pantalla
Tho CybBrnetio Micro Sysfcems 8051 Family Asaembler, Versión 3.02 Psge 6*102-20-90
?EEC KA2EE1) G03B2F.EF EB2EFO 70092EF2 A32EF3 EO2EF-1 C42EF5 54 OF2ET7 7B012EF9 8005
2EFB EO2EFC 510F2EFE 71300
2FOO AE032F02 ACÓ?.2F04 900BFF2F07 FO2FOC 122V5F2FOH Ü E Ü 32FOI5 HC822FOF 192 FIO IA2F11. E92FJL2 VODO2F14 AEB32F1G ACBZ2F1S SfJOBFE2F1B 712C2F1D FO
2F1E 1.22V2E2F21 OE832FZ3 OCD22F25 OOC52F27 22
2F28 900EDG2F21) 122DDO2F?E 7-1052F3Ü 122DEG2F33 172CD32F3G 74022F3Ü 122DE62F3B 122CDB
The Cybernetio
2F3E 122DAD2F-11. 900B95'AFÜA FO2F'¡5 ííOOEDG2F40 122DDO
2F1Ü 900DB22K/1F, 122DDO2FÜ1 1.2.2CD32FG-1 'JOOBOO2F57 122DDO2F5A 122CD32F.r)D 122CE22FGO 900EDG2F63 122DBA
2FG6 122667
2FG9 900BFD2FGC 74432FGE FO2F6F 122683
2F72 900EDC2F7S C3 822F7V 112F7B F5B22F7A EO2F7B G01C2F7D F82F7E 74EJ4
TDX2 : MOVJZMOVJlfZIHC1-tOVXSWAPANLMOVSJMP
NIB : MOVXAHLMOV
HIB2 : MOVMOVMOVMOVXLCALLMOVMOVDECDECMOV
•JNZMOVMOVMOVMOVMOVX
LCALLMOVMOVSJMI?
TX2 : RET
'
DATO DE
'
ID:1-KJVLCALLMOVLCALLLCALLMOVLCALLLCALL
A.R2TX2A,R3NIBDPTRA,6DPTRAA, *OFHR3, HlHIB2
A, (3 DPTRA, í fQFHR3,#0
Rfi^PUR4 , D PliDPTR.^DIGITOi? DPTR, APJUNTDIGDl'I!, RfíDPL/R4IUR2A(R1TIJX2RG,DPHM , DPljDPTR, íl CARÁCTERA , f G orna.S DPTR, A
WIT11TCIIARDPH, RfiDPL, R4TDX2
CORRIENTE
DPTR, ttirmsTOSTA , K 5CNV2MU1.TA.fZQÍV2DZVI
; si R2=0 , termina «1 proceso
; si R3"=Q , nible mas significativo
; signÍRiite bite; trivnafioro ni dato al aoumulndoc
; obtengo el dígito a transferir; cambio la bandera R3 a 1
; transfiero el dato al acumulador; obtengo al dígito 9 transferir; cambio la bandnr* R3 a 0
7 almaceno direacion RAM dol bita del resultado; en RG:R-1
; tranafiero el valor RAM -> DISPLAV; recupero dirección RAM del bite del resultado
; si Rl=*0 , ««aribe ","
; almaceno dirección RAM del bite del resultado; nn R6:R4
; (DDRAM) <- "/'
; recupero direacion RAM del bifce del resultado
reaupero el resultadodol aspado da memoriamultiplico por el faotorde ajusto
Hiero Systems 8051 Family Assembler, Versión 3 . D2 Paga 65
LCALLMOVMOVXMOVLCALL
MOVLCALt,LCALLMOVLCALLLCALLLCALLMOVLCALL
*"
LCALL
MOVMOVMOVXLCALL
MOVXCHDECMOVMOVXJZMOVMOV
TOIIEXDPTJX, f f an if? DPTR, ADPTR, |i*irmsTOST
DPTR, f selTOSTMUI.TDPTR, ífscZTOSTMIJLTTílTDPTR.ÍÍirmnFROMST
DISP2
DPTR, It DDRAMA,*43tt0 DPTR, AMOVDDRAM
DPTR.I^vlA, DPLADPL, AA,8DPTRPDRO,AAíífaicpl
02-20-9B
; convierto a hijeado aimal; guardo el dato HEX.
; rrüupniro «1 resultado; d«l espacio do memoria
; milltiplico por el factor de eooala 1
; multiplico por el factor de escala 2.
; alnuiaeno el resultado; en el, espacio de memoria; correspondiente (Irma)
; avanzo 1 'página
;ubiao coorituva «n la. paniaíón J3H
;de la RAM del display (DDRAM)
; ubico ni oxpon. de la. corriente (bite G)
; A <- (oxponente)/ si es cero , aalto al siguiente dato
; 84 e o oí exponan t« do riCeronaia
I
2FUO C3?FÜI y u2F02 40152F04 Fu2F05 79FF2FQ7 7A042FQ9 7BOO2FBB 122ECE
2FOK 900ED62FB1 CÜB22F93 342F94 FSB2
2F9G 122EZC
CLRSUBBJCMOVMOVMOVMOVLCALL
MOVXCHDECMOV
LCALL,
DATO DE
CA , RO
RO,ARj, HOFFHR2,íf4R3,*0TDX1 /
-"
DPTR , # irmeA,DPLADPL,A
TDX2 ;
POTENCIA ACTIVA
ubico en RO la diferencia entrt»
exp. y el ej>,p. de re f <j renoi a (tiel numero no tiene parV.e dccí.manumero d« cifras entoras: fllSCbandera: posición del digíto a
«1
de ceros)1
indicarllamo a la oubrutina que escribe ceros ala izquierda
ubico el dato dn corriente(bit* man «igní.-l)
llamo a la sutoiruelna que ecrib* laa citiras
Th« Cybecnetic Micro Systems QOSl Family Assemblcr, Veraion 3.02 Page 6602-20-9B
2F99 900EEÍJ PD:2F9C 122DDO2F9F */'1242JFVU 122DE62FA-1 122CDÜ2FAV 122CX72FAA 122I3A132FAD 900B962FBO FO
2 FBI. POOEEB2FU'l .1220002FUV 900BB2?.FBA laaDDO2FBD 152CD32FCO 900B082FC3 122DDO2FC6 322CD32FC9 9C10B7C2PCC 17.2DDO2FCF 122CD3
2ITD2 71G-12FD1 122DE62FU7 122CDB2 FDA 7 40 A2FUC 122IJE62FDF 122CDB
MOVLCALLMOVLCALLLCALLLCAliLCALLMOVMOVX
MOVLCAhL140VLCA.UULCALLMOVLCALL.LCALLMOVLCAU,LCALL
MOVLCAJ.LLCALLMOVLCALLLCALL
DPTR,ípoTOSTA , H 0 2 1 HCIIV2DTVIADSOLTOIIEXrJPTR,f)anp0DPTR,A
DPTR, UpoTOSTDPTR,ífaalTOSTMULTDPTR,ífsc2TOST1-IULTDyTR,HsvTOSTMULT
A, N100ar/2D1VTA, «10CNV2DIVI
900BFD2FFV 74-102FF9 FO2FFA 1726B32FFD 900BFE3000 742B3002 FO3003 12272E
; j'eciujieco «1 rpsiilbado; del espacio de memoria
; convierto a h^Jíarlec; guardo «1 dato HEX.
; del espacio de memoiria
; muj.tiplico pur el factor de encala 1
; multiplico par el" factor de ".ocala 2
; multiplico por el factor de escala volt.
; convierto 100 a un HPF en el STACK
; divido por- 100, al Valor
; divido por 10, el valor
multiplico por ei factor SQR.T(3), ai se trata de un sistematrifásico balanceado, para olio leo el puntero del numero de fasen
; oantiono «1 dato d« aounrdo al; tipo de sistama
2FK2 900B772FK5 EO2FE6 B4210B
PPJS9 '/,1032FED 122DEG2FEE 122CEC2t-Fl 122 CD3
MOVMOV>:C01-1E
MOVLCALLLCALLLCALL
DPTR, «phA,IJDPTRA,#21H,MFP
A . . H 3CI4V2SQTMULT
; multiplico por SQT (3)
," escribir el oigno de la potencia activa
MFP:DPTR.íDDRAMA, SlüH?DVTR,A ;ubico oncritura en la posición 48HMO^/DDRAM ;dn la. RAM del divplay (DDRAM)DPTR, ftCARACTER
; transfiero el signo ' + * -> DISPLAY
MOVMOVMOVXLCALLMOVMOV'MOV.< 0 DPTR, ALCALL PRINTC1IAH
3006 900EEB DPTR,ífpo ; almaceno el resultado
The Cybernetic Micro Syütema 8051 Family Asnemblec-, Versión 3.02 Pago G702-20-99
3009 122DBA
300C 900BEE300F CS823011 14
LCALL FRO1-1ST
MOVXCHDEC
; eri el espacio üe memoria; ooircwopondionto ' (po)
; ubico el signo, del dato (bite S)
3012 143013 F5823015 KO3016 6032
3018 74003 OÍA FO301B ¡JOOEEB301E 122DDO3021 122E3S3024 900EE03027 122DBA
302A 900EEE302D CS 82302F 113030 143031 F5023033 7-1013035 FO
3036 9008F03039 7140303B FO303C .122603303F 9UOBFE3012 742D3041 FO3045 12272E
3010 POOF
3CÍ4A -pOOSEfl PPO:304D 122DDO3050 122E3B3053 900EEB3056 122DBA
3059 900BFD PPU:305C 7149305E FO305F 1226B3
30«2 90QEEE3065 CS8230 67 143060 F5Q2
The Cybernetic Micro
30GA EO306H 60193060 FO30fi£ V4043070 903071 FO3072 79043074 7A063076 7EOO307B 122ECE
307D 900EE6307£ C5B23000 l'l3001 F502
3083 122EEC
DECMOVMOVXJZ
MOVMOVXMOVLCALLLCALLMOVLCALL
MOVXCHDECDECMOVMOVMOVX
MOVMOVMOVXLCALLMOVMOVMOVXLCALL
SJMP
^ ovLCALL.UHALLt-JOVLCALL
MOVMOVMOV;<LCALL
MOVXCHDECMOV
ADPI^AA,9DPTRPPO
A,*0HIJPTR.ADPTR, #poTOSTROUÍJDDPTR, UpoFROMST
DPTR.lt aA,DPLAADPL,AA, «01eop'm/AD.PTR, ÍÍDDRAMA,í(4t)HHDPTR.AMCfVDDRAMDPTR,#CARACTERA,#'-'BDPTR,APRINTCHAR
PPU' •DPTR,#poTOSTROUMDDPTR, ífpoFROMST
0PTR,#DDRAWA , H -1 9H9 DPTR, AMOVDDRAM
DPTR, #oA,DPLADPL/A
A <~ (CEÍiO : H-)ai «B o«!iro , salto
a*mbio d« aigno
r-íoupero R! r«?*ultad0cl«l espacio d* mamoria
a 3 macano el resultadoen el ««pació de memoria.aorroapondií-nte • (pa)ubico el signo, del dabo (bita 5)
; A <- (UNO : -; c*mbio dw nigno
;ubioo oooritiicíi rn la poininión 40H;de la RAM del display (DDRAM)
; transfiero el signo '-' " -> DISPLAY
; recupero 'oí resultado; clíij. espacio da memoria,* .redondeo a. In segunda, oifra; ^Imatieno »1 reíiultado; en el «spncio de memoria; correspondiente (a)
/ubico enori hura -5n 1 pasiaión 49H;de la RAM df-1 displny {DDRAMJ
; ubico «1 expon, del d«to (bita 6)
Systems 8051 Family Aascmbler, Versión 3,02 Payo 60
MOVXJSMOVMOVSUI3BMOVMOVfOVJ40VLCALL
MOVXCHDECMOV
JLCALL
A,0DPTRSDRO,AA, H*xp4A,RORD,ARJ.,14R2,ff6H3,ffOTDX1
DP17Í , ífpoA,DPLADPL,A
TDX2
02-20-90
A <- (exponont»)si eo cera , salto «1 siguiente dato
04 as f¡l exponento de referenciaxibiao en RO la diferunaia antrR elexp. Y el «-Xp- de cefer^naia (tt de oerosjnumero de aiErAs enteran: íf#í#al numero ti^no 2 deniínaleabandera.: posición del dígito a indiaarllama a la subrutina que escribe ceros a.la inqui«rda,
ubico «1 dato de potencia activa(bit* m*a aignf.-l)
llamo a la nubrutina tjue «Bdr-ibe la a oifirne
POTENCJA REACTIVA
308G JÍOOBEE SD:3009 122DDO300C 7424300E 122DE63091 122CD03091 1.22DAD3097 PQOB97309A FO - - .309B 900EEE309E 122DDO
30A1 POOBÍ3230A4 122DDO30A7 122CD3
MOVLCALLMOVLCALLLCALL1.CALLMOVfov:<:MOVLCALL
MOVt-CALLLCALL
DPTR, ItaTOSTA,fl24HCNV2DTVITOI1EXDPTR.SKnsSDPTR,A' 'DPTR,#sTOST
DPTR,#í)clTOST • ;MULT
recupuro el resultadodel espacia de memoria
convierto a • hexadaoimal - "guardo al' dato HEX.
recupero ni i'esuJtadodel espacio de memoria
multiplico por el factor de escala 1
3UAA, !)OOI3UO30AD 122DDQ30BO 122CD33 OBI 900B7C30B6 122DDO30B9 122CD3
30BC 7464300E 122DE630C.1. 122CDO30C4 74 OA30CG 122DEG30C9 122CD0
Til» Cybnirn*1 tio
MOV DeTK, #ao.ZLCALL TOiíTLCALL MIJI/FMOV PPTR, #»vLCALL TOSTLCALL MULT
MOV A, #1.00LCALL a IV?.LCALL DXVIMOV A, noLCALL CNV2LCALL DIVI
• multiplico por *L factor d« o«c»la 2
• multiplico por el .factor de escala volt.
• convierto 100 a un NPF en el STACK
• divido por 100, el valor
• divido por 10, el valor
Miara Syf t»ms 8051 Family Aisembler, Versión 3.02 Pag" 6902-20-98
; multiplico por el factor SQRT(3), si se trata de un sistema; trifásico balanceado, para ello leo el puntero del numero de fases
30CC 90007730CF EO30DO B1210B
30D3 740330D5 122DE630DG 122CEC30DB 122CD3
30DE 122E3B30E1. POOEEE30E1 122DDA
30F.7 900DFD30F.A 745130EC FO30ED 122GB3
30FO 900EF430F3 C58230F5 USOPfi F58230IT8 EO30F9 C01C3QFB FD30FC 748430 FE C330FF 9D3100 .101531 02 FU3103 79043105 7AOG3107 7UOO3109 122ECE
Z110C 900EEE310F CS02311 í H3112 FS82
3114 122EEC
Tlie Cyborne Uio
MOV DPTR,flphf-fOVX A,9DyTR ;CJNE A, H21H,MFS
MOV A , 8 3 .LCALL CNV2LCALL SQTLCALL MULT '
MFS i ' •LCALL ROUNDMOV DPTR,WsLCALL FROMST
MOV DPTK, «DDRAMMOV A.JFSIHMOVX 8DI>TJÍ,ALCALL MOVDDRAM
MOV DPTR, #fpXCH A,DPLDEC AMOV DPL,AMOVX A, @ DPTRJZ FPXMOV RO,AMOV A,feXp4CLR CSUBB A,ROJC FPXMOV RO , AMOV Rl,#4MOV R2,f6MOV R3,NOLCALL TDX1
MOV DPTR,*«XCH A,DP.LDEC AMOV DPL,A
LCALL TDX2
'
contiene *Q dato de acuerdo altipo de sistema
•
multipliao .por SQT (3)
• cndoncleo a' la secnJnda cifra• almaceno •> L resultado• 111 el flspaoio de meinorl*
ubico o/<nrj tura en la pn«<.iof.ón 51Hde la RAM del display (DDRAM)
ubico el e^pon. del dato (bite 6)
A <- (exponento)si QS cero , salto a.l siguiente dato
84 es el exponente de referencia
ubico en RO la diferencia entre el
exp. y el e*p. de referencia (d de aeros)numero de aiC.rs.fl enteras: fíWel numero tiene 2 decimalesbandera: posición d«l dígito a indicarliamo a la aubrutina que escribe coroa ala izquierda
ubi ¿jo *1 dato de potencia, activa(blte nías «ignC.-l)
llamo a la aubmtina que aoribe lao cifras
Micro Systems 8051 Farnily Assemblec1, Versión 3.02 Pago 70.. .. 02-20-98
DATO DEL FACTOR DE POTENCIA
3117 12264B
311A 900EF4311D 122DDO3120 122C3B3123 122CE7312 G 900EF13129 122DBA
'
FPX: LCALL DISP1
MOV DPTR,í(fpLCALL TOíiT.LCALL ROUNDLCALL ADSOLMOV DPTR,CrpLCALL FROMST
reoupnro pl ronultadodol onpnoio tle memoriaredondeo a la segunda cifra.valur abaolutoalmaceno el resultadoen el Despacio de memoriacorrespondiente (fp)
312C 900BFU DPTR,«DDRAM
T
312 F 741C31.31 FO3132 1226B3
3135 9ÜOEFA3130 C5 8 3313A 14313B F582313D EO313E fiOlC31-10 FU310 J, 74813103 C33111 9(13145 001531.47 FB3100 7«01.3 14 A 7A03314C 700031 4 E 122ECE
3151 90QEF43151 C5H23156 113157 FS82
3159 122EEC
MOVMOVXLCALL
MOVXCHDECMOVI-fOVX
JZMOVMOVCLRSUBBJCMOVMOVMOVMOVLCALL
MOVXCHDECMOV
LCALL
DATO
PXD:
A,*1CHfiOPTR,AMOVDDRAM
pPTR,«fpdA,DPLADPL,AA.0DPTRFPXOHO,AA, ffexplcA , Rq -.FPXDRÍ),A.-m.,f JHR2,ff3R3,tfOTDX1
DPTR,)tfpA,DPLADPL,A
TDX2
ubiao «ROtr.i fciir»» en la posición 1CHde la RAM dal display (DDRAM)
; ubiao el expon., del dallo (bits 6)
A <- (í'Xpon'íntn)oí aa onro , aalfctj al siguientn da.bo
Bl fla el ejtpononte de r «foca nal»
ubico en RO la. diferancia entra al•exp. y, .el' exp,. de, referencia ( f( do aeroa)numwifo. .ti" cifras" enteras: 0numero de cifras a transferirbandera; pooicion del dígito A indicarllairiQ a la aufarutina que escriba coroe ala izquierda
ubico el dato de factor de potencia(bite irme siojif.-l)
llamo a la subrutina que escribe las ci£ras
DEL FACTOR DE POTENCIA DE DESPLAZAMIENTO
INICIALIZO EL SIGNO
315C 900BFD315F 7-15B
Tha Cybornefcic
3161 FO31Q2 1226(1331G5 9QOBFE31fiO 712B316A FO316B 122V2E
31 GE 900B7A3J71 EO3172 6012
3174 9QOJ3FD3177 745B317P FO317A 3226B33.L7D 900BFE3100 702D3102 FO3103 12272E
3J.UG SOÜEFA3109 -INSUDO31UG 122F.3B31.ÜF 90QEFA3192 122DBA
3195 900B7A319B KO3199 900EFE319C FO
31. PD lS2t>S'l31AO yOOBFD31A3 7 4 SC3J.A5 FO31A6 122683
31A9 900FOO3JLAC C5Ü231AE 700231BO 1D033102 1131J33 C5 8 23185 EO31B6 601C
MOVMOV
Mioro Syatema
MOVXLCALLMOVI OVMOVXLCALL
MOVMOVXJZ
MOVMOVMOVXLX ALLMOVMOVMOVXLCALL
FPO:
I-JOVLCALLLCALLMOVLCALL
MOVí-fOVX..MOVMOVX
LCALLMOVMOVMOVXLCALL
MOVXCHJHZDEC
DECDP: DF-CXCHMOVXJZ
DPTR, WDDRAMA.ITSBH
8051 Family Asa emblec, Versión 3,02 Paga 71
0DPTR,AMOVDDIÍAMDPTR, # CARÁCTERA,íf + 'SDPTR,APRIMTCHAR
DPTR,fí.ngvA, 8 DPTRFPO " '
DPTR, ÍDDRAMA, IfSBHu DPTR, AMOVDD1ÍAMDPTK, íí CARÁCTERA/lf1-'fíDPTR.A
, PRINTCHAR
DPTK,fffpdTOSTROUNDDPTR, IfpdFROMST
,DPTR, NangvA, 6 DPTRDVrn.,*£pme DPTR, A
DISP2DPTK, HDDRAMA, HSCHe DPTR, AMOVDDRAM
DPTR, ífchvA,DPC,DECDPDPHAA,DPLA, 9 DPTRTHVX
02-20-98
ubico escritura en la posición 5BHde la RAM del diaplay (DDRAM)
transfiero el signo '+' -> DISPLAY
ubico el aigno. del datoA <- (CERO : +)ai «a cero , salto
uiiiao aoatitur-a «>n la ponioión 5BHde la RAM del display (DDRAM)
transfiero el signo ' -' -> DISPLAY
recupero *vl resultadott*»l .esp^pf.o ,d*t memoria . . . . .irndondno a, la oegunda aiftnalmaceno el resultadaen el nspacio de memoriaoorreapondienbo. (fpd)
recupero el signo deade ANGV
ubico escritura en la posición 5CHde la RAM del diaplay (DDRAM)
ubiao el «xpon. del dato (bite 6)
A <- (exponenhe)ai es cero , salto al siguiente dato
31G8 Ftl31139 718131BB C33ÍL-BC í' 831BD d01531BF Fíl31CO 7901
Th« Cybwenatia
31C2 VA0331C1 7BOO31C6 122ECE
31C9 900EFA31CC C50233.CE 143.LCF F5 02
31D1 122EEC
MOV RO,AMOV A,ffflxplCLR CSUBB A,ROac THVXMOV RD,AMOV R1,#1H
; 81 es el expone nbfl de re Carencia
; ubioo en RO la diferencia entre el
• *xp, y pl «íxp. de refBirí>ncJ.» ( # de cecoa); numero d» aifraa entera» í 1
Miaco Sy»t«m« B051 FAinily Aaaeinblar:, Vwrsion 3.02 P»g«* 72
MOV R2,«3MOV R3,flOLCALL TDX1
MOV DPTn,#fpdXCH A,DPLDEC AMOV DPL,A
LCALL TDX2
'
02-20-98
' «•! numero dp uifjraf• bandera: poniaion dol dígito a indiciar• Hamo a la nubrtiüina que anaribe oeros a• la izquierda
• ub.lco el dato do factor do potenaia deap.' (bito maa signC.— 1)
• llamo a la aubeuüina que eaaribe las aifraa
; DATO DE DISTORSIÓN ARMÓNICA TOTAL DE VOLTAJE
31D1 9000FD31D7 746431D9 FO3IDA 122683
310D 900F0631EO C50231E2 1131E3 FSB 231ES EO31EG 602031EQ FU31E9 7'1Í)231KU C331EC 9831KD 401931BF FD31FO 79FF31F2 VA0231F4 700031F6 122ECE
31F9 900FQO3TFC C5Ü23.1 FE 70023200 1SÜ33202 113203 C5Ü2
3205 122EEC
The Cyber nntia
'
THVX: MOV DPTH, JfDDRAMMOV A,*(i-lH>MOVX BDCTR,ALCALL MOVDDRAM
MOV DPTK,J(t}iiXCH A,DPLDEC AMOV DPL,At-iOVX .A,(!DPTRJZ THIXMOV RO,AMOV A,#oxp2CLR CSUBB A,ROJC THIXMOV RO,AMOV Kl , í OFFHMOV R2 , N 7.MOV R3 , ft 0LCALL TDX1
MOV DPTR, K thvXCH A,DPLJHS DECDDEC DPH
DECD: DEC AXCH A,DPL
LCALL TDX2
'
' • • > , 'ubico sflcritura en la posición 64Hde la RAM d«l diaplay (DDRAM)
ubico el axpon. del dato (bita 6) , .
A <- (exponento)si es cero , osito al aiguisntn dato
82 es el «oponente de referencia
ubico en RO la diferencia entre el
*xp. y el exp. de [-"BCeire.na.ia (ff de cero»)m un* ro d«> aifran ontorae: HHel riurneco de cifraBb-indeca: poc>.iaion d«?l dígito * indicarllamo a 4.a subrutina q%i« escribe cerón ala izquierda
ubico el dato de potencia acbiva.
(bifce man «ignf.— 1)
llamo a la aubrubina . que escribe las aifras
Miara Systems 8051 Fwnily Assemblwr, Versión 3.02 P^g* 73 "02-20-98
DATO DE DISTORSIÓN ARMÓNICA TOTAL DE CORRIENTE
3200 1226-1B32 OB POOBFD320E 742<13210 FO3211 122GB3
321-1 900FQC3217 C5823219 14321A F5D2321C EO321D G01C321F FO3220 74823222 C33223 903221 40153226 F8
'
THIX! LCALL DISP1MOV DPTR.Í/DDRAMMOV'" A,|f21HMOVX SDPTR,A ;LCALL MOVDDRAM - ;
MOV DPTR, HfchiiXCH A,DPLOEC A'MOV DPL,AMOVX A, P DPTRJZ TXAÍÍMOV RO , AMOV A, fl fj;xp2CLR CSUBB A.ROJC TXANMOV RO,A ;
,
ubico encritxira «n la posición 24Hde la RAM dol diaplay (DDRAM)
ubioo el oxpon . del dato (bite 6)
A <~ (o^onemtn)si es c«ro , salto al siguiente dato
82 es el exponento de referencia
ubico en RO la diferencia entre el
eirp . -y oí nxp. d« E-if^JTDnaia . t H di» Qt,Eoa)
r
i
i
3227 7»FF321*9 7AOK32 ?B 7BOO322D 122ECE
3230 90QF063233 cr»B23235 143236 F582
3238 122EEC
323B 90087832DE EO32-3F 900B943242 250?.32-14 F5B2324 G EO32-17 FO3248 0502
324A EO324B 901COO324E FO
"h* Cyb«rnetic
324F E03250 901AOO3253 FO
3254 900EDO3257 /¡I (ti3259 SOOBD6325C 5181325E 900EE032G] 51DJ3213 OOOKEE326(1 Bllll32(38 900EF432 SB 518132Í3D 900EFA3370 53013272 900FOO3275 51013277 900F06327A 5101327C 322D1C327F 800C
3201 1220003204 122D2A3287 74 2C3289 122D21
328C 22
MOV Rl,ffUFFH muñeco d" oifra.- enteras: HMOV R2,«2 oí numoRo no t.L«n- dooimal*-MOV K3.ÍO bandera: posición del dígito a indicarLCALL TDX1 U amo a la nubrubina cjua escribe oeros a
•la izquierda
MOV DPTR,*thi ubico «1 dnto do potencia activaXCH A,DPL (bite maa signf.-l)DEC AMOV DPL,A
LCALL TDX2 llamo * la oubrutina que «cribe la» cifra»
Subrutina para eaoribir los datos analógicos en el conversor
so Utilizo oí opbj t»- 01., POP ARGUMENT STACK ANIJ PUT VALUÉ IN R3:R1para obtener el valor nn «1 rango de 0 a 255 (FFH)
TXAH; . . . -MOV DPTR, flan, contiene ?1 dato da acuerdo alMOV/í A, «DPTR tipo de salida AnalógicaMOV DPTR,tlanv contiene el datoADD A,DPL ubico el grupo de dabasMOV DPL,AMOVX A,HDPTR- almaceno *1 primer datoMOV RO , AINC DPL ubico el segundo dato
MOVX A, (i DPTRMOV DPTR, ffPA2 envió el sogundo datoMOVX Q DPTR, A
Micro Systems 8051 Family Asaembler, Veroion 3.02 Pagí 7402-20-98
MOV A, ROMOV DPTR, #15 Al ; envió el primer datoMOVX SDPTR,A
; SALIDA ANALÓGICA - SALIDA SERIAL
SRTX:MOV UPTR,ffvrmH ; ubico el daboACALL SRTX2MOV DPTR,#irms ; ubico -1 datoACALL SRTX2MOV DPTR, ífpo ; ubico «1 datoACALL I3RTX2MOV ÜPTR,í(s ; ubico al datoACALL SRTX 2MOV DPTR,fffp ; ubico el datoACALL SRTX 2MOV DPTR,fffpd ; ubico oí datoACALL SRTX2MOV DPTR.tthv ; ubico oí daboACALL SRTX2MOV DPTR,ífthi ; Ubico el datoACALL Í3RTX2IJ^ALL CRLF ; transmibo un CR-LFSJMP TMP
; Subrutina para sacar loa datos a través del puerto aerial
SRTX2: LCALL TOST ; lo envió al staóJcLCALL TOSR ; transmito al pórtico Bcria.1MOV A, ícoma ; transmito una comaLCALL CHSR - . • '
RET
Subrrubinrx pacív -jóac-ibir loo dntan sn m-moi7Í« , -pótr bieropo
MP:
**** FJTI DE LA SUBRUTINA Í-K)£!TRAR i*ii
The Cybecmetla Miaro Syetsmn D051 Family Aaa^mblet, Vernion 3.O2 Payo 7502-20-98
320D 22 KET
FH1 DEL PROGRAÍ-ÍA PRINCIPAL
SUBRUTINAS
MENSAJE DE INICIALIZACION DEL DISPLAY
MENSAJE HACIA LA CONSOLA
3EOO ORG 3EOOH3EOÜ 30 30 35 DJ3 '0052 AH-BASIC --- ?3E03 32 20 11 48 20 42 11 53 19 133EOD 20 2D 2D 2D 3E 20 4C 49 53 543E17 4F 20 213E1A 22 DB 22H
LISTO I'
PANTALLAS DE INICIALIZACION
ORG 3FBOH ; ORG 3FBOH
•00000000003 JJJ 11'012345C709012345
3FBO 50 4F 57 DB ' POWER-MEV.SCALE?'3FB3 -Í5 52 2D '10 15 56 2E 53 43 113FUD <1C 45 3E1
3FCO -19 ZE 53 DB 'I.SCALE7H PHS.7 '3FC3 43 41 4C «15 3F 23 20 50 48 533FCD 2E 3F 20
Th" Cyb«"trn»hic Miara 8051 Family Anímmbl»r, Pag» 7fi
02-20-98
3FDO 30 2D 35 D8 '0-5 VDC?'3FÜ3 20 50 4-1 43 3F3FD(I ¡54 15 52 DB ' TER/D5983FDD 2F A A ÍÍA 39 3B 20 20 20 23 233FE5 23 20 563FKU 23 23 2A DB ' # # * # » * A3FEB 23 23 23 20 41 20 20 20 20 233FF5 20 70 6Ü3FF8 EO 3F 3F DB 'a???-???'3FFB 3F 2D 3F 3F 3F
;D8 ' 5 0 h , - 1 F h , S V h , 1 5 h , 5 2 l i , - 2 D h , 4 D h f 45h, 5Gh,2Eh,53h , d 3 l i , 4 1 h , 4Ch, 4Sli,03Fh;DB 4 9 H , 2 E H , 5 3 H , ' 1 3 H , ' 1 1 H Í 4 C H , 4 5 H / 0 3 F H , 2 3 H , 2 E H / 5 0 H , 4 8 H , 2 E H , 0 3 F H , O A O H / O A O H;DB 30H,2DH,35I1,56H, 64H, 63H, 03FH,OAOH;DB 54 H, •) 5H, 5211, 2FH, 4 4 U ,5AÍI, 3911, 3611, OAOII,OAOIlf OAOH ,2311,2311, 23H, OAOH, 5 611;DB 23H,23H,OA2H,23H,23H,23H,OAOH,4IH,OAOH,OAOH,OAOH,OAOH,23H,OAOH,OAOH,OFO
OEOH,03FH,03FH,03FH,2DH,03FH,03FH,03FH
escal* de voltaje: 220V, -MQV
3F5A ORG 3F5AH ?3F5AH '220,440'3F5A 32 32 30 DB 32H,32H,30H,3<W,34H,30H3F50 34 34 303F-IE ORG 3F4EH ;3F4EH 220:Q.22*1QA3 ; 440:0.44>10A3
;2,G737475 ; 5.34747543P4F. 2fi 73 74 DB 2611, 73H,7<U!,75H, 0011, 81H.53H, 471I,47H,54H, Q O H , 81H3F51 75 00 81 53 47 47 54 00 Ul
DB 25II ,72H,OfíI l ,2ei I ,001I ,01H,51H,4 '4H,10H,6BH,OOH,BlHnaca-lac do corriente;primor?.: 1,2,3,4,5,12,15,20,25 AsegimeU: 1,5,3.0,50,100,250 A
3F3C ORG 3F3CH ;3F3CH '01,02,03,04,05,12,15,20,25'3F3C 30 31 30 DO 30H,31H,30H,32H,30H,33H,30H,34H,30H,35H3F3F 32 30 33 30 34 30 353F4C 31 32 31 DB 31H,32H,31H,35H,32H,30H, 32H.35I13F49 35 32 30 32 353FO fi ORG 3FO 6H ," 3FO 6H3F06 10 00 00 DB lOB.OGH, OOH, OOH, OOH, 81H,?.OH, OOH, OOH,OOH,OOH, S1H3IT09 00 00 81 20 00 00 00 00 813F12 30 00 00 DB 30H, 0011,0011, OOH, OOH, 01H, 40H,OOH, OOH, DOH, OOH, 81H3F15 00 00 DI 40 00 00 00 00 Bl3F1F. 50 00 00 DB 5QH, OQH, OOF1, QOH, QOH, 8111,32H, OOI-!,'OOH, OOH, OOH, 82H3F21 00 00 Bl 12 00 00 00 00 02 • ' . . • • • • - - ' . - " .
The Cybprnofcic Micro Systema 8051 Ffimily Asoombler, Vrjrsion 3.02 Page 7702-20-9B
3F2A 15 00 00 DB 3511, O O H , 0 0 1 1 , O O H , O O H , D2H.20H, OQH, Q O H , O O H , QOH,02H3F2D 00 00 82 20 00 00 00 00 823F36 25 00 00 DB 2 5 H , O O H , O O H , O O H , O Q H , 8 2 H3F39 00 00 02
3EF4 ORG 3EF4H ;3EF4H '001,005,010,050,100,250'3EF4 30 30 31 DB 30H,30H,31H,30H,30H,35H,30H,31H,30H3EF7 30 30 35 30 31 30 .3KFD 30 3S 30 DB 30H,35H,30H,31H,30H,30H,32H,3SH,30H3FOD 31 30 30 32 35 303EDO ORG 3EDOH ;3EDOH
10H,27H,S1H,4/11!, OOH,7FH,51H,37H,57H, 27H, OOH,7FB10H,27U,51H,44H P OOH,QOH,51H,37H,57H,27H,OOH,80H10H,27H,51H,44H,OOH,B1H,25H,68H,78H,63H,OOH,B1H
3EDO 11 04 05 DB 11H, 04H, 8511,43H, OOH,7FH,55H, 24H, 27H,17H,OOH,7FII3EO3 43 00 7F 55 24 27 17 00 7F3EDC 11 04 05 DB 11H, 04H, B5H, 43H , OOH, 80H,55H,24H,27H, 1711, O O H , OOH3EDF 43 00 DO 55 24 27 17 00 003EEO 11 04 05 DB 11H,04H,B5H,43H,OOH,81H,27H/62H,13H,5BH,OOH,81H3EEB 43 00 81 27 62 13 58 00 81
; numiro de fanua: 1,3
; HÍ atj brilTasiuo, d«spla.zo el inioio do la; batola d*a aorrionto; 2B+5 (21H) datas
3ECE3JÍCE 31 333ECC3ECC 05 21
ORGDBORGDB
3ECEH31H,33H3ECCH0511,2111
;3ECEH '1,3'
; 3ECCH
; libios el puntero do acuerdo al bipo de sistema; nalida analógica: n. V-I, tx P-S, (i. FP-FPD
3EBO ORG3EDO AO AO 56 DB3EB3 2D 49 AO AO3EQ7 AO AO 50 DB3EBA. 2D 53 AO AO3EBE AO 46 SO DB3EC1 2D -16 50 44
3EAA • ORG3EAA 00 02 04 DB
3EBOH ;3EBOHOAOH,OAOH,5 6H,2DH,4 3H,OAOH,OAOH
OAOH,OAOH,50H,2DH,53H,OAOH,OAOH
OXOH', 4 6H, 50H , 2DH, 4 6H, 5OH , <J 4 H
3EAAHOOH,02H,0'1H
• ;3EAAH
PANTALLAS PARA (MOSTRAR LOS RESULTADOS"
The Cybernetic Micro Systwna 8051 Family Assembler, Versión 3.02 P^ge 7002-20-96
I1 3F60 ORG 3F60H
'ooooooooooin.nl'01234567U9012345
; ORG 3F60H
I
I
3FCO3F(Í33Ffiü3F703F733F7D3FÜO3F033Ffin3FÜB3F953FEJB3FW1J3FAJ53FA83FAB
5C>23575328HE543A49232E20232E543A.
3A23293A4B23487.33A232323232341)23
2023202056234923202323232E235623
DB5G 20
DB41 29
DB25 20
DB23 41
DB23 23
DB25 20
;DB;DB;D13;DB;DB;DB
'Vi50 3A 20
'S:
flfl«v P: (KW) '28 4B
(KVA)FP: *.**'46 50 3A 20
"THI
'i!20 23 23
46 4 4 3A
'THV
56H,5311,54H,49H,OAOH54 H,
: # # %
#MÍ23
20
; í í f f %
3AH,3AJ1,'IB ti,3AH,,23H48H,
23
1
A tfflff ff. W23
ÍFD: H . f t l f '23
'
OAOH , 2311 , 23H , 23H , 3 611 , OAOH ,O A O H , 2 B H , 4 E m , S 6 H , < U U , 2 9 l l ,4 Í M I , 3AH, 2311, 2311, 25M, OAOHO A O H / 2 3 H , 2 3 H , 2 3 H , 2 3 H , 4 1 H ,, 23H , 23H , 2311 , 2KH , 23H , 2311 ,56H,3AH,23H,23H,25H,OAOH
SOII , 3AI1 , OAOH , 20H , 4BH , 57H , 2 9H , OAOH4 6[1 , 50H , 3AÍ1 , 23H , 2E11 , 23H , 23H , OAOH
OAOH , 23U , 23H , 23H , 23H , 2EH , 2311 , 23H4 GH , SOII ,4 4 H, 3AH , 23H , 2EH , 23H , 23H
COUSTANTES
3EUC3EOC 65 S3 fiO3EBF 00 00 H5
ORGDB
3K8CHS 5 H , 5 3 H , G O H , O O H , O Q H , B 5 H
dinnciaióti do 1» aon"tanUo=1= 65536 d = .65536 t.85 HPF
3K92 16 30 403E95 00 01 85
ORG 3KD?H ; cUrnouJón de IA annsUí«nUn"FniA2/4DB 1 6 H , 3 8 H , 4 0 Í I , , Q O H , 0 1 H , 8 5 H ; = 16384 d = .16384 oB5 NPF
3E603E603E6I33E6E
2040
3400
',
fl981
The Cybarnetic Miaro
OUGDB
ORG
Systems
CONSTANTES DEL PILTRO DICITAL
3E68H ; direaai&n20H,34H,79H,40H,OOH,B1H ; = 2.034794
3E6E1I ; dirección
8051 Family Ajseemblor, Versión 3.02 Pag
d«d
do
e
lan .
la
79
non-^nb*2034794 R
constante
AO=A2Bl HPF
Al
02-20-9B
3E6F.3R713E743E743E773E7A3E7A3J27U3BOO3E803E833F.OG3E063E09
4080
9fi00
.1980
9U20
1000
6900
7000
0700
5301
0000
5881
0080
2981
66BO
0085
DB
ORGDB
ORGDB
ORGDB
ORGDB
"t + tt'tt*
40H,69H,5ÜH,BOH,QOH,81H = 4.069508
3E74H96H,70H,QOH,aOH,QOH,BOH
3E7A111911, B2H,29H, BOU, 0011, B1H
3E80H98H,53H,66H,20H,01H,80H
3EB6H10H,OOH,OOH,OOH,OOH,B5H
di r nación= .967 d
diroaaión- 1.982290
direaaión= .9853662
dirección= 100.00 d
d.
dee= .
dnd
dpd
de= .
= .4069508 e81 HPF
la9G7
1%« .
la
constante»BO NPF
Gonatant»1982298 B
connUanto
FACTOR
BlBl HPF
B2= .9853662 a80 N^F
la1 e
aonotanta85 HPF
KK
The Cybernetic Micro Byatema 8051 Fsmily Aítoemblsr, Vecaion 3.02 Pnge ÜO02-20-98
Symbol Ñamo Valué
AO I OB9AAOA L 24A8AQR I.3E68Al I OBAOAlA L 24ACA3.R I 3E6EA2. I OBA6
A2A 1, 24DGAVI». I 3E.7AABSOL . . . L, 2CE7ADCI I ODOOADCV. T OCOOADQUI h 2177AN. . . . I OÍ378ANA b 24FFAHA1. L 250CANFD I 01399ANFP. I OB98ANG2. L 29F8ANG3 . I-. 2A9BAHGI I OD7BANGV I OB7AAN1 . I OB95ANP I OB96AMR I 3EBOANS I 01397ANV I OB94ARRANQUE. L 0000AUX.LCD I OI1FAAZI L 24BBA?,2 . I, 2-ÍE5Oí. . . I OBACDiR I 3E7AU?. I OBB2D2R I BEBOCALC2 1. 21Í7CCM.CU L 27EOCARÁCTER I OBFEctisn . . . L 2D2iCL.EAR I OOFFOLEARLO) L 262FCHV2 . . L 2DE6CNV-l L 2DF5OJVfi . I. J2E07COMA. T 002CcouTLCD i onraCOE>Y.LCD L 2GF2COS L 2CF1CRLF. L 2D1CCSE L 2123CURSOR I OBFCDA1 I 1AOO
Tho Cybernetic Micro Sysfceina 0051 Family AssemblBr, Versión 3.02 yage 0102-20-96
DA2 I 1COODDRJ I 3FBODDR2. . I 3F60DDTÍAM T OBFDDECD L 3202DF,C1U> . L 31B2DÍGITO. I 013FFDISP1 L 2648DI5P2 1. 2667D1VT. L 2CDHDRCW. . . . . . . . . . . . . . I 1003DRPA I 1000DRPB I 1B01DRI>C. I 1002DTTN I OOBADT1NT I OOEFD'rilÜI 1 OÜDT)OTKDV . . . . . . . . . . . . . t 00FDÜTWR I OOFEDWN I 0080ESCALAS L 2201EJÍPCJ I 0000EXPl . . . . . . . . . . . . . . T 0001EXP2 I OOQ2EXP3 I 0063EXP4 T 0084fc-J L 2119F2 L 2141F3 . " . - . . . L 24 G9FFT:; . . L 2C7iFJNROMLCD ' 1. 26FDFP. I OEF4FPD I OEFAFPÜl. L 2UF6FPO L 3186FPS I OFIFEFfX . . . . . . . . . . . . . . L 31L7FPXn. . L 31SCFIÍOMST L 2DDAF&1 L 242ÜFZ2 . L 2-150FZ3 . Jj 2-178HALF L 26F9II I OEE2
ID. L 2F2B1FT L 2A32IfcTl. L 2A29IFT2. L 2A5CIFT3 L 2AÍ1FIFTd J.. 2A19INT L 2CE2IPK L 2A65I KM . L 20531RMS I OEUGIS1 L 2363
The Cybernebia Micro Sysbems 80S1 Family Assembler, Versión 3.02 Page 8202-20-98
IS11 L 2370IÍÍ2 L 2DECLS21 L 23F9K10 1. 2"302KU.il . L 2306K12 . . . L 2330IC1K . . . . . . . . . . . . . . 1 UI3L1EÍC1.R I 3EBCJC2 E. 2263K2Q L 23UB1(21 L 23UFK22 1. 2"3D9K2K I OBCJK2R I 3E921O L 2201)KHZ1 L 2DOAKD?.2 L 2D09KEYl . . L 2X1AKEV2. L 2130KK I 011L10KKR I 3JSH6KW3 . . . . . . . . . . . . . . L 22PAKYt L 223DKY3 L 2217K-/B1 L 2D2FKTB2 L 2D GEIí7,l . . . . . . . . . . . . . . L 22'1AKZ11 L 2315K212 . . . L 233FKZ2 L 2272KZ21 L 239EKZ2Z. L 23COJG',3 L 2226JL.A20. L 23 5ELCDOH L 25AQLDT I 0096LOl'3 L 2183MD3 b 2306MPP J-. 2FF-1MFS L 30DEMIHU I OODOMODE I 0020MOVCURSOR . L 2GL13MÜVDQRAM . . L 2603MLn.T. . . . . . . . . . . . . . L 2CD3NAKR I 3EAAITOAT I. 007 LNDT . . . . . . . . . . . . . . 1 0076HIB L 2EÜT3H1D2 L 21-00HOSUMO L 26CMNPI1R 1 3ECCNSCín I 3P06NSC2K I 3EDOHSVR i 3F-1E
The Cybecn«bÍG Micro Systema 8051 Family Aasembler, Versión 3.02 P^ge 8302-20-98
OKCOPYLCD . . L 26FBPAC . . : L 2ÜB9PD . ' . " . . . L 2F39PGD L 27B5PGDN L 27BOPGU L 278DPGUP L 2780PH I OI37VPHR I 3ECEX>HS L 2192PT2 L 2CF6PHTR. . . . . . . . . . . . . . I, 213F7PO T OEEÍ!P.PO L 30-1APPU . . L 3059PRIHTCMAR L 272EPRTNTDIG. L 2V5FPROMLCD . . . L 26EA
I
RESET1. . . . . . . L 20P3P.ESBT2 t. 20A3RE.3F,T3 i, 20KARESBT1. . . . . . . . . . . . . L 20FAREÍÍ'f. . . . . L 2CCERETARDO . L 27DÜROM2 L 22COROMUAM. L, 22BEROOT L 2CFBROOTl , . . . L 2D05ROUND . . . , , , , . L 2E3BS . . . . . . . . . . I OEEESCI . . I OBB2SC1R. I 3F3CSC2 . I ODOHSC?.R .1 3EF4SO L 3086SFT1 L 2C3FSFT2 J, 2C5ESUOffl . . . . . . . . . . . . . L 2E67STGN . , L 2CIJDSUO I OBOESOT L 2CECSRTX L 3254SRTX2 L 3201SUMÍ. I OBF.2SUMA . . . 1, 2CC9SUMADO. .1, 26C6SV. . . I OI37CSVH T 3F5ATDJC1 L 2SCETDX2. L 2EECTHD L 2A0CTHI X OF06TIIII. I QFOCTIIIX I, 3200THV I OFOO
Th« Cyb«rn«tio Miaco Synfc«m« 8051 F»mily Aas«mbl«rf Versión 3.02 P:>g*> Q402-20-90
TIIVX L 3JD11>1P L 320DTOUBX L 2DADTOSR. L 2D2ATOST L 2DDOTRF L 2527TX1 . L, 2KEBTX2 L 2F27TXAN. L 323BUP I 0040VI I OEDCVD L 2E67VFT L 2990VFT1 L 290CVFT2 I> 29B9VFT3 .1, 29ECVPK L 29C2VRM L 27EEVRMS. I OEDOVS L 22DBVS1 . . . . . . . . . . . . . . L 22E5W. . y, 2300XDO I 01100XOJ. . , I OIJD6XD2 I OBDCXTL . L 20E4XX L 2113TDO . . . . . . . . . . . . . . I Ü13EÍIYD1 I OUEEYD2 I OBF4Tf L 24A62IT L 210FSITO. . L 21B7
00 Errons (0000)
1
-t-t I I t t I í i t i t i I I t t i t í I I I f I t I » I I t
F X £. T JZ O £> A B A & A tf £) A
jp.sLrr.st.ti*?
jfor-maai
& urja.¿rímuJLatia.
y
cít? onda, =o£>c«3jatí?Jr LIÍXSL
DECLARE BUG SIO&LJ5 (± -' „ TVO.' ,SÍ/B
Gt/Bfí«BGUB
*vü,WO,WO,
Ti, WO, itt,
xtc,ict,XCC,iCC,
XCtJ.,',v-j.,vi,vi,
iCti, vi,itci, vi,itti, vi,
SCKEENQ1KO =CLS
(O, O^~Q = 2HI4J.Z*B Q >= ÍLÓCATE &r *Z5=LÓCATE £>r J25-LÓCATE 12r 2O-LÓCATE 13r 2O-
&ASS FILTBR"
"A —"? : PRIXTT"B —"- =• &RZÍJT
FXL.TERQLIÍÍ;"?
= Q =ZF Q = O C3OTO VALIDOL&CW Q QOSUB CÍO, C2OT C1O> O2Q
CiOr
BO = ir Bl = :
AO - 2-O347&4= Al =
KK = 1OOOO
CLS
LÓCATE
LÓCATE
JtOrPASS &AKTD FXL.TER
12, 10= FRXNT " CENT- FKBQUENCY CHssj = "- = f&ZtJTFO = <5O= WO =• 2 * fX *< FO
LÓCATE 14r 1O: FKIffT " &L& TXME r^tóc.} = "- =O.OOO147&";
T = -OOO147&LÓCATE 2Or 1O: PKXNT " -Px-e^wj &ny íc&y to continuo "
&0" =
Zf Q = O OOTO XOOL1J.
Q = 2WiZLE Q >- 1OLS
LÓCATE Br .LÓCATE 10,LÓCATE 11 r
LÓCATE 12T
LÓCATE 13,LÓCATE 1*4 v
LÓCATE 15 f
LÓCATE lGf
LÓCATE 17,
to= i10 =10 =10 =10 =10 =10 =10 =10 =
?KIttT 'FKXKfTFKXXrX1
PKINT&RISTTFKIffTFKXSTFKXtJTPRXNT
C3iooí"A —""B — ""C —""D —""E —•'"f : "
"O — ""// — "
30 ízrr-*
=~:
i. WSVO
PRXHTFKXtJTfysxtfrfRJWTFKXfJTJRRJWTFRINTFRINT
£oxrt" i** V
" V
" 3," 2" 3
" &
i Te;-) fox* KL. .Zosui "-Efi mugo ida,!
= Q =r= O
OW C10Or
CSOOr
"BAKTD PASS FXL.TKRC3OO* G4OOr
G7OOr CQOOr CGOOr C7OOr C3OOT GZOO,
KL,
VOL.T1: Je = Je -r- i
C1OO: CL£LÓCATE 24f 3O= JPRINT "<:R>=HBTVRN" -
•7 7 i—- Q — fJl ,—: (5 — 2 — O ~ frf " O ~
¿ = 1 TOte -+• ¿r ¿ce — ¿¿ .*• T= itrci = r¿¿ — 1} *# TGIOtíLlCl* W> ¿CC, ¿CCJ., vi,
IOCV1ÜB J.3, J.0r JPRItfT "X= "13t 15 = &RINT USZNG
LÓCATE 3.3, J?J5r FRXtfT UGINQ "**-#-#•##•--**•"-
"y— "Tf: 22, 3-S:
22, SO:JÜOGATJS 22 T 66= &RI.NT USINQ "####•#-##"; ÍVW
XD2. = XD1: JCD1 = XYTJ2 = YJJ3.= YX>1 = YX ~ vj;-ya = BI * YDJ. -*- B2"XI = AO * X •+• AJ. *•Y - CAO * (X -f XD2) -í- Al * XXH} / KJC + J31 * YD1 -<- JB2 v Y&2
' Z - Y -f- 2= Zl ~ X -*• Zlw = r - 2 -+ w= wz = x - 2 >+• wi
JPSET fi , ( ¥ * - & ) - * - 125}PSJST C5 ^ ZWTC¿ / 5} , 125}
Sf UCASB9 C XfVO£Y& > - "R" QOTO FOOLl JSJ^SJS GOTO WLT11
//KXT i
, ^4r PRX&T "XJ-ÍD-"LÓCATE rr S7: PRXHT UBXNO
LOCA7JE 13t 67= FKXNT USZNO "-tnr" -
VO/.37J.
Jk = Jk -í- iC2OO: CLS
LÓCATE 24* 3O =SI - Q= Wl = O= Z = O= H = O:
¿ = 1 TO 113JL1 = Je f- ¿r ¿CC =r ¿¿ w T= ¿CtJ. = C¿¿ — 1J> *< TCA3..L
13r 1O= FKXKTT "X- "J.3, JL5r PRXtfT U&'XNO
13'f 35? PRINT USXNOLÓCATE 13 f 5O= &RXNT "RSÍ&=
13, S5 =
JuOCATJS 22r 15= JPRX&T USXHQX&CATS 22, 5Or PRXiJT "AV= 'IjOGATJS 22r 35= J52ZWZ1 USINQLOCATJS 22, 50= PRXNT "JÍKÍS=XjOCATE 22f 55= JRRTffT USItfO
XD2 - XD1: XD1 = XYD2 = YD1 = YDJ. ~ YX = viYl = SI * YD1 -+* B2 * YD2XI = AO * X -+- Al. * XD1 -f- A2 * XD2Y = ~Y1 + XI / KK
W — Y - 2 + H= MI = X - 2 -*- tfl
IFSBT Cir CY&SET es * xt
Xf UCASE9CINKEY&J = "R" OOTO TOOL2 SL&E OOTO VOLTUZT12=XTEXT ¿
X 1J= HWÍ = &QRC&JL X
^SS^ Í C-' vir 'T-"'''''7 ' '""""'"''í Vi7^*4^j^^^^¿-^"'V '*j' ;"'.'r-" '_.'r: --->- '->--í7^^~?,--: :-^r-.- '--^->
2} / MV * J.OO
LÓCATE 7, 64? PKIWTLÓCATE 7, 6Tr PRIfFT USXNQ •LÓGATE 18T 64: fRXNT "H= "LÓCATE l&r 67: JPRJWT USXNQ
GOZOGZ-RQ
cozztz-Q.Z
Je = -te •*• JlCLS
•LÓCATE 24.* 3O: JPKJTWT "<R>-RETU1R£1" ;Zl = Or WJ. - O: Z =: O= H = O:
FOR J. = 1 TOii = Je -*- i- ice rr Xi -^ Tr icdi =r rü ~ U #< TCAZ>£. SXQ&£*3C3.r Wt?, itfc, ¿fcci, vj.,
LÓCATE 13, 1O:LÓCATE 13r 15: PKZWT VSXNO "jrjrf*•-#&"= X
'.3* 3O: FKINT "AV= "13, 35: JPRZWT VSXNO "&•#&&„**•"; Zl
LÓCATE 13 r -55 r FKI&T USINO
22 1O:LÓCATE 22'f 16: ^RJ'JW UGIflQ "*&##-&#"; YLÓCATE 22r 3O: &RXÍJT "AV- "LÓCATE 22* 35: -RRJWT USXWO '•#####-##"; ZLÓCATE 22, 5O: &RJCfJT "RKCg= "LÓCATE 22f 55: &RWJ* USXNO
-r XX) 1 = X.X7X2 - YD1: YTH ~ YX. =r viYl - Bl * YD1 t- B2 * YD2XI ss AO #* X ~t- Al ** XD1 •+- A2 * XD2Y rr -Yl -*- XI / KK
W = Y " j 2 - # - K r MI ~ X " 2 -f- MI
PGET Clr CY * .3}
Xf UCA&E*CXtfKEY&} - "R" OOTO TOOL3 EL£E OOTO VOLT13VOLX13:
ftEXT iWW = SQRCW / 3.1= H*?l = GQRCW1 / 3.J
TflD sr SQKrWWi - 2 — W* ~ ^ J / W V ^ 1OO
7 64.' JPRINTLÓCATE 7\ PRIXFV UGINQ "•***#•*,**••'? THDLÓCATE 13, 64= r-KZWT "tf= "LÓGATE lGf 67= FRX&T U&XSQ "-HNF1'- S
QOTO VOL.T3TOOL&= OOTO GIROEKD
SXNUSOXnAL «AVE -#- NOXGE
ic = Je •*- 1C4OO- CLS
LÓCATE £4* 3O= FRXffT "<=RZl = 0= Hl = 0= Z = 0= tf = O =
&OR 1 = 1 TO11 s= Jk: •*• 1= itc = 11 -i* T: 1W1 = Cll — 11 ** TCAJLC* SXí&n^4.(l, WOW JtCfc, Itmi, vi. vil}
LÓCATE 13r 1O= FRIKTT "X= "LÓCATE 13, 15: FKXNT U&XfJO •'#**&. **"= X
t*
LÓCATE 13 f 3O:LÓCATE 13, 35= PRXtfT UGXffG "###•#*- **";•LÓCATE 13f 5O= JPRXNT "JRM&= "LÓCATE 13f 55= PRXtfT UGXtfQ
LÓCATE 22, 1O: PRXtfT "Y= "LÓCATE 22, 15: PRXtfT UGINOLÓCATE 22, 3O: PRXtfT "AV= 'LÓCATE £2, 35: PRXtfT UGXtfQLÓCATE 22, -GOr PRXtfT "RMG=LÓCATE 22, 55: PRXtfT UGXtfO
XD2 ~ XD1: XD1 = XYD2 = YDl: YDl = YX = viYl - Bl # YDl -*- .H2 * YD2XI = AO * X -*- Al * XD1 -*- A2 * XD2Y = -Yl ^ XI / KK
hf = Y ~ 2 •*- f f : Wl = X ~ 2 -+- tfl
PSET Clr CY * .3} •+- 125J
Xf UCA£B#CltfKEY#J = "R"'OOTO TOOL4 ELGE OOTOVOLTIO:
MEXT 1
LÓCATE 7r &í= PRX8T "TJJÜ="LÓCATE 7, G7: PRZWT USXNO "*\r^*^r_ **•" - TtíX)LÓCATE 13r &íz FRXtfT "tf= "T.J3GATR 13, &7= PRXNT UGXNQ "^T"r N
TOOL4.: Q.3TO OXKOEtfD
LEVEL GQUARE
VOLT&z >c. ^ te -+- iC50O: OLS
LÓCATE 2-4, 3O: PRXtfT "<R=>-:RETURN" -Zl i—~ O ~" WJL "^ O" Z ~ O ~ W -~~ O —
FOR 1 - 1 TO 113
GXGffLSCl, WO,
LÓCATE 13 1Q: PRXtfT "X— "LÓCATE 13l J.^r PRXNT VSXNQ "^r*-^_ jr*-"r XLÓCATE 13r 3Q; PRXtfT "AV= "LÓCATE 13, 35: FRXtfT USXfJQLÓCATE 13, 5O: FRXtfT "RMS=LÓCATE 13, -55r PRXtfT UGItfO
LÓCATE 22f lOz &RXNT "Y= "LÓCATE 22r 15: PRXtTT USINQLÓCATE 22r 3O: JPRXtlT "^V- "LOOAT.K 22, 3G; X^RXNT UGXtfQ "LÓCATE 22, 5O; PRJCjNT "RKfSz: "LÓCATE 22, 66; JPKJ'fW UGXNQ
YXX2 = YDl: YDl = Y
Yl - Bl -^ YDl •*- B2 * YD2JO. = AO * X -+- Al * XD1 -f- A2 * XJX2Y — -YJL -*- XI / KK
H = Y ~ 2 -*- tf= WJ. == X ~ 2 f Wi
jPGET Clr cy * -&} •*- 125)JPGJST C5 * XffTCJ. / 6)r 12&)
XF UCA&E&(XtJKBYy} = "R." OOTO TOOJ^5 JEL&JE OOTO VOLT1GVOL.T15;
ÍÍEXT J./ ±): WWi = GQRCH1 / X_>
THXJ =: SQRffWl ~~ 2 — WW ~ 2) / fVW *K 1OO
LÓCATE 7r 64= PRXNT "27ÍD="LÓGATE 7> 67= FRXNT USXNO "•&&*-#&„*•*"; TÍ-fDLÓGATE 13r 64: -RRZ-W37 "&= "LÓGATE JL&r 67= &RXÍVT USIfJO "#
OOTO VOLT&TGQL&= OOÍÍÜ OXROKND
LEVEL &QUAKE f-iAVE
VOLT6: Je =r ÍC -f XC6OO: GL&
LÓCATE £4.f 3O = FKINT "<R>:RETURÍ1" ?21 — O= WJ. = O= Z — Or H = O =
FOK ¿ = J. TO JLX3¿¿ = Je •*- ^
13, 1O= PRXNT "X= "13 JL&: 2?RXfifT USXtfQ "JFfJFjF- -jrjr" - X
LÓCATE 13\ PRINT "AV^ "LÓGATE I3r 35: PRXtfT USI&Q "*%r- r*-_ jT*"*- ZJ,LÓGATE 13, £Q: PRXKfT "RMS= "LÓGATE 13, &G= JPRZNZT UGXNQ
JU2GAXB 22f 1G= JP3RJCNT UGINQ.LÓCATE 22 * 3O : &RXWC "AV=: 'LÓCATE 22, 35= PRXNT USINOLÓCATE 22, 5O : PRXNT "J&í&=
2, G5= &RJCMT USXNQ
2 — XD1= XD3- = X>2= -p
y-j. -* X -t- Al ^ XD1 -*- A2 * JCDS
y = —yi -f- xi / KKH = Y ~~ £ •+- W: tfl = X ~ 2 -f- WJ.
CY # -&J •*r-5 =*
Xf UGASB#<-Z&KeX#J — "R" OOTO TOOLG ELBE OOTO VOLT1&VOLTJL.G:
NEXT X
~ 2 —= B -t- JL
LÓGATE 7, 64: PKIKfTLÓGATE 7r 67: PKZttT U&XtfGÍ^OCVIIK IB, 64: FKINT "N= "LÓGATE JLBr 67= ^RXifT U&XtiO "*•**"- Jtf
r OOTO GIROEtfO
TRIANGULAR
VOLT7: Je = Je •*- J.G7OO: GLS
LÓGATE 2-4f 3O: PRXNT "<R>:RETURÍi";Zl = O: WO. = O: Z = O= H = O:
POR í. — 1 TO 113
3, JtOr FRXKTT "X.= "LÓGATE 13r JL6: PRINT UBXÜO "
3GT / TX -*• TJt- - Arax *r T^ -*• x *• ov = rx
*-- T& = TJtT-A = X
-TOA = ZZLX.= rax -rax = zxrx
=OS *Z=&& *z=O£ *Z& 3XVZX7J=ST *z& sxvocrr
==x... Jitix&<f =or *z
rz -..jfj
-or *e-r
R3H3, fT)£O3 J&& ¿LX
r - sr = rrerr ar r = r
= H -O - Z ~O — TM =O ~-oe *&
T-* s3S&1O-OO&J
XAV& 1YtX32J3C3
aftaO&XG OXOO -¿Tí.>3E
aroo¿# "erÍHP 's?r=¿9 *¿
oor * ^IMrr
T JDC3W
¿TJ/JQA
^Dí / TX •*• TJt- = >trax ^ rv •*• x *• o^ = rx
^ T3 = TAT-A = X
-TOA. = S*ZA= rax -rax = zxrx
MH -,.^J-Off '<
-ÓÉT "¿-9T *í
rz ?..**.. =AV,. 3¿tI2kT =OQ *í
T = T3 3313 O = TT3 tf3ftLT ~ T3 3313 O = T3
TTa xc TT3 =TCf Xf T-t£ ™
OOT -C TT3*? OOT -c T.S
oor =c OOT = T3OOT =s TTO
c OOT =r ra9" = T=J
T = r¿T =
'OH *
• T-A ^ 0- *T* f sr / TJJJXI xc &
TTa xc TT3 — TT»ra *: T¿ = T-A
o = TT^ AESKI oz <• rr^r «í3STI3 O = T3 fi3fí£ O¿ •< T3 3
*= OOT = TT3: OOT = T3OOT ~ TTa
OOT = TCT
ON3T
II
"cw *
a/7» atas
3313
X 3313O =
— T--»
<r TTa 313313 CO<f -*• TCT-?
T1SDX3
-oso
i«Se
owar
ooeo
OMISA.. =W..otxxsn
*er'9T
OOT = OKIrr
0X00 3313 G1OCXL (XLOO «2
T J3C3N
- 0TJ.10A
33CTLO3313
*(9fe?- *
TM
vi -f- 37B)
BUB
SINUSOIDAL, CON RUIDO
SUSLISTE CO
i"*,,0J
vi = so
iCC,, 7
XMTCJLS *: vi
vi, vü.>
PGET CS.PSKT CJ.
GUJB
ONDA CUADRADA: DOS IflVEJ^BB
BUB BIGNLS Ci,
iit:t:, ¿Lttri,
/"
ru. =ZíJLi = 1OOIF DI > O 37ÍEN vi - 1OO
If DÜ ^- O THEN vü — iOO
-PSLS2"vi
- 78)
Xf Di <r O
IF D1JL < O
vi = -ÍOO
vü = — J.OO
vi =
vü
EJVD
SUBCO,
r TREG
Cir W9, , vi,
= ÍOO
=T O
Vü =: O
DI
Zf DÜ
vi =
IHEW
PSETvi
SUB
ONDA
GUB , vi,
vi rr
= ioo rwo
L, vi
vi - ^ vi
DJ.J. -e -&O
- 2
rwo
51 y 376)
SUB
- ESTE PROGRAMA HACE QUE EL COMPUTADOR ACTUÉ COMO UÍ-J TERMINAL- RECIBIENDO DATOS A TRAVÉS DEL PUERTO SERIAL CCOMI),- LO QUE PERMITE LA COMUNICACIÓN CON EL MICROPROCEEADOR, QUE HA" SU VEZ CORRE LOS PROGRAMAS ALMACENADOS EN MEMORIA -- LOS DATOS DE VOLTAJE Y/O CORRIENTE, SON GRAFICADOE EN LA PANTALLA- Y A LA VEZ SE GENERAN LOS ARCHIVOS ASCIIz EL ade.-tVl _ pra , adatlX -- Y jaaíi/ta-j?x^a PARA SU POSTERIOR AIStALISIE-
VOLVz
CL06E
OPEN •'CO«2:9600,I3,a, X, GS, cia , ira, od.,RB28OOO" FOR INPUT AS
modero , I£ c*ua.r-iac térra euro wsLi-tJLns C EOF C 1-3o .) , fiet •fc'h.om ancl ETüxt tliem t;o tlae
IF NOT EOFC3O THEN
IF MiGi^od-ajpu.t^& = "@" THEN GOTO
IF
LOOP
GRAPH SUBROUTINE
CLGSCREEN 2, O, O - aereen ae-CVI EW C3O, 3.O>~C5OO, ISO 3 , > 3WINDOW C O , -30 3 ~ C 33© , SOO 3
ASOPEN "Cz \DATA\gLdVOO_pr-»-" FOR OUTPUX AS -ff2OPEÍ3 "C= \DATA\acLIOO. £.r-n" FOR OUTPUT AS -JF3OPEN "CcVDATAXacITO-^r-n" FOR APPEND AS *4_
IHPUT
X = JL.FOR X = X TO 1X3
INPUTLCM
Y -
PSET CX, C'Y -P6ET CX - XX3, CY - X28 ) -f- 45O 3PSET CX -»- 226, CY - X2S -t- 4SO )
PSET C6 =
LÓCATE X2, 56= PRINT USING "*•«•*». j»* "; Y — X28
NEXT X
X ~ XFOR X = X TO XX3
INPUT íTX
PRIftíT -ff-a, s: - X28
PSET CX, Cz - X28J -»- XSO >PSET CX -t- XX3, Cz: - X283 •*- 15O >PSET CX -i- 226, (x — X28> -t- X5O >PSET ce =* T.NTCX / 2} , X5O 3
PSET CX, 3OO?= PSET CX -i- XX3, SOO > : PSET CX -»- 226, SOO 3
LÓCATE 23, 56: PRINT USING "-ff «--ff_#ff" z. — X28
WKXT XLÓCATE 6, 65= PRINT