Anda di halaman 1dari 10

1.

ENUNCIADO
Familiarizarse con el uso de las comunicaciones seriales USART e I2C UART son las siglas de "Universal Asynchronous Receiver-Transmitter" ( en espaol, Transmisor-Receptor Asncrono Universal ). ste controla los puertos y dispositivos serie. Se encuentra integrado en la placa base o en la tarjeta adaptadora del dispositivo. Un UART dual, o DUART, combina dos UARTs en un solo chip. Existe un dispositivo electrnico encargado de generar la UART en cada puerto serie. La mayoria de los ordenadores modernos utilizan el chip UART 16550, que soporta velocidades de transmisin de hasta 921,6 Kbps (Kilobits por segundo). Las funciones principales de chip UART son de manejar las interrupciones de los dispositivos conectados al puerto serie y de convertir los datos en formato paralelo, transmitidos al bus de sistema, a datos en formato serie, para que puedan ser transmitidos a travs de los puertos y viceversa.

2. a DIAGRAMA DE BLOQUES DEL EJERCICIO 1

PIC 16F88 7
3. a DIAGRAMA DE FLUJO FUNCIONAL DEL PROGRAMA (NIVEL ALTO) DE EJERCICIO
Start

UART_Init(19200)

4. a DESCRIPCION DE SUBRUTINAS 5. a DESCRIPCION DEL ALGORITMO O ESTRATEGIA UTILIZADA DEL EJERCICIO 1


1. Se declara la variable i 2. Se inicializa el UART a una velocidad de 19200 3. Dentro de un bucle infinito se plantea la siguiente decisin 4. Si UART_Ready=1 (Existe una entrad) entones: 5. Se guarda la entrada en la variable i 6. Se enva la variable i a travs de UART_Write.

6. a LISTADO DEL PROGRAMA FUENTE EN LENGUAJE ENSAMBLADOR CON COMENTARIOS EN LAS LINEAS DE CODIGO DEL EJERCICIO 1
/*Header******************************************************/ unsigned short i; void main() { UART1_Init(19200); // Initialize USART module // (8 bit, 19200 baud rate, no parity bit...)

while (1) { if (UART1_Data_Ready()) { // If data has been received i = UART1_Read(); // read it UART1_Write(i); // and send it back } } }

7. a COPIA IMPRESA DEL CIRCUITO ARMADO EN PROTEUS DEL EJERCICIO 1

-2-

2. b

DIAGRAMA DE BLOQUES DEL EJERCICIO 2

PULSA NTE

PIC 16F887

PIC 16F887

8 LEDS

3. b

DIAGRAMA DE FLUJO FUNCIONAL DEL

PROGRAMA (NIVEL ALTO) DE EJERCICIO 2

PIC1
Start Start

PIC2

UART_Init(19200) i=hola

UART_Init(19200)

-3-

4. b 5. b

DESCRIPCION DE SUBRUTINAS DESCRIPCION DEL ALGORITMO O ESTRATEGIA

UTILIZADA DEL EJERCICIO 2


PIC1
1. Se declara la variable i 2. Se inicializa el UART a una velocidad de 19200 3. Dentro de un bucle infinito se plantea la siguiente decisin 4. Si RA0=1 (El pulsante esta presionado) entonces: 5. Escribe i a travs del UART_Write()

PIC2
1. Se inicializa el UART a una velocidad de 19200 2. Dentro de un bucle infinito se plantea la siguiente decisin 3. Si UART_Ready (Existe un dato a la entrada) entonces: 4. Escribe en PORTB = 0x55 5. Sino escribe en PORTB=0xAA

-4-

6. b

LISTADO DEL PROGRAMA FUENTE EN LENGUAJE

ENSAMBLADOR CON COMENTARIOS EN LAS LINEAS DE CODIGO DEL EJERCICIO 2


PIC1
unsigned short i; void main() { UART1_Init(19200); i = "hola"; parity bit...) while (1) { UART1_Write(i); } } // and send it back // Initialize USART module // (8 bit, 19200 baud rate, no

PIC2
unsigned short i; void main() { UART1_Init(19200); while (1) { if (UART1_Data_Ready()) { // If data has been received i = UART1_Read(); PORTB = 0xAA; }else { PORTB = 0x55; } } } -5// read it // Reset port B // Initialize USART module // (8 bit, 19200 baud rate, no parity bit...)

7. b

COPIA IMPRESA DEL CIRCUITO ARMADO EN

PROTEUS DEL EJERCICIO 2

2. c

DIAGRAMA DE BLOQUES DEL EJERCICIO 3

PIC 16F887

8 LEDS

3. c

DIAGRAMA DE FLUJO FUNCIONAL DEL


-6-

PROGRAMA (NIVEL ALTO) DE EJERCICIO 3

Start

Configuracin de Puertos, Inicializacin I2C

I2C_Write(0xA2) I2C_Write(2) I2C_Write(0xF0)

I2C_Stop Delay(100)

I2C_Write(0xA2) I2C_Write(2) I2C_Write(0xA3)

4. c 5. c DESCRIPCION DEL ALGORITMO O ESTRATEGIA

UTILIZADA DEL EJERCICIO 3


1. Se configuran los puertos 2. Se inicializa el I2C 3. S escribe 0xA2, 2, 0xF0 4. Se detiene la escritura 5. Se hace una pausa de 100mS 6. Se escribe 0xA2, 2, 0xA3

6. c

LISTADO DEL PROGRAMA FUENTE EN LENGUAJE

ENSAMBLADOR CON COMENTARIOS EN LAS LINEAS DE CODIGO DEL EJERCICIO 3


-7-

void main(){ ANSEL = 0; ANSELH = 0; PORTB = 0; TRISB = 0; I2C1_Init(100000); I2C1_Start(); I2C1_Wr(0xA2); I2C1_Wr(2); I2C1_Wr(0xF0); I2C1_Stop(); Delay_100ms(); I2C1_Start(); I2C1_Wr(0xA2); I2C1_Wr(2); I2C1_Wr(0xA3); PORTB = I2C1_Rd(0u); I2C1_Stop(); } // issue I2C start signal // send byte via I2C (device address + W) // send byte (data address) // send byte (device address + R) // Read the data (NO acknowledge) // issue I2C stop signal // Configure PORTB as output // initialize I2C communication // issue I2C start signal // send byte via I2C (device address + W) // send byte (address of EEPROM location) // send data (data to be written) // issue I2C stop signal // Configure AN pins as digital I/O

I2C1_Repeated_Start(); // issue I2C signal repeated start

7. c

COPIA IMPRESA DEL CIRCUITO ARMADO EN

PROTEUS DEL EJERCICIO 3

-8-

8. CONCLUSIONES
El controlador del UART es el componente clave del subsistema de comunicaciones series de una computadora. El UART toma bytes de datos y transmite los bits individuales de forma secuencial. En el destino, un segundo UART reensambla los bits en bytes completos. La transmisin serie de la informacin digital (bits) a travs de un cable nico u otros medios es mucho ms efectiva en cuanto a costo que la transmisin en paralelo a travs de mltiples cables. Se utiliza un UART para convertir la informacin transmitida entre su forma secuencial y paralela en cada terminal de enlace. Cada UART contiene un registro de desplazamiento que es el mtodo fundamental de conversin entre las forma serie y paralelo. El UART normalmente no genera directamente o recibe las seales externas entre los diferentes mdulos del equipo. Usualmente se usan dispositivos de interfaz separados para convertir las seales de nivel lgico del UART hacia y desde los niveles de sealizacin externos.
-9-

Las seales externas pueden ser de variada ndole. Ejemplos de estndares para sealizacin por voltaje son RS-232, RS-422 y RS-485 de la EIA. Histricamente, se us la presencia o ausencia de corriente en circuitos telegrficos. Algunos esquemas de sealizacin no usan cables elctricos. Ejemplo de esto son la fibra ptica, infrarrojo y Bluetooth (inalmbrico). Algunos esquemas de sealizacin emplean una modulacin de seal portadora (con o sin cables). Ejemplos son la modulacin de seales de audio con mdems de lnea telefnica, modulacin en radio frecuencia (RF) en radios de datos y la DC-LIN para la comunicacin de lnea elctrica. IC es un bus de comunicaciones en serie. Su nombre viene de Inter Integrated Circuit (Circuitos Inter-Integrados). La versin 1.0 data del ao 1992 y la versin 2.1 del ao 2000, su diseador es Philips. La velocidad es de 100Kbits por segundo en el modo estndar, aunque tambin permite velocidades de 3.4 Mbit/s. Es un bus muy usado en la industria, principalmente para comunicar microntroladores y sus perifricos en sistemas integrados (Embedded Systems) y

generalizando ms para comunicar circuitos integrados entre si que normalmente residen en un mismo circuito impreso.

9. RECOMENDACIONES
Para probar nuestra comunicacin RS232 podemos utilizar a micro pro En Tools se escoge USART Terminal o simplemente se presiona Ctrl + T. En este cuadro se selecciona el puerto que vamos a utilizar (COM1, COM2, COM3, etc.) se selecciona la velocidad y se presiona conectar. LA misma tcnica puede ser utilizada para trabajar con ms herramientas. Ejemplo Tools/ EEPROM Editor, Tools/LCD Custom Character, Tools/ Seven Segment Editor, y asi sucesivamente.

- 10 -