Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EXAMEN PREVIO
Estudiante: Fecha: / /
Docente: Laboratorio:
PROGRAMA 1
#include <avr/io.h>
#define F_CPU 16000000
#include <util/delay.h>
#define UsartBaudRate 9600
int main(void)
{
DDRB=0b00001111;
DDRC=0b00000111;
uint8_t datoRx;
UBRR0H = (BaudUBRR>>8); //cargar valor de baudRate. Byte alto
UBRR0L = BaudUBRR; // Byte bajo
UCSR0B |= (1<<RXEN0)|(1<<TXEN0); // Habilitar transmision y recepcion
UCSR0C |= (1<<UCSZ01)|(1<<UCSZ00); // 8 bits de datos
while (1)
{
while((UCSR0A & (1<<RXC0)) == 0); // Esperar que llegue ultimo dato
datoRx = UDR0; // Leer dato recibido
int numero=datoRx&0xF;
int
numeros[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,0x77,0x7C,0x39,0x5E,0x7
9,0x71};
PORTB=numeros[numero]&0xF;
PORTC=(numeros[numero]>>4);
_delay_ms(100);
}
}