11 puerto serial pic [modo de ad

5
 08/08/2011 1 Programación en lenguaje C para Microcontroladores PIC Puerto Serial A sincrono Ing. Germán Jesús Pereira Muñoz Ing. Germán Jesús Pereira Muñoz 20/08/10 1 Ing. Germán Jesús Pereira Muñoz 20/08/10 1 Puertos Del Computador Puerto Paralelo Puerto Serial Puerto USB 20/08/10 2 Ing. Germán Jesús Pereira Muñoz Puerto Serial El puerto serie RS -232, es la forma mas común usada para realizar transmisiones de datos entre: Ordenadores. PLC’s Celulares Calculadoras GPS Dispositivos de Radio Frecuencia Datalogers, etc. Utili za el Circu it o inte gra do UAR T (T rans miso r-Rece pto r-Así ncr on o Universal). Lossiguie ntesmodelosde estechip: 8250(bast ant e antiguo, sol o lle ga a9600 baud ios) , 16450(versióncorreg ida del 8250, llegahasta 115.200baudios) 165 50A(conbuff er s deE/S)a par tirde lagama Pent ium. Los portát ilessuelen llevarotros chip s:   82510 (c onbufferespeci al,emulaal 164 50)o el825 20/08/10 3 Ing. Germán Jesús Pereira Muñoz Direcciones del Puerto Serial del computador El Puerto Serial Tiene las Direcciones. Direcciones Base +0:   COM 1 3F8h = 1016d   COM 2 2F8h = 760d   COM 3 3E8h = 1000h   COM 4 2E8h = 744d 20/08/10 4 Ing. Germán Jesús Pereira Muñoz Tabla de Registro del Puerto Serial 20/08/10 5 Ing. Germán Jesús Pereira Muñoz Conexión Entre Computadores Modem Nulo Modem Completo Realimentación 20/08/10 6 Ing. Germán Jesús Pereira Muñoz

Upload: reyna-alejandra

Post on 17-Jul-2015

16 views

Category:

Documents


0 download

TRANSCRIPT

5/14/2018 11 Puerto Serial PIC [Modo de ad - slidepdf.com

http://slidepdf.com/reader/full/11-puerto-serial-pic-modo-de-ad 1/5

 

08/08/2011

1

Programación en lenguaje C para

Microcontroladores PIC

Puerto Serial Asincrono

Ing. Germán Jesús Pereira MuñozIng. Germán Jesús Pereira Muñoz

20/08/10 1Ing. Germán Jesús Pereira Muñoz20/08/10 1

Puertos Del Computador

Puerto Paralelo

Puerto Serial

Puerto USB

20/08/10 2Ing. Germán Jesús Pereira Muñoz

Puerto Serial

El puerto serie RS-232, es la forma mas co mún usada para realizartransmisiones de datos entre:

• Ordenadores.

• PLC’s

• Celulares

• Calculadoras

• GPS

• Dispositivos de Radio Frecuencia

• Datalogers, etc.

Utiliza el Circuito integrado UART (Transmisor-Receptor-AsíncronoUniversal).

Lossiguientesmodelosde estechip:• 8250(bastante antiguo, solo llega a9600 baudios),

• 16450(versióncorregida del 8250, llegahasta 115.200baudios)

• 16550A(conbuffers deE/S)a partirde lagama Pentium.

• Los portátilessuelen llevarotros chips:

 –  82510 (conbufferespecial,emulaal 16450)o el825

20/08/10 3Ing. Germán Jesús Pereira Muñoz

Direcciones del Puerto Serial del

computador

El Puerto Serial Tiene las Direcciones.

Direcciones Base +0:

 – COM 1 3F8h = 1016d

 – COM 2 2F8h = 760d

 – COM 3 3E8h = 1000h – COM 4 2E8h = 744d

20/08/10 4Ing. Germán Jesús Pereira Muñoz

Tabla de Registro del Puerto Serial

20/08/10 5Ing. Germán Jesús Pereira Muñoz

Conexión

EntreComputadores

Modem Nulo

Modem Completo

Realimentación

20/08/10 6Ing. Germán Jesús Pereira Muñoz

5/14/2018 11 Puerto Serial PIC [Modo de ad - slidepdf.com

http://slidepdf.com/reader/full/11-puerto-serial-pic-modo-de-ad 2/5

 

08/08/2011

2

Configuración Del Tren De Bits Del

Puerto Serial

• Mas común 8N1

 – 8bitsdedatos configurablea 7, 6, 5 bits de datos

 – 1bit de inicio

 – 1bit de parada configurablea 2, 1 y ½ bits deparada

20/08/10 7Ing. Germán Jesús Pereira Muñoz

 

Niveles de voltaje Del Puerto Serial

• Comunicación RS-232 son:

 – +3a +25 voltios significa un ‘0’lógico

 – -3 a –25 voltiossignifica un ‘1’ lógico

 – Cualquier voltaje entre estas regiones +3 a –3 voltios es indefinido

20/08/10 8Ing. Germán Jesús Pereira Muñoz

Conversores de nivel de voltaje RS-232

20/08/10 9Ing. Germán Jesús Pereira Muñoz

Usart (funciones)

Usart_Init

Usart_Data_Ready

Usart_Read

Usart_Write

20/08/10 10Ing. Germán Jesús Pereira Muñoz20/08/10 10

Uart_InitDescripción: Initializa el modulo hardware USART con un

determinado Baud rate. Referirse al data sheet de cada

dispositivo para un especifico Fosc. Si se reporta un baud

rate no soportado el compilador da un error.

void Usart_Init(const unsigned long baud_rate);

Ejemplo:Usart_Init(9600,);

20/08/10 11Ing. Germán Jesús Pereira Muñoz20/08/10 11

Usart_Data_ReadyDescripción: Use la funcion para testear si un dato ha

sido recivido en el buffer y esta listo para la lectura.

unsigned short Usart_Data_Ready(void);

Ejemplo:

Si el dato esta listo:

int receive;

...

if (Usart_Data_Ready()) receive = Usart_Read;

20/08/10 12Ing. Germán Jesús Pereira Muñoz20/08/10 12

5/14/2018 11 Puerto Serial PIC [Modo de ad - slidepdf.com

http://slidepdf.com/reader/full/11-puerto-serial-pic-modo-de-ad 3/5

 

08/08/2011

3

Usart_ReadDescripción: La funcion recive un byte via USART. Use la

funcion Usart_Data_Ready para verificar si un dato esta

listo en el buffer, antes de usar la funcion Usart_Read.

unsigned short Usart_Read(void);

Ejemplo:

Si el dato esta listo:

int receive;

...

if (Usart_Data_Ready())

{ receive = Usart_Read(); }

20/08/10 13Ing. Germán Jesús Pereira Muñoz20/08/10 13

Usart_WriteDescripción: Funcion transmite un byte (data) via USART.

void Usart_Write(unsigned short data);

Ejemplo:

int chunk = 0x1E;

….

Usart_Write(chunk);  /* envia chunk via USART */ 

20/08/10 14Ing. Germán Jesús Pereira Muñoz20/08/10 14

Usart(esquemático con COMPIN)

20/08/10 15Ing. Germán Jesús Pereira Muñoz20/08/10 15

Usart (programa I)

20/08/10 16Ing. Germán Jesús Pereira Muñoz20/08/10 16

Soft Uart (funciones)

Soft_Uart_Init

Soft_Uart_ReadSoft_Uart_Write

20/08/10 17Ing. Germán Jesús Pereira Muñoz20/08/10 17

Soft_Uart_InitDescripción: Inicializa el softUART. Los parametros del puerto

especifica en que pines del puerto estan el TX y RX debenestar en elrango de 0-7 (no se puede colocar en el mismo pin Rx y TX);

El baud_rate es la velocidad de transmicion, el maximo vaor dependedel reloj del PIC.El parametro inverted, si toma un valor distinto de cero, indica logica

invertida en la salida:

void Soft_Uart_Init( unsigned short port,

unsigned short rx, unsigned short tx,

unsigned short baud_rate,

unsigned short inverted);

Ejemplo:

Soft_Uart_Init(PORTB, 1, 2, 9600, 0);

20/08/10 18Ing. Germán Jesús Pereira Muñoz20/08/10 18

5/14/2018 11 Puerto Serial PIC [Modo de ad - slidepdf.com

http://slidepdf.com/reader/full/11-puerto-serial-pic-modo-de-ad 4/5

 

08/08/2011

4

Soft_Uart_ReadDescripción: La funcion recibe un byte via el soft uart. El

parametro received es cero si la transmicion a sido

existosa.

unsigned short Soft_Uart_Read(unsigned short *received);

Ejemplo:

data = Soft_Uart_Read(rec);

20/08/10 19Ing. Germán Jesús Pereira Muñoz20/08/10 19

Soft_Uart_WriteDescripción: La funcion trnasmite un byte via Soft UART.

void Soft_Uart_Write(unsigned short data);

Ejemplo:

unsigned short some_byte = 0x0A; ...

Soft_Uart_Write(some_byte);

20/08/10 20Ing. Germán Jesús Pereira Muñoz20/08/10 20

Soft_Uart (problema)

• Se desea un programa para recibir un byte de uncomputador y retransmitirlo incrmentado en unaunidad.

20/08/10 21Ing. Germán Jesús Pereira Muñoz20/08/10 21

Soft_Uart (algoritmo)

• 1 Configuración de puertos

• 2 Configuracion del soft_uart

• 3 Lectura de soft_uart

• 4 Envío a los leds

• 5 Regresar a 3

20/08/10 22Ing. Germán Jesús Pereira Muñoz20/08/10 22

Soft_Uart(esquemático con virtual Terminal)

20/08/10 23Ing. Germán Jesús Pereira Muñoz20/08/10 23

Soft_Uart

(programa I)

20/08/10 24Ing. Germán Jesús Pereira Muñoz20/08/10 24

5/14/2018 11 Puerto Serial PIC [Modo de ad - slidepdf.com

http://slidepdf.com/reader/full/11-puerto-serial-pic-modo-de-ad 5/5

 

08/08/2011

5

Soft_Uart

(programa II)

20/08/10 25Ing. Germán Jesús Pereira Muñoz20/08/10 25

Soft_Uart(Salida)

20/08/10 26Ing. Germán Jesús Pereira Muñoz20/08/10 26

Ejercicio propuesto 1• Repetir el ejercicio anterior, pero utilizando el

 virtualizador del puerto serial y el componenteCOMPIM del Proteus, y el Hyperterminal del PC

20/08/10 27Ing. Germán Jesús Pereira Muñoz20/08/10 27

Ejercicio propuesto 2

• Realizar un programa controlar con el teclado delcomputador del computador dos motores DC

a) a) Utilizando el Virtual Terminal del Proteus

b) b) Utilizando el Virtualizador del puerto serial y el COMPIM del Proteus

20/08/10 28Ing. Germán Jesús Pereira Muñoz20/08/10 28

Ejercicio propuesto 3• Realizar un programa que en el computador se

desliegue la informacion de 4 ADC delmicrocontrolador.

a) a) Utilizando el Virtual Terminal del Proteus

b) b) Utilizando el Virtualizador del puerto serial y el COMPIM del Proteus

20/08/10 29Ing. Germán Jesús Pereira Muñoz20/08/10 29

Ejercicio propuesto 4• Realizar un programa para que mediante el

computador se mande un mensaje al microcontrolador y est emensaje ser muestre en un LCD de texto.

a) a) Utilizando el Virtual Terminal del Proteus

b) b) Utilizando el Virtualizador del puerto serial y elCOMPIM del Proteus

20/08/10 30Ing. Germán Jesús Pereira Muñoz20/08/10 30