Ud1 7 puertos_es_pic
Transcript of Ud1 7 puertos_es_pic
![Page 1: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/1.jpg)
Puertos E/S en PICS
Puertos E/S para PIC
Departamento de ElectrónicaFundación San Valero
![Page 2: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/2.jpg)
Puertos de E/S en PICS
![Page 3: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/3.jpg)
Puertos de E/S en PICS
![Page 4: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/4.jpg)
Puertos de E/S en PICS
![Page 5: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/5.jpg)
Puertos de E/S en PICS
![Page 6: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/6.jpg)
Puertos de E/S en PICS
![Page 7: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/7.jpg)
Puertos de E/S en PICS
![Page 8: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/8.jpg)
Puertos de E/S en PICS
![Page 9: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/9.jpg)
Puertos de E/S en PICS
![Page 10: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/10.jpg)
Ejemplo uti l ización Puertos de E/S en
PICS
set_tris_a(); ej-> set_tris_a(0b00110001); set_tris_a(0x34); set_tris_b(); ej-> set_tris_b(0b00110001); set_tris_b(0x34);
1) Especificar qué líneas son de entrada, y cuáles de salida
2) Líneas de salida (escritura -> output)
3) Líneas de entrada (lectura -> input)
1 -> Input -> Entrada0 -> Output -> Salida
output_low(); ej-> output_low(PIN_A2);output_high(); ej-> output_high(PIN_A0);output_bit(); ej-> output_bit(PIN_A1,0); output_bit(PIN_A1,1);output_X(); ej_> output_a(0x03); output_a(0xFF);
input(); ej-> input(PIN_B2);input_X(); ej_> puerto_b=input_b();
OPERACIONES CON TIEMPOS:
Retardo de microsegundos: delay_us(); ej-> delay_us(50);
![Page 11: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/11.jpg)
Ejemplo uti l ización Puertos de E/S en
PICS
#include<16F84A>#use delay(clock=4000000)main(){
set_tris_a(0x00);set_tris_b(0x01); //Importante con las entradas!!!!
while(TRUE){if(input(PIN_B0)) output_bit(PIN_A0,0);else output_bit(PIN_A0,1);
}} if(!input(PIN_B0))
if(input(PIN_B0)==0)
Ejemplo:
![Page 12: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/12.jpg)
Interrupciones en PICS
Interrupciones en PIC
Departamento de ElectrónicaFundación San Valero
![Page 13: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/13.jpg)
Interrupciones en PICS
![Page 14: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/14.jpg)
Interrupciones en PICS
![Page 15: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/15.jpg)
Interrupciones en PICS
![Page 16: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/16.jpg)
Interrupciones en PICS
![Page 17: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/17.jpg)
Interrupciones en PICS
![Page 18: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/18.jpg)
Ejemplo Interrupciones
Interrupciones:
#include<16F84A>#use delay(clock=4000000)
-> AQUÍ
main(){
}
¿Dónde colocar la subrutina?
Configurar las interrupciones:
enable_interrupts(INT_RTCC);enable_interrupts(GLOBAL);
#int_TIMER0subrutina_TIMER0(){ }
![Page 19: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/19.jpg)
Ejemplo Interrupciones
Ejemplo uti l ización de interrupciones:#include<16F84A>#use delay(clock=4000000)
int flag=0; //Variable global
#int_TIMER0subrutina_TIMER0(){
if(flag==1) output_bit(PINB0,1);if(flag==0) output_bit(PINB0,0);flag=1-flag;
}main(){
set_tris_b(0x00); //Configurar B=salidasenable_interrupts(INT_RTCC); //Configurar interrupcionesenable_interrupts(GLOBAL);setup_timer_0(RTCC_DIV_1|RTCC_INTERNAL); //Conf. TMR0set_timer0(0xFF); //Establecer frecuencia de parpadeowhile(TRUE); //Bucle infinito
}
![Page 20: Ud1 7 puertos_es_pic](https://reader033.fdocument.pub/reader033/viewer/2022052912/55a15ef31a28ab556a8b4774/html5/thumbnails/20.jpg)
Ejemplo Interrupciones
Programación por interrupciones:
int cont=0, velocidad1=0, velocidad2=0;
#int_TIMER0subrutina_TIMER0(){
cont++;if(cont=NUM_VELOCIDADES){
output_bit(MOTOR_1,1);output_bit(MOTOR_2,1);cont=0;
}if(cont==velocidad1) output_bit(MOTOR_1,0);if(cont==velocidad2) output_bit(MOTOR_1,0);
}
Programación por interrupciones