Escolar Documentos
Profissional Documentos
Cultura Documentos
UNEFM-ING. BIOMEDICA
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I: MICROCONTROLADOR
Es un circuito integrado programable que contiene todos los
componentes de un computador. Se emplea para controlar el funcionamiento
de una tarea determinada y, debido a su reducido tamao, suele ir incorporado
en el propio dispositivo al que gobierna. Esta ltima caracterstica es la que le
confiere la denominacin de controlador incrustado (embedded controller).
(Jose Maria Angulo)
Un MICROPROCESADOR es un sistema abierto con el que puede
construirse un computador con las caractersticas que se desee,
acoplndole los mdulos necesarios.
Un MICROCONTROLADOR es un sistema cerrado que contiene un
computador completo y de prestaciones limitadas que no se pueden
modificar.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I MICROCONTROLADOR Y MICROPROCESADOR
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : MICROCONTROLADOR Y MICROPROCESADOR
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I :MICROCONTROLADORES PIC
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : ARQUITECTURA DE LOS MICROCONTROLADOR PIC
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : MEMORIAS DE PROGRAMA
El microcontrolador est diseado para que en su memoria de
programa se almacenen todas las instrucciones del programa de control.
No hay posibilidad de utilizar memorias externas de ampliacin. Como
el programa a ejecutar siempre es el mismo, debe estar grabado de forma
permanente.
Los tipos de memoria adecuados para soportar esta funcin admiten
cinco versiones
diferentes:
1. ROM con mascara (MROM)
2. EPROM
3. OTP ROM (One Time Programmable ROM) - ROM programable una sola vez
4. EEPROM
5. FLASH
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : MEMORIAS DE DATOS
Los datos que manejan los programas varan continuamente, y esto exige que
la memoria que les contiene debe ser de lectura y escritura, por lo que la
memoria RAM esttica (SRAM) (random access memory) - Memoria de
acceso aleatorio, es la ms adecuada, aunque sea voltil.
Hay Microcontroladores que tambin disponen como memoria de datos una de
lectura y escritura no voltil, del tipo EEPROM (Electrically erasable
programmable rom) - ROM programable y borrable Elctricamente. De esta
forma, un corte en el suministro de la alimentacin no ocasiona la prdida de la
informacin, que est disponible al reiniciarse el programa.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : UNIDAD CENTRAL DE PROCESAMIENTO
(CENTRAL PROCESSOR UNIT - CPU)
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : LINEAS DE ENTRADA SALIDA
A excepcin de los dos pines destinadas a recibir la alimentacin, otros dos
para el cristal de cuarzo, que regula la frecuencia de trabajo, y otro ms para
provocar el Reset, las restantes pines de un microcontrolador sirven para
soportar su comunicacin con los perifricos externos que controla.
Las lneas de E/S que se adaptan con los perifricos manejan informacin en
paralelo y se agrupan en conjuntos de ocho, que reciben el nombre de Puertas
(Puertos). Hay modelos con lneas que soportan la comunicacin en serie;
otros disponen de conjuntos de lneas que implementan puertos de
comunicacin para diversos protocolos, como el I2C,SPI, el USB, etc.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : RECURSOS AUXILIARES
Segn las aplicaciones a las que orienta el fabricante cada modelo de
microcontrolador, incorpora una diversidad de complementos que refuerzan la
potencia y la flexibilidad del dispositivo.
Entre los recursos ms comunes se citan a los siguientes:
a) Circuito de reloj, encargado de generar los impulsos que sincronizan el
funcionamiento
de todo el sistema.
b) Temporizadores, orientados a controlar tiempos.
c) Perro Guardin (watchdog), destinado a provocar una reinicializacin
cuando el programa queda bloqueado.
d) Conversores AD y DA, para poder recibir y enviar seales analgicas.
e) Comparadores analgicos, para verificar el valor de una seal analgica.
f) Sistema de proteccin ante fallos de la alimentacin.
g) Estado de Reposo, en el que el sistema queda congelado y el consumo
de energa se reduce al mnimo.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : PROGRAMACION DE LOS MICROCONTROLADORES
La utilizacin de los lenguajes ms cercanos a la mquina (de bajo nivel)
representan un considerable ahorro de cdigo en la confeccin de los
programas, lo que es muy importante dada la estricta limitacin de la capacidad
de la memoria de instrucciones. Los programas bien realizados en lenguaje
Ensamblador optimizan el tamao de la memoria que ocupan y su ejecucin es
muy rpida.
Los lenguajes de alto nivel ms empleados con microcontroladores
son el C y el BASIC, de los que existen varias empresas que comercializan
versiones de compiladores e intrpretes para diversas familias de
microcontroladores. En el caso de los PIC es muy competitivo e interesante el
compilador de C PCM de la empresa CCS , el intrprete PBASIC de
PARALLAX y los compiladores de mikroC PRO, mikroBasic y mikroPascal
conteniendo una cantidad de libreras que reducen el proceso de configuracin
y utilizacin de perifricos avanzados que incorporan estos PIC.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : FAMILIA DE LOS MICROCONTROLADORES PIC
PIC12CXXX : 8-pin 12-bit/14-bit program word
PICmicro RISC architecture en 8-pin DIP y SOIC hasta 4Mhz. 12-bit o 14-bit deinstruccin, 1024
palabras de programa. Bajo voltaje de operacin: 2.5V. Manejo de interrupciones y pila por hardware.
33 Instrucciones. 128 bytes EEPROM y 64 bytes RAM.
PIC16C5X Family: 12-bit program word
PICmicro RISC architecture en 14-, 18-, 20- y 28-pin SOIC y SSOP. 12- bit de
instruccin hasta 20Mhz y hasta 2k programa Bajo voltaje de operacin: 2.0V para los OTP Hasta 128
bytes de RAM.
PIC16CXXX Family: 14-bit program word
PICmicro RISC architecture con encapsulados de 18- y 68-pin. 14- bit de instruccin hasta 20Mhz,
hasta 8k programa. Manejo de interrupciones y 8-niveles de pila. 35 Instrucciones. Conversor:
Analgico -a-Digital a 12-bits. Hasta 368 bytes de RAM y 256 bytes de EEPROM.
PIC17CXXX Family: 16-bit program word
PICmicro MCUs RISC con arquitectura extendida. 16-bit instruction word hasta 33Mhz y 16384
palabras de programa. Conjunto de instrucciones ampliado a 58 instrucciones. Pila de 16 niveles.
Interrupciones vectorizadas. Hasta 902 bytes de RAM y 256 bytes de EEPROM.
PIC18CXXX Family: 16-bit program word
Arquitectura RISC avanzada Harvard: 16-bit con 8-bit de datos. 77 instrucciones y hasta 64K bytes de
programa y 40Mhz, hasta 2 Mbytes en ROM less. Pila de 32 niveles. Mltiples fuentes de interrupcin
Hasta 1536 bytes de RAM y 1024 bytes de EEPROM
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I:
MICROCONTROLADOR PIC16F887
arquitectura RISC
-El microcontrolador cuenta con solo 35
instrucciones diferentes
-Todas las instrucciones son uni-ciclo
excepto por las de ramificacin
Frecuencia de operacin 0-20 MHz
Oscilador interno de alta precisin
-Calibrado de fbrica
-Rango de frecuencia de 8MHz a 31KHz
seleccionado por
software
Voltaje de la fuente de alimentacin de
2.0V a5.5V
-Consumo: 220uA (2.0V, 4MHz), 11uA (2.0
V, 32 KHz) 50nA (en modo de espera)
Ahorro de energa en el Modo de
suspensin
Brown-out Reset (BOR) con opcin para
35 pines de entrada/salida
-alta corriente de fuente y de drenador para
manejo de LED
-resistencias pull-up programables
individualmente por software
-interrupcin al cambiar el estado del pin
memoria ROM de 8K con tecnologa
FLASH
-El chip se puede re-programar hasta
100.000 veces
Opcin de programacin serial en el
circuito
-El chip se puede programar incluso
incorporado en el dispositivo destino.
256 bytes de memoria EEPROM
Los datos se pueden grabar ms de
1.000.000 veces
368 bytes de memoria RAM
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I:
MICROCONTROLADOR PIC16F887
Convertidor A/D:
-14 canales
-resolucin de 10 bits
3 temporizadores/contadores
independientes
Temporizador perro guardin
Mdulo comparador analgico con
-Dos comparadores analgicos
-Referencia de voltaje fija (0.6V)
-Referencia de voltaje programable en
el chip
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I :MICROCONTROLADOR PIC16F887
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I : MICROCONTROLADOR PIC16F887
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I: DESCRIPCION DE PINES
La mayora de los pines del microcontrolador PIC16F887 son multipropsito
como se muestra en la figura anterior. Por ejemplo, la asignacin
RA3/AN3/Vref+/C1IN+ para el quinto pin del microcontrolador indica que ste
dispone de las siguientes funciones:
RA3 Tercera entrada/salida digital del puerto A
AN3 Tercera entrada analgica
Vref+ Referencia positiva de voltaje
C1IN+ Entrada positiva del comparador C1
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I: CPU PIC16F887
-La CPU cuenta con slo 35
instrucciones simples. Cabe decir que
para poder programar otros
microcontroladores en lenguaje
ensamblador es necesario saber ms
de 200 instrucciones
-El tiempo de ejecucin es igual para
casi todas las instrucciones y tarda 4
ciclos de reloj. La frecuencia del
oscilador se estabiliza por un cristal
de cuarzo. Las instrucciones de salto
y de ramificacin tardan ocho ciclos
de reloj en
ejecutarse. Esto significa que si la
velocidad de operacin del
microcontrolador es 20 MHz, el
tiempo de ejecucin de cada
instruccin ser 200nS, o sea, el
programa ejecutar 5millones de
instrucciones por segundo!
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I: MEMORIA FLASH DE PROGRAMA
La memoria ROM se utiliza para guardar permanente el programa que se est ejecutando.
Es la razn por la que es frecuentemente llamada memoria de programa. El PIC16F887
tiene 8Kb de memoria ROM (en total 8192 localidades). Como la memoria ROM est
fabricada con tecnologa FLASH, su contenido se puede cambiar al proporcionarle un voltaje
de programacin especial (13V).
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I: MEMORIA RAM
Es la tercera y la ms compleja parte de la memoria del microcontrolador. En este caso
consiste en dos partes: en registros de propsito general y en los registros de funciones
especiales (SFR).
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I:
MEMORIA RAM
MICROPROCESADORES Y MICROCONTROLADORES I
MICROPROCESADORES Y MICROCONTROLADORES I
MICROPROCESADORES Y MICROCONTROLADORES I
-TRISA, TRISB,TRISC,TRISD,TRISE
-PORTA,PORTB,PORTC,PORTD,PORTE
-OPTION
-INTCON ,PIE1, PIE2, PIR1, PIR2
-TMR0,TMR1,T1CON,TMR2,T2CON
-ADCON0
-ADCON1
-ADRESH
-ADRESL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD I: INTERRUPCIONES
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE EMSAMBLADOR
LIST P=16F877 ; Modelo del pic al compilador
INCLUDE<P16F887.INC> ; esto incluye una librera donde se definen los
; esto es un comentario
; definicin de variables
OPCION_TMR0 EQU 0X01
VAR1 EQU 0X20 ; variable VAR1 en direccin 0x20, de la memoria de
datos
VAR2 EQU 0X21 ; variable VAR1 en direccin 0x21, de la memoria de
datos
ORG 0
GOTO INICIO ; saltar el vector de interrupcion
ORG 4
GOTO INTERRUPCIONES
FUNCION1
; desarrollo de la funcin
RETURN
INICIO ; programa principal
;programa..
END
Prof. Ing. Felix Sirit
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON
MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
Lenguaje C
El lenguaje C dispone de todas las ventajas de un lenguaje de programacin
de alto nivel (anteriormente descritas) y le permite realizar algunas
operaciones tanto sobre los bytes como sobre los bits (operaciones lgicas,
desplazamiento etc.). Las caractersticas de C pueden ser muy tiles al
programar los microcontroladores. Adems, C est estandarizado (el
estndar ANSI), es muy portable, as que el mismo cdigo se puede utilizar
muchas veces en diferentes proyectos. Lo que lo hace accesible para
cualquiera que conozca este lenguaje sin reparar en el propsito de uso del
microcontrolador. C es un lenguaje compilado, lo que significa que los
archivos fuentes que contienen el cdigo C se traducen a lenguaje mquina
por el compilador
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: PROGRAMACION EN LENGUAJE C, CON MIKROC PRO
Este lenguaje es muy similar al C estndar, no obstante en determinados
aspectos difiere del ANSI estndar en algunas caractersticas. Algunas de
estas diferencias se refieren a las mejoras, destinadas a facilitar la
programacin de los microcontroladores PIC, mientras que las dems son la
consecuencia de la limitacin de la arquitectura del hardware de los PIC. Aqu
vamos a presentar caractersticas especficas del lenguaje mikroC en la
programacin de los microcontroladores PIC. El trmino C se utilizar para
referirse a las caractersticas comunes de los lenguajes C y mikroC.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: REGISTRO DE CONFIGURACION PUERTO DIGITALES Y
ANALOGICOS
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: ACCESO INDIVIDUAL A CADA BIT
EL mikroC PRO permite acceso individual a cada bit en variables de 8 bits
(char and unsigned short). Simplemente usando el selector (.) seguido de uno
de los identificadores F0, F1, , F7. Siendo F7 el bit mas significativo.
Ejemplo:
PORTA.F0 = 1;
i=PORTD.F3 ;
PORTB.F5 = PORTA.F4;
`
ANSEL.F0=1; ANSEL.ANS0=1;
Si se est familiarizado con el chip, tambin puede acceder a los bits por
nombre:
//Borrar TMR0F:
INTCON.TMR0F = 0;
TRISA.F2=0; // pin 2 puerto A como salida
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: TIPOS DE DATOS
Tipo
Tamao en
Byte
Rango
0 .. 255
signed char
- 128 .. 127
- 128 .. 127
0 .. 255
-32768 .. 32767
unsigned (Entero)
0 .. 65535
-2147483648 .. 2147483647
0 .. 4294967295
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: TIPOS DE DATOS
Tipo
float
double
long double
Tamao en
Byte
Rango
1.17549435082 * 10-38 ..
6.80564774407 * 1038
1.17549435082 * 10-38 ..
6.80564774407 * 1038
1.17549435082 * 10-38 ..
6.80564774407 * 1038
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: DECLARACION DE LAS VARIABLES
Decimal
int i ;
int j = -10;
int p = 0;
Hexadecimal
short x ;
short y = 0x7F;
int z = 0x125;
Octal
int m = 023;
short n = 016;
/* decimal -10 */
/* decimal 0 */
/* decimal 127 */
/* decimal 293 */
/* 19 */
/* 14 */
Binario
char dato = 0b00001111; ANSEL=0B00001111: /ANSEL=77;
short dat = 0b10101010;
unsigned char sig = 0b11001100;
ASCII
char dat = a;
char m = 5;
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: COMENTARIOS
declaraciones globales
funcion1( )
{
variables locales bloque
}
void main(void)
{
variables locales bloque
}
COMENTARIOS
/* Este es un ejemplo de comentario */
/* Un comentario tambin puede
estar escrito en varias lneas */
El smbolo /* se coloca al principio del comentario
y el smbolo */ al final.
//Comentario que abarca solo la lnea completa
// comentarios
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: OPERADORES
OPERADORES ARITMTICOS
Existen dos tipos de operadores
aritmticos:
Los binarios:
+ Suma
- Resta
* Multiplicacin
/ Divisin
% Mdulo (resto)
y los unarios:
++ Incremento (suma 1)
- - Decremento (resta 1)
- Cambio de signo
OPERADORES RELACIONALES
>Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
== Igual que
!= Distinto que
OPERADORES LGICOS:
&& AND
|| OR
! NOT (El valor contrario)
OPERADORES LGICOS BIT A BIT:
& AND
| OR
^ XOR
~ COMPLEMENTO
>> mueve los bits a la izquierda
<< mueve los bits a la derecha
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: OPERADORES RELACIONALES
OPERADOR
DESCRIPCIN
EJEMPLO
CONDICIN DE
VERACIDAD
>
mayor que
b>a
si b es mayor que a
>=
a >= 5
si a es mayor o igual
que 5
>=
menor que
a<b
si a es menor que b
<=
a <= b
si a es menor o igual
que b
==
igual que
a == 6
si a es igual que 6
!=
desigual que
a != b
si a es desigual que b
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: MANEJO DE BITS
OPERADOR
DESCRIPCIN
EJEMPLO
RESULTADO
Complemento a uno
a = ~b
b=5
a = -5
<<
Desplazamiento a la
izquierda
a = b << 2
b = 11110011
a = 11001100
>>
Desplazamiento a la
derecha
a = b >> 2
b = 11110011
a = 00011110
&
c=a&b
a = 11100011
b = 11001100
c = 11000000
c=a|b
a = 11100011
b = 11001100
c = 11101111
c=a^b
a = 11100011
b = 11001100
c = 00101111
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: SENTENCIAS CONDICIONALES
Este tipo de sentencias permiten variar el flujo del programa en base a unas
determinadas condiciones. Existen varias estructuras diferentes:
Estructura if...else
Sintaxis:
if (condicin)
{ sentencia
}
/*La sentencia solo se ejecuta si se cumple la condicin. En caso contrario el
programa sigue su curso sin ejecutar la sentencia.*/
Otro formato:
if (condicin){
//Si se cumple la condicin ejecutar la sentencia1
Sentencia1
//sino ejecutar la sentencia2.
}
else {
Sentencia2
}
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: SENTENCIAS CONDICIONALES
Otro formato:
if (condicin)
{
sentencia1;
}
else if (condicin)
{
sentencia2;
}
else if (condicin)
{
sentencia3;
}
else
{
sentencia4;
}
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: SENTENCIAS CONDICIONALES
Estructura SWITCH
Esta estructura se suele utilizar en los mens, de manera que segn la opcin
seleccionada se ejecuten una serie de sentencias.
Su sintaxis es:
switch (variable)
{ case contenido_variable1:
sentencias;
break;
case contenido_variable2:
sentencias;
break;
default: sentencias;
}
Cada case puede incluir una o ms sentencias sin necesidad de ir entre llaves,
ya que se ejecutan todas hasta que se encuentra la sentencia BREAK. La
variable evaluada slo puede ser de tipo entero o caracter. default ejecutar las
sentencias que incluya, en caso de que la opcin escogida no exista.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
Los bucles son estructuras que permiten ejecutar partes del cdigo de forma
repetida mientras se cumpla una condicin.
Esta condicin puede ser simple o compuesta de otras condiciones unidas
por operadores lgicos.
Sentencia WHILE
Su sintaxis es:
while (condicin)
{ sentencia;
}
Con esta sentencia se controla la condicin antes de entrar en el bucle. Si sta
no se cumple, el programa no entrar en el bucle.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
Sentencia DO...WHILE
Su sintaxis es:
do
{ sentencia1;
sentencia2;
}while (condicin);
Con esta sentencia se controla la condicin al final del bucle. Si sta se
cumple, el programa vuelve a ejecutar las sentencias del bucle.
La nica diferencia entre las sentencias while y do...while es que con la
segunda el cuerpo del bucle se ejecutar por lo menos una vez.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: BUCLES (SENTENCIAS REPETITIVAS)
Sentencia FOR
Su sintaxis es:
for (inicializacin;condicin;incremento)
{ sentencia1; sentencia2;}
La inicializacin indica una variable (variable de control) que condiciona la
repeticin del bucle. Si hay ms, van separadas por comas:
for (a=1;a<10;a++)
{
}
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: ARREGLOS
Un array es un identificador que referencia un conjunto de datos del mismo tipo.
Imagina un tipo de dato int; podremos crear un conjunto de datos de ese tipo y
utilizar uno u otro con slo cambiar el ndice que lo referencia. El ndice ser un
valor entero y positivo. En C los arrays comienzan por la posicin 0.
Vectores
Un vector es un array unidimensional, es decir, slo utiliza un ndice para
referenciar a cada uno de los elementos. Su declaracin ser:
tipo nombre [tamao];
int muestras[127];
Matrices
Una matriz es un array multidimensional. Se definen igual que los vectores
excepto que se requiere un ndice por cada dimensin.
Su sintaxis es la siguiente: tipo nombre [tamao 1][tamao 2];
Una
matriz bidimensional se podra representar grficamente como una tabla con
filas y columnas.
char muestras[127][127];
Prof. Ing. Felix Sirit
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD II: Interrupciones
MICROPROCESADORES Y MICROCONTROLADORES I
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD 2
MICROPROCESADORES Y MICROCONTROLADORES I
Los valores que devuelven en la lectura van del 1 al 16, y cuando el valor es
cero , es porque no se ha presionado ninguna tecla.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Las pantallas de cristal lquido LCD o display LCD para mensajes (Liquid Cristal Display)
tienen la capacidad de mostrar cualquier carcter alfanumrico, permitiendo
representar la informacin que genera cualquier equipo electrnico de una forma fcil y
econmica.
La pantalla consta de una matriz de caracteres (normalmente de 5x7 o 5x8 puntos)
distribuidos en una, dos, tres o cuatro lneas de 16 hasta 40 caracteres cada lnea.
El proceso de visualizacin es gobernado por un microcontrolador incorporado a la
pantalla, siendo el Hitachi 44780 el modelo de controlador ms utilizado.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Memoria DDRAM
La memoria DDRAM se utiliza para almacenar los caracteres a visualizar. Tiene una
capacidad de almacenar 80 caracteres. Algunas
localidades de memoria estn directamente conectadas a los caracteres en el
visualizador.
Todo funciona muy simple: basta con configurar el visualizador para incrementar
direcciones automticamente (desplazamiento a la derecha)
y establecer la direccin inicial para el mensaje que se va a visualizar (por ejemplo 00
hex).
Luego, todos los caracteres enviados por las lneas D0-D7 se van a visualizar en el
formato de mensaje al que nos hemos acostumbrado - de
la izquierda a la derecha. En este caso, la visualizacin empieza por el primer campo de
la primera lnea ya que la direccin inicial es 00hex.
Si se enva ms de 16 caracteres, todos se memorizarn, pero slo los primeros 16 sern
visibles. Para visualizar los dems, se debe utilizar
el comando shift. Virtualmente, parece como si el visualizador LCD fuera una ventana,
desplazndose de la izquierda a la derecha sobre las
localidades de memoria con diferentes caracteres. En realidad, as es cmo se cre el
efecto de desplazar los mensajes sobre la pantalla.
Prof. Ing. Felix Sirit
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Memoria DDRAM
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Memoria CGROM
La memoria CGROM contiene un mapa
estndar de todos los caracteres que se
pueden visualizar en la pantalla. A cada
carcter se le asigna
una localidad de memoria:
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Memoria CGRAM
Adems de los caracteres estndar, el visualizador LCD puede visualizar smbolos
definidos por el usuario. Esto puede ser cualquier smbolo
de 5x8 pxeles. La memoria RAM denominada CGRAM de 64 bytes lo habilita.
Los registros de memoria son de 8 bits de anchura, pero slo se utilizan 5 bits ms
bajos. Un uno lgico (1) en cada registro representa un
punto oscurecido, mientras que 8 localidades agrupados representan un carcter. Esto
se muestra en la siguiente figura:
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Modos de funcionamiento
El LCD tiene 3 modos de funcionamiento principales:
Modo Comando
Modo Carcter o Dato
Modo de lectura del Busy Flag o LCD Ocupada
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Conectar al visualizador LCD
-Dependiendo de cuntas lneas se utilizan para conectar un LCD al microcontrolador, hay
dos modos de LCD, el de 8 bits y el de 4 bits. El modo apropiado se selecciona en el inicio
del funcionamiento en el proceso denominado inicializacin.
-El modo de LCD de 8 bits utiliza los pines D0-D7 para transmitir los datos.
-El propsito principal del modo de LCD de 4 bits es de ahorrar los valiosos pines de E/S
del microcontrolador.
-Slo los 4 bits ms altos (D4-D7) se utilizan para la comunicacin, mientras que los
dems pueden quedarse desconectados.
-Cada dato se enva al LCD en dos pasos - primero se envan 4 bits ms altos
(normalmente por las lneas D4- D7), y luego los 4 bits ms bajos. La inicializacin habilita
que el LCD conecte e interprete los bits recibidos correctamente.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Comandos en MikroPro
// Conexiones del mdulo LCD
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// Final de las conexiones del mdulo LCD
char *text; //definimos una variable llamada text en forma de puntero
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Comandos en MikroPro
void main() {
INTCON = 0; // Todas las interrupciones deshabilitadas
ANSEL = 0x00; //todos los pines como digitales
ANSELH=0x00;
text = "mikroElektronika"; //definir el primer mensaje
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR); //Comando LCD (borrar el LCD)
Lcd_Out(1,1,text); // Escribir el primer mensaje en la primera lnea
text = "LCD ejemplo"; // Definir el segundo mensaje
Lcd_Out(2,1,text); //Escribir el primer mensaje en la segunda lnea
}
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: LISTA DE COMANDOS
Comando
Funcin
_LCD_FIRST_ROW
_LCD_SECOND_ROW
_LCD_THIRD_ROW
_LCD_FOURTH_ROW
_LCD_CLEAR
Limpia el display.
_LCD_RETURN_HOME
_LCD_CURSOR_OFF
Apaga el cursor.
_LCD_UNDERLINE_ON
_LCD_BLINK_CURSOR_ON
_LCD_MOVE_CURSOR_LEFT
_LCD_MOVE_CURSOR_RIGHT
_LCD_TURN_ON
Enciende el display
_LCD_TURN_OFF
Apaga el display
_LCD_SHIFT_LEFT
_LCD_SHIFT_RIGHT
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
Ejercicio
1) Disear el programa que inicialice un LCD, usando un bus de datos de 4 bits, y
a continuacin envi un mensaje de bienvenida. El mensaje debe desplazarse
hacia la izquierda en forma continua.
2) Programa que forme la palabra HOLA en un LCD, configurado para utilizar un
bus de 4 bits. Las letras deben desplazarse de derecha a izquierda. Primero debe
aparecer la H, movindose desde la derecha a la primer columna a la izquierda.
Enseguida debe aparecer la O, tambin saliendo de la derecha y terminando a la
derecha de la letra H. Lo mismo debe suceder para las letras L y A. El programa
debe ser cclico.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
H O
HO
.
.
.
H O LA
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
ByteToStr
Descripcion: Crea una cadena de salida de un pequeo numero sin signo (valor
numrico menos a 0x100). La cadena esta ajustada a un ancho de 3 caracteres;
Las posiciones a la izquierda que no se usan en la conversin se rellenan con
espacios.
void ByteToStr(unsigned short number, char *output);
Ejemplo:
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
ShortToStr
Descripcin: Crea una cadena de salida de un numero pequeo con signo (valor
numrico menor a 0x100). La cadena esta ajustada a un ancho de 4 caracteres;
Las posiciones a la izquierda que no se usan en la conversin se rellenan con
espacios.
void ShortToStr(short number, char *output);
Ejemplo:
short t = -4;
char txt[5];
// Se inicializa un apuntador de 5
espacios
ShortToStr(t, txt); // txt es " -4" (dos espacio en blanco)
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
WordToStr
Descripcin: Crea una cadena de salida de un numero sin signo (Valor numrico
de una variable unsigned). La cadena esta ajustada a un ancho de 5 caracteres;
Las posiciones a la izquierda que no se usan en la conversin se rellenan con
espacios.
void WordToStr(unsigned number, char *output);
Ejemplo:
unsigned t = 437;
char txt[6];
// Inicializa un apuntador con 6 espacios
WordToStr(t, txt); // txt es 437" (dos espacios vacios)
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
IntToStr
Descripcin: Crea una cadena de salida de un numero con signo (Valor
numrico de una variable int). La cadena esta ajustada a un ancho de 6
caracteres; Las posiciones a la izquierda que no se usan en la conversin se
rellenan con espacios.
void IntToStr(int number, char *output);
Ejemplo:
int j = -4220;
char txt[7];
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
LongToStr
Descripcin: Crea una cadena de salida de un numero con signo (Valor
numrico de una variable long). La cadena esta ajustada a un ancho de 11
caracteres; Las posiciones a la izquierda que no se usan en la conversin se
rellenan con espacios.
void LongToStr(Long number, char *output);
Ejemplo:
int j = -4220;
char *txt=
IntToStr(j, txt);
blanco)
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD III: PANTALLAS LCD
FloatToStr
Descripcin: Crea una cadena de salida de un numero de punto flotante. La
cadena contiene un formato normalizado de un numero (mantisa entre 0 y 1) con
signo en la primera posicin. La mantisa esta ajustada a un formato de 6 dgitos,
0.ddddd; Hay siempre 5 dgitos a continuacin del punto decimal.
void FloatToStr(float number, char *output);
Ejemplo:
float ff = -374.2;
char tx[15];
// Inicializa un apuntador con 14 espacios
FloatToStr(ff, txt); // txt es "-0.37420e3"
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Seal: Las seales pueden describir una amplia variedad de fenmenos fsicos, y
aunque puede representarse de muchas formas, en todos los casos la informacin en
una seal esta contenida en un patrn de variaciones que representa alguna forma
determinada.(Oppenheim).
Seal en tiempo continuo: Es aquella que se define sobre un intervalo continuo de
tiempo, la amplitud puede tener un intervalo continuo de valores , o solo un numero
finito de valores distintos (Ogata).
Seal Analgica: Caso especial de una seal en tiempo continuo. Magnitud elctrica,
cuya magnitud varia de forma continua con el tiempo(Ogata).
Seales Unipolares: Son seales que se miden de una terminal a otra, con tierra
flotante o puesta a tierra
Seales Bipolares: Son seales que aparecen entre dos terminales independientes de la
terminal de referencia, que a su vez puede o no estar conectada a tierra.
Seal Discreta: Seal definida solo en valores discretos de tiempo es decir cuando la
variable tiempo esta cuantificada. (Ogata).
Seal muestreada: Seal discreta con valores de amplitud continuos.
Seal Digital: Seal discreta con valores de amplitud cuantificados (valor binarios).
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Tipos de Seales segn sus terminales: a) Unipolar puesta a tierra. b)Unipolar flotante.
c)Unipolar con tensin en modo comn. d)Diferencial puesta a tierra. e)Diferencial
flotante. f) Diferencial con tensin en modo comn. g) Diferencial con tensin en modo
comn.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
1
0.5
0.5
-0.5
-0.5
-1
0
0.2
0.4
0.6
0.8
-1
0
0.2
0.4
0.6
0.8
x 10
x 10
1
0.5
0
-0.5
-1
0
0.2
0.4
1
-3
-3
0.6
0.8
1
-3
x 10
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
10
8
6
4
2
0
-2
-4
-6
-8
-10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x 10
-3
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Sistema de control por computador
El anlisis de estos sistemas se realiza mediante la transformada Z, mediante ecuaciones
de diferencias.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Sistema de control por computador
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Sistema de adquisicin de datos
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Proceso de muestreo: El muestreo de seales en tiempo continuo reemplaza la seal en
tiempo continuo por una secuencia de valores en puntos discretos de tiempo. Se emplea
siempre que un sistema involucre un computador digital, puesto que son necesarias una
operacin de muestreo y una de cuantificacin y codificacin para ingresar datos al
sistema digital.
Una seal continua con espectro en frecuencia nulo fuera del intervalo [ es reconstruirle
totalmente si se la muestrea con una frecuencia (Teorema de Nyquist).
fm=2.BW
fm=frecuencia de muestreo
BW=Ancho de banda de la seal
tm=1/fm
tm=T/2
tm=tiempo de muestreo
T=periodo mas pequeo de la seal
Si fm<2.BW se produce lo que se conoce como aliasing ( se solapan de espectros)
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Espectro de una seal muestreada con fm>2.BW, y con fm<2.BW (aliasing).
Trasformada de Fourier
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Espectro de una seal muestreada con fm>2.BW, con fm=2.BW y con fm<2.BW
(aliasing). Trasformada de Fourier .
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
El proceso de cuantificacin : consiste en reemplazar la amplitud analgica muestreada
por un valor digital (valor discreto). Este se realiza con un convertidor analgico digital
(ADC).
Si el convertidor es de n bits, existe 2^n valores o estados posibles, por
ejemplo un convertidor de 4 bits tendr a la salida 2^4, o 16 valores posibles, si por
ejemplo es de 8bits tiene 256 valores, y si es de 12 bits tendr 4096 combinaciones, por
tanto la cantidad en bits de salida del convertidor define la resolucin del mismo.
Existen varios tipos de cuantificacin:
-Cuantificacin uniforme
-Cuantificacin logartmica
-Cuantificacin no uniforme
-Cuantificacin vectorial
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
El proceso de cuantificacin
Esta funcin cuantificadora tiene algunas caractersticas importantes:
- Su resolucin, que es el nmero de estados de salida expresados en bits (en este caso,
3bits).
- Los niveles de decisin analgica o niveles de umbral; en el caso de la figura , los
valores de 0.625, 1.875, 3.125, 4.375, 5.625 y 8.125. Hay 2n -1 puntos de decisin
analgica.
- Los niveles de decisin estn colocados a medio camino entre el centro de los puntos
de las palabras del cdigo y que en el caso de la figura corresponden a los valores de
tensin 1.25, 2.50, 3.75, 5.00, 6.25, 7.50 y 8.75 V.
Intervalo de cuantificaciones es :
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Relacin seal a ruido de cuantificacin (SQNR).
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Ejemplo: Para medir una temperatura que esta entre 0 y 100 C, se dispone de un sensor
con una sensibilidad de 10mV/ C,\. Si se desea una resolucin de 0,1 C y una salida
digital, determinar el margen de entrada y el numero de bits de ADC.
El intervalo a escala completa de la temperatura seria:
100 C*10mV/ C=1V
Por tanto el intervalo a escala completa (margen de entrada) seria : 0 a 1V.
Una variacin de 0,1 C en el sensor implica una variacin en la entrada de 1mV, siendo
este el valor del intervalo de cuantificacin Q= 1mV
=
=
=
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Convertidores Digital-Analgico (DAC): tambin denominado decodificador, Es un
dispositivo que convierte una seal digital en una seal analgica.
Parmetros bsicos a considerar:
-Numero de canales
-Cdigo de entrada
-Niveles de tensin a la entrada
-Formato de la entrada (Serie o paralelo)
-Margen de tensiones o corrientes de salida
-Resolucin(numero de bits)
-Exactitud
-Velocidad: tiempo de establecimiento
Tipos o mtodos de un convertidor Digital-Analgico (DAC):
-Resistores ponderados
-Red escalera de resistencias
-Logartmicos
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Convertidor Digital-Analgico (DAC): Resistores ponderados y red R-2R (DAC0830)
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Caractersticas de los Convertidores Analgicos-Digital (ADC).
-Numero de canales
-Tipo de canales (unipolares o diferenciales)
-Margen de tensin de entrada
-resolucin (En numero de bits)
-Exactitud
-Tensin de referencia necesaria
-Velocidad: frecuencia de conversin
-Formato de la seal de salida (Binario, complemento a dos,,,)
-Control de la conversin (interrupciones , verificacin de estados)
-Funciones adicionales a la entrada (muestreo, multiplexado, ganancia programable,
entradas de bajo nivel)
-Funciones adicionales a la salida(cerrojos)
-Condiciones ambientales
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Clasificacin de los Convertidores Analgicos-Digital (ADC).
Convertidores A/D directos
-Sin realimentacin (Paralelos flash)
-Con realimentacin (bit a bit: aproximaciones sucesivas, no bit a bit: tipo servo tracking)
Convertidores A/D indirectos
-Sin realimentacin : por intervalo de tiempo( rampa simple, doble rampa, triple rampa),
por frecuencia(Convertidos V/F VCO)
-Con realimentacin
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Paralelos flash
Tipo contador
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Aproximaciones sucesivas
Doble rampa
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Circuitos de muestreo y retencin
(Sample & hold)
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
CARACTERSTICAS
- 14 canales canales multiplexado.
- Procesa seales analgicas y trabaja con la tcnica de aproximaciones sucesivas
- 10 bit de resolucin con
=
(+) ()
= / .
= (+) ()
= ;
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Para llevar a cabo una conversin A/D sin problemas as como para evitar los resultados
inesperados, es necesario considerar lo siguiente:
El convertidor A/D no hace diferencia entre seales digitales y analgicas. Para evitar
errores en medicin o daar el chip, los pines se deben configurar como entradas
analgicas antes de que empiece el proceso de conversin. Los bits utiliza dos para
este propsito se almacenan en los registros TRIS y ANSEL (ANSELH);
Al leer el estado de puerto con las entradas analgicas, el estado de los bits
correspondientes se leer como cero lgico (0), sin reparar en el valor del voltaje real
en el pin;
Hablando en trminos generales, la medicin de voltaje en el convertidor est basado
en comparar voltaje de entrada con una escala interna que tiene 1023 grados (2^10 1 =1023). El grado ms bajo de esta escala representa el voltaje Vref-, mientras que el
grado ms alto se refiere al voltaje Vref+. La siguiente figura muestra los voltajes de
referencia seleccionables as como sus valores mximos y mnimos.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
ADFM - A/D Result Format Select bit (bit de seleccin del formato del resultado de la
conversin A/D)
1 - Resultado de conversin est justificado a la derecha. No se utilizan los seis bits ms
significativos del registro ADRESH.
0 - Resultado de conversin est justificado a la izquierda. No se utilizan los seis bits
menos significativos del registro ADRESL.
VCFG1 - Voltage Reference bit (bit de configuracin de voltaje de referencia) selecciona
la fuente de voltaje de referencia bajo que se necesita para el funcionamiento del
convertidor A/D.
1 - Voltaje de referencia bajo se aplica al pin Vref0 - Voltaje de alimentacin Vss se utiliza como una fuente de voltaje de referencia bajo.
VCFG0 - Voltage Reference bit (bit de configuracin de voltaje de referencia) selecciona
la fuente de voltaje de referencia alto que se necesita para el funcionamiento del
convertidor A/D.
1 - Voltaje de referencia alto se aplica al pin Vref+.
0 - Voltaje de alimentacin Vdd se utiliza como una fuente de voltaje
de referencia
Prof. Ing.
Felix Sirit alto.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
Para medir el voltaje en un pin de entrada por medio del convertidor A/D, se debe
realizar lo siguiente:
Paso 1 - Configuracin del puerto:
Escribir un uno lgico (1) a un bit del registro TRIS, lo que resulta en configurar el pin
apropiado como una entrada.
Escribir un uno lgico (1) a un bit del registro ANSEL, lo que resulta en configurar el pin
apropiado como una entrada
analgica.
Paso 2 - Configuracin del mdulo de la conversin A/D:
Configurar voltaje de referencia en el registro ADCON1.
Seleccionar una seal de reloj de la conversin A/D en el registro ADCON0.
Seleccionar uno de los canales de entrada CH0-CH13 del registro ADCON0.
Seleccionar el formato de dato por medio de ADFM del registro ADCON1.
Habilitar el convertidor A/D al poner a uno el bit ADON del registro ADCON0.
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
= + +
= ,
= ( )/(, / )
= ,
= . + + . (/)
= , =
Ejemplo si RS=10k Ohm y t=50Grados C
= . + + . , = ,
= + , + , = ,
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD IV: CONVERSION ANALOGICA A DIGITAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
Comunicacin en Paralelo
Comunicacin Serial
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
Niveles lgicos RS232 y TTL
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
EUSART EN MODO DE TRANSMISOR ASNCRONO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
EUSART EN MODO DE RECEPTOR ASNCRONO
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL
/* En este ejemplo, el mdulo EUSART interno se inicializa y se ajusta para enviar
elmensaje inmediatamente despus de recibirlo. La velocidad de transmisin en
baudios se ajusta a 9600 bps. El programa utiliza las siguientes rutinas de librera
UART:UART1_init(), UART1_Write_Text(), UART1_Data_Ready(), UART1_Write() y
UART1_Read().*/
char dato;
void main() {
ANSEL = ANSELH = 0; // Todos los pines se configuran como digitales
C1ON_bit = C2ON_bit = 0; // Deshabilitar los comparadores
UART1_Init(9600); // Inicializar el mdulo UART a 9600 bps
Delay_ms(100); // Esperar a que seal de reloj del mdulo UART se ponga
estable
UART1_Write_Text("Start");
while (1) { // Bucle infinito
if (UART1_Data_Ready()) { // Si el dato se ha recibido,
dato = UART1_Read(); // lea el dato recibido
UART1_Write(uart_rd); // y envelo atrs por el UART
}
}
Prof. Ing. Felix Sirit
}
MICROPROCESADORES Y MICROCONTROLADORES I
UNIDAD V: COMUNICACION SERIAL