domingo, 22 de noviembre de 2015

XiuaElectronics: Curso de XC8 y MPLABX

Curso de MPLABX y XC8 #05: Modulo Timer0 Pic18f2550 Parte#01.

Buenas compañeros.
Antes de iniciar el Quinto capitulo del curso de programación en C para pic's con MPLABX y XC8, les recomiendo ver los capítulos anteriores siguiendo el siguiente LINK.

Ya vistos los anteriores capítulos y una vez teniendo todos los software necesarios procederemos a explicar de que tratara esta clase.

Modulo Timer0 PIC18F2550: Registro T0CON

El registro T0CON controla todo aspectos de la operación del módulo, incluyendo la selección de preescala. A la vez permite la lectura y escritura. El módulo Timer0 incorpora las siguientes características: 
• Software de operación seleccionable como un temporizador o contador en ambos modos de 8 bits o de 16 bits 
• registros de lectura y escritura 
• Dedicado 8 bits, software programable prescaler 
• fuente de reloj seleccionable (interno o externo) 
• Edge seleccionar para reloj externo 
• Interrumpir el desbordamiento por medio de una flag o bandera.

Configuración de los bits en el registro T0CON:


bit 7    TMR0ON: Timer0 El bit / Off Control
            1 = Habilita Timer0
            0 = Detiene Timer0
bit 6    T08BIT: Timer0 8-Bit / 16-Bit Bit de control
            1 = Timer0 se configura como una de 8 bits de temporizador / contador
            0 = Timer0 se configura como un 16-bit de temporizador / contador
   
bit 5 T0CS: Timer0 Reloj de selección de fuente poco
            1 = transición en el pin T0CKI
            0 = reloj ciclo de instrucción interna (CLKO)
   
bit 4 T0SE: Timer0 Fuente Edge Selección bits
            1 = Incremento en la transición de alto a bajo en el pin T0CKI
            0 = Incremento de bajo a alto transición en el pin T0CKI
   
bit 3 PSA: Timer0 de divisor bits Asignación
            1 = TIMER0 prescaler NO se le asigna. Entrada de reloj Timer0 no pasa por prescaler.
            Se asigna 0 = Timer0 prescaler. Entrada de reloj Timer0 proviene de salida de prescaler.
   
bits 2-0 T0PS2: T0PS0: Timer0 de divisor bits de selección
            111 = 1/256 Valor preescaler
            110 = 1/128 Valor preescaler
            101 = 1/64 Valor preescaler
            100 = 1/32 Valor preescaler
            011 = 1/16 Valor preescaler
            010 = 1/8 Valor preescaler
            001 = 1/4 Valor preescaler
            000 = 1/2 Valor preescaler

Bien! ya que sabemos para que sirve cada bit del registro T0CON, vamos a ver como nuestro compilador XC8 nos permite configurar este registro y sus formas básicas:


T0CON ==> Con esta instrucción podemos configurar todos los bits del registro T0CON en forma binaria.

T0CON = 0b11011011;

Pero también se puede hacer bit por bit de la siguiente forma:

T0CONbits. y seleccionamos el bit a configurar, esto sería:

T0CONbits.TMR0ON: 1 ó 0
T0CONbits.T0SE: 1 ó 0
T0CONbits.PSA: 1 ó 0
T0CONbits.T0PS0: 1 ó 0
T0CONbits.T0PS1: 1 ó 0
T0CONbits.T0PS2: 1 ó 0

ETC...

Para saber la carga máxima que se le puede dar al timer0 con respecto al modo de bits que este utilizando se utiliza el siguiente calculo:

(2^16)-1=65535  Modo 16.
(2^8)-1=255 Modo 8 bits.

El 2 se refiere a los dos registros que acumulan la carga los cuales son Timer0L y Timer0H; y luego se eleva al modo de bits del timer0 a utilizar; luego se le resta uno para no acudir a la bandera de desbordamiento del timer0.

Bien para complementar y entender mejor esta clase, los invito a que vean el siguiente vídeo donde se mostrará y profundizará más acerca del Modulo TIMER0 del PIC18F2550:


Esto sería todo del quinto capitulo de programación en C con XC8 Compiler y MPLABX, de pronto en el vídeo tuve algunos errores, o mal pronunciamiento, pero la finalidad de este blog es corregir esto y profundizar un poco más en el tema; espero que les sirva!

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!



NOTA:
 se les recuerda a los lectores que se utilizo la versión del compilador XC8 Versión 1.34 la cual trae las peripheral libraries incluidas en él; el pdf de estas lo pueden encontrar en la parte de etiquetas del blog en la etiqueta llamada Documentación.


Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...

No hay comentarios.:

Publicar un comentario