You are on page 1of 18

Transmisor Receptor

START

START

;CONFG. DAC / FVR / COMPARADORES

;CONFG. BAUDIOS / TX
0X00SP1BRGH
0x0CSP1BRGL
0x08BAUD1CON
1RC1STA,SPEN
1RC1STA,CREN
1 APFCON1,RXSEL
0 TX1STA,SYNC
0 TX1STA,BRGH

0X00 DACCON0
0X9A DACCON1
0X84 FVRCON
0X04 CM1CON0
0X14 CM2CON0
0X33 CM1CON1
0X2C CM2CON1

;CONFG. ADC
0X00
0XC3
0XF4
0X10
0X0F

T1CON
CCPR1H
CCPR1L
ADCON1
ADCON1

;CONFG. BAUDIOS / TX
0X00 SP1BRGH
0X0C SP1BRGL
0X08 BAUD1CON
1 TX1STA,TXEN
0 TX1STA,SYNC
0 TX1STA,BRGH
1 APFCON1,TXSEL
1 RC1STA,SPEN

;CONFG. DAC /OPA


0X00DACCON0
0x42OPA2CON

;INICIALIZACION DE VARIABLES
; Y PERIFERICOS
0X00 UNI_HORDEC_HOR
0X00DEC_MINUNI_MIN
0X00DEC_SEGUNI_SEG
0X00 TMR1LTMR1H

1T

1R

Transmisor Receptor
1
T

1
R

MENU

MENU

PORTA,3 = 0

SI

1W
CALL MUEVE
GOTO OPC1

NO

PIR1,RCIF = 1

SI

RC1REG W
W
COPIA_REG

NO
SI

PORTA,3 = 0

SI

GOTO
OPC1

2W
CALL MUEVE
GOTO OPC2

COPIA_REG = 1
NO

NO
SI
PORTA,3 = 0

SI

3W
CALL MUEVE
GOTO OPC3

NO

GOTO
OPC4
SI

GOTO
OPC2

COPIA_REG = 2
NO
SI

PORTA,2 = 0

NO

SI

4W
CALL MUEVE
GOTO OPC4

COPIA_REG = 4
NO

GOTO
OPC3

COPIA_REG = 3

NO

Transmisor Receptor
OPC 1

OPC 1

NO
PORTE,1 = 1

5W
CALL MUEVE
GOTO ARRANQUE

SI

S
I

PIR1,RCIF = 1
NO

PORTA,0 = 1
S
I

1INTCON,GIE
1INTCON,PEIE
1PIE1,CCP1IE

#W
CALL MUEVE
GOTO MENU

RC1REG W
W
COPIA_REG

NO

SI
COPIA_REG = 5

GOTO
ARRANQUE

NO
SI
GOTO
LIMPIA

COPIA_REG = #
NO

Transmisor Receptor
ARRANQ
UE

ARRANQU
E
NO
PORTE,2 = 1

4W
CALL MUEVE
GOTO PARADA

0X00 T1CON
0X8FCCPR1L
0X0FCCPR1H
0X0BCCP1CON
1T1CON,TMR1ON

S
I

SI
NO

PORTE,0 = 1

6W
CALL MUEVE
GOTO REINICIO

PIR1,RCIF = 1

RC1REG W
W
COPIA_REG

NO
SI

NO
PORTA,0 = 1
S
I

COPIA_REG = 4

GOTO PARADA

S
I
#W
CALL MUEVE
GOTO MENU

NO
SI
GOTO
REINICIO

COPIA_REG = 6
NO
SI

GOTO
LIMPIA

COPIA_REG = #

Transmisor Receptor
REINICIO

REINICIO

GOTO OPC 1

0 T1CON,TMR1ON
0X00 TMR1L TMR1H
0X00UNI_SEG DEC_SEG
0X00 UNI_MINDEC_MIN
0X00UNI_HORDEC_HOR
GOTO OPC1

PARADA

NO
PORTE,1 = 1

PARADA

5W
CALL MUEVE
GOTO ARRANQUE

0T1CON,TMR1ON

S
I

PIR1,RCIF = 1
NO

PORTE,0 = 1

RC1REG W
W
COPIA_REG

GOTO
ARRANQUE

NO
NO

PORTA,0 = 1

GOTO
LIMPIA
SI

S
I

SI

NO

6W
CALL MUEVE
GOTO REINICIO

#W
CALL MUEVE
GOTO MENU

COPIA_REG = #

SI
COPIA_REG = 5
NO

S
I
GOTO
REINICIO

COPIA_REG = 6
SI

NO

Transmisor Receptor
MUEVE
W TX1REG

NO
TX1STA,TRMT = 1

S
I
CALL
retraso_20
RETUNR

LIMPIA
0 INTCON,GIE
0T1CON,TMR1ON
0X00 TMR1LTMR1HUNI_HOR
0X00 DEC_HORDEC_MIN UNI_MIN
0X00 DEC_SEGUNI_SEG
GOTO MENU

Transmisor Receptor
OPC 2

OPC 2

1T1CON,TMR1ON
0X00TMR1H
TMR1LCCP1CON
0X0B CCP1CON
0 PIR1,CCP1IF PIR1,
ADIF
1PIE1, CCP1IE
MOTOR1AW
PIE1,ADIE
CALL MUEVE
1INTCON, GIE INTCON,
PEIE
0XA5 ADCON0
0X00 CONTA
NO
SI
PORTA,0 = 1
GOTO SALIDA

CICLO

2T

PORTA,0 = 1

NO

MOTOR2BW
CALL MUEVE

PORTA,0 = 1

NO
GOTO SALIDA
NO

RUTIN
A

SI
MOTOR1BW
CALL MUEVE

SI

0X00 TMR2
0xFFPR2
0x01T2CON
0x0CCCP1CONCCP2CON
CCP3CON
0X00CCPR1LCCPR2L
CCP3CON
0X00CCPR3L CONTA
1APFCON1,CCP1SEL,CCP2SEL,
RXSEL
1
APFCON2,CCP3SELT2CON,2

PORTA,0 = 1
SI
MOTOR2AW
CALL MUEVE

PIR1,RCI
F=1

MOTOR21

COPIA_REG = #

NO
CONTA= 3
NO

NO
MOTOR12

S
I
RC1REG W
W
COPIA_REG

S
I

2R

S
I

CONTA= 2
NO

MOTOR11
NO

CONTA++

GOTO
OUT

S
I

CONTA= 1

Transmisor Receptor
2T

2R

MOTOR3AW
CALL MUEVE

CONTA= 4

S
I

MOTOR22

NO
NO
GOTO
SALIDA

PORTA,0 = 1

SI

CONTA= 6

NO

S
I
GOTO
CICLO

S
I

MOTOR31

NO

MOTOR3BW
CALL MUEVE

PORTA,0 = 1

CONTA= 5

GOTO
SALIDA

S
I

MOTOR32

MOTOR1
1
MOTOR1
1

MOTOR1
2

MOTOR2
1

COPIA_REG W COPIA_REG W
COPIA_REG W
WCCPR1L
IORWF CCP1CON WCCPR2L
GOTO RUTINA GOTO RUTINA GOTO RUTINA

Transmisor Receptor
SALIDA
#W
CALL MUEVE
0ADCON0,ADON T1CON,TMR1ON
0PIE1,CCP1IEPIE1,ADIEINTCON,GIE
0INTCON,PEIE PIR1,CCP1IF PIR1, ADIF
GOTO MENU

MOTOR2
2

MOTOR3
1

MOTOR3
2

COPIA_REG W
COPIA_REG W COPIA_REG W
IORWF CCP2CON,F IORWF CCP3CON IORWF CCP3CON,F
GOTO RUTINA
GOTO RUTINA CLRF CONTA
GOTO RUTINA

OUT
0X00CCPR1LCCPR2LCCPR3L
0T2CON,TMR2ONPORTB,0PORTB,3
0PORTB,5
GOTO MENU

Transmisor Receptor
OPC 3

OPC3

1DACCON0,D
ACEN
1CM1CON0,C
1ON
1CM2CON0,C
2ONCICLO1

PIR1,RCIF = 1

SI

RC1REG W
W
COPIA_REG

NO
SI
CALL
NORMAL

0X00ban
d

NO

NO
CMOUT,MC1OUT =0
S
I
NO
CMOUT,MC2OUT =0
S
I

BW
CALL
MUEVE
1band,0

SI
GOTO
MENU
SI

AW
CALL
MUEVE
1band,0

COPIA_REG = #
NO
NO

PORTA,0 =0
NW
CALL
MUEVE

CALL
ENCIMA

COPIA_REG = A
NO
SI

NO

band,0 =0
S
I

COPIA_REG = N

S
I

3T

CALL
DEBAJO

COPIA_REG = B

NO

Transmisor Receptor
3T
#W
CALL MUEVE
0
DACCON0,DACE
N
0
CM1CON0,C1O
N
0CM2CON0,C2
ON
GOTO MENU

ENCIMA

DT " VOLTAJE SOBRE


DT " 3 VOLTIOS "

RETURN

NORMAL

DT "
DT "

VOLTAJE
NOMINAL "

RETURN

DEBAJO

DT " VOLTAJE BAJO


DT " 1.024 VOLTIOS "

RETURN

Transmisor Receptor
OPC 4

OPC 4

1T1CON,TMR1ON
0X00TMR1H
TMR1LCCP1CON
0X0B CCP1CON
B'10100001' ADCON0
0PIR1,CCP1IFPIR1,ADIF

0X00DACCON1
1DACCON0,DACEN
1OPA2CON,OPA2EN

CICLO2

PIR1,RCIF = 1
NO

PORTA,0=1

0X00DACCON1
0DACCON0,DAC
EN
0OPA2CON,OPA
2EN
GOTO MENU

NO

PIR1,CCP1IF=1
S
I
0PIR1,CCP1IF
0T1CON,TMR1
ON
1ADCON0,1

PIR1,ADIF=1
S
I

0PIR1,ADIF
1T1CON,TMR
1ON
S
I
NO

ADRESH
W

RC1REG W
W
COPIA_REG

NO

GOTO
SALIR

S
I

SI

PORTA,0=1

GOTO
SALIR

SI
COPIA_REG = #
NO
COPIA_REG
W
WDACCON1

NO

Transmisor
SALIR
#W
CALL MUEVE
0ADCON0,ADONT1CON,T
MR1ON
0PIR1,CCP1IF PIR1, ADIF
GOTO MENU

Transmisor Receptor
ORG 0X04

ORG 0X04
NO

PIR1,CCP1IF=0
S
I

NO
GOTO CCP1

NO

PIR1,ADIF=0

GOTO
ADC

S
I
0PIR1,CCP
1IF
0PIR1,ADI
F
RETFIE

PIR1,CCP1IF =0

CALL INT

S
I
0
PIR1,CCP1I
F
0X00TMR
1L
0X00TMR
1H
RETFIE

INT

CN++

CCP1

1ADCON0,1
0PIR1,CCP1IF
RETFIE

CN=45
NO
0PIR1,CCP1I
F
RETIFIE

S
I

CALL
UN_SEG

Transmisor Receptor
UN_SEG

ADC

0X00CN
UNI_SEG++

CONTA++

CONTA= 1

S
I

NO
GOTO MOTOR1

NO
CONTA= 2

S
I

GOTO
MOTOR2

NO

UNI_SEG=10
S
I
0X00 UNI_SEG
DEC_SEG++
S
I

NO

DEC_SEG=6
CONTA= 3
NO
0PIR1,A
DIF
RETFIE

S
I

GOTO MOTOR3
S
I
0X00 DEC_SEG
UNI_MIN++
S
I

NO

UNI_MIN =10
S
I

0X00DEC_MIN
0X00UNI_MIN
0X00 DEC_SEG
0X00 UNI_SEG
GOTO MUESTRA
S
I
DEC_MIN =6
N
O
0X00 DEC_SEG
DEC_MIN++

Transmisor Receptor
MUESTRA

MOTOR1

ADRESHW
WMOTOR1A
ADRESLW
WMOTOR1B

NO
0MOTOR1B
,5

MOTOR1B,7=1
S
I
1MOTOR1B
,5
NO
MOTOR1B,6 =1
S
I
1MOTOR1B,4
0MOTOR1B,6
0 MOTOR1B,7
0PIR1,ADIF
B'10101101'
ADCON0
RETFIE

0MOTOR1B,4
0MOTOR1B,6
0PIR1,ADIF
B'10101101'
ADCON0
RETFIE

30W
W+ DEC_HOR
CALL DATO
30W
W+ UNI_HOR
CALL DATO
30W
W+ DEC_SEG
CALL DATO
30W
W+ UNI_SEG
CALL DATO
RETURN

Transmisor
MOTOR2

MOTOR3

ADRESHW
WMOTOR2A
ADRESLW
WMOTOR2B

ADRESHW
WMOTOR3A
ADRESLW
WMOTOR3B

NO

NO
0MOTOR2B
,5

MOTOR2B,7=1

S
I
1MOTOR3B
,5

S
I
1MOTOR2B
,5
NO
MOTOR2B,6 =1
S
I
1MOTOR2B,4
0MOTOR2B,6
0 MOTOR2B,7
0PIR1,ADIF
B'10101101'
ADCON0
RETFIE

0MOTOR3B
,5

MOTOR3B,7=1

0MOTOR2B,4
0MOTOR2B,6
0PIR1,ADIF
B'10101101'
ADCON0
RETFIE

NO
MOTOR3B,6 =1
S
I
1MOTOR3B,4
0MOTOR3B,6
0 MOTOR3B,7
0PIR1,ADIF
B'10101101'
ADCON0
RETFIE

0MOTOR3B,4
0MOTOR3B,6
0PIR1,ADIF
B'10101101'
ADCON0
RETFIE

Transmisor Receptor

You might also like