puerto paralelo esclavo (psp) y usart del pic

20
1 PUERTO PARALELO ESCLAVO (PSP) Bus bidireccional de 8 bits (puerto D) Tres señales de control – CS(RE2) , WR(RE1), RD(RE0) Cuatro flags – IBF, OBF, IBOV, PSPIF (interrupción).

Upload: brian-montero

Post on 11-Aug-2015

129 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Puerto Paralelo Esclavo (PSP) y USART Del PIC

1

PUERTO PARALELO ESCLAVO (PSP)

• Bus bidireccional de 8 bits (puerto D)• Tres señales de control

– CS(RE2) , WR(RE1), RD(RE0)

• Cuatro flags– IBF, OBF, IBOV, PSPIF (interrupción).

Page 2: Puerto Paralelo Esclavo (PSP) y USART Del PIC

2

Page 3: Puerto Paralelo Esclavo (PSP) y USART Del PIC

3

Page 4: Puerto Paralelo Esclavo (PSP) y USART Del PIC

4

PSP - Escritura

Page 5: Puerto Paralelo Esclavo (PSP) y USART Del PIC

5

PSP - Lectura

Page 6: Puerto Paralelo Esclavo (PSP) y USART Del PIC

6

HABILITACIÓN PSP

FLAGS INFORMATIVOS

FLAG DE INTERRUPCIÓNRE0 A RE2 COMO E/S DIGITALES

PORT E COMO ENTRADA

HABILITACIÓN PARTICULAR DE INTERRUPCIÓN

Page 7: Puerto Paralelo Esclavo (PSP) y USART Del PIC

7

#pragma config=0x3f71 //Cada vez que se recibe un dato, es mostrado#pragma chip PIC16f877 // en el puerto B. Cada vez que se lee un dato,#pragma interruptSaveCheck n //se envía el contenido del puerto A.#pragma origin 4interrupt rut_tmr(void){

PSPIF=0; //borrado del flagif(IBF) PORTB=PORTD; //Se ha recibido un dato del exteriorelse PORTD=PORTA; //Del exterior se leyó un dato

}void main(void){

PSPMODE=1; //modo esclavo del puerto DTRISA=0xFF; //puerto A comoADCON1=0x06; //entradas digitalesTRISB=0; //Puerto B como salidaGIE=1;PEIE=1;PSPIE=1; //habilitación de interrupcionesPORTD=PORTA; //Primera escritura en el puertowhile(1);

}

Page 8: Puerto Paralelo Esclavo (PSP) y USART Del PIC

8

USARTUniversal Synchronous Asynchronous Receiver Transmitter

• Comunicación serie• Síncrona:

– Dos lineas: Datos y reloj– Half duplex: Bidireccional no simultanea

• Asíncrona:– Dos lineas: TX(RC6), RX(RC7)– Duplex: Bidireccional simultánea– 1 bit de arranque, 8 o 9 bits de datos y 1 bit

de stop.

Page 9: Puerto Paralelo Esclavo (PSP) y USART Del PIC

9

MODO ASINCRONO

Page 10: Puerto Paralelo Esclavo (PSP) y USART Del PIC

10

TRANSMISIÓN

Page 11: Puerto Paralelo Esclavo (PSP) y USART Del PIC

11

Page 12: Puerto Paralelo Esclavo (PSP) y USART Del PIC

12

Page 13: Puerto Paralelo Esclavo (PSP) y USART Del PIC

13

RECEPCIÓN

Page 14: Puerto Paralelo Esclavo (PSP) y USART Del PIC

14

Page 15: Puerto Paralelo Esclavo (PSP) y USART Del PIC

15

Page 16: Puerto Paralelo Esclavo (PSP) y USART Del PIC

16

Page 17: Puerto Paralelo Esclavo (PSP) y USART Del PIC

17

#pragma config=0x3f71 //Recibiendo datos por el puerto serie y #pragma chip PIC16f877 //mostrándolos en el puerto B, enviando #pragma interruptSaveCheck n //los datos del puerto a por el puerto serie#pragma origin 4interrupt rut_tmr(void){

if(TXIF) {TXIF=0; TXREG=PORTA;} //Se transmiteif(RCIF) {RCIF=0; PORTB=RCREG;} //Se recibe

}void main(void){

TRISA=0xFF; //puerto A comoADCON1=0x06; //entradas digitalesTRISB=0; //Puerto B como salidasTRISC.6=0; //RC6/TX como salidaTRISC.7=1; //RC7/RX como entradaTXSTA=0x24; //Configuración del puerto serieRCSTA=0x90;SPBRG=0x0C;TXIE=1; RCIE=1; //Habilitación dePEIE=1; GIE=1; //interrupcioneswhile(1);

}

Page 18: Puerto Paralelo Esclavo (PSP) y USART Del PIC

18

Se desea utilizar el microcontrolador 16F877 para realizar un sistema de adquisición de datos analógicos de manera remota. El sistema contará con 8 entradas analógicas e intercambiará datos con el exterior mediante el puerto serie en modo asíncrono (UART) a una velocidad de 12.000 baudios.El funcionamiento deberá atenerse a las siguientes especificaciones:1.- Diseño básicoEl sistema está inicialmente a la espera de recibir ordenes por el puerto serie.A la recepción de un octeto, pueden darse los siguientes casos:

- Que el valor recibido esté comprendido entre 00h y 07h: El sistema entenderá que se solicita una conversión del canal indicado en el octeto, por lo tanto se realizará una conversión y se enviará el resultado por el puerto serie (dos octetos).- Que el valor recibido no esté comprendido entre 00h y 07h: No se realizará ni conversión ni envío.

TAREAS PROPUESTAS

Page 19: Puerto Paralelo Esclavo (PSP) y USART Del PIC

19

2.- Opcional Si el octeto recibido tiene el valor FFh, el CAD pasa a usar las referencias externas.Si el octeto recibido es EEh, el CAD pasa a utilizar como referencias el valor de la alimentación.Si el octeto recibido tiene el valor DDh, el sitema entra en modo de bajo consumo.

Se pide:Explicación de la solución adoptada y justificación de recursos utilizados.Especificación de conexionesDiagramas de flujo.Código e inicializaciones necesarias.Nota: Los periféricos han de gestionarse por interrupción

Page 20: Puerto Paralelo Esclavo (PSP) y USART Del PIC

20

Se solicita conversión del canal 3

Valor convertido del canal 3

Cambio de las referencias para las siguientes conversiones

Orden para entrar en bajo consumo

Se solicita conversión del canal 6

Valor convertido del canal 6

03

4C

RxD

TxD

DD

C5

06FF

02 01