Documente Academic
Documente Profesional
Documente Cultură
ARQUITECTURA DE COMPUTADORAS ING. JORGE ALBERTO LPEZ OSEGUERA PRCTICAS CON PICS PRACTICA No. 1 CONEXIN DE LED Y DIPSWITCH I. OBJETIVOS de proyectos con
EQUIPO Y MATERIAL
Equipo: PC 1 fuente de 5 volts Software MPLAB Software icprog
III.
INTRODUCCIN
Como ejercicio practico que nos introduzca de marea rpida y sencilla en el manejo de los microcontroladores PIC, vamos a realizar un montaje simple, el cual consiste en conectar cuatro interruptores (dipswitch) como entradas del microcontrolador y cuatro LED como salidas. El programa que se escriba se debe encargar de verificar el estado de los dipswitch y de acuerdo a este, encender los LED. Este ejemplo aunque es muy simple, pero es fundamental para ejercitar el manejo de los puertos.
Practica 1
1 de 4
Figura 1.1. Conexin de los LED y dipswitch. Debe notarse que los interruptores tienen resistencias conectadas a la fuente de alimentacin, estas sirven para fijar un nivel alto cuando el dipswitch no esta haciendo contacto. En este caso, cuando no se encuentra cerrado ningn interruptor el microcontrolador lee unos y cuando algo se encuentra cerrado se leer un cero. Por otra parte, para encender los LED se utiliza un circuito integrado ULN2803, el cual tiene un conjunto de transistores que invierten el pulso y amplifican la corriente. Por lo tanto, el pulso para encender un LED debe ser positivo. Dado lo anterior, cuando se lee el estado de los dipswitch se debe invertir el valor ledo, para asegurarse que el interruptor que este cerrado se convierta en una seal positiva para encender el LED correspondiente. En la figura 1.2 se muestra el diagrama de flujo correspondiente al ejercicio y en la figura 1.3 el programa respectivo. INICIO
Programar Puertos Leer puerto B (Interruptores) Invertir el valor ledo
Practica 1
2 de 4
; Este programa lee el estado de 4 interruptores y de acuerdo a ello enciende o no 4 ; LED ; En caso de que un nmero se escriba D15: significa nmero decimal ; En caso de que el nmero se escriba B00010101: significa nmero binario ; En caso de que el nmero se escriba 15H: significa nmero hexadecimal ; Si no se especifica nada, se pone numeracin hexadecimal ; Definicin de registros pc status ptoa ptob trisa trisb w reset equ equ equ equ equ equ equ org goto org bsf movlw movwf movlw movwf bcf movf xorlw 02h 03h 05h 06h 85h 86h 00h 0 inicio 5 status,5 0f0h trisa 0ffh trisb status,5 ptob,w 0ffh
; el puerto A esta en la direccin 05 de la RAM ; el puerto B esta en la direccin 06 de la RAM ; registro de configuracin del puerto A ; registro de configuracin del puerto B ; indica que el resultado se guarda en w ; el vector de reset es la direccin 00 ; se salta al inicio del programa ; el programa empieza en la direccin de memoria 5 ; se ubica en el segundo banco de RAM ; se carga el registro W con 0f ; se programan los pines del puerto A como salidas ; se carga el registro W con ff ; se programan los pines del puerto B como entradas ; se ubica el primer banco de memoria RAM ; el valor de puerto B lo paso al registro W ; con una operacin XOR se invierte el valor ; del dato ledo del puerto B ; pasa el valor de W al puerto A.
inicio
ciclo
; ---------------------------------------------------------------------------------------------------------------------------------------------------------------; Fusibles de programacin ; Osc XT ; Watchdog OFF ; Code Protect OFF ; Power-Up-Timer ON ; Micro. PIC16F84 ;---------------------------------------------------------------------------------------------------------------------------------
Practica 1
3 de 4
Practica 1
4 de 4