Archive for the ‘Microcontroladores’ Category

Periféricos digitales de salida

Friday, May 16th, 2008

Diodos LED.

El diodo led es un elemento que se emplea como indicador luminoso. Cuando la diferencia de potencial entre su ánodo y su cátodo supere un determinado valor umbral el diodo led se encenderá. Las líneas de los PIC pueden suministrar suficiente corriente como para encender a un diodo led, por eso se pueden conectar directamente a través de una resistencia como muestra la Figura. Si empleamos la conexión de la izquierda de la figura, el diodo led se encenderá al poner a ‘1’ la salida del microcontrolador, mientras que con la conexión de la derecha lo hará cuando la salida se ponga a ‘0’.

Ledconpic

En ocasiones, los diodos u otro tipo de carga necesitan más corriente que la que pueden entregar las líneas de los PIC. En ese caso es necesario intercalar una etapa amplificadora.

Conexionado típico fijo para cualquier aplicación.

Friday, May 16th, 2008

En los circuitos donde se utiliza el PIC16F84 es habitual emplear tensión de alimentación de +5V y como circuito de reloj externo uno del tipo XT a una frecuencia de 4MHz. Con esta configuración, el conexionado fijo para cualquier aplicación es el mostrado en la Figura

Las patillas que no están conectadas son las dedicadas a transferir la información con los periféricos que utilice la aplicación.

En los circuitos donde se utiliza el PIC16F84 es habitual emplear tensión de alimentación de +5V y como circuito de reloj externo uno del tipo XT a una frecuencia de 4MHz. Con esta configuración, el conexionado fijo para cualquier aplicación es el mostrado en la Figura

Las patillas que no están conectadas son las dedicadas a transferir la información con los periféricos que utilice la aplicación.

Pic16f84

Memoria de programa.

Friday, May 16th, 2008

El microcontrolador está diseñado para que en su memoria de programa se almacenen todas las instrucciones del programa de control. Como el programa a ejecutar siempre es el mismo, debe estar grabado de forma permanente. Son posibles cinco tipos de memoria:

  • ROM de máscara. Esta memoria se graba en el chip durante el proceso de fabricación. Los altos costes de diseño sólo aconsejan usarla cuando se precisan series grandes.
  • EPROM. En la superficie de la cápsula del microcontrolador existe una ventana de cristal por la que se puede someter al chip a rayos ultravioletas para producir el borrado de la memoria y emplearla nuevamente. Su coste unitario es elevado
  • OTP (One Time Programmable). Este modelo de memoria sólo se puede grabar una vez por parte del usuario. Su bajo precio y la sencillez de la grabación aconsejan este tipo de memoria para prototipos finales y series de producción cortas.
  • EEPROM. La grabación es similar a la EPROM y OTP, pero el borrado es mucho más sencillo al poderse ejecutar eléctricamente las veces que se quiera
  • FLASH. Se trata de una memoria no volátil de bajo consumo que se puede escribir y borrar en circuito al igual que la EEPROM, pero suele disponer de mayor capacidad que estas últimas. El borrado sólo es posible de bloques completos y no se puede realizar de posiciones concretas. Por sus mejores prestaciones está sustituyendo a la memoria EPROM para contener instrucciones.

El Puerto A (PORTA) del pic 16f877.

Wednesday, January 30th, 2008

El puerto A posee 6 líneas bidireccionales. Los 3 registros asociados a este puerto son: Registro PORTA (05H).- Registro de estado del Puerto A. Cada uno de los 6 bits menos significativos (RA5,…, RA0) de este registro están asociados a la línea física correspondiente del puerto. Al hacer una lectura este registro se lee el estado de todos los pines del puerto. Todas las escrituras al registro son operaciones del tipo “lee-modifica-escribe”, es decir, toda escritura al puerto implica que el estado de los pines es leído, luego es modificado y posteriormente se escribe al latch de datos del puerto.

Porta

Registro TRISA (85H).- Cada bit de este registro configura la dirección en que fluye la información del pin correspondiente del puerto A, así, para k=0,1,…,5:}

Bit k de TRISA = 1 configura el pin RAk del puerto A como Entrada.

Bit k de TRISA = 0 configura el pin RAk del puerto A como Salida.

Trissa

Todos los pines del puerto A poseen diodos de protección conectados a Vdd (contra altos voltajes de entrada) y a Vss (contra voltajes negativos) además, manejan niveles de entrada tipo TTL y como salidas se comportan como drivers tipo CMOS. Excepto el pin RA4, el cual como entrada posee un Disparador Schmitt y como salida es de Drenaje abierto, además RA4 sólo posee un diodo de protección conectado a Vss.

El Registro ADCON1 (9FH).- Los pines RA0, RA1, RA2, RA3 y RA5 están multiplexados con las entradas analógicas AN0,…, AN4, de manera que antes de utilizarlas debemos configurar si serán usadas como entradas analógicas o como entradas / salidas digitales. Para seleccionar la segunda opción (entradas / salidas digitales) se debe colocar en la mitad menos significativa de este registro un 01102 (es decir, un 06h).

Para configurar el puerto a como entrada digital podemos utilizar el siguiente código en asm:

; Inicialización del puerto A:

CLRF STATUS; Selecciona Banco 0

CLRF PORTA; Inicializa latches de datos de PORTA

BSF STATUS, RP0; Selecciona Banco 1

MOVLW 0×06; Configura todos los pines de A

MOVWF ADCON1; como digitales

MOVLW 0×00; configura todos los pines de A

MOVWF TRISA; como salidas digitales

codigo para el encendido de un led

¿Qué es el Propeller?

Friday, October 12th, 2007

El Propeller es un microcontrolador producido por Parallax Inc. Como muchos chips de este tipo, posee una sección de proceso, generación de reloj, contador de sistema, puertos de entrada/salida, memoria RAM y ROM… pero aquí termina toda similitud con los microcontroladores conocidos. El Propeller posee una novísima arquitectura, que contiene ocho procesadores que trabajan cooperativamente y comparten los pines de salida y otros recursos. Cada uno de estos 8 procesadores —a los que Parallax ha bautizado “cog”— es de 32 bits, con una velocidad de proceso de 20 MIPS (millones de instrucciones por segundo) usando un pulso de reloj de 80 MHz. Es decir, en un momento en que están trabajando todos los cogs, tenemos una capacidad de proceso de 160 MIPS. Cada procesador tiene su propia RAM local de 2 Kb (512 registros de 32 bits). También existe una memoria común, compartida, que se divide en dos secciones: una RAM de 32 Kb y una ROM de 32 Kb.
La ROM contiene rutinas preprogramadas, como la de arranque o “bootstrap”, un interpretador y recursos tales como generadores de caracteres, tablas matemáticas, etc. Pero no es regrabable y no está pensada para contener el programa de usuario.