You are on page 1of 13

INSTITUTO TECNOLOGICO DE MATAMOROS

MICROCONTROLADORES
ING. MECATRONICA
Nombre del alumno: Carlos Jesus Hernandez Romo

N de control: 11260740

Cuestionario de microcontroladores
Responda las siguientes preguntas.

1. Dibuje las terminales del PIC16F690 y describa cada una de ellas

RA0/C1IN+/ICSPDAT/ULPWU: el Propsito general de encendido y apagado.


Interruptor de cambio controlado individualmente. El comparador C1 es una
entrada polarizada. La ICSP contiene los datos Encendido/Apagado. Posee una
entrada de bajo poder "wake-up".
RA1/C12IN0-/ICSPCLK: El RA1 tiene el propsito general de encendido y apagado.
El comparador C1 o C2 invierte la polaridad, y el ICSP tiene funcin como reloj.
RA2/T0CKI/INT/C1OUT: El RA2 tiene como propsito encender y apagar, es un
interruptor en cambio. T0CKI es un reloj de entrada, INT es un pin externo, y el
C1OUT es un comparador de salida.
RA3/MCLR/VPP: RA3 es una entrada como propsito general, el MCLR acta como
el que despeja internamente, y el Vpp es un voltaje que se puede programar.
RA4/T1G/OSC2/CLKOUT: RA4 tiene el encendido y apagado como propsito
general, el T1G es un timer de entrada, OSC2 es un cristal/resonador, y el CLKOUT
es un Fosc/4 de salida.

RA5/T1CKI/OSC1/CLKIN: El RA5 enciende y apaga, el T1CKI es un reloj 'timer' de


entrada, OSC1 funciona como un cristal/resonador y el CLKIN es un reloj externo
de entrada/RC con conexin de oscilacin.

Las terminales RB4 RB5 RB6 RB7 y RC5 tienen como propsito general el encendido y
apagado.
Los RC1/C12IN1-, RC2/C12IN2-, RC3/C12IN3-, RC4/C2OUT son comparadores de
encendido y apagado invierten la polaridad. Y el RC0/C2IN+ es otro comparador, pero
este no la invierte.
RC6 y RC7 encienden y apagan.
Vss: Referencia a tierra.
Vdd: reserva en positivo.
2. Dibuje la arquitectura del PIC16F690

3. Explique acerca de los 4 bancos del PIC16F690

BANCO 0:

TMR0: Registro del temporizador/contador de 8 bits.


PCL: Byte menos significativo del contador de programa (PC).
STATUS: Contiene banderas (bits) que indican el estado del procesador
despus de una operacin aritmtica/lgica.
FSR: Registro de direccionamiento indirecto.
PORTA, PORTB, PORTC, PORTD, PORTE: Registro de puertos de E/S de datos.
Conectan con los pines fsicos del micro.
PCLATH: Byte alto (ms significativo) del contador de programa (PC).
INTCON: Registro de control de las interrupciones.
ADRESH: Parte alta del resultado de la conversin A/D.
ADCON0: Controla la operacin del mdulo de conversin A/D

BANCO 1:

OPTION: Registro de control de frecuencia del TMR0.


TRISA, TRISB, TRISC, TRISD. TRISE: Registros de configuracin de la operacin de
los pines de los puertos.

ADRESL: Parte baja del resultado de la conversin A/D.


ADCON1: Controla la configuracin de los pines de entrada anloga.

BANCO 2:

TMR0: Registro del temporizador/contador de 8 bits.


PCL: Byte menos significativo del contador de programa (PC).
FSR: Registro de direccionamiento indirecto.
EEDATA: Registro de datos de la memoria EEPROM.
EEADR: Registro de direccin de la memoria EEPROM.
PCLATH: Byte alto (ms significativo) del contador de programa (PC).
INTCON: Registro de control de las interrupciones.

BANCO 3:

OPTION: Registro de control de frecuencia del TMR0.


EECON1: Control de lectura/escritura de la memoria EEPROM de datos.
EECON2: No es un registro fsico.

4. Que es RESET
En general, el reset en microcontrolador hace que el dispositivo vaya a un estado
conocido. Mientras se encuentra transitoriamente en estado de reste, el
dispositivo estar virtualmente detenido, es decir, no se ejecuta ninguna
instruccin del programa. Cuando sale del estado de reset, el dispositivo va un
estado conocido.
Los tipos de reset ms comunes en los microcontroladores PIC son:

Reset externo
Reset por encendido (puesta en marcha Power-on-Reset)
Reset por desbordamiento del perro guardin
Reset por fallo de alimentacin

El Reset es un efecto que vara en algunos casos, pero se dira que es un reinicio, es
decir, al momento de que se efecta el Reset, todo se va a borrar; y volver al
punto de inicio, es decir, antes de que hubiera cambio alguno.

5. Explique cmo se configura un puerto como salida o entrada

Puertos de Entradas/Salidas.
Los Microcontroladores PIC tienen terminales de entrada/salida (I/O, Input/Output)
divididos en puertos, que se encuentras nombrados alfabticamente A, B, C, D, etc.
Cada puerto puede tener hasta 8 terminales que se pueden comportar como una I/O
digital
Hay tantos como dieciocho propsito general de E / S pines disponibles. Dependiendo
de qu son los perifricos habilitado, algunos o todos de los pasadores pueden no
estar disponibles como propsito general I / O. En general, cuando un perifrico es
habilitado, el pasador asociado no puede ser utilizado como un propsito general I / O
pin.
PORTA y los registros TRISA
PORTA es un 6-bit de ancho puerto, bidireccional. La direccin de los datos del registro
correspondiente es TRISA (Registrar 4-2). Configuracin de un poco TRISA (= 1) har
que el correspondiente PORTA pin una entrada (es decir, desactivar el Controlador de
salida). Eliminacin de un poco TRISA (= 0) har que el correspondiente PORTA pin una
salida (es decir, permite controlador de salida y pone el contenido del pestillo de salida
en el pin seleccionado). La excepcin es RA3, que es slo de entrada y su poco TRIS
siempre leern como "1".

Configuracin de los Puertos.


Los puertos pueden ser configurados como entradas o como salidas, es decir, dependen
del programador si un pin servir como entrada o como salida y en qu momento ocurrir
esto. Para realizar esto es necesario modificar el valor de los registros TRISx.
Una forma fcil de recordar como configurar un pin como entrada o como salida es que el
1 se parece a la "I" de Input y el "0" se parece a la "O" de output, as todos los bits de los
registros TRIS que tengan 1 sern entradas y los bits que tengan 0 sern salidas.
Muchas veces deseamos configurar una gran cantidad de pines sin modificar el resto para
ello se utilizan las operaciones bit a bit (and, or, xor), tambin llamadas operaciones
mascara.

6. Explique los registros de funciones especiales


El PIC16F690 tiene una serie de caractersticas destinadas a maximizar la fiabilidad
del sistema, minimizar los costos mediante la eliminacin de los componentes
externos, proporcionar caractersticas de ahorro de energa y la proteccin del
cdigo de oferta.
El PIC16F690 tiene dos temporizadores que ofrecen retrasos NECESARIO en el
encendido. Uno es el oscilador de la puesta en marcha del temporizador (OST)
destinado a mantener el chip en reajuste hasta que el oscilador de cristal es
estable. El otro es el encendido automtico (PWRT), que proporciona un retardo
fijo de 64 ms (nominal) en el encendido nicamente diseados para mantener el
restablecimiento parcial, mientras que el suministro de energa se estabiliza.
El modo de SLEEP est diseado para la oferta de un modo de potencia baja
corriente muy baja. El usuario puede despertar de SLEEP a travs de:

Reset externo
Temporizador de vigilancia despertar
Un Interruptor

7. Explique el funcionamiento de los convertidores analgicos


El convertidor analgico al digital permite la conversin de una seal de entrada
analgica a una representacin binaria de 10 bits de esa seal. Este dispositivo
utilizan las entradas analgicas, que son multiplexados en el muestreo y retencin
se conecta a la entrada del convertidor. El convertidor genera un resultado binario
de 10 bits a travs aproximacin sucesiva y almacena el resultado de la conversin
en el registro de resultado ADC.
La referencia de tensin ADC es seleccionable por software, que sea generado
internamente o externamente suministrado.
El ADC puede generar una interrupcin tras la finalizacin de una conversin. Esta
interrupcin se puede utilizar para activar el dispositivo de su SLEEP.
A la hora de configurar y usar el ADC las siguientes funciones deben ser
consideradas configuracin del puerto, como:

Seleccin de canal

Seleccin de referencia de voltaje ADC


Fuente de reloj de conversin ADC
Control de interrupcin
Resultados de formato

8. Explique cmo funciona la funcin PWM


La modulacin PWM consiste en que el modulo del PWM del micro genere una
onda cuadrada con una frecuencia dada (regularmente alta, como por ejemplo 15
KHz), y luego nosotros podemos ir cambiando el modo de trabajo de dicha
modulacin.
Uno de los parmetros principales que se debe de tener conocimiento para el
funcionamiento de esta funcin, es la frecuencia (o su inverso el periodo) de
modulacin. La frecuencia es programable (con ciertas limitaciones) en base a
varias variables; como la frecuencia del oscilador principal, el prescalador o divisor
previo del TIMER y el registro PR2 asociado al TIMER.
La frecuencia responde a la formula

)(

o que es lo mismo, el periodo del PWM ser el inverso de dicha frecuencia

Lo que se debe de hacer para indicar que se va usar el mdulo PWM es habilitarlo,
indicando que se va usar como generador de una onda, ya que dicho modulo es
compartido con otras funciones (capture/compare). La forma de hacerlo es 11XX
los cuatro bits menos significativos CCP1CON. Los

9. Explique cmo funciona la funcin TIMER


El Timer es un mdulo que funciona como temporizador o contador de 8 bits, y
puede funcionar como temporizador o como contador. En el modo temporizador

el valor de registro se incrementa en cada ciclo de instruccin. Mientras que en el


modo contador el valor de registro se incrementa en cada flanco, ya sea
ascendente o descendente (tambin puede referirse a flanco izquierdo o flanco
derecho).
El modo temporizador se selecciona se selecciona poniendo a cero el bit T0CS del
registro OPTION, poniendo a 1 este bit el modulo trabaja en modo contador; en
este modo adems se debe de seleccionar si es el incremento se producir en cada
filo ascendente o descendente, al poner a cero bit T0SE del registro OPTION se
selecciona el filo ascendente.
En modo temporizador el Timer 0 incrementa su cuenta en cada ciclo de
instruccin. Este modo sirve para generar temporalizaciones y bases de tiempo de
la misma forma que los retardos por software, sin embargo las temporizaciones
con el TIMER 0 pueden ser ms exactas y adems cuentan con la ventaja de que el
modulo puede trabajar mediante interrupciones as que el programa puede
ejecutar otras instrucciones mientras se realiza la temporizacin.

10. Demuestre y comprenda 15 instrucciones de las 35 en MPLAB


1.

Intruccion MOVWF Mueve el contenido del registro W al registro f.


Sintaxis: MOVWF f
Operacin: (W) se mueve al registro (f)
Ciclos de instruccin: 1
Bits del registro de estados que se afectan: Ninguno

2.

Instruccin MOVF: Mueve el contenido del registro f hacia el registro W.


Sintaxis: MOVF f
Operacin: (W) se carga con (f)
Ciclos de instruccin: 1
Bits del registro de estados que se afectan: Z

Ejemplo: MOVF regis,0


Antes de la instruccin registro W = ?, regis = d32
Despus de la instruccin registro W = d32

3.

Instruccin MOVLW: Carga el registro W con el valor constante k.


Sintaxis: MOVLW k
Operacin: (W) se carga con el valor k
Ciclos de instruccin: 1
Bits del registro de estados que se afectan: Ninguno

Ejemplo: MOVLW 5Ah


Antes de la instruccin W = ?
Despus de la instruccin W = 5Ah
4. Instruccin INCFSZ: Incrementa en uno el contenido del registro f, si el
contenido de f queda en 00 el micro salta una lnea del programa, el resultado
se guarda en el registro escogido segn el valor del bit d.

Sintaxis: INCFSZ f,d


Operacin: (f) + 1 , salta si el resultado es cero
Ciclos de instruccin: 1 (2)
Bits del registro de estados que se afectan: Ninguno

Ejemplo: aqu DECFSZ regis, 1

GOTO ciclo
contina.....
Antes de la instruccin contador de programa = aqu
Despus de la instruccin regis = regis + 1
si regis = 0, entonces
contador de programa = continua
si regis no es 0, entonces
contador de programa = aqu + 1 (ejecuta GOTO ciclo)

5. Instruccin INCF: Incrementa en uno el contenido del registro f, el resultado se


guarda en el registro escogido segn el valor del bit d.
Sintaxis: INCF f,d
Operacin: (f) + 1
Ciclos de instruccin: 1
Bits del registro de estados que se afectan: Z
Ejemplo: INCF regis,1
Antes de la instruccin regis = d24

Despus de la instruccin regis = d25

6.

Instruccin GOTO: El contador de programa salta a la direccin k


Sintaxis: GOTO k
Operacin: El contador de programa salta a la direccin k
Ciclos de instruccin: 2
Bits del registro de estados que se afectan: Ninguno

Ejemplo: GOTO ciclo


Antes de la instruccin contador de programa = ?
Despus de la instruccin contador de programa = ciclo
7. Instruccin DECFSZ: Decrementa en uno el contenido del registro f, si el
contenido queda en 00 el micro salta una lnea del programa, el resultado
obtenido se guarda en el registro escogido segn el valor del bit d.
Sintaxis: DECFSZ f,d
Operacin: (f) - 1 , salta una lnea si el resultado es cero
Ciclos de instruccin: 1 (2)
Bits del registro de estados que se afectan: Ninguno

Ejemplo: aqu DECFSZ regis, 1 GOTO ciclo contina .....


Antes de la instruccin contador de programa = aqu
o Despus de la instruccin regis = regis - 1
8. Instruccin DECF: Decrementa en uno el contenido del registro f, el resultado se
guarda en el registro escogido segn el valor del bit d.
Sintaxis: DECF f,d
Operacin: (f) - 1
Ciclos de instruccin: 1
Bits del registro de estados que se afectan: Z
Ejemplo: DECF regis,1
Antes de la instruccin regis = d13
Despus de la instruccin regis = d12

9. Instruccin COMF: Complementa el contenido del registro f (cambia unos por


ceros y viceversa), el resultado se guarda en el registro escogido segn el valor del
bit d.
Sintaxis: COMF f,d
Operacin: (complementar registro f)
Ciclos de instruccin: 1 Instrucciones para programar el PIC16F877 8
Bits del registro de estados que se afectan: Z
Ejemplo: COMF regis,0
Antes de la instruccin regis = b00101100, W = ?
Despus de la instruccin regis = b00101100, W = b11010011
10. Instruccin CLRW: Borra el contenido del registro W (lo carga con 00)
Sintaxis: CLRW
Operacin: Registro W = 00
Ciclos de instruccin: 1
Bits del registro de estados que se afectan: Ninguno
Ejemplo: CLRW

Antes de la instruccin registro W = 5Ah


Despus de la instruccin registro W = 00

11. Instruccin CLRF: Borra el contenido del registro f, lo carga con 00.
Sintaxis : CLRF f
Operacin : borra el contenido del registro f (lo carga con 00)
Ciclos de instruccin : 1
Bits del registro de estados que se afectan: Z
Ejemplo: CLRF regis
Antes de la instruccin regis = 5Ah
Despus de la instruccin regis = 00
12. Instruccin CALL: Llama una subrutina que est ubicada en la posicin de memoria
o etiqueta k.
Sintaxis : CALL k
Operacin : carga el apuntador de programa con la direccin K
Ciclos de instruccin : 2
Bits del registro de estados que se afectan: Ninguno

Ejemplo: aqu CALL rutina

Antes de la instruccin contador de programa = aqu


Despus de la instruccin contador de programa = rutina En la pila se guarda la
direccin aqu para regresar
13. Instruccin BCF: Pone en cero el bit b del registro f.
Sintaxis : BCF f,b
Operacin : 0 (f<b>)
Ciclos de instruccin : 1
Bits del registro de estados que se afectan: Ninguno
Ejemplo: BCF regis,7

Antes de la instruccin regis = b11111111


Despus de la instruccin regis = b01111111

14. Instruccin ANDWF: Operacin lgica AND entre un registro f y el registro W, el


resultado se guarda en el registro escogido segn el valor del bit d.
Sintaxis : ANDWF f,d
Operacin : (W) AND (f)
Ciclos de instruccin : 1
Bits del registro de estados que se afectan: Z
Ejemplo: ANDWF FSR,1

Antes de la instruccin registro W = b00010111 registro FSR = b11000010


Despus de la instruccin registro W = b00010111 registro FSR = b00000010

15. Instruccin ANDLW: Operacin lgica AND entre una constante k y el registro W,
la operacin se hace bit a bit, el resultado queda en el registro W.
Sintaxis : ANDLW k
Operacin : (W) AND (k)
Ciclos de instruccin : 1
Bits del registro de estados que se afectan: Z
Ejemplo: ANDLW b10101010

Antes de la instruccin registro W = b11110000


Despus de la instruccin registro W = b10100000
Despus de la instruccin registro W = b10100000

You might also like