Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
TERRITORIO DE CALIDAD
Microcontrolador = Microcomputadora
2
TERRITORIO DE CALIDAD
Robótica Automatismo Entretenimiento
3
TERRITORIO DE CALIDAD
Un software de computadora, llamado compilador, traduce y transforma nuestro
programa en código máquina, que es lo que realmente puede leer e interpretar
el microcontrolador.
TERRITORIO DE CALIDAD
En el diseño de un proyecto con microcontrolador, usted debe tomar en cuenta lo
siguiente:
3. Precio.
TERRITORIO DE CALIDAD
Temporizadores o Timers
TERRITORIO DE CALIDAD
PUERTO A
Los pines 0 a 3 y 5 del PORTA de los PIC’s, en uso como I/O digital, comparte
características similares con los otros puertos del PIC.
TERRITORIO DE CALIDAD
PORTA_4
Este puerto presenta una configuración conocida como Open Drain u Open
Collector (Colector Abierto en Español). Funicona como External Clock Input para
el TIMER0 (T0CKI).
TERRITORIO DE CALIDAD
PUERTO B
Todas las terminales del puerto B tienen una resistencia pull_up interna que se
pueden habilitar a través del bit RBPU del registro OPTION_REG(81h, 181h). Si RBPU
es 1 todas estas resistencias estarán deshabilitadas, si RBPU es 0 estarán habilitadas
solo en el caso de que el puerto en cuestión funcione como entrada.
TERRITORIO DE CALIDAD
1. Puede ser habilitado o deshabilitado por
software. La resistencia pull-up queda
deshabilitada automáticamente si es
programado como salida ese puerto.
2. Son muy usadas con teclados, botones,
etc.. para eliminar resistencias externas.
TERRITORIO DE CALIDAD
A través de la memoria RAM
Una vez definidos los puertos a utilizar, estos se pueden configurar y controlar como
entrada o como salida.
TERRITORIO DE CALIDAD
A través de la memoria RAM
Se puede trabajar bit a bit con los registros o variables definidas previamente:
• Bit nombre=posición.bit
#bit RB4=0x06.4
RB4=0;
TERRITORIO DE CALIDAD
Como escribir la instrucción para que por un puerto determinado se pueda presentar una
información determinada.
PORTC=0X0A;
Valor = PORTA;
TERRITORIO DE CALIDAD
A través de las siguientes directivas:
#USE FAST_IO()
#USE FIXED_IO
#USE STANDARD_IO
TERRITORIO DE CALIDAD
Como en el caso anterior también existe una función asociada a los pines, llamada
Pin-Xn, donde X es el puerto y n es el número de pin.
Ejemplo:
TERRITORIO DE CALIDAD
Ejemplo al usar la directiva #USE FAST_IO(B)
#include <16f877A.h>
#fuses XT,NOWDT
#use fast_io(B); Nota: con esta directiva no que
declarar el puerto a usar del pic.
void main() { Pero debe tenerse cuidado que
port_b_pullups (true); los registros TRIS del puerto usado
set_tris_ b(0x01); este completamente definidos.
output_low(PIN_B1);
while(true)
{
if (input(PIN_B0)==1)
output_low(PIN_B1);
else
output_high(PIN_B1);
}}
TERRITORIO DE CALIDAD
Ejemplo al usar la directiva #USE STANDARD_IO(B)
#include <16f877A.h>
#fuses XT,NOWDT Nota: Con esta directiva de igual
#use standard_io(B); forma no es necesario declarar los
pines del PIC a usar. Pero tiene la
void main() { ventaja que no es necesario
port_b_pullups (true); declarar el comando TRIS para
output_low(PIN_B1); declarar un pin de entrada o de
while(true) salida como el caso anterior.
{
if (input(PIN_B0)==1)
output_low(PIN_B1);
else
output_high(PIN_B1);
}}
TERRITORIO DE CALIDAD
Ejemplo al usar la directiva #USE FIXED_IO(B_outputs=pin_b1)
#include <16f877A.h>
#fuses XT,NOWDT Nota: Con esta directiva de igual
#use fixed_io(b_outputs=pin_b1); forma no es necesario declarar los
pines del PIC a usar. Solo se
void main() { declara el pin del PORTB a usar
port_b_pullups (true); como salida. Sin tener declarar el
output_low(PIN_B1); PORTB a usar como entrada.
while(true)
{
if (input(PIN_B0)==1)
output_low(PIN_B1);
else
output_high(PIN_B1);
}}
TERRITORIO DE CALIDAD
TERRITORIO DE CALIDAD
La directiva
Tiene la función de enviar datos por el pin D0 y recibirlos por el pin D1 del PIC. Para
poner en práctica esta directiva se hará uso de las funciones getc(), getch() y
getchar().
TERRITORIO DE CALIDAD
El primero es opcional y es el nombre de una función, si no se pone los datos se
transmitirán vía RS232 a través de los pines que se hayan configurado en la
directiva #use RS232.
El segundo parámetro es una cadena de caracteres encerrada entre comillas
dobles.
El tercer parámetro son datos o nombres de variables cuyos valores se quieren
mostrar.
TERRITORIO DE CALIDAD
#include <16F877.h>
#use delay(clock=4000000)
#include <LCD.C>
#use RS232(BAUD=9600, BITS=8, PARITY=N, XMIT=PIN_B1, RCV=PIN_B2)
void main()
{
int i1=9;
lcd_init(); //función de inicialización del LCD
//Mostramos una cadena en la terminal
printf("Esto es una cadena\r");
//Mostramos una cadena de texto junto con el valor //de una variable
//en la terminal.
printf("El valor de la variable i1 es: %d",i1);
TERRITORIO DE CALIDAD
Diferentes formatos en que se puede presentar una variable
TERRITORIO DE CALIDAD
TERRITORIO DE CALIDAD
1. Abrir Visual Studio
2. Crear un Proyecto Nuevo
3. Seleccione Aplicación de Windows Forms
Fig. 2
Fig. 1
TERRITORIO DE CALIDAD
4. Te saldrá la siguiente ventana en donde
pondrá el nombre del proyecto y el directorio en
donde lo guardara.
5. Para ello genere una carpeta nueva en donde
deberá guardar el proyecto.
6. Presione la pestaña crear localizada en la
parte inferior derecha. Cuando haya creado la
carpeta nueva y el nombre del proyecto.
Fig. 3
TERRITORIO DE CALIDAD
7. Aparecerá la siguiente ventana
Fig. 4
TERRITORIO DE CALIDAD
8. Abren el cuadro de herramientas
Fig. 5
TERRITORIO DE CALIDAD
9. A la derecha emergerá una ventana de donde seleccionará
controles comunes.
Fig. 6
TERRITORIO DE CALIDAD
11. Enseguida escriben char en el cuadro de herramientas y saldrá una ventana
como la siguiente.
Fig. 7
TERRITORIO DE CALIDAD
Configurando los elementos colocados en la ventana Form1
TERRITORIO DE CALIDAD
Configurando los elementos colocados en la ventana Form1
Fig. 9
TERRITORIO DE CALIDAD
Configurando los elementos colocados en la ventana Form1
5. Nos vamos a tipo de gráfico y seleccionamos Spline como muestra la figura 10.
Fig. 10
TERRITORIO DE CALIDAD
Configurando los elementos colocados en la ventana Form1
Fig. 11
TERRITORIO DE CALIDAD
Configurando los elementos colocados en la ventana Form1
8. En este punto seleccionamos los puntos máximos y mínimos de los ejes X y Y. Así
mismo el incremento entre las variables del eje X y Y. Quedara la ventana como la
figura 12.
Fig. 12
TERRITORIO DE CALIDAD
Configurando los elementos colocados en la ventana Form1
10. En este momento pasaremos al código. Para ello debe dar doble click al
primer botón.
TERRITORIO DE CALIDAD
Son declaraciones que controlan el proceso de ejecución del programa, ya que
permiten tomar decisiones:
1. If-Else
1.1 If-Else-If Con esta declaración se pueden tomar decisiones múltiples.
Dentro de estas declaraciones los operadores más utilizados son:
Lógicos De bits
&&= AND & = AND
|| = OR | = OR
TERRITORIO DE CALIDAD
1. While
2. Do_While
3. For
4. Switch-Case
5. Return
6. Break, Continue y Goto
TERRITORIO DE CALIDAD
Los punteros son variables utilizadas para almacenar la dirección de memoria de otra
variable.
TERRITORIO DE CALIDAD
Ejemplo 1:
TERRITORIO DE CALIDAD
¿Cómo se declara una variable de tipo puntero?
Ejemplo 1:
Char *c;
TERRITORIO DE CALIDAD
Explicación de los componentes usados
VISA Configure Serial Port
TERRITORIO DE CALIDAD
TERRITORIO DE CALIDAD
Uso del PLL
TERRITORIO DE CALIDAD
Uso del PLL
El PIC 18f4550 posee comunicación por USB , pero este modulo hay que
configurarlo para que funcione correctamente. El cristal de cuarzo que va
conectado entre OSC1 y OSC2 se ocupa para poner en operación el módulo
USB como para hacer funcionar el programa a la velocidad requerida por el
usuario. Para el desarrollo de esta práctica usaremos:
#fuses HSPLL,NOWDT,NOLVP,USBDIV,PLL5,CPUDIV1,VREGEN
TERRITORIO DE CALIDAD
Uso del PLL
CPUDIV1 //El clock para el procesador serán los 96 MHz del PLL divididos para 2
(48MHz)
Con esto se logra que el módulo USB opere a 48 MHz, para ello se deberá
usar un cristal de cuarzo de 20 MHz que será dividida por 5 internamente.
Esto se consigue con la directiva PLL5, pero internamente los 20 MHz se
TERRITORIO DE CALIDAD