Escolar Documentos
Profissional Documentos
Cultura Documentos
Cuatro flags
IBF, OBF, IBOV, PSPIF (interrupcin).
PSP - Escritura
PSP - Lectura
HABILITACIN PSP FLAG DE INTERRUPCIN PORT E COMO ENTRADA RE0 A RE2 COMO E/S DIGITALES HABILITACIN PARTICULAR DE INTERRUPCIN
FLAGS INFORMATIVOS
6
#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 enva el contenido del puerto A. #pragma origin 4 interrupt rut_tmr(void) { PSPIF=0; //borrado del flag if(IBF) PORTB=PORTD; //Se ha recibido un dato del exterior else PORTD=PORTA; //Del exterior se ley un dato } void main(void) { PSPMODE=1; //modo esclavo del puerto D TRISA=0xFF; //puerto A como ADCON1=0x06; //entradas digitales TRISB=0; //Puerto B como salida GIE=1;PEIE=1;PSPIE=1; //habilitacin de interrupciones PORTD=PORTA; //Primera escritura en el puerto while(1); } 7
USART
Universal Synchronous Asynchronous Receiver Transmitter
Asncrona:
Dos lineas: TX(RC6), RX(RC7) Duplex: Bidireccional simultnea 1 bit de arranque, 8 o 9 bits de datos y 1 bit de stop.
8
MODO ASINCRONO
TRANSMISIN
10
11
12
RECEPCIN
13
14
15
16
#pragma config=0x3f71 //Recibiendo datos por el puerto serie y #pragma chip PIC16f877 //mostrndolos en el puerto B, enviando #pragma interruptSaveCheck n //los datos del puerto a por el puerto serie #pragma origin 4 interrupt rut_tmr(void) { if(TXIF) {TXIF=0; TXREG=PORTA;} //Se transmite if(RCIF) {RCIF=0; PORTB=RCREG;} //Se recibe } void main(void) { TRISA=0xFF; //puerto A como ADCON1=0x06; //entradas digitales TRISB=0; //Puerto B como salidas TRISC.6=0; //RC6/TX como salida TRISC.7=1; //RC7/RX como entrada TXSTA=0x24; //Configuracin del puerto serie RCSTA=0x90; SPBRG=0x0C; TXIE=1; RCIE=1; //Habilitacin de PEIE=1; GIE=1; //interrupciones while(1); 17 }
TAREAS PROPUESTAS
Se desea utilizar el microcontrolador 16F877 para realizar un sistema de adquisicin de datos analgicos de manera remota. El sistema contar con 8 entradas analgicas e intercambiar datos con el exterior mediante el puerto serie en modo asncrono (UART) a una velocidad de 12.000 baudios. El funcionamiento deber atenerse a las siguientes especificaciones: 1.- Diseo bsico El sistema est inicialmente a la espera de recibir ordenes por el puerto serie. A la recepcin 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 conversin del canal indicado en el octeto, por lo tanto se realizar una conversin y se enviar el resultado por el puerto serie (dos octetos). - Que el valor recibido no est comprendido entre 00h y 07h: No 18 se realizar ni conversin ni envo.
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 alimentacin. Si el octeto recibido tiene el valor DDh, el sitema entra en modo de bajo consumo. Se pide: Explicacin de la solucin adoptada y justificacin de recursos utilizados. Especificacin de conexiones Diagramas de flujo. Cdigo e inicializaciones necesarias. Nota: Los perifricos han de gestionarse por interrupcin
19
RxD TxD
03
FF
06
DD 01 C5
02
4C
20