You are on page 1of 13

EL PICAXE

Microcontroladores

Programación del PICAXE

Ejemplos de aplicación

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

¿ Diagrama de flujo o BASIC ?

main:
high 0
wait 1
low 0
wait 1
goto main

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

Ejemplo 1: flashear un LED


 Este programa flashea el LED conectado al pin 1 de salida encendiéndolo
y apagándolo 15 veces . El número de veces que el código ha sido repetido
es almacenado en la memoria RAM de propósito general del PICAXE
usando la variable b1 ( el PICAXE tiene 14 variables de propósito general
nominadas b0 a b13).
 Estas variables pueden ser renombradas usando el comando symbol
para hacerlo más fácil de recordar.
symbol contador = b1 ‘ define la variable b1 como “contador”
symbol LED = 4 ‘ define el pin 4 con el nombre “LED”

main:
for contador = 1 to 15 ‘ inicio del lazo for...next
high LED ‘ pone el pin 4 a alto
pause 500 ‘ espera por 0.5 segundo
low LED ‘ pone el pin 7 a bajo
pause 500 ‘ espera por 0.5 segundo
next contador ‘ fin del del lazo for...next
end ‘ fin del programa
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores

Ejemplo2: generando sonidos

main:
sound 2,(50,100) ‘ frecuencia 50, duración 100
sound 2,(100,100) ‘ frecuencia 100, duración 100
sound 2,(120,100) ‘ frecuencia 120, duración 100
pause 1000 ‘ espera 1 segundo
goto main ‘ regresa al inicio

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

play
Syntax:
PLAY tune,LED
- Tune is a variable/constant (0 - 3) which specifies which tune to play
0 - Happy Birthday
1 - Jingle Bells
2 - Silent Night
3 - Rudolf the Red Nosed Reindeer
- LED is a variable/constant (0 -3) which specifies if other outputs flash at the same time as the tune is
being played.
0 - No outputs
1 - Output 0 flashes on and off
2 - Output 4 flashes on and off
3 - Output 0 and 4 flash alternately
Function:
Play an internal tune on the PICAXE-08M (i/o pin2).
Description:
The PICAXE-08M can play musical tones. The PICAXE-08M is supplied with 4 pre-programmed
internal tunes, which can be output via the play command. As these tunes are included within the
PICAXE-08M bootstrap code, they use very little program memory. To generate your own tunes
use the ‘tune’ command, although this requires a much greater amount of program memeory.
See the Tune command for suitable piezo / speaker circuits.
Affect of increased clock speed:
The tempo (speed) of the tune is doubled at 8MHz!
Example:
play 3,1 ‘ rudolf red nosed reindeer with output 0 flashingpoke

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

Light Dependant Resistor (LDR)


 Una Resistencia Dependiente de Luz (LDR) es una resistencia que cambia su valor de
acuerdo a la luz que incide en ella.

A commonly used device, the ORP-12, has a high resistance in the dark, and a low
resistance in the light.

Connecting the LDR to the microcontroller is very straight forward, but some software
‘calibrating’ is required.

It should be remembered that the LDR response is not linear, and so the readings will not
change in exactly the same way as with a potentiometer.

In general there is a larger resistance change at brighter light levels. This can be
compensated for in the software by using a smaller range at darker light levels.
Experiment to find the most appropriate settings for the circuit.

It’s resistance changes with light level. In bright light its resistance is low (typically
around 1k). In darkness its resistance is high (typically around 1M)

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

main: readadc 0,b1 ‘ lee el valor


if b1<50 then light1 ‘ rango 0-50= 50
if b1<100 then light2 ‘ rango 50-100 = 50
if b1<145 then light3 ‘ rango 100-145 = 45
if b1<175 then light4 ‘ rango 145-175 = 30
goto main

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

El PICAXE-08

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

El PICAXE-08
Procesador Real PIC 12F629-I/P
Memoria de Programa 128 bytes
Límite del tamaño del
código fuente 40 líneas promedio
Salidas digitales 4 líneas, una fija, 3 de acceso programable individualmente o todas las
líneas. Capacidad de manejo directo de LEDs/ piezoeléctrico

Entradas Digitales 4 líneas, una fija, 3 de acceso programable individual o todas las líneas
Entradas Analógicas 1 línea que corresponde a una línea de las entradas digitales
Resolución Análoga 4 bits el 30% del voltaje alto de entrada no se usa
Salida Análoga No – ver salida PWM
Salida PWM Cualquiera de las 4 salidas digitales . Sólamnente mientras se ejecuta el
comando PWM
Entrada Serial Cualquiera de las 4 entradas digitales Máximo 2400 bps
Salida Serial Cualquiera de las 4 salidas digitales. Máximo 2400 bps
Oscilador Interno 4MHz RC
Carlos E. Canto Quintal M.C.
EL PICAXE
Microcontroladores

Comandos del PICAXE-08


SALIDA DIGITAL
HIGH pone un pin de salida alto (on) . High 2 pone en on el pin2
LOW pone un pin de salida en bajo (off). Low 2 pone el pin 2 off
TOGGLE conmuta el estado de un pin de salida.
OUTPUT hace a un pin salida. Output 1 hace al pin1 una salida
INPUT hace a un pin entrada. Input 1 hace el pin1 un pin de entrada
REVERSE Invierte el estado de entrada/salida de un pin.
PULSOUT Emite un pulso en un pin por un dado tiempo.
ENTRADA DIGITAL
IF… THEN Brinca a una línea nueva de programa dependiendo de una condición
de entrada. If b1 < b2 then motoroff
PULSIN Mide la duración en on de un pulso.
SALIDA ANÁLOGA
SOUND Emite un sonido. 0 = sin sonido, 255 = hiss. Sound 2, (100, 20) suena en el
pin 2 un tono de 5Khz, por 0.2 s
Valores de las Notas : A(49), As(51), B(54), C(57), Cs(61), D(65), Ds(71), E(78),
F(88), Fs(101), G(119)
PWM proporciona a una salida una señal de Modulación de Ancho de Pulso (PWM).
PWM 1, 50, 10 pulsa el pin 1, con un ciclo de trabajo 50/255, 10 ciclos

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

ENTRADA ANÁLOGA
READADC Lee el canal análogo a una variable. Read 1, b0 lee el pin 1 análogo a b0
FLUJO DE PROGRAMA
FOR.. NEXT Establish a FOR-NEXT loop. For b1=0 to 100 step 10 Counts in tens
BRANCH Jump to address specified by offset
GOTO Jump to address. If b1=5 goto motoroff
GOSUB Jump to subroutine at address.
RETURN Return from subroutine
IF.. THEN Compare and conditionally jump
MANIPULACIÓN DE VARIABLES
{LET} Perform variable mathematics.
LOOKUP Lookup data specified by offset and store in variable.
LOOKDOWN Find target’s match number (0-N) and store in variable
RANDOM Generate a pseudo-random number
SERIAL I/O
SEROUT Output serial data from output pin. Serout 0, n2400, (65) pin 0, 2400 bps, send
ASCII 65
SERIN Serial input data on input pin. Serin 0, n2400, ("A") pin 0, 2400 bps, waits for
ASCII 65

Carlos E. Canto Quintal M.C.


EL PICAXE
Microcontroladores

ACCESO A EEPROM INTERNA


EEPROM Store data in data EEPROM before downloading BASIC program
READ Read data EEPROM location into variable
WRITE Write variable into data EEPROM location. Write 220, b1 store byte b1 into
address 220
BAJA DE POTENCIA
NAP Enter low power mode for short period (up to 2.3 sec)
SLEEP Enter low power mode for period (up to 65535 sec)
END Power down until reset, an indefinate sleep
MISCELÁNEA
PAUSE Wait for up to 65535 milliseconds
WAIT Wait for up to 65 seconds
DEBUG Outputs variable to PC via programming lead. Debug b0 shows b0 value on
screen

Carlos E. Canto Quintal M.C.

You might also like