Documente Academic
Documente Profesional
Documente Cultură
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
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.
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
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 ;---------------------------------------------------------------------------------------------------------------------
XT OFF OFF
Practica 4
5 de 5