26
ELPICAXE-08M ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C.

ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

Embed Size (px)

Citation preview

Page 1: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

ELPICAXE-08MELPICAXE-08M

Microcontroladores Microcontroladores EL PICAXE

Carlos E. Canto Quintal M.C.

Page 2: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

Microcontroladores Microcontroladores EL PICAXE

Carlos E. Canto Quintal M.C.

• 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.

ELPICAXE-08MELPICAXE-08MELPICAXE-08MELPICAXE-08M

Page 3: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

El PICAXE-08M soporta todos los comandos estándar y carcterísticas del PICAXE-08 con las El PICAXE-08M soporta todos los comandos estándar y carcterísticas del PICAXE-08 con las siguientes mejoras:siguientes mejoras:

La memoria de programa ha sido doblada en capacidad ( aprox. 80 líneas de código). 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 Capacidad de tocar melodías generados por el usuario o cuatro melodías preprogramados (comandos PLAY y TUNE). preprogramados (comandos PLAY y TUNE).

Opción de DAC de 10 bits en tres terminales (comandos READ-ADC10/READADC). Opción de DAC de 10 bits en tres terminales (comandos READ-ADC10/READADC).

Habilidad de interrupción en las entradas (comando SETINT). Habilidad de interrupción en las entradas (comando SETINT).

Entrada y salida para Control remoto infrarojo ( comandos INFRAIN2/INFRAOUT). Entrada y salida para Control remoto infrarojo ( comandos INFRAIN2/INFRAOUT).

Salida PWM para manejo continuo de motor (comando PWMOUT ) Salida PWM para manejo continuo de motor (comando PWMOUT )

Control de servos de tipo de radio control (comando SERVO ). Control de servos de tipo de radio control (comando SERVO ).

Conteo de pulsos de alta frecuencia dentro de un periodo de tiempo habilitado Conteo de pulsos de alta frecuencia dentro de un periodo de tiempo habilitado ( comando COUNT). ( comando COUNT).

Interface para sensor exacto de temperatura (comando READTEMP/READTEMP12). Interface para sensor exacto de temperatura (comando READTEMP/READTEMP12).

Lectura de cualquier dispositivo Dallas de 1-wire (como el iButton) (comando Lectura de cualquier dispositivo Dallas de 1-wire (como el iButton) (comando READOWSN). READOWSN).

Soporta software para una frecuencia de reloj aumentada (8 MHz) (comando SETFREQ).Soporta software para una frecuencia de reloj aumentada (8 MHz) (comando SETFREQ).

ELPICAXE-08MELPICAXE-08MELPICAXE-08MELPICAXE-08M

Microcontroladores Microcontroladores EL PICAXE

Carlos E. Canto Quintal M.C.

Page 4: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

Tocar música con un PICAXE-08M

• El principal obstáculo cuando se toca música en un microcontrolador PIC es 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 el limitado espacio de memoria . Todos los chips PICAXE tienen un comando SOUND para hacer ruidos, sin embargo, el número de notas y 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 velocidad de reproducción o “tempo”, es muy limitado ya que el dato del comando SOUND consume toda la memoria de programa disponible. .comando SOUND consume toda la memoria de programa disponible. .

• Para resolver esto, el PICAXE-08M tiene el comando nuevo TUNE para Para resolver esto, el PICAXE-08M tiene el comando nuevo TUNE para reproducir música . El comando TUNE incorpora un algoritmo de reproducir música . El comando TUNE incorpora un algoritmo de compresión de datos de la nota para ahorrar espacio de memoria, también 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 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 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.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 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 Tone Text Transfer” (RTTTF), como los que se usan en la mayoría de los teléfonos Nokia . teléfonos Nokia .

• Un microcontrolador simple no puede reproducir melodías complicadas Un microcontrolador simple no puede reproducir melodías complicadas “polifónicas”, pero se oyen bien las melodías “monofónicas” (un tono a la “polifónicas”, pero se oyen bien las melodías “monofónicas” (un tono a la vez). vez).

Microcontroladores Microcontroladores EL PICAXE

Carlos E. Canto Quintal M.C.

Page 5: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

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

Tocar música con un PICAXE-08M

Microcontroladores Microcontroladores EL PICAXE

Carlos E. Canto Quintal M.C.

Page 6: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

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

Tocar música con un PICAXE-08M

Microcontroladores Microcontroladores EL PICAXE

Carlos E. Canto Quintal M.C.

Page 7: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C
Page 9: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

loop:infrain 'wait for new signalif infra = 1 then swon1 'switch on 1if infra = 2 then swon2 'switch on 2if infra = 3 then swon3 'switch on 3if infra = 4 then swoff1 'switch off 1if infra = 5 then swoff2 'switch off 2if infra = 6 then swoff3 'switch off 3

goto loopswon1: high 1

goto loopswon2: high 2

goto loopswon3: high 3

goto loopswoff1: low 1

goto loopswoff2: low 2

goto loopswoff3: low 3

goto loop

with PICAXE-08M input3 must be used instead of input0)

Page 11: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C
Page 12: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C
Page 13: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C
Page 14: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C
Page 15: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C
Page 16: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C
Page 17: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C
Page 18: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

Dispositivos I2C con el PICAXEDispositivos I2C con el PICAXE

Microcontroladores

M.C. Carlos E. Canto Quintal

El bus I2C

WRITEI2C

Sintáxis: WRITEI2C location,(variable,...)- Location es una variable /constante que especifica la dirección de un byte o palabra- Variable(s) contiene el byte(s) de dato que se va a escribirFunción:Escribe a la localidad I2C el contenido de la variable(s).

READI2C

Sintáxis: READI2C location,(variable,...)- 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).

I2CSLAVE

Sintáxis: I2CSLAVE slave, speed, address

- Slave es la dirección i2c del esclavo- Speed es la palabra i2cfast (400kHz) o i2cslow (100kHz) a 4Mhz-Address es la palabra i2cbyte o i2cword

Función:El comando i2cslavei2cslave es usado para configurar las terminales PICAXE para usar el I2C y para definir el tipo de dispositivo I2C a ser direccionado

Instrucciones del PICAXE para usar el bus I2C

Page 19: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

Microcontroladores

M.C. Carlos E. Canto Quintal

El bus I2C

Page 20: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

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, seroutFLUJO DEL PROGRAMA - goto, gosub, return, branchLOOPS - for…nextMATEMÁTICAS - let… (+, -, *, **, /, //, max, min, &, |, ^, &/, |/, ^/ )VARIABLES - if...then, random, lookdown, lookupMEMORIA DE DATOS - eeprom, write, readRETARDOS - pause, wait, nap, sleep, endMISCELÁNEO - symbol, debug

Page 21: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

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)

Page 22: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

Comandos Específicos del PICAXE-18/18A/18X :

RAM - peek, pokeSERVO 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)

Page 23: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

Commandos Específicos del

PICAXE-28/28A/28X(40X)

• MEMORIA DE DATOS - writemem, readmem (28/28A)

Page 24: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

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

Page 25: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

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

Page 26: ELPICAXE-08M Microcontroladores EL PICAXE Carlos E. Canto Quintal M.C

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 YesPICAXE-18X Yes Yes Yes Yes YesPICAXE-28 - - - Yes -PICAXE-28A - Yes - Yes -PICAXE-28X Yes Yes Yes Yes YesPICAXE-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