Programa Proton IDE de Un PIC Encoder Con Un 16F876A, 16 Bits de Resolución, Por Interrupción

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

5/11/2014

Programa Proton IDE de un PIC Encoder con un 16F876A, 16 bits de resolucin, por Interrupcin. - Robtica

Robtica
Temas:
Pgina principal
Cinemtica Inversa I
Cinemtica Inversa II
Cinemtica Inversa III
Cinemtica Inversa IV
Cinemtica para brazo
robot Delta
Trayectorias

Buscar en este sitio

Encoder
>
Encoder por Software
>
Control de Motores DC
>
Control de
un motor con el PIC 16F876A, 16 bits de resolucin, por Interrupcin.
>

Programa Proton IDE de un PIC


Encoder con un 16F876A, 16 bits
de resolucin, por Interrupcin.

Simuladores de Brazo
Robot

Primera Versin:

Emulador RV-2AJ
Encoder
Encoder Magntico
Encoder por Software
Encoder por Hardware
Control de Motores DC
USB Bulk Transfer
Mltiples encoders por
USB
nRF24L01
Fabricar Brazo Robot
Brazo por RS232
DTR-RTS-CTS-DSR...
Bresenham 2D
Bresenham 3D
Bresenham 6D
Algoritmo DDA
YouTube Robots
Contacto
Mapa del sitio

Device=16F876A
REMINDERS = FALSE
Config XT_OSC, PWRTE_ON, CPD_OFF, WDT_OFF, BODEN_OFF,
LVP_OFF
REMINDERS = TRUE
ALL_DIGITAL = TRUE
On_INTERRUPT GoTo Interrupcion
Symbol INTE
=
externa.
Symbol INTF
=
externa.
Symbol GIE
=
Symbol INTEDG =
Flag = 1 Flanco

INTCON.4

' RB0 Habilitar interrupcin

INTCON.1

' RB0 Flag de interrupcin

INTCON.7
OPTION_REG.6
subida.

' Global Interrupt Enable.


' Flag = 0 Flanco bajada.

GIE
= 1
generales.
INTE
= 1
externa RB0/INT.
INTEDG = 1
con flanco de subida.

' Activa interrupciones

Dim X As DWord
actual (32bits).
Dim P As DWord
(32bits).

' Variable de Posicin

TRISA
TRISB
TRISC

' Activa la interrupcin


' Disparar la Interrupcin

' Variable de Posicin final

= %100011
= %11111111
= %11111111

PORTA.2 = 0

PORTA.3 = 0

' Motor parado.

PORTA.4 = 0

' LED apagado.

X=0

' Variables a cero.

P=0
https://sites.google.com/site/proyectosroboticos/encoder/encoder-por-software/control-de-motores/control-de-un-motor-con-el-pic-16f876a-16-bits-de-resoluci

1/3

5/11/2014

Programa Proton IDE de un PIC Encoder con un 16F876A, 16 bits de resolucin, por Interrupcin. - Robtica

'---------- Programa Principal -----------Bucle:


If X = P Then
PORTA.4 = 0

' Apaga el LED.

PORTA.2 = 0
PORTA.3 = 0

' Motor Parado.

P.BYTE0 = PORTB

' Carga el byte bajo de los 16

P.BYTE1 = PORTC

' Carga el byte alto de los 16

bits.
bits.

P.0
bits P0 y P1,
P.1

= PORTA.0

' RA0 y RA1 pasan a ocupar los

= PORTA.1

' sobre-escribindolos.

GoTo Bucle
EndIf
PORTA.4 = 1

' Enciende el LED.

If X > 70000 Then


PORTA.2 = 1
PORTA.3 = 0
GoTo Bucle
EndIf

' Si x<0, Motor hacia delante.

If X > P Then
PORTA.2 = 0
PORTA.3 = 1
GoTo Bucle
EndIf

' Si x>p, motor hacia atrs.

If X < P Then
PORTA.2 = 1
PORTA.3 = 0
GoTo Bucle
EndIf

' Si x<p, motor hacia delante.

GoTo Bucle
End
Interrupcion:
Encoder --------------

'-------- Decodificador de

Context SAVE
' Salva en contexto de los
registros antes de operar con la interrupcin.
If PORTB.0 = 1
Then
' Si RB0 se ha puesto a 1
(flanco de subida),
INTEDG = 0
' entonces activar la siguiente
interrupcin por flanco de bajada.
If PORTB.1 = 1 Then
' Si RB1 est a 1,
Inc X
' entonces incrementar el
contador X.
EndIf
Else
' Si RB0 se ha puesto a 0
(flanco de bajada),
INTEDG = 1
' entonces activar la siguiente
interrupcin por flanco de subida.
If PORTB.1 = 1 Then
' Si RB1 est 1,
Dec X
' entonces decrementar el
contador X.
EndIf
EndIf
https://sites.google.com/site/proyectosroboticos/encoder/encoder-por-software/control-de-motores/control-de-un-motor-con-el-pic-16f876a-16-bits-de-resoluci

2/3

5/11/2014

Programa Proton IDE de un PIC Encoder con un 16F876A, 16 bits de resolucin, por Interrupcin. - Robtica

INTF = 0
interrupcin RB0/INT

' Borra el "flag" de la

' para poder permitir la


siguiente interrupcin.
Context Restore
' Restablece el contexto de los
registros tal como estaban antes de la
' interrupcin.

Iniciar sesin

Informar de uso inadecuado

Imprimir pgina

| Con la tecnologa de

Google Sites

https://sites.google.com/site/proyectosroboticos/encoder/encoder-por-software/control-de-motores/control-de-un-motor-con-el-pic-16f876a-16-bits-de-resoluci

3/3

También podría gustarte