¿Cuál es la diferencia entre ANSEL y el registro de ANSELH en el microcontrolador PIC?

Mira aquí:

E / S digital – Guía para principiantes de programación PIC – picguides.com

Si observa el diagrama de pines, verá que el pin 3 se llama RA4 / AN3. Esto se debe a que puede servir como puerto de E / S digital RA4 o pin de entrada analógica AN3. Los dos registros ANSEL y ANSELH controlan si AN0 a AN11 están operativos o no. Cada bit en el registro controla un pin como se describe en las tablas de registro que se muestran a continuación. Un ‘0’ establece el pin en modo digital y un ‘1’ establece el pin en modo analógico .

Por ejemplo, si hace que ANSEL sea igual a 0b10000001 (binario), entonces AN7 se habilitará y RC3 se deshabilitará porque comparten el mismo pin (pin 7) . AN0 también estará en modo analógico (RA0 deshabilitado). La lectura de un pin que está configurado en modo analógico devolverá un ‘0’.

Solo para ampliar la respuesta de Peter Teoh:

El ANSELH son los bits superiores del registro ANSEL, mientras que los bits inferiores residen en el registro ANSEL. Esto se realiza en algunos PIC que utilizan un único registro ANSEL para todos los pines en lugar de un registro ANSEL dedicado para cada puerto / banco de pines. Dado que este registro único se usa en chips con más pines analógicos de los que cabría en una sola palabra de datos, se necesitan registros múltiples.