módulo 1: introducción al pic16f87x
Post on 30-May-2018
237 Views
Preview:
TRANSCRIPT
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
1/19
1
Escuela Politcnica SuperiorUniversidad Autnoma de Madrid
Juan Gonzlez
PIC 16F87X
Curso de microcontroladores PIC. Semana del 25-29 Mayo 2009.
Andrs Prieto-Moreno Ricardo Gmez
Flir Networked Systems Flir Networked Systems
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
2/19
2
PIC 16F87X
MDULO 1:
Introduccin al PIC16F87X
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
3/19
3
Vistazo generalPIC16F876
Flash : Hasta 8K RAM: 256 bytes EEPROM: Hasta 256 bytes Instrucciones : 14 bits Datos : 8 bits Pila : 8 niveles
2 13 = 2 3 .2 10 = 8K
2 9 = 512
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
4/19
4
Patillaje pic16f876a
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
5/19
5
Programacin ICSP(In-Circuit Serial Programing)
5 cables Pin RB7: Datos Pin RB6: Reloj Comunicacin serie sncrona
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
6/19
6
PICMIN: Hola mundo PIC
Ejemplo de conexionado mnimopara que el PIC funcione: Circuito de Reloj Reset Alimentacin
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
7/19
7
Programacin
en lenguaje C
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
8/19
8
Entorno de trabajo
HARDWARE: PIC16F876A Tarjeta SKYPIC (Hardware libre)
http://www.iearobotics.com/wiki/index.php?title=Skypic
SOFTWARE:
Compilador C: SDCC 2.8.0 http://sdcc.sourceforge.net/
Ensamblador: GPUTILS http://gputils.sourceforge.net/
Grabacin: Mediante Bootloader. Programa PYDOWNLOADER
http://www.iearobotics.com/wiki/index.php?title=Pydownloader-wx LINUX: piklab
http://piklab.sourceforge.net/
Entorno libre y multiplataforma
http://www.iearobotics.com/wiki/index.php?title=Pydownloader-wxhttp://www.iearobotics.com/wiki/index.php?title=Pydownloader-wx -
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
9/19
9
Metodoga de trabajo
Fich1.c
Fich2.c
FichN.c
Fich1.asm
Fich2.asm
FichN.asm
Fich1.o
Fich2.o
FichN.o
Programa.hex
Ficheros fuente(en C)
Compilar Ensamblar Enlazar
Ficheros fuente(en ensamblador)
Cdigo mquina(objetos)
Ejecutable
Gr a b a ci n
Inicio
Compilacin
+
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
10/19
10
Puerto BServos Reset
P ul s
a d or
P r u
e b a s
( R B 0
)
P u e r t o C
Alimentaci n (4.5-6v)
P u e r t o
A
P u e r t o
d e
P r o g
.
ICD2 RS232
Tarjeta Skypic
Led de pruebas (RB1)
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
11/19
11
#include
typedef unsigned int word;word at 0x2007 CONFIG =
_RC_OSC &_WDT_ON &_PWRTE_OFF &_BODEN_ON &_LVP_ON &_CPD_OFF &_WRT_OFF &_DEBUG_OFF &_CP_OFF;
void isr() interrupt 0{
}
void main(){ }
Plantilla para SDCC
2.-Palabra de configuracin del PIC
1- Cabecera con el PIC a emplear
3.- Rutina de atencin interrupciones
4.- Programa principal
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
12/19
12
#include
void main(){
TRISB1 = 0;
RB1 = 1;while(1);
}
Ejemplo Hola Mundo
Palabra de configuracinestablecida al grabar bootloader No se usan interrupciones Encender el led de la Skypic
Configurar pin RB1 para salida
Activar pin RB1 (salen 5v)
Bucle infinito
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
13/19
13
Compilando Hola Mundo
sdcc -Wl-ainhx8m -mpic14 -p16f876a -o hola_mundo hola_mundo.c
Compilacin en lnea de comandos:
Comando
Formato parael ejecutable(.hex)
Familia PIC16
PIC a emplear
Fichero de salida
Fichero fuente
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
14/19
14
Compilando Hola Mundo (II): Anjuta
Abrir proyecto curso_c_hola_mundo.anjuta Usamos fichero Makefile Pulsar shift-F11 o bien ir a Construir/Construir proyecto
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
15/19
15
Compilando Hola Mundo (III): Piklab
Abrir proyecto : hola_mundo.piklab (Proyecto/Open) Pulsar F8 o bien ir a Construir/Construir proyecto
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
16/19
16
Descargando el firmware en la Skypic
Seleccionar puerto serie donde estconectada la Skypic
Windows Linux
COM1 /dev/ttyS0
COM2 /dev/ttyS1
Si usamos conversores USB-serie en Linux,los dispositivos se llaman: /dev/ttyUSB0 ...
Pinchar en Buscar y seleccionar el fichero .hex a descargar
Pinchar en Grabar La descarga comienza automticamente (si est puesto el jumper JP4 ). Si no, hay que pulsar el botn de reset en la Skypic
Otra formas ms rpida es arrastrar directamente el fichero .hex alpydownloader Una vez finalizada la carga (tarda 1 seg. Ms o menos), se encederel led de la Skypic.
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
17/19
17
Descargando el firmware en la Skypic (II)
El Programa trae opciones para cargardirectamente firmware de pruebas Muy til para probar la placa sin tener queestar compilando ningn fichero
Prueba 1: Parpadeo del led
Prueba 2: Parpadeo del led(ms rpidamente)
Programas especficos. El botn ECO carga un programaque hace eco de todo lo recibido por el puerto serie. Sepuede comprobar abriendo un terminal decomunicaciones
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
18/19
18
Listos para programar el PIC!
-
8/14/2019 Mdulo 1: Introduccin al PIC16F87x
19/19
19
Escuela Politcnica SuperiorUniversidad Autnoma de Madrid
Juan Gonzlez
PIC 16F87X
Curso de microcontroladores PIC. Semana del 25-29 Mayo 2009.
Andrs Prieto-Moreno Ricardo Gmez
Flir Networked Systems Flir Networked Systems
top related