SlideShare una empresa de Scribd logo
1 de 15
Por:oswaldo sanchez
Los temas a tratar en esta
clase son:
 Dec
 Inc
 Comandos repetitivos
 -Ciclo for-next ( ya lo conocemos)
 -Ciclo while-wend
 -Ciclo repeat – ultil
   Select –case
Comando inc
   Este comando sirve para incrementar una variable
   inc dato es igual a dato=dato + 1
   Son de ayuda en comandos cíclicos como el repeat
    ,el while
   Ejemplo:
Dim dato as byte
Symbol led=porta.0
Led=1
Delayms 500
Inicio:
While dato<100
 toggle led
 Delayms 500
 Inc dato
wend
Comando dec
 Este comando sirve para el decremento una variable
 dec dato es igual a dato=dato - 1
 Son de ayuda en comandos cíclicos como el repeat ,el
  while
 Ejemplo:
Dim dato as byte
Symbol led=porta.0
Dato=50
Led=1
Delayms 500
Inicio:
While dato>0
  toggle led
  Delayms 500
  dec dato
wend
Ciclo for

Este comando ya lo hemos usado con
  anterioridad su sintaxis es
Variable = inicio TO final [ STEP { pasos
  pueden ser negativos } ]
    { cuerpo del programa }
Comando while
 Mientras que no llegue a ser verdadera la
  operación lógica se repite lo que contiene
  en el cuerpo del comando
 se pueden usar comparadores lógicos
  and, ,or , not (o construir el comparador
  deseado)
 Sintaxis:
   WHILE Condición
    Instrucciones
    Instrucciones
    WEND  delimita el ciclo
Ejemplo:
   Hacer que un led parpadee con 500ms
    de retardo. Mientras se mantiene en uno
    lógico el porta.0
código
   Device 18F2550
   Declare PROTON_START_ADDRESS = $1000
   Xtal 20
   All_Digital= true
   PORTC=%00000100
   PORTB=0
   Symbol led=PORTC.1
   Symbol bot=PORTC.2

   inicio:
   Low led
   While bot=0
     Toggle led
     DelayMS 500
   Wend
   GoTo inicio.
Ciclo repeat-ultil
 Como su nombre lo dice en repirte
-hasta
Esto quiere decir que mientras no se cumpla
  la prueba lógica va estar en un ciclo infinito
 Su diferencia es que siempre se repite una
  ves ya que la prueba lógica se encuentra
  al final del ciclo
 Al igual que el while se pueden usar
  comparadores lógicos and, xor ,or , not
Sintaxis de repeat ultil

    REPEAT Condición
    Instrucciones
    Instrucciones
    UNTIL Condición fijarse hasta lo
    ultimo esta el condicional
Select-case
 Esta función puede ser un sustituto para
  el if-endif anidado.
 Se empieza con una variable y depende
  su valor ejecuta una acción
 Desventaja en el micro 16f628a te gasta
  mucho la memoria(en el bootloader no
  es relevante gracias a su gran cantidad
  de memoria)
sintaxis
   SELECT Expression
    CASE Condition(s)
      Instructions
    {
    CASE Condition(s)
      Instructions
    CASE ELSE
     Statement(s)
      }
    ENDSELECT
Ejercicio select case
   Hacer un programa para que dependa del
    valor de una variable(0-9) el tiempo de
    retardo en el parpadeo de un led( de 100
    en 100).
   0=100
    1=200
    9=1000

    en este programa se manejan 2 botones
    uno para incrementar el valor de la variable
    y otro para reiniciarla(puede utilizar para
    esto el mclr externo de micro)
Device =18f2550                        t=300
Declare PROTON_START_ADDRESS = $1000    Case 3
Xtal 20                                  t=400
All_Digital= true                      Case 4
PORTC=%00000100                          t=500
PORTB=0                                 Case 5
Symbol led=PORTC.1                       t=600
Symbol alarma=PORTC.0                   Case 6
Symbol bot=PORTC.2                       t=700
Dim t As Word                           Case 7
Dim n As Byte                            t=800
Dim bando As Bit                        Case 8
n=0                                      t=900
alarma=0                                Case 9
t=100                                    t=1000
bando=0                                EndSelect
inicio:                                 High led
Repeat                                  DelayMS t
 While n<=9                             Low led
 If bot=0 Then                          DelayMS t
  Inc n                                Wend
  GoSub antirebote                     High alarma
  EndIf
 Select n                              Until bando=1
Case 0
   t=100                               antirebote:
  Case 1                                While bot=0
   t=200                                High alarma
  Case 2                                Wend
                                        Low alarma
                                        Return
problemas
 Con inc hacer un contador binario (que se
  muestre en el portb) de 0-69 con un ciclo while
 Hacer el ejercicio del led, que incremente y
  disminuya su velocidad con ayuda de botones
  y cuando llegue a mínima prender la alarma y
  lo mismo cuando llegue a máxima. pueden
  usar cualquier otro comando para facilitar el
  programa.
recomendación: limitar con un if –endif el
  decremento de la variable por que cuando le
  restas a 0 una unidad el IDE lo convierte en
  255.

Más contenido relacionado

Similar a Microcontroladores clase 5

Tutorial proton part 4
Tutorial proton part 4Tutorial proton part 4
Tutorial proton part 4dar851112
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...SANTIAGO PABLO ALBERTO
 
Microcontroladores clase 3
Microcontroladores clase 3Microcontroladores clase 3
Microcontroladores clase 3TALLERMICROS
 
Practica2
Practica2Practica2
Practica2carlos
 
Clase de microcontroladores 7
Clase de microcontroladores 7Clase de microcontroladores 7
Clase de microcontroladores 7TALLERMICROS
 
Microcontroladores clase 4
Microcontroladores clase 4Microcontroladores clase 4
Microcontroladores clase 4TALLERMICROS
 
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
 
Examen trianual informatica
Examen trianual informaticaExamen trianual informatica
Examen trianual informaticainfobran
 
Microcontroladores clase 6
Microcontroladores clase 6Microcontroladores clase 6
Microcontroladores clase 6TALLERMICROS
 
Puerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOPuerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOLeida Zuñiga
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-MicrocontroladoresOmar Ruiz
 
Apuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloApuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloxampa
 
Entradas Y Salidas De Un Micro Con Algunas Aplicaciones
Entradas Y Salidas De Un Micro Con Algunas AplicacionesEntradas Y Salidas De Un Micro Con Algunas Aplicaciones
Entradas Y Salidas De Un Micro Con Algunas AplicacionesCristianAlban
 
Control De Puertos Pic 16
Control De Puertos Pic 16Control De Puertos Pic 16
Control De Puertos Pic 16CristianAlban
 
Manual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino UnoManual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino Unoecom93
 

Similar a Microcontroladores clase 5 (20)

Tutorial proton part 4
Tutorial proton part 4Tutorial proton part 4
Tutorial proton part 4
 
Tutorial ii proyectos en basic proton
Tutorial ii   proyectos en basic protonTutorial ii   proyectos en basic proton
Tutorial ii proyectos en basic proton
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
 
Microcontroladores clase 3
Microcontroladores clase 3Microcontroladores clase 3
Microcontroladores clase 3
 
Practica2
Practica2Practica2
Practica2
 
voltmetroddigital9012020.pptx
voltmetroddigital9012020.pptxvoltmetroddigital9012020.pptx
voltmetroddigital9012020.pptx
 
Clase de microcontroladores 7
Clase de microcontroladores 7Clase de microcontroladores 7
Clase de microcontroladores 7
 
Microcontroladores clase 4
Microcontroladores clase 4Microcontroladores clase 4
Microcontroladores clase 4
 
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
 
Examen trianual informatica
Examen trianual informaticaExamen trianual informatica
Examen trianual informatica
 
Microcontroladores clase 6
Microcontroladores clase 6Microcontroladores clase 6
Microcontroladores clase 6
 
Puerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOPuerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGO
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Apuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloApuntes arduino nivel_pardillo
Apuntes arduino nivel_pardillo
 
Apuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloApuntes arduino nivel_pardillo
Apuntes arduino nivel_pardillo
 
Plc intrucciones basicas
Plc intrucciones basicasPlc intrucciones basicas
Plc intrucciones basicas
 
El plc
El plcEl plc
El plc
 
Entradas Y Salidas De Un Micro Con Algunas Aplicaciones
Entradas Y Salidas De Un Micro Con Algunas AplicacionesEntradas Y Salidas De Un Micro Con Algunas Aplicaciones
Entradas Y Salidas De Un Micro Con Algunas Aplicaciones
 
Control De Puertos Pic 16
Control De Puertos Pic 16Control De Puertos Pic 16
Control De Puertos Pic 16
 
Manual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino UnoManual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino Uno
 

Microcontroladores clase 5

  • 2. Los temas a tratar en esta clase son:  Dec  Inc  Comandos repetitivos -Ciclo for-next ( ya lo conocemos) -Ciclo while-wend -Ciclo repeat – ultil  Select –case
  • 3. Comando inc  Este comando sirve para incrementar una variable  inc dato es igual a dato=dato + 1  Son de ayuda en comandos cíclicos como el repeat ,el while  Ejemplo: Dim dato as byte Symbol led=porta.0 Led=1 Delayms 500 Inicio: While dato<100 toggle led Delayms 500 Inc dato wend
  • 4. Comando dec  Este comando sirve para el decremento una variable  dec dato es igual a dato=dato - 1  Son de ayuda en comandos cíclicos como el repeat ,el while  Ejemplo: Dim dato as byte Symbol led=porta.0 Dato=50 Led=1 Delayms 500 Inicio: While dato>0 toggle led Delayms 500 dec dato wend
  • 5. Ciclo for Este comando ya lo hemos usado con anterioridad su sintaxis es Variable = inicio TO final [ STEP { pasos pueden ser negativos } ] { cuerpo del programa }
  • 6. Comando while  Mientras que no llegue a ser verdadera la operación lógica se repite lo que contiene en el cuerpo del comando  se pueden usar comparadores lógicos and, ,or , not (o construir el comparador deseado)  Sintaxis:  WHILE Condición Instrucciones Instrucciones WEND  delimita el ciclo
  • 7. Ejemplo:  Hacer que un led parpadee con 500ms de retardo. Mientras se mantiene en uno lógico el porta.0
  • 8. código  Device 18F2550  Declare PROTON_START_ADDRESS = $1000  Xtal 20  All_Digital= true  PORTC=%00000100  PORTB=0  Symbol led=PORTC.1  Symbol bot=PORTC.2  inicio:  Low led  While bot=0  Toggle led  DelayMS 500  Wend  GoTo inicio.
  • 9. Ciclo repeat-ultil  Como su nombre lo dice en repirte -hasta Esto quiere decir que mientras no se cumpla la prueba lógica va estar en un ciclo infinito  Su diferencia es que siempre se repite una ves ya que la prueba lógica se encuentra al final del ciclo  Al igual que el while se pueden usar comparadores lógicos and, xor ,or , not
  • 10. Sintaxis de repeat ultil  REPEAT Condición Instrucciones Instrucciones UNTIL Condición fijarse hasta lo ultimo esta el condicional
  • 11. Select-case  Esta función puede ser un sustituto para el if-endif anidado.  Se empieza con una variable y depende su valor ejecuta una acción  Desventaja en el micro 16f628a te gasta mucho la memoria(en el bootloader no es relevante gracias a su gran cantidad de memoria)
  • 12. sintaxis  SELECT Expression CASE Condition(s) Instructions { CASE Condition(s) Instructions CASE ELSE Statement(s) } ENDSELECT
  • 13. Ejercicio select case  Hacer un programa para que dependa del valor de una variable(0-9) el tiempo de retardo en el parpadeo de un led( de 100 en 100).  0=100 1=200 9=1000 en este programa se manejan 2 botones uno para incrementar el valor de la variable y otro para reiniciarla(puede utilizar para esto el mclr externo de micro)
  • 14. Device =18f2550 t=300 Declare PROTON_START_ADDRESS = $1000 Case 3 Xtal 20 t=400 All_Digital= true Case 4 PORTC=%00000100 t=500 PORTB=0 Case 5 Symbol led=PORTC.1 t=600 Symbol alarma=PORTC.0 Case 6 Symbol bot=PORTC.2 t=700 Dim t As Word Case 7 Dim n As Byte t=800 Dim bando As Bit Case 8 n=0 t=900 alarma=0 Case 9 t=100 t=1000 bando=0 EndSelect inicio: High led Repeat DelayMS t While n<=9 Low led If bot=0 Then DelayMS t Inc n Wend GoSub antirebote High alarma EndIf Select n Until bando=1 Case 0 t=100 antirebote: Case 1 While bot=0 t=200 High alarma Case 2 Wend Low alarma Return
  • 15. problemas  Con inc hacer un contador binario (que se muestre en el portb) de 0-69 con un ciclo while  Hacer el ejercicio del led, que incremente y disminuya su velocidad con ayuda de botones y cuando llegue a mínima prender la alarma y lo mismo cuando llegue a máxima. pueden usar cualquier otro comando para facilitar el programa. recomendación: limitar con un if –endif el decremento de la variable por que cuando le restas a 0 una unidad el IDE lo convierte en 255.