Sie sind auf Seite 1von 14

I.

PORTADA

UNIVERSIDAD TCNICA DE AMBATO


FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA E
INDUSTRIAL.

CARRERA: INGENIERA EN ELECTRNICA Y COMUNICACIONES

Modulo:

Microcontroladores

a:

MICROCONTROLADORES

Integrantes:
Albn Jhony
Espn Tito
Satuquinga Cristian
Moposita Jessica
Lpez Daro
Ciclo Acadmico y paralelo:

Sptimo Electrnica A

Docente

Ing. Patricio Crdova

Fecha de envi:

10 de Noviembre del 2014

Fecha de entrega:

17 de Noviembre del 2014

OCTUBRE 2014- MARZO 2015

II.

Tema:

Manejo de Microcontroladores, entradas, fusibles interrupciones, teclados y LDC,.


III.

Objetivos

General
Definir los principales usos y configuraciones que se pueden aplicar a un
microcontrolador identificando su forma de trabajo en forma clara y concisa.
Especficos

Explicar los parmetros de configuracin inicial de los puertos de un


microcontrolador.

Describir las interrupciones que se pueden programar en un microcontrolador

Identificar la forma de trabajo de los teclados matriciales en conjunto con los


microcontroladores.

Efectuar la revisin de la forma de configuracin del microcontrolador al


trabajar con las pantallas de cristal lquido LCD ms comunes.

IV.

Introduccin
Los microcontroladores estn siendo empleados en multitud de sistemas
presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas,
frigorficos, televisores, ordenadores, impresoras, mdems, el sistema de
arranque de nuestro vehculo, etc. Adems de otras aplicaciones como
instrumentacin electrnica, control de sistemas, etc.

V.

Desarrollo

MANEJO DE PUERTOS

USE FAST IO
Esta directiva afecta al cdigo que el compilador generar para las instrucciones de
entrada y salida. Este mtodo rpido de hacer I/O ocasiona que el compilador realice
I/O sin programar el registro de direccin. El puerto puede ser A-G [1]. Con esto el
programador podr fijar las direcciones de los pines del puerto correspondiente
SET_TRIS_X (valor).
Ejemplo:
#use fast_io(A)

SET TRIS
Estas funciones permiten escribir directamente los registros tris-estado para la
configuracin de los puertos.
SET_TRIS_A(value)
SET_TRIS_B(value)
SET_TRIS_C(value)
SET_TRIS_D(value)
SET_TRIS_E(value)
Esto debe usarse con FAST_IO() y cuando se accede a los puertos de I/O como si
fueran memoria, igual que cuando se utiliza una directiva #BYTE. Cada bit de value
representa una patilla. Un '1' indica que la patilla es de entrada y un '0' que es de
salida[2].
Ejemplo:
SET_TRIS_B( 0x0F ); //pone B0, B1, B2 y B3 como entradas; B4, B5, B6 y B7 // como salidas
FUSIBLES
Los bit's de configuracin o mas comnmente llamados "fusibles" permiten configurar
ciertas funciones en los microcontroladores PIC, como el tipo de cristal para el
oscilador, permiten proteger el cdigo en el micro, entre muchas funciones. La cantidad
de funciones que se pueden configurar con los fusibles dependen del microcontrolador
[3]
.
Todos los PIC disponen de un cierto nmero de bits para configurar el
microcontrolador. Estos bits de configuracin estn disponibles en memoria no voltil
(EEPROM) cuando se programa el dispositivo, pero no son accesibles durante el
funcionamiento normal del microcontrolador. Los bits de configuracin permiten que el
usuario programe ciertas caractersticas del dispositivo para adaptarlo mejor a las
necesidades de la aplicacin [4].
Las caractersticas que se programan en los bits de configuracin son las siguientes:

El tipo de oscilador.
La habilitacin o no del perro guardin.
La proteccin de la memoria de programa.
La proteccin de la memoria EEPROM de datos, si existe en el dispositivo.
Las caractersticas del reset y la alimentacin del dispositivo.

Segn el dispositivo concreto, puede que alguna de estas caractersticas no sea


programable [5].
Los bits de configuracin de cada PIC se lo puede encontrar en los datasheets
correspondientes a los PICs estas se las puede encontrar en el captulo 14.0.- Special
Features of the CPU en la parte Customer Notification System.

A continuacin se presenta los bits de configuracin del PIC 16F887 [6]:


Power-on Reset (POR)
Power-up Timer (PWRT)
Oscillator Start-up Timer (OST)
Brown-out Reset (BOR)
Interruptores
Watchdog Timer (WDT).- establece la configuracin para el reinicio del micro cuando
el mismo se cuelgue o tenga un error de carga del programa permitiendo seguridad en
funcionamiento del micro.
Oscillator selection.- establece el oscilador que va utilizar el micro, sea este interno o
externo
Sleep.- pone en modo de espera al micro cuando l no est en uso permitiendo ahorro de
energia
Code protection.- protege el programa anti copia, permitiendo bloquear todo tipo de
copia mediante programas y reservando derecho de autor.
ID Locations.- selecciona la localizacin del ID de procesos para el funcionamiento del
micro
In-Circuit Serial Programming

Fig. 1 CONFIG1: Configuration word register 1

Fig. 2 CONFIG2: Configuration word register 2

INTERRUPCIONES
Es un evento de origen interno o externo que, si es atendido, hace que el
microcontrolador interrumpa la ejecucin del programa en curso y en su lugar se ejecute
las instrucciones de otro programa. Normalmente, cuando el programa interrumpido,

justo con la instruccin que sigue a la que se estaba ejecutando cuando se produjo la
solicitud de interrupcin [7].
Las interrupciones es un Sistema que provoca un salto a una subrutina, pero disparada
por un evento del hadware. Se diferencia de los saltos a subrutinas generados por el
software, como el producido por la instruccin CALL, en lo siguiente:

La interrupcin es atemporal; el microcontrolador nunca sabe cundo va a


ocurrir.
Cuando la interrupcin ocurre, el procesador abandona el programa que est
ejecutado y pasa a procesar una rutina que se encuentra a partir de una posicin
de memoria fija denominado vector de interrupcin.
En las interrupciones se salva el contenido interno de los registros ms
importantes del procesador, de modo que luego, al volver al programa que se
est ejecutando, se prosiga sin alteraciones [8].

.
Fig. 3 Proceso de interrupcin

La familia Pic16F87x tiene 13 fuentes de interrupciones. Al aceptarse una interrupcin


se salva el valor del PC (contador de porgrama) en la pila y se carga aquel con el valor
0004h, que es el Vector de Interrupcion. La mayora de los recursos o perifricos de
que disponen los Pic16F87x son capaces de ocasionar una interrupcin.
1. Desbordamiento del TMR0
2. Activacin de la patita de interrupcin RB0/INT
3. Cambio de estado de una de las cuatro patitas de ms peso del puerto B
4. Finalizacin de la escritura de un byte en la EEPROM
5. Desbordamiento del Timer1
6. Desbordamiento del Timer2
7. Captura o comparacin en el mdulo CCP1
8. Captura o comparacin en el mdulo CCP2
9. Transferencia en la puerta serie Sncrona
10. Colisin de bus en la puerta serie Sncrona
11. Fin de la transmisin en el USART
12. Fin de la recepcin en el USART
13. Fin de la conversin en el conversor A/D
14. Transferencia en la puerta paralela esclava

CONEXIN DE UN TECLADO MATRICIAL

No existe un estndar para los conectores de los teclados en aplicaciones de los sistemas
de microcontrol, de tal forma que cada modelo exige un hardware de conexin y una
subrutina de manejo distintos.
La configuracin ms sencilla es la conocida como matricial, con 4 renglones y 4
columnas, para un total de 16 botones.

Fig. 4 Diagrama del teclado y su interfaz con sistema EB88


El teclado viene organizado con 4 renglones (X1...X4) y 4 columnas (Y1...Y4), de tal
forma de que cada tecla queda identificada por la interseccin de un rengln y una
columna. En la figura se muestran los diagramas del teclado, as como de la asignacin
de seales en el puerto B, en el conector del sistema y en el conector del teclado. Las
seales RB0...RB3 se programan como salidas del puerto B, mientras las seales
RB4...RB7 como entradas.
El programa de control del teclado tiene dos partes: una es la subrutina de "deteccin"
en la cual el programa detecta que se oprimi una tecla. En su segunda parte, aparece la
subrutina de "identificacin" mediante la cual el programa identifica que tecla fue la que
se oprimi.

Fig. 5 Teclado 4 X 4
Algoritmo de deteccin e identificacin: La tcnica de programacin para detectar qu
botn fue oprimido, es escribir en los bits del puerto B en forma secuencial un CERO
en las columnas Y1, Y2, Y3, Y4, y leer cada vez los renglones X1, X2, X3, X4. Cuando
una tecla es oprimida, la lectura en alguno de los renglones ser CERO y el cdigo de
8 bits X-Y hallado se convierte en el cdigo ASCII de la tecla oprimida mediante una
tabla. La tabla muestra esta relacin: [7]
RB7RB0 HEXA

TECLA

RB7..RB0

HEXA

TECLA

11101110

EE

"0"

10111110

BE

"8"

11101101

ED

"1"

10111101

BD

"9"

11101011

EB

"2"

10111011

BB

"A"

11100111

E7

"3"

10110111

B7

"B"

11011110

DE

01111110

7E

"C"

11011101

DD

01111101

7D

11011011

DB

01111011

7B

11010111

D7

01110111

77

Al tener una secuencia es deducible saber la forma de trabajo del teclado 3 X 3 puesto
que la combinacin de valores solo se reduce a 9 valores.
CONEXIN DE UNA PANTALLA LCD
La pantalla LCD es otro dispositivo muy verstil y viene en una gran cantidad de
modelos y configuraciones. Sirven como ventana a datos, configuraciones o despliegue
de informacin donde un LED no es suficiente.

Fig. 6. LCD genrica 16X2


Lo primero que debemos saber, es la conexin de la pantalla LCD segun el tipo que
vamos a usar y para esto consultaremos el datashet de una pantalla LCD genrica 16X2
es decir 2 filas de 16 caracteres cada una.

Fig. 7. Diagrama de la pantalla LCD


Se puede dividir el diagrama en dos partes, la parte de "control y despliegue"
(izquierda) y la parte de "alimentacin y ajuste" (derecha).

Fig. 8. Control y Despliegue LCD

Fig. 9. Conexin Iluminacin LCD

No es obligatorio conectar el (LED BACKLIGHT) para que funciones la LCD, ya que


es es un circuito independiente, lo interesante es que se puede usar un interruptor
normal o uno mediante un circuito de conmutacin
Para los dems pines voy a colocar la descripcin que me da la hoja del fabricante.

Fig. 10. Descripcin de los pines y su funcin

Cdigo utilizado para la manipulacin de LCD


FUNCION

DESCRIPCION

InitIO( )

Enva los comandos para inicializar el LCD. El cursor se


posiciona en (0,0).

ClearScreen( )

Pone las 16 celdas del LCD en blanco.

GotoXY(1,5)

Posiciona el cursor en el rengln 1, celda 5

PrintString("ANSI
C")

Escribe el texto entrecomillado, iniciando en la celda en donde se


encuentre posicionado el cursor. Mximo 8 caracteres.

PrintString(wob)

La funcin acepta como parmetro de entrada un string, en este


ejemplo de nombre "wob". Escribe en el LCD el contenido del
string. Mximo 8 caracteres. Vea el programa de prueba 3

PutChar('*')

Escribe el caracter indicado en la posicin en donde se encuentre


el cursor. Observe que deben usarse diresis y no comillas.

PutChar(53);

se enva el cdigo ASCII del nmero 5, cuyo valor decimal es 53

PutChar(x);

se enva al LCD, en un solo caracter, el valor de la variable x, que


debe ser un cdigo ASCII.

DelayMs(100)

Realiza un retraso de 100 milisegundos. El valor mximo es


30,000.
LCD 20x4

Todos los lcd de 20x4 requiere una alimentacin de 3v a 5v, a diferencia del lcd 16x2
este dispositivo permite visualizar ms datos en la configuracin de salida, permitiendo
una mayor rapidez en la obtencin y visualizacin de datos configurados en salida en la
pantalla con un PIC.
Los pines de salida del mdulo son:
1
2
3
4
5
6
7
8
9
10
11
12

Tierra
VCC (Por lo general, +5 V)
Ajuste de contraste (VO)
Registrar Select (RS).
RS = 0: Comando, RS = 1: Datos
Lectura / escritura (R / W).
R / W = 0: Escribir, R / W = 1: Leer
Enable
Bit 0 (No se requiere en la operacin de 4 bits)
Bit 1 (No se requiere en la operacin de 4 bits)
Bit 2 (No se requiere en la operacin de 4 bits)
Bit 3 (No se requiere en la operacin de 4 bits)
Bit 4
Bit 5

13
14
15
16

Bit 6
Bit 7
LED de luz de fondo del nodo (+)
LED de luz de fondo del ctodo (-)

Por lo general, el dispositivo requiere 8 lneas de datos para proporcionar datos a Bits 07. Sin embargo, esta pantalla LCD se puede configurar para utilizar un modo "de 4
bits", que le permite enviar datos en dos trozos de 4 bits. Esto reduce el nmero de
conexiones GPIO que necesita, al conectarse con su pic.[9]

Fig.10 LCD 20x4

Correspondencia entre los cdigos de caracteres y patrones de caracteres (Cdigo de


ROM: A00)

Fig 11.- tabla de correspondencia de datos en la ROM[10]


Instrucciones para LCD 20x4

Fig. 12.- tabla de instrucciones para el LCD 20x4[10]


VI.

Conclusiones
Se pudo explicar los parmetros necesarios en la configuracin inicial de los
puertos presentes en un microcontrolador ya inicializando el valor o
identificando su forma de trabajo.

Al describir las interrupciones se puede observar que al programar existe cdigo


que permite cortar la secuencia que realiza un microcontrolador

Se logra identificar la forma de configuracin que

poseen los teclados

matriciales dentro de los microcontroladores permitiendo as la insercin de


datos directos desde una fuente externa.

Al efectuar la revisin sobre de configuracin del microcontrolador cuando al


mismo se le aade pantallas de cristal lquido se identifica como es posible
obtener resultados de un proceso por medio de dispositivos externos que ayudan
a la visualizacin de informacin.

VII.

Referencias bibliogrficas

[1]Manual CCS, http://www.cursos.ucv.cl/eie48700/referencias/CCS_C_Manual.pdf


[2]
Programando
articulo/4587553.pdf

microcontroladores

pic,

dialnet.unirioja.es/descarga/

[3] http://xorwf.blogspot.com/2010/08/fusibles-de-configuracion-bits-de.html
[4] FernandoE.,ValdsP.,RamnP., Microcontroladores: fundamentos y aplicaciones
con PIC, Marcobombo S.A., Espaa(2007) pp 36
[5] FernandoE.,ValdsP.,RamnP., Microcontroladores: fundamentos y aplicaciones
con PIC, Marcobombo S.A., Espaa(2007) pp 37
[6] Microchip, PIC16F882/883/884/886/887 Data Sheet
[7] FernandoE.,ValdsP.,RamnP., Microcontroladores: fundamentos y aplicaciones
con PIC, Marcobombo S.A., Espaa(2007) pp 217
[8] Users Staff, Microcontrolador, Dalaga S.A., Buenos Aires(2011) pp 66
[9] http://www.raspberrypi-spy.co.uk/2012/08/20x4-lcd-module-control-using-python/
[10] http://www.systronix.com/access/Systronix_20x4_lcd_brief_data.pdf

Das könnte Ihnen auch gefallen