Você está na página 1de 12

Problema 7 Enunciado: Disee un programa que controle el encendido de 12 Leds, el encendido ser de manera aleatoria a conveniencia del programador.

SOLUCIONARIO a) Diagrama de flujo

inicio

CONFIGURAR PUERTOS PUERO B,D->SALIDAS PUERTO C->ENTRADA

CUENTA1<-0

NO
CUENTA1=8?

CUENTA<-0 CUENTA1CUENTA1+1

NO
CUENTA=8?

SI
LEDS ON<-TABLA 1

CUENTACUENTA+1

NO
PULSADOR PRESIOANDO1?

SI

LEDS ON<-TABLA

NO
PULSADOR NO PRESIONADO1 ?

SI

NO
PULSADOR PRESIOANDO ?

SI
MOSTRAR LEDS ACTIVADOS PORT D

NO
PULSADOR NO PRESIONADO ?

SI

MOSTRAR LEDS ACTIVADOS PORT B

b) escribir el programa y comentar las instrucciones

c) SIMULACION EN PROTEUS

R1
10k

R2
10k

U1
23 24 25 26 27 28 1 2 3 4 5 6 11 12 13 PC0/ADC0 PC1/ADC1 PC2/ADC2 PC3/ADC3 PC4/ADC4/SDA PC5/ADC5/SCL PC6/RESET PD0/RXD PD1/TXD PD2/INT0 PD3/INT1 PD4/T0/XCK PD5/T1 PD6/AIN0 PD7/AIN1 ATMEGA8 PB0/ICP1 PB1/OC1A PB2/SS/OC1B PB3/MOSI/OC2 PB4/MISO PB5/SCK PB6/TOSC1/XTAL1 PB7/TOSC2/XTAL2 14 15 16 17 18 19 9 10

D1
LED-BLUE

D2
LED-BLUE

D3
LED-BLUE

D4
LED-BLUE

D6
LED-BLUE

D5
LED-BLUE

AREF AVCC

21 20

R5
330

R6
330

R3
330

R7
330

R8
330

R9
330

D7
LED-BLUE

D8
LED-BLUE

D9
LED-BLUE

D10
LED-BLUE

D12
LED-BLUE

D11
LED-BLUE

R10
330

R11
330

R4
330

R12
330

R13
330

R14
330

PROBLEMA 7 Enunciado: Empleando el microcontrolador ATmega8 realizar el encendido intermitente (5 veces) de 8 LEDs conectados en ctodo comn al Puerto D. Luego de un retardo de 2 segundos un LED se desplaza desde el pin D0 a D7 y reversa, emulando las luces de auto fantstico, con un retardo de 150ms. a) Realizar el diagrama de flujo del programa b) Escriba las instrucciones comentadas c) Hacer la simulacin

SOLUCIONARIO a) Realizar el diagrama de flujo del programa

INICIO

CONFIGURAR PUERTOS PUERTO D->SALIDAS CONFIGURACION DE PILA CONFIGURO TABLA,TABLA1

NO R18=A? PRENDER D0...D7 EN SIMULTANEO

SI

CUENTA<-0

CALL DELAY

NO CUENTA=9

SI

CONFIGURAR TEMPORIZADOR

EXTRAER DATOS DE LA TABLA MOSTRAR LEDS D0..D7 UNO POR UNO- AVANZA

RET

CUENTA1<-0 NO CUENTA1=9? EXTRAER DATOS DE LA TABLA1 MOSTRAR LEDS D7...D0 UNO POR UNO- REVERSA SI

b) escribir el programa y comentar las instrucciones

c) Simulacin en proteus

U1(PC6/RESET)

U1
14 15 16 17 18 19 9 10 PB0/ICP1 PB1/OC1A PB2/SS/OC1B PB3/MOSI/OC2 PB4/MISO PB5/SCK PB6/TOSC1/XTAL1 PB7/TOSC2/XTAL2 PC0/ADC0 PC1/ADC1 PC2/ADC2 PC3/ADC3 PC4/ADC4/SDA PC5/ADC5/SCL PC6/RESET PD0/RXD PD1/TXD PD2/INT0 PD3/INT1 PD4/T0/XCK PD5/T1 PD6/AIN0 PD7/AIN1 23 24 25 26 27 28 1 2 3 4 5 6 11 12 13

U1(AVCC) 21 20 AREF AVCC ATMEGA8

R1
330

R2
330

R3
330

R4
330

R5
330

R6
330

R7
330

R8
330

D7
LED-GREEN

D6
LED-GREEN

D5
LED-GREEN

D4
LED-GREEN

D3
LED-GREEN

D2
LED-GREEN

D1

D0

LED-GREEN LED-GREEN

Problema 11 Enunciado: Se desea visualizar en un display nodo comn, cada 500ms, los nmeros 0 a 9 si el interruptor conectado a la lnea PB0 est abierto y las letras H O-LA si el interruptor est cerrado. El display est conectado en el PORTD<6:0> . SOLUCIONARIO a) Diagrama de flujo

INICIO

CONFIGURAR PUERTOS PUERTO D->SALIDAS CONFIGURO DELAY CONFIGURO TABLA,TABLA1 CUENTA<-0

NO R22=1 ? NO R16=$A ? SI

SI

CUENTA1<-0 NO R22=1 ? SI CALL DELAY

EXTRAER DATOS DE TABLA EXTRAER DATOS DE TABLA1

CONFIGURAR TEMPORIZADOR

MOSTAR DATOS EXTARIDOS DE LA TABLA 0,1..9,0

RET

MOSTAR DATOS EXTARIDOS DE LA TABLA H,O...A,H,O

b) Programa y comentar las instrucciones

B) Diseo en proteus

(1)

U1
14 15 16 17 18 19 9 10 PB0/ICP1 PB1/OC1A PB2/SS/OC1B PB3/MOSI/OC2 PB4/MISO PB5/SCK PB6/TOSC1/XTAL1 PB7/TOSC2/XTAL2 PC0/ADC0 PC1/ADC1 PC2/ADC2 PC3/ADC3 PC4/ADC4/SDA PC5/ADC5/SCL PC6/RESET PD0/RXD PD1/TXD PD2/INT0 PD3/INT1 PD4/T0/XCK PD5/T1 PD6/AIN0 PD7/AIN1 23 24 25 26 27 28 1 2 3 4 5 6 11 12 13

(COM)

R1
330

21 20

AREF AVCC ATMEGA8

Você também pode gostar