ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

DESCRIPCIÓN DEL PROYECTO OBJETIVO: Poner en práctica lo aprendido en la materia sistemas micro procesados.


Enviado por   •  19 de Febrero de 2016  •  Apuntes  •  1.471 Palabras (6 Páginas)  •  396 Visitas

Página 1 de 6

[pic 1]

[pic 2][pic 3]


DESCRIPCIÓN DEL PROYECTO

OBJETIVO: Poner en práctica lo aprendido en la materia sistemas micro procesados.

DESCRIPCIÓN: A través del uso del micro controlador  Atmega 164p realizar un barrido de un cubo de LED’s 3x3x3, dando una dinámica de encendido y apagado de los LED’s al dar una orden de encendido a través de un dip-switch.

INTRODUCCIÓN:

 La matriz de LED’s se compone de 3x3x3 donde hay tres niveles de filas que son horizontales y tres niveles de filas verticales. Cada LED es activado en un nivel con un cátodo común y cada línea vertical está conectado con un ánodo común. De forma que si queremos iluminar un LED en particular, sólo hay que escoger el nivel de la línea de 0V y dar un voltaje positivo. Para generar un efecto de varios LEDs tienes que ser alimentado por lo que se conoce como multiplexación con una velocidad relativamente alta para que pueda ser intermitente. Para que todos los LEDs sean controlados con alguna secuencia se lo debe conectar directamente a los pines del Atmega164p. Dando una dinámica de encendido y apagado de los LED’s al dar una orden de encendido a través de un dip-switch.

GRAFICO ILUSTRATIVO:[pic 4]

MATERIALES:

  • 18 LED’s
  • Micro controlador atmega164p
  • 9 resistencia de 150 ohm
  • 3 resistencias de 3K ohm
  • Transistores 3904
  • Protoboard
  • Cautín
  • Estaño
  • Un dip-switch

ELABORACIÓN DEL CÓDIGO:

Básicamente el programa está basado en la utilización del contador/timmer1 el cual es un timer de 16 bits el cual está configurado en modo CTC con un PRE-ESCALADOR  de reloj/254, y usando la interrupción del TIMER 1 ubicado en la localidad .org 0x001A, con lo cual se logra un intervalo de tiempo de 5 seg, el cual es el tiempo que dura la forma de barrido del cubo, haciendo 6 formas de barrido diferente cada 5 seg.

[pic 5]

Fig2. Señal de reloj para las 6 formas de barrido cada 5 seg.

Usando el reloj de 8 MHz= 0.125 μ seg es un ciclo de máquina, entonces

0.125μ seg----------1CM

1 seg---------------8000000CM

Usando un pre escalador de 256, se tiene:

8000000CM------256-------31250 valor que será asignado al registro OCRIA.

Cada vez que el contador llegue a su valor límite este activara la interrupción, e irá aumentando un contador hasta cinco, para después cambiar la forma de barrido.

CODIGO DE PROGRAMA

.include "m164pdef.inc"

.def tempo=r16

.def aux=r17

.def cont=r18

.dseg

; espacios de memoria reservados

elemento: .byte 4

complemento: .byte 4

elemento1: .byte 8

complemento1: .byte 8

elemento2: .byte 10

complemento2: .byte 10

.cseg

.org 0x0

rjmp inicio

;dierccion para interrupcion de timmer1

.org 0x001A

rjmp cambio

inicio:

; configuracion de puertos

; configuracion de puerto a,b y d

ldi tempo,0b00000111

out ddra,tempo

ldi tempo,0b11111111

out ddrb,tempo

ldi tempo,0b11111000

out porta,tempo

out portb,tempo

ldi tempo,0b00000001

out ddrd,tempo

ldi tempo,0b00000001

out portd,tempo

;conficuracion de puerto para interrupcion

clr tempo

out ddrc,tempo

ser tempo

out portc,tempo

;habiliatcion del pull-up

in tempo,mcucr

andi tempo,0b11101111

out mcucr,tempo

;habilitacion de stack pointer

ldi tempo,low(ramend)

out spl,tempo

ldi tempo,high(ramend)

out sph,tempo

;configuracion del timmer1

ldi tempo,high(31250)

sts ocr1ah,tempo

ldi tempo,low(31250)

sts ocr1al,tempo

ldi tempo,0b00000000

sts tccr1a,tempo

;preescaler /8

;modo ctc

ldi tempo,0b00001011

sts tccr1b,tempo

ldi tempo,0

sts tccr1c,tempo

;habilitacion del la interrupcion del timmer1

ldi tempo,0b00000010

sts timsk1,tempo

out tifr1,tempo

;interrupcion global

sei

;programa principal

ldi cont,0b11111110

lazo:

sbrs cont,0

call mostrar0

sbrs cont,1

call mostrar1

sbrs cont,2

call mostrar2

sbrs cont,3

call mostrar3

sbrs cont,4

call mostrar4

sbrs cont,5

call mostrar5

sbrs cont,6

call mostrar6

sbrs cont,7

call mostrar7

rjmp lazo

;codigo de la interrupcion del la interrupcion cero

cambio:

push tempo

in tempo,sreg

push tempo

inc aux

cpi aux,2

breq desplegar

rjmp salir

desplegar:

sec 

rol cont

ldi aux,0

rjmp salir

salir:

pop tempo

out sreg,tempo

pop tempo

reti

;barrido 1

...

Descargar como (para miembros actualizados)  txt (13.2 Kb)   pdf (1.3 Mb)   docx (387.9 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com