Download - Micrcontroladoradores PIC18F 1
![Page 1: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/1.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 1/83
PIC18F4550
![Page 2: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/2.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 2/83
1. INTRODUCCIÓN
2. ARQUITECTURA
3. ANSI C
3. Microchip C18
END
![Page 3: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/3.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 3/83
![Page 4: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/4.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 4/83
![Page 5: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/5.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 5/83
![Page 6: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/6.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 6/83
![Page 7: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/7.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 7/83
![Page 8: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/8.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 8/83
![Page 9: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/9.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 9/83
Arquitectura VonNeuman Arquitectura Harvard
![Page 10: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/10.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 10/83
En un sistema con arquitectura Von Neumann eltamaño de la unidad de datos instrucciones está
fijado por el ancho del bus que comunica lamemoria con la CPU. Así un microprocesador de 8bits con un bus de 8 bits, tendrá que manejar datose instrucciones de una o más unidades de 8 bits(bytes) de longitud. Si tiene que acceder a una
instrucción o dato de más de un byte de longitud,tendrá que realizar más de un acceso a la memoria.
![Page 11: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/11.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 11/83
La arquitectura Harvard tiene memoria de programa y
memoria de datos separadas y se accede a ellas através de buses separados.
El tiempo de acceso se mejora respecto a laarquitectura von Neumann donde programa y datos
se traen a la CPU usando el mismo bus.
![Page 12: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/12.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 12/83
![Page 13: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/13.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 13/83
![Page 14: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/14.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 14/83
![Page 15: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/15.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 15/83
![Page 16: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/16.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 16/83
AND ORNOT
XOR
![Page 17: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/17.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 17/83
![Page 18: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/18.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 18/83
![Page 19: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/19.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 19/83
![Page 20: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/20.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 20/83
Contador de Programa(PC) de 21 bits, capazde direccionar 2Mb dememoria.
El PIC18F4550 tiene32KB de memoriaFLASH de programa.
Hay dos vectores deinterrupción:El vector de RESET
(0000h).Dos vectores de
interrupción (0008h y0018h).
![Page 21: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/21.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 21/83
![Page 22: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/22.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 22/83
![Page 23: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/23.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 23/83
![Page 24: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/24.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 24/83
Solo los primeros 12 bits en el PIC18F4550están implementados.
![Page 25: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/25.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 25/83
![Page 26: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/26.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 26/83
![Page 27: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/27.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 27/83
Bandera de acarreo o préstamo (C).
Bandera de acarreo BCD, de 3er al 4º bit (DC). Bandera de cero (Z). Bandera de sobre flujo (OV). Bandera de signo, complemento 2 (N).
![Page 28: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/28.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 28/83
Fue inventado por Dennis Ritchie en losLaboratorios BELL, basándose en el lenguajeB, creado por Ken Thompson.
En 1983 el ISA estableció un estándar quedefiniera al lenguaje C, conocido como ANSIC.
Es un lenguaje estructurado.
Sus bibliotecas estándar lo convierten en unexcelente entorno de programación.
![Page 29: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/29.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 29/83
![Page 30: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/30.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 30/83
Palabras Reservadas. Tipos de datos. Separadores.
Comentarios. Identificadores. Constantes. Variables. Operadores. Macros del pre-procesador. Sentencias o instrucciones.
![Page 31: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/31.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 31/83
char void default returnint if break auto
float else continue extern
double do goto register
long while struct const
short for union static
signed switch enum volatile
unsigned case typedef sizeof
![Page 32: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/32.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 32/83
En C es importante declarar todas las variables que se
vayan a utilizar
![Page 33: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/33.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 33/83
Los separadores están constituidos por uno ovarios espacios en blanco, tabuladores, ycaracteres de avance de línea (enter).
Su papel es ayudar al compilador adescomponer el programa fuente en cadauno de sus tokens o componentes sintáticos.
Es conveniente introducir espacios en blancoincluso cuando no son estrictamentenecesarios, para mejorar la legibilidad delprograma.
![Page 34: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/34.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 34/83
La misión de los comentarios es servir deexplicación o aclaración sobre como está hechoel programa (documentarlo), de forma quepueda ser entendido por un persona diferente.
Comentarios multi-línea◦
Comienzan con /* y terminan con */◦ No puede anidarse un comentario dentro de otro.
Comentarios de una sola línea ◦ Comienzan al principio de la línea con //
Todos los comentarios son ignorados por el
compilador. Ejemplo:
//Los comentarios actúan como separadores
/* Un fuente de error común entre programadores
es olvidarse de cerrar el comentario */
![Page 35: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/35.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 35/83
Un identificador es un nombre con el que se hace
referencia a una función o al contenido de unazona de la memoria (variable). Reglas en ANSI C:
1. Un identificador se forma con una secuencia de letras(de la “a” a la “z ”, “A” a la “Z ” o 0 al 9).
2. El guión bajo o underscore (_) se considera como unaletra más.
3. Un identificador no puede contener espacios en blanconi otros caracteres (*,;.:-+, etc.).
4. El primer carácter debe ser una letra o “_”, no puede
ser un dígito.5. ANSI C disitingue entre mayúsculas y minúsculas.6. El identificar puede ser de hasta 31 caracteres de
longitud. Ejemplos: tiempo, distancia1, caso_A, PI, a2.
![Page 36: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/36.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 36/83
Una constante es un valor que siempre es el
mismo a lo largo de la ejecución de todo elprograma.
En C existen diferentes tipos de constantes:1. Constantes numéricas. Son valores numéricos, enteros
o de coma flotante.2. Constantes de carácter. Cualquier carácter individual
encerrado entre apóstrofos (tal como „a‟, „Y‟, „0‟,‟+‟,etc.), incluidos los caracteres ASCII.
3. Cadenas de caracteres. Un conjunto de caracteres
alfanuméricos encerrados entre comillas (“UTVT”, “Esto es una cadena de caracteres”).
4. Constantes simbólicas. Las constantes simbólicastienen un nombre, pero su valor no puede cambiar.
![Page 37: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/37.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 37/83
Constantes de carácter.Ej. „a‟, „0‟, „\0x5‟, „\0‟, „\n‟, „\t‟, „$‟, ‟\\‟, NULL
Constantes enteras.Ej. 5, +5, -5, \05, \0x5, 5L, 5U, 5lu, etc.
Constantes reales.Ej. 0.5f, 0.5, 5e-01f, 5.0e-01, (float)5, etc.
Constantes de texto (Cadenas o “Strings”) “Esto es una cadena…”
![Page 38: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/38.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 38/83
Es un modificador de acceso que mepermite asignar a una variable un valorconstante, es decir que una vez asignado adicha variable su valor no podrá ser
modificado durante el programa.const <tipo dato> esp <identificador> = valor;
Ejemplo:
const int a=10;const char pais[]=“MÉXICO”; const char *nombre=“VLADIMIR”;
![Page 39: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/39.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 39/83
Las variables pueden cambiar de valor a lolargo de la ejecución de un programa, o bienen ejecuciones distintas de un mismoprograma.
Una variable es una localidad de memoria cuyo valor puede ser cambiado durante laejecución del programa.
Todas las variables deben de ser declaradas para se utilizadas.
<tipo de dato> espacio(s) <identificador>; Ejemplo:
int a;
float area, radio, volumen;
![Page 40: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/40.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 40/83
Cuando una variable es declarada se lereserva memoria de acuerdo con el tipo dedato incluido en la declaración.
Es posible inicializar, dar un valor inicial, a
las variables en el momento de la declaración. Sintaxis:
<tipo> <identificador> [=<init>] [, …] ;
int y =4, x = 1;long double v;char c1=„a‟, c2;
![Page 41: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/41.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 41/83
Los operadores son signos especiales, aveces conjunto de 2 caracteres, que indicandeterminadas operaciones a realizar con lasvariables y/o constantes sobre las que actúan
en el programa. Operadores Aritméticos Operadores Relacionales Operadores Lógicos Operadores de Asignación Operadores de Dirección Operadores de Bits
![Page 42: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/42.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 42/83
Operador Nombre Descripción + Suma 5+2 → 7 - Resta 5-2 → 3 * Multiplicación 5*2 → 10 / División 5/2 → 2 % Módulo 5%2 → 1
(tipo de dato) “Cast” forzado (double)5 → 5.0
![Page 43: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/43.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 43/83
Operador Nombre Descripción == Igual a if (a==„s‟) != Diferente de if (a!=null) > Mayor que if (a>0.5) < Menor que if (a<2l)
>= Mayor o igualque if (a>=2f)
<= Menor o igual
que if (a<=3)
![Page 44: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/44.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 44/83
Operador
Nombre
Descripción
&& Y (AND) if ((a>3) && (a<9)) || O (OR) if ((a==2) ||
(a==3)) ! NEGADO
(NOT) if (!(a==3)) es iguala
if (a!=3) Importante:
FALSO es igual a cero.VERDADERO es igual a uno.
![Page 45: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/45.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 45/83
Operador Abreviado No Abreviado = a=2; a=2;
++ n++; n=n+1; -- n--; n=n-1; += n+=2; n=n+2; -= n-=2; n=n-2; *= n*=2; n=n*2; /= n/=2; n=n/2; %= n%=2; n=n%2;
![Page 46: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/46.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 46/83
Operador Nombre Descripción << Corrimiento a la
izquierda b=a>>2;
>> Corrimiento a laderecha b=a<<3; & Y (AND) entre bits c=a&128; |
O (OR) entre bits
c=a|0x0a;
~ Complemento A1 c=~a; ^ O exclusivo (XOR) c=^a;
![Page 47: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/47.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 47/83
Operador Abreviado No Abreviado <<= n<<=2; n=n<<2; >>= n>>=2; n=n>>2; &= n&=0x0a; n=n&0x0a; |= n|=7; n=n|7; ^= n^=0x03; n=^0x03; =
n=0x7f;
n=0x7f;
Nota:
0x7f, 0x0a, 0x03 son un números
hexadecimales.
![Page 48: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/48.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 48/83
( ) [ ] -> Alta prioridad ! ~ + - ++ -- & * sizeof Unarios
* / % + - Aritméticos << >> Corrimiento de bits < <= > >= == != Relacionales & ^ | && || ?: Bits / Lógicos /
Condicional = *= /= %= += -= &=^= |= <<= >>=
Asignación , Evaluación
![Page 49: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/49.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 49/83
Te permite definir macros simples que son
evaluadas y expendidas antes de la compilacióndel programa. Comandos que empiezan con #. Lista abreviada:
◦ #define : define una macro.◦ #undef : remueve una definición de macros.◦
#include: inserta texto de otro archivo.
◦ #if : base condicional para evaluar una expresión.◦ #ifdef : base condicional donde una macro está
definida.◦ #ifndef : base condicional donde una macro no esta
deifinida.◦ #else : alternativa.◦ #elif : condicional alternativa.◦ defined() : función del preprocesador: “1” si el nombre
está definido, “0” en otro caso.#if defined(__NetBSD__)
![Page 50: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/50.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 50/83
En lenguaje C, la directiva del preprocesador#define se utiliza para declarar una constantesimbólica:#define<nombre_de_la_constante><secuencia_de_caracte
res> Se utiliza para asignar un identificador a una
constante.#define PI 3.1416#define NCOLS 20
El pre-procesador de C, sustituye la ocurrenciade PI por el valor 3.1416 en todo el programaantes de efectuar la compilación, del mismomodo se sustituye NCOLS por 2.
![Page 51: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/51.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 51/83
Una sentencia es una instrucción o expresión en Cque tiene una consecuencia. Pueden serasignaciones, operaciones, llamadas a funciones.
Todas las sentencias terminan con el signo depunto y coma ;
Pueden ser simples o compuestas. Las compuestasvan entre llaves: { sentencia1; sentencia2;
: sentencian; }
![Page 52: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/52.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 52/83
Sentencias condicionales.◦ La sentencia if ◦ La sentencia switch – case◦ El operador condicional ?:
Sentencias repetitivas/iterativas.◦
El lazo while◦ El lazo for◦ El lazo do – while
Sentencias de bifurcación.◦ Break◦ Continue.◦ Goto◦ Return
![Page 53: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/53.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 53/83
La sentencia if permiteelegir si se ejecuta o no unbloque de instruccionesSintaxis
![Page 54: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/54.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 54/83
![Page 55: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/55.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 55/83
![Page 56: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/56.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 56/83
(expresión)? sentencia1 : sentencia2;expresión? sentencia1 : sentencia2;
Se ejecuta:
sentencia1 si expresión = verdaderosentencia2 si expresión = falso. Es un operador ternario y puedeutilizarse para asignar variables:Var = (expresión)?sentencia1:sentencia2;
![Page 57: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/57.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 57/83
En el cuerpo del lazo debe existir algo que haga variarel valor asociado a la condición que gobierna laejecución del lazo.
Sintaxis
![Page 58: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/58.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 58/83
![Page 59: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/59.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 59/83
Sintaxis
1. La primera expresión, expr1,contiene la inicialización de
variables.2. La segunda expresión, expr2, es
la que contiene una expresiónbooleana (condición).
3. La tercera expresión, expr3,
contiene las instrucciones quese ejecutan al final de laiteración.
4. El bloque de instrucciones seejecuta una vez en cada
iteración.
• El Lazo FOR se utiliza en
![Page 60: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/60.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 60/83
Suponiendo que N y ksean enteros positivos. Lazos (bucles) Infinitos
Lazos anidados
El Lazo FOR se utiliza ensustitución del whilecuando se conoce elnúmero de iteraciones.
![Page 61: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/61.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 61/83
![Page 62: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/62.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 62/83
Sintaxis
• El bloque de instrucciones se ejecuta al menos una vez.• Especialmente indicado para validar datos de entrada
![Page 63: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/63.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 63/83
![Page 64: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/64.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 64/83
La instrucción
de salto break se usa parainterrumpir laejecuciónnormal de un
lazo,finalizarlo ytransferir elcontrol delprograma a la
primerainstruccióndespués delbucle
La instrucción de salto
![Page 65: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/65.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 65/83
continue siempre seusa para interrumpir (romper) la ejecución
normal de un lazo. Sinembargo, el control delprograma no setransfiere a la primerainstrucción después del
bucle (como sí hace lainstrucción break), esdecir, el lazo nofinaliza, sino que,finaliza la iteración en
curso, transfiriéndoseel control del programaa la condición de salidadel bucle, para decidirsi se debe realizar unanueva iteración o no.
![Page 66: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/66.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 66/83
La instrucción desalto goto se puedeusar en un programa,para transferirincondicionalmente elcontrol del mismo a laprimera instruccióndespués de unaetiqueta , o dicho de
otra forma, al ejecutaruna instrucción goto,el control delprograma se transfiere(salta) a la primerainstrucción después de
una etiqueta. Unaetiqueta se definemediante su nombre(identificador) seguidodel carácter dospuntos (:).
![Page 67: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/67.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 67/83
Operador Nombre Descripción * Operador
indirección Da el valor que estáalmacenado en una
dirección dememoria.
También sirve paradeclarar una variable
apuntador. & Operador
dirección Da la dirección dememoria de una
variable.
![Page 68: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/68.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 68/83
Sirven para almacenar una dirección dememoria. Utilizan el operador & para obtener la
dirección.
Se deben inicializar con NULL (equivale a cero). Se declaran como:<tipo de dato><*> espacio(s) <identificador>;
Ejemplo:int *a=NULL;
int b=2,c=1;
a=& b; /*Guarda la direc. de b en a */
c=*a; /*c vale 2 */
![Page 69: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/69.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 69/83
![Page 70: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/70.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 70/83
![Page 71: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/71.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 71/83
![Page 72: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/72.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 72/83
![Page 73: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/73.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 73/83
Una cadena o “String” se manipula enlenguaje C, mediante arreglos decaracteres. Los arreglos de caracteresterminan con el carácter nulo „\0‟ que en
realidad es el valor cero. La única diferencia con los arreglos
numéricos es que se requiere un carácteradicional para indicar cuando el final del
arreglo. Ejemplo:
char nombre[31]; /* Uso sólo 30 */
![Page 74: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/74.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 74/83
![Page 75: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/75.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 75/83
![Page 76: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/76.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 76/83
Una función es una parte de códigoindependiente del programa principal y de otrasfunciones, que puede ser llamada enviándoleunos datos, para que realice una determinadatarea.
Una función consta de una cabecera oencabezamiento que comienza con el tipo devalor devuelto por la función, seguida de unnombre y argumento.
A continuación va el cuerpo de un función, quees un conjunto de sentencias cuya ejecución haráque se resuelva el problema para el que estádiseñada la función.
![Page 77: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/77.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 77/83
El código ejecutable es el conjunto deinstrucciones que deben ejecutarse cada vez quela función es llamada.
La lista de argumentos con tipos, es una lista dedeclaraciones de variables, precedidas por el tipo correspondiente y separadas por comas (,).
Cuando una función es ejecutada puede devolveral programa que la ha llamado un valor,mediante return, que es un valor único.
![Page 78: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/78.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 78/83
Variables Locales:◦ Se declaran dentro de la función y sólo
están disponibles durante su ejecución.◦ Se crean cuando se entra en ejecución una
función y se destruyen cuando se termina. Variables globales:
◦ Se declaran fuera de las funciones.
Pueden ser utilizadas por todas lasfunciones.◦ Existen durante toda la vida del programa.
![Page 79: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/79.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 79/83
Son variables locales conocidas como parámetros formales y se utilizan como un medio para entregarleinformación a la función.
Los parámetros formales reciben sus valores inicialesdesde los parámetros reales, es decir desde los valores
que se les pasan a traveś de la llamada. Ejemplo:
![Page 80: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/80.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 80/83
#include <stdio.h>
int cuadrado(int x){
int r;
r=x*x;
return r;
}
main(){
int i,resultado;
for (i=0;i<10;i++){
resultado = cuadrado (i);
printf("Cuadrado de %d: %d\n",i,resultado);}
return 0;
}
![Page 81: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/81.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 81/83
#include <stdio.h> void intercambio(int *x, int *y){
int temp;
temp=*x;
*x=*y;
*y=temp;
printf(“ x=%d y=%d temp=%d \n“,*x,*y,temp);}
main(){
int a=1,b=2;
printf("a=%d b=%d\n",a,b);
intercambio (&a,&b); printf("a=%d b=%d\n",a,b);
return 0;
}
![Page 82: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/82.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 82/83
![Page 83: Micrcontroladoradores PIC18F 1](https://reader030.vdocumento.com/reader030/viewer/2022020717/5571ffcd49795991699e22eb/html5/thumbnails/83.jpg)
5/14/2018 Micrcontroladoradores PIC18F 1 - slidepdf.com
http://slidepdf.com/reader/full/micrcontroladoradores-pic18f-1 83/83
Ibrahim Dogan (2010). “SD card projects using the PIC microcontroller ”, Ed. ELSEIVER,USA, 571p.
Huang Han-Way (2005). “PIC Microcontroller:
An Introduction to Software and Hardware Interfacing ”, Ed. THOMSON Delmar Learning,USA, 818p.
Microchip (2004). “PIC18F2455/2550/4455
/4550 Data Sheet ”, Microchip TechnologyInc., USA, 426p.