Académique Documents
Professionnel Documents
Culture Documents
FACULTAD DE TECNOLOGIA
Evaluación
INGENIERIA MECATRONICA
CAMPUS TIQUIPAYA
MICROPROCESADORES I
Grupo “A”
Cochabamba 16 de octubre
Gestión II – 2019
1. Competencias
El estudiante:
Tendrá la capacidad de configurar el puerto serial del microcontrador,
enviar y recibir datos.
2. Marco teórico
En el puerto serie tenemos dos líneas, Tx y Rx. Estas líneas se deben cruzar para
comunicar dos dispositivos, es decir, el Tx del dispositivo 1 debe conectarse al Rx del
dispositivo 2. El Tx del dispositivo 2 debe conectarse al Rx del dispositivo 1. Además ambos
dispositivos deben compartir una masa común.
En ocasiones podemos encontrar dispositivos en los que solo existe el Tx. Esto puede ser
debido a que ese dispositivo sólo envía datos, no necesita recibir. Un ejemplo puede ser un
sensor o un receptor GPS.
La UART
Para enviar los datos a las líneas debemos usar un hardware que esté diseñado para llevar
a cabo esa tarea y en este caso lo llamamos UART. Esta se encargará de leer datos cuando
llegan, generar y gestionar interrupciones, enviar datos y gestionar los tiempos de bit. En
general la UART se encarga de hacer todo el trabajo por nosotros.
SI usamos un microcontrolador, es muy posible que no necesitemos hacer nada especial
ya que la UART estará integrada en el propio microcontrolador. Si usamos una FPGA o
similar es posible que tengamos que diseñar el hardware de la UART o usar un diseño ya
existente.
El funcionamiento de la UART es el mismo en todos los dispositivos ya que sino fuera así,
no se podrían comunicar entre sí.
Tiempo de bit
El tiempo de bit no es otra cosa que el tiempo que mantenemos un bit en la línea de transmisión.
Su cálculo es bastante sencillo ya que está relacionado con el baudrate. Este último es el que
nos indica el número de bits que podemos enviar en un segundo.
Por ejemplo, una comunicación serie puede ser a 9600 baudios, es decir que se pueden
transmitir hasta 9600 bits en un segundo.
3. Materiales y equipos
4. Procedimiento
Parte 1
Parte 2
Enviar datos desde el computador por el puerto serial. Mostrar en el byte bajo del
dato recibido en el display de 7 segmentos (0 a F).
Parte 3
5. Código
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,0
x5E,0x79,0x71};
PORTB=numeros[numero]&0xF;
PORTC=(numeros[numero]>>4);
_delay_ms(100);
}
}
6. Esquema
7. Conclusiones
En esta practica se logró simular las dos partes del laboratorio en proteus,
el programa realizado en atmel funciono de manera correcta en la
simulacion. Se armaron ambas partes fisicamente, la primera funciono
correctamente al igual que la segunda mas no la tersera que se nos
presentaron varias dificultades al momento de realizar el programa.
8. Recomendaciones
9. Cuestionario