Utcj Curso Real Ice 1104
Transcript of Utcj Curso Real Ice 1104
![Page 1: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/1.jpg)
UNIVERSIDAD TECNOLOGICADE CIUDAD JUAREZ
Microcontroladores Microchip con MPLAB(PIC16F886)
![Page 2: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/2.jpg)
UTCJ 2
PIC16F886
JRJ
![Page 3: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/3.jpg)
UTCJ 3
PIC16F886
JRJ
Parámetro Valor Tipo de memoria de programa Flash Memoria de programa (KB) 14 Velocidad de CPU (MIPS) 5 RAM (Bytes) 368 EEPROM de datos (bytes) 256
Periféricos de comunicación digital 1-A/E/USART, 1-MSSP(SPI/I2C)
Periféricos Captura/Compara/PWM 1 CCP, 1 ECCP
Timers 2 x 8-bit, 1 x 16-bit
ADC 11 ch, 10-bit Comparadores 2 Rango de temperatura (°C) -40 to 125
Rango de voltaje de operación (V) 2 to 5.5
Conteo de terminales 28
![Page 4: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/4.jpg)
UTCJ 4
PIC16F886
JRJ
![Page 5: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/5.jpg)
UTCJ 5
Tarjeta DEMO de 28 pin
Esta tarjeta es una placa de circuito impreso de demostración para PICs de 28 terminales.Cuenta con un PIC16F886, cuatro LEDs, un botón pulsador y un potenciómetro.Tiene varios puntos de prueba para accesar a las terminales de E/S del microcontrolador y una área generosa para prototipos.
JRJ
![Page 6: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/6.jpg)
UTCJ 6
Tarjeta DEMO de 28 pinDispositivos soportados
JRJ
![Page 7: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/7.jpg)
UTCJ 7
Tarjeta DEMO de 28 pin
JRJ
![Page 8: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/8.jpg)
UTCJ 8
Tarjeta DEMO de 28 pin
JRJ
![Page 9: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/9.jpg)
UTCJ 9
¿Qué es REAL ICE?
Es un emulador en circuito que es controlado por una PC corriendo el software MPLAB. La aplicación puede variar desde desarrollo de software hasta integración de hardware para pruebas de manufactura a servicio de campo.Soporta desarrollo de hardware y software para microcontroladores PIC y controladores de señal digital dsPIC que están basados en la capacidad de programación serial (ICSP).JRJ
![Page 10: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/10.jpg)
UTCJ 10
Uso de MPLAB + REAL ICE
• Como emulador/depurador (debugger)– Permite la ejecución del programa del PIC
controlada desde la computadora. (Breakpoints, por paso)
• Como programador– Graba el programa en el PIC y puede ejecutarse sin
el MPLAB REAL ICE.
JRJ
![Page 11: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/11.jpg)
UTCJ 11
Conexión para tarjetas de aplicación
JRJ
![Page 12: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/12.jpg)
UTCJ 12
Conexión para tarjetas de aplicación
• No usar resistencias pull-ups en las terminales PGC/PGD. Dividen los niveles de voltaje debido a que estas líneas tienen resistencias de 4.7 kΩ en el emulador.
• No usar capacitores en las terminales PGC/PGD. Previene transiciones rapidas en la líneas de datos y reloj durante las comunicaciones de programación y depuración.
• No usar capacitores en la terminal MCLR. Previene transiciones rapidas del VPP. Una resistencia pull-up es suficiente.
• No usar diodos en las terminales PGC/PGD. Previene la comunicacion bidireccional entre el emulador y el dispositivo objetivo.JRJ
![Page 13: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/13.jpg)
UTCJ 13
Uso de MPLAB + REAL ICE
1. Abrir MPLAB2. Seleccionar el PIC16F886 (Configure > Select Device)3. Crear un proyecto. (Project > Project Wizard)
a. Device: PIC16F886b. Toolsuite:HI-TECH C Compilerc. Proyecto: practica1.mcp
4. Crear el archivo fuente, guardarlo como «main.c» y agregar al proyecto
5. Establecer los valores de configuración del PIC (Configure > Configuration bits)
JRJ
![Page 14: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/14.jpg)
UTCJ 14
Uso de MPLAB + REAL ICE
JRJ
![Page 15: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/15.jpg)
UTCJ 15
Uso de MPLAB + REAL ICE
6. Compilar proyecto7. Conectar el MPLAB REAL ICE a la computadora y
a la tarjeta demo8. Conectar la tarjeta demo a la fuente de +5V9. Seleccionar el depurador (Debugger > Select tool
> REAL ICE)a. Programar el microcontroladorb. Correr el programa (continuo o por pasos)c. Comprobar el circuitod. Salir del depurador (Debugger > Select tool > None)
JRJ
![Page 16: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/16.jpg)
UTCJ 16
Uso de MPLAB + REAL ICE
11.Seleccionar el programador (Programmer > Select tool > REAL ICE)
a. Programar el microcontroladorb. Salir del programador (Programmer > Select tool
> None)c. Desconectar la tarjeta demo del REAL ICE.d. Comprobar el funcionamiento del circuito.
JRJ
![Page 17: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/17.jpg)
UTCJ 17
PRACTICAS
1. Activar salidas digitales2. E/S digitales3. Retardos4. Entradas analógicas
JRJ
![Page 18: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/18.jpg)
UTCJ 18
1. Activar salidas digitales
• Enviar un numero binario (5) de 4 bits al puerto B.
JRJ
![Page 19: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/19.jpg)
UTCJ 19
1. Código fuente#include <htc.h>
void main()
// Configura PORTB como salidas digitales
ANSELH=0;
TRISB=0;
PORTB=0;
for(;;)
PORTB=0x05;
JRJ
![Page 20: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/20.jpg)
UTCJ 20
2. E/S digitales
• El interruptor conectado a RB4 controlará el encendido del led de RB0, y se apagará al presionar el boton conectado en RB5.
• El interruptor de RB6 controlará el LED de RB1.
JRJ
![Page 21: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/21.jpg)
UTCJ 21
2. Código fuente#include <htc.h>
void main()
ANSELH=0; // Configura PORTB como salidas digitales
TRISB=0b11110000;
PORTB=0;
for(;;)
if (RB4==0) // Boton Start Enciende Led
RB0=1;
if (RB5==0) // Boton Stop Apaga Led
RB0=0;
RB1=!RB6; // El valor inverso de RB6 se refleja en RB1
JRJ
![Page 22: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/22.jpg)
UTCJ 22
2. Circuito
JRJ
![Page 23: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/23.jpg)
UTCJ 23
3. Retardos
• Encender los 4 LEDs de la Tarjeta Demo en secuencia.
JRJ
![Page 24: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/24.jpg)
UTCJ 24
3. Código fuente#include<htc.h>
#define _XTAL_FREQ 8000000
void main()
ANSELH=0; // Configura PORTB como salidas digitales
TRISB=0b11110000;
PORTB=0;
for(;;)
PORTB=0b00000001;
__delay_ms(200); __delay_ms(200); __delay_ms(200); __delay_ms(200);
PORTB=0b00000010;
__delay_ms(200); __delay_ms(200); __delay_ms(200); __delay_ms(200); PORTB=0b00000100;
__delay_ms(200); __delay_ms(200); __delay_ms(200); __delay_ms(200);
PORTB=0b00001000;
__delay_ms(200); __delay_ms(200); __delay_ms(200); __delay_ms(200);
JRJ
![Page 25: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/25.jpg)
UTCJ 25
3. Código fuente#include<htc.h>
#define _XTAL_FREQ 8000000
void retardo1seg(void)
unsigned int i=0;
for(i=1;i<=5;i++)
__delay_ms(200);
void main()
ANSELH=0; // Configura PORTB como salidas digitales
TRISB=0b11110000;
PORTB=0;
for(;;)
PORTB=0b00000001;
retardo1seg();
PORTB=0b00000010;
retardo1seg();
PORTB=0b00000100;
retardo1seg();
PORTB=0b00001000;
retardo1seg();
JRJ
![Page 26: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/26.jpg)
UTCJ 26
4. Entradas analógicas
• Mostrar el valor de voltaje de un potenciómetro de manera progresiva en 4 LEDs.
JRJ
![Page 27: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/27.jpg)
UTCJ 27
4. Código fuente
#include <htc.h>
#define _XTAL_FREQ 8000000
void main()
unsigned int DATO=0;
// Configura RA0 como entrada analógica
ANSEL=0x01;
TRISA=0x01;
// Configura PORTB como salidas digitales
ANSELH=0;
TRISB=0;
PORTB=0;
// Configura ADC
// Resultado justificado a la izquierda ADFM=0
// Vref-=VSS
// Vref+=VDD
ADCON1=0;
JRJ
for(;;)
ADCON0=0b01000001;
//01------ Fosc/8
//--0000-- Canal A0 seleccionado
//-------1 ADC habilitado
__delay_us(20);
GODONE=1;
while(GODONE);
DATO=ADRESH;
if(DATO<30)
PORTB=0;
else if(DATO<60)
PORTB=1;
else if(DATO<120)
PORTB=3;
else if(DATO<160)
PORTB=7;
else
PORTB=15;
![Page 28: Utcj Curso Real Ice 1104](https://reader033.fdocuments.mx/reader033/viewer/2022061303/54fb01114a7959434c8b47a4/html5/thumbnails/28.jpg)
UTCJ 28
REFERENCIAS
• Hoja de datos de PIC16F886. http://ww1.microchip.com/downloads/en/DeviceDoc/41291F.pdf
• Tutoriales de programación en ensamblador y PICC. http://gooligum.com.au/tutorials.html
JRJ