semaforo terminado
TRANSCRIPT
CATEDRATICO:
ING. ANGELICA MURILLO RAMIREZ
PRESENTA:
ABRAHAM OJEDA ISAAC ASBAI
COBO PEREZ ALEJANDRA
PAEZ TRUJILLO DANAE TERESA
SALDAÑA GONZALEZ JOSE MARIA
SANTOS LORTIA FERNANDO ANTONIO
SAYMOR AGUSTIN NEREYDA
ASIGNATURA:
MICROCONTROLADORES
TRABAJO:
SEMAFORO CON PIC16F84A
GRUPO:
608-A
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
2
INDICE MATERIAL A UTILIZAR 3
MARCO TEORICO 4
CUESTIONARIO 9
DESCRIPCION DETALLADA DEL LENGUAJE DE PROGRAMA 11
DESCRIPCIÓN DETALLADA DEL DIRECCIONAMIENTO DE LOS BIT´S
14
EXPLICACION DETALLADA DE LA SIMULACION EN PROTEUS 16
CONCLUSIONES Y RECOMENDACIONES 18
FUENTES DE INFORMACION 19
HOJAS DE DATOS 20
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
3
MATERIAL A UTILIZAR
FISICO
1 PIC16F84A
1 CRISTAL DE CUARZO DE 4MHz.
2 CAPACITORES DE 22pF
6 RESISTENCIAS
6 LED’S
PROTOBOARD
MULTIMETRO
DATASHEET DEL PIC16F84A
CABLES MACHO- MACHO
CARGADOR DE 5V
TARJETA PROGRAMADORA DE PIC´S
SIMULACION
SOFTWARE MPLAB IDE
SOFTWARE ISIS PROTEUS
SOFTWARE MASTER PRO
1 PIC16F84A
1 CRISTAL DE CUARZO DE 4MHz.
2 CAPACITORES DE 22pF
6 RESISTENCIAS
6 LED’S
FUENTES DE ALIMENTACION
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
4
MARCO TEORICO
PIC16F84A
CARACTERÍSTICAS DEL PIC16F84A
Repertorio de 35 Instrucciones.
Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que
necesitan dos.
Versiones para bajo consumo (16LF84A), de 4 MHz (PIC16F84A-04) y 20 MHz
(PIC16F84A-20). Un ciclo máquina del PIC son 4 ciclos de reloj, por lo cual si
tenemos un PIC con un cristal de 4 MHz, se ejecutarán 1 millón de instrucciones
por segundo.
Memoria de programa Flash de 1 K x 14 bits.
Memoria RAM dividida en 2 áreas: 22 registros de propósito específico (SFR) y 68
de propósito general (GPR) como memoria de datos.
15 registros de funciones especiales.
Memoria de datos RAM de 68 bytes (68 registros de propósito general).
Memoria de datos EEPROM de 64 bytes.
Contador de programa de 13 bit (lo que en teoría permitiría direccionar 4 KB de
memoria, aunque el 16F84 solo dispone de 1KB de memoria implementada).
Pila con 8 niveles de profundidad.
Modos de direccionamiento directo, indirecto y relativo.
ALU de 8 bits y registro de trabajo W del que normalmente recibe un operando que
puede ser cualquier registro, memoria, puerto de Entrada/Salida o el propio código
de instrucción.
4 fuentes de interrupciones:
A través del pin RB0/INT.
Desbordamiento del temporizador TMR0.
Interrupción por cambio de estado de los pines 4:7 del Puerto B.
Completada la escritura de la memoria EEPROM.
1.000.000 de ciclos de borrado/escritura de la memoria EEPROM.
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
5
40 años de retención de la memoria EEPROM.
13 pines de E/S con control individual de dirección.
PortA de 5 bits <RA0:RA4>.
PortB de 8 bits <RB0:RB7>.
Contador/Temporizador TMR0 de 8 bits con divisor programable.
Power-on Reset (POR).
Power-up Timer (PWRT).
Oscillator Start-up Timer (OST).
Watchdog Timer (WDT).
Protección de código.
Modo de bajo consumo SLEEP.
Puede operar bajo 4 modos diferentes de oscilador.
Programación en serie a través de dos pines.
Tecnología de baja potencia y alta velocidad CMOS Flash/EEPROM.
Características eléctricas máximas (no deben ser superadas y de mantenerse por
un tiempo en algún máximo puede dañarse al PIC)
Temperatura ambiente máxima para funcionamiento de -55°C to +125°C.
Tensión máxima de VDD respecto a VSS de -0,3 a +7,5V.
Tensión de cualquier patilla con respecto a VSS (excepto VDD, MCLR, y RA4) de
-0,3V a (VDD + 0.3V).
Tensión en MCLR con respecto a VSS -0,3 a +14V.
Tensión en RA4 con respecto a VSS -0,3 a +8,5V.
Disipación de potencia total de 800 mW.
Máxima corriente de salida a VSS 150 mA.
Máxima corriente de salida de VDD 100 mA.
Máxima corriente del puerto "A" como fuente, 50 mA.
Máxima corriente del puerto "A" como sumidero, 80 mA.
Máxima corriente del puerto "B" como fuente, 100 mA.
Máxima corriente del puerto "B" como sumidero, 150 mA.
Máxima corriente que puede suministrar una sola salida como fuente o sumidero.
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
6
DISPOSICIÓN Y DESCRIPCIÓN DE PATILLAS
ARQUITECTURA INTERNA
Las altas prestaciones de los microcontroladores PIC derivan de las características de
su arquitectura. Están basados en una arquitectura tipo Harvard que posee buses y
espacios de memoria por separado para el programa y los datos, lo que hace que
sean más rápidos que los microcontroladores basados en la arquitectura tradicional de
Von Neuman.
Este microcontrolador posee características especiales para reducir componentes
externos con lo que se reducen los costos y se disminuyen los consumos. Posee 4
diferentes modos de oscilador, desde el simple circuito oscilador RC con lo que se
disminuyen los costos hasta la utilización de un oscilador a cristal.
PUERTOS DE ENTRADA/SALIDA (E/S)
Para hacer útil un microcontrolador, hay que conectarlo a un dispositivo externo, o
sea, a un periférico. Cada microcontrolador tiene uno o más registros (denominados
puertos) conectados a los pines en el microcontrolador. Se denominan como puertos
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
7
de entrada/salida porque se puede cambiar la función de cada pin como quiera.
ENCAPSULADO Y MARCADO DEL PIC16F84A
El PIC16F84A puede presentarse en varios encapsulados:
Encapsulado PDIP tipo DIL ("Dual In Line" ó Doble En Línea) de 18 patillas, es el
encapsulado tradicional, grande y manejable.
Encapsulado SOIC de 18 patillas y SSOP de 20 patillas, para montaje superficial
SMD, una tecnología de mayor integración que ocupa muy poco espacio, pero con
un proceso de soldadura más difícil.
A continuación se presentaran los encapsulados y marcados de este dispositivo.
NOTA: Una característica importante de los pines es que pueden disponer de los resistores pull-up.
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
8
CRISTAL DE CUARZO
El cristal de cuarzo es utilizado como componente de control de la frecuencia de
circuitos osciladores convirtiendo las vibraciones mecánicas en voltajes eléctricos a
una frecuencia específica.
Por las propiedades mecánicas, eléctricas, y químicas, el cuarzo es el material más
apropiado para fabricar dispositivos con frecuencia bien controlada.
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
9
CUESTIONARIO
MENCIONA 5 CARACTERISTICA S DEL PIC16F84A
Repertorio de 35 Instrucciones.
Memoria de programa Flash de 1 K x 14 bits.
Memoria de datos EEPROM de 64 bytes.
Pila con 8 niveles de profundidad.
Modos de direccionamiento directo, indirecto y relativo.
MENCIONA LAS 4 FUENTES DE INTERRUPCIONES CON LAS QUE CUENTA
EL PIC16F84A:
A través del pin RB0/INT.
Desbordamiento del temporizador TMR0.
Interrupción por cambio de estado de los pines 4:7 del Puerto B.
Completada la escritura de la memoria EEPROM.
MENCIONA UNA CARACTERISTICA IMPORTANTE DE LOS PINES.
Una característica importante de los pines es que pueden disponer de los
resistores pull-up.
¿CUAL ES LA FUNCION DEL CRISTAL DE CUARZO?
El cristal de cuarzo es utilizado como componente de control de la frecuencia de
circuitos osciladores.
¿CON CUANTOS REGISTROS DE FUNCIONES ESPECIALES CUENTA EL
PIC16F84A?
15 registros de funciones especiales.
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
10
¿EN QUE POSICION COMIENZA Y TERMINA LA MEMORIA DEL PROGRAMA?
La memoria del programa comienza en la posición 0000h y termina en la posición
03FFh.
MENCIONA CUANTAS Y CUALES SON LAS AREAS EN LAS QUE SE DIVIDE
CADA BANCO
Cada banco se divide a su vez en dos áreas
RFS (Registros de Funciones Especiales)
RGP (Registros de Propósito General)
¿CUANTOS Y CUALES SON LOS MODOS DE DIRECCIONAMIENTO DEL PIC
16F84A?
Para el PIC16F84A solamente existen 4 modos de direccionamiento
DIBUJA LA DISPOSICIÓN DE LOS PINES DEL PIC16F84A
Direccionamiento Inmediato Direccionamiento bit a bit
Direccionamiento Directo Direccionamiento Indirecto
DESCRIPCIÓN DETALLADA DEL LENGUAJE DE PROGRAMA
CODIGO ENSAMBLADOR DESCRIPCION DE LA INSTRUCCION
LIST P=PIC16F84 PIC a utilizar
STATUS EQU 0X03 Declara la dirección de la variable estado
PORTA EQU 0X05 Asigna el nombre porta a la dirección 05
PORTB EQU 0X06 Asigna el nombre PortB a la dirección 06
TRISA EQU 0X85 Asigna la dirección 85 al registro de configuración del puerto a
TRISB EQU 0X86 Asigna la dirección 85 al registro de configuración del puerto b
RP0 EQU .5 Asigna el nombre rp0 al bit 5
CON1 EQU 0X0C Asigna la direccion de 0C a la variable CON
CON2 EQU 0X0D Asigna la direccion de 0D a la variable CON
CON3 EQU 0X0E Asigna la direccion de 0E a la variable CON
ORG 0X00 Inicio de la memoria de programa
MOVLW 0X1F Indican que los datos se cargaran a w
ORG 0X05 A partir de aquí inicia la escritura de programa
GOTO INICIO Ir a inicio
INICIO Etiqueta inicio
BSF STATUS,RP0 Pon set (1) en el bit .5 de registro de estado(pasa al banco 1)
CLRF TRISB Configura el puerto b como salidas
MOVLW 0XFF Carga en w 11111111
MOVWF TRISA Carga en trisa lo que tiene w (configura puerto a como entradas)
BCF STATUS,RP0 Pon clear (0) en el bit .5 de registro de estado(pasa al banco 0)
CICLO Etiqueta ciclo
MOVLW 0X24 Mueve el numero de bits a W indicados por la posición 0x24
MOVWF PORTB Carga en PORTB el valor de W
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES 12
MOVLW 0X44 Mueve el numero de bits a W indicados por la posición 0x44
MOVWF PORTB Carga en PORTB el valor de W
CALL DELAY Llama a la etiqueta DELAY
MOVLW 0X81 Mueve el numero de bits a W indicados por la posición 0x81
MOVWF PORTB Carga en PORTB el valor de W
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
MOVLW 0X82 Mueve el numero de bits a W indicados por la posición 0x82
MOVWF PORTB Carga en PORTB el valor de W
CALL DELAY Llama a la etiqueta DELAY
MOVLW 0X24 Mueve el numero de bits a W indicados por la posición 0x24
MOVWF PORTB Carga en PORTB el valor de W
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
CALL DELAY Llama a la etiqueta DELAY
MOVLW 0X44 Mueve el numero de bits a W indicados por la posición 0x24
MOVWF PORTB Carga en PORTB el valor de W
CALL DELAY Llama a la etiqueta DELAY
DELAY Etiqueta DELAY
MOVLW 0X02 Mueve el numero de bits a W indicados por la posición 0x02
MOVWF CON1 Carga en CON1 el valor de W
OTRA2 Etiqueta OTRA2
MOVLW 0XC0 Mueve el numero de bits a W indicados por la posición 0XC0
MOVWF CON2 Carga en CON2 el valor de W
OTRA1 Etiqueta OTRA1
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES 13
MOVLW 0XAC Mueve el numero de bits a W indicados por la posición 0XAC
MOVWF CON3 Carga en CON3 el valor de W
OTRA Etiqueta OTRA
DECFSZ CON3 Decrementa F y salta si es 0
GOTO OTRA Ve a la dirección OTRA
DECFSZ CON2 Decrementa F y salta si es 0
GOTO OTRA1 Ve a la dirección OTRA1
DECFSZ CON1 Decrementa F y salta si es 0
GOTO OTRA2 Ve a la dirección OTRA2
RETURN Regresa y realiza la misma rutina
END Fin del programa
DESCRIPCIÓN DETALLADA DEL DIRECCIONAMIENTO DE LOS BIT´S
EN EL CODIGO ENSAMBLADOR A LOS PUERTOS
8
1 4
0 2
0
1
0
8
0
4
0
2
0
1
1
8
1
4
0
2
0
1
0 8
0 4
0
2
1
1
0
8
0
4
0
2
1
1
0
8
0
4
1
2
0 1
0
8 1
8 2
2 4
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
15
8
0 4
1
2
0
1
0
8
0
4
1
2
0
1
0 8
0
4
0
2
0 1
0 8
0
4
0
2
1
1
0
4 4
0 2
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
16
EXPLICACIÓN DETALLADA DE LA SIMULACION EN PROTEUS
Al simular el circuito del semaforo con la ayuda de led´s en el software
ISIS/PROTEUS se procede a conectar todos los componetes de la manera correcta
dependiedo de la forma en que esté configurado el PIC16F84A. En este caso se
pretende usar todos los pines del puerto B como salida, y los pines del puerto A como
entrada. La logica del programa quemado en el microcontrolador se trata en que de
las señales del puerto de entrada A controlaran las salidas del puerto B, estos
direccionaran el movimiento secuencial de los led´s de tal manera que paresca que la
secuencia es la del funcionamiento de un semáforo.
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
17
Los pines RB0, RB1, RB2, están conectados a los primeros tres led´s verde,
amarillo,rojo.
RB0: Led verde
RB1: Led amarillo
RB2: Led rojo
Y los pines siguientes RB5, RB6, RB7, están conectados a los ultimos tres led´s verde,
amarillo, rojo.
RB5: Led verde
RB6: Led amarillo
RB7: Led rojo
La secuencia es la siguiente:
Se inicia el ciclo cuando se manda la señal a los pines RB0 y RB7 se encienden los
led’s verde y rojo por un lapso de 5 segundos, posteriormente se manda otra señal al
pin RB1 y se enciende por un segundo el led amarillo, transcurrido este segundo se
envia una señal a los pines RB2 y RB5 y se encenderan los led´s rojo y verde por un
tiempo de 5 segundos, la ultima señal se manda al pin RB6 y enciende el led amarillo
nuevamente por un segundo, e inicia nuevamente el ciclo.
Los pines OSC1/CLKIN, OSC2/CLKOUT se conecta en paralelo con un cristal de
cuarzo(oscilador) quien es el que da la frecuancia a las señales, y en los dos extremos
del cristal se conectan capacitores ceramicos, antes de descargarse a tierra.
El pin MCRL esta conectado directamente a la fuente de alimentacion.
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
18
CONCLUSIÓN
Se a observado el PIC16F84A es un dispositivo de gran importancia y utilidad, ya que
en los últimos años se ha popularizado el uso de este microcontrolador debido a su
bajo costo y tamaño. De igual manera se ha usado en numerosas aplicaciones. Una
de sus ventajas es que puede ser programado tanto en lenguaje ensamblador como
en Basic y principalmente en C, para el que existen numerosos compiladores.
RECOMENDACIONES
Es importante tomar en cuenta que todo este programa se realiza en el PUERTO B ya
que esta configurado como PUERTO de salida, sin olvidar que en la simulación no es
necesario conectar los pines que no se utilizan a la fuente, pero en físico esto es
necesario y de suma importancia ya que dejarlo al aire nos mandaría un uno y
distorsionaría la señal, para evitar ese tipo de daño se deben conectar los pines no
utilizados a una fuente de alimentación de 0-5V.
INSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA
MICROCONTROLADORES
19
FUENTES DE INFORMACION
Vienna University of Technology, Introduction To Microcontrollers (Gunther
Gridling, Bettina Weiss), 26 de febrero de 2007
Augarten, Stan (1983). The Most Widely Used Computer on a Chip: The TMS
1000. State of the Art: A Photographic History of the Integrated Circuit. New
Haven y New York: Ticknor & Fields.
http://ww1.microchip.com/downloads/en/DeviceDoc/39630C.pdf
http://www.datasheetarchive.com/dl/Databooks-1/Book241-407.pdf
http://www.dmoz.org/Computers/Hardware/Components/Processors/PIC/