Atmel Inicio 4: Dos Blinky, interruptores, resistencias pull-up y poco Ops (2 / 11 paso)

Paso 2: Control de la resistencia de pull-up

Así que, ¿cómo la resistencia de pull-up [12,13] mediante programación controlable?

Recuerdo del start-up #3, DDR, puerto, y declaraciones de PIN en Atmel Studio C/C++ controlan de la función y el estado de los puertos MCU. Por ejemplo, la instrucción parcial ' DDRB =' establecerá el registro de dirección de datos de 8 bits para el puerto B con 0s y 1s que el MCU interpreta entonces configurar los pines de puerto físico B correspondiente a la entrada y salida, respectivamente. La declaración parcial '= PINB' (por ejemplo en x = PINB), por ejemplo, lee el registro de entrada de los pines del puerto físico B. El ' PORTB =' declaración parcial a escribir registro de 8 bits a la salida del puerto B que interpreta el MCU para establecer los correspondientes pines puerto físico B - con una salvedad con respecto a las resistencias de pull-up. Y esto comienza nuestra discusión del paso actual. El paso actual utiliza el puerto B como ejemplo pero otros puertos disponibles en un MCU AVR de Atmel (tales como A, B,...) se comportan semejantemente. Recordar que la ATTiny2313A utiliza pernos de 12 a 19 para portB denota por B0 a B7, respectivamente [1] como se muestra en la tabla 1.

Consideramos un ejemplo que muestra el uso de mezcla de entrada y salida de portB que también activa una resistencia de pull-up. Por ejemplo, supongamos que sólo tenemos salidas físicos pines 13 y 14 (es decir, B1 y B2, ver tabla 1), pero requieren de insumos en el resto de los pines de Puerto B. Más Supongamos que pin 18 (es decir, B6) debe tener una resistencia de pull-up como para un interruptor similar al mostrado en el paso anterior.

En primer lugar, se centran en la resistencia de pull-up. Puede ser contratado por escrito un '1' a la entrada del perno. Deje fregadero un rato. Escribir un '0' a una clavija de entrada deshabilita el resistor de pull-up interno y establece la entrada a un estado de alta impedancia [1].

Tabla 1: Un ejemplo de pines 12-19, con entradas y salidas y PU de pull-up activadas y HZ de alta impedancia.

Pernos de físicos

19

18

17

16

15

14

13

12

Nombre

B7

B6

B5

B4

B3

B2

B1

B0

DDRB

0

0

0

0

0

1

1

0

Física PortB

En

En

En

En

En

Hacia fuera

Hacia fuera

En

PORTB = 0b0100100

0

1

0

0

0

1

0

0

Resultado físico del Pin

HZ

PU

HZ

HZ

HZ

VCC

0V

HZ

Así que para este ejemplo, para obtener las entradas y salidas se muestra en la cuarta fila de la tabla 1, tenemos que establecer primero DDRB = 0b00000110 modo que físico pines 13 y 14 salidas y el resto son entradas. Para activar la resistencia de pull-up (PU) para el perno 18, escribimos '1' a B6, que es una entrada, como en la sexta fila. A continuación, configuramos PORTB = 0b0100100 como se muestra en la sexta fila de la tabla. La última fila muestra los Estados físicos resultantes de las clavijas de físicas 12-19. Para físicas pines 13 y 14, los valores lógicos en el registro DDRB han sido traducidos a los voltajes en los pines como se esperaba. Pernos de 12, 15-17 y 19 son las entradas y se han establecido en un estado de alta impedancia, tal como se indica por los HZ, porque DDRB puso como entradas y los bits correspondientes en la escritura PORTB ha deshabilitado las resistencias de pull-up. A menudo (pero no siempre) el programa establece DDRB y las resistencias de pull-up al inicio de la ejecución y no los reinicia. Para utilizar el puerto de entrada/salida mixto, se necesita un método para distinguir entre las clavijas de entrada y salidas así como proporcionar la capacidad independientemente leer y escribir sin afectar las resistencias de pull-up y Puerto configuración mediante programación. Aquí es donde el enmascaramiento se convierte en importante.

Artículos Relacionados

Atmel Inicio 3: Binky uno – puerto, PIN, DDR y LED

Atmel Inicio 3: Binky uno – puerto, PIN, DDR y LED

M. A. Parker c2015Blinky, el LED que parpadea, se muestra cómo utilizar el lenguaje C y C++ en el estudio de Atmel (AS) para controlar el Atmel MCU puertos de entrada y salida (es decir, IO) y revela la vida 'secreta' de los registros del puerto de A
Atmel Inicio 5: Lifeline

Atmel Inicio 5: Lifeline

M. A. Parker c2015La vida es un circuito simple basado en el microcontrolador de Atmel ATTiny2313A unidad (MCU) que funciona como una fuente de reloj sustituto para un objetivo MCU inoperante de fusibles reloj incorrecto. El proyecto, destinado a ser
Atmel Inicio 2: Fusibles y circuitos de microcontroladores

Atmel Inicio 2: Fusibles y circuitos de microcontroladores

M. A. Parker c2015Fusibles y circuitos crea un circuito simple pero importante en protoboard de un experimentador que se utilizará como plataforma básica para muchos proyectos de microcontrolador y los parámetros del microcontrolador (es decir, fusib
Powered USB interruptor de badajo - HW muy poco necesaria!

Powered USB interruptor de badajo - HW muy poco necesaria!

Hi all!¡ Gracias por echar un vistazo en mi instructable!  Si por casualidad usted ha visto mi original clap-clap / Plas Plas circuito instructable.  Este circuito de la chapaleta es muy diferente de mi original, que no requiere absolutamente ninguna
Atmel arranque 1: Estudio de Atmel y programador

Atmel arranque 1: Estudio de Atmel y programador

M. A. Parker c2015Estudio instalación de Atmel (AS) y un programador representan los primeros pasos [0] en el camino al uso de una unidad individual de Atmel AVR microcontrolador MCU [1] en contraposición a la MCU-en-una-junta como Arduino [2]. Aquí
Construcción de su propio miniordenador de compañero Micromite

Construcción de su propio miniordenador de compañero Micromite

La Minicomputadora de compañero Micromite es la próxima generación de la serie de Mini computadora de bolsillo.Es la combinación de dos sistemas de código abierto, el software Micromite, una creación de PIC32 por Geoff Graham y el propulsor de la par
Arduino Nano: Con resistencia de pull-up de Visuino

Arduino Nano: Con resistencia de pull-up de Visuino

Una de las características más infrautilizadas de Arduino son las Resistencias pull-up de los pines digitales. Todos sabemos que están ahí, y todavía nos seguimos olvidando de que podemos usarlos y seguir agregando resistores externos cuando no son n
Lectura de interruptores con ATtiny2313

Lectura de interruptores con ATtiny2313

ha habido varios tratar de Instructables con salidas del ATtiny2313 y similares dispositivos del AVR. Por ejemplo,. Trabajando en el último de ellos desde el verdadero Elliot, que demostró cómo controlar motores paso a paso, encontré que sería muy út
Arduino programable constante actual potencia resistencia carga ficticia

Arduino programable constante actual potencia resistencia carga ficticia

Da gusto ver que han llegado a esta pagina para aprender a construir una carga ficticia de corriente continua constante programable. Esta carga le permitirá dibujar un conjunto actual de cualquier fuente. Esta carga también se puede definir a una res
Interruptor controlado de SORBO y soplo de Arduino

Interruptor controlado de SORBO y soplo de Arduino

Arduino la serie de microcontroladores se abre un mundo enorme de posibilidades para los programadores novatos y aficionados! Con sistemas de libre desarrollo y tutoriales y una amplia gama de funciones de la biblioteca y muestra bocetos, casi cualqu
Pantallas de inicio

Pantallas de inicio

Nota: por fin tengo mi cámara averiguado por lo que solo debe haber 1 o 2 imágenes borrosas. En con el Instructable!Pantallas LCD es una de las mejores cosas para añadir a cualquier proyecto ahora. Usted puede utilizarlos para mostrar cosas de la vel
Solar Powered corazón Blinky LED colgante joyas

Solar Powered corazón Blinky LED colgante joyas

Este instructable es solar powered corazón con un pulso rojo LED. Mide aproximadamente 2" de 1.25", incluyendo la ficha USB. Tiene un agujero por la parte superior de la Junta, facilitando la suspensión. Lo usa como un collar, pendientes, bono e
R/C control interruptor de abejones

R/C control interruptor de abejones

Aunque hay muchos buenos circuitos disponibles en internet para proyectos similares, tuve un problema dedicado a resolver. La mayoría de los circuitos disponibles enciende sus salidas en posición de palo media (50%). Mi abejones todos utilizan seis c
Hacer una resistencia Variable con 1 millón

Hacer una resistencia Variable con 1 millón

la semana pasada en mi colegio de física laboratorio tenemos que utilizar estas 'cajas' de resistencia variable. Tenían dos entradas y seis diales y podrían generar 1 millón resistencias diferentes en las dos entradas. Yo sabía que tenía que tener un