SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
1
PROYECTOS EN BASIC PROTON

PROYECTO 1
Escribir el siguiente programa y guardarlo en una carpeta, compilar el programa y simularlo en
Proteus
Device=16F84A
XTAL 4
Output PORTB
PORTB= %11111111

‘Selección del Pic
‘Pone los bits del puerto B como salida al igual que TRISB
‘Se envía un 1 lógico a todo el puerto B, aquí pudo ser PORTB= 255, o
‘$FF

End

PROYECTO 2
Parpadeo de Leds
El parpadeo tiene dos fases, una ON y otra de OFF. Ambas fases tienen un período de tiempo
determinado, antes de cambiar al otro estado. Esto determina la frecuencia de parpadeo. Si los
tiempos de ON y OFF son los mismos, podemos decir que es una onda cuadrada. Para ver estos
pulsos, estamos usando LEDS a través de sentencias de bucle.
Device=16f84a
XTAL 4
Output PORTB
Loop:
PORTB=255
DelayMS 1000 ‘Deja a los leds encendidos durante 1 segundo
PORTB=0
DelayMS 1000
GoTo Loop
‘Repite el proceso
End
Se declara una etiqueta llamada Loop, y una declaración correspondiente Goto Loop.
Las instrucciones entre estas dos declaraciones se repetirán indefinidamente.
PORTD = 255 todos los LEDS en ON. Sin embargo, antes de desactivarlos, tenemos que
imponer un retraso.
DelayMS 1000
Esta declaración da un retraso en mili-segundos del número. Así 1000ms de demora es igual a
1 segundo, de manera similar 500ms retraso es medio segundo, y 100 ms es 1/10 de un
segundo. También se pueden hacer retrasos en micro-segundos usando DelayUs.
Los LEDS se encienden, y el procesador demora la activación en 1 segundo, entonces PORTB =
0 apagará los LEDS. Una vez más, introducir un retraso, para mantenerlos en la condición
actual durante 1 segundo. Después de un retraso de 1segundo, cuando los leds están
apagados, el comando GOTO transfiere el control de nuevo a la sentencia de bucle, que es
seguido por PORTB = 255, que volverá a su vez LEDS ON.
El ciclo de ON / OFF con 1 segundo continuará para siempre. En otras palabras, podemos decir
una onda cuadrada de 1 Hz se está generando en todos los pines de PORTB.
2
EJERCICIOS 1. Realizar los siguientes ejercicios:
1. Led activado durante 200 ms y apagado durante 2 segundos
2. Parpadeo de Leds de dos veces, con un retraso de 500 ms seguido por un estado OFF
de 2 segundos
PROYECTO 3
Uso de una Variable
Ahora vamos a tratar de mostrar algunos números binarios en los LED. Se creara una variable,
para asignarle un valor y mostrarlo en los LEDS.
¿Qué pasa si queremos que todos los valores de 0 a 255 sean mostrados en LEDS, con un
retraso de 200ms intervenir? Ciertamente, no es una buena idea escribir 255 bloques de
código con cada uno con un valor diferente. Aquí el uso de variables y los bucles es muy útil.
Veamos este ejemplo:
Device=16f84a
XTAL 4
Output PORTB
Dim x As Byte
Loop:
For x=0 To 255
PORB=x
DelayMS 200
Next x
GoTo Loop

‘Declaración de la variable x como Byte
‘Se inicia un bucle controlado por la variable x

EJERCICIOS 2. Realizar los siguientes ejercicios:
1. En el bucle For …Next, haga variaciones de a 2, a través de la siguiente forma: For x=0
To 255 Step 2
2. Haga decrementos de a 1, comenzando en 255 y terminando en 0, con pasos (Step -1)
de a -1

PROYECTO 4
Utilización de un Bit por un puerto
Se han realizado una serie de ejercicios, para asignar números distintos a un puerto. Hasta
ahora se han asignado valores a la totalidad del puerto, que afectan a los 8 bits a la vez. En
nuestros proyectos del mundo real la totalidad del puerto prácticamente no se utiliza, de
hecho bits individuales de un puerto se adjuntan a los diferentes dispositivos. Por ejemplo, si
el bit 0 del PORTB está conectado a un relé de control del ventilador, y el bit 1 conectado a un
relé de control de segundo ventilador y el bit 3 adjunto al relevo del calentador. Así que nos
gustaría el control de los tres bits de forma individual. A pesar de que puede hacerse mediante
la asignación de número es mejor el control de bits individuales directamente sin afectar a
otros bits. Esto es aún más útil, cuando algunos de los bits en un puerto actúan como insumos.
Un bit individual puede ser contemplado no sólo en un puerto, sino también en los registros de
funciones especiales, e incluso variables de memoria. Esto hace la programación muy fácil y
manejable. Los bits del puerto se hacen referencia mediante la colocación de un punto
después del nombre del puerto y un número para indicar el número del bit. Por ejemplo, para
3
referirse al bit 7 (bit más alto) en PORTB, usamos PORTB.7, observe que el número 7 indica el
número del bit. Al igual que en el acceso del registro de estado 0, por ejemplo, usamos
STATUS.0 similar para hacer el bit 0 de PORTB como entrada, con registro TRISB, TRISB.0 = 1.
Con el fin de establecer el bit del puerto en alto o en bajo, puede asignar un valor de 1 o 0.
También puede utilizar el comando, High y Low los cuales hacen lo mismo. Los comandos High
and Low sólo funcionan en bits del registro del puerto y no en los bits de variable general.
Device=16f84a
XTAL=4
Output PORTB.7
Loop:
High PORTB.7
DelayMS 500
Low PORTB.7
DelayMS 500
GoTo Loop

PROYECTO 5
Cambio de Operadores
Los Bits pueden ser transferidos dentro de una variable o un puerto a la izquierda o la derecha.
El Desplazamiento de los bits hacia la izquierda tiene un efecto matemático de multiplicar por
2, y el desplazamiento de los bits a la derecha se divide por defecto en 2 .El Desplazamiento a
la izquierda se indica con operador << y desplazamiento a la derecha por operador >>.
Analizar el siguiente ejemplo:
Device=16F84A
XTAL=4
Output PORTB
PORTB=0
Loop:
High PORTB.0
Dim x As Byte
For x=0 To 7
DelayMS 500
PORTB=PORTB << 1
Next x
DelayMS 500
GoTo Loop
PROYECTO 6
Proyecto con Interruptores 1
En el siguiente programa se supervisa el pin 0 del puerto A (PORTA.0) asignando a la línea un
interruptor SW1.
Cuando el interruptor está desactivado la línea lee un 1 lógico, tan pronto como se pulsa el
interruptor y sí IF es ejecutado, la línea lee 0 lógico y ejecuta las instrucciones que se adjuntan
en la estructura del IF... End IF.
4
Observe el pequeño retraso de DelayMS 300, se ha hecho así, para que una vez que activado
el interruptor sea detectado, se encienda el led ubicado en PORTB.0, permaneciendo en este
estado una vez se libera el interruptor.
Device=16F84a
XTAL=4
Output PORTB
Input PORTA.0
Symbol LED = PORTB.0
Symbol SW1 = PORTA.0
Low LED
Loop:
If SW1=0 Then
DelayMS 300
High LED
End If
GoTo Loop

EJERCICIOS 3. Realizar los siguientes ejercicios:
1. Hacer un programa que encienda un LED cuando se pulsa un swiche 1 y lo apague
cuando se pulse un swiche 2.
2. Hacer un programa que al pulsar un swiche 1 se prenda un LED0 y se apague un LED1 y
si se pulsa un swiche 2 se apague un LED0 y se prenda un LED1
PROYECTO 7
Variación de velocidad de parpadeo de un LED
Este programa lee dos interruptores, SW1 y SW2 y cuando se detecta que son activados se
incrementa o disminuye el valor de una variable x por 5. A su vez la X se utiliza en la demora de
activación del LED ubicado en PORTB.0. Así, la velocidad de parpadeo del LED se puede
cambiar pulsando SW1 o SW2
Device=16F84A
XTAL=4
Output PORTB
Input PORTA.0
Input PORTA.1
Symbol LED = PORTB.0
Symbol SW1 = PORTA.0
Symbol SW2 = PORTA.1
Dim x As Byte
x=100
Low LED
Loop:
DelayMS x* 10
Toggle LED
‘Conmuta el valor del Led
If SW1=0 Then
‘Nota: el swiche normalmente estará abierto conectado a Vcc
x=x+5
DelayMS 200
EndIf
If SW2=0 Then
‘Nota: el swiche normalmente estará abierto conectado a Vcc
x=x-5
5
DelayMS 200
EndIf
GoTo Loop
PROYECTO 8
Manejo del rebote de una pulsación
Cuando se pulsa un botón, los contactos hacen una conexión a corto (1 a 20 ms). El Comando
Button evita este ruido para ser interpretado como una acción más del interruptor, realizando
un retraso después de leer el estado de entrada.
En las aplicaciones del mundo real, los botones se suponen que deben realizar más que una
sola activación. El software soporta una variedad de maneras de pulsar un botón. Por ejemplo,
en el caso de la selección de un valor de entrada, cuando se pulsa el botón se supone
incrementar el número, sin embargo, si se pulsa un cierto período, comienza a comportarse
como si el botón se activara varias veces. Esto se llama repetición automática característica.
PROTON proporciona un comando llamado Button. Este comando supervisa un pin específico
de un puerto para la entrada, lee el valor como activados en bajo o alto, también acepta un
número que es el retraso de espera, después de que una repetición automática sea
establecida. La frecuencia de repetición automática también puede ser mencionada en la
declaración
El siguiente programa utiliza el comando Button para leer el estado de un botón, SW1. Si se
pulsa el botón, se alterna el LED, si se mantiene pulsado el botón, se iniciará la repetición
automática después de una pequeña demora.
EJERCICIO 4. Analizar el siguiente ejemplo, buscando la estructura del comando Button en el
“Manual del compilador del Protón” y anote el significado de la sentencia “Button” de este
programa:
Device=16f84a
XTAL=4
Output PORTB
Input PORTA.0
Input PORTA.1
Symbol LED = PORTB.0
Symbol SW1 = PORTA.0
Dim x As Byte
x=0
loop:
Button SW1, 0, 100, 250, x, 0, aa
Toggle LED
DelayMS 100
aa:
GoTo loop
PROYECTO 9
Lectura de una combinación de interruptores
A veces, en un programa es necesario leer una combinación de botones, esto se utiliza para
ampliar la gama de capacidades de entrada, así como proporcionar un mecanismo de
seguridad para funciones importantes. La combinación se puede leer en la misma línea, con el
uso del operador AND, o como IFS anidados.
6

Miremos el siguiente ejemplo:
Device=16f84a
XTAL=4
Output PORTB
Input PORTA.0
Input PORTA.1
Symbol LED = PORTB.0
Symbol SW1 = PORTA.0
Symbol SW2 = PORTA.1
loop:
If SW1=0 And SW2=0 Then
Toggle LED
DelayMS 300
EndIf
GoTo loop

PROYECTO 10
Secuencia de swiches con fines de seguridad o control
En este programa se configura SW1 como interruptor principal, cuando se activa, se cambia de
estado el LED1 (PORTB.1) y espera dos segundos; esto da tiempo a la activación de SW2, al
final de 2 segundos, que se comprobará si SW2 sigue presionado, entonces, se activará el
LED0. Sea o no SW2 presionado, en lapso de 2 segundos, el LED1 se apagará, y el ciclo se
repite. Este tipo de mecanismo, asegura que una determinada secuencia de teclas presionadas
antes de una acción importante, como apagar un motor etc, sea llevada a cabo.
Device=16F84A
XTAL=4
Output PORTB
Input PORTA.0
Input PORTA.1
Symbol LED0 = PORTB.0
Symbol LED1 = PORTB.1
Symbol SW1 = PORTA.0
Symbol SW2 = PORTA.1
loop:
If SW1=0 Then
High LED1
DelayMS 2000
If SW2=0 Then
DelayMS 200
Toggle LED0
EndIf
Low LED1
EndIf
GoTo loop
EJERCICIO 5. Realizar los siguientes ejercicios:
7
1. Se tienen 4 pulsadores SW0 a SW3 y una lámpara L0, se desea que al pulsar SW0 y
SW1 o SW2 y SW3 se prende L0 y en otro caso se apague.
2. Realizar ejercicio de comparación: si el valor de dos swiches en binario es mayor que
14, se encienden los leds del puerto B

Más contenido relacionado

La actualidad más candente

Cinco diodos de uso común
Cinco diodos de uso comúnCinco diodos de uso común
Cinco diodos de uso comúnLuis Palacios
 
Medición de Potencia y Energía Electrica
Medición de Potencia y Energía ElectricaMedición de Potencia y Energía Electrica
Medición de Potencia y Energía ElectricaPrimitivo Arteaga
 
Ejercicios resueltos con diodos
Ejercicios resueltos con diodosEjercicios resueltos con diodos
Ejercicios resueltos con diodosvstiven18
 
Presentacion familias logicas
Presentacion familias logicasPresentacion familias logicas
Presentacion familias logicasSMCangry
 
Errores en las Mediciones Electricas
Errores en las Mediciones ElectricasErrores en las Mediciones Electricas
Errores en las Mediciones ElectricasDavid Torrealba
 
09 Conjunto de Instrucciones de los Atmega
09 Conjunto de Instrucciones  de los Atmega09 Conjunto de Instrucciones  de los Atmega
09 Conjunto de Instrucciones de los AtmegaJaime E. Velarde
 
Fuente de Alimentación Lineal
Fuente de Alimentación LinealFuente de Alimentación Lineal
Fuente de Alimentación LinealJomicast
 
TRANSISTORES POR EFECTO DE CAMPO
TRANSISTORES POR EFECTO DE CAMPOTRANSISTORES POR EFECTO DE CAMPO
TRANSISTORES POR EFECTO DE CAMPOLuis Miguel Q
 
calculo-para-escojer-un-contactor
calculo-para-escojer-un-contactorcalculo-para-escojer-un-contactor
calculo-para-escojer-un-contactorCarlosElena1
 
DigSILENT PF - 09. nivel vi flujo de potencia iii
DigSILENT PF - 09. nivel vi   flujo de potencia iiiDigSILENT PF - 09. nivel vi   flujo de potencia iii
DigSILENT PF - 09. nivel vi flujo de potencia iiiHimmelstern
 
Transistor como conmutador
Transistor como conmutadorTransistor como conmutador
Transistor como conmutadorGoogle
 
Tutorial proton ide plus part 1
Tutorial proton ide plus part 1Tutorial proton ide plus part 1
Tutorial proton ide plus part 1dar851112
 
Switchgear & Rectifier ppt
Switchgear & Rectifier pptSwitchgear & Rectifier ppt
Switchgear & Rectifier pptvikas kumar
 
FET (Transistores de Efecto de Campo)
FET (Transistores de Efecto de Campo)FET (Transistores de Efecto de Campo)
FET (Transistores de Efecto de Campo)Jorge Cortés Alvarez
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo hVelmuz Buzz
 

La actualidad más candente (20)

Cinco diodos de uso común
Cinco diodos de uso comúnCinco diodos de uso común
Cinco diodos de uso común
 
Medición de Potencia y Energía Electrica
Medición de Potencia y Energía ElectricaMedición de Potencia y Energía Electrica
Medición de Potencia y Energía Electrica
 
Ejercicios resueltos con diodos
Ejercicios resueltos con diodosEjercicios resueltos con diodos
Ejercicios resueltos con diodos
 
Presentacion familias logicas
Presentacion familias logicasPresentacion familias logicas
Presentacion familias logicas
 
Errores en las Mediciones Electricas
Errores en las Mediciones ElectricasErrores en las Mediciones Electricas
Errores en las Mediciones Electricas
 
09 Conjunto de Instrucciones de los Atmega
09 Conjunto de Instrucciones  de los Atmega09 Conjunto de Instrucciones  de los Atmega
09 Conjunto de Instrucciones de los Atmega
 
Fuente de Alimentación Lineal
Fuente de Alimentación LinealFuente de Alimentación Lineal
Fuente de Alimentación Lineal
 
Teoria De Transformadores
Teoria De TransformadoresTeoria De Transformadores
Teoria De Transformadores
 
TRANSISTORES POR EFECTO DE CAMPO
TRANSISTORES POR EFECTO DE CAMPOTRANSISTORES POR EFECTO DE CAMPO
TRANSISTORES POR EFECTO DE CAMPO
 
calculo-para-escojer-un-contactor
calculo-para-escojer-un-contactorcalculo-para-escojer-un-contactor
calculo-para-escojer-un-contactor
 
Diodos de potencia
Diodos de potenciaDiodos de potencia
Diodos de potencia
 
Teoría Básica de Tiristores SCR
Teoría Básica de Tiristores SCRTeoría Básica de Tiristores SCR
Teoría Básica de Tiristores SCR
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
DigSILENT PF - 09. nivel vi flujo de potencia iii
DigSILENT PF - 09. nivel vi   flujo de potencia iiiDigSILENT PF - 09. nivel vi   flujo de potencia iii
DigSILENT PF - 09. nivel vi flujo de potencia iii
 
Transistor como conmutador
Transistor como conmutadorTransistor como conmutador
Transistor como conmutador
 
Tutorial proton ide plus part 1
Tutorial proton ide plus part 1Tutorial proton ide plus part 1
Tutorial proton ide plus part 1
 
Switchgear & Rectifier ppt
Switchgear & Rectifier pptSwitchgear & Rectifier ppt
Switchgear & Rectifier ppt
 
Zelio Soft
Zelio SoftZelio Soft
Zelio Soft
 
FET (Transistores de Efecto de Campo)
FET (Transistores de Efecto de Campo)FET (Transistores de Efecto de Campo)
FET (Transistores de Efecto de Campo)
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo h
 

Similar a Tutorial ii proyectos en basic proton

Tutorial proton part 4
Tutorial proton part 4Tutorial proton part 4
Tutorial proton part 4dar851112
 
Tutorial proton part 5
Tutorial proton part 5Tutorial proton part 5
Tutorial proton part 5dar851112
 
Puertos de entrada diapositivas
Puertos de entrada diapositivasPuertos de entrada diapositivas
Puertos de entrada diapositivastecautind
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salidatecautind
 
Lógica cableada y Lógica programable - Automatización Industrial
Lógica cableada y Lógica programable - Automatización IndustrialLógica cableada y Lógica programable - Automatización Industrial
Lógica cableada y Lógica programable - Automatización IndustrialUniversidad Politécnica de Chiapas
 
Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877Raphael Raphael
 
Programación del microcontrolador
Programación del microcontroladorProgramación del microcontrolador
Programación del microcontroladorJuan Gamboa P
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoSANTIAGO PABLO ALBERTO
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-MicrocontroladoresOmar Ruiz
 
Cubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesadorCubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesadorMarcelo Mendoza
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Luis Zurita
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosmarco calderon layme
 

Similar a Tutorial ii proyectos en basic proton (20)

Tutorial proton part 4
Tutorial proton part 4Tutorial proton part 4
Tutorial proton part 4
 
Tutorial proton part 5
Tutorial proton part 5Tutorial proton part 5
Tutorial proton part 5
 
Puertos de entrada diapositivas
Puertos de entrada diapositivasPuertos de entrada diapositivas
Puertos de entrada diapositivas
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salida
 
Lógica cableada y Lógica programable - Automatización Industrial
Lógica cableada y Lógica programable - Automatización IndustrialLógica cableada y Lógica programable - Automatización Industrial
Lógica cableada y Lógica programable - Automatización Industrial
 
Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877
 
Proyecto1
Proyecto1Proyecto1
Proyecto1
 
Programación del microcontrolador
Programación del microcontroladorProgramación del microcontrolador
Programación del microcontrolador
 
Atmel
AtmelAtmel
Atmel
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Tarea final
Tarea finalTarea final
Tarea final
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
 
catalogo de control
catalogo de controlcatalogo de control
catalogo de control
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Cubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesadorCubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesador
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltos
 

Último

PPT Protocolo de desregulación emocional.pptx
PPT Protocolo de desregulación emocional.pptxPPT Protocolo de desregulación emocional.pptx
PPT Protocolo de desregulación emocional.pptxKarenSepulveda23
 
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdfNELLYKATTY
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCEIP TIERRA DE PINARES
 
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...Unidad de Espiritualidad Eudista
 
Xardín de San Carlos (A Coruña) IES Monelos
Xardín de San Carlos (A Coruña) IES MonelosXardín de San Carlos (A Coruña) IES Monelos
Xardín de San Carlos (A Coruña) IES MonelosAgrela Elvixeo
 
Presentación del tema: tecnología educativa
Presentación del tema: tecnología educativaPresentación del tema: tecnología educativa
Presentación del tema: tecnología educativaricardoruizaleman
 
U2_EA2_descargable TICS PRESENCIAL 2.pdf
U2_EA2_descargable TICS PRESENCIAL 2.pdfU2_EA2_descargable TICS PRESENCIAL 2.pdf
U2_EA2_descargable TICS PRESENCIAL 2.pdfJavier Correa
 
Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Ivie
 
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.docGLADYSPASTOR
 
Herbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxHerbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxArs Erótica
 
Anuncio de Remitido Colegio SEK a la comunidad pública
Anuncio de Remitido Colegio SEK a la comunidad públicaAnuncio de Remitido Colegio SEK a la comunidad pública
Anuncio de Remitido Colegio SEK a la comunidad públicaIvannaMaciasAlvarez
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCEIP TIERRA DE PINARES
 
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaLa poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaIGNACIO BALLESTER PARDO
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdfceeabarcia
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaTatiTerlecky1
 
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdfAnna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdfSaraGabrielaPrezPonc
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docxJhordanBenitesSanche1
 

Último (20)

PPT Protocolo de desregulación emocional.pptx
PPT Protocolo de desregulación emocional.pptxPPT Protocolo de desregulación emocional.pptx
PPT Protocolo de desregulación emocional.pptx
 
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
 
Conducta ética en investigación científica.pdf
Conducta ética en investigación científica.pdfConducta ética en investigación científica.pdf
Conducta ética en investigación científica.pdf
 
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
 
Xardín de San Carlos (A Coruña) IES Monelos
Xardín de San Carlos (A Coruña) IES MonelosXardín de San Carlos (A Coruña) IES Monelos
Xardín de San Carlos (A Coruña) IES Monelos
 
Sesión de clase ES: Adoración sin fin...
Sesión de clase ES: Adoración sin fin...Sesión de clase ES: Adoración sin fin...
Sesión de clase ES: Adoración sin fin...
 
Presentación del tema: tecnología educativa
Presentación del tema: tecnología educativaPresentación del tema: tecnología educativa
Presentación del tema: tecnología educativa
 
U2_EA2_descargable TICS PRESENCIAL 2.pdf
U2_EA2_descargable TICS PRESENCIAL 2.pdfU2_EA2_descargable TICS PRESENCIAL 2.pdf
U2_EA2_descargable TICS PRESENCIAL 2.pdf
 
Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023
 
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
 
Herbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxHerbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptx
 
Anuncio de Remitido Colegio SEK a la comunidad pública
Anuncio de Remitido Colegio SEK a la comunidad públicaAnuncio de Remitido Colegio SEK a la comunidad pública
Anuncio de Remitido Colegio SEK a la comunidad pública
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
 
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaLa poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección ediba
 
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdfAnna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docx
 

Tutorial ii proyectos en basic proton

  • 1. 1 PROYECTOS EN BASIC PROTON PROYECTO 1 Escribir el siguiente programa y guardarlo en una carpeta, compilar el programa y simularlo en Proteus Device=16F84A XTAL 4 Output PORTB PORTB= %11111111 ‘Selección del Pic ‘Pone los bits del puerto B como salida al igual que TRISB ‘Se envía un 1 lógico a todo el puerto B, aquí pudo ser PORTB= 255, o ‘$FF End PROYECTO 2 Parpadeo de Leds El parpadeo tiene dos fases, una ON y otra de OFF. Ambas fases tienen un período de tiempo determinado, antes de cambiar al otro estado. Esto determina la frecuencia de parpadeo. Si los tiempos de ON y OFF son los mismos, podemos decir que es una onda cuadrada. Para ver estos pulsos, estamos usando LEDS a través de sentencias de bucle. Device=16f84a XTAL 4 Output PORTB Loop: PORTB=255 DelayMS 1000 ‘Deja a los leds encendidos durante 1 segundo PORTB=0 DelayMS 1000 GoTo Loop ‘Repite el proceso End Se declara una etiqueta llamada Loop, y una declaración correspondiente Goto Loop. Las instrucciones entre estas dos declaraciones se repetirán indefinidamente. PORTD = 255 todos los LEDS en ON. Sin embargo, antes de desactivarlos, tenemos que imponer un retraso. DelayMS 1000 Esta declaración da un retraso en mili-segundos del número. Así 1000ms de demora es igual a 1 segundo, de manera similar 500ms retraso es medio segundo, y 100 ms es 1/10 de un segundo. También se pueden hacer retrasos en micro-segundos usando DelayUs. Los LEDS se encienden, y el procesador demora la activación en 1 segundo, entonces PORTB = 0 apagará los LEDS. Una vez más, introducir un retraso, para mantenerlos en la condición actual durante 1 segundo. Después de un retraso de 1segundo, cuando los leds están apagados, el comando GOTO transfiere el control de nuevo a la sentencia de bucle, que es seguido por PORTB = 255, que volverá a su vez LEDS ON. El ciclo de ON / OFF con 1 segundo continuará para siempre. En otras palabras, podemos decir una onda cuadrada de 1 Hz se está generando en todos los pines de PORTB.
  • 2. 2 EJERCICIOS 1. Realizar los siguientes ejercicios: 1. Led activado durante 200 ms y apagado durante 2 segundos 2. Parpadeo de Leds de dos veces, con un retraso de 500 ms seguido por un estado OFF de 2 segundos PROYECTO 3 Uso de una Variable Ahora vamos a tratar de mostrar algunos números binarios en los LED. Se creara una variable, para asignarle un valor y mostrarlo en los LEDS. ¿Qué pasa si queremos que todos los valores de 0 a 255 sean mostrados en LEDS, con un retraso de 200ms intervenir? Ciertamente, no es una buena idea escribir 255 bloques de código con cada uno con un valor diferente. Aquí el uso de variables y los bucles es muy útil. Veamos este ejemplo: Device=16f84a XTAL 4 Output PORTB Dim x As Byte Loop: For x=0 To 255 PORB=x DelayMS 200 Next x GoTo Loop ‘Declaración de la variable x como Byte ‘Se inicia un bucle controlado por la variable x EJERCICIOS 2. Realizar los siguientes ejercicios: 1. En el bucle For …Next, haga variaciones de a 2, a través de la siguiente forma: For x=0 To 255 Step 2 2. Haga decrementos de a 1, comenzando en 255 y terminando en 0, con pasos (Step -1) de a -1 PROYECTO 4 Utilización de un Bit por un puerto Se han realizado una serie de ejercicios, para asignar números distintos a un puerto. Hasta ahora se han asignado valores a la totalidad del puerto, que afectan a los 8 bits a la vez. En nuestros proyectos del mundo real la totalidad del puerto prácticamente no se utiliza, de hecho bits individuales de un puerto se adjuntan a los diferentes dispositivos. Por ejemplo, si el bit 0 del PORTB está conectado a un relé de control del ventilador, y el bit 1 conectado a un relé de control de segundo ventilador y el bit 3 adjunto al relevo del calentador. Así que nos gustaría el control de los tres bits de forma individual. A pesar de que puede hacerse mediante la asignación de número es mejor el control de bits individuales directamente sin afectar a otros bits. Esto es aún más útil, cuando algunos de los bits en un puerto actúan como insumos. Un bit individual puede ser contemplado no sólo en un puerto, sino también en los registros de funciones especiales, e incluso variables de memoria. Esto hace la programación muy fácil y manejable. Los bits del puerto se hacen referencia mediante la colocación de un punto después del nombre del puerto y un número para indicar el número del bit. Por ejemplo, para
  • 3. 3 referirse al bit 7 (bit más alto) en PORTB, usamos PORTB.7, observe que el número 7 indica el número del bit. Al igual que en el acceso del registro de estado 0, por ejemplo, usamos STATUS.0 similar para hacer el bit 0 de PORTB como entrada, con registro TRISB, TRISB.0 = 1. Con el fin de establecer el bit del puerto en alto o en bajo, puede asignar un valor de 1 o 0. También puede utilizar el comando, High y Low los cuales hacen lo mismo. Los comandos High and Low sólo funcionan en bits del registro del puerto y no en los bits de variable general. Device=16f84a XTAL=4 Output PORTB.7 Loop: High PORTB.7 DelayMS 500 Low PORTB.7 DelayMS 500 GoTo Loop PROYECTO 5 Cambio de Operadores Los Bits pueden ser transferidos dentro de una variable o un puerto a la izquierda o la derecha. El Desplazamiento de los bits hacia la izquierda tiene un efecto matemático de multiplicar por 2, y el desplazamiento de los bits a la derecha se divide por defecto en 2 .El Desplazamiento a la izquierda se indica con operador << y desplazamiento a la derecha por operador >>. Analizar el siguiente ejemplo: Device=16F84A XTAL=4 Output PORTB PORTB=0 Loop: High PORTB.0 Dim x As Byte For x=0 To 7 DelayMS 500 PORTB=PORTB << 1 Next x DelayMS 500 GoTo Loop PROYECTO 6 Proyecto con Interruptores 1 En el siguiente programa se supervisa el pin 0 del puerto A (PORTA.0) asignando a la línea un interruptor SW1. Cuando el interruptor está desactivado la línea lee un 1 lógico, tan pronto como se pulsa el interruptor y sí IF es ejecutado, la línea lee 0 lógico y ejecuta las instrucciones que se adjuntan en la estructura del IF... End IF.
  • 4. 4 Observe el pequeño retraso de DelayMS 300, se ha hecho así, para que una vez que activado el interruptor sea detectado, se encienda el led ubicado en PORTB.0, permaneciendo en este estado una vez se libera el interruptor. Device=16F84a XTAL=4 Output PORTB Input PORTA.0 Symbol LED = PORTB.0 Symbol SW1 = PORTA.0 Low LED Loop: If SW1=0 Then DelayMS 300 High LED End If GoTo Loop EJERCICIOS 3. Realizar los siguientes ejercicios: 1. Hacer un programa que encienda un LED cuando se pulsa un swiche 1 y lo apague cuando se pulse un swiche 2. 2. Hacer un programa que al pulsar un swiche 1 se prenda un LED0 y se apague un LED1 y si se pulsa un swiche 2 se apague un LED0 y se prenda un LED1 PROYECTO 7 Variación de velocidad de parpadeo de un LED Este programa lee dos interruptores, SW1 y SW2 y cuando se detecta que son activados se incrementa o disminuye el valor de una variable x por 5. A su vez la X se utiliza en la demora de activación del LED ubicado en PORTB.0. Así, la velocidad de parpadeo del LED se puede cambiar pulsando SW1 o SW2 Device=16F84A XTAL=4 Output PORTB Input PORTA.0 Input PORTA.1 Symbol LED = PORTB.0 Symbol SW1 = PORTA.0 Symbol SW2 = PORTA.1 Dim x As Byte x=100 Low LED Loop: DelayMS x* 10 Toggle LED ‘Conmuta el valor del Led If SW1=0 Then ‘Nota: el swiche normalmente estará abierto conectado a Vcc x=x+5 DelayMS 200 EndIf If SW2=0 Then ‘Nota: el swiche normalmente estará abierto conectado a Vcc x=x-5
  • 5. 5 DelayMS 200 EndIf GoTo Loop PROYECTO 8 Manejo del rebote de una pulsación Cuando se pulsa un botón, los contactos hacen una conexión a corto (1 a 20 ms). El Comando Button evita este ruido para ser interpretado como una acción más del interruptor, realizando un retraso después de leer el estado de entrada. En las aplicaciones del mundo real, los botones se suponen que deben realizar más que una sola activación. El software soporta una variedad de maneras de pulsar un botón. Por ejemplo, en el caso de la selección de un valor de entrada, cuando se pulsa el botón se supone incrementar el número, sin embargo, si se pulsa un cierto período, comienza a comportarse como si el botón se activara varias veces. Esto se llama repetición automática característica. PROTON proporciona un comando llamado Button. Este comando supervisa un pin específico de un puerto para la entrada, lee el valor como activados en bajo o alto, también acepta un número que es el retraso de espera, después de que una repetición automática sea establecida. La frecuencia de repetición automática también puede ser mencionada en la declaración El siguiente programa utiliza el comando Button para leer el estado de un botón, SW1. Si se pulsa el botón, se alterna el LED, si se mantiene pulsado el botón, se iniciará la repetición automática después de una pequeña demora. EJERCICIO 4. Analizar el siguiente ejemplo, buscando la estructura del comando Button en el “Manual del compilador del Protón” y anote el significado de la sentencia “Button” de este programa: Device=16f84a XTAL=4 Output PORTB Input PORTA.0 Input PORTA.1 Symbol LED = PORTB.0 Symbol SW1 = PORTA.0 Dim x As Byte x=0 loop: Button SW1, 0, 100, 250, x, 0, aa Toggle LED DelayMS 100 aa: GoTo loop PROYECTO 9 Lectura de una combinación de interruptores A veces, en un programa es necesario leer una combinación de botones, esto se utiliza para ampliar la gama de capacidades de entrada, así como proporcionar un mecanismo de seguridad para funciones importantes. La combinación se puede leer en la misma línea, con el uso del operador AND, o como IFS anidados.
  • 6. 6 Miremos el siguiente ejemplo: Device=16f84a XTAL=4 Output PORTB Input PORTA.0 Input PORTA.1 Symbol LED = PORTB.0 Symbol SW1 = PORTA.0 Symbol SW2 = PORTA.1 loop: If SW1=0 And SW2=0 Then Toggle LED DelayMS 300 EndIf GoTo loop PROYECTO 10 Secuencia de swiches con fines de seguridad o control En este programa se configura SW1 como interruptor principal, cuando se activa, se cambia de estado el LED1 (PORTB.1) y espera dos segundos; esto da tiempo a la activación de SW2, al final de 2 segundos, que se comprobará si SW2 sigue presionado, entonces, se activará el LED0. Sea o no SW2 presionado, en lapso de 2 segundos, el LED1 se apagará, y el ciclo se repite. Este tipo de mecanismo, asegura que una determinada secuencia de teclas presionadas antes de una acción importante, como apagar un motor etc, sea llevada a cabo. Device=16F84A XTAL=4 Output PORTB Input PORTA.0 Input PORTA.1 Symbol LED0 = PORTB.0 Symbol LED1 = PORTB.1 Symbol SW1 = PORTA.0 Symbol SW2 = PORTA.1 loop: If SW1=0 Then High LED1 DelayMS 2000 If SW2=0 Then DelayMS 200 Toggle LED0 EndIf Low LED1 EndIf GoTo loop EJERCICIO 5. Realizar los siguientes ejercicios:
  • 7. 7 1. Se tienen 4 pulsadores SW0 a SW3 y una lámpara L0, se desea que al pulsar SW0 y SW1 o SW2 y SW3 se prende L0 y en otro caso se apague. 2. Realizar ejercicio de comparación: si el valor de dos swiches en binario es mayor que 14, se encienden los leds del puerto B