lcd y glcd en microbasik para pic's

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

Upload: leninlmv

Post on 22-Nov-2014

1.761 views

Category:

Documents


1 download

DESCRIPTION

usando microcontroladores pic's utilizamos displays tanto lcd y glcd

TRANSCRIPT

Page 1: LCD y GLCD en microbasik para pic's

UNIVERSIDAD POLITECNICA SALESIANA

SISTEMAS MICROPROCESADOS 1

PRACTICA 4

INTEGRANTES:

Echeverría Jonathan

Duque Diego

Velásquez Lenin

Page 2: LCD y GLCD en microbasik para pic's

PRACTICA 4

Tema: Displays alfanuméricos y gráficos

Objetivo: Utilizar los con el microcontrolador pic displays alfanuméricos y gráficos.

PROCEDIMIENTO:

1. Escribir la sentencia hola e Ingeniería Electrónica en un display Código: Main: Lcd_config(portb,7,6,5,4,portb,0,1,2) Lcd_out(1,1,”HOLA”) Delay_ms(2000) Lcd_cmd(lcd_clear) Lcd_out(1,1,”Ingenieria”) Lcd_out(1,2,”Electronica”) End. 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

R910k

X1CRYSTAL

C1

33p

C2

33p

R1330

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9D

18

D0

7

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

19%

RV1

10k

Page 3: LCD y GLCD en microbasik para pic's

Practico:

2. Elabore un programa donde aparezcan los integrantes del grupo cada 3 segundos. Código:

program Practica2 main: lcd_config(portb,7,6,5,4,portb,0,1,2) lcd_out(1,1,"Integrantes") lcd_out(2,1,"del Grupo") delay_ms(2000) lcd_cmd(lcd_clear) lcd_out(1,1,"Diego") lcd_out(2,1,"Duque")

Page 4: LCD y GLCD en microbasik para pic's

delay_ms(3000) lcd_cmd(lcd_clear) lcd_out(1,1,"Jonathan ") lcd_out(2,1,"Echeverria ") delay_ms(3000) lcd_cmd(lcd_clear) lcd_out(1,1,"Lenin ") lcd_out(2,1,"Velasquez ") delay_ms(3000) goto main end. 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

R910k

X1CRYSTAL

C1

33p

C2

33p

R1330

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9D

18

D0

7

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

19%

RV1

10k

Page 5: LCD y GLCD en microbasik para pic's

Practico:

3. Elabore un contador ascendente cuyo valor se muestre durante 2 segundos y utilice el esquema numero 1.

program Practica3 dim a as byte dim x as string[6] main: trisb=0 lcd_config(portb,7,6,5,4,portb,0,1,2) lcd_cmd(lcd_cursor_off) while true a=a+1

Page 6: LCD y GLCD en microbasik para pic's

wordtostr(a,x) lcd_cmd(lcd_clear) lcd_out(2,1,x) delay_ms(2000) wend end. 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

R910k

X1CRYSTAL

C1

33p

C2

33p

R1330

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9D

18

D0

7

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

19%

RV1

10k

Page 7: LCD y GLCD en microbasik para pic's

4. Utilice el temporizador 1 del pic 16f877a para crear un contador por señal externa muestre el valor en un display la señal de reloj es mediante un pulso externo.

Código:

program Practica3 dim a as byte dim x as string[6] main: trisb=0 lcd_config(portb,7,6,5,4,portb,0,1,2) lcd_cmd(lcd_cursor_off) while true a=a+1

Page 8: LCD y GLCD en microbasik para pic's

wordtostr(a,x) lcd_cmd(lcd_clear) lcd_out(2,1,x) delay_ms(2000) wend option_reg=%10100000 intcon=$0 tmr0=0 lazo: portb=tmr0 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

R910k

X1CRYSTAL

C1

33p

C2

33p

R1330

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9D

18

D0

7

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

19%

RV1

10k

Page 9: LCD y GLCD en microbasik para pic's

Practico:

5. Programa de ejemplo para el uso de un display grafico solo para la famia 18fxx. Código: program parcticaglcd Include "__Lib_images" 'librería de imágenes mikroBasic dim j, k as byte main: Glcd_Init(PORTB,0,1,2,3,4,5,PORTD) do glcd_Set_Font(@FontSystem5x8,5,8,32) Glcd_Image(mikro_logo_bmp) Delay_ms(4000) 'draw circles

Page 10: LCD y GLCD en microbasik para pic's

Glcd_Fill(0)'clearscreen glcd_set_font(@FontSystem5x8,5,8,32) delay_ms(1000) glcd_write_text("circulos",0,0,1) j=4 while j<31 glcd_circle(63,31,j,2) j=j+4 wend delay_ms(4000) 'draw boxes Glcd_fill(0)'clearscreen glcd_set_font(@FontSystem5x8,5,8,32) glcd_write_text("rectangulos",0,0,1) delay_ms(1000) Glcd_fill(0) j=0 while j<31 glcd_box(j,0,j+20,j+25,2) j=j+4 wend delay_ms(4000) glcd_fill(0) 'clearscreen glcd_set_font(@FontSystem5x8,5,8,32) glcd_write_text("lineas",0,0,1) delay_ms(1000) Glcd_fill(0) for j=0 to 15 k=j*4+3 glcd_line(0,63,k,0,2) next j delay_ms(4000) loop until False end. module my_images ' ------------------------------------------------------

Page 11: LCD y GLCD en microbasik para pic's

' GLCD Picture name: carsun.bmp ' GLCD Model: KS0108 128x64 ' ------------------------------------------------------ const mikro_logo_bmp as byte[1024] = ( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,128,128,128,128,144,144,144,144,144,144,128,144,128, 0,144, 144, 0, 0, 32, 32, 0, 0, 0, 0, 16, 0, 0, 4, 4, 4,132, 128,128,128, 64, 64, 64, 64, 64, 64, 68, 64, 64, 64, 64, 64, 68, 64, 64, 64, 64, 0, 0, 0, 68, 36,164, 4, 4,132,132,132, 4, 36, 36, 36, 4,132,188,226,161, 56,192, 2,130,130,130, 66, 68, 25,129,102, 0, 0, 0, 0, 0, 0, 0, 70, 66, 66, 2, 66, 2, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 8, 72, 72, 72, 72, 8, 40, 40, 8, 8, 8, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 64, 66, 2, 66,129, 1, 1, 67, 1, 34, 34, 34, 34, 2, 0, 0, 80,136, 8, 0, 0, 0,128,194, 96, 2,209, 9, 9, 9,137, 81, 16, 16, 28, 31,224,136, 24, 72,152,152, 32,148, 44,156, 68, 52,128,224, 248, 64, 72, 72,184,120,184, 24, 25,164, 86,158,215,211,187,181, 189,173,164,236,160,200,184,248,232,240,236,208,215,239,203,213, 229,253,237,209,168, 89,169, 81,145,113, 80, 48, 96,160,160, 64, 193, 65,121, 60,128,128,128,248,112,128, 0, 0, 0, 0, 0, 0,

Page 12: LCD y GLCD en microbasik para pic's

0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 2, 17, 23, 30, 1,128, 64, 64, 37, 36, 7, 18, 18, 10, 7, 6, 6, 7, 7, 6, 2, 3, 2, 2, 3, 2, 3, 3, 3, 2, 2, 7, 6, 7, 7, 6, 7,134,198,182,158,199,235,127, 65, 94,110, 102, 94, 94, 94, 94,114,115, 99, 67, 67, 67, 67, 67, 67, 67, 83, 83, 94, 94, 76, 79,124,100, 68,134,133, 4, 5, 5, 6, 5, 6, 20, 15, 0,224, 47, 32, 8, 23,112, 19, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 16, 16, 8, 8, 4, 4, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224, 48,216,126,127, 79, 75,105, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 64, 64, 64, 64, 64, 64, 64, 64, 64, 81,111,111,110,124,240, 32, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 1, 0, 0, 3, 6, 7, 31, 31, 31, 31, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 15, 15, 15, 15, 7, 3, 0, 0, 0, 1, 3, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) end.

Page 13: LCD y GLCD en microbasik para pic's

Practico:

Page 14: LCD y GLCD en microbasik para pic's

Flujo gramas:

Practica 1

Inicio

Configurar

puerto B

como salida

Configurar lcd_out

Retardo de 2

segundos

Escribir en lcd “HOLA” e

“INGENIERIA

ELECTRONICA”

Page 15: LCD y GLCD en microbasik para pic's

Practica 2

Inicio

Configurar

puerto B

como salida

Configuramos lcd_out

Retardo de 3

segundos

Escribir en el lcd

nombres de los

integrantes

Page 16: LCD y GLCD en microbasik para pic's

Practica 3

Inicio

Configurar

puerto B

como salida

Configuramos lcd

Retardo de 2

segundos

Escribir en el lcd

números ascendentes

Page 17: LCD y GLCD en microbasik para pic's

PRACTICA 4

Inicio

Configurar puerto B

como salida

Escribimos en el lcd

números de forma

descendente

Retardo por

pulso

Configuramos lcd

Page 18: LCD y GLCD en microbasik para pic's

PRACTICA 5

Inicio

Configurar puerto B

como salidas

Enviamos datos para el

glcd a través de los

puertos del pic

Muestra la imagen

No ahy

retardo

Lazo infinito

Page 19: LCD y GLCD en microbasik para pic's

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. - Aprendimos a configurar los displays lcd y glcd. - Aprendimos los comandos para las diferentes configuraciones de los pic y sus dysplays. -

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