Title: ELPICAXE-08M
1ELPICAXE-08M
EL PICAXE
Microcontroladores
Carlos E. Canto Quintal M.C.
2EL 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.
3ELPICAXE-08M
EL PICAXE
Microcontroladores
- 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.
4Tocar música con un PICAXE-08M
EL PICAXE
Microcontroladores
- 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.
5EL 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.
6EL 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.
7(No Transcript)
8(No Transcript)
9- 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
- goto loop
- swoff1 low 1
- goto loop
- swoff2 low 2
- goto loop
with PICAXE-08M input3 must be used instead of
input0)
10(No Transcript)
11(No Transcript)
12(No Transcript)
13(No Transcript)
14(No Transcript)
15(No Transcript)
16(No Transcript)
17(No Transcript)
18 Dispositivos I2C con el PICAXE
El bus I2C
Microcontroladores
Instrucciones del PICAXE para usar el bus I2C
- 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 i2cslave es usado para configurar las
terminales PICAXE para usar el I2C y para
definir el tipo de dispositivo I2C a ser
direccionado
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 escribir Funció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).
M.C. Carlos E. Canto Quintal
19El bus I2C
Microcontroladores
M.C. Carlos E. Canto Quintal
20Comandos 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 - fornext
- 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
21Commandos 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)
22Comandos 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)
23Commandos Específicos del PICAXE-28/28A/28X(40X)
- MEMORIA DE DATOS - writemem, readmem (28/28A)
24Processor 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 64256 5
6 - PICAXE-28A 16F872 2K 48 50-7F 64256 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
commands2 PEEK and POKE commands not
supported3 User program stored in EEPROM,
shared with EEPROM data4 It is not recommended
to use C0..EF in order to retain upwards
compatability5 EEPROM data separate to user
program6 64 bytes using READ/WRITE, plus 256
bytes using READMEM/WRITEMEM
25Basic 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
14 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-28 8
8 4 No 0-8 PICAXE-28
8 8 4 No
0-8 PICAXE-28X 0-12 12 8-16
14 0-4 2 0-2 Continuous
0-8 PICAXE-40X 8-16 1 8-16
14 3-7 2 0-2 Continuous
0-8
26Advanced 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, WRITEI2C2 DS18B20 One-Wire
Temperature Sensor - READTEMP, READTEMP123
One-Wire Serial Number - READOWSN4 IR Input
Sensor - INFRAIN, IF INFRA5 PC keyboard
Interface - KEYIN, IF KEYVALUE, KEYLED6 IR
Input and Output Interfaces - INFRAIN2, INFRAOUT