Redes Industriales

Todo acerca de Redes industriales aqui

Comando Electrico

Informate sobre como crear circuitos y que aparatos utilizar

sábado, 31 de octubre de 2015

Maquinas de Corriente Continua

Las Maquinas de Corriente Continua se clasifican en:

-Generadores (Dinamos).
-Motores Eléctricos.
Son Máquinas reversibles,
-El Motor convierte la energía eléctrica en mecánica.
-El generador Convierte la energía mecánica en eléctrica.


Generador (Dinámo): En el dinámo generador el movimiento giratorio es suministrado por una fuente exterior aplicada al eje con el fin de generar energía eléctrica
Motor: En el motor la fuente es energía eléctrica que se suministra en los bornes al devanado y al campo magnético de la maquina con el fin de generar energía mecánica.

Partes esenciales de una Máquina de Corriente Continua.

Aspecto Exterior de una maquina de corriente continua.


Partes de una Máquina de Corriente Continua: 
Circuito Inductor 
    Se encuentra en la fija de máquina y recibe el nombre de estator.
    Está constituido por:
        -Carcasa o Culata: -Es el soporte de todos los elementos de máquina y sirve de retorno de los flujos creados por los bobinados auxiliares o de excitación.
-Está Fabricada en acero fundido o laminado.
        -Núcleo Polar de un polo inductor:-Son masas magnéticas donde va alojado el bobinado de excitación.
-Son de chapa de acero dulce, se unen a las carcasa por pernos.
        -Pieza polar de un polo inductor:
-Se llama también expansión polar, es la parte más cercana al inducido.
-Mediante la expansión polar se reduce la reluctancia magnética y por consiguiente el flujo de dispersión y las perdidas magnéticas.
Mejora  del flujo inductor

        -Núcleo polar de un polo auxiliar o de conmutación:
-Es el núcleo magnético donde va situado el bobinado auxiliar.
-Está constituido por chapa de acero dulce.
-Se una a la carcasa mediante pernos desmontables.
        -Pieza polar de un polo auxiliar o de conmutación:
-Las mismas características  función que la pieza polar de un polo de excitación, pero de menor tamaño.
        -Entrehierro:
-Espacio que existe entre el circuito mangético del bobinado inductor y el circuito magnético del bobinado inducido.
        -Bobinados de excitación o bobinado inductor:
-Es el que produce en el estator el campo magnético cuyo flujo crea las corrientes inducidas en el inducido o rotor.

        El Motor convierte la energía eléctrica en mecánica.
-Está conectado en serie con el bobinado de inducción.
-Está destinado a mejorar la conmutación
-Realizan una función muy importante en el funcionamiento de la máquina.


Excitación de las máquinas de Corriente continua:
Existen maquinas con excitación independiente y autoexcitadas como lo son:
-Excitación Serie
-Excitación Shunt
-Excitación Compound

Excitación Independiente
- El bobinado de excitación de la máquina es alimentado por una fuente de Corriente Continua Exterior.
-La corriente de excitación puede ser regulada por un reostato o por la propia fuente.
-Su utilización es limitada por necesitar de una fuente exterior para su excitación 

Maquinas Autoexcitadas
-La fuente de alimentación del bobinado de excitación llega a través del inducido de la propia máquina.
-En los generadores el flujo inicial de excitación se produce por histéresis.
-En los motores, el bobinado de excitación se alimenta a través de la red de corriente continua.

.- Excitación Serie
-La bobinas inductoras son recorridas por la misma corriente generada por el inducido y absorbida por la carga.
-Son de pocas espiras  sección grande para tener la menor caída de tensión posible.


.- Excitación Shunt (Paralelo)
El circuito inductor está conectado en derivación con el circuito inducido y con la carga.
-Las bobinas están constituidas por un número elevado de espiras y poca sección.


.-Excitación Compound (Compuesta)
-Constituida por dos circuitos, uno serie y otro en derivación.
-Esta maquina reúne las características de la conexión serie y de la conexión Shunt, por lo que mejora bastante las deficiencias de las anteriores.




Placa de bornas de un Maquina de Corriente Continua.
Letras                 Circuito al que corresponde
A-B / A1-A2      -Bobinado Inducido
C-D / E1-E2       -Bobinado Inductor Shunt
E-F / D1-D2       -Bobinado Inductor Serie
G-H / B1-B2      -Bobinado inductor de conmutación
J-K / F1-F2        -Bobinado Inductor independiente
Circuito Inducido
   Sus partes son : el Inducido, Colector y Escobillas.

Inducido Partes:



Diferentes elementos de una máquina de C.C

También denominado, rotor, es la parte de la máquina que gira y donde va alojado el bobinado.
-Está formado por chapas magnéticas aisladas entre sí por un barniz.
-Existen 3 Tipos de inducidos:
   -De Anillo.
   -De Disco.
   -De Tambor.
-El bobinado de tambor es el más utilizado por representar más ventajas que el resto:
-Gran aprovechamiento del cobre
-Menor resistencia ohmica
-Menores pérdidas por calor y mayor rendimiento


Colector
-Es un cilindro adherido al eje del inducido donde va conectado el bobinado del inducido por medio de unas pletinas de cobre aisladas entre ellas por una capa de mica.
-En las delgas se conectan los principios y finales de cada espira del bobinado inducido.

Escobillas
-Las escobillas son piezas fijas compuestas por mezcla de diferentes tipos de carbón
-Alojadas en un porta escobillas
-Las escobillas pueden ser de diferentes formas y tamaños en función del tipo de porta escobilla y potencia de la máquina.

Bobinados del rotor
-Bobina.- Es un número determinado de espiras conectadas entre si
-La bobina consta de una parte activa que se encuentra en el interior de la ranura (sección inducida) y otra parte en el exterior de la ranura que une los lados activos y se denomina cabeza de bobina.
-Las bobinas se pueden construir de hilos o de pletinas.

Principales normas en cada tipo de bobinado:
-Para máquinas que es necesario suministrar fuertes intensidades, se construyen bobinados imbricados simples o dobles.
Para máquinas sometidas a elevadas tensiones se construyen bobinados ondulados.
-Para máquinas de mediana potencia se emplean los dos tipos de bobinados.

Números de polos. 
Lineas neutras y escobillas
-El número de polos vendrá determinado por los cálculos constructivos de la máquina (N-S).
-El número de líneas neutras será igual al de polos. Cada línea neutra se encuentra entre dos polos de distinto signo.
-El número de escobillas será igual al número de polos.

domingo, 25 de octubre de 2015

Protocolo Modbus

Modbus fue introducido en 1979 por la compañía Modicon, que era líder en el mercado incipiente de controladores lógicos programables (PLC).



 Su objetivo era ser el protocolo interno de comunicación punto-a-punto, el intermedio entre los PLCs de Modicon y los paneles de programación que se usaban para programar controladores.

 Este protocolo sigue prosperando porque es de fácil comprensión, y por ello ha sido utilizado por muchos ingenieros para ejercitarse en protocolos. Además, es un sistema abierto y se puede utilizar sin pagar royalties. No se limita a la automatización industrial; de hecho se puede encontrar en numerosos sectores de automatización, incluyendo la de edificios.

MODBUS funciona siempre en modo maestro-esclavo (cliente - servidor), siendo el maestro (cliente) quien controla en todo momento las comunicaciones con los esclavos que pueden ser hasta 247 (Dirección 1 a 247) . Los esclavos (servidores) se limitan a retornar los datos solicitados o a ejecutar la acción indicada por el maestro. La comunicación del maestro hacia los esclavos puede ser de dos tipos.

-Peer to peer: en que se establece comunicación maestro - esclavo, el maestro solicita información y el esclavo responde. Se envía el comando a un dispositivo comprendido entre las direcciones 1 a 247. 
-Broadcast: en que se establece comunicación maestro - todos los esclavos, el maestro envía un comando a todos los esclavos de la red sin esperar respuesta, se envía a la dirección 0.


Se pueden establecer comunicaciones en redes estándar Modbus utilizando cualquiera de estos dos modos de transmisión: ASCII o RTU.
Los usuarios seleccionan el modo deseado, y los parámetros de comunicación del puerto serie (velocidad de transmisión en baudios, modo de paridad, etc.), durante la configuración de cada controlador.
El modo y los parámetros del puerto serie tienen que ser los mismos para todos dispositivos en una red Modbus.

La selección de modo ASCII o RTU es solamente para redes estándar Modbus.
Define los contenidos de los campos del mensaje serie transmitido por la red. Determina como estará empaquetada la información en los campos de código y mensaje.
En otras redes como MAP y Modbus Plus, los mensajes de Modbus están embebidos dentro de la trama y no están relacionados con la transmisión serie.

Modbus ASCII

Sistema de Codificación:
Hexadecimal, caracteres ASCII 0-9, A-F, 7 bits
Un carácter hexadecimal en cada carácter ASCII del mensaje.
Bits por Byte:
1 bit de comienzo
7 bits de datos, el bit menos significativo se envía primero
1 bit de paridad par/impar; o ninguno si no hay paridad
1 bit de fin si se usa control de paridad; ó 2 bits de fin si no
se usa control de paridad
Campo de Control de Error:
Control de Redundancia Longitudinal(LRC)

** La ventaja principal de este modo es que permite intervalos de tiempo de hasta un segundo entre caracteres sin causar error.


Modbus RTU

Sistema de Codificación:
8 bits binarios, binario 0 a 255
2 caracteres hexadecimales en cada campo de 8 bits del
mensaje.
Bits por Byte:
1 bit de inicio
8 bits de datos, el bit menos significativo se envía primero
1 bit de paridad par/impar; ó ninguno si no se usa paridad
1 bit de fin si se usa paridad; ó 2 bits de fin si no hay paridad
Campo de Control de Error:
Control de Redundancia Cíclica ( CRC )

** La ventaja principal de este modo es que su mayor densidad de caracteres permite una
mejor productividad de información que el modo ASCII para la misma velocidad. 
Cada mensaje se transmite conjuntamente sin interrupción.

ASCII V/S RTU


Transmisión de Caracteres Serie
Trama Modbus


¿Como se usa el código de operación?

El campo Código de Operación del formato de mensaje contiene dos caracteres (ASCII) u ocho bits (RTU). Los códigos válidos están en el rango de 1-255 decimal.
Cuando se envía un mensaje desde un maestro a un dispositivo esclavo el campo de Código de Operación dice al esclavo qué la clase de acción debe realizar.
Cuando el esclavo responde al maestro, utiliza el campo de código de operación para indicar que es una respuesta normal (libre de error) o que ha ocurrido algún tipo de error (respuesta de excepción).

Contenido del Campo de datos
El campo de información se construye utilizando conjuntos de dos dígitos hexadecimales, en el rango 00-FF hexadecimal. Estos pueden estar formados por un par de caracteres ASCII, o por un
carácter de RTU, de acuerdo con el modo de transmisión de la red.
El campo de información de mensajes enviados desde un maestro a sus dispositivos esclavos contienen información adicional que el esclavo necesita para ejecutar la acción definida en el Código de Función.
Estos pueden incluir detalles como direcciones de registros o discretas, la cantidad de registros a manejar, y el contador de bytes reales de información en el campo.

Por ejemplo, en la solicitud de un maestro a un esclavo para leer un grupo de registro internos (código de operación 03), el Campo de Datos especifica el registro inicial y cuantos registros se quieren leer.

Código de error en operación
Un mensaje de maestro a esclavo para leer un grupo de registros internos tendría el siguiente código de operación:
0000 0011 (Hexadecimal 03)
Si el dispositivo esclavo recibe la acción solicitada sin error, devuelve el mismo código
en su respuesta.
Si ocurre una excepción, devuelve :

10000011 (Hexadecimal 83)

Contenido del campo de datos: 
Direccionamiento de datos:
Contenidos del campo de comprobación de error.
En las redes estándar Modbus se utilizan dos clases de método de comprobación de error. Los contenidos de campo de comprobación de error dependen del método que se haya utilizado.

ASCII
Cuando se utiliza formato ASCII, el campo de comprobación de error contiene dos caracteres
ASCII. Los caracteres de control de error son el resultado de un cálculo de Redundancia Longitudinal (LRC) basado en el contenido del mensaje, excluyendo el carácter de inicio (: ) y los caracteres finales CR LF. (Retorno de carro + salto de linea)
Los caracteres de LRC se añaden al mensaje como último campo seguidos de los caracteres CRLF.

RTU
Cuando se utiliza formato RTU, el campo de comprobación de error contiene un valor de 16 bits formado por dos bytes de 8 bits. El valor de control de error es el resultado de un cálculo de Control de Redundancia Cíclica basado en el contenido del mensaje.

jueves, 22 de octubre de 2015

PIC C Compiler

Ahora les traemos un nuevo programador para microcontroladores, el PIC C Compiler de la casa CCS , el cual nos sirve para programar en lenguaje C los microcontroladores, un lenguaje mas alto que el assembler y mas conocido por las personas, por lo mismo este programa sera de gran utilidad para poder crear nuestros proyectos en los microcontroladores.
Este software nos ofrece una gran cantidad de PIC para seleccionar, no esta de mas decir que si quieren comprobar sus proyectos, utilicen el simulador ISIS 7 Professional o mas conocido como "Proteus".

Espero les sirva

Link de Descarga : PIC C Compiler

LIBRO: Redes Eléctricas

Link de Descarga : Redes Eléctricas

Libro :  Redes Eléctricas
Edición: Serie Pearson
Autores: Leopoldo Silva bijit.

[DESCARGA] PS Portable

Ya que mucha gente lo pide les subiré el "PS portable" el cual me ha servido para realizar también el diseño de esta "pagina web" espero les pueda servir, cualquier consulta dejarla en comentarios.



Pasos: -Descargar desde Drive el archivo PS Portable.
-Extraer los archivos en una carpeta, usted le da el destino.
-Luego extrae los archivos y podra ejecutar el .EXE
-Selecciona el idioma con el cual usted quiere trabajar.

Link Descarga PS Portable


Jaime Benitez.-

domingo, 18 de octubre de 2015

Creación Subredes y Mascara de Subred [Clase A]

En esta publicación aprenderemos a como crear subredes y mascaras de subred en una Ip Clase A (IPv4).


Clase A
En una red de clase A, se asigna el primer octeto para identificar la red, reservando los tres ultimos octetos (24 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts es 2^24-2, es decir, 16.777.214 hosts.

0RRRRRRR.HHHHHHH.HHHHHHHH.HHHHHHHH
Rango de 1.0.0.0 a 127.255.255.255.

Primero Seleccionaremos una IP aleatoria de la Clase A la cual sera:

115.0.0.0 ---> Como vemos esta IP sus últimos 3 octetos son asignados a los Host.

Ahora un 3ero o nosotros mismos asignaremos la cantidad de subredes a crear en este caso serán 15 subredes las cuales crearemos en este ejemplo.

-La formula para calcular cuantos bits debemos robar al host para crear las 15 subredes es la siguiente:

2n   15 --> El 15 es el numero de subredes que deseamos crear
24   15 = 16   15 ya realizada por completa la formula podemos decir que N=4.

Esto nos indica que necesitaremos robar 4 bits a la parte de host de la IP.
Por lo tanto la IP quedaría conformada de la siguiente manera

RRRRRRRR.RRRRHHHH.HHHHHHHH.HHHHHHHH.

Ahora trabajaremos con el segundo octeto y solo con los 4 bits de Red, esto nos dice que realizaremos 16 combinaciones con los valores correspondientes (tabla de verdad) y por cada combinación tendremos el valor mínimo y máximo de host de las nuevas 15 subredes.


En esta tabla tenemos el máximo posible de redes creadas, 16 subredes, pero de estas 16 nosotros solo ocuparemos 15 en este ejemplo el cual se nos solicito al principio

Ya hemos creado la tabla, ahora solo queda crear las direcciones Ip de las 15 subredes solicitadas:


Estas son las 15 subredes ya creadas con todas sus IP, pero no olvidemos que necesitamos eliminar 2 IP para la dirección de Red y la dirección de broadcast.
-La Dirección de Red es la dirección que posee todos sus bits de host en cero, el cual sirve para identificar la red en la que se ubica

En la Subred 1 Seria 115.0.0.0 -> Dirección de Red

-La dirección de Broadcast es la dirección que posee todos sus bits de host en uno, este sirve para comunicar con todos los hosts de la red en la que se ubica.

En la Subred 1 Seria 115.15.255.255 ->Dirección broadcast

Esto sucede en todas las subredes creadas, en este caso 15 subredes el cual nos lleva a 30 direcciones de ip destinadas para Red y Broadcast.

Generación de una mascara de Subred

Si deseamos generar una mascara de subred para segmentar nuestra red, debemos conocer cual sera el número de host que queremos incluir en el segmento (H) y buscar la potencia de 2 (N) mayor a dicho número.
La formula estaría compuesta de la siguiente manera:

2n H + 2

En este caso el +2 Es por que se eliminan la dirección de red y broadcast de las direcciones de host.

24 14 + 2  = 16  ≥ 16  

El 14 es debido a que los host se le restaron las 2 Ip de red y broadcast dichos anteriormente.
El número 4 nos indica el número de host en el octeto (Puede tratarse como un tipo de comprobación igual)

Al tener ya el calculo hecho este nos indica que necesitamos 4 bits para la parte del host en la mascara. Por lo tanto la minima mascara que contendria la cantidad de host necesaria seria:

11111111.11110000.00000000.00000000 -->4 bits disponibles para el host del segundo octeto

Esto nos quedaría formado de la siguiente manera
255.240.0.0 --> Esta sera nuestra mascara de subred para poder saber a que red pertenece una dirección IP


Operaciones con Mascara de subred.

Para poder saber a que red pertenece una dirección IP debemos realizar una multiplicacion de la Dirección Ip con la Mascara

<Dirección IP> AND <Mascara>
La dirección IP utilizada para esta operación es una IP aleatoria y es la siguiente:

115.113.40.232

y La mascara de subred ya anteriormente calculada es:

255.250.0.0

Ahora realizamos la multiplicación entre las 2 direcciónes IP

255.240.  0.  0
115.113.40.232
Una forma detallada de la multiplicación es separando los octetos y especificando sus bits

255.240.0.0

255: 11111111
240: 11110000
0    : 00000000
255.240.0.0 = 11111111.11110000.00000000.00000000

115.113.40.232

115 : 01110011
113 : 01110001
40   : 00101000
232 : 11101000

115.113.40.232 = 01110011.01110001.00101000.11101000

11111111.11110000.00000000.00000000
01110011.01110001.00101000.11101000
____________________________________X
01110011.01110000.00000000.00000000

El resultado de la multiplicación de bits es : 01110011.01110000.00000000.00000000
Este traspasado a decimal nos da como resultado 115.112.0.0

la IP 115.112.0.0 Corresponde a la subred 8 Por lo que ya sabemos a que subred pertenece la IP 115.113.40.232


viernes, 16 de octubre de 2015

LIBRO: Circuitos Electricos - Serie SCHAUM

Link de descarga: Circuitos Eléctricos Schaum




Libro :  Circuitos Eléctricos - Teoria y problemas resueltos
Edición: Serie Schaum
Autores: Joseph A. Edminister

LIBRO: Electrónica Teoría de circuitos y dispositivos electrónicos

Link de Descarga: Electrónica Teoría de circuitos y dispositivos electronícos




Libro :  Electrónica Teoría de circuitos y dispositivos electrónicos.
Edición: Décima edición
Autores: Robert L. Boylestad
Louis Nashelsky

Lenguaje de programación de Arduino

En esta publicación hablaremos sobre el lenguaje de programación del Arduino el cual sera utilizado para poder crear nuestros proyectos mas adelante.
Si no entienden muy bien los códigos de programación pueden darle click a las palabras celestes para que se explique a fondo, al darle click este los enviara a la pagina oficial de arduino la cual esta en ingles.



Un programa Arduino puede correr en dos partes:
setup() es la preparación, y loop() es la ejecución. En la sección setup(), que se encuentra siempre al comienzo de tu programa, se configuran los pinModes, se inicializa la comunicación serial, etc. En la sección loop() se encuentra el código que será executado, como lectura de entradas, disparo de salidas, etc.
Estructuras de Control
Sintaxis
  • ; (punto y coma)
  • {} (paréntesis de corchetes)
  • // (comentario simple de línea)
  • /* */ (comentario multilínea)
Operadores Aritméticos
  • plus (adición)
  • - (sustracción)
  • * (multiplicación)
  • / (división)
  • % (módulo)
Operadores de comparación
  • == (igual a)
  • != (distinto a)
  • < (menor que)
  • > (mayor que)
  • <= (menor o igual que)
  • >= (mayor o igual que)
Operadores Booleanos
  • && (and)
  • || (or)
  • ! (not)
Operadores Compuestos
  • ++ (incremento)
  •  (decremento)
  • += (adición compuesta)
  • -= (sustracción compuesta)
  • *= (multiplicación compuesta)
  • /= (división compuesta)

Variables


Las Variables con expresiones que puedes usar en programas para guardar valores, como lectura de sensores desde un pin análogo.
Constantes
Las Constantes son valores particulares con significado especial.
Tipos de Datos
Las variables pueden tener varios tipos de datos, los cuales se describen a continuación.

Referencia



Funciones


Entrada/Salida Digital
Entrada/Salida Analógica
Entrada/Salida Avanzado
Tiempo
Matemáticas
Números al azar
Comunicación Serial
Se utiliza para la comunicación entre la placa Arduino y un computador u otro dispositivo. Esta comunicación sucede a través de la conexión serial de la placa Arduino o USB y sobre los pines digitales 0 (RX) ó 1 (TX). Luego, si usas estas funciones, no puedes tampoco usar estos pines como entrada o salida digital.
Mayor Información : http://arduino.cl/programacion/ 

miércoles, 14 de octubre de 2015

[PIC16F84A] Ejercicios Resueltos

En esta presentación vamos a introducirlos a un poco de programación Assembler, pero primero vamos a hablar de todos los pasos que tenemos que tomar para poder realizar una programación exitosa y así finalmente probar el ejercicio de manera física para ver como funciona realmente.


Procedimiento de Resolución

El procedimiento estándar para la resolución de un proyecto en general recomendado es segmentar el proyecto en 3 simples pasos:

Paso N°1: Enunciado y delimitación del hardware: El enunciado es la razón de ser de cualquier proyecto. Es el problema que debe ser solucionado por el programador.

Si el enunciado es proporcionado junto con el hardware, este paso nos los ahorraremos. En caso contrario, se deben delimitar y definir todas las variables de entradas y de salida. Debemos asignar los pines que van a actuar como entrada de datos (Sensores) y los que van a actuar como salida de datos (Actuadores o elementos finales de control).

Se debe tratar de develar todo lo que se espera que haga el funcionamiento del diseño que se está proponiendo. Se debe establecer un resumen de cómo se debe comportar el circuito de control en base a lo que queremos diseñar.

Sirve Para:
.- Ponerle límites a nuestro proyecto.
.-Determinar las funciones que se espera que haga.
.-Fundamentalmente para especificar el hardware que va a ser controlado y gobernado por el microcontrolador, en este caso el PIC16f84a.

Paso N°2: Diagrama de Flujo: Este nos proporcionará el funcionamiento lógico del problema, proyecto o sistema que queremos diseñar.
       Si un proyecto es de mediana o gran complejidad, se recomienda seccionar el diagrama de flujo en partes para analizar su funcionamiento y posteriormente unirlo, bajo el lema de segmentar un proyecto grande en partes pequeñas para su entendimiento y luego se agrupan, obteniendo la solución total del proyecto.
       Generalmente se parte del enunciado que se ha delimitado en el paso anterior.
Como recomendación general, antes de pasar a la elaboración del lenguaje ensamblador, hágase las siguientes preguntas:

.-¿El diagrama de flujo tiene continuidad y lógica?
.-¿Cumplo con las normas de elaboración de un diagrama de flujo?
.-¿El diagrama de flujo cumple con el enunciado?

         Si estas preguntas son afirmativas, bien vayamos al paso 3. En caso contrario debemos corregirlo, hasta lograr que funcione como se exige o como lo deseamos.

Paso N°3:  Elaboración del lenguaje Ensamblador: Si usted ha elaborado correctamente el diagrama de flujo, este paso será sencillo de llevar a cabo, recordando que a cada bloque se haya colocado en el diagrama le corresponderá un conjunto de instrucciones que salen exclusivamente de las 35 disponibles que traen los microcontroladores de la familia 16F con la que se trabajara en este blog. Su documentación previa, experiencia, incentivo e ingenio le permitirán combinarlas para que realicen la misma función expresada en el diagrama de flujo.
      Se deben tener presente las diferentes rutinas de programación, asi como otras rutinas estandares que existen para el uso de diferentes procedimientos, tales como rutinas matemáticas, manejo de LCD, comunicaciones, conversiones entre códigos, etc.

Un ejemplo de diagrama de flujo de la metodología de resolución de problemas :



Ejercicio N°1: Dado el siguiente circuito:



Realice un programa que permita explorar el estado del bit RA3. Si RA3 es uno, se debe mostrar en el display el número 5. Caso contrario se debe mostrar el número 3.


Solución:
Paso 1: Enunciado y delimitación del hardware: Si el enunciado y el hardware ya se nos ha proporcionado, saltaremos al siguiente paso.
Paso 2: Diagrama de flujo:


Paso 3: Lenguaje Ensamblador:
Si tenemos el Diagrama de Flujo bien diseñado, lo demas es solamente detallarlo en el lenguaje assembler.:


Ejercicio N°2: Dado el siguiente circuito: 
Realice un programa que permita mostrar en el display la letra "C", si la entrada está en nivel bajo ó la letra "U" si la entrada está en el nivel alto.
Solución:
Paso 1: Enunciado y delimitación del hardware: Tenemos el enunciado pero el hardware no está del todo claro.
        Como no se especifica que bit del microcontrolador controla a cuál segmento del display, debemos especificarlo. Además no se especifica que display vamos a utilizar, no sabemos si es ánodo común o cátodo común. Por lo tanto lo asignaremos a nuestro criterio. Eligiendo un cátodo común tendremos:

La identificación de los segmentos de un display a nivel internacional es la siguiente:
Paso 2: Diagrama de Flujo

Paso 3: Lenguaje Ensamblador:


Ejercicio N°3: Diseñe un contador de 8 bits, que se incrementa cada vez que se pulsa "P" (RA3). Visualice el resultado por el puerto B. Activar un led (RA0), cuando el contador llegue a D'125' y apagarlo cuando llegue a D'221. y luego repetir el ciclo

Paso 1: Enunciado y delimitación del hardware: Tenemos el enunciado y parte del hardware definido. 

.- Se ha asignado a RA3 como un sensor de entrada (Pulsador).
.- Se ha asignado a RA0 como un elemento de salida (Led).
.- Se pide al puerto B que muestre el valor de un contador (Son 8 Bits), por lo que es un elemento de salida (8 leds)

¿Cómo quedaría delimitado el hardware?
Asignaremos la lógica del pulsador (Lógica negativa):
.- Si P es presionado, RA3= 0
.- Si P no es presionado, RA3= 1.

Si usted desea trabajar con lógica positiva, no hay problema, debe reconfigurar el circuito del pulsador.

Listo, tenemos el cascarón vacío del proyecto. Ahora vamos a darle inteligencia.

Paso 2: Diagrama de Flujo:
Debemos usar un registro que lleve la cuenta (Contador de 8 Bits) por lo que debemos declararlo en el paso 3.



Paso 3: Lenguaje Ensamblador:

Recuerde la declaración el registro CONTADOR: