Apuntes de Microcontroladores

martes, 18 de diciembre de 2018

Examen 1º trimestre


@echo off
:menu
echo Inicio de programa
echo 1. Marcha
echo 2. Paro
echo 3. Salir

choice /c:123
if errorlevel 3 goto salir
if errorlevel 2 goto paro
if errorlevel 1 goto marcha

:marcha
cls
echo Poniendo en marcha el motor.....
pause

cls
echo Motor en marcha.
echo 1. Giro izquierdas
echo 2. Giro derechas

choice /c:12
if errorlevel 2 goto derecha
if errorlevel 1 goto izquierda

:derecha
cls
echo Motor en marcha girando hacia la derecha.....
pause
goto menu

:izquierda
cls
echo Motor en marcha girando hacia la izquierda.....
pause
goto menu

:salir
cls
echo Saliendo del programa....
pause
exit
HOLA

martes, 11 de diciembre de 2018

Prensa Automática implementada con Microcontrolador PIC16f84A.

El proyecto que se va a tratar consiste en la implementación de una “Prensa Automática”, la cual será implementada por el Micro controlador PIC 16f84, fabricado por “Microchip Controler”.



Para visualizar todo el proyecto en su plenitud, pinchar aquí: 









martes, 4 de diciembre de 2018

examen. Marcha-paro con un sentido de giro

funcionamiento: nos encontramos con un motor, que al ejecutarse su funcionamiento, es marcha o paro, y que al realizar la acción de marcha, gira en dos sentidos, a izquierda o a derecha.

fichero:
@echo off
:menu
-------------------------------------------------------------------------------------------------------------------------
echo seleccione una entrada
echo 1 marcha giro para derecha
echo 2 marcha giro para izquierda
echo 3 motor en paro
--------------------------------------------------------------------------------------------------------------------------
choice /c: 123
if errorlevel 3 goto paro
if errorlevel 2 goto giroderecha
if errorlevel 1 goto giroizquierda
--------------------------------------------------------------------------------------------------------------------------
:giroderecha
echo girando a derecha
pause
goto menu
--------------------------------------------------------------------------------------------------------------------------
:giroizquierda
echo girando a izquierda
pause
goto menu
-------------------------------------------------------------------------------------------------------------------------
:paro
echo motor en paro
pause
goto menu

viernes, 30 de noviembre de 2018

Examen Javier Plaza Ruiz 30/11/2018

Examen Práctico.

Ejercicio Propuesto por el profesor: 
El sistema que se intenta implementar con el Microcontrolador PIC 16F84A tiene como objetivo conseguir y logar el óptimo funcionamiento de una alarma.


Dicho proceso contiene 4 sensores, que son:
  • Sensor Puerta (SP)
  • Sensor Ventana (SV)
  • Sensor Techo (ST)
  • Sensor Sótano (SS)
Además de la Cerradura (C) de uno de los armarios del interior del inmueble.
Con esto se pretende poner una alarma en el interior del inmueble, para posibles robos en un futuro.
La alarma se activará cuando se active algún sensor y la cerradura esté habilitada (Cerradura=1).
Cuando la alarma esté habilitada (Cerradura=1), dispondremos de 20 segundos desde que cerramos la Cerradura (C=1) hasta que salimos de la habitación y cerramos la puerta.
Además, será exacrtamente igual al entrar, ya que dispone 20 segundos hasta abrir la cerradura. 

Si la persona tarda más de 20 segundos en cerrar la puerta o abrir la cerradura, la alarma se activará.

ORGANIGRAMA del proceso:




FICHERO FUENTE del programa en lenguaje C:


//Examen Práctico de Javier Plaza Ruiz 

//2º Automatización y Robótica Industrial

//Alarma en el interior de vivienda

/////////////////////////////////////////
// RA0 = Cerradura (C)
// RA1 = Sensor Puerta (SP)
// RA2 = Sensor Ventana (SV)
// RA3 = Sensor Techo (ST)
// RA4 = Sensor Sótano (SS)
// RB0 = Alarma activada
/////////////////////////////////////////

#include<16f84.h>
#use delay(clock=4000000) //Freacuencia de Trabajo con Cristal de Cuarzo
#use fast_io(A)
#use fast_io(B)
#byte port_b=6
#byte port_a=5

main()
{ //Inicio del cuerpo del programa del fichero fuente
port_a=0; //Ponemos a Nivel Bajo todos los pines del Puerto A
port_b=0; //Ponemos a Nivel Bajo todos los pines del Puerto B
set_tris_a(0xff); //Definimos como entradas todos los pines del Puerto A
set_tris_b(0x00); //Definimos como salidas todos los pines del Puerto B
while(1){ //entra de forma incondiconal en el Bucle Repetitivo
while(input(pin_A0)) //Cuando se active el Sensor Puerta y la Cerradura a 1.
{
while(input(pin_A2) || input(pin_A3) || input(pin_A4)) //Si se acciona alguno de los sensores
{
output_bit(pin_B0,1); //Activamos la alarma.
}
while(input(pin_A1)) // Cuando se active la Cerradura y el Sensor Techo a Nivel Alto.
{
delay_ms(15); //Temporización de 20 segundos
while(input(pin_A0))  // Cuando se active la Cerradura y el Sensor Sótano a Nivel Alto.
{
output_bit(pin_B0,1); //Activamos la alarma.
}
}
}
}
}


FICHERO FUENTE en lenguaje hexadecimal:

:1000000000308A00192800000F308400000803190E
:10001000182801308D008C018C0B0C288D0B0B28BF
:100020004A308C008C0B122800000000800B09283D
:10003000312884011F30830585018601FF3065006A
:1000400000306600051C372805192A2885192A283A
:10005000051E2C2806142428851C36280F308F00F6
:100060000428051C3528061431282C28222822288B
:0200700063002B
:00000001FF
;PIC16F84