Sunteți pe pagina 1din 19

UNIVERSIDAD TÉCNICA ESTATAL DE QUEVEDO

CIENCIAS DE LA INGENIERÍA

INGENIERÍA EN TELEMÁTICA

MICROCONTROLADORES

SEMESTRE:

6 SEMESTRE

TEMA:

PRACTICA 3-4

ALUMNO:

BRYAN ALEJAMDRO DEL VALLE VILLACIS

QUEVEDO-LOS RÍOS-ECUADOR

2019-2020
PRACTICA 3

DECODIFICADOR BINARIO A 7 SEGMENTOS.


Para el desarrollo de esta practica vamos a utilizar el software de simulación PROTEUS
7.0 en conjunto con el software ATMEL STUDIOS 7.0.

El software PROTEUS trata de un completo programa que permite diseñar y simular


circuitos electrónicos de forma práctica y accesible.

A todos aquellos que trabajen en el ámbito de la electrónica les interesará la aplicación


Proteus. Se trata de un completo programa que permite diseñar y simular circuitos
electrónicos de forma práctica y accesible.

Atmel® Studio 7 es la plataforma de desarrollo integrada (IDP) para desarrollar y depurar


aplicaciones de microcontroladores (MCU) basadas en SMART ARM® y AVR®. Studio 7
es compatible con todos los MCU AVR y SMART. Atmel Studio 7 IDP le ofrece un entorno
sencillo y fácil de usar para escribir, construir y depurar sus aplicaciones escritas en C /
C ++ o código ensamblador. También se conecta sin problemas a los depuradores y kits
de desarrollo de Atmel.
DISEÑO Y DESARROLLO DEL CIRCUITO
Al diseñar un circuito es importante tener los conocimientos básicos sobre circuitos y
electrónica y tomar en cuenta los componentes adecuados para un óptimo
funcionamiento.

Para este proyecto elegimos los siguientes componentes:

LED DE 7 SEGMENTOS
El display 7 segmentos es un componente electrónico muy utilizado para representar
visualmente números y letras, es de gran utilidad dado su simpleza para implementar
en cualquier proyecto electrónico
ATEMEGA328P
El Atmega328 AVR 8-bit es un Circuito integrado de alto rendimiento que está basado
un microcontrolador RISC, combinando 32 KB ISP flash una memoria con la capacidad
de leer-mientras-escribe, 1 KB de memoria EEPROM, 2 KB de SRAM, 23 líneas de E/S de
propósito general, 32 registros de proceso general, tres temporizadores
flexibles/contadores con modo de comparación, interrupciones internas y externas,
programador de modo USART, una interfaz serial orientada a byte de 2 cables, SPI
puerto serial, 6-canales 10-bit Conversor A/D (canales en TQFP y QFN/MLF packages),
"watchdog timer" programable con oscilador interno, y cinco modos de ahorro de
energía seleccionables por software.
LOGICSTATE (ESTADOS LOGICOS)
Son instrumentos virtuales de los que dispone proteus, los Logic State sirven para
"inyectar" niveles lógicos en los pines a donde estén conectados mientras que los Logic
Probe hacen lo contrario, muestran mediante un recuadro azul o rojo si la señal digital
en tal pin es "0" o "1" lógico respectivamente.

DISEÑO DEL CIRCUITO


Empezamos identificando cada entrada y salida del circuito.

Como entrada deberíamos tener un binario de 4 bits (ESTADOS LOGICOS) y


convertirlo a hexadecimal (LED DE 7 SEGMENTOS) como salida usando como
guía la tabla de verdad lo cual es el objetivo del proyecto.
ENTRADA BINARIA
usando los estados lógicos (logicstate) podemos simular el numero en binario de 4 bits
lo cual van conectado a cuatro pines del ATMEGA328P.

 Out1 conectada al pin PD0


 Out2 conectada al pin PD1
 Out3 conectada al pin PD2
 Out4 conectada al pin PD3
SALIDA EXADECIMAL
Usando el led de 7 estados color rojo podemos visualizar el numero hexadecimal el cual
va conectado a 7 pines del ATMEGA328P como salida.

 PB0
 PB1
 PB2
 PB3
 PB4
 PB5
 PB6

CIRCUITO COMPLETO
Una ves conectado cada terminal procedemos a verificar el diseño completo y
observar si cumple con los requisitos y el diseño q se desea.

Ya aprobado el circuito procedemos a guardar.

CÓDIGO ASSEMBLER
Ya diseñado el circuito procedemos a la programación del código el cual dará
funcionamiento al circuito.
;
; practica 3.asm
;
; Created: 23/07/2019 23:59:30
; Author : Bryan

.dseg
;"Segmento de Datos"; le dice al ensamblador que el siguiente
texto es usado para establecer la SRAM.
.def pb=r16
;"Definir (registros)"; con esta directiva podrás asignar nombres
a los registros para identificarlos.
.def pp=r17

.cseg
;"Segmento de Código" esta directiva le dice al ensamblador que
el siguiente código o expresiones deberán colocarse en la memoria
de programa.
ldi pb ,0x00
out ddrd,pb
ldi pb,0b00001111
out portd,pb
ldi pb,0b01111111
out ddrb,pb

;inicializa el programa

read:
in pb,pind

;compara los estados hexadecimal


comparar:
cpi pb,0
breq cero
cpi pb,1
breq uno
cpi pb,2
breq dos
cpi pb,3
breq tres
cpi pb,4
breq cuatro
cpi pb,5
breq cinco
cpi pb,6
breq seis
cpi pb,7
breq siete
cpi pb,8
breq ocho
cpi pb,9
breq nueve
cpi pb,10
breq a
cpi pb,11
breq b
cpi pb,12
breq c
cpi pb,13
breq d
cpi pb,14
breq e
cpi pb,15
breq f
;asignar los valores

cero:
ldi pb,0x3f
out portb,pb
rjmp read
uno:
ldi pb,0x06
out portb,pb
rjmp read
dos:
ldi pb,0x5b
out portb,pb
rjmp read
tres:
ldi pb,0x4f
out portb,pb
rjmp read
cuatro:
ldi pb,0x66
out portb,pb
rjmp read
cinco:
ldi pb,0x6d
out portb,pb
rjmp read
seis:
ldi pb,0x7d
out portb,pb
rjmp read
siete:
ldi pb,0x07
out portb,pb
rjmp read
ocho:

ldi pb,0x7f
out portb,pb
rjmp read
nueve:

ldi pb,0x67
out portb,pb
rjmp read
a:
ldi pb,0x77
out portb,pb
rjmp read
b:
ldi pb,0x7c
out portb,pb
rjmp read
c:
ldi pb,0x39
out portb,pb
rjmp read
d:
ldi pb,0x5e
out portb,pb
rjmp read
e:
ldi pb,0x79
out portb,pb
rjmp read
f:
ldi pb,0x71
out portb,pb
rjmp read

IMPLEMENTACIÓN DEL CÓDIGO EN EL CIRCUITO ATMEGA328.


Ya copilado el código y verificando q no hay error procedemos a enlazar el código
con el ATMEGA328P y empezamos con las pruebas correspondientes.

Damos doble clic en el ATMEGA328P y buscamos la ubicación del archivo .hexa


q creo ATMEL STUDIOS.
PRUEBAS
PRACTICA 4

DISEÑAR Y SIMULAR UN COMPARADOR DE 2 DATOS DE 4 BITS

Para el desarrollo de esta práctica hemos utilizado el software de simulación


PROTEUS 8, la cual nos permite la ejecución de proyectos de construcción de
equipos electrónicos en todas sus etapas: diseño del esquema electrónico,
programación del software, construcción de la placa de circuito impreso,
simulación de todo el conjunto, depuración de errores, documentación y
construcción.

Sin la utilización de la suite Proteus, el proceso para construir un equipo


electrónico basado en un microprocesador se compone de tres etapas. Sólo al
final del proceso somos capaces de detectar los errores y cualquier problema
exige volver a ejecutar el ciclo completo:

DISEÑO DEL ESQUEMA ELECTRÓNICO

Para el diseño del esquema electrónico se utilizó un un circuito integrado


ATmega328p de alto rendimiento que está basado un microcontrolador RISC,
con la capacidad de leer-mientras-escribe.
Para simular los estados lógicos (1-0) se utilizó un “LogicState“, este dispositivo
sirve para dar un estado ó valor a la compuerta, es decir nos sirve para decir si
la entrada es un 1 ó un 0.

Finalmente utilizamos un led o diodo emisor de luz para comprobar el estado si


nuestro comparador de 3 bits funciona correctamente

PROGRAMACIÓN DEL SOFTWARE

La programación del microchip(ATmega328) se la realizo ATMEL STUDIO es la


plataforma de desarrollo integrado (IDP) para desarrollar y depurar todas las
aplicaciones de microcontroladores AVR® y SAM,

A continuación, presentamos el código desarrollado para un comparador de 2


datos de 4 bits.
; practica4.asm
;
; Created: 24/07/2019 0:26:13
; Author : Bryan

.dseg
.def a=r16
.def b=r17
.def c=r18
.def an=R19
.cseg

ldi a,0x00
out ddrd,a
ldi a,0x00
out portd,a
out portd,b
ldi c,0x07
out ddrb,c
ldi an,0x0f

read:

in a,pind
and a,an

in b,pind
swap b
and b,an

;verifica si son estados iguales


comparo:
cp a,b
brsh define
comparo2:
cp a,b
brlo menor
cp a,b
breq igual

define:
cp a,b
brne mayor
rjmp comparo2

mayor:
ldi b,0
ldi c,0
ldi a,0b00000001
out portb,a
rjmp read

;verifica si son estados iguales

igual:
ldi a,0
ldi b,0
ldi c,0b00000010
out portb,c
rjmp read

;verifica los estados menores


menor:
ldi a,0
ldi c,0
ldi b,0b00000100
out portb,b
rjmp read

SIMULACIÓN DE TODO EL CONJUNTO


Una vez que realizamos el diseño electrónico y copilamos el código sin errores,
se precede a implementar el código en el microchip como se muestra en la
siguiente imagen.
Una vez cargado el código en el microchip solo queda por comprobar si hemos
obtenido los resultados esperados.

S-ar putea să vă placă și