proyectos en microcontroladores pic

24
UNIVERSIDAD POLITECNICA SALESIANA SISTEMAS MICROPROCESADOS 1 PRACTICA 1 INTEGRANTES: Echeverría Jonathan Duque Diego Velásquez Lenin

Upload: leninlmv

Post on 09-Apr-2015

8.210 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: PROYECTOS EN MICROCONTROLADORES PIC

UNIVERSIDAD POLITECNICA SALESIANA

SISTEMAS MICROPROCESADOS 1

PRACTICA 1

INTEGRANTES:

Echeverría Jonathan

Duque Diego

Velásquez Lenin

Page 2: PROYECTOS EN MICROCONTROLADORES PIC

PRACTICA 1

Tema: Entrada y Salida en el microcontrolador pic.

Objetivo: Utilizar los puertos del microcontrolador pic, como interface digital al mundo exterior.

PROCEDIMIENTO:

1.1 Escribir en el puerto B el valor 55h Código: program Practica1 main: 'Parte principal del programa trisb=0 'Habilita el puerto B como salida portb= $55 'Escribe en el puerto B el valor 55H=01010101 delay_ms(1000) 'Retardo de un segundo end. 'Fin del programa Esquemático:

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

R1

330

R2

330

R3

330

R4

330

R5

330

R6

330

R7

330

R8

330

R910k

D1

LED-BLUE

D2

LED-BLUE

D3

LED-BLUE

D4

LED-BLUE

D5

LED-BLUE

D6

LED-BLUE

D7

LED-BLUE

D8

LED-BLUE

X1CRYSTAL

C1

33p

C2

33p

Page 3: PROYECTOS EN MICROCONTROLADORES PIC

Practico:

1.2 Ejercicio de aplicación escribir en el puerto b el valor AA program Practica1 main: 'Parte principal del programa trisb=0 'Habilita el puerto B como salida portb= $AA delay_ms(1000) 'Retardo de un segundo end. 'Fin del programa

Esquematico:

Page 4: PROYECTOS EN MICROCONTROLADORES PIC

Practico:

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

R1

330

R2

330

R3

330

R4

330

R5

330

R6

330

R7

330

R8

330

R910k

D1

LED-BLUE

D2

LED-BLUE

D3

LED-BLUE

D4

LED-BLUE

D5

LED-BLUE

D6

LED-BLUE

D7

LED-BLUE

D8

LED-BLUE

X1CRYSTAL

C1

33p

C2

33p

Page 5: PROYECTOS EN MICROCONTROLADORES PIC

1.3 Ejercicio de aplicación en el puerto C escribir el valor FO program Practica1 main: 'Parte principal del programa trisc=0 'Habilita el puerto C como salida portc= $f0 delay_ms(1000) 'Retardo de un sugundo end. 'Fin del programa Esquemático:

Practico:

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

R1

330

R2

330

R3

330

R4

330

R5

330

R6

330

R7

330

R8

330

R910k

D1

LED-BLUE

D2

LED-BLUE

D3

LED-BLUE

D4

LED-BLUE

D5

LED-BLUE

D6

LED-BLUE

D7

LED-BLUE

D8

LED-BLUE

X1CRYSTAL

C1

33p

C2

33p

Page 6: PROYECTOS EN MICROCONTROLADORES PIC

1.4 Leer en el puerto C y escribir en el puerto B Código: program Practica2 dim valor as byte main: lazo: trisc=$ff trisb=0 valor=portc portb=valor goto lazo end.

Esquematico:

Page 7: PROYECTOS EN MICROCONTROLADORES PIC

Practico:

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

R1

330

R2

330

R3

330

R4

330

R5

330

R6

330

R7

330

R8

330

R910k

D1

LED-BLUE

D2

LED-BLUE

D3

LED-BLUE

D4

LED-BLUE

D5

LED-BLUE

D6

LED-BLUE

D7

LED-BLUE

D8

LED-BLUE

X1CRYSTAL

C1

33p

C2

33p

OF

FO

N1 2 3 4 5 6 7 8

16

15

14

13

12

11

10 9

DSW1DIPSW_8

R10

10k

R11

10k

R12

10k

R13

10k

R14

10k

R15

10k

R16

10k

R17

10k

Page 8: PROYECTOS EN MICROCONTROLADORES PIC

1.5 Ejercicio de aplicación Leer en el puerto a y escribir en el puerto D Código: program Practica3 dim valor1 as byte main: lazo: trisa=$3f trisd=0 valor1=porta portd=valor1 goto lazo end. Esquematico:

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

R1

330

R2

330

R3

330

R4

330

R5

330

R6

330

R7

330

R8

330

D1

LED-BLUE

D2

LED-BLUE

D3

LED-BLUE

D4

LED-BLUE

D5

LED-BLUE

D6

LED-BLUE

D7

LED-BLUE

D8

LED-BLUE

X1CRYSTAL

C1

33p

C2

33p

OF

FO

N1 2 3 4 5 6 7 8

16

15

14

13

12

11

10 9

DSW1DIPSW_8

R10

330

R11

330

R12

330

R13

330

R14

330

R15

330

R910k

Page 9: PROYECTOS EN MICROCONTROLADORES PIC

1.6 Escribir en un display de 7 segmentos sin utilizar decodificador, un valos ascendente entre 0 y F. Código: program Practica6 main: trisb=$0 lazo: portb=%00111111 delay_ms(2000) portb=%00000110 delay_ms(2000) portb=%01011011 delay_ms(2000) portb=%01001111 delay_ms(2000) portb=%01100110 delay_ms(2000) portb=%01101101 delay_ms(2000) portb=%01111101 delay_ms(2000) portb=%00000111 delay_ms(2000) portb=%01111111 delay_ms(2000) portb=%01100111 delay_ms(2000) portb=%01110111 delay_ms(2000) portb=%01111100 delay_ms(2000) portb=%01011000 delay_ms(2000)

Page 10: PROYECTOS EN MICROCONTROLADORES PIC

portb=%01011110 delay_ms(2000) portb=%01111001 delay_ms(2000) portb=%01110001 delay_ms(2000) portb=%01110001 delay_ms(2000) goto lazo end.

Esquematico:

Practico:

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

R1

330

R2

330

R3

330

R4

330

R5

330

R6

330

R7

330

R910k

X1CRYSTAL

C1

33p

C2

33p

Page 11: PROYECTOS EN MICROCONTROLADORES PIC

1.7 Ejercicio de aplicación mediante un display alfanumérico mostrar en orden descendente todas las letras del alfabeto de la Z a la A. Código program display_alfanumerico main: trisb=$0 trisc=$0 lazo: portb=%00110011 'Z portc=%01000100 delay_ms(1000) portb=%00000000 'y portc=%00100101 delay_ms(1000) portb=%00000000 'X portc=%01010101 delay_ms(1000) portb=%11001100 'W portc=%01010000 delay_ms(1000)

Page 12: PROYECTOS EN MICROCONTROLADORES PIC

portb=%11000000 'V portc=%01000100 delay_ms(1000) portb=%11111100 'U portc=%00000000 delay_ms(1000) portb=%00000011 'T portc=%00100010 delay_ms(1000) portb=%10111011 'S portc=%10001000 delay_ms(1000) portb=%11000111 'R portc=%10011000 delay_ms(1000) portb=%11111111 'Q portc=%00010000 delay_ms(1000) portb=%11000111 'P portc=%10001000 delay_ms(1000) portb=%11111111 'O portc=%00000000 delay_ms(1000) portb=%11001100 'N portc=%00010001 delay_ms(1000) portb=%11001100 'M portc=%00000101 delay_ms(1000) portb=%11110000 'L portc=%00000000 delay_ms(1000)

Page 13: PROYECTOS EN MICROCONTROLADORES PIC

portb=%11000000 'K portc=%10010100 delay_ms(1000) portb=%01100011 'J portc=%00100010 delay_ms(1000) portb=%00110011 'I portc=%00100010 delay_ms(1000) portb=%11001100 'H portc=%10001000 delay_ms(1000) portb=%11111011 'G portc=%00001000 delay_ms(1000) portb=%11000011 'F portc=%10001000 delay_ms(1000) portb=%11110011 'E portc=%10001000 delay_ms(1000) portb=%00111111 'D portc=%00100010 delay_ms(1000) portb=%11110011 'C portc=%00000000 delay_ms(1000) portb=%00111111 'B portc=%00101010 delay_ms(1000) portb=%11001111 'A portc=%10001000 delay_ms(1000)

Page 14: PROYECTOS EN MICROCONTROLADORES PIC

goto lazo end. Esquematico:

Practico:

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

R1

330

R2

330

R3

330

R4

330

R5

330

R6

330

R7

330R910k

X1CRYSTAL

C1

33p

C2

33p

R8

330

R10

330

R11

330

R12

330

R13

330

R14

330

R15

330

R16

330R17

330

Page 15: PROYECTOS EN MICROCONTROLADORES PIC

1.8 Lógica boolena con microcontrolador Código program Practica8 main: trisc=$ff trisb=$0 portb.0=portc.0 and portc.1 portb.1=portc.2 or portc.3 portb.2=portc.4 xor portc.5 goto main end. Esquematico:

Page 16: PROYECTOS EN MICROCONTROLADORES PIC

Practico:

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

R1

330

R2

330

R3

330

R4

330

R5

330

R6

330

R7

330

R8

330

R910k

D1

LED-BLUE

D2

LED-BLUE

D3

LED-BLUE

D4

LED-BLUE

D5

LED-BLUE

D6

LED-BLUE

D7

LED-BLUE

D8

LED-BLUE

X1CRYSTAL

C1

33p

C2

33p

OF

FO

N1 2 3 4 5 6 7 8

16

15

14

13

12

11

10 9

DSW1DIPSW_8

R10

10k

R11

10k

R12

10k

R13

10k

R14

10k

R15

10k

R16

10k

R17

10k

Page 17: PROYECTOS EN MICROCONTROLADORES PIC

Flujo gramas:

Practica 1.1

Inicio

Configurar

puerto B

como salida

Portb=$55

Retardo de 1

segundos

Escribir en el puerto B

en forma hexagesimal el

valor$55

Page 18: PROYECTOS EN MICROCONTROLADORES PIC

Practica 1.2

Inicio

Configurar

puerto B

como salida

Portb=$AA

Retardo de 1

segundos

Escribir en el puerto B

en forma hexagesimal el

valor$AA

Page 19: PROYECTOS EN MICROCONTROLADORES PIC

Practica 1.3

Inicio

Configurar

puerto C

como salida

Portc=$f0

Retardo de 1

segundos

Escribir en el puerto B

en forma hexagesimal el

valor $f0

Page 20: PROYECTOS EN MICROCONTROLADORES PIC

PRACTICA 1.4

Inicio

Configurar puerto B

para escribir y C para

leer

a=portb.0 i=portc.0

b=portb.1 j=portc.1

c=portb.2 k=portc.2

d=portb.3 l=portc.3

e=portb.4 m=portc.4

f=portb.5 n=portc.5

g=portb.6 o=portc.6

h=portb.7 p=portc.7

Leer en el puerto B y C

en forma binaria.

Muestrear

en salidas.

Dar tiempo

de 1

segundo

Page 21: PROYECTOS EN MICROCONTROLADORES PIC

PRACTICA 1.5

Inicio

Configurar puerto D

para escribir y

A para leer

a=porta.0 i=portd.0

b=porta.1 j=portd.1

c=porta.2 k=portd.2

d=porta.3 l=portd.3

e=porta.4 m=portd.4

f=porta.5 n=portd.5

g=porta.6 o=portd.6

h=porta.7 p=portd.7

Leer en el puerto A y

D en forma binaria.

Muestrear

en salidas.

Dar tiempo

de 1

segundo

Page 22: PROYECTOS EN MICROCONTROLADORES PIC

PRACTICA 1.6

Inicio

Configurar

puerto B

como salida

a=portb.0

b=portb.1

c=portb.2

d=portb.3

e=portb.4

f=portb.5

g=portb.6

Escribir en el puerto B

en forma binaria.

Muestrear

en display.

Dar tiempo

de 2

segundos

Page 23: PROYECTOS EN MICROCONTROLADORES PIC

PRACTICA 1.7

Inicio

Configurar

puerto B y C

como salida

a=portb.0 i=portc.0

b=portb.1 j=portc.1

c=portb.2 k=portc.2

d=portb.3 l=portc.3

e=portb.4 m=portc.4

f=portb.5 n=portc.5

g=portb.6 o=portc.6

h=portb.7 p=portc.7

Escribir en el puerto B

y C en forma binaria.

Muestrear

en display.

Dar tiempo

de 1

segundo

Page 24: PROYECTOS EN MICROCONTROLADORES PIC

PRACTICA 1.8

Conclusiones:

- Aprendimos la utilización del equipo para uso de los microcontroladores pic. - Utilizamos prácticamente los periféricos de entrada y salida de los microcontroladores. - Vimos la práctica de la entrada de puertos y la respuesta en la salida.

Bibliografía:

- Información otorgada por el Ing. Luis Oñate Universidad Politécnica Salesiana. - Microcontroladores PIC Programación en Basic, Segunda Edición 2006, Carlos A. Reyes

Inicio

Configurar puerto

B como salidas y

C como entradas

portb.0 = portc.0 and portc.1

portb.1 = portc.2 or portc.3

portb.2 = portc.4 xor portc.5