Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos
Programación de la Familia
• Codificar aplicaciones en lenguaje C para la Familia
PIC16F87X en Lenguaje C PIC16F87X con base en el compilador HI-TECH®
Universal ToolSuite.
Compilador HI-TECH® Universal ToolSuite • Estudiar la sintaxis básica de la programación en
lenguaje C.
Prof.: Carlos Héctor Cruz Vergara 1 Prof.: Carlos Héctor Cruz Vergara 2
Simulador:
MPLAB SIM
Normalmente, los compiladores cruzados hacen modificaciones y
extensiones al lenguaje para programar las características del uC target
Prof.: Carlos Héctor Cruz Vergara 3 Prof.: Carlos Héctor Cruz Vergara 4
Prof.: Carlos Héctor Cruz Vergara 5 Prof.: Carlos Héctor Cruz Vergara 6
Todo lenguaje se compone de un conjunto de Todo programa en lenguaje C debe incluir la función main().
elementos que le dan su esencia.
En esta conferencia se abordarán: main() es la función principal, donde inicia la ejecución del programa.
9 10
Prof.: Carlos Héctor Cruz Vergara 11 Prof.: Carlos Héctor Cruz Vergara 12
Operadores:
• Asignación: =
• Manejo de bits: <<
• Relación: ==
Prof.: Carlos Héctor Cruz Vergara 15 16
#include <htc.h>
Ejecuta el proceso
repetidamente
Prof.: Carlos Héctor Cruz Vergara 17 Prof.: Carlos Héctor Cruz Vergara 18
void main(void){
Nota de Catálogo
La Familia PIC16F87X dispone de once Bits de Configuración
NOP(); // 4Tclk = 1CM (Ciclo de Máquina)
_delay(300); //300 CMs La configuración básicas se incluye con la Macro:
__delay_us(150); // 150 us.
__CONFIG(FOSC_XT & WDTE_OFF & PWRTE_ON & LVP_OFF);
__delay_ms(4); // 4 ms.
}
21 22
Prof.: Carlos Héctor Cruz Vergara 23 Prof.: Carlos Héctor Cruz Vergara 24
Anexos:
Prof.: Carlos Héctor Cruz Vergara 25 Prof.: Carlos Héctor Cruz Vergara 28
Prof.: Carlos Héctor Cruz Vergara 29 Prof.: Carlos Héctor Cruz Vergara 30
Ejemplos: Ejemplos:
1. while( 2-5 ) => Cond = -3 => Falsa 1. while( 2<5 ) => Cond Verdadera (Ciclo Infinito)
2. while( 1 ) => Cond = 1 => Verdadera (Lazo infinito) 2. while( A <= 10 )
3. while( A = B+8 ) 3. while( B+8 != 0 )
• Si B = 8 => Cond = 0 => Falsa
• Si B ≠ 8 => Cond ≠ 0 => Verdadera
31 Prof.: Carlos Héctor Cruz Vergara 32
Operadores Aritméticos
• Son operadores binarios = Tienen dos operandos (uno a la Operadores de Relación
izquierda y otro a la derecha). • Son operadores binarios = Tienen dos operandos (uno a la
• Se evalúan de izquierda a derecha. izquierda y otro a la derecha.
• Se evalúan de izquierda a derecha.
• La expresión “x % y;” es cero cuando y divide a x. Su signo, para • Por definición, el valor numérico de una expresión de Relación es
operandos con signo, depende de la máquina. 1/0 si la relación es Verdadera/Falsa.
33 34
Operadores de Lógicos
• Son operadores binarios = Tienen dos operandos (uno a la
Operadores Para el Manejo de Bits.
izquierda y otro a la derecha.
• Se evalúan de izquierda a derecha.
• AND (&) • OR (|)
• XOR (^) • Complemento (~)
• And (&&) • Or (||)
• Corrimiento izquierdo (<<)
• Negación (!)
• Corrimiento Derecho (>>)
Notas:
Notas:
• Por definición, el valor numérico de una expresión de lógica es 1/0
si la relación es Verdadera/Falsa. • Sólo aplican sobre tipos char e int con o sin signo.
• “~” es un operando unario = Tiene un operando (está a lsu
derecha). Los otros cinco son operadores binarios.
35 36