Sie sind auf Seite 1von 4

UNIVERSIDAD DE GUADALAJARA

CENTRO UNIVERSITARIO DE LOS VALLES


Maestra en Ingeniera Mecatrnica

PROGRAMA DE ESTUDIO
(2014B)

Sistemas Embebidos en Electrnica Industrial

Asesor:
R. Omar Domnguez Garca

Alumno:
Jos Antonio Gmez Castellanos

Sistemas Embebidos Tarea 10.- Actividad Prctica II.


Rehacer este diagrama utilizando el PIC 16F877A, solo eso el siguiente ejercicio ser
implementarlo y correr su programa.
Como un ejercicio prctico que nos introduzca de manera 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. La figura 2.1 muestra el
diagrama esquemtico del circuito.

Figura 2.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 est haciendo
contacto. En este caso, cuando no se encuentra cerrado ningn interruptor el
microcontrolador lee unos y cuando alguno se encuentre 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 est cerrado se convierta en una seal positiva para
encender el LED correspondiente. En la figura 2.2 se muestra el diagrama de flujo
correspondiente al ejercicio y en la figura 2.3 el programa respectivo.

;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 un nmero se escriba 15H: significa nmero hexadecimal
;Si no se especifica nada, se supone numeracin hexadecimal
;definicin de registros
pc equ 02h
status equ 03h
ptoa equ 05h ;el puerto A est en la direccin 05 de la RAM
ptob equ 06h ;el puerto B est en la direccin 06 de la RAM
trisa equ 85h ;registro de configuracin del puerto A
trisb equ 86h ;registro de configuracin del puerto B
w equ 00h ;indica que el resultado se guarda en W
reset org 0 ;el vector de reset es la direccin 00
goto inicio ;se salta al inicio del programa
org 5 ;el programa empieza en la direccin de memoria 5
inicio bsf status,5 ;se ubica en el segundo banco de RAM
movlw 0f0h ;se carga el registro W con 0f
movwf trisa ;se programan los pines del puerto A como salidas
movlw 0ffh ;se carga el registro W con ff
movwf trisb ;se programan los pines del puerto B como entradas
bcf status,5 ;se ubica en el primer banco de memoria RAM
ciclo movf ptob,w ;el valor de puerto B lo pasa al registro W
xorlw 0ffh ;con una operacin xor se invierte el valor
;del dato ledo del puerto B
movwf ptoa ;pasa el valor de W al puerto A
goto ciclo
end
;=========================================================================
====
; Fusibles de programacin
; Osc XT
; Watchdog OFF
; Code protect OFF
; Power-Up-Timer ON
; Micro. PIC16F84
;======================================================================
Programa de la conexin de LED y dipswitch

R= El video demostrativo del funcionamiento de la prctica se encuentra en:


http://youtu.be/yXmm0_K85Es
El diagrama qued de la siguiente manera:
VDD

C1
22p

X1
CRYSTAL

C2
22p

VDD

U2

D3
1
2
3
4
5
6
7
8

LED-YELLOW
D2

LED-YELLOW

D1
R3
LED-YELLOW

330R

D4

R4
330R

R5

LED-YELLOW

R6

1B
2B
3B
4B
5B
6B
7B
8B

COM
1C
2C
3C
4C
5C
6C
7C
8C

13
14
2
3
4
5
6
7

ULN2803
8
9
10
1

JP1
R1

JUMPER

R2

OSC1/CLKIN
OSC2/CLKOUT

R8

R10

1k

1k

1k

DSW1
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD

RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7

100R

10k
330R

VDD

R7

1k

U1

10
18
17
16
15
14
13
12
11

330R

R9

33
34
35
36
37
38
39
40

8
7
6
5

OFF

ON

1
2
3
4

DIPSW_4

15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30

PIC16F877A

El programa reescrito qued de la siguiente forma:


;Este programa lee el estado de 4 interruptores y de acuerdo a ello enciende o no 4 LED
PROCESSOR PIC16F877A
;Se determina el procesador a utilizar
#include
<p16f877a.inc> ;se incluye la librera del pic conteniendo la def de registros
CONF org
0
;el vector de reset es la direccin 00
BANKSEL
TRISA
; se ubica en el segundo banco de RAM
movlw
0xf0
;se carga el registro W con f0
movwf
TRISA
;se programan los pines del puerto A como salidas
movlw
0xff
;se carga el registro W con ff
movwf
TRISB
;se programan los pines del puerto B como entradas
BANKSEL
PORTA
;se ubica en el primer banco de memoria RAM
INICIO movf
PORTB,W
;el valor de puerto B lo pasa al registro W
xorlw
0xff
;con la operacin xor se invierte el valor que est en w
movwf
PORTA
;pasa el valor de W al puerto A
goto
INICIO
;repite el proceso desde la etiqueta INICIO
end

Bibliografa:
Jos Mara Angulo Usategui, Ignacio Angulo Martnez,
Susana Romero Yesa, Microcontroladores PIC: diseo prctico de aplicaciones.
PIC16F87X, PIC18FXXXX. Segunda parte, D.F. Mxico Ed. McGraw Hill, 2006.
http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
http://www.microchip.com/PIC16F

Das könnte Ihnen auch gefallen