Practicas del PIC18F4550 en C con el compilador CCS 2.docx

October 30, 2017 | Author: Tito Arispe | Category: N/A
Share Embed Donate


Short Description

Download Practicas del PIC18F4550 en C con el compilador CCS 2.docx...

Description

Practicas del PIC18F4550 en C con el compilador CCS Practica 1 Encendido de led con “standard_io()” // Pulsador // Enciende led en RB0 con pulsador en RA0 // Apaga led en RB0 con pulsador RA1 //----------------------------------------------------------------#include #fuses NOPROTECT,NODEBUG,NOWRT,NOCPD,NOLVP,BROWNOUT,PUT,NOWDT,XT #use delay(clock=4000000) #use standard_io(a) #use standard_io(b) void main(){ output_bit(PIN_B0,0); //pin en RB0=0 while(TRUE){ if(input(PIN_A0)==1){ //si RA0=1 output_bit(PIN_B0,1); //RB0=1 } if(input(PIN_A1)==0){ //si RA1=1 output_bit(PIN_B0,0); //RB0=0 } } }

U1 R2

R1

220

220

RA0

RA0 RA1

RA1

SW1

SW-SPST

SW-SPST

RB0

33 34 35 36 37 38 39 40

RA0/AN0 RC0/T1OSO/T1CKI RA1/AN1 RC1/T1OSI/CCP2/UOE RA2/AN2/VREF-/CVREF RC2/CCP1/P1A RA3/AN3/VREF+ RC4/D-/VM RA4/T0CKI/C1OUT/RCV RC5/D+/VP RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK RA6/OSC2/CLKO RC7/RX/DT/SDO OSC1/CLKI RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD

RB0

SW2

2 3 4 5 6 7 14 13

18

VUSB PIC18F4550

R3 220

D1 LED-BLUE

RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP

15 16 17 23 24 25 26

19 20 21 22 27 28 29 30 8 9 10 1

Practica 2 Encendido de led con “fast_io()” // Pulsador // Enciende led en RB0 con pulsador en RA0 // Apaga led en RB0 con pulsador RA1 //----------------------------------------------------------------#include #fuses NOPROTECT,NODEBUG,NOWRT,NOCPD,NOLVP,BROWNOUT,PUT,NOWDT,XT #use delay(clock=4000000) #use fast_io(a) #use fast_io(b) void main(){ set_tris_a(0b11111111); set_tris_b(0b11111110); //RB7...RB0=11...0 salida=0 entrada=1 output_bit(PIN_B0,0); //pin en RB0=0 while(TRUE){ if(input(PIN_A0)==1){ //si RA0=1 output_bit(PIN_B0,1); //RB0=1 } if(input(PIN_A1)==0){ //si RA1=1 output_bit(PIN_B0,0); //RB0=0 } } } U1 R2

R1

220

220

RA0

RA0 RA1

RA1

SW1

SW-SPST

SW-SPST

RB0

33 34 35 36 37 38 39 40

RA0/AN0 RC0/T1OSO/T1CKI RA1/AN1 RC1/T1OSI/CCP2/UOE RA2/AN2/VREF-/CVREF RC2/CCP1/P1A RA3/AN3/VREF+ RC4/D-/VM RA4/T0CKI/C1OUT/RCV RC5/D+/VP RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK RA6/OSC2/CLKO RC7/RX/DT/SDO OSC1/CLKI RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD

RB0

SW2

2 3 4 5 6 7 14 13

18

VUSB PIC18F4550

R3 220

D1 LED-BLUE

RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP

15 16 17 23 24 25 26

19 20 21 22 27 28 29 30 8 9 10 1

Practica 3 Manejo de puertos definiendo los registros de la RAM // Pulsador // Enciende led en RB0 con pulsador en RA0 // Apaga led en RB0 con pulsador RA1 //----------------------------------------------------------------#include #fuses NOPROTECT,NODEBUG,NOWRT,NOCPD,NOLVP,BROWNOUT,PUT,NOWDT,XT #use delay(clock=4000000) #byte PORTA=0xf80 #byte TRISA=0xf92 #byte PORTB=0xf81 #byte TRISB=0xf93 #bit RA0=0xf80.0 #bit RA1=0xf80.1 #bit RB0=0xf81.0 void main(){ TRISA=0b11111111; TRISB=0b11111110; //RB7...RB0=11...0 salida=0 entrada=1 RB0=0; while(TRUE){ if(RA0==1){ RB0=1; } if(RA1==0){ //si RA1=1 RB0=0; } } }

U1 R2

R1

220

220

RA0

RA0 RA1

RA1

SW1

SW-SPST

SW-SPST

RB0

33 34 35 36 37 38 39 40

RA0/AN0 RC0/T1OSO/T1CKI RA1/AN1 RC1/T1OSI/CCP2/UOE RA2/AN2/VREF-/CVREF RC2/CCP1/P1A RA3/AN3/VREF+ RC4/D-/VM RA4/T0CKI/C1OUT/RCV RC5/D+/VP RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK RA6/OSC2/CLKO RC7/RX/DT/SDO OSC1/CLKI RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD

RB0

SW2

2 3 4 5 6 7 14 13

18

VUSB PIC18F4550

R3 220

D1 LED-BLUE

RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP

15 16 17 23 24 25 26

19 20 21 22 27 28 29 30 8 9 10 1

Practica 7 Conmutador #include #fuses NOPROTECT,NODEBUG,NOWRT,NOCPD,NOLVP,BROWNOUT,PUT,NOWDT,XT #use delay(clock=4000000) #use fast_io(a) void main(){ int1 a=1; set_tris_a(0xf37); output_bit(PIN_A3,!a); while(TRUE){ if(input(PIN_A0)){ delay_ms(20); while(input(PIN_A0)) delay_ms(20); output_bit(PIN_A3,a); a=!a; } if(input(PIN_A1)){ delay_ms(20); while(input(PIN_A1)) delay_ms(20); output_bit(PIN_A3,a); a=!a; } } } U1 R2

R1

220

220

RA0

RA0 RA1 RA2

RA1

2 3 4 5 6 7 14 13

RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD

RA2

33 34 35 36 37 38 39 40

RA0/AN0 RC0/T1OSO/T1CKI RA1/AN1 RC1/T1OSI/CCP2/UOE RA2/AN2/VREF-/CVREF RC2/CCP1/P1A RA3/AN3/VREF+ RC4/D-/VM RA4/T0CKI/C1OUT/RCV RC5/D+/VP RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK RA6/OSC2/CLKO RC7/RX/DT/SDO OSC1/CLKI

18

VUSB PIC18F4550

R3 220

D1 LED-BLUE

RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP

15 16 17 23 24 25 26

19 20 21 22 27 28 29 30 8 9 10 1

Practica 11 Conversor ADC // Resultado de la conversion ADC del canal 0 // Se muestra en el puerto B (8bit menos significativo) y puertos C(2 bits mas significativo) //---------------------------------------------------------------#include #fuses NOPROTECT,NODEBUG,NOWRT,NOCPD,NOLVP,BROWNOUT,PUT,NOWDT,XT #device ADC=10 #use delay(clock=4000000) void main(){ int16 adcValue; float32 value,value1; setup_adc_ports(AN0); //canal 0 logico setup_adc(ADC_CLOCK_INTERNAL); output_b(0x00); output_c(0x00); do{ set_adc_channel(0); delay_us(20); //retardo para carga del cond. de muestreo adcValue=read_adc(); //lee el resultado de la conversion value1=adcValue; value=5*(Value1/1023); //se transforma a voltios output_b(adcValue); //parte baja de la conversion a portb /*rotate_rigth(&adcValue,2); rotate_rigth(&adcValue,2); rotate_rigth(&adcValue,2); rotate_rigth(&adcValue,2); rotate_rigth(&adcValue,2); rotate_rigth(&adcValue,2); rotate_rigth(&adcValue,2); rotate_rigth(&adcValue,2); */ output_c(adcValue); //parte alta de la conversion a portc delay_ms(1000); } while(TRUE); } RV1 37%

U1

U2 20 19 18 17 16 15 14 13 12 11

1 2 3 4 5 6 7 8 9 10

2 3 4 5 10k 6 7 14 13 33 34 35 36 37 38 39 40

RA0/AN0 RC0/T1OSO/T1CKI RA1/AN1 RC1/T1OSI/CCP2/UOE RA2/AN2/VREF-/CVREF RC2/CCP1/P1A RA3/AN3/VREF+ RC4/D-/VM RA4/T0CKI/C1OUT/RCV RC5/D+/VP RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK RA6/OSC2/CLKO RC7/RX/DT/SDO OSC1/CLKI RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD

9 10

LED-BARGRAPH-GRN 18

VUSB PIC18F4550

RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP

15 16 17 23 24 25 26

19 20 21 22 27 28 29 30 8 9 10 1

9 10

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF