Sunteți pe pagina 1din 5

TECNOLGICO DE ESTUDIOS SUPERIORES DE ECATEPEC INGENIERA EN SISTEMAS COMPUTACIONALES

ARQUITECTURA DE COMPUTADORAS ING. JORGE ALBERTO LPEZ OSEGUERA PRCTICAS CON PICS PRCTICA No. 4 MULTIPLEXAJE DE TECLADOS Y DISPLAYS I. OBJETIVOS

El alumno se iniciara en el desarrollo de proyectos con microcontroladores, deber entender el cdigo II. EQUIPO Y MATERIAL Equipo:

Material 1 8 8 1 1 1 1 2 1 1 1 1

PIC16F84A PC resistencias de 1k 1 fuente de 5 volts resistencia de 100 Software MPLAB resistencia de 10k Software icprog resistencia de 2.7 k dipswitch de 8 cristal de cuarzo de 4MHz capacitores de 20 pf display de ctodo comn Circuito integrado 9368 o 7448 transistor 2N3904 protoboard

III.

INTRODUCCIN

Uno de los problemas que con frecuencia enfrentan los diseadores y experimentadores de los sistemas electrnicos es que algunas veces las lneas de entrada / salida que tienen disponibles en un dispositivo parecen no ser suficientes para una aplicacin determinada; pero esto no siempre es verdad. En ocasiones, algunas tcnicas y trucos pueden ayudarnos a optimizar las funciones de los microcontroladores, reduciendo el tamao de los circuitos impresos y evitando la necesidad de conseguir circuitos integrados con mayor nmero de lneas Practica 4 1 de 5

I/O. Nuestro propsito en esta practica, es proporcionar algunas tcnicas que puedan ayudar a optimizar los diseos.

Practica 4

2 de 5

El multiplexaje, que se define como una forma de convertir secuencialmente el tiempo para que dos o mas seales se puedan transmitir a la vez por un mismo medio conductor, es sin duda una gran herramienta (y en ocasiones la nica) para conseguir un mejor aprovechamiento de un dispositivo. Nosotros la utilizaremos para la lectura de teclados y la visualizacin de informacin a travs de displays de siete segmentos. Manejo de teclados Inicialmente consideremos la implementacin de un teclado sencillo, el cual consta bsicamente de 8 interruptores (dipswitch), tal como se muestra en la figura 1.1, en donde cada pin del puerto B del microcontrolador corresponde una determinada tecla. Cuando estas teclas no estn presionadas, el pin corresponde estar conectado a un nivel lgico alto, en cambio cuando alguna de ellas se presiona, el pin correspondiente se conectara a un nivel lgico bajo; en este teclado por lo tanto se lee ceros. Un aspecto que vale la pena tener en cuenta es que si el microcontrolador tiene elementos pull-up internos, las resistencias que se muestran pueden eliminarse, simplificando el circuito. IV. DESARROLLO

Construir el circuito con el siguiente diagrama.

Figura 1.1. Lectura de un teclado sencillo Practica 4 3 de 5

En la figura 1.2 se muestra el diagrama de fluido para la lectura de un teclado de esta naturaleza; observe como el proceso se queda enclavado mientras no detecta tecla presionada. En la figura 1.3 se muestra el programa respectivo, el cual asigna un valor numrico, comprendido entre 0 y 7, a la tecla presionada. El valor obtenido se lleva a un display de siete segmentos para comprobar que el programa funciona correctamente. El lector podr determinar que para cuando dos o mas teclas se presionan simultneamente, la prioridad que existe entre ellas y como puede modificarse esta.

Figura 1.2. Diagrama de flujo para la lectura de un teclado sencillo


;Este programa lee un teclado sencillo compuesto por 8 interruptores y manejaun ;display de 7 segmentos ;En caso de que un numero se escriba D'15':significa numero decimal} ;En caso de que un numero se escriba B'00010101': significa numero binario ;En caso de que un numero se escriba 15H: significa hexadecimal ;sino especifica nada, se supone numeracion hexadecimal ;definicion de registros status equ 03h ;registro de estado ptoa equ 05h ;el puerto A esta en la direccion 05 de la RAM ptob equ 06h ;el puerto B esta en la direccion 06 de la RAM conta equ 0ch ;contador de rotaciones para identificar la tecla loops equ 0dh ;utilizando en retardos (milisegundo) loops2 equ 0eh ;utilizando en retardos rota equ 0fh ;registro que se rota para encontrar la tecla trisa equ 85h ;registro de configuracion de puerto A trisb equ 86h ;registro de configuracion de puerto B z equ 02h ;bandera de cero el registro de estados c equ 00h ;bandera de carry del registro de estados w equ 00h ;indica que el resultado se guarda en w reset org goto org 0 inicio 5 ;el vector de reset es la direccion 00 ;se salta al inicio del programa ;el programa empieza en la direccion de de 5 ;memoria 5

Practica 4

retardo top2 top movlw movwf movwf movwf nop nop nop nop nop nop decfsz goto decfsz goto retlw bsf movlw movwf movlw movwf bcf movlw movwf movf movwf call movf xorlw btfsc goto movwf clrf rrf btfsc goto incf goto goto D'100' loops D'110' loops2

;subrutina de retardo de 100 miliseg. ;el registro loops contiene el numero ;de milisegundos del retardo

loops2 top loops top2 0 status,5 0f0h trisa 0ffh trisb status,5 0ffh conta conta,w ptoa retardo ptob,w 0ffh status,z inicio

;pregunta si termino 1 ms ;pregunta si termina el retardo

inicio

ciclo leer

sigue

salir

;se ubica en el segundo banco de RAM ;se carga el registro w con ff ;se programan los pines del puerto A como salidas ;se carga el registro w con ff ;se programa los pines del puerto B como entrada ;se ubica en el primer banco de memoria RAM ;si no hay tecla oprimida se muestra una F ;en el display ;el valor del contador pasa el registro w ;pasa el valor de w al purto A (display) ;retardo ;lee el puerto de los interruptores ;invierte el dato leido ;pregunta si el dato de la inversion dio cero ;si no hay tecla oprimida borra display ;vuelve a leer rota ;lleva valor de tecla oprimida al registro rota conta ;inicializa el contador de rotaciones rota ;se rota el dato para buscar en que posicion ;se encuentra el interruptor activado status,c ;pregunta si el carry es 1 luego de la rotacion salir ;si es 1 esa es la tecla oprimida y va a indicar ;en el display cual es su valor conta ;si el carry estaba en cero luego de rotar el registro sigue ;se vuelve a rotar y se vuelve a provar ciclo ;el valor del registro queda en el registro conta ;y se pasa del registro queda en el registro conta

end ;---------------------------------------------------------------------------------------------------------------------

Fusibles de programacin ; Osc ; Watchdog ; Code Protect

XT OFF OFF

Power-Up-Timer ON Micro. PIC16F84

Figura 1.3. Programa para la lectura de un teclado sencillo.

Practica 4

5 de 5

S-ar putea să vă placă și