practica 12 micros ii

Upload: ricardo-fajardo

Post on 21-Jul-2015

50 views

Category:

Documents


0 download

TRANSCRIPT

MICROCONTROLADORES Y MICROPROCESADORES MATRICIAL Y LCD

PRCTICA 12.- TECLADO

1. INTRODUCCINA continuacin se desarrolla la prctica de teclado matricial 4x4 en la que por medio microcontrolador se desplegara en el LCD el nmero correspondiente del botn que se presiono, para comenzar necesitamos conocer teora de los elementos de la prctica y en especfico del teclado matricial. 1.1. LDC (Liquid Crystal Display) de 16x2 Una pantalla de cristal lquido o LCD (acrnimo del ingls Liquid Crystal Display) es una pantalla delgada y plana formada por un nmero de pxeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrnicos de pilas, ya que utiliza cantidades muy pequeas de energa elctrica.

A D 501 ND C B D C A B

A G F

1 6LE D LE D+ DB 7 DB 6 DB 5 D B 4 DB 3 DB 2 DB 1 DB 0 E R/ W R S V EE VC C V SS

1

Figura1. Estructura de un Display de Cristal Lquido alfanumrico.

Caractersticas Cada pxel de un LCD tpicamente consiste de una capa de molculas alineadas entre dos electrodos transparentes, y dos filtros de polarizacin, los ejes de transmisin de cada uno que estn (en la mayora de los casos) perpendiculares entre s. Sin cristal lquido entre el filtro polarizante, la luz que pasa por el primer filtro sera bloqueada por el segundo (cruzando) polarizador.

JOS ARMANDO LARA GONZALEZ

1

MICROCONTROLADORES Y MICROPROCESADORES MATRICIAL Y LCD

PRCTICA 12.- TECLADO

La superficie de los electrodos que estn en contacto con los materiales de cristal lquido es tratada a fin de ajustar las molculas de cristal lquido en una direccin en particular. Este tratamiento suele ser normalmente aplicable consiste en una fina capa de polmero que es unidireccionalmente frotada utilizando, por ejemplo, un pao. La direccin de la alineacin de cristal lquido se define por la direccin de frotacin. Antes de la aplicacin de un campo elctrico, la orientacin de las molculas de cristal lquido est determinada por la adaptacin a las superficies. En un dispositivo twisted nematic, TN (uno de los dispositivos ms comunes entre los de cristal lquido), las direcciones de alineacin de la superficie de los dos electrodos son perpendiculares entre s, y as se organizan las molculas en una estructura helicoidal, o retorcida. Debido a que el material es de cristal lquido birefringent, la luz que pasa a travs de un filtro polarizante se gira por la hlice de cristal lquido que pasa a travs de la capa de cristal lquido, lo que le permite pasar por el segundo filtro polarizado. La mitad de la luz incidente es absorbida por el primer filtro polarizante, pero por lo dems todo el montaje es transparente. Cuando se aplica un voltaje a travs de los electrodos, una fuerza de giro orienta las molculas de cristal lquido paralelas al campo elctrico, que distorsiona la estructura helicoidal (esto se puede resistir gracias a las fuerzas elsticas desde que las molculas estn limitadas a las superficies). Esto reduce la rotacin de la polarizacin de la luz incidente, y el dispositivo aparece gris. Si la tensin aplicada es lo suficientemente grande, las molculas de cristal lquido en el centro de la capa son casi completamente desenrolladas y la polarizacin de la luz incidente no es rotada ya que pasa a travs de la capa de cristal lquido. Esta luz ser principalmente polarizada perpendicular al segundo filtro, y por eso ser bloqueada y el pixel aparecer negro. Por el control de la tensin aplicada a travs de la capa de cristal lquido en cada pxel, la luz se puede permitir pasar a travs de distintas cantidades, constituyndose los diferentes tonos de gris.

JOS ARMANDO LARA GONZALEZ

2

MICROCONTROLADORES Y MICROPROCESADORES MATRICIAL Y LCD

PRCTICA 12.- TECLADO

2. OBJETIVOSo Realizar un programa que sea capaz de mostrar en un LCD el nmero presionado de

un teclado matricial o Adquirir nuevos conocimientos sobre la programacin del microcontrolador MC68HC908QB8

3. MATERIALEn esta prctica que se realizo se utilizaron los siguientes dispositivos Un protoboard Un LCD de 16x2 1 Potencimetro de 10k

Un teclado matricial Un microcontrolador MC68HC908QB8 Una fuente de alimentacin de 5 Volt Cable de conexin

4. DESARROLLOA continuacin se explicaran las condiciones de programacin que son requeridas de la prctica, tambin veremos el diagrama de conexiones de la practica y la explicacin del programa que meteremos al microcontrolador. 4.1 EXPLIACIN DE LA PRCTICA La prctica consiste en desarrollar un programa que haga la funcin de desplegar en un LCD de 16x2 el nmero del botn presionado en el teclado matricial 4x4 mantenerlo unJOS ARMANDO LARA GONZALEZ 3

MICROCONTROLADORES Y MICROPROCESADORES MATRICIAL Y LCD

PRCTICA 12.- TECLADO

determinado tiempo encendido y despus se debe de apagar, si ya no se presiona ningn otro botn. Condiciones para el desarrollo del programa de la prctica: 1. EL LCD inicia apagado. 2.- Al presionar botones aparecer el cdigo del botn en el LCD de 16x2. 3.- El LCD presentar el mensaje (LARA) (apellido paterno del programador) en su primera lnea y en la segunda el nmero correspondiente al botn presionado en un determinado tiempo la informacin y despus se apagara. Antes de realizar el programa vamos a conocer el esquema de las conexiones de los circuitos.

4.2. DIAGRAMA DE LA PRCTICA. Figura. Diagrama electrnico que muestra la forma de hacer las conexiones para que funcione de manera adecuada el programa. Como se puede observar

+5V 1 4.7k 5 4.7k 9 4.7k A2 13 4.7k 14 15 16 A3 10 11 12 6 7 8 A1 2 3 4 A0 VCC B0 B1 B2 B3 D4 D5 E E D6 D7 RS

+5V

VCC5V

MC68HC908QB8

AND501B D 5V C A B

D

C

Vo

10k

A G

F

E

W

GND

B7 B6

GND

Figura 4. Esquema de conexiones de la prctica.

JOS ARMANDO LARA GONZALEZ

4

MICROCONTROLADORES Y MICROPROCESADORES MATRICIAL Y LCD

PRCTICA 12.- TECLADO

4.3. EXPLICACIN DEL PROGRAMA En las primeras dos lneas son para habilitar las instrucciones de la macro y para la declaracin de funciones. #include #include "derivative.h" A continuacin se declaran las funciones y variables que se utilizan en el programa void tec_matrix(void);//Funcin que captura el nmero del botn presionado void ret (int basta);//Funcin de retardo void lcd_coman(char coma);//Funcin para mandar comandos del LCD al micro. void lcd_dato(char dat);//Funcin que despliega un carcter en el LCD void lcd_mens(char men[]);//Funcin que despliega una cadena de caracteres void lcd_char(char var);//Funcin para desplegar nmeros void prog_lcd(void);//Funcin para programar el LCD A continuacin se muestran todas las variables del programa int tec=0,pa,dest=199,des=0,i,dec=0,uni=0,condicion;//Variables const char comandos[6]={0x33,0x22,0x28,0x0C,0x06,0x01};//Variable en forma vector void main(void) {//Inicio del main del programa

CONFIG1_COPD=1; //Deshabilitamos el perro guardin afectando el archive config1. OSCSC=0X20; //Modificamos la velocidad del oscilador interno para que trabaje a la mayor velocidad. DDRB=0XCF; //Declaramos como salida todos los pines del Puerto excepto 5 y 6. prog_lcd();//Se llama la funcin para programar el LCD for(;;) {//Inicio del ciclo infinito del programa principal lcd_coman(0x84);//Funcin que posiciona el cursor en la linea 1 posicin 4 del LCD lcd_mens("PRACTICA 4 $"); //Funcin que despliega el mensaje PRACTICA 4

JOS ARMANDO LARA GONZALEZ

5

MICROCONTROLADORES Y MICROPROCESADORES MATRICIAL Y LCD

PRCTICA 12.- TECLADO

tec_matrix();();//Mandamos llamar la funcin para leer el teclado y dejar en la variable tec el nmero correspondiente al botn o un cero en caso de que no se haya presionado ninguno.

if(tec!=0){ //Preguntamos si tec es diferente de 0, es decir, si se presiono algn botn. des=tec; //guardamos el valor de tec en la variable des. dest=0; //iniciamos contador que usaremos para desplegar el numero del botn correspondiente durante un tiempo determinado si es que no se presiona otro botn. } else{//este else comienza a funcionar si es que no presionamos ningn botn, es decir tec=0. dest++;//Aumenta en 1el contador } if(dest>4); PTB_PTB6=0; PTB_PTB7=0;

PTB_PTB7=1; PTB_PTB6=1; PTB&=0XF0;JOS ARMANDO LARA GONZALEZ 8

MICROCONTROLADORES Y MICROPROCESADORES MATRICIAL Y LCD

PRCTICA 12.- TECLADO

PTB|= (dat&0x0F); PTB_PTB6=0; PTB_PTB7=0;

ret(5);//Se realize un retardo } void lcd_mens(char men[ ]){//Rutina que sirve para desplegar una cadena de caracteres char m;// se declara la variable m como char for(m=0;m