Docstoc

El PICAXE EL PICAXE

Document Sample
El PICAXE EL PICAXE Powered By Docstoc
					                                             EL PICAXE
Microcontroladores




                     ELPICAXE-08M




                                    Carlos E. Canto Quintal M.C.
                                                    EL PICAXE
Microcontroladores



                     ELPICAXE-08M
    • El PICAXE-08M usa el PIC12F683 que tiene el
      doble de memoria que el PIC12F629 usado con el
      PICAXE-08 original. Por eso el PICAXE-08M tiene
      la capacidad de reproducir música y mucho más.




                                           Carlos E. Canto Quintal M.C.
                                                                                  EL PICAXE
Microcontroladores



                              ELPICAXE-08M
    El PICAXE-08M soporta todos los comandos estándar y carcterísticas del PICAXE-08 con las
    siguientes mejoras:
        La memoria de programa ha sido doblada en capacidad ( aprox. 80 líneas de código).
        Capacidad de tocar melodías generados por el usuario o cuatro melodías
         preprogramados (comandos PLAY y TUNE).
        Opción de DAC de 10 bits en tres terminales (comandos READ-ADC10/READADC).
        Habilidad de interrupción en las entradas (comando SETINT).
        Entrada y salida para Control remoto infrarojo ( comandos INFRAIN2/INFRAOUT).
        Salida PWM para manejo continuo de motor (comando PWMOUT )
        Control de servos de tipo de radio control (comando SERVO ).
        Conteo de pulsos de alta frecuencia dentro de un periodo de tiempo habilitado (
         comando COUNT).
        Interface para sensor exacto de temperatura (comando READTEMP/READTEMP12).
        Lectura de cualquier dispositivo Dallas de 1-wire (como el iButton) (comando
         READOWSN).
        Soporta software para una frecuencia de reloj aumentada (8 MHz) (comando SETFREQ).

                                                                         Carlos E. Canto Quintal M.C.
                                                                       EL PICAXE
Microcontroladores


              Tocar música con un PICAXE-08M
 •   El principal obstáculo cuando se toca música en un microcontrolador PIC
     es el limitado espacio de memoria . Todos los chips PICAXE tienen un
     comando SOUND para hacer ruidos, sin embargo, el número de notas y
     velocidad de reproducción o “tempo”, es muy limitado ya que el dato del
     comando SOUND consume toda la memoria de programa disponible. .
 •   Para resolver esto, el PICAXE-08M tiene el comando nuevo TUNE para
     reproducir música . El comando TUNE incorpora un algoritmo de
     compresión de datos de la nota para ahorrar espacio de memoria, también
     viene pre programado con 4 melodías : Happy Birthday, Jingle Bells, Noche
     de Paz y Rodolfo el Reno de la nariz roja. Además puede ser programado
     con los tonos de timbre de los teléfonos celulares que se prefiera.
 •   Los tonos de los celulares se pueden bajar de internet en formato “Ring
     Tone Text Transfer” (RTTTF), como los que se usan en la mayoría de los
     teléfonos Nokia .
 •   Un microcontrolador simple no puede reproducir melodías complicadas
     “polifónicas”, pero se oyen bien las melodías “monofónicas” (un tono a la
     vez).


                                                              Carlos E. Canto Quintal M.C.
                                                                                 EL PICAXE
Microcontroladores


                Tocar música con un PICAXE-08M




  Esta representación de teclado de un piano muestra las frecuencias claves en octavas 5, 6 y
  7. Este es el rango de frecuencias cubiertos por el PICAXE-08M


                                                                        Carlos E. Canto Quintal M.C.
                                                                    EL PICAXE
Microcontroladores


              Tocar música con un PICAXE-08M




      El byte de codificación de cada nota usado por el comando TUNE.




                                                           Carlos E. Canto Quintal M.C.
loop:
            infrain 'wait for new signal
            if infra = 1 then swon1 'switch on 1
            if infra = 2 then swon2 'switch on 2
            if infra = 3 then swon3 'switch on 3
            if infra = 4 then swoff1 'switch off 1
            if infra = 5 then swoff2 'switch off 2
            if infra = 6 then swoff3 'switch off 3
         goto loop
swon1: high 1
          goto loop
swon2: high 2
         goto loop
swon3: high 3                                        with PICAXE-08M input3 must be used instead of input0)
         goto loop
swoff1: low 1
        goto loop
swoff2: low 2
        goto loop
swoff3: low 3
        goto loop
  El bus I2C                                                                   Microcontroladores



                     Dispositivos I2C con el PICAXE

         Instrucciones del PICAXE para usar el bus I2C
I2CSLAVE                                        WRITEI2C
Sintáxis: I2CSLAVE slave, speed, address        Sintáxis: WRITEI2C location,(variable,...)
                                                - Location es una variable /constante que especifica la
- Slave es la dirección i2c del esclavo         dirección de un byte o palabra
- Speed es la palabra i2cfast (400kHz) o        - Variable(s) contiene el byte(s) de dato que se va a
i2cslow (100kHz) a 4Mhz                         escribir
-Address es la palabra i2cbyte o i2cword        Función:
                                                Escribe a la localidad I2C el contenido de la variable(s).
Función:
El comando i2cslave es usado para configurar      READI2C
las terminales PICAXE para usar el I2C y para
definir el tipo de dispositivo I2C a ser          Sintáxis: READI2C location,(variable,...)
direccionado                                      - Location es una variable /constante que
                                                  especifica la dirección de un byte o palabra
                                                  - Variable(s) recibe el byte(s) leido(s).
                                                  Funcción:
                                                  Lee la localidad I2C contenida en la(s) variable(s).


                                                                          M.C. Carlos E. Canto Quintal
El bus I2C        Microcontroladores




             M.C. Carlos E. Canto Quintal
   Comandos del PICAXE (válidos para todos los
                   tamaños):

SALIDA - high, low, toggle, pulsout, let pins
ENTRADA- if…(and/or)...then, readadc, pulsin, button
SONIDO - sound
SERIAL - serin, serout
FLUJO DEL PROGRAMA - goto, gosub, return, branch
LOOPS - for…next
MATEMÁTICAS - let… (+, -, *, **, /, //, max, min, &, |, ^, &/, |/, ^/ )
VARIABLES - if...then, random, lookdown, lookup
MEMORIA DE DATOS - eeprom, write, read
RETARDOS - pause, wait, nap, sleep, end
MISCELÁNEO - symbol, debug
  Commandos Específicos del PICAXE-08/08M :

CONFIG. E/S - input, output, reverse, let dirs =
PWM - pwm, pwmout (08M)
MÚSICA - play, tune (08M)
RAM - peek, poke (08M)
SERVO CONTROL - servo (08M)
INFRAROJO - infrain2, infraout (08M)
INTERRUPCIÓN - setint (08M)
ADC DE10 BITS - readadc10 (08M)
TEMPERATURA - readtemp, readtemp12 (08M)
1-WIRE SERIAL NO - readowsn (08M)
ENTRADA DE CONTEO - count (08M)
SALIDA SERIAL - sertxd (08M)
VELOCIDAD DEL RESONADOR - setfreq (08M)
 Comandos Específicos del PICAXE-18/18A/18X :

RAM - peek, poke
SERVO CONTROL - servo (18A/X)
INFRARED - infrain (18A/X)
INTERRUPT - setint (18A/X)
10 BIT ADC - readadc10 (18X)
TEMPERATURE - readtemp, readtemp12 (18A/X)
KEYBOARD - keyin, keyled (18A/X)
1-WIRE SERIAL NO - readowsn (18A/X)
1-WIRE CLOCK - readowclk, resetowclk (18A)
I2C - readi2c, writei2c, i2cslave (18X)
COUNT INPUT - count (18X)
PWM OUTPUT - pwmout (18X)
SERIAL OUTPUT - sertxd (18X)
RESONATOR SPEED - setfreq (18X)
          Commandos Específicos del
           PICAXE-28/28A/28X(40X)
• MEMORIA DE DATOS - writemem, readmem (28/28A)
                             Processor Hardware

Variante                 PICmicro        Flash          RAM [1]                        EEPROM

PICAXE-08                12F629          1K            None [2]                        128 [3]
PICAXE-08M               12F683          2K            48 : $50-$7F                    256 [3]
PICAXE-18                16F627          1K            96 : $50-$7F / $C0-$EF [4]      128 [3]
PICAXE-18A               16F819          2K            48 : $50-$7F                    256 [3]
PICAXE-18X               16F88           4K            96 : $50-$7F / $C0-$EF          256 [5]
PICAXE-28                16F872          2K            48 : $50-$7F                    64+256 [5][6]
PICAXE-28A               16F872          2K            48 : $50-$7F                    64+256 [5][6]
PICAXE-28X               16F873A         4K            112 : $50-$7F / $C0-$FF         128 [5]
PICAXE-40X               16F874A         4K            112 : $50-$7F / $C0-$FF         128 [5]


  [1] SFR available to user using PEEK and POKE commands
  [2] PEEK and POKE commands not supported
  [3] User program stored in EEPROM, shared with EEPROM data
  [4] It is not recommended to use $C0..$EF in order to retain upwards compatability
  [5] EEPROM data separate to user program
  [6] 64 bytes using READ/WRITE, plus 256 bytes using READMEM/WRITEMEM
                        Basic Interfacing
Variant      Digital In      Digital Out   Analogue In              PWM         SERVO

PICAXE-08    1-4 [1]         1-4 [1]       0-1 Low Res [2]      0-4 Burst [3]      No

PICAXE-08M    1-4 [1]        1-4 [1][4]    0-3 [2]             0-1 Continuous      0-4

PICAXE-18     2-5 [2]        8             0-3 Low Res [2]          No             No

PICAXE-18     2-5 [2]        8             0-3 [2]                  No             0-8

PICAXE-18X    2-5 [2]        8 [4]         0-3 [2]           0-1 Continuous       0-8

PICAXE-288      8            4             No                 0-8

PICAXE-28      8             8             4                   No                  0-8

PICAXE-28X     0-12 [1][2]   8-16 [1][4]   0-4 [2]            0-2 Continuous       0-8

PICAXE-40X     8-16 [1]      8-16 [1][4]   3-7 [2]            0-2 Continuous        0-8
                            Advanced Interfacing

Variant               I2C [1]     Temp [2] Serial Num [3]                IR [4]    Keyboard [5]

PICAXE-08             -              -              -                     -           -
PICAXE-08M            -             Yes            Yes                   Yes [6]      -
PICAXE-18             -               -             -                       -         -
PICAXE-18A            -             Yes            Yes                    Yes        Yes
PICAXE-18X            Yes           Yes            Yes                     Yes       Yes
PICAXE-28             -                 -             -                    Yes          -
PICAXE-28A            -             Yes               -                    Yes          -
PICAXE-28X            Yes           Yes             Yes                    Yes        Yes
PICAXE-40X            Yes           Yes             Yes                      Yes      Yes

  [1] General Purpose I2C / DS1307 Clock - I2CSLAVE, READI2C, WRITEI2C
  [2] DS18B20 One-Wire Temperature Sensor - READTEMP, READTEMP12
  [3] One-Wire Serial Number - READOWSN
  [4] IR Input Sensor - INFRAIN, IF INFRA
  [5] PC keyboard Interface - KEYIN, IF KEYVALUE, KEYLED
  [6] IR Input and Output Interfaces - INFRAIN2, INFRAOUT

				
DOCUMENT INFO