mplab practicas reporte lcd,pic
TRANSCRIPT
UNIVERSIDAD TECNOLÓGICA DE NEZAHUALCÓYOTL
TSU MECATRÓNICA ÁREA SISTEMAS DE MANUFACTURA FLEXIBLE
ASIGNATURA
SISTEMAS DIGITALES
REPORTE DE PRÁCTICA DE
MICROCONTROLADORES
GRUPO
MEM 32
ELABORADO POR
Estefanía Lara Gómez
Juan Carlos Martínez Hernández
Hugo Daniel Carreto Pérez
Cristian Adán García Mora
Ricardo Martin Olvera Castro
Verónica Muñoz Ramírez
Juan Francisco Rocha Paredes
PROFESORA
BENITEZ BARRERA JUAN JOSE
1 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
ÌNDICE
pág.
INTRODUCCIÒN………………………………….. 3
REPORTE DE………………………………………. 4PRACTICA
DESARROLLO…………………………………… 6
CONCLUSIÒN…………………………………. 19
UTN MECATRÓNICA
2 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
INTRODUCCIÒN
Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.
El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).
El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en general una buena CPU, ésta tenía malas prestaciones de E/S, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de E/S a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.
En 1985 la división de microelectrónica de General Instrument se separa como compañía independiente que es incorporada como filial (el 14 de diciembre de 1987 cambia el nombre a Microchip Technology y en 1989 es adquirida por un grupo de inversores) y el nuevo propietario canceló casi todos los desarrollos, que para esas fechas la mayoría estaban obsoletos. El PIC, sin embargo, se mejoró con EPROM para conseguir un controlador de canal programable. Hoy en día multitud de PICs vienen con varios periféricos incluidos (módulos de comunicación serie, UARTs, núcleos de control de motores, etc.) y con memoria de programa desde 512 a 32.000 palabras (una palabra corresponde a una instrucción en lenguaje ensamblador, y puede ser de 12, 14, 16 ó 32 bits, dependiendo de la familia específica de PICmicro).
3 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
REPORTE DE PRACTICA DE
MICROCONTROLADORES
OBJETIVO
Construir circuitos en Proteus , Microcode, MPLAB simulando diferentes tipos de programación utilizando microcontroladores y losdos pic mas usados como son el pic 16f628a y el 16f84a
DESARROLLO
Conocer la estructura de pic 16f628a
Aunque no son los microcontroladores que más prestaciones ofrecen, en los últimos años han ganado mucho mercado, debido al bajo precio de éstos, lo sencillo de su manejo y programación y la ingente cantidad de documentación y usuarios que hay detrás de ellos.
¿Para qué sirve un PIC?
Un PIC, al ser un microcontrolador programable, puede llevar a cabo cualquier tarea para la cual haya sido programado.
No obstante, debemos ser conscientes de las limitaciones de cada PIC. Así, el 16F84, PIC que se tratará en este tutorial, no podrá generar un PWM ni convertir señales analógicas en digitales, entre otras.
El 16F84
Se trata de un microcontrolador de 8 bits. Es un PIC de gama baja, cuyas características podemos resumir en:
- Memoria de 1K x 14 de tipo Flash- Memoria de datos EEPROM de 64 bytes- 13 líneas de E/S con control individual- Frecuencia de funcionamiento máxima de 10 Mhz.- Cuatro fuentes de interrupción* Activación de la patita RB0/INT* Desbordamiento del TMR0* Cambio de estado en alguna patia RB4-RB7* Fin de la escritura de la EEPROM de datos
4 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
- Temporizador/contador TMR0 programable de 8 bits- Perro Guardián o WatchDog
Generalmente se encuentra encapsulado en formato DIP18. A continuación puede apreciarse dicho encapsulado y una breve descripción de cada una de las patitas: imagen:
- VDD: alimentación- VSS: masa- OSC1/CLKIN-OSC2/CLKOUT: conexión del oscilador- VPP/MCLR: tensión de programación y reset- RA0-RA3: líneas de E/S de la puerta A- RA4: línea de E/S de la puerta A o entrada de impulsos de reloj para TMR0- RB0/INT: línea de E/S de la puerta B o petición de interrupción- RB1-RB7: líneas de E/S de la puerta B
5 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
Realizar el siguiente circuito en proteus y programar en mplab
nota * en esta práctica se necesitara las librerías que se pondrán en la carpeta de microchip en archivos de programa
;BARRIDO DE LEDS
__CONFIG _CP_OFF &_WDT_OFF &_PWRTE_ON &_XT_OSC
LIST P=16F84A
#INCLUDE <P16F84A.INC>
ORG 0
INICIO
BSF STATUS,RP0
CLRF TRISB
CLRF TRISA
BCF STATUS,5
PARPADEO
MOVLW 0X01
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X02
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X04
MOVWF TRISB
6 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
CALL Retardo_200ms
MOVLW 0X08
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X10
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X20
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X40
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X80
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X40
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X20
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X10
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X08
MOVWF TRISB
CALL Retardo_200ms
7 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
MOVLW 0X04
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X02
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X01
MOVWF TRISB
CALL Retardo_200ms
INCLUDE <RETARDOS.INC>
END
simulación en proteus
8 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
Realización de practica con un barrido diferente
;BARRIDO DE LEDS DIFERENTE POSICION
__CONFIG _CP_OFF &_WDT_OFF &_PWRTE_ON &_XT_OSC
LIST P=16F84A
#INCLUDE <P16F84A.INC>
ORG 0
INICIO
BSF STATUS,RP0
CLRF TRISB
CLRF TRISA
BCF STATUS,5
9 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
PARPADEO
MOVLW 0X81
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X42
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X24
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X18
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X24
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X42
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X81
MOVWF TRISB
CALL Retardo_200ms
GOTO PARPADEO
INCLUDE <RETARDOS.INC>
END
10 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
simulación en proteus
Realicion de programa configurando letras, números en un diplay
11 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
__CONFIG _CP_OFF &_WDT_OFF &_PWRTE_ON &_XT_OSC
LIST P=16F84A
#INCLUDE <P16F84A.INC>
ORG 0
INICIO
BSF STATUS,RP0
CLRF TRISB
CLRF TRISA
BCF STATUS,5
PARPADEO
MOVLW 0X40
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0Xf9
MOVWF TRISB
CALL Retardo_200ms
12 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
MOVLW 0X24
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0Xb0
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X08
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X83
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X46
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X21
MOVWF TRISB
CALL Retardo_200ms
MOVLW 0X06
MOVWF TRISB
CALL Retardo_200ms
INCLUDE <RETARDOS.INC>
GOTO PARPADEO
END
13 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
simulación en proteus
14 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
Realizar secuencia en Microcode
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2011 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 30/11/2011 *
'* Version : 1.0 *
'* Notes : BIG DOC TALENTO DEL BLOQUE UTN *
'* MECATRONICA : *
'****************************************************************
' DEFINICIÓN DE REGISTROS PARA EL LCD
DEFINE LCD_DREG PORTB 'UTILIZAR 4 BITS DEL PUERTO B PARA TX DE DATOS
DEFINE LCD_DBIT 4 'DESDE EL BIT B.4 AL BIT B.7
DEFINE LCD_RSREG PORTB'SELECCIÓN DEL PUERTO DEL REGISTRO
DEFINE LCD_RSBIT 1 'EN EL BIT B.1
DEFINE LCD_EREG PORTB 'UTILIZAR EL ENABLE EN EL PUERTO B
DEFINE LCD_EBIT 2 'EN EL BIT B.2
' ESTABLECER EL PUERTO B COMO SALIDA
TRISB=0
' TAMAÑO DE VARIABLES DEL CONTADOR
B0 VAR BYTE
15 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
B1 VAR BYTE
' PAUSA DE INICIO DEL LCD
PAUSE 200
'--------------------------------------------------------
LAPIZ:
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE, 1, " * BARRIO DE *" 'ESCRIBIR EN LA PRIMERA LÍNEA
LCDOUT $FE, $C0, " *** NEZA YORK *** " 'ESCRIBIR EN LA SEGUNDA LÍNEA
PAUSE 1000
'--------------------------------------------------------
'MOSTRAR LETRA POR LETRA
PAUSE 500
LCDOUT $FE, 1 ' LIMPIAR LCD
FOR B0 = 0 TO 13
LOOKUP B0,["** BIG DOG ** "],B1
LCDOUT $FE,$0C,B1
PAUSE 500
NEXT
'--------------------------------------------------------
'DESPLAZAMIENTO DE TEXTO EN LCD
FOR B0 = 144 TO 128 STEP -1
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,B0," ** CHACHACHA ** "
PAUSE 200
NEXT
16 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
'--------------------------------------------------------
'DESPLAZAMIENTO DE TEXTO EN LCD
FOR B0 = 144 TO 128 STEP -1
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,B0," ** PUDUL **"
PAUSE 200
NEXT
'--------------------------------------------------------
'DESPLAZAMIENTO DE TEXTO EN LCD
FOR B0 = 144 TO 128 STEP -1
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,B0," ** VERO XXX ** "
PAUSE 200
NEXT
'--------------------------------------------------------
'DESPLAZAMIENTO DE TEXTO EN LCD
FOR B0 = 144 TO 128 STEP -1
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,B0," ** CALAMARDO ** "
PAUSE 200
NEXT
'--------------------------------------------------------
'DESPLAZAMIENTO DE TEXTO EN LCD
FOR B0 = 144 TO 128 STEP -1
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,B0," ** MORZUE **"
PAUSE 200
17 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
NEXT
'--------------------------------------------------------
'DESPLAZAMIENTO DE TEXTO EN LCD
FOR B0 = 144 TO 128 STEP -1
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,B0," ** PERICO ** "
PAUSE 200
NEXT
'--------------------------------------------------------
'DESPLAZAMIENTO DE TEXTO EN LCD
FOR B0 = 144 TO 128 STEP -1
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,B0,"TALENTO DL BLOQE"
PAUSE 200
NEXT
GOTO LAPIZ
END
simulacion en proteus con programacion en microcode
18 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES
CONCLUSIÒN
Un microcontrolador es un circuito programable capaz de ejecutar las órdenes grabadas
en su memoria tiene varios bloques de funciones como memoria ROM RAM ,líneas de
entrada y salida , lógica de control depende también en que software utilizas para hacer la
programación ya que en cada programador existen varios lenguajes de programación
19 UTN_MECATRÒNICA_TALENTO DEL BLOQUE _SISTEMAS IGUITALES