Documentos de Académico
Documentos de Profesional
Documentos de Cultura
T e I2C
/*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 } } }
NOTA: Para trabajar en este ejercicio deber utilizar el programa Virtual Serial Port con el que puede crear puertos virtuales: Ej. Cree los puertos virtuales COM1 y COM2. Utilice el puerto virtual COM1 para configurar el COMPIM de PROTEUS y utilice el COM2 para el HIPERTERMINAL.
RESPONDER:
1)
Realice una comunicacin SERIAL VIA USART con otro microcontrolador en el mismo circuito. En este ejercicio cuando apriete un pulsador har que el otro microcontrolador parpadee los bits del puerto B. Para conectar los dos microcontroladores en este ejercicio conecte en forma cruzada Rx1 Tx2 y Tx1 Rx2.
COMUNICACIN I2C
/* * Nombre del Proyecto: P10b_i2c.c * Nombre del Autor: (c) Mikroelektronika, 2009. * Description: (Explicacin del ejercicio) * Test configuration: MCU: PIC16F887 Oscillator: HS, 08.0000 MHz SW: mikroC PRO for PIC * NOTES: */
void main(){ ANSEL = 0; ANSELH = 0; PORTB = 0; TRISB = 0; I2C1_Init(100000); I2C1_Start(); I2C1_Wr(0xA0); I2C1_Wr(2); I2C1_Wr(0xF0); I2C1_Stop();
// Configure AN pins as digital I/O // 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
Delay_100ms(); I2C1_Start(); I2C1_Wr(0xA0); I2C1_Wr(2); I2C1_Repeated_Start(); I2C1_Wr(0xA1); PORTB = I2C1_Rd(0u); I2C1_Stop(); } // // // // // // // issue I2C start signal send byte via I2C (device address + W) send byte (data address) issue I2C signal repeated start send byte (device address + R) Read the data (NO acknowledge) issue I2C stop signal
RESPONDER:
1)