Upload
jfcorreal5
View
58
Download
1
Embed Size (px)
Citation preview
Regional Meta Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTACIÓN INDUSTRIAL
FICHA No. 396991
ING. IVAN DUARTE INSTRUCTOR
CENTRO DE INDUSTRIA Y SERVICIO DEL META
CISM Mayo, 25
2013
Regional Meta Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTACIÓN INDUSTRIAL
FICHA No. 396991
ING. IVAN DUARTE INSTRUCTOR
JOHN FREDY CORREAL CORDOBA CRISTIAN FELIPE VARGAS RODRIGUEZ
APRENDIZ
CENTRO DE INDUSTRIA Y SERVICIO DEL META CISM
Mayo, 25 2013
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
1
OBJETIVO GENERAL
Conocer el lenguaje de programación Assemble en MPLAP X, necesario en la programación de micro controladores basado en esta experimentación y el conocimiento del PIC16F84A, también en la simulación, emulación de medios de trabajo reales de necesidades y soluciones reales.
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
2
OBJETIVOS ESPECIFICOS
Conocer y practicar las aplicaciones del lenguaje ensamblador en
base Hexadecimal en la programación del micro controlador PIC16F84A.
Experimentar por medio de simulación, la aplicación de micro controladores en los sistemas de producción.
Conocer los software para la programación y simulación como MPLAP X IDE v1.20 y ISIS 7 PROFESIONAL.
Incursionar en el Diseño Electrónico de Programación Digital (Teoría, Diseño Electrónico y Diseño del Producto).
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
3
TABLA DE CONTENIDO
PAG OBJETIVO GENERAL 1 OBJETIVOS ESPECIFICOS 2 JUSTIFICACIÓN 5 INTRODUCCIÓN 6
1. MARCO TEÓRICO 7 1.1. LENGUAJE EN ESAMBLADOR 7 - Ventajas 6 - Desventajas 7 1.2. ALGUNAS INSTRUCCIONES 10
2. DESARROLLO DE LA ACTIVIDAD 14 2.1. INICIO DE LA PROGRAMACIÓN 14 2.2. DISPLAY DIGIITAL 16
2.2.1. DISEÑO EN ISIS 16 2.2.2. COMPONENTES 17 2.2.3. PROGRAMACIÓN 19
2.3. AUTOFANTASTICO 21 2.3.1. DISEÑO ISIS 21 2.3.2. COMPONENTES 22 2.3.3. PROGRAMACIÓN 22
2.4. CONTADOR DE 0-99 25 2.4.1. DISEÑO DE ISIS 25 2.4.2. COMPONENTES 26 2.4.3. PROGRAMACIÓN 27
2.5. CONTADOR DE 0-999 31 2.5.1. DISEÑO DE ISIS 31 2.5.2. COMPONENTES 32 2.5.3. PROGRAMACIÓN 35
CONCLUSIONES BIBLIOGRAFÍA Y CIBERGRAFÍA CONTROL DEL DOCUMENTO
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
4
TABLA DE GRÁFICAS No. DE ILUSTRACIÓN PAG
1. EJEMPLO DE LENGUAJE DE PROGRAMACIÓN 9 2. DISPLAY DIGITAL-ISIS 16 3. PIC 16F84A 16 4. DISPLAY DE 7 SEGMENTOS 16
5. DIPSW-4 17 6. RESISTOR 17 7. AUTO FANTASTICO-ISIS 21 8. CONTADOR DE 0-99 DISEÑO-ISIS 25 9. PIC16F84A 26 10. CONVERSOR 7447 26 11. DISPLAY DE 7 SEGMENTOS 27 12. CONTADOR DE 0-999 31 13. TRANSISTOR 2N2222 32 14. DISPLAY DE 7 SEGMENTOS AZÚL 32 15. CONVERSOR 7447 33 16. CAPACITOR 34 17. CRISTAL 34
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
5
JUSTIFICACIÓN En el desarrollo del proceso de aprendizaje y según las competencias que se desarrollan está implícita la temática que abordaremos, por ende es importante conocer la forma de desarrollar programación en la Electrónica Digital, y el lenguaje de programación de micro controladores.
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
6
INTRODUCCIÓN
Los dispositivo electrónico necesitan una administración específica por medio de micro controladores que determine la función que cumple dentro de un sistema de circuitos electrónicos y que hacen parte de electrodomésticos, edificios inteligentes, automóviles, máquinas electrónicas, instrumentos de medición en la industrial, la medicina, el medio ambiente, astronomía y muchas otras ramas de las ciencias de investigación.
En el mercado actual hay muchos micro y se clasifican en familias micro controladores y dependiendo de la familia también es su lenguaje de programación, en este caso trabajaremos con la familia PIC16F84A en su estructura lo componen 8 bit.
En los últimos años, el micro controlador PIC 16F84 ha sido uno de los que ha tenido mayor aceptación por parte de los usuarios debido a sus buenas características, bajo precio, reducido consumo, pequeño tamaño, gran calidad, fiabilidad y abundancia de la información. Esto lo convierte en un dispositivo fácil, cómodo y rápido de usar. Todas estas características permiten la amplia aplicación del PIC 16F84 en diferentes actividades. Como tema central, se analizará el PIC 16F84 sobre el lenguaje ensamblador, el cual tiene sus ventajas al programar la PIC, debido a que éste es el lenguaje más óptimo para programar dispositivos PIC.
Este trabajo obedece a una investigación llevada a cabo en internet, como parte del proceso de formación de la titulación que estoy cursando. Se presenta como una evidencia de conocimiento y los contenidos aquí consignados, tienen derechos de autor y pertenecen a un sitio y persona que indican los enlaces de internet, cuando es del caso. La mayoría de fotografías son de mi propiedad intelectual y fueron tomadas en el desarrollo de los ejercicios prácticos hechos en clase y en mi casa.
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
7
1. MARCO TEÓRICO El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto
se denomina el código ejecutable y está compuesto por una serie de ceros y
unos, aparentemente sin significado. Dependiendo de la arquitectura del
microcontrolador, el código binario está compuesto por palabras de 12, 14 o
16 bits de anchura. Cada palabra se interpreta por la CPU como una
instrucción a ser ejecutada durante el funcionamiento del microcontrolador.
Todas las instrucciones que el microcontrolador puede reconocer y ejecutar
se les denominan colectivamente Conjunto de instrucciones. Como es más
fácil trabajar con el sistema de numeración hexadecimal, el código ejecutable
se representa con frecuencia como una serie de los números hexadecimales
denominada código Hex. En los microcontroladores PIC con las palabras de
programa de 14 bits de anchura, el conjunto de instrucciones tiene 35
instrucciones diferentes.
1.1. LENGUAJE ENSAMBLADOR:
Ventajas:
Es el lenguaje de bajo nivel natural de la línea PIC tanto para gama baja, media o alta.
Con el se tiene un aprovechamiento eficiente de los recursos del PIC. Se pueden crear macros con este lenguaje, para después simplificar el
código en diferentes desarrollos. Con el se pueden controlar los tiempos y los registros bit a bit. Excelente para manejar interrupciones simultáneas. Cuando se genera el archivo .hex éste es completamente optimizado.
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
8
Desventajas:
En realidad desde mi punto de vista no existe ninguna, excepto cuando no se tiene experiencia en programación puede tardarse el desarrollo de alguna rutina en comparación con los otros lenguajes.
El compilador para este lenguaje es el MPLAB IDE el cual se consigue totalmente gratuito en la página de Microchip y constantemente están sacando nuevas versiones, debe aclararse que este solo funciona bajo ambiente Windows. Para Linux existe un versión alternativa llamada:PIKLAB la cual presenta simuladores, editores, ensambladores y soporta una gran cantidad de compiladores C para PIC. Ejemplo: rutina que hace parpadear un led en el pin cero del puerto B cada 200 milisegundos en lenguaje Ensamblador empleando el software de Microchip MPLAB IDE:
Ilustración
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
9
Ilustración 1-Programación.
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
10
Como el proceso de escribir un código ejecutable era considerablemente
arduo, en consecuencia fue creado el primer lenguaje de programación
denominado ensamblador (ASM). Siguiendo la sintaxis básica del
ensamblador, era más fácil escribir y comprender el código. Las instrucciones
en ensamblador consisten en las abreviaturas con significado y a cada
instrucción corresponde una localidad de memoria. Un programa
denominado ensamblador compila (traduce) las instrucciones del lenguaje
ensamblador a código máquina (código binario).
1.2. ALGUNAS INSTRUCCIONES
Las instrucciones siguientes son las tres operaciones lógicas de doble
operando :
ANDWF f,d ;operación AND lógica, destino = W f
IORWF f,d ;operación OR lógica, destino = W f
XORWF f,d ;operación XOR lógica, destino = W f
Los nombres mnemónicos de estas instrucciones provienen de : AND W con
F, Inclusive
OR W con F y XOR W con F.
Las que siguen son las cuatro operaciones aritméticas y lógicas sencillas de
simple
operando :
MOVF f,d ;movimiento de datos, destino = f
COMF f,d ;complemento lógico, destino = NOT fINCF f,d ;incremento
aritmético, destino = f + 1
DECF f,d ;decremento aritmético, destino = f - 1
Los mnemónicos de estas instrucciones provienen de : MOVe File,
COMplement File,
INCrement File y DECrement File.
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
11
En las siete instrucciones anteriores el único bit afectado de la palabra de
estado del
procesador es el Z, que se pone en 1 si el resultado de la operación es
00000000, y se
pone en 0 si el resultado tiene cualquier otro valor.
A continuación siguen las dos instrucciones de rotación de bits a través del
CARRY :
RLF f,d ;rotación a la izquierda, destino = f ROT
RRF f,d ;rotación a la derecha, destino = f ROT
En estas operaciones (Rotate Left File y Rotate Right File) los bits son
desplazados de
cada posición a la siguiente, en sentido derecho o izquierdo. El
desplazamiento es cerrado,
formando un anillo, con el bit C (CARRY) de la palabra de estado.
En estas dos instrucciones, el único bit afectado de la palabra de estado del
procesador es
el bit C, que tomará el valor que tenia el bit 7 o el bit 0, según sea el sentido
del
desplazamiento.
Estas instrucciones son muy útiles para la manipulación de bits, y además
para realizar
operaciones aritméticas, ya que en numeración binaria, desplazar un número
a la
izquierda es equivalente a multiplicarlo por 2, y hacia la derecha, a dividirlo
por 2.
La instrucción siguiente realiza el intercambio de posiciones entre los cuatro
bits menos
significativos y los cuatro más significativos (nibble bajo y nibble alto).
SWAPF f,d ;intercambia nibbles, destino = SWAP f
Esta instrucción (SWAP File) no afecta ninguno de los bits de la palabra de
estado del
procesador.
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
12
Esta instrucción es muy útil para el manipuleo de números BCD
empaquetados, en los que
en un solo byte se guardan dos dígitos BCD (uno en cada nibble).
Las dos operaciones que siguen son la suma y la resta aritméticas :
ADDWF f,d ;suma aritmética, destino = f + W
SUBWF f,d ;resta aritmética, destino = f - W
Estas operaciones (ADD W a F y SUBstract W de F) afectan a los tres bits de
estado C, DC
y Z.
El bit Z se pone en 1 si el resultado de la operación es 00000000, y se pone
en 0 si el
resultado tiene cualquier otro valor. La suma se realiza en aritmética binaria
pura sin signo. Si hay un acarreo del bit 7, es
decir que el resultado es mayor que 255, el bit C (carry) resulta 1, en caso
contrario
resulta 0. Si hay un acarreo del bit 3, es decir que la suma de las dos mitades
(nibbles)
menos significativas (bits 0 a 3) resulta mayor que 15, se pone en 1 el bit DC
(digit carry),
en caso contrario se pone en 0.
Las instrucciones que siguen son de simple operando, pero son casos
especiales ya que el
destino es siempre el registro seleccionado :
CLRF f ;borrado de contenido, f = 0
MOVWF f ;copia contenido W f, f = W
La instrucción CLRF (CLeaR File) afecta solo al bit Z que resulta
siempre 0.
La instrucción MOVWF (MOVe W a F) no afecta ningún bit de la palabra de
estado.
Instrucciones de Byte que operan sobre W y Literales
Estas instrucciones se refieren todas al registro W, es decir que uno de los
operandos de origen y el operando de destino son siempre el registro W. En
las instrucciones de este
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
13
grupo que tienen un segundo operando de origen, este es siempre una
constante de
programa literalmente incluida en la instrucción, llamada constante literal o
simplemente
literal.
El formato genérico de estas instrucciones es el siguiente :
0 1 2 3 4 5 6 7 8 9 10 11
k k k k k k k k
Los bits 0 a 7 especifican la constante literal de 8 bits que se utilizara en la
operación.
Las tres instrucciones que siguen son las operaciones lógicas tradicionales,
similares a las
que ya vimos anteriormente, pero realizadas entre una constante de
programa y el
registro W :
IORLW k ; operación OR lógica, W = W k
ANDLW k ; operación AND lógica, W = W k
XORLW k ; operación XOR lógica, W = W k
En estas tres instrucciones (Inclusive OR Literal W, AND Literal W y XOR
Literal W) el
único bit afectado de la palabra de estado del procesador es el Z, que se
pone en 1 si el
resultado de la operación es 00000000, y se pone en 0 si el resultado tiene
cualquier otro
valor.
La instrucción que sigue sirve para cargar una constante de programa en el
registro W :
MOVLW k ;carga constante en W, W = K
Esta (MOVe Literal W) instrucción no afecta ninguno de los bits de estado del
procesador.
La instrucción que sigue (CLeaR W) no correspondería incluirla en este
grupo, y pertenece
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
14
en realidad al primero, el de las instrucciones que operan sobre registros, ya
que se trata
de un caso especial de la instrucción CLRF, con destino W, y f = 0. La
incluimos aquí
porque como se le ha asignado un mnemónico particular referido
específicamente al
registro W, creemos que, desde el punto de vista del programador, es más
útil verla
dentro del grupo de instrucciones referidas a W.
CLRW ;borra el contenido de W, W = 0.
2. DESARROLLO DELA ACTIVIDAD
2.1. INICIO DE LA PROGRAMACIÓN
Muy importante antes de comenzar a programar conocer muy bien las puertas de entrada y salida del pic a que familia corresponde en nuestro caso el El PIC16F84, es un microcontrolador a 8 bits de la familia PIC perteneciente a la Gama Media.
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
15
2.2. DISPLAY DIGITAL La función a cumplir del display digital es la de al activar cada uno de los comandos me plasme un numero en el display comenzando en cero y al activas más de un botón nos realice la suma de los dos que se activen siendo el primer botón 1, el segundo 2, el tercero 4 y el cuarto botón 8 si sumamos estos números obtendremos el resultado de 15 .como este display solo muestra los números de 0 a 9 los números de 10 a 15 se representaran con letras del abecedario A ,B, C, D, E ,F.O en hexadecimal.
2.2.1. MONTAJE EN ISIS DEL DISPLAY DIGITAL
Ilustración 2- Arquitectura ISIS DISPLAY DIGITAL
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
16
2.2.2. COMPONENTES
PIC 16F84A
Ilustración 3
DISPLEY DE 7 SEGMENTOS; 7SEG-MPX1-CC
Ilustración 4
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
17
DIPSW-4
Ilustración 5
4 RESISTORES DE 360 Ω
Ilustración 6
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
18
2.2.3. PROGRAMACION EN MPLAB-X DISPLAY DIGITAL __CONFIG 0X3FF9 LIST P=16F84A ; DEF. PIC #INCLUDE <P16F84A.INC> ;================================================== W EQU 0 ; asignamos constantes F EQU 1 ;================================================== ORG 0X00 ; inicio código de programación CONFIGURA BSF STATUS, RP0 MOVLW B'11111111' MOVWF TRISA CLRF TRISB BCF STATUS, RP0 CLRF PORTB ; CONFIGURAR PUERTOS
CLRF PORTA DE ENTRADA Y SALIDA BUCLE MOVF PORTA, W CALL TABLA MOVWF PORTB ;SECUENCIA ALFA NUMERICA GOTO BUCLE ;=================================================
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
19
; CODIGO BINARIO TABLA ADDWF PCL, F RETLW B'00111111' RETLW B'00000110' RETLW B'01011011' RETLW B'01001111' RETLW B'01100110' RETLW B'01101101' RETLW B'11111101' RETLW B'00000111' RETLW B'01111111' RETLW B'01101111' RETLW B'01100111' RETLW B'01111100' RETLW B'00111001' RETLW B'01011110' RETLW B'01111001' RETLW B'01110001' END
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
20
2.3. AUTOFANTASTICO
La realización de la práctica llamada auto fantástico era la de en un led se varias secciones de luz se llevara a cabo la secuencia de recorrido de derecha a izquierda y viceversa
2.3.1. ARQUITECTURA EN ISIS
Ilustración 7
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
21
2.3.2. COMPONENTES
2 CAPACITORES DE 22 µf
1-CRYSTAL
1-PIC 16F84A
8-RESISTENCIAS DE 330Ω
LED BARGRAPH GREED
2.3.3. PROGRAMACIÓN LIST P=PIC16F84A Tipo de procesador #INCLUDE <P16F84A.INC> Se define el registro __CONFIG 0X3FF9 ;==========================================================
Definimos las constantes y variables que vamos a utilizar W EQU 0 F EQU 1 PDel0 EQU 0X10 PDel1 EQU 0X11 ;==========================================================
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
22
ORG 0X00 ; DEFINE LA POSICION DE INICIO DEL PROGRAMA CONFIGURA BSF STATUS, RP0; CAMBIO AL BANCO 1 CLRF TRISB ; DEFINE EL PTO B COMO SALIDA BCF STATUS, RP0; CAMBIO AL BANCO 0 CLRF PORTB ; INICIALIZA PUERTO B EN 0 BSF PORTB, 0 ; PONE A 1 EL BIT 0 DEL PUERTO B
Aquí configuro el registro y selección de banco 1, y defino al puerto B como salida.
También utilizamos el bucle para ejecutar la repetición BUCLE RLF PORTB, F ; ROTA EL BIT POR EL PUERTO B CALL DEMORA BTFSS PORTB, 7 GOTO BUCLE K RRF PORTB, F CALL DEMORA BTFSS PORTB, 0 GOTO K GOTO BUCLE ;==========================================================
Aquí utilizamos el picdel_sp una aplicación que nos realiza el código fuente que necesitamos
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
23
Utilizamos un retardo de 500 ms DEMORA movlw .239 ; 1 set número de repetición (B) Movwf PDel0 ; 1 | PLoop1 movlw .232 ; 1 set número de repetición (A) Movwf PDel1 ; 1 | PLoop2 clrwdt ; 1 clear watchdog PDelL1 goto PDelL2 ; 2 ciclos delay PDelL2 goto PDelL3 ; 2 ciclos delay PDelL3 clrwdt ; 1 ciclo delay Decfsz PDel1, 1; 1 + (1) es el tiempo 0? (A) Goto PLoop2 ; 2 no, loop Decfsz PDel0, 1; 1 + (1) es el tiempo 0? (B) Goto PLoop1 ; 2 no, loop PDelL4 goto PDelL5 ; 2 ciclos delay PDelL5 goto PDelL6 ; 2 ciclos delay PDelL6 goto PDelL7 ; 2 ciclos delay PDelL7 clrwdt ; 1 ciclo delay Return ; 2+2 Fin. ;==========================================================
Aquí finalizamos el proceso de programación.
END
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
24
2.4. CONTADOR DE 0-99
En la realización del contador de 0 a 99 se utilizaron dos display de 7 segmentos para poder visualizar el 99 .el fin de este es que se realice el conteo de 0 a 99 y al llegar a 99 se detenga.
2.4.1. DISEÑO ISIS
Ilustración 8
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
25
2.4.2. COMPONENTES PIC 16F84A
Ilustración 9
2-CONVERSOR 7447
Ilustración 10
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
26
2- DISPLAY DE 7 SEGMENTOS
Ilustración 11
2.4.3. PROGRAMACIÓN
__CONFIG 0X3FF9 LIST P=PIC16F84A #INCLUDE <P16F84A.INC> ;==========================================================
; DEFINIR LAS VARIABLES ;========================================================== W EQU 0 F EQU 1 UNID 0X10 DEC 0X11
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
27
;==========================================================
; CONFIGURACION; DEFINO POSICION Y CONFIGURACION DE PIC
;========================================================== ORG 0X00 CNGIGURA BSF STATUS, RPO; CAMBIO AL BANCO 1 CLRF TRISB ; DEFINO EL PUERTO B COMO CERO BSF STATUS, RPO; CLRF TRISA ;========================================================== INICIO CLRF UNID CLRF DEC BCF STATUS, Z ;=========================================================
; VOY AL CONTEO DE UNIDADES Y DECENAS E INICIO EL ALGORITMO
;========================================================= UNIDADES MOVF UNIDADES, W; MUEVO LO QUE HAY EN F A W SUBLW 0X0A ; SI ES DIEZ VAYA AL INICIO CALL INICIO ; LLAMADA INICIO CALL VISUALIZA ; MUESTRA EN EL DISPLAY INCF UNIDADES, F ; INCREMENTA GOTO UNIDADES
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
28
DECENAS BSF STATUS, Z CLRF UNIDADES INCF DECENAS, F MOVF DECENAS, W SUBLW 0X0A BTFSS STATUS, Z GOTO INICIO RETURN ;==========================================================
; AQUÍ VISUALIZO CADA BANCO Y DEFINO L SECUENCIA ;========================================================== VISIALIZA MOVF UNIDADES, W IORLW B '00100000' MOVWF PORTS CALL DEMORA MOVWF DEC,W IORLW B'00010000' CALL DEMORA RETURN
;================================================== AQUÍ UTILIZAMOS EL PICDEL_SP UNA APLICACIÓN QUE NOS REALIZA EL CÓDIGO FUENTE QUE NECESITAMOS ; UTILIZAMOS UN RETARDO DE 100 ms ;==================================================
DEMORA movlw .110 ; 1 set número de repetición (B) Movwf PDel0 ; 1 |
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
29
PLoop1 movlw .181 ; 1 set número de repetición (A) Movwf PDel1 ; 1 | PLoop2 clrwdt ; 1 clear watchdog Clrwdt ; 1 ciclo delay Decfsz PDel1, 1; 1 + (1) es el tiempo 0? (A) Goto PLoop2 ; 2 no, loop Decfsz PDel0, 1; 1 + (1) es el tiempo 0? (B) Goto PLoop1 ; 2 no, loop PDelL1 goto PDelL2 ; 2 ciclos delay PDelL2 clrwdt ; 1 ciclo delay Return ; 2+2 Fin. ;------------------------------------------------------------- END
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
30
2.5. CONTADOR DE 0-999
Este contador consiste en plasmar en un display de 7 segmentos MPX-4 un conteo de 0-999 en forma ascendente.
2.5.1. ARQUITECTURA ISIS
Ilustración 12
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
31
2.5.2. COMPONENTES:
3-TRANSISTORES 2N2222
Ilustración 13
DISPLAY 7 SEG.-MPX4-CA-BLUES
Ilustración 14
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
32
CONVERTIDO 7447
Ilustración 15
2-CAPACITORES DE 1000µ
Ilustración 16
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
33
CRYSTAL
Ilustración 17
PIC 16F84A
Ilustración 18
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
34
2.5.3. PROGRAMACIÓN DEFINIMOS EL PIC __CONFIG 0X3FF9 LIST P=16F84A #INCLUDE <P16F84A.INC> ;======================================================== ; DEFININO LAS VARIABLES Y LAS COSTANTES QUE VAMOS A UTILIZAR EN EL PIC. ;======================================================== W EQU 0 F EQU 1 PDel0 EQU 0X10 PDel1 EQU 0X11 UND EQU 0X12 DEC EQU 0X13 CEN EQU 0X14 ;========================================================== ORG 0X00 CONFIGURA BSF STATUS, RP0 CLRF TRISB BCF STATUS, RP0 CLRF PORTB
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
35
;========================================================== AQUIE EN EL INICIO HECEMOS EL CONTEO DE LAS UNIDADES Y LAS DECENAS Y CENTENAS ;========================================================== INICIO CLRF UND CLRF DEC CLRF CEN CLRF MIL BCF STATUS,Z ;=============================================================
; Moviendo lo que hay en F a W, llegando a afirmar que si es diez va al inicio ; -; ; hace un llamado a inicio y visualiza el incremento: ;============================================================= BUCLE CALL DEMORA MOVF UND, W SUBLW 0X0A BTFSC STATUS, Z CALL DECENAS CALL VISUALIZA INCF UND, F GOTO BUCLE ;==========================================================
Luego hacemos un proceso similar con las decenas. Incrementamos decenas en F. movemos decenas W. asignamos valores para el conteo para salta hacia las centenas: ;============================================================= DECENAS BCF STATUS, Z CLRF UND INCF DEC, F MOVF DEC, W SUBLW 0X0A BTFSC STATUS, Z CALL CENTENAS RETURN
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
36
CENTENAS BCF STATUS,Z CLRF DEC INCF CEN, F MOVF CEN, W SUBLW 0X0A BTFSC STATUS, Z CALL MIL RETURN MIL BCF STATUS, Z CLRF CEN INCF MIL, F MOVF MIL, W SUBLW 0X0A BTFSC STATUS,Z GOTO INICIO RETURN ;==========================================================
Aquí hacemos el proceso de visualización de bancos. Definimos la secuencia del puerto A y puerto B. ;========================================================== VISUALIZA MOVF UND,W IORLW B'00100000' MOVWF PORTB CALL DEMORA MOVF DEC,W IORLW B'00010000' MOVWF PORTB CALL DEMORA MOVF CEN,W IORLW B'01000000' MOVWF PORTB CALL DEMORA
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
37
MOVF MIL,W IORLW B'10000000' MOVWF PORTB CALL DEMORA RETURN
;================================================== AQUÍ UTILIZAMOS EL PICDEL_SP UNA APLICACIÓN QUE NOS REALIZA EL CÓDIGO FUENTE QUE NECESITAMOS ; UTILIZAMOS UN RETARDO DE
;------------------------------------------------------------------------------------------------ ; Generado con PDEEL ver SP r 1.0 el 19/04/2013 Hs 09:9:54:18 a.m. ; Descripción: Delay 1000000 ciclos ;------------------------------------------------------------------------------------------------- DEMORA movlw .93 ; 1 set número de repetición (c) Movwf PDel0 ; 1 PLoop1 movlw .71 ; 1 set número de repetición (B) Movwf PDel1 ; 1 PLoop2 clrwdt ; 1 set número de repetición (A PDelL1 goto PDelL2 PDelL2 Decfsz PDel1, 1 Goto PLoop2 Decfsz PDel0, 1 Goto PLoop1 PDelL3 goto PDelL4 PDelL4 goto PDelL5 PDelL5 clrwdt Return ;----------------------------------------------------------------------------------- El END SE DEBE PONER EN TODOS LOS FINALES DE LAS PROGRAMACIONES PARA QUE EL MPLAB X IDE v1.20 COMPILE BIEN; ================================================= AND
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
38
CIBERGRAFÍA
http://pitagoras.usach.cl/~eflores/lcc/micro/Temas/LengEnsambladorSobrePIC16F84.pdf
http://electronicadesarrollo.blogspot.com/2007/12/programacin-de-pics.html
http://www.unioviedo.es/ate/alberto/manualPic.pdf http://www.ramonmedina.name/files/universidad/ac/ac0001.PDF
Sistema de Gestión
de la Calidad
Regional META
Centro de Industria y servicios del META
TECNÓLOGO EN MANTENIMIENTO ELECTRÓNICO E INSTRUMENTAL
INDUSTRIAL
INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL
Fecha:
25 de Mayo
del 2013
John Fredy Correal Córdoba
Cristian Felipe Vargas Rodríguez Ficha No. 396991
39
Control del Documento
Nombre Cargo Dependencia Firma Fecha
Autores
JOHN FREDY CORREAL
CRISTIAN FELIPE VARGAS
Aprendices
Centro de Industria y
servicios del META
25
Mayo 2013
Tema INFORME DE LABORATORIOS DE PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR EN BASE HEXAGECIMAL