1. PROGRAMACIÓN PIC
Diseño práctico de aplicaciones
Estudio basado en el Data Sheet
¿QUÉ ES UN MICROCONTROLADOR?
Circuito electrónico digital.
Características:
Chip con patillas.
Ejecuta un programa que se encuentra
en su interior.
Contiene todos los componentes de un
ordenador pero de forma simplificada.
Conexión de periféricos más simples.
Iniciación al diseño electrónico y 2
programación de PICs 2008
1
Israel San José González
2. DIFERENCIA ENTRE:
MICROPROCESADOR-MICROCONTROLADOR
Microprocesador
Sistema abierto con el que puede construirse un
computador con las características que se desee.
Iniciación al diseño electrónico y 3
programación de PICs 2008
DIFERENCIA ENTRE:
MICROPROCESADOR-MICROCONTROLADOR
Microcontrolador
Sistema cerrado que contiene un computador
completo y de prestaciones limitadas que no se
pueden modificar.
Iniciación al diseño electrónico y 4
programación de PICs 2008
2
Israel San José González
3. ¿POR QUÉ Y DÓNDE SE UTILIZAN
LOS MICROCONTROLADORES?
Impacto de los microcontroladores.
Se utilizan en la mayoría de circuitos
electrónicos de aplicación específica.
Motivo: barato, fiable y rápido.
Iniciación al diseño electrónico y 5
programación de PICs 2008
ARQUITECTURA INTERNA
Características principales del pic 12f675:
Procesador tipo Risc.
Procesador segmentado.
Arquitectura Hardvard.
Esquema genérico de la arquitectura del pic 12f675.
Iniciación al diseño electrónico y 6
programación de PICs 2008
3
Israel San José González
4. ARQUITECTURA INTERNA
Arquitectura específica
del pic 12f675.
In c ac ón a d seño e ectrón co y 7
programac ón de PICs 2008
ELEMENTOS DE LA ARQUITECTURA
Elemento de proceso y comunicación con la memoria.
Arquitectura Hardvard.
Diferencia en arquitectura entre microcontrolador y
microprocesador.
Iniciación al diseño electrónico y 8
programación de PICs 2008
4
Israel San José González
5. ELEMENTOS DE LA ARQUITECTURA
Memoria de programa.
Memoria de datos.
Líneas de entrada/salida.
Iniciación al diseño electrónico y 9
programación de PICs 2008
LENGUAJE DE PROGRAMACIÓN
Lenguaje ensamblador.
Lenguaje C.
Lenguaje Basic.
Lenguaje Parallax-Basic.
Iniciación al diseño electrónico y 10
programación de PICs 2008
5
Israel San José González
6. MATERIAL SOFTWARE
Mplab IDE
IC-Prog.
Proteus ISIS.
Iniciación al diseño electrónico y 11
programación de PICs 2008
PIC 12f675
Pic de trabajo
6
Israel San José González
7. DIAGRAMA DE PINES
Perteneciente a la gama enana de 8 pines, desarrollado
por la empresa Microchip.
Diagrama de pines 12f675
Vista real del 12f675
Iniciación al diseño electrónico y 13
programación de PICs 2008
CARACTERÍSTICAS 12f675
Características más relevantes:
4 canales analógicos/digitales.
Iniciación al diseño electrónico y 14
programación de PICs 2008
7
Israel San José González
8. CARACTERÍSTICAS 12f675
La gran particularidad:
Multifuncionalidad de sus pines.
Nombre Función Descripción
GP0/AN0/CIN+/ICSPDAT GP0 Bidireccional de escritura, funciona como entrada y salida,
programable para cambios de voltaje e interrupciones.
AN0 Canal 0 de entrada, para manejar conversión A/D.
CIN+ Comparador de voltajes de entrada.
ICSPDAT Programación serial de entrada y salida.
GP1/AN1/CIN-/VREF/ GP1 Bidireccional de escritura, funciona como entrada y salida,
programable para cambios de voltaje e interrupciones.
AN1 Canal 0 de entrada, para manejar conversión A/D.
CIN- Comparador de voltajes de entrada.
VREF Referencia de voltaje externa.
ICSPCLK Reloj para programación serial.
Iniciación al diseño electrónico y 15
programación de PICs 2008
CARACTERÍSTICAS 12f675
Nombre Función Descripción
GP2/AN2/T0CKI/INT/COUT GP2 Bidireccional de escritura, funciona como entrada y salida,
programable para cambios de voltaje e interrupciones.
AN2 Canal 2 de entrada, para manejar conversión A/D.
TOCKI Reloj Timer0 de entrada.
INT Manejo de interrupciones externas.
COUT Comparador de salidas.
GP3/MCLR/VPP GP3 Puerto de entrada para escritura e interrupciones.
MCLR Reset chip (entrada negada).
VPP Programación voltajes.
GP4/AN3/T1G/OSC2/ GP4 Como los demás.
AN3 Canal 3 de entrada, para manejar conversión A/D.
T1G Puerta para TMR1.
OSC2 Resonador del cristal.
CLKOUT Salida para la señal de oscilación.
GP5/T1CKI/OSC1/CLKIN GP5 Como los demás.
T1CKI Reloj TMRO1.
OSC1 Resonador de cristal.
CLKIN Entrada para reloj externo.
Iniciación al diseño electrónico y 16
programación de PICs 2008
8
Israel San José González
9. ORGANIZACIÓN DE LA MEMORIA:
ORGANIZACIÓN DE LA MEMORIA DE DATOS
Particionada en dos bancos, que
contiene:
Registros de Propósito General.
Registros De Funciones Especiales.
Selección del banco: RPO (STATUS,5)
RPO=0, banco 0 seleccionado.
RPO=1, banco 1 seleccionado.
Iniciación al diseño electrónico y 17
programación de PICs 2008
ARCHIVOS DE REGISTROS
DE PROPÓSITO GENERAL
Archivo de Registros, organizado en
64x8 bit.
Cada registro es direccionado directa
o indirectamente mediante el FSR.
Iniciación al diseño electrónico y 18
programación de PICs 2008
9
Israel San José González
10. REGISTROS DE FUNCIÓN ESPECIAL
Usados por la CPU y funciones
periféricas.
Estan en la RAM estática.
Iniciación al diseño electrónico y 19
programación de PICs 2008
FIGURA ORGANIZACIÓN
DE LA MEMORIA DE DATOS
DEL PIC 12f675
In c ac ón a d seño e ectrón co y 20
programac ón de PICs 2008
10
Israel San José González
11. HERRAMIENTAS DE TRABAJO
MPLAB-IDE
INTRODUCCIÓN
Múltiples prestaciones:
Escribir el programa: ASM o C.
Crear proyectos.
Ensamblar o compilar.
Simular.
Programar el componente (*).
Iniciación al diseño electrónico y 22
programación de PICs 2008
11
Israel San José González
12. PARTES DE MPLAB
Editor.
Project Manager.
Simulador.
Ensamblador.
Linker.
Programador.
Iniciación al diseño electrónico y 23
programación de PICs 2008
CREANDO UN PROYECTO
1. Escritura del programa:
File/New
Edición del programa en ASM o C.
File/Save As…
2. Creacción del proyecto:
Proyect/Proyect Wizard
Escoja el microcontrolador.
Escoja el conjunto de lenguaje Microchip MPASM Tolsuit para
ensamblador, HI-TECH Universal Toolsuit para C.
Póngale nombre al proyecto.
Escoja el directorio donde trabajará.
Seleccione el archivo fuente y presione en Add.
Por último, pulse Finalizar y habrá creado el proyecto.
Iniciación al diseño electrónico y 24
programación de PICs 2008
12
Israel San José González
13. CREANDO UN PROYECTO
Selección de las herramientas de lenguaje. Inserción del código fuente
Iniciación al diseño electrónico y 25
programación de PICs 2008
CREANDO UN PROYECTO
Una vez creado el proyecto se habilitaran algunos iconos:
Una vez creado el proyecto, haga click en el icono Built All . Con esto
compilará el programa y se creraran archivos de error, mapa del
programa, archivos objetos y archivos .hex.
Iniciación al diseño electrónico y 26
programación de PICs 2008
13
Israel San José González
14. MENU VIEW
Project.
Output.
Toolbars.
Disassembly Listing.
Hardware Stack.
Program Memory.
File Registers.
EEPROM.
Watch.
Special Function Registers
Iniciación al diseño electrónico y 27
programación de PICs 2008
ARCHIVOS DEL PROYECTO
E001.ASM Archivo del programa en ensamblador
E001.C Archivo del programa en C
E001.COD
E001.ERR
E001.HEX Archivo a cargar en el PIC
E001.LST
E001.MCP Archivo de proyecto.
E001.MCS
E001.MCW Archivo de espacio de trabajo.
Iniciación al diseño electrónico y 28
programación de PICs 2008
14
Israel San José González
15. OPERACIONES HABITUALES
File/New. Para crear un archivo en ASM o C.
File/Open. Para abrir un archivo en ASM o C.
Project/Project Wizard. Para crear rápidamente un proyecto.
Project/Open ó File/Open Workspace. Para abrir proyectos existentes.
View/Project. Para mostrar ASM o C.
Project/Build all. Para crear/actualizar archivos, incluido HEX.
Debugger/Select Tool/MPLAB SIM. Para seleccionar el simulador.
Para la simulación:
Cerramos la ventana Output
Aparecerá una flecha en la primera instrucción del ASM.
View/File Registers. Para ver la memoria RAM completa.
View/Special Function Registers. Para ver sólo los registros especiales.
Debugger/Stimulus Controller. Para poder cambiar las entradas.
Minimizamos/cerramos ventanas innecesarias y con Window/Tile organizamos
las ventanas.
Utilizamos los iconos de simulación, como Step Into y comenzamos la
simulación.
También es conveniente utilizar el menu contextual en el ASM (pulsando botón
derecho del ratón) para realizar acciones como por ejemplo Set PC at Cursor que
coloca el PC en la instrucción donde se encuentre el cursor.
Iniciación al diseño electrónico y 29
programación de PICs 2008
PRIMER EJEMPLO
Encendido y apagado de LEDs
15
Israel San José González
16. In c ac ón a d seño e ectrón co y 31
programac ón de PICs 2008
In c ac ón a d seño e ectrón co y 32
programac ón de PICs 2008
16
Israel San José González
17. SEGUNDO EJEMPLO
El coche fantástico
In c ac ón a d seño e ectrón co y 34
programac ón de PICs 2008
17
Israel San José González