Documente Academic
Documente Profesional
Documente Cultură
CHIMBORAZO
PRÁCTICA No. 1.
DATOS GENERALES
ESTUDIANTES:
- Edison Lliguilema. (1178)
- Erik Chasi. (1181)
- Xavier Amaguayo. (1200)
ASIGNATURA:
Microcontroladores.
NIVEL:
Sexto “A”.
FECHA DE ENTREGA:
05 de diciembre de 2019.
1. Resumen
Con los conocimientos aprendidos en clase y con la ayuda de conocimientos digitales en
este documento se realiza un dado electrónico implementado con la ayuda de PIC16F877A
un microcontrolador el cual es programado, con el fin de que al presionar un botón se pueda
visualizar un número no mayor a 6 al azar en un display de 7 segmentos.
1.1.Palabras claves:
- Dado Electrónico
- Microcontrolador
- Circuito Electrónico
- Cristal oscilador
2. Introducción
Los campos de los microcontroladores tienen sus principios de desarrollo en la tecnología
de los circuitos integrados, en la cual es posible almacenar miles de transistores dentro de un
solo chip. Esto fue un prerrequisito para la producción de los microprocesadores. Las
primeras computadoras fueron construidas agregando componentes externos como lo son:
memorias, puertos de salida y entrada, contadores de tiempo, entre otros. Con el crecimiento
en el desarrollo del circuito integrado fue posible hacer más grandes los encapsulados,
logrando integrar en un solo encapsulado los procesadores y periféricos.
Los 'PIC' son una familia de microcontroladores tipo RISC fabricados por Microchip
Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división
de microelectrónica de General Instruments.
3. Marco Teórico
3.1.Microcontrolador
Circuito integrado digital el cual se puede usar para distintos propósitos, su particularidad
es ser reprogramable y está compuesto por una unidad central de proceso (CPU), memorias
ROM y RAM y entradas y salidas para periféricos.
Mediante instrucciones en el software del microcontrolador, es posible controlar el
hardware o dispositivos periféricos con el uso de un lenguaje acorde al dispositivo, que
permita la comunicación dentro del computador y las funciones programadas a realizarse.
3.3.Lenguaje de Máquina
Lenguaje de programación poco interactivo con el programador, pero con un fin más
allegado al circuito o computador, trabajando en términos binarios o bits, utilizando una serie
de unos y ceros.
Este lenguaje posee instrucciones sencillas que especifican los registros específicos para
operaciones, direccionamiento o control de funciones, posiciones de memoria específicas y
modos de direccionamiento usados para interpretar operandos.
3.4.Display de 7 segmentos
Dispositivo electrónico que puede representar visualmente números o algunos caracteres.
Sus valores se representan en 7 bits pero en la programación se debe tener en cuenta los 8
bits de la palabra; existen dos tipos de display de 7 segmentos, el de cátodo común y ánodo
común, la principal diferencia entre estos es lo que se conecta a su alimentación en el uno
Vcc, y en el otro GND, funcionando primero en alto y el segundo en bajo. A continuación,
se muestra el datasheet de conexiones del display
Figura 3: Datasheet del display de 7 segmentos cátodo y ánodo común.
4. Diseño y desarrollo
4.1.Algoritmos de Control
Para el diseño del dado electrónico fue creado un algoritmo de control que se compone de
un ciclo o bucle “LOOP” que contiene todos los pasos para generar los números aleatorios
del dado electrónico y se muestra en la Figura 5, así mismo dentro de esta rutina se utilizó
una subrutina “DELAY” cuyo algoritmo se describe en la Figura 6.
Figura 5: Diagrama de flujo del “Dado Electrónico”.
Figura 6: Diagrama Flujo de Delay.
4.2.Diseño
Para implementar el circuito del dado electrónico se siguió el esquema que se presenta en
la Figura #, el cual está formado por un microcontrolador PIC 16F877A, un pulsador, una
resistencia de 10𝐾Ω, siete resistencias de 220Ω y un display de 7 segmentos cátodo común.
Al dejar de pulsar el botón este mostrará el último dígito en el display que se repita en la
serie de 1-6 como se muestra a continuación:
Figura 10: Circuito implementado después de soltar el botón.
Se muestra en el display el último valor que se repitió en la serie de 1-6 y por un periodo
de tiempo y se vuele a reiniciar el programa mostrando en el display 0, hasta que se vuelva a
pulsar el botón y se inicie la serie numérica en el display nuevamente.
6. Conclusiones
• Las salidas del microchip dependerán si están en alto o bajo acomodándose al
display que se va a utilizar, esto debe tenerse en cuenta en la programación al
momento de generar los números de la salida.
• El cristal debe estar de preferencia conectado a dos capacitores en paralelo
correspondientes a la frecuencia del oscilador y ambos conectados a GND.
• El Dado variará los números mientras el botón se encuentre activado, y dejará de
variar los números quedándose en el último dígito en el instante que el botón se
desactiva por un tiempo y volverá a inicializarse.
• El código debe estar acorde al microcontrolador con el que se desea trabajar,
teniendo en cuenta sus funciones especiales para empezar a asignar las variables
de los registros.
• La alimentación del circuito debe oscilar entre los 5 volteos DC.
7. Bibliografía
• Oscilador de cristal. (2019, 19 de noviembre). Wikipedia, La enciclopedia libre.
Fecha de consulta: 15:03, diciembre 4, 2019
desde https://es.wikipedia.org/w/index.php?title=Oscilador_de_cristal&oldid=1214
29223.
• Qué es un Microcontrolador. SHERLIN, Electrónica teórica y práctica. Fecha de
consulta: 22:14, diciembre 4, 2019 desde:
https://sherlin.xbot.es/microcontroladores/introduccion-a-los-
microcontroladores/que-es-un-microcontrolador
• Veloso, C. Display de 7 segmentos, ánodo y cátodo común. (2016, 9 de marzo).
ELECTRONTOOLS. Fecha de consulta: 23:20, diciembre 4, 2019 desde:
https://www.electrontools.com/Home/WP/2016/03/09/display-7-segmentos/
8. Anexos
LIST P=16F877A
#include <p16F877A.inc>
RADIX HEX
__CONFIG _FOSC_XT & _WDTE_ON & _PWRTE_OFF & _BOREN_ON & _LVP_ON & _CPD_OFF &
_WRT_OFF & _CP_OFF
PUERTOA EQU 0X05 GOTO PROS1
PUERTOD EQU 0X08 PROS1 MOVLW B'00000110';1 00000110
REG1 EQU 0X20 MOVWF PUERTOD
REG2 EQU 0X21 CALL DELAY
REG3 EQU 0X22 GOTO PROC2
org 0x0000 PROS2 MOVLW B'01011011';2 01011011
BSF STATUS,RP0 MOVWF PUERTOD
MOVLW 0X07 CALL DELAY
MOVWF ADCON1 BTFSC PORTA,0
MOVLW B'00000001' GOTO PROS4
MOVWF TRISA GOTO PROS3
MOVLW B'00000000' PROS3 MOVLW B'01011011';2 01011011
MOVWF TRISD MOVWF PUERTOD
BCF STATUS,RP0 CALL DELAY
GOTO PROS2
LOOP BTFSS PORTA,0 PROS4 MOVLW B'01001111';3 01001111
GOTO PROC1 MOVWF PUERTOD
GOTO PROC2 CALL DELAY
PROC1 MOVLW B'00111111';0 11000000 BTFSC PORTA,0
MOVWF PUERTOD GOTO PROS6
CALL DELAY GOTO PROS5
GOTO LOOP PROS5 MOVLW B'01001111';3 01001111
PROC2 MOVLW B'00000110';1 00000110 MOVWF PUERTOD
11111001
CALL DELAY
MOVWF PUERTOD
GOTO PROS4
CALL DELAY
PROS6 MOVLW B'01100110';4 01100110
BTFSC PORTA,0
MOVWF PUERTOD
GOTO PROS2
CALL DELAY MOVWF REG3
BTFSC PORTA,0 UNO DECFSZ REG3,F
GOTO PROS8 GOTO UNO
GOTO PROS7 DECFSZ REG2,F
PROS7 MOVLW B'01100110';4 01100110 GOTO DOS
MOVWF PUERTOD DECFSZ REG1,F
CALL DELAY GOTO TRES
GOTO PROS6 RETURN
PROS8 MOVLW B'01101101';5 01101101 END
MOVWF PUERTOD
CALL DELAY
BTFSC PORTA,0
GOTO PROS10
GOTO PROS9
PROS9 MOVLW B'01101101';5 01101101
MOVWF PUERTOD
CALL DELAY
GOTO PROS8
PROS10 MOVLW B'01111101';6 01111101
MOVWF PUERTOD
CALL DELAY
BTFSC PORTA,0
GOTO LOOP
GOTO PROS11
PROS11 MOVLW B'01111101';6 01111101
MOVWF PUERTOD
CALL DELAY
GOTO PROS10
DELAY MOVLW 0X30
MOVWF REG1
TRES MOVLW 0X40
MOVWF REG2
DOS MOVLW 0X10