SlideShare una empresa de Scribd logo
1 de 7
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

Guia tecnica varios modelos panasonic (2)
Guia tecnica varios modelos panasonic (2)Guia tecnica varios modelos panasonic (2)
Guia tecnica varios modelos panasonic (2)Horacio Barba
 
Gx developer fx_training_manual software
Gx developer fx_training_manual softwareGx developer fx_training_manual software
Gx developer fx_training_manual softwareSergio Barrios
 
Amplificador classe AB
Amplificador classe ABAmplificador classe AB
Amplificador classe ABAndré Paiva
 
Calculo de diseño de convertidor elevador (1)
Calculo de diseño de convertidor elevador (1)Calculo de diseño de convertidor elevador (1)
Calculo de diseño de convertidor elevador (1)der
 
1 ktze pinin pinout
1 ktze pinin pinout1 ktze pinin pinout
1 ktze pinin pinoutgoogle.com
 
Comunicacion industrial profinet
Comunicacion industrial   profinetComunicacion industrial   profinet
Comunicacion industrial profinethernanjnc
 
Tia portal MANUAL
Tia portal MANUALTia portal MANUAL
Tia portal MANUALguelo
 
MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3Luis Zurita
 
Circuito integrado 555, configuración como multivibrador monoestable y astable
Circuito integrado 555, configuración como multivibrador monoestable y astableCircuito integrado 555, configuración como multivibrador monoestable y astable
Circuito integrado 555, configuración como multivibrador monoestable y astableJavier .
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresprofwtelles
 
Fuentes-conmutadas
Fuentes-conmutadasFuentes-conmutadas
Fuentes-conmutadasJimmy Checa
 
PLC: Métodos y aplicaciones de programación de PLC John R Hackworth and Frede...
PLC: Métodos y aplicaciones de programación de PLC John R Hackworth and Frede...PLC: Métodos y aplicaciones de programación de PLC John R Hackworth and Frede...
PLC: Métodos y aplicaciones de programación de PLC John R Hackworth and Frede...SANTIAGO PABLO ALBERTO
 
Realimentacion negativa
Realimentacion negativaRealimentacion negativa
Realimentacion negativaelliearguello
 

La actualidad más candente (20)

Guia tecnica varios modelos panasonic (2)
Guia tecnica varios modelos panasonic (2)Guia tecnica varios modelos panasonic (2)
Guia tecnica varios modelos panasonic (2)
 
Gx developer fx_training_manual software
Gx developer fx_training_manual softwareGx developer fx_training_manual software
Gx developer fx_training_manual software
 
Amplificador classe AB
Amplificador classe ABAmplificador classe AB
Amplificador classe AB
 
Calculo de diseño de convertidor elevador (1)
Calculo de diseño de convertidor elevador (1)Calculo de diseño de convertidor elevador (1)
Calculo de diseño de convertidor elevador (1)
 
1 ktze pinin pinout
1 ktze pinin pinout1 ktze pinin pinout
1 ktze pinin pinout
 
Curso chevrolet spark
Curso chevrolet sparkCurso chevrolet spark
Curso chevrolet spark
 
GRAFCET [Autoguardado].pptx
GRAFCET [Autoguardado].pptxGRAFCET [Autoguardado].pptx
GRAFCET [Autoguardado].pptx
 
Amplificadores
AmplificadoresAmplificadores
Amplificadores
 
Comunicacion industrial profinet
Comunicacion industrial   profinetComunicacion industrial   profinet
Comunicacion industrial profinet
 
Sistema elétrico constelation
Sistema elétrico constelationSistema elétrico constelation
Sistema elétrico constelation
 
Tia portal MANUAL
Tia portal MANUALTia portal MANUAL
Tia portal MANUAL
 
MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3
 
Circuito integrado 555, configuración como multivibrador monoestable y astable
Circuito integrado 555, configuración como multivibrador monoestable y astableCircuito integrado 555, configuración como multivibrador monoestable y astable
Circuito integrado 555, configuración como multivibrador monoestable y astable
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadores
 
Fuentes-conmutadas
Fuentes-conmutadasFuentes-conmutadas
Fuentes-conmutadas
 
Temarios automatizacion
Temarios automatizacionTemarios automatizacion
Temarios automatizacion
 
PLC: Métodos y aplicaciones de programación de PLC John R Hackworth and Frede...
PLC: Métodos y aplicaciones de programación de PLC John R Hackworth and Frede...PLC: Métodos y aplicaciones de programación de PLC John R Hackworth and Frede...
PLC: Métodos y aplicaciones de programación de PLC John R Hackworth and Frede...
 
02 motor mwm 4.10 tca
02 motor mwm 4.10 tca02 motor mwm 4.10 tca
02 motor mwm 4.10 tca
 
Iveco euro 3 bosch ms6
Iveco euro 3 bosch ms6Iveco euro 3 bosch ms6
Iveco euro 3 bosch ms6
 
Realimentacion negativa
Realimentacion negativaRealimentacion negativa
Realimentacion negativa
 

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

BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 

Último (20)

BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 

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