RECURSOS FUNDAMENTALES

RECURSOS FUNDAMENTALES Los recursos que se considerarán son :     Temporizadores Puertos de E/S La Palabra de Configuración EEPROM de datos Curs

8 downloads 103 Views 886KB Size

Recommend Stories

Story Transcript

RECURSOS FUNDAMENTALES Los recursos que se considerarán son :    

Temporizadores Puertos de E/S La Palabra de Configuración EEPROM de datos

Curso de Microcontroladores Profr. Felipe Santiago E.

1

TEMPORIZADORES  Una labor habitual en los programas de control suele ser la determinación de intervalos de tiempo concretos.  Esto se hace a través de un elemento denominado Temporizador (Timer).  Un temporizador básicamente es un registro de n-bits que se incrementa de manera automática en cada ciclo de instrucción o cuando ocurre un evento externo.  Si la fuente de temporización es externa, se le conoce como contador de eventos.  El registro puede ser precargado para iniciar su conteo a partir de un valor determinado.  Cuando ocurre un desbordamiento en el registro (una transición de 1’s a 0’s) se genera alguna señalización. Curso de Microcontroladores Profr. Felipe Santiago E.

2

1

TEMPORIZADORES El PIC16F84 cuenta con un timer/couter de 8 bits, por lo tanto se desborda cuando ocurre una transición de 0xFF a 0x00h: CARGA

CONTADOR ASCENDENTE

TOIF

(Temporizador)

(Señalizador)

Puede funcionar como: Contador de eventos: Los eventos se reciben en la terminal RA4/TOCK1. Temporizador: El registro del timer se incrementa en cada ciclo de instrucción (cuatro ciclos de reloj). Incluye un pre-escalador para alcanzar conteos mas grandes. Curso de Microcontroladores Profr. Felipe Santiago E.

3

FUENTES DE TEMPORIZACION La fuente de temporización puede ser externa o interna. Si es externa, puede activarse por flanco de subida o de bajada.

Los bits para la configuración del Timer están en el registro OPTION. Sin embargo, la bandera de señalización de desbordamiento se encuentra en la posición 2 del registro INTCON (T0IF). Curso de Microcontroladores Profr. Felipe Santiago E.

4

2

TEMPORIZACION SIN PRE-ESCALADOR

TEMPORIZACION CON PRE-ESCALADOR DE 2:1

Curso de Microcontroladores Profr. Felipe Santiago E.

5

WATCH DOG TIMER  Es una especie de temporizador que cuando se desborda produce un RESET del dispositivo.  Su habilitación se realiza desde una “palabra de configuración” que debe ser definida en el momento en que se graba al dispositivo. No se habilita por software.  Se produce cada 18 ms, pero con el divisor de frecuencia pueden alcanzarse hasta 2.3 segundos.  En posiciones estratégicas del programa, deberán situarse instrucciones CLRWDT, que reinicien su cuenta y eviten el desbordamiento.  La palabra de configuración permite definir otros parámetros que se revisarán mas adelante.

Curso de Microcontroladores Profr. Felipe Santiago E.

6

3

TEMPORIZADOR Y WDT CON EL DIVISOR DE FRECUENCIAS

Curso de Microcontroladores Profr. Felipe Santiago E.

7

REGISTRO OPTION

8

4

EJERCICIOS

 Escribir una secuencia de instrucciones para generar una señal de 10 KHz en la terminal 1 del puerto B (Suponer que se está trabajando con un cristal de 4 MHz).  Repetir el ejercicio anterior, pero ahora la frecuencia de la señal deberá ser de 500 Hz.

 En un super mercado se ha determinado premiar a cada cliente múltiplo de 500, mostrar como un circuito basado en un PIC puede detectar a dicho cliente y generar un tono de 440 Hz (aproximadamente), por cinco segundos, cuando eso ocurra.

9

Curso de Microcontroladores Profr. Felipe Santiago E.

PUERTOS DE ENTRADA/SALIDA  El PIC16F8X tiene dos puertos, PORTA y PORTB. Algunas terminales son multiplexadas para soportar una función alterna. Registros PORTA y TRISA  PORTA es un latch de 5 bits. RA4 tiene entrada Schmitt Trigger (proporciona inmunidad al ruido) y una salida en drenaje abierto. El resto de las terminales tiene niveles TTL a la entrada y CMOS en sus salidas.  Todas las terminales se pueden configurar como entradas o salidas (Resgistro TRIS). Ajustando un bit TRISA (=1) hará a la correspondiente terminal como entrada y pondrá al manejador de salida en alta impedancia. Limpiando un bit TRISA (=0) pondrá a la terminal correspondiente de PORTA como salida, es decir, pondrá el contenido del latch de salida en la terminal seleccionada. Curso de Microcontroladores Profr. Felipe Santiago E.

10

5

Registros PORTA y TRISA

 Al leer el registro PORTA se lee directamente de las terminales, mientras que al escribir se hace en el latch del puerto.  Todas las operaciones de escritura son del tipo leer-modificarescribir.  La Terminal RA4 es multiplexada con la entrada de reloj TMR0.

11

Curso de Microcontroladores Profr. Felipe Santiago E.

Terminales RA3:RA0

Curso de Microcontroladores Profr. Felipe Santiago E.

Terminal RA4

12

6

Registros PORTB y TRISB  El Puerto B es bi-direccional de 8 bits. El registro TRISB determina la dirección del flujo de datos.  Cada bit en el puerto B tiene una resistencia de fijación hacia arriba débil, con el bit RBPU (OPTION_REG) se pude habilitar o deshabilitar dicha resistencia.  Esta resistencia es automáticamente apagada después de un Reset y cuando la terminal es configurada como salida.  Cuatro terminales del puerto, RB7:RB4, pueden usarse como interrupciones, para ello deben configurarse como entradas.  Para que los cambios en alguna entrada sean reconocidos, deben producir un pulso al menos de un ciclo de instrucción. Curso de Microcontroladores Profr. Felipe Santiago E.

Terminales RB7:RB4

13

Terminales RB3:RB0

Curso de Microcontroladores Profr. Felipe Santiago E.

14

7

La Palabra de Configuración  Es una posición reservada de memoria de programa situada en la dirección 2007h y es accesible únicamente durante el proceso de grabación del microcontrolador.  Es necesario que se escriba, de acuerdo con las características del sistema.  Se forma de 14 bits que son:

Curso de Microcontroladores Profr. Felipe Santiago E.

15

 CP : Bits de protección de la memoria de código 1 : No protegida 0 : Protegida. El programa no sepuede leer, evitando copias. Tampoco se puede sobre escribir. Además evita que pueda leerse la memoria EEPROM de datos y, si se modifica el bit CP de 0 a 1, se borra completamente la memoria de código.

 PWRTE : Activación del temporizador de encendido. Retraza 72 ms la puesta en marcha o reset que se produce al conectar la alimentación al PIC, para garantizar la estabilidad de la fuente de alimentación. 1 : Activado 0 : Desactivado

 WDTE : Activación del Perro Guardián 1 : Activa al WDT 0 : Desactivado

Curso de Microcontroladores Profr. Felipe Santiago E.

16

8

 FOSC1-FOSC0 : Selección del temporizador utilizado 1-1 : Oscilador RC 1-0 : Oscilador HS 0-1 : Oscilador XT 0-0 : Oscilador LP

El ambiente de trabajo del MPLAB permite definir directamente la palabra de configuración, al utilizar las herramientas de descarga desarrolladas por Microchip. Si se utilizan programadores no comerciales junto con programas de descarga como NOPPP, debe incluirse la definición de la palabra de configuración como parte del código, para ello se incluye: __config _CP_ON & _XT_OSC & _WDT_ON & _PWRTE_ON En lugar de ON puede usarse OFF, según convenga. Y en lugar de XT puede usarse RC, HS, LP. Curso de Microcontroladores Profr. Felipe Santiago E.

17

MEMORIA DE DATOS EEPROM  Son 64 localidades de EEPROM que pueden ser escritas o leidas en cualquier rango de voltaje válido.  No están mapeadas directamente dentro de la RAM de datos, por lo que su acceso requiere de la utilización de 4 registros de funciones especiales:  EEDATA  EEADR  EECON1  EECON2

(BANCO 0) (BANCO 1)

 En EEADR se coloca la dirección de la localidad a ser leída o escrita y en EEDATA se obtiene o coloca el dato.  El tiempo de escritura esta en función del voltaje de alimentación y la temperatura. Y aún varia entre dispositivos.  El registro de Control para el acceso de la EEPROM es EECON1, mientras que EECON2 sirve para manejar una secuencia de protección que evita escrituras no deseadas. Curso de Microcontroladores Profr. Felipe Santiago E.

18

9

REGISTRO EECON1

Curso de Microcontroladores Profr. Felipe Santiago E.

19

EJEMPLO DE LECTURA

; Se supone que inicialmente se encuentra en el Banco 0 MOVLW MOVWF

DIRECCION EEADR

; Dirección a leer

BSF BSF BCF

STATUS, RP0 EECON1, RD STATUS, RP0

; Cambia al Banco 1 ; Habilita la lectura ; Regresa al Banco 0

MOVF

EEDATA, W

; En W está el dato leído

Curso de Microcontroladores Profr. Felipe Santiago E.

20

10

EJEMPLO DE ESCRITURA ; Se supone que inicialmente se encuentra en el Banco 0 MOVLW MOVWF MOVLW MOVWF

DIRECCION EEADR DATO EEDATA

; Dirección a escribir

BSF BSF

STATUS, RP0 EECON1, WREN

; Cambia al Banco 1 ; Permite la escritura

MOVLW MOVWF MOVLW MOVWF

0x55 EECON2 0xAAh EECON2

BSF

EECON1, WD

; Inicia la escritura

EECON1, EEIF ESPERA

; Espera el final de la escritura

EECON1, EEIF STATUS, RP0

; Limpia bandera de fin de escritura ; Regresa al Banco 0

ESPERA: BTFSS GOTO BCF BCF

; Dato a escribir

; Escribe 55h en EECON2 ; Escribe AAh en EECON2

Curso de Microcontroladores Profr. Felipe Santiago E.

Secuencia requerida por seguridad

21

11

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.