proyecto

Páginas: 102 (25468 palabras) Publicado: 7 de julio de 2014
Capítulo 2. Proyectos con el PIC16F84

Capítulo 2

Proyectos con
el PIC16F84

• Conexión de LED y dipswitch
• Manejo de un display de siete segmentos
• Multiplexaje de teclados y displays
• Conexión de memorias seriales al PIC
• Manejo de un módulo LCD
• Comunicación serial RS-232
• Características especiales de los PIC
- Interrupciones
- Watchdog timer
- EEPROM de datos delPIC16F84
• Control de un motor paso a paso

Curso avanzado de Microcontroladores PIC •

23

Capítulo 2. Proyectos con el PIC16F84

24

Curso avanzado de Microcontroladores PIC •

Capítulo 2. Proyectos con el PIC16F84

Proyecto N° 1: Conexión de LED y dipswitch
Como un ejercicio práctico que nos introduzca de manera rápida y sencilla en el
manejo de los microcontroladores PIC, vamos arealizar 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 eldiagrama esquemático del circuito.
+5V
14

+5V
Interruptores 1K
+5V
1K

VDD

13 RB7
12 RB6

RA2

11 RB5
10 RB4
9 RB3
8 RB2

RA1
RA0

1

2

17

18

3

16

17

4

+5V
330Ω LED

15

PIC16F84

7 RB1
6 RB0

RA4/TOCKI

20pF
4MHz

RA3

Buffer
ULN2803
18
1
2

MCLR
16 OSC1
15 OSC2

20pF

4
+5V
10K

VSS
5

100Ω

RESET

Figura2.1. Conexión de los LED y dipswitch.
Debe notarse que los interruptores tienen resistencias conectadas a la fuente de
alimentación, estas sirven para fijar un nivel alto cuando el dipswitch no está haciendo contacto. En este caso, cuando no se encuentra cerrado ningún interruptor el
microcontrolador lee “unos” y cuando alguno se encuentre cerrado se leerá un “cero”.
Por otra parte, paraencender 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 leído, para asegurarse que el interruptor que esté cerrado se convierta en
una señal positiva paraencender 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.

Curso avanzado de Microcontroladores PIC •

25

Capítulo 2. Proyectos con el PIC16F84
INICIO

Programar
puertos

Leer puerto B
(interruptores)

Invertir el valor
leído

Pasar dato al
puerto A

Figura 2.2. Diagrama de flujopara la conexión de los LED y dipswitch
;Este programa lee el estado de 4 interruptores y de acuerdo a ello enciende o
;no 4 LED
;En caso de que un número se escriba D’15': significa número decimal
;En caso de que el número se escriba B’00010101': significa número binario
;En caso de que un número se escriba 15H: significa número hexadecimal
;Si no se especifica nada, se supone numeraciónhexadecimal
;definición de registros
pc
equ
02h
status
equ
03h
ptoa
equ
05h
;el puerto A está en la dirección 05 de la RAM
ptob
equ
06h
;el puerto B está en la dirección 06 de la RAM
trisa
equ
85h
;registro de configuración del puerto A
trisb
equ
86h
;registro de configuración del puerto B
w
equ
00h
;indica que el resultado se guarda en W
reset

org
goto

0
inicio;el vector de reset es la dirección 00
;se salta al inicio del programa

org

5

;el programa empieza en la dirección de memoria 5

inicio

bsf
movlw
movwf
movlw
movwf
bcf

status,5
0f0h
trisa
0ffh
trisb
status,5

;se
;se
;se
;se
;se
;se

ciclo

movf
xorlw

ptob,w
0ffh

movwf
goto

ptoa
ciclo

;el valor de puerto B lo pasa al registro W
;con una...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Proyectos
  • Proyecto
  • Proyectos
  • Proyecto
  • Proyecto
  • Proyecto
  • Proyectos
  • Proyecto

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS