1.1. ¿Qué es un microcontrolador PIC? 1.2. Puertos de entrada/salida 1.3. Arquitectura Interna 1.4. Organización de la memoria
1.1 ¿Qué es un microcontrolador PIC?
Un microcontrolador es un circuito integrado programable que contiene
todos los componentes necesarios para "controlar" el funcionamiento de una tarea determinada, como el control de una lavadora, un teclado de computadora, una impresora, un sistema de alarma etc. Para esto el microcontrolador utiliza muy pocos componentes asociados. Un sistema con microcontrolador debe disponer de una memoria donde se almacena el programa que gobierna el funcionamiento del mismo que, una vez programado y configurado, solo sirve para realizar la tarea asignada. La utilización del microcontrolador en un circuito reduce notablemente el tamaño y número de componentes y, en consecuencia, diminuye el número de averías y el volumen y peso de los equipos entre otras ventajas.
El microcontrolador es uno de los inventos más notables del siglo XX. En el
mercado hay gran cantidad de ellos, con multitud de posibilidades y características. Cada tipo de microcontrolador sirve para una serie de casos y es el diseñador del sistema quien debe decidir cual es el microcontrolador más idóneo para cada uso. En los últimos años han tenido un gran auge los microcontroladores PIC fabricados por Microchip. Los PIC(Peripherical interface Controller) son una familia de microcontroladores que ha tenido gran aceptación y desarrollo en los últimos años gracias a sus buenas características, bajo precio, reducido consumo, pequeño tamaño, gran calidad, fiabilidad y "abundancia de información", lo convierten en muy fácil cómodo y rápido de utilizar En el presente curso se centra en el uso de un PIC muy popular el 16F877A. 1.2 Puertos de Entrada Salida
El microcontrolador se comunica con el mundo exterior a través de los
puertos. Estos están constituidos por líneas analógicas o digitales de E/S que trabajan entre 0 y 5V Los puertos se pueden configurar como entradas para recibir datos o como salidas para gobernar dispositivos externos. Cada línea (PIN) puede ser configurado para ser entrada o salida, independientemente una de otras, según se programe. Así, por ejemplo el Puerto A puede estar configurado como entrada, los pines B0, B1, B2 como salida y de B3 a B7 como salida. La corriente que es capaz de entregar el puerto es relativamente alrededor de 20 mA Conexión de la Alimentación y Reset 1.3 Arquitectura Interna Ciclo de instrucción
El registro Program Counter (PC) es gobernado por el ciclo de
instrucción como se muestra en la siguiente figura. Cada ciclo de instrucción la CPU lee (ciclo Fetch) la instrucción guardada en la memoria de programa apuntada por PC y al mismo tiempo ejecuta la instrucción anterior, esto debido a una cola de instrucciones que le permite ejecutar una instrucción mientras lee la próxima:
Como puede verse, cada ciclo de instrucción (T cy = 4Tosc) se compone a
su vez de cuatro ciclos del oscilador (T osc= 1/Fosc)). Cada ciclo Q provee la sincronización para los siguientes eventos: Q1: Decodificación de la instrucción Q2: Lectura del dato (si lo hay) Q3: Procesa el dato Q4: Escribe el dato Debido a esto cada ciclo de instrucción consume 4 ciclos de reloj, de manera que si la frecuencia de oscilación es Fosc, Tcy será 4/Fosc. 1.4 Organización de la memoria
Se distinguen 3 bloques de memoria:
Memoria de programa 14 x 8K posiciones de memoria flash es de tipo
no volátil eso quiere decir que el programa grabado no desaparece aunque desaparezca la alimentación. Memoria de datos RAM 368 bytes para la memoria RAM, se destina a guardar las variables y datos. Es volátil, es decir, los datos almacenados se borran cuando desaparece la alimentación Memoria EEPROM de datos 256 bytes para la EEPROM de datos, Es un área pequeña de memoria de memoria de datos de lectura y escritura no volátil, gracias a la cual un corte e el suministro de la alimentación no ocasiona la pérdida de información, que estará disponible al reinicializarse el programa se analizara a fondo en capítulos posteriores.