viernes, 7 de septiembre de 2007

USO DEL MODULO ADC DEL 16F877


El uso del ADC, tiene muchas opciones de configuracion. Al usarlo podemos seleccionar la frecuencia del reloj del modulo de convercion AD, los canales a utilizar, y seleccionar una combinacion de la tabla de abajo. Ademas podemos generar interrupciones cada vez que se termina una convercion para que la muestre y/o poder trabajar con ella una vez que este completada la conversion.

A continuacion el video muestra el funcionamiento del ADC, observa como el valor de los registros es mostrado en cada puerto, el de mayor peso MSB pertenecen al Port B (color rojo)





El ejemplo presentado, tiene un reloj de Fosc/32, usando el canal 0, las demas entradas del modulo funcionan normalmente como digitales. Tambien estan habilitadas las interrupciones, asi cada vez que termina una interrupcion, el resultado se muestra por los puertos D y B.


En la siguiente figura se muestra el circuito generador de la señal ADC, la cual sera conectada al pin 0 del puerto A. Es importante mencionar que Microchip recomienda no usar una fuente de señal analogica que tanga resistencia mayor a 2.5 Kohm, sin embargo yo usè un potenciometro de 1 K y tuve problemas de rango, asi que probe con este pot de 4.7 K sin problema alguno. El Capacitor recomendado es de 120 pF, por falta de èl y para mostrar el funcionamiento use uno de 0.1 uF sin problemas, claro que en aplicaciones criticas es mejor apegarse a las recomendaciones del fabricante.




El Programa ASM lo encuentras aqui, y el HEX es el siguiente:


:020000040000FA
:040000000B20202889
:08000800831203130C1F090011
:1000100024200C1309008312031386018801850133
:1000200081309F00C0308B00831603138601880146
:10003000013085008E309F000C17831203130800D7
:10004000831203131F152128831203131E08860031
:0E005000831603131E08831203138800080092
:00000001FF


Saludos.


IESS


1 comentario:

javixl dijo...

buenos dias hermano, gracias por tus publicaciones, asi nos ayudas a conocer este gran mundo, te queria comentar q no es pocible ver el porgrama en asm. por favor responde este mensaje

Google