lcd y glcd en microbasik para pic's

Post on 22-Nov-2014

1.753 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

usando microcontroladores pic's utilizamos displays tanto lcd y glcd

TRANSCRIPT

UNIVERSIDAD POLITECNICA SALESIANA

SISTEMAS MICROPROCESADOS 1

PRACTICA 4

INTEGRANTES:

Echeverría Jonathan

Duque Diego

Velásquez Lenin

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

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")

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

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

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

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

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

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

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 ' ------------------------------------------------------

' 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,

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.

Practico:

Flujo gramas:

Practica 1

Inicio

Configurar

puerto B

como salida

Configurar lcd_out

Retardo de 2

segundos

Escribir en lcd “HOLA” e

“INGENIERIA

ELECTRONICA”

Practica 2

Inicio

Configurar

puerto B

como salida

Configuramos lcd_out

Retardo de 3

segundos

Escribir en el lcd

nombres de los

integrantes

Practica 3

Inicio

Configurar

puerto B

como salida

Configuramos lcd

Retardo de 2

segundos

Escribir en el lcd

números ascendentes

PRACTICA 4

Inicio

Configurar puerto B

como salida

Escribimos en el lcd

números de forma

descendente

Retardo por

pulso

Configuramos lcd

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

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

top related