Académique Documents
Professionnel Documents
Culture Documents
MANEJO DE SOFTWARE
OBJETIVO:
Relacionarse con la estructura del programa MPLAB, as como conocer la secuencia
para generar una nueva aplicacin o proyecto.
COMPILAR PROYECTO
La compilacin de un proyecto es uno de los pasos fundamentales en la
grabacin de un programa dentro del Pic; sta opcin permite al usuario identificar
los errores en la sintaxis y en algunos casos, en la coherencia del programa. El
MPLAB despliega mensajes de advertencia en los direccionamientos de los registros
y se configura el uso antes de grabarlo al microcontrolador
para proteger el
dispositivo. Por otro lado se recaban todos los datos requeridos por el proyecto como
libreras, actualizaciones de los comandos y el programa realizado slo con las
instrucciones necesarias, se hace el programa ms eficiente al eliminar innecesarias.
OBJETIVO: Conocer los pasos que permiten
compilar los programas
correctamente, as como el uso de ventanas e instrucciones que son necesarias para
sta tarea.
1. Capturar el programa previamente escrito
2. Seleccionar de la barra principal la opcin project
3. Elegir la opcin build all o presionar la tecla f10 (figura 11)
Posteriormente se despliega un cuadro de dialogo donde aparece el estado de la
compilacin y el porcentaje que se ha completado (figura 12) al llegar al 100% se
despliega otra ventana que muestra los errores si los hay y mensajes o advertencias
de compilacin.
SIMULACIONES
La simulacin es una herramienta muy til dentro del grabado de programas en el
microcontrolador debido a que permite al usuario visualizar el comportamiento
de la secuencia desde la misma computadora y sin necesidad de realizar los
circuitos electrnicos.
Tambin permite verificar subrutinas de tiempos, cambio de estado en los
registros tanto internos (propios del programa) como externos (designado por
el usuario) as como elegir el inicio de simulacin, seleccin de un bloque de
programa o probarlo paso a paso para una visualizacin ms detallada.
Tiene la opcin de introducir estmulos externos para sustituir las seales dadas
por un microswitch. La aplicacin inmediata es cambiar el estado lgico de 0 a 1
en un pin.
OBJETIVO: Desarrollar las habilidades y conocimientos necesarios para realizar y
comprender la visualizacin del programa mediante las herramientas del MPLAB.
Inicialmente se debe agregar a la barra de herramientas los conos de accin que
permiten efectuar la simulacin, para ello es necesario oprimir el botn
debuggerde la barra de herramientas principal, posteriormente dar clic en
select tool y finalmente en mplab sim(figura 14) aparecen los conos
mostrados en la figura 15.
BOTONES DE
ACCIN DEL
SIMULADOR
PRCTICA 2
OPERACIONES ARITMTICAS CON NUMEROS BINARIOS
MARCO TERICO
La principal utilizacin de las operaciones con nmeros binarios consiste en
redireccionamientos de registros o localidades de memoria.
OBJETIVO: Recordar el concepto de suma, resta, multiplicacin y divisin con
nmeros binarios para ser aplicados dentro de la programacin de microcontroladores.
Suma o adicin en binario
La tabla de sumar, en binario ms sencilla que en decimal. Slo hay que recordar
cuatro combinaciones posibles:
+
0+1
En decimal
En decimal
0 1 0
+ 1 0 1
1 1 1
210 + 510 = 710
0 0 1 1 0
+ 1 0 0 1 0
1 1 0 0 1
1310 + 3710
1
1
0
= 5010
13
1 0 1 1 0 1 1
+ 1 0 1 1 0 1 0
1 0 1 1 0 1 0 1
En decimal
Sustraccin en binario
La tcnica de la resta en binario es muy similar a la misma operacin en el sistema
decimal. Pero conviene repasar la operacin de restar en decimal para
comprender la operacin binaria, que es ms sencilla. Los trminos que intervienen en
la resta se llaman minuendo, sustraendo y diferencia.
-
1+1
En decimal
1 1 1
- 1 0 1
0 1 0
710 510 = 210
En decimal
1 0 0 0
- 0 1 0 1
0 0 1 1
1710 1010
1 1 0
- 1 0 1
0 0 1
En decimal
21710
1
0
1
= 710
1 1 0 0 1
0 1 0 1 1
0 1 1 1 0
17110 = 4610
14
El
C2N = 2n N
Ejemplo: para el nmero N = 1011012, que tiene 6 bits, y calculando su
complemento a dos:
N = 4510 n = 6 26 = 64 y, por tanto: C2N = 64 45 = 19 =
0100112
Complemento a uno
El complemento a uno de un nmero N, compuesto por n bits es, por definicin, una
unidad menor que el complemento a dos, es decir:
C1N = C2N - 1
y, por la misma
razn:
C2N = C1N + 1
C1N = 1001001010
y el complemento a dos
es:
C2N = 1001001011
16
17
Divisin binaria
As como el producto, la divisin es muy fcil de realizar, porque no son posibles
en el cociente otras cifras sino UNOS y CEROS.
Para el siguiente ejemplo, 42 / 6 = 7, en binario:
19
PRCTICA 3
OPERACIONES LGICAS
MARCO TERICO
Compuertas Lgicas
Las compuertas lgicas son dispositivos que operan con aquellos estados lgicos alto
y bajo (1 y 0) y funcionan igual que una calculadora, de un lado se ingresan los
datos, la compuerta realiza una operacin, y finalmente, muestra el resultado.
Compuerta AND
Una compuerta AND tiene dos entradas como mnimo y su operacin lgica
es un producto entre ambas, no es un producto aritmtico, aunque en este
caso coincidan. La salida ser alta si sus dos entradas estn a nivel alto
Compuerta OR
Al igual que en el caso anterior posee dos entradas como mnimo y la
operacin lgica, ser una suma entre ambas, se trata de una compuerta en la que
basta que una de ellas sea 1 para que su salida sea tambin 1
Compuerta NOR
El resultado que se obtiene a la salida de esta compuerta resulta de la
inversin de la operacin lgica OR. Tambin, se agrega un crculo en la salida
a la compuerta OR para obtener una NOR.
22
PRCTICA 4
COMPLEMENTOS
El complemento de un nmero binario expresa el opuesto del valor lgico
original, tambin es conocido como inversor
Los complementos son empleados en la representacin de nmeros con signo, en base
a la siguiente relacin:
El bit de signo ser el bit ms significativo; el cual es el bit 7 del siguiente
registro de ocho bits
Signo magnitud
bit 7
1
bit 6
1
bit 5
0
signo
bit 4
0
bit 3
1
bit 2
0
bit 1
bit 0
1
magnitud
equivalente binario
00110101
00110110
23
ACTIVIDADES DE LA PRCTICA
1. Comprobar diagrama de flujo en base al programa que ejemplifica la
presente prctica.
2. Explicar su funcionamiento.
PROGRAMA
DIAGRAMA A BLOQUES
LIST P=16F877
INCLUDE "P16F877.INC"
dato
EQU 0X2
resultado
EQU 0x2
org 0x000
movlw 0x2f
movwf dato
comf dato,0
movwf resultado
nop
nop
nop
End
24
PRCTICA 5
SALTOS A SUBRUTINAS
Las subrutinas de trabajo son instrucciones que se agrupan para desarrollar una tarea en
especifico, para declarar una subrutina es necesario definir un nombre con la cual ser
citada dentro del programa principal; cabe destacar que, cada vez que se cite la
subrutina esta se cargar en el programa ensamblador pese a que en el compilador no se
agregue toda la sintaxis
SUBRUTINAS DE TRABAJO
Para llamar a una subrutina de trabajo es necesario utilizar la instruccin call que
permite rastrear la subrutina en cualquier parte del bloque de memoria; una vez
localizada se ejecuta, por ltimo al terminar de ejecutarse es empleado el comando
return el cual permite regresar al programa principal en la siguiente instruccin de la
que parti
Existe otro comando de salto a subrutina, la instruccin goto; la cual direcciona una
nueva posicin dentro del programa principal; para poder realizar el salto es preciso
especificar el nombre de la etiqueta o localidad del salto a efectuar, a diferencia de la
instruccin anterior sta no requiere regresar al punto inicial de partida; por ejemplo:
Goto etiqueta
P
R
O
G
R
A
M
A
etiqueta
INSTRUCCIONE
S
SUBRUTINAS DE TIEMPO
Se pueden calcular las subrutinas de tiempo
mediante la frmula expresada a
continuacin [T= (No.ciclos instruccin)(4)/Fosc] que permite realizar aproximaciones
a tiempos exactos; esto con la finalidad de ocasionar retardos en algn programa; se
llega hasta la subrutina mediante la instruccin GOTO (referencia manual del pic
16F87X pp.136,139)
NOTA: para calcular el tiempo es necesario tomar en cuenta que la frecuencia del cristal
que se emplea ser dividida entre cuatro debido a que 4 ciclos de reloj equivalen a 1
25
SUBRUTINA DE TRABAJO
LIST P=16F877
INCLUDE "P16F877.INC"
DATO EQU 0X20
CounterA
CounterB
CounterC
EQU
0X20
EQU
0X21
EQU
0X22
ORG 0X000
GOTO INICIO
INICI
O
ORG
0X000
GOTO
INICIO
Clrf dato
movlw
0x85 movf
dato
call
retard
o nop
no
p
goto
inicio
retard
movlw D'26'
o
movwf
CounterC
movlw D'119'
movwf
CounterB
movlw D'85'
movwf
CounterA
loop decfsz
INICI
Clrf
O
call
0 nop
nop
nop
call
dato
PROG_
PROG_
1 nop
nop
nop
goto inicio
PROG_0
movlw
0x85 movf
dato
return
PROG_1
movlw 0x4A
decfsz
CounterB,1
goto loop
decfsz
CounterC,1 goto
loop
RETURN
movf dato
return
END
END
27
PRCTICA 6
MANEJO DE APUNTADORES
Los apuntadores son empleados en el direccionamiento de localidades de
memoria o registros; para ello es necesario contar con indicadores que
expresen la direccin o nombre de dicha localidad y sean capaces de extraer o
colocar valores en cada registro seleccionado
FSR. Por sus siglas en ingles (File Select Register). Es el registro en el cual se
carga o escribe la direccin de la localidad de memoria a seleccionar
INDF. Es el registro que extrae el dato o valor, el cual puede ser empleado en
forma directa o indirecta; es decir, utilizar el dato en el mismo registro
INDF depositarlo en otro registro para su posterior aplicacin
En la Figura 29 se ilustran los tipos de direccionamiento directo e indirecto
28
ACTIVIDADES DE LA PRCTICA
1. Comprobar diagrama de flujo en base al programa que ejemplifica la
presente prctica de apuntadores.
2. Explicar su funcionamiento.
PROGRAMA
LIST P=16F877
INCLUDE "P16F877.INC"
DATO_0
EQU
DATO_1
EQU
DATO_2
EQU
DATO_3
EQU
DATO_4
EQU
0X20
0X20
0X20
0X20
0X20
ORG 0X000
GOTO
INICIO
INICIO
MOVLW
MOVWF
MOVLW
MOVWF
INCF FSR
MOVLW
MOVWF
INCF FSR
MOVLW
MOVWF
INCF FSR
MOVLW
MOVWF
INCF FSR
MOVLW
MOVWF
0X20
FSR
0X00 ;DATO_
INDF 0
0X01 ;DATO_
INDF 1
0X02 ;DAT0_
INDF 2
0X03 ;DATO_
INDF 3
0X04 ;DATO_
INDF 4
MOVLW
0X20
MOVWF
FSR
MOVF INDF,1
;DATO_0
MOVWF
DATO_0
INCF FSR
MOVF INDF,1 ;DATO_1
MOVWF
DATO_1
INCF FSR
MOVF INDF,1 ;DATO_2
MOVWF
DATO_2
INCF FSR
MOVF INDF,1 ;DATO_3
MOVWF
DATO_3
INCF FSR
MOVF INDF,1 ;DATO_4
MOVWF
DATO_4
NOP
NOP
END
29
PARTE 2
PARTE 3
CARGAR VALOR 20
A FSR
MOVER INDF
A REGISTRO
W
MOVER INDF
A REGISTRO
W
MOVER REGISTRO W
A DATO 3
INCREMENTAR FSR
MOVER REGISTRO W
A DATO 0
MOVER INDF
A REGISTRO
W
INCREMENTAR FSR
MOVER INDF
A REGISTRO
W
MOVER REGISTRO W
A DATO 4
FIN
MOVER REGISTRO W
A DATO 1
INCREMENTAR FSR
MOVER INDF
A REGISTRO W
MOVER REGISTRO W
A DATO 2
INCREMENTAR FSR
30
PRCTICA 7
COMPARACIONES ( <, >, = )
Para poder realizar comparaciones es necesario conocer previamente los
elementos que interactan entre si, por ejemplo las banderas de estado, las cuales
representan
bits indicadores que se actualizan con cada instruccin ejecutada
denotando que no todas las instrucciones causan efectos en dichos bits
El registro STATUS registra los cambios de estado respecto a las banderas de acarreo
entre registros, indica si el resultado de una operacin aritmtica o lgica es cero, por
citar algunos ejemplos; por otro lado, contiene los bits de configuracin de los bancos
de memoria en forma directa e indirecta
(Referencia revisar manual del pic 16f877 para la instruccin subwf, sublw , as como
analizar el funcionamiento de las banderas de acarreo (c) y cero (z) del registro status)
ACTIVIDADES DE LA PRCTICA
1. Realizar diagrama de flujo en base al programa que ejemplifica la presente
prctica de comparacin >,< e =.
2. Explicar su funcionamiento.
COMPARACIN =
LIST P=16F877
INCLUDE
"P16F877.INC"
COMPARACIN >
LIST P=16F877
INCLUDE
"P16F877.INC"
COMPARACIN <
LIST P=16F877
INCLUDE
"P16F877.INC"
DATO_1
EQU 0X20
DATO_2
EQU 0X21
SI_ES_IGUAL
EQU
0X22
NO_ES_IGUAL EQU
0X23
DATO_1
EQU 0X20
DATO_2
EQU 0X21
SI_ES_IGUAL
EQU
0X22
NO_ES_IGUAL EQU
0X23
DATO_1
EQU 0X20
DATO_2
EQU 0X21
SI_ES_IGUAL
EQU
0X22
NO_ES_IGUAL EQU
0X23
ORG 0X000
GOTO
INICIO
ORG 0X000
GOTO
INICIO
ORG 0X000
GOTO
INICIO
INICIO
MOVLW
MOVWF
MOVLW
MOVWF
MOVF
SUBWF
BTFSC
INICIO
MOVLW
MOVWF
MOVLW
MOVWF
MOVF
SUBWF
BTFSC
INICIO
MOVLW
MOVWF
MOVLW
MOVWF
MOVF
SUBWF
BTFSS
SI
0X25
DATO_1
0X30
DATO_2
DATO_1,0
DATO_2,0
STATU
S,Z GOTO NO
MOVLW 0XFF
MOVWF
NO_ES_IG
UAL GOTO
FIN
NO
MOVLW 0XFF
SI
0X25
DATO_1
0X30
DATO_2
DATO_1,0
DATO_2,0
STATU
S,C GOTONO
MOVLW 0XFF
MOVWF
NO_ES_IG
UAL GOTO
FIN
NO
MOVLW 0XFF
SI
0X25
DATO_1
0X30
DATO_2
DATO_1,0
DATO_2,0
STATU
S,C GOTONO
MOVLW 0XFF
MOVWF
NO_ES_IG
UAL GOTO
FIN
NO
MOVLW 0XFF
31
PRCTICA 8
CONFIGURACIN DE PUERTOS
Para poder interactuar en el sistema microcontrolador-ambiente real es
necesario configurar los pines o bits perifricos, los cuales permiten ingresar
o enviar datos como lo son cambios de estado, actualizaciones de valores
digitales y analgicos, comunicacin entre microcontroladores y a su vez
con un CPU por citar algunos ejemplos
Los pines de propsito general I/O (input/Output) permiten revisar y
controlar otros dispositivos, algunos pines pueden ser seleccionados para activar
otras funciones adicionales, cabe destacar el hecho que el bit no puede estar
activado al mimo tiempo como pin de propsito general y pin de funcin
especial
Para configurar los pines I/O es necesario establecer los pines que sern
denominados como entradas o salidas, el registro TRISX configura tales
parmetros, especificando las direcciones de los puertos; para configurar un pin
como entrada ser necesario cargar o grabar un 1 lgico por cada bit del
registro que se desee emplear, a su vez, grabar un 0 para activar el pin como
salida. El smbolo X en el registro TRISX representa el puerto que se haya
elegido
El registro PORTX se emplea para leer el estado del puerto, adems es
utilizado para colocar un dato o valor en el puerto seleccionado
Nota: Es muy importante conocer las caractersticas elctricas del
dispositivo como lo son: corriente y voltaje mximos que soporta cada pin y en
conjunto como puerto, debido a que el microcontrolador es un dispositivo
de control, y no un dispositivo de potencia
ACTIVIDADES DE LA PRCTICA
1. Configurar un puerto completo como entrada y otro puerto completo como
salida, de tal forma que el mismo dato que se proporciona al puerto de
entrada mediante un dipswitch o push botons sea el mismo que el
microcontrolador envi a las salidas, as cuales sern conectadas con leds
2. Realizar diagrama de flujo en base al programa que ejemplifica la presente
prctica de configuracin de puertos
3. Explicar su funcionamiento.
32
PROGRAMA
LIST P=16F877
INCLUDE "P16F877.INC"
ORG 0X000
GOTO
INICIO
INICIO
BSF
STATUS,RP0
MOVLW 0XFF
MOVWF TRISB
CLRF
TRISD
BCF
STATUS,RP0
CICLO
MOVF PORTB,W
MOVWF PORTD
GOTO
CICLO
END
33
PRCTICA 9
ARRANQUE Y PARO DE UN MOTOR DE DC
ACTIVIDADES DE LA PRCTICA
La prctica consiste en realizar las conexiones necesarias e investigar los
elementos adecuados para la fase de potencia y con ello lograr el arranque y paro de un
motor de 12 V de corriente directa usando como elemento base de control el
PIC16F877.
La comprensin del alambrado de sta prctica es vital para la correcta
comprensin de las siguientes prcticas, ya que permite elegir los elementos correctos
dependiendo de sus caractersticas tcnicas para ajustarlos al motor empleado y
as proteger nuestro dispositivo de control y de accin.
Para proceder de una manera adecuada al armado del circuito se sugiere lo
siguiente:
Obtener los datos de funcionamiento del motor de DC; como voltaje mximo y
corriente de arranque, en base a ello seleccionar los dispositivos para la fase de
potencia como drivers y/o transistores y elementos de aislamiento de proteccin
como optoacopladores y/o relevadores. La eleccin de los dispositivos correctos
depender de las necesidades y caractersticas tcnicas requeridas.
PARA STA PRCTICA ES NECESARIO REALIZAR UN REPORTE CON LOS
SIGUIENTES ELEMENTOS:
-Introduccin
-Marco terico
-Desarrollo
-Comentarios
-Conclusiones
DIAGRAMA 1: Ver anexo B
34
PROGRAMA
LIST P=16F877
INCLUDE "P16F877.INC"
ORG 0X000
GOTO INICIO
INICIO
BSF
STATUS,RP0
MOVLW 0XFF
MOVWF TRISB
CLRF TRISD
BCF STATUS,RP0
CICLO
BTFSS PORTB,0
GOTO
ARRANQUE
BTFSS PORTB,1
GOTO PARO
GOTO CICLO
ARRANQUE
MOVLW
0X01
MOVWF PORTD
GOTO CICLO
PARO
MOVLW
0X00
MOVWF PORTD
GOTO CICLO
END
35
PRCTICA 10
INVERSIN DE GIRO DE UN MOTOR DE CORRIENTE DIRECTA
ACTIVIDADES DE LA PRCTICA
Para la realizacin de la presente prctica es necesario comprender el arranque y paro
mediante la utilizacin del pic 16F877 ya que es la base de la inversin de giro.
En sta prctica se requiere investigar qu elementos son adecuados para la fase de
potencia, debido a que sern empleados en la prctica para interconectar la fase antes
mencionada con la de control; as mismo se deber conseguir la forma de aislar las 2
fases como mtodo de proteccin.
NOTA: Cada uno de los sentidos a los que gira el motor (horario y antihorario) se
consideran como bobinas independientes y se alimentan cada una por separado de tal
forma que cuando una est con voltaje la otra est aterrizada; esto con el propsito de
mantener en buenas condiciones de funcionamiento al motor y evitar que los
devanados se quemen.
PARA STA PRCTICA ES NECESARIO REALIZAR UN REPORTE CON
LOS SIGUIENTES ELEMENTOS:
-Introduccin
-Marco terico
-Desarrollo
-Comentarios
-Conclusiones
DIAGRAMA 2: Ver anexo A
36
PROGRAMA
LIST P=16F877
INCLUDE "P16F877.INC"
ORG 0X000
GOTO INICIO
INICIO
BSF
STATUS,RP0
MOVLW
0XFF
MOVWF TRISB
CLRF
TRISD
BCF
STATUS,RP0
CICLO
BTFSS PORTB,0
GOTO
IZQUIERDA
BTFSS PORTB,1
GOTO
DERECHA
BTFSS
PORTB,2
GOTO PARO
GOTO CICLO
IQUIERDA
MOVLW
0X01
MOVWF PORTD
GOTO CICLO
DERECHA
MOVLW
0X02
MOVWF PORTD
GOTO CICLO
PARO
MOVLW
0X00
MOVWF PORTD
GOTO CICLO
END
37
PRCTICA 11
SIMULACIN DE COMPUERTAS AND, OR, XOR, NOT*
(SEALES EXTERNAS)
OBJETIVO
Simular las compuertas lgicas aplicando a las entradas seales lgicas externas
Realizar la comprobacin de la tabla de verdad de las compuertas:
AND, OR, XOR, NOT
Desarrollando los siguientes puntos:
1.
2.
3.
4.
5.
38
6. Simular el programa paso a paso adems de activar los estmulos a cada uno
de los pines segn se requiera. La Figura 31 muestra la ventana del stimulus
controller en la cual se selecciona el pin a activar as como la accin que ve a
desempear el pin elegido
39
BCF STATUS,RP0
CICLO
AND
BSFSS PORTB,7
BCF PORTC,7
BSFSC PORTB,6
GOTO AND
BCF PORTC,7
GOTO SIGUE
BSF PORTC,7
SIGUE
OR
BSFSC PORTB,5
GOTO OR
BSFSC
PORTB,4
GOTO OR
BCF PORTC,6
GOTO SIGUE_2
BSF PORTC,6
SIGUE_2
MOVF
PORTB,W
IORLW 0X0C
MOVWF DATO
SUBLW 0X08
BSFSC STATUS,Z
BSF PORTC,5
MOVF DATO,W
SUBLW
0X04
BSFSS STATUS,Z
GOTO XOR
BCF PORTC,5
GOTO SIGUE_3
XOR
BSF PORTC,5
SIGUE_3
BSFSC PORTB,1
GOTO NOT
BSF PORTC,4
GOTO SIGUE_4
NOT
BSF PORTC,4
SIGUE_4
GOTO CICLO
END
40
PRCTICA 12
CONTADOR ASCENDENTE CON UN DISPLAY A
7 SEGMENTOS UTILIZANDO EL APUNTADOR
Display de 7 segmentos. Display nodo comn y ctodo comn.
Este tipo de componente se utiliza para la representacin de nmeros en muchos
dispositivos electrnicos por su simplicidad.
Este elemento se ensambla o arma de manera que se pueda activar cada
segmento (diodo LED) por separado logrando de esta manera combinar los
elementos y representar todos los nmeros en el display (del 0 al 9). El display de
7 segmentos ms comn es el de color rojo, por su facilidad de visualizacin.
Cada elemento del display tiene asignado una letra que identifica su posicin en el
arreglo del display. Ver el grfico
Numero
0
1
2
3
4
5
6
7
8
9
Punto decimal
Letras correspondientes
a,b,c,d,e,f
b,c
a,b,d,e,g
a,b,c,d,g
b,c,f,g
a,c,d,f,g
a,c,d,e,f,g
a,b,c
a,b,c,d,e,f,g
a,b,c,f
p.d.
Cdigo en binario*
00111111
00000110
01011011
01001111
01100110
01101101
01111101
00000111
01111111
00100111
10000000
* Nota: Estos datos son para un display de ctodo comn, conectado a un puerto
de
8bits, tomando en consideracin la siguiente igualdad, a=bit0, b=bit1, c=bit2,
d=bit3, e=bit4, f=bit5, g=bit6, p.d. =bit7.
41
El display nodo comn tiene todos los nodos de los diodos LED unidos y
conectados a la fuente de alimentacin. En este caso para activar cualquier
elemento hay que poner el ctodo del elemento a tierra a travs de una resistencia
para limitar la corriente que pasa por el elemento
El display ctodo comn tiene todos los nodos de los diodos LED unidos y
conectados a tierra. Para activar un segmento de estos hay que poner el nodo
del segmento a encender a Vcc (tensin de la fuente) a travs de una resistencia
para limitar el paso de la corriente
Tambin hay display alfanumricos que permiten representar tanto letras como
nmeros
Para la realizacin de la presente prctica es necesario analizar y comprender la
teora sobre displays, subrutinas de trabajo, subrutinas de tiempo y manejo de
apuntadores; de ello depende la correcta ejecucin y aplicacin de los contadores.
ACTIVIDADES DE LA PRCTICA
Realizar un contador ascendente automtico, esto es, debe contar desde el cero
(0) hasta el nueve (9) de forma autnoma con solo presionar un botn y
debe pausarse al presionar otro botn. La eleccin del display depender de
la forma de conexin deseada.
PARA STA PRCTICA ES NECESARIO REALIZAR UN REPORTE
CON LOS SIGUIENTES ELEMENTOS:
-Introduccin
-Marco terico
-Desarrollo
-Comentarios
-Conclusiones
DIAGRAMA 3: Ver anexo A
42
PROGRAMA
LIST P=16F877
INCLUDE "P16F877.INC"
COUNTER EQU 0X2B
COUNTERA EQU 0X2C
COUNTERB EQU 0X2D
COUNTERC EQU 0X2E
ORG 0X000
GOTO
INICIO
INICIO
BSF
STATUS,RP0
MOVLW 0X00
MOVWF TRISD
MOVLW 0XFF
MOVWF TRISB
;CONFIGURACION DE INTERUPCIONES
MOVLW 0XD0
MOVWF INTCON
BCF
STATUS,RP0
MOVLW 0X00
MOVWF PORTD
MOVWF PORTB
MOVLW 0X20
MOVWF FSR
MOVLW B'00111111'
MOVWF INDF
INCF
FSR MOVLW
B'00000110'
MOVWF INDF
INCF
FSR
MOVLW B'01011011'
MOVWF INDF
INCF
FSR
MOVLW B'01001111'
MOVWF INDF
INCF
FSR
MOVLW B'01100110'
MOVWF INDF
INCF
FSR
MOVLW B'01101101'
MOVWF INDF INCF FSR
MOVLW B'01111101'
MOVWF INDF
INCF
FSR
MOVLW B'00000111'
MOVWF INDF
INCF
FSR
43
MOVLW
MOVWF
INCF
MOVLW
MOVWF
MOVLW
MOVWF
MOVFW
MOVWF
B'01111111'
INDF
FSR
B'00100111'
INDF
0X20
FSR
INDF
PORTD
PREGUNTA
BTFSS
PORTB,1
GOTO
INI
GOTO
PREGUNTA
INI
INCF FSR
MOVFW
FSR
SUBLW
0X2A
BTFSC STATUS,Z
GOTO
CERO
MOVFW INDF
MOVWF PORTD
CALL
RET
BTFSS
PORTB,0
GOTO
INI
GOTO
PREGUNTA
CERO
MOVLW 0X20
MOVWF FSR
MOVFW INDF
MOVWF PORTD
GOTO
INI
RET
;PIC TIME DELAY = 2.0000004 S WITH OSC =
20.000000 MHZ MOVLW
D'51'
MOVWF COUNTERC
MOVLW D'237'
MOVWF COUNTERB
MOVLW D'173'
MOVWF COUNTERA
LOOP
DECFSZ
COUNTERA,1
GOTO
LOOP
DECFSZ COUNTERB,1
GOTO
LOOP
DECFSZ COUNTERC,1
GOTO
LOOP
RETURN
END
44
PRCTICA 13
CORRIMIENTO DE BITS
El corrimiento de bits se refiere al movimiento o transferencia del valor
lgico que posee un bit de registro, desplazndolo una casilla hacia la
izquierda o derecha, agregando ceros en los espacios que anteriormente
haban ocupado dichos bits. El corrimiento e bits es empleado para activar
valores y dispositivos que requieran de una secuencia continua aplicada a sus
terminales
A continuacin se ejemplifica el corrimiento de bits para el nmero binario
mostrado
Numero binario:
1
Valor
agregado
desplazamiento
0
despus
del
DESCRIPCIN DE LA PRCTICA
Conectar un led a cada una de las salidas de un puerto completo con la
finalidad de hacer encender uno a la vez, y mediante el uso de las instrucciones
de rotar, conseguir que la luz comience en el bit0 del puerto y termine el bit7 y
vuelva al inicio de forma autnoma
DIAGRAMA 4: Ver anexo
A
PROGRAMA
LIST
P=16F877
INCLUDE
"P16F877.INC"
COUNTERA
0X20
EQU
45
COUNTERB
0X21
COUNTERC
0X22
EQU
EQU
ORG
0X000
GOTO
INICIO
INICI
O
46
BSF STATUS,RP0
MOVLW 0XFF
MOVWF
TRIS
B
MOVLW 0X00
MOVWF
TRIS
D BCF
STATUS,RP0
MOVLW 0X01
MOVWF
PORT
D CICLO
BTFSC
GOTO
PORTB,0
CICLO
INCREMENTA
RLF
CALL
PORTD
RETARD
O BTFSC PORTB,1
GOTO
INCREMEN
TA GOTO CICLO
RETARDO MOVLW
D'26'
MOVWF
COUNTER
C MOVLW
D'119'
MOVWF
COUNTER
B MOVLW
D'85'
MOVWF
COUNTER
A
LOOP
DECFSZ
COUNTERA,1
GOTO
LOOP
DECFSZ
COUNTER
B,1
GOTO
LOOP
DECFSZ COUNTERC,1
GOTO
LOO
P RETURN
END
47
PRCTICA 14
SEMFORO
DESCRIPCIN DE LA PRCTICA
El objetivo de la prctica radica en la comprensin y anlisis de los retardos y
envo de seales por medio del microcontrolador.
La lgica de seales visuales empleada en los semforos es muy ilustrativa y
permite cumplir el objetivo adecuadamente. El algoritmo es el siguiente:
-enciende luz verde
-retardo
-comienza a parpadear luz verde (5 a 8 parpadeos)
-retardo
-pasa a luz ambar
-retardo
-pasa a luz roja
-retardo
-pasa a luz verde
NOTA: Los tiempos (retardos) debern ser adecuados para que la
visualizacin sea efectiva.
PARA STA PRCTICA ES NECESARIO REALIZAR UN REPORTE
CON LOS SIGUIENTES ELEMENTOS:
-Introduccin
-Marco terico
-Desarrollo
-Comentarios
-Conclusiones
PROGRAMA
LIST P=16F877
INCLUDE "P16F877.INC"
CounterA
CounterB
CounterC
EQU
EQU
EQU
DATO
0X20
0X2
0X2
1
0X2
2
ORG 0X000
GOTO INICIO
48
INICIO
49
BSF STATUS,RP0
MOVLW
0X00
MOVWF
TRISB BCF
STATUS,RP
0
CICLO
MOVLW
MOVWF
0X01
PORT
B CALL RET_1
CALL RET_1
CALL RET_1
CALL RET_1
CALL RET_1
CALL RET_1
BCF PORTB,0
CALL RET_1
BSF PORTB,0
BCF PORTB,0
CALL RET_1
BSF PORTB,0
BCF PORTB,0
CALL RET_1
BSF PORTB,0
BCF PORTB,0
CALL RET_1
BSF PORTB,0
BCF PORTB,0
CALL RET_1
BSF PORTB,0
BCF PORTB,0
CALL RET_1
MOVLW
0X02
MOVWF
PORT
B CALL RET_1
CALL RET_1
MOVLW
0X04
MOVWF
PORT
B CALL RET_1
CALL RET_1
CALL RET_1
CALL RET_1
CALL RET_1
CALL RET_1
CALL RET_1
GOTO CICLO
RET_
MOVLW
1
MOVWF
D'26'
COUNTER
C MOVLW D'119'
50
M
O
V
W
F
C
O
U
N
T
E
R
B
M
O
V
L
W
D
'
8
5
'
M
O
V
W
F
C
O
U
N
T
E
R
A
51
52
operaciones
en
el
3E + 14 =
7F - 4A =
33 + F2 45 =
E3 - 27 19 =
58 + D4 FF + 16 - 43 =
PROYECTO 2
ACOMODO DE DATOS MAYOR A MENOR
PROYECTO 4
CONTROL DE MOTOR A PASOS
53
PROYECTO 5
CONTADOR ASCENDENTE Y DESCENDENTE CON UN DISPLAY DE 7
SEGMENTOS UTILIZANDO EL APUNTADOR
Por medio de los apuntadores realizar una tabla para desplegar los datos de cada
uno de los nmeros (del 0 al 9) en un display de 7 segmentos, de tal modo que
mediante dos botones se pueda ir incrementando o decrementando el
numero que aparezca en el display. Nota del 9 debe brincar al 0 y viceversa
PROYECTO 6
CONTROL DE UN MOTOR DE DC CON MEN EN DISPLAY
Basandose en el proyecto 5 para utilizar el display como un selector de men,
se tiene que agregar un terecer boton de enter de tal forma que dependiendo
del nmero seleccionado sea el nmero de programa al que se accese:
programa1 1. Izquierda
programa1 2. Derecha
programa1 3. Izquierda-paro-derecha
programa1 4. Cinco segundos derecha- dos segundos paro- tres
segundos izquierda
programa1 5. Un segundo encendido izquierda
Un segundo apagado
Dos segundos encendido derecha
Un segundo apagado
Tres segundos encendido izquierda
Un segundo apagado
Cuatro segundos encendido derecha
Un segundo apagado
Cinco segundos encendido izquierda
54
PROYECTO 7
SEMFORO DE CRUCERO CON DISPLAY
display
por
cada
55
ANEXO
56
PRCTICA 9
DIAGRAMA A BLOQUES DE
ARRANQUE Y PARO DE UN MOTOR DE DC
PRCTICA 10
DIAGRAMA A BLOQUES DE
INVERSIN DE GIRO DE UN MOTOR DE DC
PRCTICA 12
DIAGRAMA DE CONEXIN PARA PRCTICA DE
CONTADOR ASCENDENTE
ASCENDENTE
PRCTICA 13
DIAGRAMA DE CONEXIN PARA
SEGUIDOR DE DATOS