Sie sind auf Seite 1von 48

CENTRO DE

BACHILLERATO TECNOLOGICO Industrial


y de Servicios No. 229

MANUAL DE PRACTICAS DE
PROGRAMACION DE
MICROCONTROLADORES PICS

Introduccin
El presente manual contiene una serie de 35 prcticas, estructuradas de manera
tal, que su desarrollo secuencial propicia la adquisicin de habilidades y
destrezas as como el desarrollo de competencias en el alumno y sobre todo
conocimientos para el manejo de los dispositivos microcontroladores que
forman parte del ambiente de trabajo para este curso.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Prctica 1 (EJEMPLO)
Encendido de leds en PUERTO D
Objetivo: El alumno realizara la programacin correspondiente para encender los leds 0,1,3,5,7 conectados en el puerto D del
pic 16F887 .

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 20MHz
2 capacitores de 27pF
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.

Desarrollo de la Prctica:
1.- Arme el circuito de la siguiente figura en su tablilla de prototipos y calibre el voltaje a 5Vcd y alimente el circuito.
+5Vcd

C1

27pF R1 R2 R3 R4 R5 R6 R7 R8
X1 10k 10k 10k 10k 10k 10k 10k 10k
4MHz
U1
C2 13
OSC1/CLKIN RB0/INT
33
14 OSC2/CLKOUT RB1 34
1 35
MCLR/Vpp/THV RB2
27pF RB3/P GM 36
2 37
RA0/AN0 RB4
3 38
+5Vcd RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/P GC
5 40
RA3/AN3/VREF+ RB7/P GD
6
RA4/T0CKI
7 15
RA5/AN4/SS RC0/T 1OSO/T1CKI
16
RC1/T 1OSI/CCP2
R9 8 17
RE0/AN5/RD RC2/CCP1
10k 9 18
RE1/AN6/WR RC3/S CK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/S DO
RC6/T X/CK 25
RC7/RX/DT 26

19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
.
RD7/PSP7
470
PIC16F877
D1 D2 D3 D4 D5 D6 D7 D8
LED-B LUE
LED-B LUE
LED-BLUE
LED-BLUE
LED-B LUE
LED-B LUE
LED-B LUE
LED-BLUE

1.- Desarrolle el programa en lenguaje C y compilar dicho programa, posteriormente usando el programa PROTEUS simule su
circuito, si esta correcto transfiera el programa al pic y ejecute el programa.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
LISTADO DEL PROGRAMA

/*PRACTICA 1
ENCENDER LOS LED 0,1,3,5,7 DEL PUERTO D
*/
char Reg1;

void main()
{
TRISD = 0b00000000;
Reg1=0xAB;

while(1)
{

PORTD=Reg1;

}
}

Actividades Complementarias
1. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica, dar credibilidad a tu desarrollo de tus competencias adquiridas.
2. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Foto ejemplo

Prctica 2 (EJEMPLO)
Transferencia de datos entre registros
Objetivo: El alumno realizara la programacin correspondiente para manipular datos en los registros del PIC 16F887 .

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pf
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.

Desarrollo de la Prctica:
1.- Realice un programa que permita guardar el dato 3AH en la memoria de datos cuya direccin es 20H y el dato 5BH en la
direccin 21H, despus realice un intercambio de datos entre los registros 20H y 21H.

2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PIC SIMULATOR
simule su programa, reprtalo al profesor.

LISTADO DEL PROGRAMA

;PRACTICA 2
;ING. DEMETRIO MEZA ALDUCIN

LIST P=16F887
#INCLUDE <P16F887.INC>
__CONFIG _WDT_OFF & _CP_OFF & _CPD_OFF & _LVP_OFF & _XT_OSC

DATO1 EQU 20H


DATO2 EQU 21H
AUXILIAR EQU 22H

ORG 0
MOVLW 3AH
MOVWF DATO1
MOVLW 5BH
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
MOVWF DATO2
MOVF DATO1,W
MOVWF AUXILIAR
MOVF DATO2,W
MOVWF DATO1
MOVF AUXILIAR,W
MOVWF DATO2
END

Actividades Complementarias
3. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
4. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Prctica 3 (EJEMPLO)
Transferencia de datos entre registros
Objetivo: El alumno realizara la programacin correspondiente para manipular datos en los registros del PIC 16F887 .

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pf
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.

Desarrollo de la Prctica:
1.- Realice un programa que permita guardar el dato 3AH en la memoria de datos cuya direccin es 20H y el dato 5BH en la
direccin 21H, despus realice un intercambio de datos entre los registros 20H y 21H, posteriormente realice los ajustes al
programa de tal manera que el dato del registro con direccin 20H salga por el puerto B y el dato del registro 21H salga por el
puerto D.

2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PIC SIMULATOR
simule su programa, reprtalo al profesor.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
LISTADO DEL PROGRAMA

;PRACTICA 3
;ING. DEMETRIO MEZA ALDUCIN

LIST P=16F887
#INCLUDE <P16F887.INC>
__CONFIG _WDT_OFF & _CP_OFF & _CPD_OFF & _LVP_OFF & _XT_OSC

DATO1 EQU 20H


DATO2 EQU 21H
AUXILIAR EQU 22H

ORG 0
BSF STATUS,RP0
CLRF TRISB
CLRF TRISD
BCF STATUS,RP0
CLRF PORTB
CLRF PORTD
MOVLW 3AH
MOVWF DATO1
MOVLW 5BH
MOVWF DATO2
MOVF DATO1,W
MOVWF AUXILIAR
MOVF DATO2,W
MOVWF DATO1
MOVF AUXILIAR,W
MOVWF DATO2
MOVF DATO1,W
MOVWF PORTB
MOVF DATO2,W
MOVWF PORTD
END

Actividades Complementarias
5. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
6. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Prctica 4 (EJEMPLO)
MONITOREO DEL PUERTO B
Objetivo: El alumno realizara la programacin correspondiente para monitorear el puerto B y el resultado mostrarlo en el puerto D
del pic 16F887 .

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pF
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.

Desarrollo de la Prctica:
1.- Arme el circuito de la siguiente figura en su tablilla de prototipos y calibre el voltaje a 5Vcd y alimente el circuito.
+5Vcd

C1

27pF R1 R2 R3 R4 R5 R6 R7 R8
X1 10k 10k 10k 10k 10k 10k 10k 10k
4MHz
U1
C2 13
OSC1/CLKIN RB0/INT
33
14 OSC2/CLKOUT RB1 34
1 35
MCLR/Vpp/THV RB2
27pF RB3/P GM 36
2 37
RA0/AN0 RB4
3 38
+5Vcd RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/P GC
5 40
RA3/AN3/VREF+ RB7/P GD
6
RA4/T0CKI
7 15
RA5/AN4/SS RC0/T 1OSO/T1CKI
16
RC1/T 1OSI/CCP2
R9 8 17
RE0/AN5/RD RC2/CCP1
10k 9 18
RE1/AN6/WR RC3/S CK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/S DO
RC6/T X/CK 25
RC7/RX/DT 26

19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
.
RD7/PSP7
470
PIC16F877
D1 D2 D3 D4 D5 D6 D7 D8
LED-B LUE
LED-B LUE
LED-BLUE
LED-BLUE
LED-B LUE
LED-B LUE
LED-B LUE
LED-BLUE

2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PROTEUS simule su
circuito, si esta correcto transfiera el programa al pic y ejecute el programa.

LISTADO DEL PROGRAMA

;PRACTICA 4
/*MONITOREO DEL PUERTO B Y SE DESPLIEGA EN EL PUERTO D*/

void main()
{
ANSEL=0;
ANSELH=0;

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
TRISB=0XFF;
TRISD=0X00;
PORTD=0X00;

while(1)
{
PORTD=PORTB;
}
}

Actividades Complementarias
7. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
8. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Foto ejemplo

Prctica 5 (EJEMPLO)
OPERACIN DE SUMA
Objetivo: El alumno realizara la programacin correspondiente para monitorear el puerto B y con su contenido realizar la
operacin de suma con el dato 0Ah y el resultado mostrarlo en el puerto D del pic 16F887 .

PORTD = PORTB + 0AH

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pF
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.

Desarrollo de la Prctica:
1.- Arme el circuito de la siguiente figura en su tablilla de prototipos y calibre el voltaje a 5Vcd y alimente el circuito.
+5Vcd

C1

27pF R1 R2 R3 R4 R5 R6 R7 R8
X1 10k 10k 10k 10k 10k 10k 10k 10k
4MHz
U1
C2 13
OSC1/CLKIN RB0/INT
33
14 OSC2/CLKOUT RB1 34
1 35
MCLR/Vpp/THV RB2
27pF RB3/P GM 36
2 37
RA0/AN0 RB4
3 38
+5Vcd RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/P GC
5 40
RA3/AN3/VREF+ RB7/P GD
6
RA4/T0CKI
7 15
RA5/AN4/SS RC0/T 1OSO/T1CKI
16
RC1/T 1OSI/CCP2
R9 8 17
RE0/AN5/RD RC2/CCP1
10k 9 18
RE1/AN6/WR RC3/S CK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/S DO
RC6/T X/CK 25
RC7/RX/DT 26

19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
.
RD7/PSP7
470
PIC16F877
D1 D2 D3 D4 D5 D6 D7 D8
LED-B LUE
LED-B LUE
LED-BLUE
LED-BLUE
LED-B LUE
LED-B LUE
LED-B LUE
LED-BLUE

2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PROTEUS simule su
circuito, si esta correcto transfiera el programa al pic y ejecute el programa.

LISTADO DEL PROGRAMA

;PRACTICA 5
/*SUMA EL CONTENIDO DEL PUERTO B CON 0AH Y EL RESULTADO SE DESPLIEGA EN EL PUERTO D*/

void main()
{
ANSEL=0;
ANSELH=0;
TRISB=0XFF;
TRISD=0X00;
PORTD=0X00;

while(1)
{
PORTD=PORTB+0X0A;
}
}

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Actividades Complementarias
9. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
10. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Prctica 6 (EJEMPLO)
FUNCION ESPEJO
Objetivo: El alumno realizara la programacin correspondiente para obtener la funcin espejo en el puerto D del pic 16F887, el
nibble menos significativo ser de entrada y nibble ms significativo ser salida, permitiendo de esta manera monitorear el estado del
nibble de entrada en el nibble de salida.

TOME EN CUENTA LA SIGUIENTE FIGURA

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pF
Software PROTEUS
Software PIC SIMULATOR

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.

Desarrollo de la Prctica:
1.- Arme el circuito de la siguiente figura en su tablilla de prototipos y calibre el voltaje a 5Vcd y alimente el circuito.

+5Vc d

C1

27pF R5 R6 R7 R8
X1 10k 10k 10k 10k
4MHz
U1
C2 13
OSC1/ CLKIN RB0/INT
33
14 OSC2/ CLKOUT RB1 34
1 MCLR/ Vpp/THV RB2 35
27pF RB3/PGM 36
2 37
RA0/AN0 RB4
3 38
+5Vc d RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/PGC
5 RA3/AN3/VREF+ RB7/PGD 40
6 RA4/T 0CKI
7 RA5/AN4/SS RC0/T 1OSO/T 1CKI 15
RC1/T 1OSI/CC P2 16
R9 8
RE0/AN5/RD RC2/CCP1
17
10k 9 18
RE1/AN6/WR RC3/S CK/ SCL
10 23
RE2/AN7/CS RC4/S DI /SDA
RC5/SDO 24
RC6/TX/CK 25
RC7/RX/DT 26

19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
R14
RD4/PSP4
28 R15
RD5/PSP5
29
R16
100
RD6/PSP6
30 R17
100
RD7/PSP7 100
100
PIC16F877
D1 D2 D3 D4
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE

2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PROTEUS simule su
circuito, si esta correcto transfiera el programa al pic y ejecute el programa.

LISTADO DEL PROGRAMA

;PRACTICA 6
/*FUNCION ESPEJO EN EL PUERTO D*/
char Dato;
int i;
void main()
{
ANSEL=0;
ANSELH=0;

TRISD=0X0F;
TRISC=0X00;
PORTD=0X00;

while(1)
{
Dato=PORTD;
for (i=0; i<4; i++)
{
Dato <<=1;
}
PORTD=Dato;
}
}

Actividades Complementarias
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
11. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
12. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Prctica 7 (EJEMPLO)
SISTEMAS DE ALARMA
Objetivo: El alumno realizara la programacin correspondiente para resolver el problema de una alarma que funciona como
sigue:

Se activa el buzer conectado en RD5 siempre y cuando el sensor RB2 se active y deber mantenerse enclavado, y solo se detendr
cuando se active una accin de reset.

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pF
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
Desarrollo de la Prctica:
1.- Arme el circuito de la siguiente figura en su tablilla de prototipos y calibre el voltaje a 5Vcd y alimente el circuito.
+5Vcd

C1

27pF R1 R2 R3 R4 R5 R6 R7 R8
X1 10k 10k 10k 10k 10k 10k 10k 10k
4MHz
U1
C2 13
OSC1/CLKIN RB0/INT
33
14 OSC2/CLKOUT RB1 34
1 35
MCLR/Vpp/THV RB2
27pF 36
RB3/P GM
2 37
RA0/AN0 RB4
3 38
+5Vcd RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/P GC
5 40
RA3/AN3/VREF+ RB7/P GD
6
RA4/T0CKI
7 15
RA5/AN4/SS RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2 16
R9 8 RE0/AN5/RD RC2/CCP1 17
10k 9 18
RE1/AN6/WR RC3/S CK/SCL
10 23
RE2/AN7/CS RC4/S DI/SDA
24
RC5/S DO
25
RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
BUZ1
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
BUZZER
PIC16F877

2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PROTEUS simule su
circuito, si esta correcto transfiera el programa al pic y ejecute el programa.

LISTADO DEL PROGRAMA

/* PRACTICA 7
ALARMA EL BIT RD5 SE ACTIVA CUNADO EL BIT RB2 SE ACTIVA
*/

void main()
{

ANSEL=0;
ANSELH=0;
TRISB=0XFF;
TRISD=0X00;
PORTD=0X00;
while(1)
{
if(PORTB.F2==1)
{
PORTD.F5 = 1;

}
}

Actividades Complementarias
13. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
14. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Prctica 8 (EJEMPLO)
SISTEMAS DE ALARMA
Objetivo: El alumno realizara la programacin correspondiente para resolver el problema de una alarma que funciona como
sigue:

Se activa el buzer conectado en RD5 cuando cualquiera de los sensores RB0 ---RB7 se active y deber mantenerse enclavado, y solo
se detendr cuando se active una accin de reset.

NOTA: Use la bandera Z del registro STATUS para resolver este ejercicio y utilice la instruccin MOVF f,d

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pF
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
C1

27pF R1 R2 R3 R4 R5 R6 R7 R8
X1 330 330 330 330 330 330 330 330
4MHz
U1
C2 13 OSC1/CLKIN RB0/I NT 33
14 OSC2/CLKOUT RB1 34
1 MCLR/Vpp/T HV RB2 35
27pF RB3/PGM 36
2 37
RA0/AN0 RB4
+5Vc d 3 RA1/AN1 RB5 38
4 RA2/AN2/VREF- RB6/PGC 39
5 RA3/AN3/VREF+ RB7/PGD 40
6 RA4/T0CKI
7 15
RA5/AN4/SS RC0/T 1OSO/ T1CKI
RC1/T 1OSI/CCP2 16
R9 8 RE0/AN5/RD RC2/CCP1 17 +5Vcd
10k 9 RE1/AN6/WR RC3/SCK/ SCL 18
10 RE2/AN7/CS RC4/SDI/ SDA 23
24
RC5/SDO
25

1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.
RC6/T X/CK
RC7/RX/DT 26

RD0/PSP0 19
20
RD1/PSP1
RD2/PSP2 21
RD3/PSP3 22
27
RD4/PSP4
RD5/PSP5 28
29
RD6/PSP6
30
BUZ 1
RD7/PSP7

PIC16F877
BUZZER

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.

Desarrollo de la Prctica:
1.- Arme el circuito de la siguiente figura en su tablilla de prototipos y calibre el voltaje a 5Vcd y alimente el circuito.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PROTEUS simule su
circuito, si esta correcto transfiera el programa al pic y ejecute el programa.

LISTADO DEL PROGRAMA

/* PRACTICA 8
ALARMA EL BIT RD5 SE ACTIVA CUNADO CUALQUIERA DE LOS BITS RB0 -- RB7 SE ACTIVE
*/
char Dato;

void main()
{

ANSEL=0;
ANSELH=0;
TRISB=0XFF;
TRISD=0X00;
PORTD=0X00;
while(1)
{
Dato=PORTB.F0 | PORTB.F1 | PORTB.F2 | PORTB.F3 | PORTB.F4 | PORTB.F5 | PORTB.F6 |
PORTB.F7;

if(Dato==1)
{
PORTD.F5 = 1;
}

Actividades Complementarias
15. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
16. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Prctica 9 (EJEMPLO)
SISTEMAS DE ALARMA
Objetivo: El alumno realizara la programacin correspondiente para resolver el problema de una alarma que funciona como
sigue:

Resuelva el mismo problema de la alarma utilizando instrucciones lgicas, y se activara el buzer conectado en RD5 cuando se
presente la combinacin 00001011 en el puerto B y solo un reset fsico podr detener la alarma.

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pF
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
C1

27pF
instructor. R1 R2 R3 R4 R5 R6 R7 R8
X1 330 330 330 330 330 330 330 330
4MHz
U1
C2 13
OSC1/CLKIN RB0/INT
33
14 34
OSC2/CLKOUT RB1
1 35
MCLR/Vpp/THV RB2
27pF RB3/P GM 36
2 37
RA0/AN0 RB4
3 38
+5Vcd RA1/AN1 RB5

Desarrollo de la Prctica:
4 39
RA2/AN2/VREF- RB6/P GC
5 40
RA3/AN3/VREF+ RB7/P GD
6
RA4/T0CKI
7 15
RA5/AN4/SS RC0/T 1OSO/T1CKI
16 SW1 SW2 SW3 SW7 SW4 SW5 SW6 SW8
RC1/T 1OSI/CCP2
R9 8 17 SW-SPSTSW-SPSTSW-SPSTSW-SPST
SW-SPSTSW-SPSTSW-SPSTSW-SPST
RE0/AN5/RD RC2/CCP1 +5Vcd
9 18
10k RE1/AN6/WR RC3/S CK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/S DO
25
RC6/T X/CK
RC7/RX/DT 26

1.- Arme el circuito de la siguiente figura en su tablilla de prototipos y calibre el voltaje a 5Vcd y alimente el circuito.
RD0/PSP0 19
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4 BUZ1
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
BUZZER
PIC16F877

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PROTEUS simule su
circuito, si esta correcto transfiera el programa al pic y ejecute el programa.

LISTADO DEL PROGRAMA

/* PRACTICA 9
ALARMA EL BIT RD5 SE ACTIVA CUNADO EL CODIGO 00001011 SE PRESENTE
*/
char Dato;

void main()
{

ANSEL=0;
ANSELH=0;
TRISB=0XFF;
TRISD=0X00;
PORTD=0X00;
while(1)
{
Dato=PORTB.F0 & PORTB.F1 & PORTB.F3;

if(Dato==1)
{
PORTD.F5 = 1;
}

}
Actividades Complementarias
17. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
18. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Prctica 10 (EJEMPLO)
Oscilador de onda cuadrada de 50 Hz
Objetivo: El alumno realizara la programacin correspondiente para obtener una onda cuadrada simtrica de 50Hz en el Bit RD3
del puerto D

Trabajo previo:
1.- Investigar la hoja de datos del PIC 16F887

Material y equipo:
Tablilla proto board (tablilla de prototipos)
Multmetro digital auto rango
Cables Para Conexiones diversas (cable de interfon)
Fuente de alimentacin 0-30VCD
Pinzas de punta (tipo alicata chica)
PIC 16F887
8 Resistencias de 470 1/2 w
8 leds
8 Resistencias de 10k 1/2 w
8 sw tipo tecla
8 Resistencias de 330 1/2 w
Programador de pics va USB
Cristal 4MHz
2 capacitores de 27pF
Software PROTEUS
Software PIC SIMULATOR

Instrucciones:
1. Arme los circuitos en la tablilla protoboard y antes de energizarlos pida al instructor verifique las conexiones.

2. La prctica debe contener en el formato proporcionado por el instructor lo siguiente: El diagrama esquemtico, clculos,
mediciones realizadas.

3. anexe su investigacin previa a la prctica realizada e intgrelo a su portafolio de evidencias previamente evaluado por el
instructor.

Desarrollo de la Prctica:
1.- Estudie detenidamente los siguientes diagramas de flujo y realice las conexiones que se marcan en el siguiente diagrama y
haga uso del osciloscopio para medir la forma de onda obtenida.
C1

27 pF
X1
4MHz
U1
C2 13 OSC 1/CL KIN RB0 /IN T 33
14 OSC 2/CL KOU T R B1 34
1 35
MCL R/Vp p/TH V R B2
27 pF R B3/P GM 36
2 37
3 RA0 /AN0 R B4 38
+5Vc d RA1 /AN1 R B5
4 39
RA2 /AN2 /VREF- R B6/P GC
5 40
RA3 /AN3 /VREF+ R B7/P GD
6
RA4 /T0C KI
7 15
RA5 /AN4 /SS R C0/T 1OS O/T1C KI
16
RC1 /T1OSI/CCP 2
R9 8 RE0 /AN5 /RD RC2 /CCP 1 17
9 18
1 0k RE1 /AN6 /WR R C3/S CK/SC L
10 23
RE2 /AN7 /CS R C4/S DI/S DA
24
R C5/S DO
25
R C6/T X/CK
26
R C7/R X/DT
19
RD0 /PSP 0
RD1 /PSP 1 20
21
RD2 /PSP 2
22
R1
RD3 /PSP 3
27
RD4 /PSP 4 10 0 A
RD5 /PSP 5 28
RD6 /PSP 6
29 D1
RD7 /PSP 7 30 L ED-B LUE
B
PIC1 6F8 7 7

Como el oscilador es de 4 MHz tenemos


que: T=1/F entonces T=1/4x106 =250 nS
que dura un pulso y como una instruccin
ocupa 4 pulsos de reloj entonces el tiempo
por instruccin es Tintr=4(250 nS)= 1 S
entonces calculamos cuantas instrucciones
necesitamos para cubrir 10 mS tenemos
que:

Xinstr = 10ms/1S = 10000

Utilice la siguiente formula para calcular


los valores de los registros cont1 y
cont2 para la subrutina delay
Xinstr = 3(CONT1)(CONT2)
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
2.- Desarrolle el programa en ensamblador y compilar dicho programa, posteriormente usando el programa PROTEUS simule su
circuito, si esta correcto transfiera el programa al pic y ejecute el programa deber observarse la siguiente forma de onda en el
osciloscopio.

LISTADO DEL PROGRAMA

/* PRACTICA 10
OSCILADOR DE ONDA CUADRADA CON FRECUENCIA DE 50 Hz
*/

void main()
{

ANSEL=0;
ANSELH=0;

TRISD=0X00;
PORTD=0X00;
while(1)
{
PORTD.F5=1;
Delay_ms(10);
PORTD.F5=0;
Delay_ms(10);
}

Actividades Complementarias
19. Desarrolla tus propias conclusiones de lo que experimentaste en la prctica, inserta una fotografa de la
evidencia fsica de tu prctica dar credibilidad a tu desarrollo de tus competencias adquiridas.
20. Desarrolla de manera adecuada tu reporte de la prctica observando limpieza en el trabajo realizado, un
excelente reporte habla muy bien de ti pues aprenders a trabajar con pulcritud.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
PRACTICA 11
Realizar un programa y el circuito que permita controlar el semforo vehicular, de
acuerdo con el siguiente patrn en el crucero vehicular.

Tiempo 6 Seg. 2 Seg. 6 Seg. 2 Seg. 6 Seg. 2 Seg.

Lmpara sur/norte Verde Amarillo Rojo Verde Amarillo

Lmpara este/oeste Rojo Verde Amarillo Rojo

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

Verd Amarill Roj Verd Amarill Roj


e o o e o o

Semforo sur/norte Semforo este/oeste

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
PRACTICA 12
Realizar un programa y el circuito que permita controlar el crucero de un
peatn en una calle. Haga que la seal del peatn este constantemente en
rojo y la seal para los vehculos este constantemente en verde.

Cuando se presione el push botn, la seal del vehculo cambia a amarillo,


y despus de 2 segundos, la seal del vehculo cambia a rojo, y la seal del
peatn cambia a verde al mismo tiempo.

Despus de 10 segundos la seal del peatn que ha estado en verde cambia


a rojo, y despus de 2 segundos, la seal de los vehculos regresa a la
condicin previa de presionar el push botn y espera nuevamente para ser
presionado.

Tiempo . 2 Seg. 10 Seg. 2 Seg.

Seal del vehculo Verde Amarillo Rojo Verde

Seal del peatn Rojo Verde Rojo

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

Verd Roj Verd Amarill Roj


e o e o o

Semforo de peatn Semforo vehicular

PORTB

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0

Botn del peatn

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
PRACTICA 13

Realizar un programa y el circuito que permita rotar el dato 01H en el puerto


D de manera infinita. Controle la rotacin para que el 1 lgico se rote de la
posicin Bit 0 al Bit 7. Utilice la instruccin de rotacin RLF f,d, debe
considerar que la rotacin es atreves del carry (C) por lo que hay que
considerarlo al momento de programar. No se debe perder ningn tiempo
dentro del carry, es decir cuando el 1 llegue al Bit 7 contine
inmediatamente con el Bit 0 y as sucesivamente.

REGISTRO STATUS PORTD

IRP RP1 RP0 TO PD Z DC C RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

RLF f,d

DC C RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

0 0 0 0 0 0 0 1

0 0 0 0 0 0 1 0

0 0 0 0 0 1 0 0

0 0 0 0 1 0 0 0

0 0 0 1 0 0 0 0

0 0 1 0 0 0 0 0

0 1 0 0 0 0 0 0

1 0 0 0 0 0 0 0

PRACTICA 14

Realizar un programa y el circuito que permita rotar el dato 01H en el puerto

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
D a la izquierda y cuando llegue al Bit 7 se realice la rotacin a la derecha de
la posicin del Bit 7 al Bit 0. Repita el proceso de izquierda a derecha de
manera cclica utilizando las instrucciones de rotacin.

NOTA: No se debe perder ningn tiempo dentro del carry.

REGISTRO STATUS PORTD

IRP RP1 RP0 TO PD Z DC C RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

RLF f,d

REGISTRO STATUS PORTD

IRP RP1 RP0 TO PD Z DC C RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

RRF f,d

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

0 0 0 0 0 0 0 1

0 0 0 0 0 0 1 0

1 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0

0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 1

PRACTICA 15

Realizar un programa y el circuito que permita llenar el puerto D de 1es


decir llene de unos de manera secuencial del Bit 0 al Bit 7. Y despus realice
el vaciado o apagado de bits de izquierda a derecha del Bit 7 al Bit 0. Repita
el proceso de izquierda a derecha de manera cclica utilizando las
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
instrucciones de rotacin.

NOTA: No se debe perder ningn tiempo dentro del carry.

REGISTRO STATUS PORTD

IRP RP1 RP0 TO PD Z DC C RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

RLF f,d

REGISTRO STATUS PORTD

IRP RP1 RP0 TO PD Z DC C RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

RRF f,d

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

0 0 0 0 0 0 0 1

0 0 0 0 0 0 1 1

0 0 0 0 0 1 1 1

1 1 1 1 1 1 1 1

0 1 1 1 1 1 1 1

0 0 1 1 1 1 1 1

0 0 0 0 0 0 1 1

0 0 0 0 0 0 0 1

PRACTICA 16

Realizar un programa y el circuito que permita ejecutar las secuencias de


encendido y apagado de los leds conectados al puerto C similar al de una
torreta de patrulla policiaca, utilice leds de color azul y rojo ultra brillante
para mejorar el efecto.

NOTA: utilice el cdigo proporcionado por el profesor y solamente adptalo


para el microcontrolador que trabajas.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
LIST P=16F84A
#INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC

CONTA1 EQU 0X0C


CONTA2 EQU 0X0D
CONTA3 EQU 0X0E
DATO EQU 0X0F
DATO2 EQU 0X10
DATO3 EQU 0X11

ORG 00
BSF STATUS,RP0
CLRF TRISB
BCF STATUS,RP0
CLRF PORTB
MOVLW .125
CALL TIMER
INICIO MOVLW .10
MOVWF DATO
CICLO2 MOVLW .4
MOVWF DATO2
LOOP MOVLW 0X0F
MOVWF PORTB
MOVLW .1
CALL TIMER
CLRF PORTB
MOVLW .1
CALL TIMER
DECFSZ DATO2,1
GOTO LOOP
MOVLW .4
MOVWF DATO2
CICLO MOVLW 0XF0
MOVWF PORTB
MOVLW .1
CALL TIMER
CLRF PORTB
MOVLW .1
CALL TIMER
DECFSZ DATO2,1
GOTO CICLO
DECFSZ DATO,1
GOTO CICLO2
MOVLW .10
MOVWF DATO
LOOP2 MOVLW 0XF0
MOVWF PORTB
MOVLW .5
CALL TIMER
MOVLW 0X0F
MOVWF PORTB
MOVLW .5
CALL TIMER
DECFSZ DATO,1
GOTO LOOP2
MOVLW .10
MOVWF DATO
LOOP3 MOVLW 0X3C
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X66
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0XC3
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X81
MOVWF PORTB
MOVLW .2
CALL TIMER
CLRF PORTB
MOVLW .2
CALL TIMER
DECFSZ DATO,1
GOTO LOOP3
MOVLW .10
MOVWF DATO
LOOP4 MOVLW 0X18
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X24
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X42
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X81
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X42
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X24
MOVWF PORTB
MOVLW .2
CALL TIMER
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
DECFSZ DATO,1
GOTO LOOP4
MOVLW .10
MOVWF DATO
CICLO20 MOVLW .10
MOVWF DATO2
LOOP30 MOVLW 0X0F
MOVWF PORTB
MOVLW .1
CALL TIMER2
CLRF PORTB
MOVLW .1
CALL TIMER2
DECFSZ DATO2,1
GOTO LOOP30
MOVLW .10
MOVWF DATO2
CICLO10 MOVLW 0XF0
MOVWF PORTB
MOVLW .1
CALL TIMER2
CLRF PORTB
MOVLW .1
CALL TIMER2
DECFSZ DATO2,1
GOTO CICLO10
DECFSZ DATO,1
GOTO CICLO20
MOVLW .10
MOVWF DATO
INICIO2 CLRF DATO3
BUCLE MOVF DATO3,0
MOVWF PORTB
RLF DATO3,1
BSF DATO3,0
MOVLW .1
CALL TIMER
movf DATO3,W
ANDLW b'11111111'
Xorlw b'01111111'
BTFSS STATUS,Z
GOTO BUCLE
MOVLW 0XFF
MOVWF DATO3
BUCLE2 MOVF DATO3,0
MOVWF PORTB
RRF DATO3,1
BCF DATO3,7
MOVLW .1
CALL TIMER
movf DATO3,W
ANDLW b'11111111'
Xorlw b'00000000'
BTFSS STATUS,Z
GOTO BUCLE2
DECFSZ DATO,1
GOTO INICIO2
MOVLW .10
MOVWF DATO
BCF STATUS,C
INICIO4 MOVLW 0X01
MOVWF DATO3
BUCLE11 MOVF DATO3,0
MOVWF PORTB
RLF DATO3,1
MOVLW .1
CALL TIMER
movf DATO3,W
ANDLW b'11111111'
Xorlw b'10000000'
BTFSS STATUS,Z
GOTO BUCLE11
MOVLW 0X80
MOVWF DATO3
BUCLE22 MOVF DATO3,0
MOVWF PORTB
RRF DATO3,1
MOVLW .1
CALL TIMER
movf DATO3,W
ANDLW b'11111111'
Xorlw b'00000001'
BTFSS STATUS,Z
GOTO BUCLE22
DECFSZ DATO,1
GOTO INICIO4
MOVLW .10
MOVWF DATO
LOOP6 MOVLW 0X00
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X81
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0XC3
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0XE7
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0XFF
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0XE7
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0XC3
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X81
MOVWF PORTB
MOVLW .2
CALL TIMER
DECFSZ DATO,1
GOTO LOOP6
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
MOVLW .10
MOVWF DATO
LOOP7 MOVLW 0X00
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X18
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X3C
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X7E
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0XFF
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X7E
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X3C
MOVWF PORTB
MOVLW .2
CALL TIMER
MOVLW 0X18
MOVWF PORTB
MOVLW .2
CALL TIMER
DECFSZ DATO,1
GOTO LOOP7
GOTO INICIO
TIMER MOVWF CONTA1
L3 MOVLW .80
MOVWF CONTA2
L2 MOVLW 0XFF
MOVWF CONTA3
L1 DECFSZ CONTA3,F
GOTO L1
DECFSZ CONTA2,F
GOTO L2
DECFSZ CONTA1,F
GOTO L3
RETURN
TIMER2 MOVLW .40
MOVWF CONTA1
L20 MOVLW 0XF0
MOVWF CONTA2
L10 DECFSZ CONTA2,F
GOTO L10
DECFSZ CONTA1,F
GOTO L20
RETURN
END

PRACTICA 17

MOTORES A PASOS

El control de motores en la prctica resulta inevitable, a nuestro alrededor existen innumerables


equipos que trabajan por medio de la accion de los motores de CD, CA, Motores a pasos o
servomotores.

El control de los motores a paso resulta bastante fcil atreves del uso de microcontroladores, ya
que el microcontrolador puede dar fcilmente las secuencias de alimentacin en las bobinas del
motor atreves de un acoplamiento de potencia. La secuencia depende del tipo de motor a pasos,
los hay del tipo unipolar y del tipo bipolar, el ms simple de controlar es el unipolar. Observe la

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
siguiente figura.

El modo de alimentar las bobinas del motor puede ser de tres formas; excitacin a 1 fase,
excitacin a 2 fases y excitacin a 1 2 fases. A continuacin se muestran las tablas de los
modos de excitacin:
EXCITACIN 1 FASE EXCITACIN 2 FASES EXCITACIN 1-2 CONTINUACION 1-2
FASES FASES

CK 1 2 3 4 CK 1 2 3 4 CK 1 2 3 4 CK 5 6 7 8

A 0 0 0 1 A 0 0 1 1 A 0 0 1 1 A 1 1 0 0

B 0 0 1 0 B 0 1 1 0 B 0 O 1 0 B 1 0 0 0

A 0 1 0 0 A 1 1 0 0 A 0 1 1 0 A 1 0 0 1

B 1 0 0 0 B 1 0 0 1 B 0 1 0 0 B 0 0 0 1

Una forma muy simple pero muy efectiva de conectar un motor con un microcontrolador es
como se muestra a continuacin. Observe que los diodos se utilizan como dispositivos de
proteccin para drenar y diluir la fuerza contraelectromotriz que se genera en las bobinas del
motor cuando estas son desenergizadas y as evitar que se daen los transistores y como
consecuencia el microcontrolador.
+12 V

C1

27pF
X1
4MHz U1
C2 L1 L2 L3 L4
13
OS C1/CLK I N RB 0/INT
33 D1 1mH D2 1mH D3 1mH D4 1mH
14 OS C2/CLK OUT RB 1 34
1 35
MCLR/V pp/THV RB 2
27pF RB 3/P GM 36
2 37
RA 0/A N0 RB 4
+5Vc d 3 RA 1/A N1 RB 5 38
4 39
RA 2/A N2/ V RE F- RB 6/P GC
5 RA 3/A N3/ V RE F+ RB 7/P GD 40
6 RA 4/T 0CKI Q1 Q2 Q3 Q4
7 RA 5/A N4/ S S RC0/T 1OS O/T1CK I 15 T IP 122 T IP 122 TIP122 TI P 122
RC1/T 1OS I /CCP 2 16
R9 8
RE 0/A N5/ RD RC2/CCP1
17
10k 9 RE 1/A N6/ WR RC3/S CK/ SCL 18 R1 R2 R3 R4
10 23
RE 2/A N7/ CS RC4/S DI /S DA 2. 2K 2.2K 2.2K 2.2K
RC5/S DO 24
25
RC6/T X/ CK
RC7/RX/ DT 26

RD0/P S P0 19
20
RD1/P S P1
RD2/P S P2 21
22
RD3/P S P3
RD4/P S P4 27
RD5/P S P5 28
RD6/P S P6 29
30
RD7/P S P7
P IC16F877

Realice los programas que le permitan controlar los dos motores que
se encuentran conectados en el puerto D del pic16F887, disee el
programa para cada una de las secuencias de giro que se piden en
las siguientes figuras.
NOTA: si es posible puede hacer un solo programa que mediante
lneas de seleccin ubicadas en el puerto B, seleccione cada una de
las secuencias de los motores ( es decir realizar 8 programas dentro
de un programa principal).

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
MOTOR 1 MOTOR 2 MOTOR 1 MOTOR 2

MOTOR 1 MOTOR 2 MOTOR 1 MOTOR 2

MOTOR 1 MOTOR 2 MOTOR 1 MOTOR 2

MOTOR 1 MOTOR 2 MOTOR 1 MOTOR 2

PRACTICA 18

Realice un programa que permita controlar la rotacin del motor a pasos nmero 1 de
4 fases en sentido CCW, la rotacin se inicia cuando se presiona el Bit 2 del puerto B y
si se presiona cuando est rotando el motor deber parar, es decir el Bit ser de
arranque y paro.

PORTB

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0


Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
START / STOP

MOTOR 1

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

MOTOR 2 MOTOR 1

PRACTICA 19

Realice un programa que permita controlar la rotacin del motor a pasos nmero 1 de
4 fases conectado al puerto D, de acuerdo al estado del puerto B: el Bit 0 controla el
arranque/paro del motor, el Bit 1 controla el sentido CW, el Bit 2 controla el sentido
CCW.

PORTB

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0


Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
CCW CW START / STOP

MOTOR 1

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

MOTOR 2 MOTOR 1

PRACTICA 20

Realice un programa que permita controlar la velocidad del motor a pasos nmero 1
de 4 fases conectado al puerto D, que gira en CCW, mediante el puerto B se debe
controlar como sigue: el Bit 0 incrementa la velocidad del motor, el Bit 1 decrementa la
velocidad del motor.

NOTA: cuando llegue a sus lmites, mximo y mnimo de velocidad, no permitir su


desbordamiento.

PORTB

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0

INCREMENTA VEL.

DECREMENTA VEL.

MOTOR 1

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

MOTOR 2 MOTOR 1

PRACTICA 21
Realice un programa que permita controlar el nmero de pasos que dar el motor a
pasos nmero 1, con los Bits 0 al Bit 6 se controla el nmero de pasos, y el sentido de
giro se controla con el Bit 7 del puerto B, ejemplo:

PORTB

1 1 1 1 0 1 0 0

NUMERO DE PASOS 1 -128


0 ... DIRECCION CCW
1 ... DIRECCION CW
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
NOTA: en el ejemplo anterior el motor gira en sentido CW y dar 116 pasos y se
detendr.

PORTB

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0

NUMERO DE PASOS 1 -128


0 ... DIRECCION CCW
1 ... DIRECCION CW

MOTOR 1

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

MOTOR 2 MOTOR 1

PRACTICA 22

Realice un programa que permita controlar los 2 motores a pasos, mediante seales
de entrada del puerto B, ejemplo:

PORTB

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0

1 1 1 1 0 1 0 0

NUMERO DE PASOS
0 .. DIRECCION CCW
1 DIRECCION CW

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
0 ... MOTOR 1
1 ... MOTOR 2

NOTA: en el ejemplo anterior el motor 2 gira en sentido CW y dar 26 pasos y se


detendr.

MOTOR 1

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

MOTOR 2 MOTOR 1

PRACTICA 23

Realice un programa que permita controlar los 2 motores a pasos, mediante seales
de entrada del puerto B, del PIC16F887 ejemplo:

PORTB

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0

X X X X X X 0 0

0 0 ROTA MOTOR 1 EN CW
0 1 ROTA MOTOR 2 EN CCW
1 0 ROTA MOTOR 1 EN CCW
1 1 ROTA LOS 2 MOTORES EN CW
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
MOTOR 2 MOTOR 1

PORTD

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0

MOTOR 2 MOTOR 1

PRACTICA 24

Realice un programa que permita controlar un display de 7 segmentos conectados al


puerto C de tal forma que podamos visualizar en el display un contador de 0 al 9.
Utilice un solo display de ctodo comn como se muestra en la figura.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Por ejemplo si se desea obtener el cdigo del digito 0 se escribe como sigue:
PORTC

RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0

cc g f e d c b a

0 0 1 1 1 1 1 1

3 F

El dato que debemos escribir para exhibir el 0 es 3FH y as sucesivamente

Utilice el siguiente diagrama de conexiones y manipule el bit 7 del puerto C para que
encienda el primer digito, recuerde poner en serie una resistencia limitadora a cada
segmento del display.

RC6 - RC0

Q1
Q2
RC7 BC547

BC557

PRACTICA 25

Realice un programa que permita crear un dado electrnico, cuando se presiona un


botn conectado en RB5, se deber detener en un numero aleatorio entre 1 y 6
mostrndolo en el display de 7 segmentos conectado en el puerto C.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
Utilice el siguiente diagrama de conexiones y manipule el bit 7 del puerto C para que
encienda el primer digito, recuerde poner en serie una resistencia limitadora a cada
segmento del display.

RC6 - RC0

Q1

Q2
RC7 BC547

BC557

PRACTICA 26

Realice un programa que permita controlar los dos display de 7 segmentos


conectados al puerto C para realizar un contador de 00 hasta 99, el control debe ser
multiplexado mediante el bit 7 del puerto C, habilite los dos display por medio de los
transistores como lo muestra el diagrama.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
RC6 - RC0

Q1

Q2
RC7 BC547

BC557

PRACTICA 27

El siguiente programa proporcionado por el profesor permite controlar los cuatro


display de 7 segmentos conectados al puerto B para realizar un contador de 0000
hasta 9999 mediante el uso de interrupciones que nos permite contar eventos
externos activando el pin RB0/INT, el control debe ser multiplexado mediante los bits
del puerto D, habilite los cuatro display por medio de los transistores como lo muestra
el diagrama.

NOTA: el codigo del programa fue realizado para trabajar con el PIC16F84A, analice dicho
codigo y haga las correcciones ncesarias para que trabaje con el PIC16F887 segn las
conexiones del diagrama esquematico, checa el data sheet para estudiar los registros

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
involucrados para este ejercicio.

+5V

R14 R15 R16 R17


10k 10k 10k 10k

R19
10k

C1

27pF
X1
CRYST AL
C2
U2
27pF +5V 13 OSC1/CLKIN RB0/INT 33
R2 Q4 Q3 Q2 Q1
14 34
1
OSC2/CLKOUT RB1
35 R3 BC557 BC557 BC557 BC557
MCLR/Vpp/THV RB2
36
R4
330
RB3/PGM R5
330
2 37
3
RA0/AN0 RB4
38
R6
330
RA1/AN1 RB5 R7
330 R13 R12 R10 R9
R1 4
RA2/AN2/VREF- RB6/PGC
39
R8
330 1K 1K 1K 1K
5 40
10k RA3/AN3/VREF+ RB7/PGD 330
6 RA4/T 0CKI 330
+5V

7 RA5/AN4/SS RC0/T 1OSO/T1CKI 15


16
RC1/T 1OSI/CCP2
8 17
RE0/AN5/RD RC2/CCP1
9 18
RE1/AN6/WR RC3/SCK/SCL
10 RE2/AN7/CS RC4/SDI/SDA 23
24
RC5/SDO
25
RC6/T X/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
RD3/PSP3 22
RD4/PSP4 27
28
RD5/PSP5
29
RD6/PSP6
RD7/PSP7 30

PIC16F877

list p=16F84a
#include <p16F84a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC

CONT3 EQU 20H


VEL EQU 0AH
DIGIT0 EQU 10H
DIGIT1 EQU 11H
DIGIT2 EQU 12H
DIGIT3 EQU 13H
CAMBIO EQU 14H
CONT1 EQU 15H
CONT2 EQU 16H
SEG EQU .70

org 0
goto inicio
org 4
goto interrup

;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

inicio BSF STATUS,RP0 ;Banco 1


MOVLW 0X01
MOVWF TRISB
MOVLW 0X00
MOVWF TRISA
MOVLW 0X90
MOVWF INTCON
BCF STATUS,RP0 ;Banco 0
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
CLRF PORTB
CLRF PORTA
MOVLW VEL
MOVWF CAMBIO
ORIGEN CLRF DIGIT0
CLRF DIGIT1
CLRF DIGIT2
CLRF DIGIT3

LOOP BSF PORTA,0


MOVF DIGIT0,W
CALL DATO
MOVWF PORTB
MOVLW .1
CALL DELAY
BCF PORTA,0
BSF PORTA,1
MOVF DIGIT1,W
CALL DATO
MOVWF PORTB
MOVLW .1
CALL DELAY
Instructor: ING. DEMETRIO MEZA ALDUCIN
MECATRONICA AREA DE CONTROL
BCF PORTA,1
BSF PORTA,2
MOVF DIGIT2,W
CALL DATO
MOVWF PORTB
MOVLW .1
CALL DELAY
BCF PORTA,2
BSF PORTA,3
MOVF DIGIT3,W
CALL DATO
MOVWF PORTB
MOVLW .1
CALL DELAY
BCF PORTA,3
DECFSZ CAMBIO,F
GOTO LOOP
MOVLW VEL
MOVWF CAMBIO
GOTO LOOP
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@ RURTINA DE TIEMPO @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

DELAY MOVWF SEG


DELAY1 MOVLW .4
MOVWF CONT1
LOOPXX MOVLW 0FFH
MOVWF CONT2
LOOPX DECFSZ CONT2,F
GOTO LOOPX
DECFSZ CONT1,F
GOTO LOOPXX
DECFSZ SEG,F
GOTO DELAY1
RETURN

;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@ RURTINA DE RETARDO PARA INT @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

RETARDO MOVLW 0XFF


MOVWF CONT3
DEC DECFSZ CONT3,1
GOTO DEC
RETURN

;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@@@ INTERRUPCION EXTERNA @@@@@@@@@@@@@@@@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

interrup CALL RETARDO


BCF INTCON,INTF
INCF DIGIT0,F
MOVLW 0AH
XORWF DIGIT0,W
BTFSS STATUS,Z
RETFIE
CLRF DIGIT0
INCF DIGIT1,F
MOVLW 0AH
XORWF DIGIT1,W
BTFSS STATUS,Z
RETFIE
CLRF DIGIT1
INCF DIGIT2,F
MOVLW 0AH
XORWF DIGIT2,W
BTFSS STATUS,Z
RETFIE
CLRF DIGIT2
INCF DIGIT3,F
MOVLW 0AH
XORWF DIGIT3,W
BTFSS STATUS,Z
RETFIE
GOTO ORIGEN
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@ TABLA DE DATOS PARA EL DISPLAY @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
DATO ADDWF PCL,F
RETLW 0X7E;0
RETLW 0X0C;1
RETLW 0XB6;2
RETLW 0X9E;3
RETLW 0XCC;4
RETLW 0XDA;5
RETLW 0XFA;6

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
RETLW 0X0E;7
RETLW 0XFE;8
RETLW 0XDE;9
END

PRACTICA 28

Realice un programa utilizando el convertidor anlogo/digital del PIC16F887, monitor


una seal analgica proporcionada por un potencimetro conectado como divisor de
voltaje, es decir puede proporcionar un voltaje de 0v hasta 5v. La seal se recibir en
la entrada analgica AN0 del puerto A, el resultado de la conversin ser mostrado en
el puerto D.

NOTA: estudie el DATA SHEET del PIC16F887 en el captulo conversor


anlogo/digital para resolver este ejercicio.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
PRACTICA 29

Realice un programa utilizando el convertidor anlogo/digital del PIC16F887, monitor


una seal analgica proporcionada por un sensor de temperatura conectado con un
amplificador no inversor para ajustar la ganancia de voltaje, es decir puede
proporcionar un voltaje de 0v hasta 5v. la seal se recibir en la entrada analgica
AN2 del puerto A, el resultado de la conversin ser mostrado en el puerto D.

NOTA: observe el siguiente diagrama.

C1

22pF
+5v
100K
X1 U1
13 33
CRYST AL OSC1/CLKIN RB0/INT
14 34 POT
OSC2/CLKOUT RB1
C2 1
MCLR/Vpp/THV RB2
35
U2
36
RB3/PGM
4
5

2
3
RA0/AN0 RB4 37
38
R11 R9 2
22pF +5V RA1/AN1 RB5 1k
4 39 6
RA2/AN2/VREF- RB6/PGC 10k
5 40 3
RA3/AN3/VREF+ RB7/PGD +5v
6 RA4/T 0CKI
7 RA5/AN4/SS RC0/T 1OSO/T 1CKI 15 R10
7
1

16
RC1/T 1OSI/CCP2 LM741 10k
R17 8 17 D9
RE0/AN5/RD RC2/CCP1
10k 9 18 LM35
RE1/AN6/WR RC3/SCK/SCL
10 RE2/AN7/CS RC4/SDI/SDA 23
24
RC5/SDO
25
RC6/TX/CK
RC7/RX/DT 26

19 R1
RD0/PSP0 R2
20
RD1/PSP1
21
R3
100
RD2/PSP2 R4
100
22
RD3/PSP3
27
R5
100
RD4/PSP4
28 R6
100
RD5/PSP5
29
R7
100
RD6/PSP6
30
R8
100
RD7/PSP7 100
100
PIC16F877
D1 D2 D3 D4 D5 D6 D7 D8
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN

C1

22pF

X1 U1
CRYSTAL 13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
C2 1
MCLR/Vpp/THV RB2
35
36
RB3/PGM
2 37
RA0/A N0 RB4
22pF 3 38
+5V RA1/A N1 RB5
4 39
RA2/A N2/VREF- RB6/PGC
5 RA3/A N3/VREF+ RB7/PGD 40
6
RA4/T 0CKI
7 RA5/A N4/SS RC0/T1OSO/T1CKI 15
16
RC1/T1OSI/CCP2
R17 8 17
RE0/A N5/RD RC2/CCP1
9 18
10k RE1/A N6/WR RC3/SCK/SCL
10 23
RE2/A N7/CS RC4/S DI/SDA
24
RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT

PRACTICA 30
19
R1
RD0/P SP0
20
R2
RD1/P SP1
21
R3
100
RV1 RD2/P SP2
22
R4
100
RD3/P SP3
27
R5
100
RD4/P SP4
28
R6
100
RD5/P SP5
29 R7
100
RD6/P SP6 100
30
RD7/P SP7 100
PIC16F877
POT

Realice un programa utilizando el convertidor anlogo/digital del PIC16F887, monitor


una seal analgica proporcionada por un potencimetro conectado como divisor de
voltaje, es decir puede proporcionar un voltaje de 0v hasta 5v. La seal se recibir en
la entrada analgica AN3 del puerto A, el resultado de la conversin ser mostrado en
un display de 7 segmentos conectado en el puerto D, el resultado que se despliega
ser el voltaje ledo de la entrada.

NOTA: observe el siguiente diagrama.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
+ 5v

R1 R2 R3 R4 R5 R7 R8 R9
1 0k 10k 1 0k 10 k 10 k 1 0k 10k 1 0k

LCD1

PRACTICA 31
C1
LM016L
U1
27 pF 13 33
OSC 1/C LKIN R B0/INT
X1 14
OSC 2/C LKOUT RB1
34
1 35
C RYS TAL MCL R/V pp/T HV RB2
C2 R B3/ PGM
36
2 37
RA0 /AN 0 RB4
VDD
VSS

VEE

3 38
RW
RS

+5 V RA1 /AN 1 RB5


D0
D1
D2
D3
D4
D5
D6
D7
E

27 pF 4 39
RA2 /AN 2/ VRE F- R B6/ PGC
5 40
RA3 /AN 3/ VRE F+ R B7/ PGD
1
2
3

4
5
6

7
8
9
10
11
12
13
14

6
RA4 /T0 CKI
7 15
RA5 /AN 4/ SS RC0 /T1OSO/T 1C KI
16
R C1/T 1OS I /C CP2
R6 8
RE0 /AN 5/ RD R C2/C CP1
17
10k 9 18
RE1 /AN 6/ WR RC3/ SC K/SCL
10 23
RE2 /AN 7/ CS RC4 /SD I/SD A + 5V
24
R C5/ SDO
25
RC6 /TX /C K
26
RC7 /RX /D T

19
R D0/P SP0 +12v
20
R D1/P SP1
21
R D2/P SP2
22
R D3/P SP3
27
R D4/P SP4
28
R D5/P SP5
29 + 88 .8
R D6/P SP6

Realice la programacin correspondiente para controlar un pantalla LCD de 16X2


30
R D7/P SP7

PIC16F87 7

lneas, se deber desplegar un mensaje de bienvenida y 5 segundos despus se


despliegue otro mensaje donde se den instrucciones que botones deber oprimir para
controlar el encendido de un motor a pasos. Utilice el puerto C y el puerto E del
PIC16F887 para controlar la LCD y el puerto D para conectar el motor, el puerto B se
utilizara como entrada para conectar los push botn. Basarse en el siguiente
diagrama.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
PRACTICA 32

Realice la programacin correspondiente para generar una seal de PWM


(modulacin por ancho de pulso) en el pin RD0 del PIC16F887, si se oprime el botn
conectado en RB1 el ancho del pulso aumenta y si se oprime el botn conectado en
RB2 en ancho del pulso disminuye, evite que se presente el desbordamiento. La seal
generada controlar la velocidad de un motor de cd conectado en el pin RD7. Basarse
en el siguiente diagrama:

+5v
C1
U1
27pF 13 33
OSC1/CLKIN RB0/INT
X1 14 34
OSC2/CLKOUT RB1
CRYSTAL 1 35 R2 R3
MCLR/Vpp/THV RB2
C2 RB3/PGM
36
10k 10k
2 37
RA0/A N0 RB4
3 38
+5V RA1/A N1 RB5
27pF 4 39
RA2/A N2/VREF- RB6/PGC
5 40
RA3/A N3/VREF+ RB7/PGD
6
RA4/T 0CKI
7 RA5/A N4/SS RC0/T1OSO/T1CKI 15 +12v
16
RC1/T1OSI/CCP2
R6 8 17
RE0/A N5/RD RC2/CCP1
10k 9 18
RE1/A N6/WR RC3/SCK/SCL
10 23
RE2/A N7/CS RC4/S DI/SDA
24
RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT

RD0/P SP0 19
RD1/P SP1 20
RD2/P SP2 21 ?
22
RD3/P SP3
RD4/P SP4
27
R1 Q1
28
RD5/P SP5 TIP122
29
RD6/P SP6 10k
30
RD7/P SP7

PIC16F877

PRACTICA 33

Realice la programacin correspondiente para resolver el problema de un maquina contadora de


piezas de una banda transportadora. La mquina deber trabajar bajo el siguiente criterio.

1.- Al encender el circuito. Se debe desplegar un mensaje "BIENVENIDO" en el LCD 16X2 y debe
durar 8 seg.

2.- Debe preguntar mediante el mensaje "CUANTAS PIEZAS?=" se van a empacar

3.- Mediante el teclado matricial se debe especificar el nmero de piezas que van desde 1 hasta 10000 y
se deber exhibir en el LCD con una duracin de 5 seg.

4.- Una vez escrita la cantidad, el sistema pedir que se oprima una tecla que funciona como ENTER
mediante el mensaje "OPRIMA ENTER" (esquina inferior derecha del teclado)

5.- Despus de 3 seg. el sistema pondr un 1 lgico en el pin RA3 del pic y mostrara el siguiente mensaje
"TRABAJANDO" en la linea 1 del LCD

6.- Cuando una pieza sea detectada por el sensor conectado a RA4 el sistema registrara un conteo
ascendente mostrndose en el LCD en la linea 2

7.- Cuando el conteo llegue a la cantidad establecida anteriormente el sistema pondr un 0 lgico en RA3 y

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
dejara de contar.

8.- Cuando en cualquier momento se oprima el botn conectado a RA5 el sistema se pondr en modo de
pausa poniendo un 0 lgico en RA3 y dejara de contar, y si se oprime nuevamente se restablece el
funcionamiento normal.

+5 V

R8
10k

C1 LCD1
U1 LM016L
9 OSC1/CLKI N RB0 /I NT 21
27pF 10 22
OSC2/CLKOUT RB1
X1 1
MCLR/V pp/T HV RB2
23
24
CRY ST AL RB 3/ PGM
C2 2
RA0/ AN0 RB4
25
3 26
RA1/ AN1 RB5
V DD
V SS

V EE

4 27
RW
RS

D0
D1
D2
D3
D4
D5
D6
D7

+5V RA2/ AN2/ VREF- RB 6/ PGC


E

27pF 5 28
RA3/ AN3/ VREF+ RB 7/ PGD
6
RA4/ T0 CKI
1
2
3

4
5
6

7
8
9
10
11
12
13
14

7 11
RA5/ AN4/ SS RC0 /T 1OS O/T 1CK I
12
RC1/T 1OS I /CCP 2
13
RC2 /CCP1
R6 RC3/ SCK/ SCL
14
10k 15
RC4/ SDI/ SDA
16
RC5/ SDO +5V
17
RC6/ TX /CK
18
RC7/ RX /DT

P IC 16F873

+5V

+5 V

R3
R7 10k
U2:B
10k
U2:A 5
R5
1 4
33 0
3 6
2 D1
4093 R1 L ED-Y E LLOW
4093 330

D2
LE D-YE LLOW

PRACTICA 34
Realice un programa que mediante un control remoto de televisin SONY,
PANASONIC, SHARP, ETC. Se controle un motor a pasos conectado en el puerto D
de la siguiente manera:

TECLA DE POWER enciende o apaga el motor

TECLA DE CHANEL + gira en sentido CW

TECLA DE CHANEL - gira en sentido CCW

TECLA DE VOL + incrementa la velocidad del motor

TECLA DE VOL - decrementa la velocidad del motor

Utilice un sensor infrarrojo de televisin o videocasetera para recibir el cdigo enviado


por el control remoto infrarrojo como se muestra en la figura, observe el siguiente
diagrama.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
C1

27pF
X1
4MHz
U1
C2 13
OSC1/CLKIN RB0/INT
33
14 34
OSC2/CLKOUT RB1
1 35
MCLR/Vpp/THV RB2
27pF 36
RB3/P GM
2 37
RA0/AN0 RB4
3 38
RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/P GC
5 40
+5Vcd RA3/AN3/VREF+ RB7/P GD
6
RA4/T0CKI
7 15
RA5/AN4/SS RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2 16
8 RE0/AN5/RD RC2/CCP1 17
9 18
RE1/AN6/WR RC3/S CK/SCL
R9 10
RE2/AN7/CS RC4/SDI/SDA
23
24
10k RC5/S DO
25
RC6/TX/CK
26
RC7/RX/DT
19
RD0/P SP0
20
RD1/P SP1
21
RD2/P SP2
22
RD3/P SP3
27
RD4/P SP4
28
RD5/P SP5
29
RD6/P SP6
RD7/P SP7 30

PIC16F877

PRACTICA 35

PROYECTO FINAL
Es aqu donde pondrs en prctica tus conocimientos que has adquirido sobre
los microcontroladores, como ya sabes casi cualquier aplicacin se puede
realizar con un microcontrolador, escoge el PIC que se ajuste al proyecto que
has estado imaginando y progrmalo para que satisfaga tus expectativas y lleves
a cabo tu proyecto final, y como te lo dijo el profesor, este proyecto es de
carcter obligatorio para aprobar el submdulo de lo contrario tendrs que
repetir el curso, pues no lograste adquirir la competencia de manejar y programar
los pics.
Toma en consideracin los tiempos que necesitas para realizar este proyecto y
pide a tu profesor te asesore en cuanto a la viabilidad de tu proyecto que has
elegido, y recuerda que EL GRAN DEME no les ensea a sus alumnos solo les
indica el camino para que aprendan.
RECUERDA, la idea solo es el 1 % de un proyecto, el otro 99 % es de

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL
transpiracin.

Instructor: ING. DEMETRIO MEZA ALDUCIN


MECATRONICA AREA DE CONTROL

Das könnte Ihnen auch gefallen