Está en la página 1de 17

Conceptos básicos de sistemas

digitales.

Asignatura: MICROCONTROLADORES.
Profesor: Carlos Ávila Muñostes.
Sistemas binarios.
„ En los circuitos digitales, la información se
representa como patrones de ceros y unos, es decir,
en forma binaria.
„ Los ceros o unos corresponden físicamente a niveles
de voltaje distintos.
„ Ejemplo: el número decimal 18 se representa por
10010.
„ Problema: ¿cómo representar un número decimal
(en base 10), a un equivalente binario (base 2).
„ La clave es el concepto de base numérica.

Carlos Avila Muñostes 2


Bases numéricas.
„ La manera común de representar números es en
forma decimal (base 10).
„ Los números en base 10 se representan usando 10
símbolos distintos, llamados dígitos, que son los
siguientes:
„ 0,1,2,3,4,5,6,7,8,9.
„ Cuando se desea representar un número igual o
mayor que la base 10, se usan los mismos símbolos,
pero algunos representan potencias de 10.
„ Ejemplo: el número 134 es equivalente a:
„ 1x102+3x101+4x100
„ La base expresada en su propia base es 10.
Carlos Avila Muñostes 3
Conteo en base decimal.
„ Para contar en el sistema decimal, se anotan los
símbolos consecutivos hasta que se llega a una
potencia de 10.
„ Al llegar a un valor que es potencia de 10, se
incrementa el símbolo que está a la izquierda, y
luego se sigue contando.
„ Ejemplo: contar desde 196 hasta 205 da los
siguientes valores:
„ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
206.
„ Al llegar al valor 200, se incrementa el segundo
dígito (desde la izquierda), pero también el tercero,
ya que el segundo empieza de nuevo desde cero.

Carlos Avila Muñostes 4


Conteo en binario (base 2).
„ Es similar a contar en Decimal Binario
decimal, con la diferencia de
que sólo se cuenta con dos 1 1
dígitos (símbolos).
„ Cada dígito binario de un 2 10
número se interpreta de
manera similar a los dígitos 3 11
decimales. La diferencia es
que representan potencias 4 100
de dos.
„ Esto permite obtener el 5 101
equivalente decimal
„ Ejemplo: 6 110
„ 101=1x22+0x21+1x20=5
7 111
Carlos Avila Muñostes 5
Ejemplos.
„ Ejemplos de cálculo del equivalente decimal
de un número binario.
„ 1011010
„ =1x26+0x25+1x24+1x23+0x22+1x21+0x20=90
„ 1111
„ =1x23+1x22+1x21+1x20=15
„ 110111
„ =1x25+1x24+0x23+1x22+1x21+1x20=55

Carlos Avila Muñostes 6


Representación de números binarios en
registros.
„ Un número binario está constituido por un conjunto
de dígitos, llamados bits (de binary digit).
„ En un computador, los números binarios se guardan
en registros.
„ Cada registro contiene un número determinado y fijo
de bits.
„ Por ejemplo, un registro de 8 bits sólo puede
contener un número binario que tenga como máximo
8 bits.
„ Problema: ¿Cómo se puede determinar cuál es el
máximo valor numérico que se puede guardar en un
registro de “n” bits?
Carlos Avila Muñostes 7
Representación de números binarios en
registros.
„ Por ejemplo, en un registro de 3 bits, el valor máximo
que se podría almacenar es el siguiente: 111.
„ El equivalente decimal de este número es:
„ 111=1x22+1x21+1x20=7=23-1.
„ Esto significa que en este registro podrían
representarse los siguientes números:
„ 000,001,010,011,100,101,110,111.
„ Como puede verse, se pueden representar 8
números distintos=23.
„ En un registro de N bits, se pueden representar 2N
números distintos.
„ El mayor valor que puede representarse en este
registro es 2N -1.
Carlos Avila Muñostes 8
Estructura de la memoria de un
computador.
„ La memoria es como una Dirección Contenidos
tabla con varias casillas.
„ En cada casilla se puede 00 00101101
guardar una cantidad 01 01010011
determinada de bits 10 10110100
(generalmente 8 bits = 1
byte). 11 01010111
„ Cada casilla se identifica con
un número llamado
dirección. „ Cada uno de los 4 bytes se
„ La dirección es un número puede identificar con una
que consta de una cantidad dirección de dos bits, ya que
fija de bits. „ 22=4
„ Ejemplo: memoria de 4 „ Es decir, el BUS DE
bytes. DIRECCIONES es de 2 bits.
Carlos Avila Muñostes 9
Ejemplos.
„ ¿Cuánta memoria es posible direccionar con un bus
de direcciones de 8 bits?
„ Respuesta: 28=256 bytes.
„ ¿Y con un bus de direcciones de 16 bits?
„ Respuesta=216=26x210=64 KB.
„ (Nota: 1 KB=1 kilobyte=210=1024 bytes).
„ ¿Y con un bus de direcciones de 32 bits?
„ Respuesta=232=22x210x210x210=4 GB.
„ (Nota: 1 GB=210x210x210 bytes).
„ La cantidad de memoria direccionable depende del
tamaño del bus de direcciones.

Carlos Avila Muñostes 10


Representación de números en
base 16 (hexadecimal).
„ Esta base se utiliza Número Hex

exclusivamente para tener 0 0

una representación más 1 1

compacta, ya que un 2 2

número expresado en base 3 3

hexadecimal tiene menos 4 4

dígitos que expresado en 5 5

forma binaria. 6 6
7 7
„ Los dígitos hexadecimales
8 8
son 16, y son los siguientes:
9 9
10 A
11 B
12 C
13 D
14
Carlos Avila Muñostes E 11
15 F
Ejemplos.
„ Ejemplos de cálculo del equivalente decimal de un
número hexadecimal.
„ Ejemplo:3AB
„ 3AB=3x162+10x161+11x160=939
„ Ejemplo:101
„ 101=1x162+0x161+1x160=257
„ Ejemplo: A3F6
„ A3F6=10x163+3x162+15x161+6x160=41974
„ Ejemplo: 345
„ 345=3x162+4x161+5x160=837
Carlos Avila Muñostes 12
Conversión binaria-hexadecimal.
„ Un número binario se puede convertir en
hexadecimal de forma sencilla.
„ El procedimiento es dividirlo en grupos de 4 bits,
partiendo desde la derecha, y luego representar cada
grupo como un dígito hexadecimal.
„ Ejemplo: se desea convertir el número binario
1011101 a forma hexadecimal.
„ 01011101=5D, ya que:
„ 0101=5 y 1101=13=D.
„ Ejemplo: binario 1110001 a hexadecimal
„ 1110001=71, ya que 0111=7 y 0001=1

Carlos Avila Muñostes 13


Conversión hexadecimal-binario.
„ Para convertir un número hexadecimal a binario, se
reemplaza cada uno de sus dígitos por su
equivalente binario de 4 bits.
„ Ejemplo: el número 3F8 se representa en binario
como:
„ 001111111000
„ Explicación: cada dígito hexadecimal se representa
binariamente, y luego se anotan todos los bits juntos.
„ (3)H=(0011)B
„ (F)H=(1111)B
„ (8)H=(1000)B

Carlos Avila Muñostes 14


Aplicación del sistema hexadecimal.
„ El sistema hexadecimal permite representar en forma
compacta direcciones de memoria y contenidos de la
misma.
„ Esto es necesario para el manejo del software
encargado de la programación de
microcontroladores.
„ Frecuentemente se necesita saber los contenidos de
la memoria, en un rango de direcciones determinado.
„ El software utilizado en el proceso de desarrollo de
programas, permite ver los contenidos de memoria
en pantalla, junto con sus direcciones.
„ Si todo se representara en forma binaria (contenidos
y direcciones), la pantalla sería difícil de leer, y no
podría mostrarse demasiada información.
Carlos Avila Muñostes 15
Ejemplo:
„ Se tiene un computador con Dirección (bin) Registro (bin)
un bus de direcciones de
tres líneas. 000 00000110
„ Esto significa que cada 001 10101010
dirección consta de 3 bits.
010 00000000
„ El tamaño máximo de la
memoria es de 8 registros. 011 11010111
„ Supongamos que cada
registro es un byte (8 bits). 100 00101011
„ Supongamos que la 101 01000011
memoria contiene, en un
instante dado, lo siguiente: 110 10100001
111 10001110
Carlos Avila Muñostes 16
Ejemplo (continuación).
„ Si el ejemplo anterior se Dirección (hex) Registro (hex)
representara en forma
decimal, sería mucho más 0 06
compacto. 1 AA
„ La necesidad de esto es
mayor mientras más líneas 2 00
tenga el bus de direcciones, 3 D7
lo que implica más registros
de memoria. 4 2B
„ Un número hexadecimal es
5 43
más conveniente que el
decimal, ya que puede 6 A1
convertirse fácilmente a
binario. 7 8E
Carlos Avila Muñostes 17

También podría gustarte