Todo sobre sistemas embebidos
eBook - ePub

Todo sobre sistemas embebidos

Arquitectura, programación y diseño de aplicaciones prácticas con el PIC18F

Sergio Salas Arriarán

Share book
  1. 609 pages
  2. Spanish
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Todo sobre sistemas embebidos

Arquitectura, programación y diseño de aplicaciones prácticas con el PIC18F

Sergio Salas Arriarán

Book details
Book preview
Table of contents
Citations

About This Book

Todo sobre sistemas embebidos es una guía teórica y práctica para el aprendizaje de la metodología de programación y diseño de aplicaciones con sistemas embebidos de 8 bits de CPU, específicamente tomando como modelo el microcontrolador PIC18F4550 de la marca Microchip.El libro trata de enfocar aquellos aspectos que son de suma importancia conocer para el diseño y desarrollo de hardware basado en sistemas embebidos: entender la arquitectura del microcontrolador, conocer las herramientas de desarrollo disponibles en el mercado y la Internet para el diseño de firmware, dominio del lenguaje ensamblador, dominio de un lenguaje de alto nivel como el ANSI C. También se busca explicar el funcionamiento de los módulos periféricos internos del microcontrolador y ejemplos de diseño de hardware y firmware de diversas aplicaciones reales.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Todo sobre sistemas embebidos an online PDF/ePUB?
Yes, you can access Todo sobre sistemas embebidos by Sergio Salas Arriarán in PDF and/or ePUB format, as well as other popular books in Naturwissenschaften & Mechanik. We have over one million books available in our catalogue for you to explore.

Information

Capítulo 1. Conceptos básicos

Para la correcta comprensión del contenido del presente capítulo y de los capítulos siguientes, es necesario tener en claro ciertos conceptos básicos acerca de los sistemas de numeración utilizados en la electrónica digital (básicamente, el sistema binario y el hexadecimal), los tipos de operaciones matemáticas relacionadas con estas bases numéricas y las diversas interpretaciones que se pueden obtener de las cifras binarias.

1.1 Definiciones básicas

A continuación se presenta una serie de conceptos importantes sobre electrónica digital; los tipos de base numérica binaria, decimal y hexadecimal; los métodos aritméticos para obtener los cambios de base, operaciones lógicas y aritméticas en estos sistemas numéricos; y los formatos de numeración BCD y ASCII, que son sumamente utilizados en las aplicaciones con sistemas embebidos.

1.1.1 El sistema de numeración binario y hexadecimal

En el mundo de los dispositivos lógicos digitales, las operaciones realizadas siempre involucran patrones numéricos en formato binario. La unidad mínima de este formato es el bit. Un bit se representa por dos niveles o estados lógicos: ‘1’ o ‘0’. Normalmente, un nivel ‘1’ lógico viene a estar físicamente representado por una magnitud en voltios, y el nivel ‘0’, en otra magnitud de voltaje. Por ejemplo, en la tecnología TTL1, el nivel lógico ‘1’ se encuentra determinado en el rango entre 2 V y 5.5 V, mientras que el nivel ‘0’ está entre 0V y 0.8 V. Cualquier nivel de voltaje fuera de este rango (entre 0.8 y 2 V) es considerado como un estado indeterminado o ‘X’, con el cual será imposible realizar operaciones lógicas a nivel digital.
Las cifras binarias, por lo general, no se componen de un solo bit. Normalmente, están compuestas por una cantidad múltiplo de ocho bits. En el gráfico 1.1 se muestran los tipos de arreglos binarios más utilizados en la electrónica digital.
Gráfico 1.1. Arreglos binarios más comunes usados en la electrónica digital
Tamaño
Valor mínimo y máximo
Denominación
1 bit
0 – 1
Bit
4 bits
0000 – 1111
Nibble
8 bits
0000 0000 – 1111 1111
Byte
16 bits
0000 0000 0000 0000 –
1111 1111 1111 1111
Word
32 bits
0000 0000 0000 0000
0000 0000 0000 0000 –
1111 1111 1111 1111
1111 1111 1111 1111
Double Word
Elaboración propia.
Una cifra binaria posee la siguiente nomenclatura: (código binario)2, donde el subíndice 2 indica la base. Por ejemplo, la cifra 010100002 es un byte con un valor equivalente al número 80 en base decimal (base 10). La nomenclatura para la base hexadecimal se representa antecediendo un 0x sobre el código hexadecimal. Por ejemplo, la cifra mostrada se puede representar como 0x50 en la base hexadecimal. El bit ubicado en el extremo derecho de la cifra en base binaria es conocido como el bit LSB2 y representa el valor menos significativo. De la misma manera, el bit del extremo izquierdo es considerado el bit MSB3 o más significativo. Al igual que en el sistema de numeración decimal, una cifra ubicada en la posición de las centenas o millares (izquierda) presenta mayor significancia que una cifra ubicada en la posición de las decenas o unidades (derecha).
En el sistema binario, la base numérica utilizada es 2. Esto significa que cada bit puede estar representado únicamente por dos cifras: ‘0’ o ‘1’. La posición del bit dentro de la cifra especifica un valor formado por la cifra 2 elevado a una potencia y multiplicado por el valor del bit (‘0’ o ‘1’). El valor de dicha potencia es la posición del bit en la cifra. Por ejemplo, si se observa el* gráfico 1.2, en el byte de la figura, el bit LSB tiene un aporte de 20 (ya que 0 es la posición menos significativa), mientras que el bit MSB aporta con 27. Esto implica que el valor de la cifra es el siguiente:
valor = 27 × 0 + 26 × 1 + 25 × 0 + 24 × 1 + 23 × 0 + 22 × 0 + 21 × 0 + 20 × 0
Como se puede observar, el valor obtenido es 64+16 = 80, cifra equivalente en base decimal. Conforme se agreguen más dígitos binarios a esta cifra, el exponente de la base binaria se incrementará en uno. Por ejemplo, si una cifra binaria posee 11 bits, el bit MSB tendrá un peso equivalente de 210.
Al igual que en el caso de las cifras decimales, donde existen prefijos como kilo (103), Mega (106) o Giga (109), entre otros que son usados para abreviar magnitudes elevadas, existen también los mismos prefijos para definir grandes magnitudes en cifras binarias formadas por longitudes con base en 8 bits (1 byte). Es así que para el sistema binario:
1 kB (Se pronuncia un kilo byte) = 210 bytes o 1024 bytes
1 MB (Se pronuncia un mega byte) = 210 kB o 1024 kB
1 GB (Se pronuncia un giga byte) = 210 MB o 1024 MB
Gráfico 1.2. Ejemplo sobre los pesos de cada bit de una cifra binaria
Image
Elaboración propia.
Al igual que en el sistema de numeración binario, se emplean otros sistemas numéricos para representar cifras en otras bases. Uno de los más usados en la programación de sistemas embebidos es la base hexadecimal4. En ella cada cifra tiene un peso, dependiendo de una potencia en base 16. En este sistema existen 16 cifras diferentes (valores de 0 a 15) para representar una magnitud. Por ejemplo, para las cifras del 0 al 9 se utilizan los mismos dígitos que en el sistema decimal. Para completar los 6 dígitos restantes se utilizan letras del alfabeto, como el siguiente caso:
Image
En el número hexadecimal mostrado en el gráfico 1.3, cada cifra representa un nibble, dado que se tienen 16 posibles valores diferentes y esto equivale a una combinación de 4 bits (24 estados). Cada dígito representa una potencia de 16, según su posición en la cifra. En el ejemplo, el valor decimal equivalente del número hexadecimal mostrado es el siguiente:
valor = 163 × 10 + 162 × 3 + 162 × 4 + 160 × 12
De esta manera, el valor decimal equivalente es 40 960 + 768 + 64 + 12 = 41 804. Como se puede observar, esta cifra pudo haber sido representada en el sistema binario con el siguiente código: 10100011010011002, lo cual habría resultado en una cifra más larga, al estar conformada por 16 dígitos. En cambio, en el sistema hexadecimal se utilizan únicamente 4 dígitos para representar la misma cifra numérica, lo cual permite abreviar valores de magnitudes muy extensas.
El sistema de numeración hexadecimal es el preferido cuando se quiere representar magnitudes superiores a 28 y, al mismo tiempo, se desea mantener la visualización del código binario. Esto permite obtener una mejor comprensión del orden de la cifra sin perder de vista su forma a nivel binario (ya que es fácilmente visible el código binario a partir de cada nibble o dígito hexadecimal).
Gráfico 1.3. Ejemplo sobre los pesos de cada cifra hexadecimal
Image
Elaboración propia.

1.1.2 Conversiones entre bases

La base decimal es el formato más utilizado por los seres humanos para interpretar las cifras numéricas que operan diariamente para sus tareas cotidianas. Las personas comunes y corrientes han aprendido a realizar operaciones aritméticas en base a este sistema de numeración. Entonces, la pregunta que cae por su propio peso es la siguiente: «¿por qué el programador debe conocer otros sistemas de numeración, como el binario y el hexadecimal?» La respuesta a esta pregunta es obvia: porque al programar un sistema embebido no se debe pensar como seres humanos sino como un computador, y el sistema de numeración utilizado por estas máquinas es, por naturaleza, el binario.
Durante la programación de un sistema embebido no es necesario que el programador realice las conversiones de bases en el código ingresado. Para el software d...

Table of contents