Está en la página 1de 21

Microcontroladores

Tema 3:  Entradas y salidas digitales II


Escuela de Ingeniería
Microcontroladores

Motivación
TEMA 03:
Entradas y salidas digitales II

SUBTEMAS:
 Operaciones lógicas entre puertos
 Operaciones lógicas entre bits.
 Estructura de control – IF.
 Resistencias pull-up internas
 Aplicaciones.
Logro de Aprendizaje Nº 03:
Configura los puertos del
microcontrolador y realiza
operaciones lógicas entre los
terminales y variables.
Microcontroladores

Tipos de datos

TIPO DE TIPO DE DATO CON TAMAÑO


DATO PREFIJO (NÚMERO DE BITS) RANGO DE VALORES

char signed char 8 de -128 a 128


unsigned int 16 de 0 a 65535
short int 8 de 0 a 255
signed short int 8 de -128 a 127
int
long int 32 de 0 a 4294967295

signed long int 32 de -2147483648 a 2147483647


Microcontroladores

Tipos de datos
Los datos tienen un tipo, o sea, cada dato utilizado en el programa debe tener su tipo especificado.
Esto permite al compilador conocer el tamaño de dato (número de bytes requerido en la memoria) y su
representación.

TIPO DE DESCRIPCIÓN TAMAÑO RANGO DE VALORES


DATO (NÚMERO DE BITS)
char Texto (caracteres) 8 de 0 a 255
int Valores enteros 16 de -32768 a 32767
de ±1.17549435082·10-38 a
float Valores en punto flotante 32
±6.80564774407·1038
Valores en punto flotante de de ±1.17549435082·10-38 a
double 32
doble precisión ±6.80564774407·1038
Microcontroladores

Operadores de asignación
Hay dos tipos de asignación en el lenguaje C: EJEMPLO
• Los operadores simples asignan los valores a OPERADOR
Expresión Equivalente
las variables utilizando el carácter común '='. Por
ejemplo: a =8 += a += 8 a=a+8
• Las asignaciones compuestas son específicas -= a -= 8 a=a-8
para el lenguaje C. Consisten en dos caracteres
*= a *= 8 a=a*8
como se muestra en la tabla a la derecha. Se
utilizan para simplificar la sintaxis y habilitar la /= a /= 8 a=a/8
ejecución más rápida.
%= a %= 8 a=a%8
Microcontroladores

Operadores Relacionales
Los operadores relacionales se utilizan en comparaciones con el propósito de
comparar dos valores.
Si una expresión es evaluada como falsa (false), el operador devuelve 0,
mientras que si una oración es evaluada como verdadera (true), devuelve 1.
Esto se utiliza en expresiones tales como ‘si la expresión es evaluada como
verdadera, entonces...’

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
Microcontroladores

Estructura de control IF-ELSE


La estructura condicional if es utilizada para realizar el control del flujo de las
acciones

La estructura de control, evalúa la expresión:

• Si la proposición es verdadera, entonces se ejecutara las Acciones 1

• Si la proposición es falsa, entonces se ejecutara las Acciones 2


Microcontroladores

Actividad
Temperatura : PUERTOB
Presión : PUERTOC

Accionar un LED_ROJO ( PORTD.RD5) cuando la temperatura supera a 50°C y la presión es


inferior que 60, caso contrario debe apagarse
Accionar un LED_VERDE (PORTD.RD7) cuando la temperatura se encuentre entre 20 y 80°C y
la presión se encuentre entre 80 y 120.

Realizar un programa que cuimple las acciones empleando el microcontrolador PIC16F877A


Gracias
Microcontroladores

Operadores de incremento y decremento


Las operaciones de incremento y decremento por 1 se denotan con "++" y "--".
En primer caso (++x), la variable x será incrementada por 1 antes de ser utilizada en la expresión. De lo
contrario, la variable se utilizará en la expresión antes de ser aumentada por 1. Lo mismo se aplica a la
operación de decremento.

OPERADOR EJEMPLO DESCRIPCIÓN


++a Variable "a" es
++
a++ incrementada por 1

Variable "a" es
-- --b
decrementada por 1
Microcontroladores

Operaciones de manejo de bits


A diferencia de las operaciones lógicas que se realizan sobre los valores o expresiones, las operaciones de
manejo de bits se realizan sobre los bits de un operando. 

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


Microcontroladores

Operadores lógicos
Hay tres tipos de operaciones lógicas en el lenguaje C: Y (AND) lógico, O (OR) lógico y negación - NO (NOT)
lógico.
Los operadores lógicos devuelven verdadero (1 lógico) si la expresión evaluada es distinta de cero. En caso
contrario, devuelve falso (0 lógico) si la expresión evaluada equivale a cero. Esto es muy importante porque las
operaciones lógicas se realizan generalmente sobre las expresiones, y no sobre las variables (números)
particulares en el programa. Por lo tanto, las operaciones lógicas se refieren a la veracidad de toda la
expresión. Por ejemplo: 1 && 0 es igual a 0

OPERADOR FUNCIÓN
&& Y
|| O
! NO
Microcontroladores

Resistencias PULL-UP

RBPU - PORTB Pull-up enable bit (resistencia Pull Up del puerto PORTB)
• 0 - Resistencias pull-up del puerto PORTB están deshabilitadas.
• 1 - Pines del puerto PORTB pueden estar conectados a las resistencias pull-up.
Microcontroladores

Aplicación: Contador
Microcontroladores

Aplicación: Contador
22pF 4Mhz
U1
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
35
RB2
22pF 2 36
RA0/AN0 RB3/PGM
3 37
RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD

1
2
3
4
7
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
15 DSW4

ON
8 16 DIPSWC_4
RE0/AN5/RD RC1/T1OSI/CCP2
9 17

OFF
RE1/AN6/WR RC2/CCP1
10 18
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA

5
1 24
MCLR/Vpp/THV RC5/SDO
10k 25
RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A
Microcontroladores

Aplicación control de motor


Microcontroladores

Aplicación control de motor


M1 M2 IZ_DE
22pF 4Mhz
U1
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
35
RB2
22pF 2 36
RA0/AN0 RB3/PGM +12v
3 37
RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
6
RA3/AN3/VREF+ RB6/PGC
40 16 8 U2
RA4/T0CKI/C1OUT RB7/PGD
7
RA5/AN4/SS/C2OUT
15 2 3
RC0/T1OSO/T1CKI IN1 VSS VS OUT1
8 16 7 6
RE0/AN5/RD RC1/T1OSI/CCP2 IN2 OUT2
9 17 1
RE1/AN6/WR RC2/CCP1 EN1
10 18
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24 9
MCLR/Vpp/THV RC5/SDO EN2
10k 25 10 11
RC6/TX/CK IN3 OUT3

GND
26 15 14
RC7/RX/DT IN4 OUT4
19
RD0/PSP0
20 L293D
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A
Actividad Virtual
Microcontroladores

Actividad Virtual
• Realizar un programa donde realice 4 operaciones aritméticas empleando 2 números de 4 bits c/u
ingresados por el puerto B
• El resultado se mostrada en el puertoB mediante display de 7 segmentos

También podría gustarte