Programando el microcontrolador hélice (3 / 7 paso)

Paso 3: Giro básico

"Imagina si BASIC y PASCAL enganchan a la barra tiempo y 9 meses más tarde apareció un nuevo lenguaje - bien que es para usted." - Ben Heck

Spin es el idioma de alto nivel más utilizado para el apoyo probablemente porque es (1) fácil, y (2) hay un intérprete de giro en el apoyo.  Hay otros idiomas que hay, pero pensé que sería hablar de la vuelta porque es la que mejor conozco.

SU PRIMER PROGRAMA

¿Listo para tu primer programa?  Aquí está:

El programa anterior, meter en la herramienta de hélice y golpear F10.  Rápidamente se compilar y cargar en la hélice.  El código parpadeará un LED conectado a P0 cada otro segundo (1/2 hertzios) para siempre.  Desglosemos cada línea para entender lo que está haciendo;

BAR principal

La vuelta está organizada en bloques;

PUB y PRI

Estos 2 bloques mantener código real.  Si estás familiarizado con php, BASIC o C, éstos funcionan mucho como funciones.  Tienen nombres (el nombre de este bloque es la 'principal'), y les puede pasar valores (function(passedval)).

Los bloques restantes no son necesarios para un programa válido;

CON

CON tiene constantes de programa.  Si hay un constante que uso durante todo el programa, el bloque CON le permite cambiar de una vez y se reflejará cada vez que utilice.  Este es un ejemplo del programa luz blinky usando un bloque de CON;

VAR
El bloque VAR contiene variables de programa.  En el programa de luces blinky, yo no he utilizado las variables de sistema, pero aquí es una versión de blinky luces utilizando variables

Hay 2 cuadras más, DAT y OBJ, pero te pase los de ahora - OBJ es útil al incorporar código de otra persona y DAT es otro lugar para mantener las variables, también es donde pones el código ensamblador (si usted quiere usar).

De todos modos - de nuevo a nuestro programa original.  Es la línea siguiente:

dira [0]: = 1

Cada perno de la hélice se puede establecer en una entrada o una salida.  Cuando la proposición a, cada pin se configura como una entrada, por lo que necesitaremos establecer una salida P0.

Para configurar P0 como una salida, te cambie el valor de dira [0] a 1.  El: = es un operador de asignación en la vuelta.  ¿Puedes adivinar cómo se establecería P10 a una salida? dira [10]: = 1.  También puede cambiar una serie de pines con un solo comando.  Para cambiar de P0, P1, P2 y P3, sólo tiene que utilizar dira [0..3]: = 1.

repetir

repetir le dice a la hélice para ejecutar un bloque de código varias veces.  Puede especificar una condición de repetición (repetir i de 1 a 100) o a repetir para siempre al no especificar nada más.  Este bloque de repetición se repetirá para siempre.

Código a repetir está delineado por las pestañas.  ¿Tenga en cuenta las suaves líneas gris debajo del bloque repetir?  La herramienta de hélice poner esas líneas grises allí para mostrarle qué código se encuentra en el bucle de repetición.

Outa [0]: = 1

Outa dice la hélice para conectar la clavija a tierra o a V +.  Outa funciona igual que dira, puede configurar la salida de un pin único (outa [10]: = 1) o un grupo de pines (outa [0..3]: = 1).  Tenga en cuenta que outa sólo tiene sentido si el pin ha cambiado a una salida con dira.

Además, la hélice utiliza lógica Tri-estado.  Cada pin se puede conectar a tierra, V +, o establecerse en un estado de alta impedancia.

Un estado de alta impedancia permite el sentido del pin si es conectar a tierra o V + sin cambiar la señal.  Permite múltiples pasadores comparten el mismo canal de datos y hacer cosas como charlieplexing.

Conectar la clavija a tierra con:
dira [pin]: = 1
Outa [pin]: = 0

Conectar la clavija de V + con:
dira [pin]: = 1
Outa [pin]: = 1

sentido si el pin está conectado a una señal baja o alta (estado de alta impedancia):
dira [pin]: = 0 (por defecto en el arranque)
pinstatus: = ina [pin]

INA trabaja al igual que outa y dira, excepto que es de sólo lectura.  Si el pin se configura como una entrada, ina tendrá el valor de entrada actual.

Artículos Relacionados

Construir y una bobina de Tesla Musical de MONSTER con un microcontrolador del código

Construir y una bobina de Tesla Musical de MONSTER con un microcontrolador del código

visita mi página de youtube para más proyectos: http://www.youtube.com/channel/UCksEFn8xaLP0z4rsiHa9zcA?feature=mheeComo suben los meses de invierno, muchos se obligado a permanecer en el interior... Para muchos, esto significa jugar scrabble con la
3D impreso microcontrolador Dice Roller

3D impreso microcontrolador Dice Roller

Este es un proyecto de just for fun en el Digilent MakerSpace. Generalmente siempre que jugar juegos de mesa utilizo una aplicación de smartphone rolling dados dados son tan fáciles de perder. Pensé que trataría de hacer mi propia versión de hardware
Aumentar un microcontrolador

Aumentar un microcontrolador

microcontroladores (MCU) son ICs poco fantásticos que le dan un elemento extra de versatilidad a su electrónica, robótica o a otro proyecto. Pero no realmente mucho uso por cuenta propia. Para funcionar, todas las MCU necesitan algún tipo de componen
Self balancing one wheeled electric skateboard

Self balancing one wheeled electric skateboard

NOTE:Mayo de 2011: Este instructable es ahora bastante antiguo (relativamente) y ahora pude reconstruir este proyecto más simplemente con un Arduino como el controlador.Actualmente estoy trabajando en un monociclo con el mismo controlador de motor OS
Sr. Compost: Cómo hacer un turbocompresor de compost en la cocina!

Sr. Compost: Cómo hacer un turbocompresor de compost en la cocina!

Sr. el Compost es un aparato que calienta y agita los restos de comida en su cocina. Esto acelera la descomposición antes de poner el compost fuera (en una pila de depósito o abono de gusano) para terminar rompiendo.Mi objetivo era construir algo que
Inalámbrica de disparador mecánico

Inalámbrica de disparador mecánico

Edición (29/03/2014): Ccuando esto instructible anteriormente este mes no describen lo que iba a utilizar esta plataforma para o donde mis necesidades se derivan, pero ahora que he conseguido alguna película detrás pensé que compartir.Necesitaba una
Navaja de AVR

Navaja de AVR

la navaja AVR paquetes un número de AVR programación proyectos juntos en un solo conveniente Altoids goma. Debido a la flexibilidad de programación del microcontrolador, también proporciona un punto de partida para cualquier número de proyectos basad
Mensajero de la danza

Mensajero de la danza

persistencia del juguete de la visión de la diversión. Coloque a su zapato y escribir mensajes o patrones mientras caminar, correr o bailar.Este artículo es presentado a usted por MonkeyLectric y la luz de la moto de luz de monoPaso 1: El tablero del
Inalámbrico de transmisión de electricidad mediante AVRs para AVRs

Inalámbrico de transmisión de electricidad mediante AVRs para AVRs

Un potente... Compacto... Rentable... Y fácil para módulo de transmisión de energía inalámbrica...Voto por mi por favor si te gusta...Así que hay una gran cantidad de módulos en la web... Pero mi inspiración es «Poder de Wireless» por robotkid249El v
Web-Enabled termostato casero (y centro de automatización del hogar)

Web-Enabled termostato casero (y centro de automatización del hogar)

Este Instructable explica cómo construí termostatos WiFi habilitado para mi casa. Los termostatos programables con 6 diferentes períodos de tiempo durante el día, a pesar de aumento a un número arbitrario sería bastante triviales. Que pueden ser prog
Sombrero de graduación de LED

Sombrero de graduación de LED

Para todos aquellos graduados o casi graduados que tampoco han tenido o tendrán graduación pronto, felicitaciones!Mi compañera acaba de graduar de Washington estado Universidad Universidad de ropa Merchandising diseño y Textiles, con un grado de come
Control remoto de múltiples funciones DSLR

Control remoto de múltiples funciones DSLR

Muchas cámaras DSLR pueden ser controladas remotamente usando un transmisor de infrarrojos.Generalmente son del tamaño de un llavero, cuestan entre US$ 8 (para una copia China barata) a US$ 25 (original) y permitir una prensa solo botón que activa el
Sugru Widgets (Gerente de Cable magnético)

Sugru Widgets (Gerente de Cable magnético)

seamos sinceros,Todos tenemos esta un tremendo lío de cables y cuerdas en nuestro espacio de trabajo y el hogar incluso.Siempre fue el problema de encontrar este un USB cable que se adapta a su requisito ya sea programando tu microcontrolador favorit
Eyeris: Bionic gafas

Eyeris: Bionic gafas

Eyeris es un modelo electromecánico actuado de un iris humano con sensibilidad programable a estímulos como el desplazamiento de un objeto y la luz ambiental.  Generado a partir de mis descubrimientos una tarde de verano mientras que cavar a través d