P. 1
PICAXE

PICAXE

|Views: 77|Likes:

More info:

Published by: Marco Antonio Perez Vazquez on Nov 03, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/06/2014

pdf

text

original

PICAXE: El Microcontrolador más Fácil de Utilizar

Lab. Fundamentos de Instrumentación Biomédica Feb-May de 2008

¿Qué es un Microcontrolador?
Es un dispositivo electrónico de alta escala de integración, que nos permite controlar puertos de entrada y salida. Es utilizado para el diseño de sistemas digitales avanzados. La analogía mas común es que un microcontrolador es como una PC.

Microcontrolador vs. PC
CPU (Central procesor Unit) Memoria de programación Memoria de Datos (localidades de memoria) Puertos de entrada Puertos de salida Microprocesador (pentium) Memoria ROM (BIOS) Memoria RAM Teclado, mouse, puerto infrarrojo, USB, etc. Monitor, bocinas, unidades de disco, USB, etc.

Von Newman vs. Harvard

Arquitectura Von Newman

Arquitectura Harvard

¿Qué es un PIC?
PIC (Peripheral Interface Controller) Los PIC’s son microcontroladores con arquitectura Harvard. Los PIC’s utilizan un conjunto de instrucciones de tipo RISC (Reduced Instruction Set Computer)

Estructura interna de un PIC .

Se utiliza un software “editor” donde se escriben los comandos a programar en el PIC. (MPLAB) Un software que permita “traducir” a lenguaje ensamblador los comandos escritos en el editor.Generalidades de un PIC Se programan en lenguaje ensamblador (lenguaje de máquina). (MPASM) Un software que permita “programar” o enviar el codigo en ensamblador al PIC. (NOPP) También es necesario contar con un circuito programador de PIC’s .

. logrando con esto que el PICAXE sea el PIC más fácil de utilizar.PICAXE EL PICAXE es un PIC al cual se le grabó un pequeño software (firmware) para poder programarlo en el mismo circuito donde será utilizado por medio de un software gratuito desarrollado en ambiente muy amigable donde los programas pueden ser escritos en lenguaje basic o como diagrama de flujo.

etc. http://www. proyectos.co.uk/picaxe/ .Sitio oficial de PICAXE En el sitio web podemos encontrar muchos productos y mucha información. tutoriales.rev-ed.

en el CD hemos incluido el archivo ejecutable para instalar el software Una vez que corramos el archivo de instalación nos pedirá una contraseña.Primer paso: instalar el software Desde el sitio web es posible descargar el software que se utiliza para programar el PICAXE. la cual es: picaxebegin Para instalar el software haga click aqui .

Una vez instalado… La pantalla de inicio del software es la que se muestra a continuación: .

Configurando el software… Para configurar algunas cosillas es necesario accesar al menú view>>options .

28X1. dichas características se pueden ver en los manuales. 28X. Existen: picaxe 08. 40X1 y 40X2. picaxe 08M. 18X.Modelos de PICAXE Existen varios modelos los cuales varían en número de entradas y salidas y en el tipo de entradas (analógicas o digitales). . 18A. picaxe 18. El número nos refiere el número de patitas que tiene el chip y la letra es para diferenciar características internas del PICAXE. 28. 28X2 y 40X. 28A. picaxe 14M.

PICAXE 08 y 08M .

PICAXE 14M .

PICAXE 18. 18A y 18X .

PICAXE 28A y 28X .

PICAXE 40X .

Cable para programación .

Tabla comparativa .

•3 pilas AA = 4.5 volts •4 pilas recargables AA = 4.8 volts •Pila de 9 votls + regulador = 5 volts (TTL) . •2 pilas AA = a 3 volts.Alimentación del PICAXE El rango en el que puede ser alimentado un PICAXE es de 3 a 6 volts.

Entradas y salidas .

El kit de trabajo Un PICAXE 18A Una tarjeta entrenadora del PICAXE 18A Una protoboard 8 LED’s 8 resistencias 330  Una fotoresistencia de 10 M Una resistencia de 100 k Una bocina piezoeléctrica (piezo sounder) Un decodificador 74LS47 Display de 7 segmentos 8 resistencias de 330  Cable programador PICAXE 17 jumpers .

La tarjeta entrenadora .

La tarjeta entrenadora .

La tarjeta entrenadora .

El primer programita .

Ver solución . al cabo de este tiempo el primer LED debe ser apagado y el segundo encenderse y durar encendido otros 4.5 segundos mientras que otro permanece apagado. el PIC debe repetirla todo el tiempo.5 segundos. de tal forma que siempre haya un LED encendido.Su primer diseño propio Diseñar un programa que encienda un LED durante 4. Esta rutina es continua.

5 segundos. de izquierda a derecha. hacer un programa que vaya encendiendo consecutivamente cada uno de los LEDs durante 0. Ver solución .Ejercicio 2 Teniendo una hilera de 8 LED’s.

El comando Symbol. comentario y justificación symbol LEDR = 4 symbol LEDA = 2 main: high LEDR low LEDA pause 1000 low LEDR high LEDA wait 1 goto main ‘ renombra la salida 4 como “LEDR” ‘ renombra la salida 2 como “LEDA” ‘ crea una etiqueta llamada “main” ‘ enciende el LED rojo ‘ apaga el LED amarillo ‘ espera 1 segundo (1000 ms) ‘ apaga el LED rojo ‘ enciende el LED amarillo ‘ espera 1 segundo ‘ Regresa a la etiqueta “main” NOTA: el comando wait puede ser seguido por un número entre 1 y 65 mientras que el comando pause. por un número entre 1 y 65535 .

Ciclos For…Next symbol contador = b1 ‘ define la variable b1 como “contador” symbol LED = 4 ‘ define main: for contador = 1 to 15 high LED pause 500 low LED pause 500 next counter end la salida 4 como “LED” ‘ comienza el ciclo for ‘ enciende el LED ‘ espera 0.5 segundos ‘ acaba el ciclo for ‘ fin del programa .5 segundos ‘ apaga el LED ‘ espera 0.

Haciendo Ruido Buzzer piezo sounder Bocina Conexión al PICAXE Conexión al PICAXE .

duración 100 ‘ espera un segundo ‘ regresa a la etiqueta “main” NOTA: el número 2 después del comando sound es para decir la salida que queremos que haga ese sonido y es necesaria la coma (. duración 100 ‘ frecuencia 120.Haciendo Ruido main: sound 2. duración 100 ‘ frecuencia 100.(100.(50.100) sound 2.) después de la salida Para los PICAXE 08 Y 08M es necesario que la salida sea la 2 .(120.100) sound 2.100) pause 1000 goto main ‘ frecuencia 50.

Muchos sonidos. un solo comando Si se quiere hacer diferentes sonidos se puede unir todo en un comando: sound 2.88.100.100) (Aquí están intercalados frecuencias y duraciones) .100.100.(57.100.100.107.100.65.113.98.78.

Ver solución . Hacer un programa donde se reproduzcan 30 sonidos diferentes de tal forma que las frecuencias de cada sonido vayan disminuyendo de 5 en 5.Ejercicios 3 y 4 Hacer un programa donde se reproduzcan 100 sonidos diferentes de tal forma que las frecuencias de cada sonido vayan en Ver solución aumento.

Display de 7 segmentos NOTA: El decodificados que nosotros proporcionamos en el Kit es el 74LS47 pero su diagrama de conexión es igual al que se muestra en la figura .

Del 0 al 9 en 7 segmentos Symbol cont = b0 ‘renombrando b0 como “cont” main: for cont = 0 to 9 ‘ inicio ciclo for let pins=cont ‘igualando las salidas al [valor de cont pause 1000 next cont goto main ‘esperando 1 seg (1000 ms) ‘siguiente valor de cont ‘ ir a al etiqueta “main” .

Modulación por ancho de pulso Ciclo de trabajo de 50% Valor promedio igual a la mitad del valor máximo Ciclo de trabajo mayor al 50% Valor promedio más cercano al valor máximo Señal digital real Aparente señal continua con valor igual al promedio de la señal real .

Symbol ton1 = b6 symbol toff1 = b7 symbol ton2 = b8 symbol toff2 = b9 let ton1 = 2 2:10 (1:5) let toff1 = 10 let ton2 = 20 20:10 (2:1) let toff2 = 10 main: for b2 = 1 to 200 high 0 pause ton1 low 0 pause toff1 next b2 pause 2000 for b2 = 1 to 200 high 0 pause ton2 low 0 pause toff2 next b2 pause 2000 goto main ‘ renombrando variables ‘ inicializazndo variables con una razon de ‘ inicializando variables con una razon de ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ iniciando ciclo for encendiendo salida 0 esperando un tiempo igual a ton1 apagando salida 0 esperando un tiempo igual a toff1 siguiente valor de b2 esperando 2 segundos iniciando otro ciclo for encendiedno salida 0 esperando un tiempo igual a ton2 apagando salida 0 esperando un tiempo igual a toff2 siguiente valor de b2 esperando 2 segundos regresar a la etiqueta “main” .

es necesario que al final de la etiqueta se pongan dos puntos(:) .Uso de entradas digitales main: if pin3 = 1 then flash goto main flash: high 4 pause 2000 low 4 goto main ‘ etiqueta llamada “main” ‘ si entrada 3 es uno salta [a la etiqueta “flash” ‘ sino regresa a “main” ‘ etiqueta llamada “flash” ‘ enciende la salida 4 ‘ espera 2 segundos ‘ apaga la salida 4 ‘ regresa a “main” NOTA: La etiquetas no pueden empezar con números ni tampoco se pueden usar palabras como for o sound que son comandos o sentencias internas del sistema PICAXE.

La función OR Interruptor A Interruptor B .

La función OR Interruptor A Interruptor B .

La función OR Interruptor A Interruptor B .

La función OR Interruptor A Interruptor B .

Tabla de verdad A off on off on B off off on on FOCO Off On On on .

El diagrama de flujo… .

Ejercicio 5 Programar el PICAXE de tal forma que cuando se presiones la entrada 1 se vea un “uno” en el display de 7 segmentos. Todos los despliegues deben durar 4 segundos y regresar a cndiciones iniciales para esperar a que el usuario presiones una entrada. si se presiona la entrada 2 se vea un “dos” en el display y si se presionnan ambas entradas se despliegue una “A”. Ver solución .

Usando entradas analógicas .

Usando entradas analógicas… main: ‘ etiqueta llamada “main” readadc 1.b0 ‘ guardando lectura del ADC en b0 if b0 > 120 then top ‘ si b0 > 120 ir a “top” if b0 < 70 then bot ‘ si b0 < 70 ir a “bot” low 0 ‘ sino apagar salido 0 low 4 ‘ sino apagar slaida 4 goto main ‘ ir a la etiqueta “main” top: high 0 low 4 goto main bot: high 4 low 0 goto main ‘ etiqueta “top” ‘ encender salida 0 ‘ apagara salida 4 ‘ ir a la etiqueta “main” ‘ etiqueta “bot” ‘ encender salida 4 ‘ apagara salida 0 ‘ ir a la etiqueta “main” .

Ver solución . de tal forma que esté calibrado para que en la oscuridad se despliegue en el display de 7 segmentos un cero y a la máxima intensidad se despliegue un 9 teniendo entonces 10 niveles repartidos equitativamente en todo el espectro de intensidades.Ejercicio 6 Programar el PICAXE para que sirva como medidor de intensidad luminosa.

b0 debug b0 ‘ guarda lectura [del ADC en b0 ‘ trransmite el [valor a la PC ‘ un pequeño [retraso ‘ regresar a la [etiqueta “main” pause 500 goto main .Comando debug main: ‘ etiqueta “main” readadc 1.

los demás sólo aceptan 15. .Sub-rutinas Una sub-rutina es un mini programa dentro del mismo programa principal. Muchas veces las sub-rutinas son utilizadas para organizar los programas en pequeñas secciones para que sea más fácil entender el objetivo del programa. Los PICAXE modelo X aceptan hasta 255 sub-rutinas.

05 segundos next counter ‘ siguiente valor de “counter” return ‘ regresa al programa principal noise: high buzzer ‘ enciended el buzzer pause 2000 ‘ espera dos segundos low buzzer ‘ apaga el buzzer return ‘ regrgesa al programa principal .05 segundos low LED ‘ apaga el LED pause 50 ‘ espera 0.Ejemplo sub-rutina symbol LED = 4 ‘ renombrando‘LED’ a la salida 4 symbol buzzer = 2 ‘ renombrando ‘buzzer’ a la salida 2 symbol counter = b1 ‘ deefine “conunter” a la variable b1 main: ‘ etiqueta “main” gosub flash ‘ llama a hacer la sub-rutina “flash” gosub noise ‘ llama a hacer la sub-rutina “noise” goto main ‘ regrresar a “main” end ‘ fin del programa flash: ‘ hace un sub-rutina llamada “flash” for counter = 1 to 25 ‘ comeinza un ciclo for high LED ‘ enciende el LED pause 50 ‘ espera 0.

Ejercicio 7 Programar el PICAXE para que se despliegue en un display de 7 segmentos los números del 1 al 9.05 segundos. Ver solución . de tal forma que cada que cambie un dígito se reproduzca la escala musical en un piezo sounder y parpadee un LED cuatro veces con una duración de 0.

. Las interrupciones pueden ocurrir en cualquier instante. sólo que esta sub-rutina es llamada a ejecutarse cuado un entrada (o combinación de entradas) ha sido activada. debido a que el puerto de entrada se monitores entre comando y comando ejecutado. Una interrupción es el camino mas corto para que el PICAXE reacciones de cierta manera a una estimulación externa (entrada).Interrupciones Una interrupción es un caso particular de una sub-rutina.

Enmascarando las entradas Para hacer una interrupción cuando la entrada 1 este en “alto” setint %00000010. la 1 en “alto” y la 2 en “bajo” setint % 00000011.%00000010 Para hacer una interrupción cuando la entrada 1 este en “bajo” setin % 00000000. %00000010 Para hacer una interrupcion cuando la entrada 0 ente en “alto”. % 00000111 .

Ejemplo de Interrupción setint %10000000.%10000000 ‘ activa la interrupcion cuandola entrada 7 este [en “alto” loop: low 1 ‘ apaga salida 1 pause 2000 ‘ espera dos segundos goto loop ‘ regrgesa a “loop” interrupt: high 1 ‘ enciende la salida 1 if pin7 = 1 then interrupt ‘ se pause 2000 ‘ espera 2 segundos setint %10000000.%10000000 ‘ return queda [haciendo esta rutina hasta que la interrupcion se acabe reactiva la [interrupcion ‘ regresa al programa principal .

ya que ahí viene un desglose de todos los comandos del sistema y cuales se pueden utilizar en cada modelo PICAXE.Algunos comandos interesantes Por cuestión de tiempo es imposible abarcar todos los comandos del Sistema PICAXE en unas cuantas horas por lo que la recomendación es que revisen el segundo manual de PICAXE. asimismo algunos tienen ejemplos de aplicaciones .

Tan Tan GRACIAS! .

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->