Download El PICAXE - fc

Document related concepts
no text concepts found
Transcript
EL PICAXE
Microcontroladores
El PICAXE
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
¿Qué es un microcontrolador PICAXE?
 Un PICAXE es un microcontrolador estándar de Microchip
PICmicro™ que ha sido pre-programado con el código de
bootstrap PICAXE( de Revolution Education).
 El código bootstrap habilita al microcontrolador PICAXE
para que pueda ser re-programado directamente vía una
simple conexión serie.
 Esto elimina la necesidad de un (costoso) programador
convencional, haciendo el sistema total de descarga un
simple cable serie de muy bajo costo.
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
¿Qué es un microcontrolador PICAXE?
 El programa de descarga también contiene rutinas
comunes (tales como generar un retardo o un sonido de
salida), tal que cada descarga no tiene que perder
tiempo descargando estos datos comúnmente
requeridos. Esto hace que el tiempo de descarga sea
mucho más corto.
 El programa de descarga PICAXE no está disponible
para programarse en microcontroladores en blanco.
 Se debe comprar el microcontrolador PICAXE (más
que microcontroladores en blanco, no programados )
para usar en el sistema PICAXE.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
¿ Cúal chip PICAXE ?
 El sistema PICAXE puede ser usado con 4 tamaños
de chips PICAXE (8, 18, 28 y 40 pines).
 La principal diferencia entre los tamaños de chips es
el número de pines disponibles para entradas /salidas
– mientras más grande el chip un poco más alto es el costo
pero se tienen más pines disponibles de entrada/salida.
 Se programa en lenguaje Basic que es común para
todos los tamaños de chips.
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
Tabla que muestra las principales diferencias funcionales entre
los microcontroladores PICAXE.
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
Distribución de terminales
de los PICAXE
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
Diagramas de terminales para los dispositivos de 28 pines
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
Circuito de descarga Serial
El circuito de descarga Serial es idéntico para todos
los chips PICAXE .
Consiste de 3 alambres del chip PICAXE al puerto
serial de la PC.
Un alambre envía datos de la PC a la entrada serial del
PICAXE, un alambre transmite datos de la salida serial
del PICAXE a la computadora , y el tercer alambre
proporciona la tierra común.
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
El circuito mínimo para descarga
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
El circuito mínimo para descarga
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Circuito mínimo de descarga
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Circuito de descarga Serial
Construcción del cable serial usando un jack estereo
PICAXE
PC Rx
Serial out
Serial In
PC Tx
GND
10kW
22kW
0V
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Circuito mejorado de Descarga Serial
(1)
(2)
(3)
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
El circuito mínimo de operación de los dispositivos de
8 pines
•Ninguno de los PICAXE de 8 terminales tienen terminal de RESET
por lo tanto para resetear el microcontrolador la fuente de poder debe
ser desconectada y después reconectada .
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
El circuito mínimo de operación de los dispositivos de
18 pines
•Todos los PICAXE de
18,28 y 40 tienen una
terminal para “reset”. Esta
terminal debe estar en alto
para que el
microcontrolador PICAXE
funcione, si la terminal se
deja sin conectar el
microcontrolador no
funciona .
Para conectar este pin a alto, conecte una resistencia de pull-up
entre el pin y V+. Un Push button conectado entre la terminal de
reset y tierra, nos proporciona un reset manual.
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
El circuito mínimo de operación de los dispositivos de
28 pines
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
PICAXE FAQ:
¿ Es necesario conectar las entradas o salidas no usadas ?
No, las entradas o salidas no usadas pueden mantenerse sin conectar en forma segura,
siempre y cuando no se usen como referencia dentro del programa de control
!Compré unos PICs en blanco y no trabajan con el sistema PICAXE !
El microcontrolador PICAXE no es un PIC en blanco. Es un microcontrolador que ha sido
pregrabado con un programa “BOOTSTRAP” que lo habilita para descargar directamente
vía un cable ( el programa bootstrap le dice al microcontrolador como interpretar los
comandos de programación del cable directo). Por eso es que se debe comprar
microcontroladores PICAXE , más que microcntroladores en blanco, para usar con el
sistema PICAXE.
He programado un micrcontrolador PICAXE usando un programador
convencional y ahora no trabaja con el sistema PICAXE¡
Se ha sobreescrito , y por lo tanto se borró el programa bootstrap del PICAXE . El
micrcontrolador ya no podrá se usado como un microcontrlador PICAXE, pero
naturalmente se puede continuar usando con el programador convencional.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
PICAXE FAQ:
¿Se necesita borrar el dispositivo?
¿ Cómo paro el programa que está corriendo en el microcontrolador PICAXE?
Cada descarga automáticamente sobreescribe la totalidad del programa previo. Por lo
general no es necesario borrar la memoria en mingún punto. Sin embargo si se desea
parar un programa corriendo se puede seleccionar el menú “Clear Hardware Memory”
para descargar un programa “vacío” a la memoria del PICAXE.
¿Hasta cuántas veces puede ser programado el PICAXE?
La hoja de datos del fabricante establece que el dispositivo puede ser reprogramado al
menos 10,000 veces . En la práctica el número puede ser mucho mayor.
¿Qué tan rápido opera el PICAXE?
Los microcontroladores PICAXE-08/18 tienen un resonador interno de 4 Mhz, y el
PICAXE-28 usa un resonador cerámico externo de de 4 MHz. Esto significa que el
microcontrolador procesa 1 millón de comandos en ensamblador por segundo, lo cual
equivale a aproximadamente 10,000 comandos BASIC por segundo.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
PICAXE FAQ:
¿Se pueden controlar servos usando el PICAXE?
Si, el sistema PICAXE-28tiene un comando “servo” que permite controlara hasta 8
servos (uno en cada salida).
¿ Se puede controlara un display LCD?
Si, el PICAXE soporta módulos seriales LCD (como el módulo Serial LCD/Clock
AXE033) viá el comando “serout”. Note que el el AXE033 también puede ser
preprogramado hasta con 8 mensajes para reducir el uso de la memoria del
microcontrolador PICAXE.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Arquitectura del PICAXE
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Procesadores usados
Variante
PICmicro
Flash
PICAXE-08
PICAXE-08M
PICAXE-18
PICAXE-18A
PICAXE-18X
PICAXE-28
PICAXE-28A
PICAXE-28X
PICAXE-40X
12F629
12F683
16F627
16F819
16F88
16F872
16F872
16F873A
16F874A
1K
2K
1K
2K
4K
2K
2K
4K
4K
RAM [1]
EEPROM
None [2]
48 : $50-$7F
96 : $50-$7F / $C0-$EF [4]
48 : $50-$7F
96 : $50-$7F / $C0-$EF
48 : $50-$7F
48 : $50-$7F
112 : $50-$7F / $C0-$FF
112 : $50-$7F / $C0-$FF
128 [3]
256 [3]
128 [3]
256 [3]
256 [5]
64+256 [5][6]
64+256 [5][6]
128 [5]
128 [5]
[1] SFR disponible para el usuario usando los comandos PEEK y POKE
[2] No soporta los comandos PEEK y POKE
[3] El programa del usuario almacenado en EEPROM, comparte la EEPROM de datos
[4] No se recomienda usar $C0--$FF para retener compatibilidad hacia arriba.
[5] EEPROM de datos separada del programa del usuario
[6] 64 bytes usan READ/WRITE, más 256 bytes que usan READMEM/WRITEMEM
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Interfase Básica
Variante
Entrada Digital
Salida Digital Entrada Análoga
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
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
0-8
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Interfase Avanzada
Variante
I2C [1]
PICAXE-08
PICAXE-08M
PICAXE-18
PICAXE-18A
PICAXE-18X
PICAXE-28
PICAXE-28A
PICAXE-28X
PICAXE-40X
Yes
Yes
Yes
Temp [2] Serial Num [3]
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
IR [4]
Yes [6]
Yes
Yes
Yes
Yes
Yes
Yes
Keyboard [5]
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
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Entendiendo la memoria del PICAXE.
La memoria del PICAXE consiste de tres diferentes áreas.
La cantidad de memoria varía entre los tipos de PICAXE.
RAM
Memoria de
datos
Memoria de
programa
Variables:
-de propósito Gral.
-Almacén
-de Función Especial (SFR)
MEMORIA FLASH
Bootstrap
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Entendiendo la memoria del PICAXE.

Memoria de Programa.
La memoria de programa es donde el programa es almacenado
después de una nueva descarga . Esta es una memoria FLASH reescribible que puede ser reprogramada hasta ( típicamente) 100,000
veces.
. Generalmente no se requiere borrar un programa, ya que en cada
descarga automáticamente se sobre escribe la totalidad del último
programa .

En un chip PICAXE estándar se pude descargar alrededor de 40 líneas
de código en Basic. En partes revisión A o M se pueden descargar
alrededor de 80 líneas y en partes X alrededor de 600 líneas.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Memoria de Datos
• La memoria de datos es un espacio adicional de almacén dentro del
microcontrolador. el dato tampoco se pierde cuando se quita la
energía.
• En cada descarga se resetean todo los bytes de datos a 0, al menos
que un comando EEPROM haya sido usado para “precargar”el dato
en memoria de datos.
• En el PICAXE-08/08M/18 la memoria de datos es “compartida” con
la memoria de programa . En consecuencia, programas más largos
producirá una memoria de datos más pequeña.
•
En todos los demás chips PICAXE la memoria de datos y de
programa están completamente separados.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
RAM (Variables)
 La memoria RAM es usada para almacenar datos
temporalmente, datos que adoptan las variables conforme
corre el programa. Esta pierde todos los datos cuando se
quita la potencia.
 Hay tres tipos de variables
 De propósito general,
 De Almacén,
 y De función especial.
 Las variables son localidades de memoria dentro del
PICAXE que almacena los datos mientras el programa está
corriendo.
 Toda esta información se pierde cuando se “resetea” el
microcontrolador.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Variables de propósito General.
 Hay 14 bytes para variables de propósito General. Estos bytes variables
son etiquetados como b0 a b13. Los bytes variables pueden almacenar
números enteros entre 0 y 255. Los bytes variable no pueden usar
números negativos o fracciones, y se “rebasan” sin aviso si se excede
los valores límites 0 ó 255 ( por ejemplo. 254+3=1, 2-3=255)
 Sin embargo para números grandes se pueden combinar dos bytes
variables para crear una variable word, la cual es capaz de de
almacenar números enteros entre 0 y 65,535. Estas variables word son
etiquetadas w0 a w6, y se construyen como sigue:
w0
w1
w2
w3
w4
w5
w6
=
=
=
=
=
=
=
b1 : b0
b3 : b2
b5 : b4
b7 : b6
b9 : b8
b11 : b10
b13 : b12
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Variables de propósito General.
 Además los bytes b0 y b1 (w0) son desmembrados en
variables individuales de 1 bit.
 Estas variables de bit pueden ser usadas donde se requiera la
capacidad de almacenaje de un bit solo.
b0 = bit7: bit6: bit5: bit4: bit3: bit2: bit1: bit0
b1 = bit15: bit14: bit13: bit12: bit11: bit10: bit9: bit8
 Se pueden usar cualquier variable word, byte o bit en
cualquier asignación matemática o comando que soprte
variables.
 Todas las variables de propósito general se resetean a 0 con
un reset del programa.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Variables de almacenaje
 Las variables de almacenaje son localidades
adicionales de memoria para almacén temporalmente
bytes de datos. No se pueden usar en cálculos
matemáticos, pero se pueden usar para almacenar
temporalmente valores de byte usando los comandos
peek y poke
 El número de localidades disponibles para
almacenaje varía dependiendo del tipo de PICAXE.
 Estas direcciones varían de acuerdo a las
especificaciones técnicas del microcontrolador.
Carlos E. Canto Quintal M.C.
Microcontroladores
PICAXE-08
PICAXE-08M
PICAXE-18
PICAXE-18A
PICAXE-18X
PICAXE-28A
PICAXE-28X
PICAXE-08M
EL PICAXE
no tiene
48 bytes de 80 a 127 ($50 to $7F)
48 bytes de 80 a 127 ($50 to $7F)
48 bytes de 80 a 127 ($50 to $7F)
96 bytes de 80 a 127 ($50 to $7F), 192 to 239 ($C0 to $EF)
48 bytes de 80 a 127 ($50 to $7F)
112 bytes de 80 a 127 ($50 to $7F), 192 to 239 ($C0 to $FF)
112 bytes de 80 a 127 ($50 to $7F), 192 to 239 ($C0 to $FF
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
Variables de Función Especial
(SFR: Special Function Variables)
El uso de las variables de función especial
depende del tipo de PICAXE
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
Special Function Variables (SFR)
pins = el puerto de entrada cuando se leen del puerto
pins = El puerto de salida cuando se escribe al puerto
infra = una variable separada usada con el comando infrain
Dirs = registro de drección de datos (indica cuando las terminales
son entradas o salidas)
keyvalue = otro nombre para infra, usado con el comando keyin
La variable pins se subdivide en variables de bits individuales para
leer de entradas individuales con el comando if…then.
Solo son implementadas terminales válidas de entrada.
pins = x : x : x : pin4 : pin3 : pin2 : pin1 : x
Las variables dirs también se subdividen en bits individuales . Solo
se implementan configuración de bits de pines bidireccionales
válidos.
dirs = x : x : x : dir4 : x : dir2 : dir1 : x
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Special Function Variables (SFR)
Note que pins es una “pseudo” variable que puede ser aplicada
tanto al puerto de entrada como al puerto de salida.


Cuando se usa a la izquierda del estatuto pins se aplica al puerto de
salida
por ejemplo
let pins = %11000011
Conmutará las salidas 7,6,1,0 a alto y los otros a bajo.

Cuando se usa a la derecha de un estatuto pins aplica al puerto de
entrada. Por ejemplo.
let b1 = pins
Cargará b1 con el estado actual del puerto de entrada.

Además, note que:
let pins = pins
Significa “haz el puerto de salida igual al puerto de entrada
Carlos E. Canto Quintal M.C.
Microcontroladores
EL PICAXE
.
Entradas y Salidas en el PICAXE
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Entradas Digitales
 Se pueden conectar
interruptores digitales de
entrada con una resistencia
de 10K pull down.
 La resistencia es esencial
porque previene que la
estrada “flote” cuando el
interruptor esté en posición
abierto. Lo cual daría una
operación poco confiable.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Entradas Analógicas
 Las entradas análogas
pueden conectarse en un
arreglo divisor de voltaje
entre V+ y 0V.
 La referencia análoga es la
fuente de poder y la señal
análoga no debe exceder la
fuente de poder
.
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores
Salidas Digitales
 El microcontrolador puede drenar
y suministrar 20mA en las
terminales de salida.
 Por lo tanto dispositivos de baja
corriente simples tales como los
LEDs pueden conectarse
directamente a las terminales de
salida .
 Dispositivos de más alta corriente
pueden conectarse vía un
transistor (como el BC548B), FET
o manejador Darlington
Carlos E. Canto Quintal M.C.