SlideShare una empresa de Scribd logo
MICROPROCESADORES Y MICROCONTROLADORES I
LIST P=16F877 ; Modelo del pic al compilador
INCLUDE<P16F887.INC> ; esto incluye una librería donde se definen los
; esto es un comentario
; definición de variables
OPCION_TMR0 EQU 0X01
VAR1 EQU 0X20 ; variable VAR1 en dirección 0x20, de la memoria de
datos
VAR2 EQU 0X21 ; variable VAR1 en dirección 0x21, de la memoria de
datos
ORG 0
GOTO INICIO ; saltar el vector de interrupcion
ORG 4
GOTO INTERRUPCIONES
FUNCION1
; desarrollo de la función
RETURN
INICIO ; programa principal
;programa…………………..
END
UNIDAD II: PROGRAMACION EN LENGUAJE EMSAMBLADOR
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON
MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
Ventajas de lenguajes de programación de alto nivel
A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas
desventajas:
-Incluso una sola operación en el programa escrito en ensamblador consiste en
muchas instrucciones, haciéndolo muy largo y difícil de manejar.
-Cada tipo de microcontrolador tiene su propio conjunto de instrucciones que un
programador tiene que conocer para escribir un programa
-Un programador tiene que conocer el hardware del microcontrolador para escribir
un programa
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
Lenguaje C
El lenguaje C dispone de todas las ventajas de un lenguaje de programación de alto
nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre
los bytes como sobre los bits (operaciones lógicas, desplazamiento etc.). Las
características de C pueden ser muy útiles al programar los microcontroladores.
Además, C está estandarizado (el estándar ANSI), es muy portable, así que el mismo
código se puede utilizar muchas veces en diferentes proyectos. Lo que lo hace
accesible para cualquiera que conozca este lenguaje sin reparar en el propósito de
uso del microcontrolador. C es un lenguaje compilado, lo que significa que los
archivos fuentes que contienen el código C se traducen a lenguaje máquina por el
compilador
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
Este lenguaje es muy similar al C estándar, no obstante en determinados aspectos
difiere del ANSI estándar en algunas características. Algunas de estas diferencias se
refieren a las mejoras, destinadas a facilitar la programación de los
microcontroladores PIC, mientras que las demás son la
consecuencia de la limitación de la arquitectura del hardware de los PIC. Aquí vamos a
presentar características específicas del lenguaje mikroC en la programación de los
microcontroladores PIC. El término C se utilizará para referirse a las características
comunes de los lenguajes C y mikroC.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: REGISTRO DE CONFIGURACION PUERTO DIGITALES Y
ANALOGICOS
MICROPROCESADORES Y MICROCONTROLADORES I
EL mikroC PRO permite acceso individual a cada bit en variables de 8 bits (char and
unsigned short). Simplemente usando el selector (.) seguido de uno de los
identificadores F0, F1, … , F7. Siendo F7 el bit mas significativo.
Ejemplo:
PORTA.F0 = 1;
i=PORTD.F3 ;
PORTB.F5 = PORTA.F4;
` ANSEL.F0=1; ANSEL.ANS0=1;
Si se está familiarizado con el chip, también puede acceder a los bits por nombre:
//Borrar TMR0F:
INTCON.TMR0F = 0;
TRISA.F2=0; // pin 2 puerto A como salida
UNIDAD II: ACCESO INDIVIDUAL A CADA BIT
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: TIPOS DE DATOS
Tipo
Tamaño en
Byte
Rango
(Sin signo) char 1 0 .. 255
signed char 1 - 128 .. 127
(Con signo) short (Entero) 1 - 128 .. 127
unsigned short (Entero) 1 0 .. 255
(Con signo) int 2 -32768 .. 32767
unsigned (Entero) 2 0 .. 65535
(Con signo) long (Entero) 4 -2147483648 .. 2147483647
unsigned long (Entero) 4 0 .. 4294967295
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: TIPOS DE DATOS
Tipo
Tamaño en
Byte
Rango
float 4
±1.17549435082 * 10-38 ..
±6.80564774407 * 1038
double 4
±1.17549435082 * 10-38 ..
±6.80564774407 * 1038
long double 4
±1.17549435082 * 10-38 ..
±6.80564774407 * 1038
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: DECLARACION DE LAS VARIABLES
Decimal
int i ;
int j = -10; /* decimal -10 */
int p = 0; /* decimal 0 */
Hexadecimal
short x ;
short y = 0x7F; /* decimal 127 */
int z = 0x125; /* decimal 293 */
Octal
int m = 023; /* 19 */
short n = 016; /* 14 */
Binario
char dato = 0b00001111; ANSEL=0B00001111: /ANSEL=77;
short dat = 0b10101010;
unsigned char sig = 0b11001100;
ASCII
char dat = ‘a’;
char m = ‘5’;
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: COMENTARIOS
declaraciones globales
funcion1( )
{
variables locales bloque
}
void main(void)
{
variables locales bloque
}
COMENTARIOS
/* Este es un ejemplo de comentario */
/* Un comentario también puede
estar escrito en varias líneas */
El símbolo /* se coloca al principio del comentario
y el símbolo */ al final.
//Comentario que abarca solo la línea completa
// comentarios
OPERADORES ARITMÉTICOS
Existen dos tipos de operadores
aritméticos:
Los binarios:
+ Suma
- Resta
* Multiplicación
/ División
% Módulo (resto)
y los unarios:
++ Incremento (suma 1)
- - Decremento (resta 1)
- Cambio de signo
OPERADORES RELACIONALES
>Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
== Igual que
!= Distinto que
OPERADORES LÓGICOS:
&& AND
|| OR
! NOT (El valor contrario)
OPERADORES LÓGICOS BIT A BIT:
& AND
| OR
^ XOR
~ COMPLEMENTO
>> mueve los bits a la izquierda
<< mueve los bits a la derecha
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: OPERADORES
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: OPERADORES RELACIONALES
OPERADOR DESCRIPCIÓN EJEMPLO CONDICIÓN DE
VERACIDAD
> mayor que b > a si b es mayor que a
>= mayor o igual que a >= 5 si a es mayor o igual
que 5
>= menor que a < b si a es menor que b
<= menor o igual que a <= b si a es menor o igual
que b
== igual que a == 6 si a es igual que 6
!= desigual que a != b si a es desigual que b
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: MANEJO DE BITS
OPERADOR DESCRIPCIÓN EJEMPLO RESULTADO
~ Complemento a uno a = ~b b = 5 a = -5
<< Desplazamiento a la
izquierda
a = b << 2 b = 11110011 a = 11001100
>> Desplazamiento a la
derecha
a = b >> 2 b = 11110011 a = 00011110
& Y lógico para manejo
de bits
c = a & b a = 11100011
b = 11001100
c = 11000000
| O lógico para manejo
de bits
c = a | b a = 11100011
b = 11001100
c = 11101111
^ EXOR lógico para
manejo de bits
c = a ^ b a = 11100011
b = 11001100
c = 00101111
MICROPROCESADORES Y MICROCONTROLADORES I
Este tipo de sentencias permiten variar el flujo del programa en base a unas
determinadas condiciones. Existen varias estructuras diferentes:
Estructura if...else
Sintaxis:
if (condición)
{ sentencia
} /*La sentencia solo se ejecuta si se cumple la condición. En caso contrario el
programa sigue su curso sin ejecutar la sentencia.*/
Otro formato:
if (condición){ //Si se cumple la condición ejecutará la sentencia1
Sentencia1 //sino ejecutará la sentencia2.
}
else {
Sentencia2
}
UNIDAD II: SENTENCIAS CONDICIONALES
MICROPROCESADORES Y MICROCONTROLADORES I
Otro formato:
if (condición)
{
sentencia1;
}
else if (condición)
{
sentencia2;
}
else if (condición)
{
sentencia3;
}
else
{
sentencia4;
}
UNIDAD II: SENTENCIAS CONDICIONALES
Con este formato el flujo del programa
únicamente entra en una de las condiciones. Si
una de ellas se cumple, se ejecuta la sentencia
correspondiente y salta hasta el final de la
estructura para continuar con el programa
MICROPROCESADORES Y MICROCONTROLADORES I
Estructura SWITCH
Esta estructura se suele utilizar en los menús, de manera que según la opción
seleccionada se ejecuten una serie de sentencias.
Su sintaxis es:
switch (variable)
{ case contenido_variable1:
sentencias;
break;
case contenido_variable2:
sentencias;
break;
default: sentencias;
}
Cada case puede incluir una o más sentencias sin necesidad de ir entre llaves,
ya que se ejecutan todas hasta que se encuentra la sentencia BREAK. La
variable evaluada sólo puede ser de tipo entero o caracter. default ejecutará las
sentencias que incluya, en caso de que la opción escogida no exista.
UNIDAD II: SENTENCIAS CONDICIONALES
MICROPROCESADORES Y MICROCONTROLADORES I
Los bucles son estructuras que permiten ejecutar partes del código de forma
repetida mientras se cumpla una condición.
Esta condición puede ser simple o compuesta de otras condiciones unidas
por operadores lógicos.
Sentencia WHILE
Su sintaxis es:
while (condición)
{ sentencia;
}
Con esta sentencia se controla la condición antes de entrar en el bucle. Si ésta
no se cumple, el programa no entrará en el bucle.
UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
MICROPROCESADORES Y MICROCONTROLADORES I
Sentencia DO...WHILE
Su sintaxis es:
do
{ sentencia1;
sentencia2;
}while (condición);
Con esta sentencia se controla la condición al final del bucle. Si ésta se
cumple, el programa vuelve a ejecutar las sentencias del bucle.
La única diferencia entre las sentencias while y do...while es que con la
segunda el cuerpo del bucle se ejecutará por lo menos una vez.
UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
MICROPROCESADORES Y MICROCONTROLADORES I
Sentencia FOR
Su sintaxis es:
for (inicialización;condición;incremento)
{ sentencia1; sentencia2;}
La inicialización indica una variable (variable de control) que condiciona la repetición del
bucle. Si hay más, van separadas por comas:
for (a=1;a<10;a++)
{ }
UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
MICROPROCESADORES Y MICROCONTROLADORES I
Un array es un identificador que referencia un conjunto de datos del mismo tipo.
Imagina un tipo de dato int; podremos crear un conjunto de datos de ese tipo y
utilizar uno u otro con sólo cambiar el índice que lo referencia. El índice será un
valor entero y positivo. En C los arrays comienzan por la posición 0.
Vectores
Un vector es un array unidimensional, es decir, sólo utiliza un índice para
referenciar a cada uno de los elementos. Su declaración será:
tipo nombre [tamaño];
int muestras[127];
Matrices
Una matriz es un array multidimensional. Se definen igual que los vectores
excepto que se requiere un índice por cada dimensión.
Su sintaxis es la siguiente: tipo nombre [tamaño 1][tamaño 2]; Una
matriz bidimensional se podría representar gráficamente como una tabla con
filas y columnas.
char muestras[127][127];
UNIDAD II: ARREGLOS
MICROPROCESADORES Y MICROCONTROLADORES I
Una interrupción detiene la ejecución normal de un programa para ejecutar las
operaciones específicas. Una lista de sentencias a ejecutar debe estar escrita dentro de
una función particular denominada interrupt(). La sintaxis de una interrupción en
mikroC se parece a lo siguiente:
void interrupt() {
cnt++ ; // Al producirse una interrupción la cnt se incrementa en 1
PIR1.TMR1IF = 0; // Poner a 0 el bit TMR1IF
}
OJO: Investigar fuentes de interrupciones.
UNIDAD II: Interrupciones
TECLADO MATRICIAL 4X4
Los sistemas con microcontroladores tienen
como finalidad el proceso de datos.
Estos se obtienen de formas muy variadas,
puede ser de manera automática por medio de
sensores que midan parámetros físicos o de
manera manual, en cuyo caso tienen que ser
suministrados por los usuarios.
Para este ultimo caso se pueden usar
pulsadores cuando la información es muy
simple, o mediante teclados de mayor o menor
complejidad.
Los teclados matriciales, que sin duda son los
mas utilizados en la realización de proyectos
con microcontroladores.
MICROPROCESADORES Y MICROCONTROLADORES I
TECLADO MATRICIAL 4X4
UNIDAD 2MICROPROCESADORES Y MICROCONTROLADORES I
TECLADO MATRICIAL 4X4
Comando Usados para el manejo de Teclados Matriciales 4x4:
char keypadPort at PORTXXX;
keypadPort: Es la variable usada por la librería donde se asigna el puerto
donde estará conectado el teclado, para la librería usada las columnas en la
parte baja del puerto, y las filas en la parte alta del puerto.
Keypad_Init: Inicializa el puerto para trabajar con el teclado 4x4
Keypad_Key_Press: Lee el valor del teclado cuando la tecla es presionada
Kepad_Key_Click: Lee el valor del teclado cuando la tecla es presionada y
soltada, es decir cuando se le hace un click a la tecla.
Los valores que devuelven en la lectura van del 1 al 16, y cuando el valor es
cero , es porque no se ha presionado ninguna tecla.
MICROPROCESADORES Y MICROCONTROLADORES I

Más contenido relacionado

La actualidad más candente

Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016
Cesar Oswaldo Osorio Agualongo
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
tbjs
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
tbjs
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
karlalopezbello
 
Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1
SANTIAGO PABLO ALBERTO
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
Carlos
 
Lenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesLenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y Componentes
Karina Arguedas Ruelas
 
Visual c++
Visual c++Visual c++
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
RoxanneLamas2
 
Manual c18
Manual c18Manual c18
Manual c18
mateussergio57
 
Estructuras control java-
Estructuras control java-Estructuras control java-
Estructuras control java-
SENA
 
Diseño de controladores con aplicación flip flop
Diseño de controladores con aplicación flip flopDiseño de controladores con aplicación flip flop
Diseño de controladores con aplicación flip flop
Mario César Ramírez Venegas
 
Lenguaje C (pdf)
Lenguaje C (pdf)Lenguaje C (pdf)
Lenguaje C (pdf)
Dani Gutiérrez Porset
 
Estructuras de un programa
Estructuras de un programaEstructuras de un programa
Estructuras de un programa
Tensor
 

La actualidad más candente (14)

Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
 
Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
 
Lenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesLenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y Componentes
 
Visual c++
Visual c++Visual c++
Visual c++
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
 
Manual c18
Manual c18Manual c18
Manual c18
 
Estructuras control java-
Estructuras control java-Estructuras control java-
Estructuras control java-
 
Diseño de controladores con aplicación flip flop
Diseño de controladores con aplicación flip flopDiseño de controladores con aplicación flip flop
Diseño de controladores con aplicación flip flop
 
Lenguaje C (pdf)
Lenguaje C (pdf)Lenguaje C (pdf)
Lenguaje C (pdf)
 
Estructuras de un programa
Estructuras de un programaEstructuras de un programa
Estructuras de un programa
 

Similar a Unidad II

Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Jose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
freddymadriz
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Jose Manuel Mansilla Carrasco
 
Introduccion a la programacion en c 1
Introduccion a la programacion en c 1Introduccion a la programacion en c 1
Introduccion a la programacion en c 1
georgemanson69
 
Micro2 tema 1
Micro2 tema 1Micro2 tema 1
Micro2 tema 1
Luis Zurita
 
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVRMicrocontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
SANTIAGO PABLO ALBERTO
 
Tarea final
Tarea finalTarea final
Tarea final
tomas francisco
 
Practica1
Practica1Practica1
Practica1
rexmersxa7
 
38912287 practica1
38912287 practica138912287 practica1
38912287 practica1
rexmersxa7
 
Practica1
Practica1Practica1
Practica1
san jaramillo
 
Programacion de microcontrolador
Programacion de microcontroladorProgramacion de microcontrolador
Programacion de microcontrolador
DorvinEduardo
 
Guia de laboratorio a
Guia de laboratorio aGuia de laboratorio a
Guia de laboratorio a
Alex Mendoza
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
juan1993are
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
juan1993are
 
Cap3 programación de microcontroladores en c.pptx
Cap3 programación de microcontroladores en c.pptxCap3 programación de microcontroladores en c.pptx
Cap3 programación de microcontroladores en c.pptx
Willy Llapaco
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
Neda Liz Guevara Vargaya
 
Clase 02 gestion de puertos - directivas
Clase 02   gestion de puertos - directivasClase 02   gestion de puertos - directivas
Clase 02 gestion de puertos - directivas
almidon_pcb
 
PROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADORPROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADOR
Jorge Paredes Toledo
 
Introduccion a la programacion en c 18
Introduccion a la programacion en c 18Introduccion a la programacion en c 18
Introduccion a la programacion en c 18
fitomaster
 
BORLAND
BORLANDBORLAND

Similar a Unidad II (20)

Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Introduccion a la programacion en c 1
Introduccion a la programacion en c 1Introduccion a la programacion en c 1
Introduccion a la programacion en c 1
 
Micro2 tema 1
Micro2 tema 1Micro2 tema 1
Micro2 tema 1
 
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVRMicrocontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
 
Tarea final
Tarea finalTarea final
Tarea final
 
Practica1
Practica1Practica1
Practica1
 
38912287 practica1
38912287 practica138912287 practica1
38912287 practica1
 
Practica1
Practica1Practica1
Practica1
 
Programacion de microcontrolador
Programacion de microcontroladorProgramacion de microcontrolador
Programacion de microcontrolador
 
Guia de laboratorio a
Guia de laboratorio aGuia de laboratorio a
Guia de laboratorio a
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Cap3 programación de microcontroladores en c.pptx
Cap3 programación de microcontroladores en c.pptxCap3 programación de microcontroladores en c.pptx
Cap3 programación de microcontroladores en c.pptx
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Clase 02 gestion de puertos - directivas
Clase 02   gestion de puertos - directivasClase 02   gestion de puertos - directivas
Clase 02 gestion de puertos - directivas
 
PROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADORPROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADOR
 
Introduccion a la programacion en c 18
Introduccion a la programacion en c 18Introduccion a la programacion en c 18
Introduccion a la programacion en c 18
 
BORLAND
BORLANDBORLAND
BORLAND
 

Más de SistemadeEstudiosMed

Metodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdfMetodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdf
SistemadeEstudiosMed
 
DE-04-COMPRESORES-2022.pdf
DE-04-COMPRESORES-2022.pdfDE-04-COMPRESORES-2022.pdf
DE-04-COMPRESORES-2022.pdf
SistemadeEstudiosMed
 
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdfDE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
SistemadeEstudiosMed
 
DE-02-FLUJO DE FLUIDOS-2022.pdf
DE-02-FLUJO DE FLUIDOS-2022.pdfDE-02-FLUJO DE FLUIDOS-2022.pdf
DE-02-FLUJO DE FLUIDOS-2022.pdf
SistemadeEstudiosMed
 
DE-01-INTRODUCCION-2022.pdf
DE-01-INTRODUCCION-2022.pdfDE-01-INTRODUCCION-2022.pdf
DE-01-INTRODUCCION-2022.pdf
SistemadeEstudiosMed
 
Clase 3 Correlación.ppt
Clase 3 Correlación.pptClase 3 Correlación.ppt
Clase 3 Correlación.ppt
SistemadeEstudiosMed
 
Clase 2 Medidas Estadisticas.ppt
Clase 2 Medidas Estadisticas.pptClase 2 Medidas Estadisticas.ppt
Clase 2 Medidas Estadisticas.ppt
SistemadeEstudiosMed
 
Clase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptxClase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptx
SistemadeEstudiosMed
 
nociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdfnociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdf
SistemadeEstudiosMed
 
¿Cómo elaborar un Mapa Mental?
¿Cómo  elaborar un  Mapa Mental?¿Cómo  elaborar un  Mapa Mental?
¿Cómo elaborar un Mapa Mental?
SistemadeEstudiosMed
 
Unidad 1 Planificación Docente
Unidad 1 Planificación Docente Unidad 1 Planificación Docente
Unidad 1 Planificación Docente
SistemadeEstudiosMed
 
hablemos_pp2_inf.pptx
hablemos_pp2_inf.pptxhablemos_pp2_inf.pptx
hablemos_pp2_inf.pptx
SistemadeEstudiosMed
 
UNIDAD 3 FASE METODOLOGICA.pptx
UNIDAD 3 FASE METODOLOGICA.pptxUNIDAD 3 FASE METODOLOGICA.pptx
UNIDAD 3 FASE METODOLOGICA.pptx
SistemadeEstudiosMed
 
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.pptUNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
SistemadeEstudiosMed
 
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.pptUnidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
SistemadeEstudiosMed
 
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdfLineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
SistemadeEstudiosMed
 
unidad quirurgica.pdf
unidad quirurgica.pdfunidad quirurgica.pdf
unidad quirurgica.pdf
SistemadeEstudiosMed
 
Cuidados preoperatorios.pdf
Cuidados preoperatorios.pdfCuidados preoperatorios.pdf
Cuidados preoperatorios.pdf
SistemadeEstudiosMed
 
Cirugía..pdf
Cirugía..pdfCirugía..pdf
Cirugía..pdf
SistemadeEstudiosMed
 
Cirugía Ambulatoria2.pdf
Cirugía Ambulatoria2.pdfCirugía Ambulatoria2.pdf
Cirugía Ambulatoria2.pdf
SistemadeEstudiosMed
 

Más de SistemadeEstudiosMed (20)

Metodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdfMetodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdf
 
DE-04-COMPRESORES-2022.pdf
DE-04-COMPRESORES-2022.pdfDE-04-COMPRESORES-2022.pdf
DE-04-COMPRESORES-2022.pdf
 
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdfDE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
 
DE-02-FLUJO DE FLUIDOS-2022.pdf
DE-02-FLUJO DE FLUIDOS-2022.pdfDE-02-FLUJO DE FLUIDOS-2022.pdf
DE-02-FLUJO DE FLUIDOS-2022.pdf
 
DE-01-INTRODUCCION-2022.pdf
DE-01-INTRODUCCION-2022.pdfDE-01-INTRODUCCION-2022.pdf
DE-01-INTRODUCCION-2022.pdf
 
Clase 3 Correlación.ppt
Clase 3 Correlación.pptClase 3 Correlación.ppt
Clase 3 Correlación.ppt
 
Clase 2 Medidas Estadisticas.ppt
Clase 2 Medidas Estadisticas.pptClase 2 Medidas Estadisticas.ppt
Clase 2 Medidas Estadisticas.ppt
 
Clase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptxClase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptx
 
nociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdfnociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdf
 
¿Cómo elaborar un Mapa Mental?
¿Cómo  elaborar un  Mapa Mental?¿Cómo  elaborar un  Mapa Mental?
¿Cómo elaborar un Mapa Mental?
 
Unidad 1 Planificación Docente
Unidad 1 Planificación Docente Unidad 1 Planificación Docente
Unidad 1 Planificación Docente
 
hablemos_pp2_inf.pptx
hablemos_pp2_inf.pptxhablemos_pp2_inf.pptx
hablemos_pp2_inf.pptx
 
UNIDAD 3 FASE METODOLOGICA.pptx
UNIDAD 3 FASE METODOLOGICA.pptxUNIDAD 3 FASE METODOLOGICA.pptx
UNIDAD 3 FASE METODOLOGICA.pptx
 
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.pptUNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
 
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.pptUnidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
 
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdfLineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
 
unidad quirurgica.pdf
unidad quirurgica.pdfunidad quirurgica.pdf
unidad quirurgica.pdf
 
Cuidados preoperatorios.pdf
Cuidados preoperatorios.pdfCuidados preoperatorios.pdf
Cuidados preoperatorios.pdf
 
Cirugía..pdf
Cirugía..pdfCirugía..pdf
Cirugía..pdf
 
Cirugía Ambulatoria2.pdf
Cirugía Ambulatoria2.pdfCirugía Ambulatoria2.pdf
Cirugía Ambulatoria2.pdf
 

Último

DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdfDESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
JonathanCovena1
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
RicardoValdiviaVega
 
Eureka 2024 ideas y dudas para la feria de Ciencias
Eureka 2024 ideas y dudas para la feria de CienciasEureka 2024 ideas y dudas para la feria de Ciencias
Eureka 2024 ideas y dudas para la feria de Ciencias
arianet3011
 
Módulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escrituraMódulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escritura
marilynfloresyomona1
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 
Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...
romina395894
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
johnyamg20
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
shirherrer
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍACINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
Fernández Gorka
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
JimmyDeveloperWebAnd
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.
genesiscabezas469
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 

Último (20)

DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdfDESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
 
Eureka 2024 ideas y dudas para la feria de Ciencias
Eureka 2024 ideas y dudas para la feria de CienciasEureka 2024 ideas y dudas para la feria de Ciencias
Eureka 2024 ideas y dudas para la feria de Ciencias
 
Módulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escrituraMódulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escritura
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 
Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍACINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 

Unidad II

  • 1. MICROPROCESADORES Y MICROCONTROLADORES I LIST P=16F877 ; Modelo del pic al compilador INCLUDE<P16F887.INC> ; esto incluye una librería donde se definen los ; esto es un comentario ; definición de variables OPCION_TMR0 EQU 0X01 VAR1 EQU 0X20 ; variable VAR1 en dirección 0x20, de la memoria de datos VAR2 EQU 0X21 ; variable VAR1 en dirección 0x21, de la memoria de datos ORG 0 GOTO INICIO ; saltar el vector de interrupcion ORG 4 GOTO INTERRUPCIONES FUNCION1 ; desarrollo de la función RETURN INICIO ; programa principal ;programa………………….. END UNIDAD II: PROGRAMACION EN LENGUAJE EMSAMBLADOR
  • 2. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
  • 3. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
  • 4. MICROPROCESADORES Y MICROCONTROLADORES I Ventajas de lenguajes de programación de alto nivel A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas desventajas: -Incluso una sola operación en el programa escrito en ensamblador consiste en muchas instrucciones, haciéndolo muy largo y difícil de manejar. -Cada tipo de microcontrolador tiene su propio conjunto de instrucciones que un programador tiene que conocer para escribir un programa -Un programador tiene que conocer el hardware del microcontrolador para escribir un programa UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
  • 5. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
  • 6. MICROPROCESADORES Y MICROCONTROLADORES I Lenguaje C El lenguaje C dispone de todas las ventajas de un lenguaje de programación de alto nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como sobre los bits (operaciones lógicas, desplazamiento etc.). Las características de C pueden ser muy útiles al programar los microcontroladores. Además, C está estandarizado (el estándar ANSI), es muy portable, así que el mismo código se puede utilizar muchas veces en diferentes proyectos. Lo que lo hace accesible para cualquiera que conozca este lenguaje sin reparar en el propósito de uso del microcontrolador. C es un lenguaje compilado, lo que significa que los archivos fuentes que contienen el código C se traducen a lenguaje máquina por el compilador UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
  • 7. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
  • 8. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO Este lenguaje es muy similar al C estándar, no obstante en determinados aspectos difiere del ANSI estándar en algunas características. Algunas de estas diferencias se refieren a las mejoras, destinadas a facilitar la programación de los microcontroladores PIC, mientras que las demás son la consecuencia de la limitación de la arquitectura del hardware de los PIC. Aquí vamos a presentar características específicas del lenguaje mikroC en la programación de los microcontroladores PIC. El término C se utilizará para referirse a las características comunes de los lenguajes C y mikroC.
  • 9. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: REGISTRO DE CONFIGURACION PUERTO DIGITALES Y ANALOGICOS
  • 10. MICROPROCESADORES Y MICROCONTROLADORES I EL mikroC PRO permite acceso individual a cada bit en variables de 8 bits (char and unsigned short). Simplemente usando el selector (.) seguido de uno de los identificadores F0, F1, … , F7. Siendo F7 el bit mas significativo. Ejemplo: PORTA.F0 = 1; i=PORTD.F3 ; PORTB.F5 = PORTA.F4; ` ANSEL.F0=1; ANSEL.ANS0=1; Si se está familiarizado con el chip, también puede acceder a los bits por nombre: //Borrar TMR0F: INTCON.TMR0F = 0; TRISA.F2=0; // pin 2 puerto A como salida UNIDAD II: ACCESO INDIVIDUAL A CADA BIT
  • 11. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: TIPOS DE DATOS Tipo Tamaño en Byte Rango (Sin signo) char 1 0 .. 255 signed char 1 - 128 .. 127 (Con signo) short (Entero) 1 - 128 .. 127 unsigned short (Entero) 1 0 .. 255 (Con signo) int 2 -32768 .. 32767 unsigned (Entero) 2 0 .. 65535 (Con signo) long (Entero) 4 -2147483648 .. 2147483647 unsigned long (Entero) 4 0 .. 4294967295
  • 12. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: TIPOS DE DATOS Tipo Tamaño en Byte Rango float 4 ±1.17549435082 * 10-38 .. ±6.80564774407 * 1038 double 4 ±1.17549435082 * 10-38 .. ±6.80564774407 * 1038 long double 4 ±1.17549435082 * 10-38 .. ±6.80564774407 * 1038
  • 13. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: DECLARACION DE LAS VARIABLES Decimal int i ; int j = -10; /* decimal -10 */ int p = 0; /* decimal 0 */ Hexadecimal short x ; short y = 0x7F; /* decimal 127 */ int z = 0x125; /* decimal 293 */ Octal int m = 023; /* 19 */ short n = 016; /* 14 */ Binario char dato = 0b00001111; ANSEL=0B00001111: /ANSEL=77; short dat = 0b10101010; unsigned char sig = 0b11001100; ASCII char dat = ‘a’; char m = ‘5’;
  • 14. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: COMENTARIOS declaraciones globales funcion1( ) { variables locales bloque } void main(void) { variables locales bloque } COMENTARIOS /* Este es un ejemplo de comentario */ /* Un comentario también puede estar escrito en varias líneas */ El símbolo /* se coloca al principio del comentario y el símbolo */ al final. //Comentario que abarca solo la línea completa // comentarios
  • 15. OPERADORES ARITMÉTICOS Existen dos tipos de operadores aritméticos: Los binarios: + Suma - Resta * Multiplicación / División % Módulo (resto) y los unarios: ++ Incremento (suma 1) - - Decremento (resta 1) - Cambio de signo OPERADORES RELACIONALES >Mayor que < Menor que >= Mayor o igual que <= Menor o igual que == Igual que != Distinto que OPERADORES LÓGICOS: && AND || OR ! NOT (El valor contrario) OPERADORES LÓGICOS BIT A BIT: & AND | OR ^ XOR ~ COMPLEMENTO >> mueve los bits a la izquierda << mueve los bits a la derecha MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: OPERADORES
  • 16. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: OPERADORES RELACIONALES OPERADOR DESCRIPCIÓN EJEMPLO CONDICIÓN DE VERACIDAD > mayor que b > a si b es mayor que a >= mayor o igual que a >= 5 si a es mayor o igual que 5 >= menor que a < b si a es menor que b <= menor o igual que a <= b si a es menor o igual que b == igual que a == 6 si a es igual que 6 != desigual que a != b si a es desigual que b
  • 17. MICROPROCESADORES Y MICROCONTROLADORES I UNIDAD II: MANEJO DE BITS OPERADOR DESCRIPCIÓN EJEMPLO RESULTADO ~ Complemento a uno a = ~b b = 5 a = -5 << Desplazamiento a la izquierda a = b << 2 b = 11110011 a = 11001100 >> Desplazamiento a la derecha a = b >> 2 b = 11110011 a = 00011110 & Y lógico para manejo de bits c = a & b a = 11100011 b = 11001100 c = 11000000 | O lógico para manejo de bits c = a | b a = 11100011 b = 11001100 c = 11101111 ^ EXOR lógico para manejo de bits c = a ^ b a = 11100011 b = 11001100 c = 00101111
  • 18. MICROPROCESADORES Y MICROCONTROLADORES I Este tipo de sentencias permiten variar el flujo del programa en base a unas determinadas condiciones. Existen varias estructuras diferentes: Estructura if...else Sintaxis: if (condición) { sentencia } /*La sentencia solo se ejecuta si se cumple la condición. En caso contrario el programa sigue su curso sin ejecutar la sentencia.*/ Otro formato: if (condición){ //Si se cumple la condición ejecutará la sentencia1 Sentencia1 //sino ejecutará la sentencia2. } else { Sentencia2 } UNIDAD II: SENTENCIAS CONDICIONALES
  • 19. MICROPROCESADORES Y MICROCONTROLADORES I Otro formato: if (condición) { sentencia1; } else if (condición) { sentencia2; } else if (condición) { sentencia3; } else { sentencia4; } UNIDAD II: SENTENCIAS CONDICIONALES Con este formato el flujo del programa únicamente entra en una de las condiciones. Si una de ellas se cumple, se ejecuta la sentencia correspondiente y salta hasta el final de la estructura para continuar con el programa
  • 20. MICROPROCESADORES Y MICROCONTROLADORES I Estructura SWITCH Esta estructura se suele utilizar en los menús, de manera que según la opción seleccionada se ejecuten una serie de sentencias. Su sintaxis es: switch (variable) { case contenido_variable1: sentencias; break; case contenido_variable2: sentencias; break; default: sentencias; } Cada case puede incluir una o más sentencias sin necesidad de ir entre llaves, ya que se ejecutan todas hasta que se encuentra la sentencia BREAK. La variable evaluada sólo puede ser de tipo entero o caracter. default ejecutará las sentencias que incluya, en caso de que la opción escogida no exista. UNIDAD II: SENTENCIAS CONDICIONALES
  • 21. MICROPROCESADORES Y MICROCONTROLADORES I Los bucles son estructuras que permiten ejecutar partes del código de forma repetida mientras se cumpla una condición. Esta condición puede ser simple o compuesta de otras condiciones unidas por operadores lógicos. Sentencia WHILE Su sintaxis es: while (condición) { sentencia; } Con esta sentencia se controla la condición antes de entrar en el bucle. Si ésta no se cumple, el programa no entrará en el bucle. UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
  • 22. MICROPROCESADORES Y MICROCONTROLADORES I Sentencia DO...WHILE Su sintaxis es: do { sentencia1; sentencia2; }while (condición); Con esta sentencia se controla la condición al final del bucle. Si ésta se cumple, el programa vuelve a ejecutar las sentencias del bucle. La única diferencia entre las sentencias while y do...while es que con la segunda el cuerpo del bucle se ejecutará por lo menos una vez. UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
  • 23. MICROPROCESADORES Y MICROCONTROLADORES I Sentencia FOR Su sintaxis es: for (inicialización;condición;incremento) { sentencia1; sentencia2;} La inicialización indica una variable (variable de control) que condiciona la repetición del bucle. Si hay más, van separadas por comas: for (a=1;a<10;a++) { } UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
  • 24. MICROPROCESADORES Y MICROCONTROLADORES I Un array es un identificador que referencia un conjunto de datos del mismo tipo. Imagina un tipo de dato int; podremos crear un conjunto de datos de ese tipo y utilizar uno u otro con sólo cambiar el índice que lo referencia. El índice será un valor entero y positivo. En C los arrays comienzan por la posición 0. Vectores Un vector es un array unidimensional, es decir, sólo utiliza un índice para referenciar a cada uno de los elementos. Su declaración será: tipo nombre [tamaño]; int muestras[127]; Matrices Una matriz es un array multidimensional. Se definen igual que los vectores excepto que se requiere un índice por cada dimensión. Su sintaxis es la siguiente: tipo nombre [tamaño 1][tamaño 2]; Una matriz bidimensional se podría representar gráficamente como una tabla con filas y columnas. char muestras[127][127]; UNIDAD II: ARREGLOS
  • 25. MICROPROCESADORES Y MICROCONTROLADORES I Una interrupción detiene la ejecución normal de un programa para ejecutar las operaciones específicas. Una lista de sentencias a ejecutar debe estar escrita dentro de una función particular denominada interrupt(). La sintaxis de una interrupción en mikroC se parece a lo siguiente: void interrupt() { cnt++ ; // Al producirse una interrupción la cnt se incrementa en 1 PIR1.TMR1IF = 0; // Poner a 0 el bit TMR1IF } OJO: Investigar fuentes de interrupciones. UNIDAD II: Interrupciones
  • 26. TECLADO MATRICIAL 4X4 Los sistemas con microcontroladores tienen como finalidad el proceso de datos. Estos se obtienen de formas muy variadas, puede ser de manera automática por medio de sensores que midan parámetros físicos o de manera manual, en cuyo caso tienen que ser suministrados por los usuarios. Para este ultimo caso se pueden usar pulsadores cuando la información es muy simple, o mediante teclados de mayor o menor complejidad. Los teclados matriciales, que sin duda son los mas utilizados en la realización de proyectos con microcontroladores. MICROPROCESADORES Y MICROCONTROLADORES I
  • 27. TECLADO MATRICIAL 4X4 UNIDAD 2MICROPROCESADORES Y MICROCONTROLADORES I
  • 28. TECLADO MATRICIAL 4X4 Comando Usados para el manejo de Teclados Matriciales 4x4: char keypadPort at PORTXXX; keypadPort: Es la variable usada por la librería donde se asigna el puerto donde estará conectado el teclado, para la librería usada las columnas en la parte baja del puerto, y las filas en la parte alta del puerto. Keypad_Init: Inicializa el puerto para trabajar con el teclado 4x4 Keypad_Key_Press: Lee el valor del teclado cuando la tecla es presionada Kepad_Key_Click: Lee el valor del teclado cuando la tecla es presionada y soltada, es decir cuando se le hace un click a la tecla. Los valores que devuelven en la lectura van del 1 al 16, y cuando el valor es cero , es porque no se ha presionado ninguna tecla. MICROPROCESADORES Y MICROCONTROLADORES I