lcd y Glcd con pic 16f877A (informe 4)

MARZO – JULIO 2010 UNIVERSIDAD POLITÉCNICA SALESIANA SISTEMAS MICROPROCESADOS 1 INFORME PRÁCTICA #04 TEMA: Display alf

Views 147 Downloads 2 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

MARZO – JULIO 2010

UNIVERSIDAD POLITÉCNICA SALESIANA SISTEMAS MICROPROCESADOS 1

INFORME PRÁCTICA #04 TEMA: Display alfanuméricos y gráficos.

DAVID ESPÍN ANDRÉS MOGRO QUITO - ECUADOR

PRACTICA #04 OBJETIVO: Utilizar con el microcontrolador pic display alfanuméricos y gráficos. 4.1 Escribir la sentencia Hola e Ingeniería Electrónica en un display. Entradas: Los datos que se van a guardar en el microcontrolador. Procesos: • Habilitar el display mediante el puerto B como salida. • Escribir sentencias en el puerto B y enviarlas hacia el display. Salidas: Salida del puerto B hacia el display alfanumérico.

CÓDIGO program escribiring

'programa para escribir en un LCD 16X2 'D7=PORTB.7,D6=PORTB.6,D5=PORTB.5,D4=PORTB.4; 'RS=PORT.0,/W=PORTB.1,E=PORTB.2 'PARA ELIMINAR EL CURSOR SE APAGA MEDIANTE EL SIGUIENTE COMANDO 'LCD_cmd(LCD_CURSOR_OFF) main: 'trisb=0 'portb=255 LCD_cmd(LCD_CURSOR_OFF) 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(2,1,"ELECTRONICA") end.

DIAGRAMA DE FLUJO

INICIO

CONFIGURAR LCD COMO SALIDA

ESCRIBIR “HOLA” EN EL LCD

RETRASO 2000 mS.

ESCRIBIR “INGENIERIA ELECTRONICA” EN EL LCD

RETRASO 2000 mS.

ESQUEMÁTICO Y SIMULACIÓN

FOTOS

4.2 Elaborar un programa para que aparezca los nombres de los integrantes del grupo por 3 segundos. Entradas: Los datos que se van a guardar en el microcontrolador. Procesos: • Habilitar el display mediante el puerto B como salida. • Escribir sentencias en el puerto B y enviarlas hacia el display. Salidas: Salida del puerto B hacia el display alfanumérico.

CÓDIGO program escribirnombres

main: 'trisb=0 'portb=255 LCD_cmd(LCD_CURSOR_OFF) Lcd_config(portb,7,6,5,4,portb,0,1,2) lcd_out(1,1,"DAVID ESPIN") delay_ms(3000) lcd_cmd(lcd_clear) lcd_out(1,2,"ANDRES MOGRO") delay_ms(3000) GOTO MAIN end.

DIAGRAMA DE FLUJO

INICIO

CONFIGURAR LCD COMO SALIDA

ESCRIBIR “DAVID ESPIN” EN EL LCD

RETRASO 3000 mS.

ESCRIBIR “ANDRES MOGRO” EN EL LCD

RETRASO 3000 mS.

ESQUEMÁTICO Y SIMULACIÓN

FOTOS

4.3 Elabore un programa para que se observe un contador ascendente, cuyo valor se observa en un display 16x2, con un intervalo de tiempo entre cada valor de 2 segundos. Utilice el esquema del numeral 1. Entradas: Los datos que se van a guardar en el microcontrolador. Procesos: • Habilitar el display mediante el puerto B como salida. • Realizar la cuenta de 0 a 255 y enviar datos al puerto B para posteriormente enviarlos hacia el display. Salidas: Salida del puerto B hacia el display alfanumérico.

CÓDIGO program contadorLcd

dim A as STRING 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(500) wend end.

DIAGRAMA DE FLUJO

INICIO

CONFIGURAR LCD COMO SALIDA

DECLARAR VARIABLES PARA REALIZAR LA CUENTA

REALIZAR LAZO WHILE-WEND PARA LA CUENTA

RESTRASO 2000 ms

ESQUEMÁTICO Y SIMULACIÓN

FOTOS

4.4 Utilice el temporizador 1 del 16f877A, para crear un contador ascendente por señal externa, muestre el valor en un display, la señal de reloj se genera mediante un pulsante externo, realice los ajustes necesarios al esquema del numeral 1. Entradas: • Los datos que se van a guardar en el microcontrolador. • Los pulsos externos ingresados por el usuario. Procesos: • Habilitar el display mediante el puerto B como salida. • Realizar la cuenta de 0 a 255 mediante el timer externo. • Enviar datos al puerto B para posteriormente enviarlos hacia el display. Salidas: Salida del puerto B hacia el display alfanumérico.

CÓDIGO program contLCD dim A as STRING dim X as string[6] main: trisa=$FF trisb=$0 'Option_reg=%10100000

'solo para ir de 2, 4, 8, 16, etc.

intcon=$0 tmr0=0 Lcd_config(portb,7,6,5,4,portb,0,1,2) Lcd_cmd(lcd_cursor_off) while true A=tmr0 WORDTOSTR(A,X) Lcd_cmd(lcd_clear) Lcd_out(2,1,x) delay_ms(500) wend end.

DIAGRAMA DE FLUJO

INICIO

CONFIGURAR LCD COMO SALIDA

DECLARAR VARIABLES PARA REALIZAR LA CUENTA

REALIZAR LAZO WHILE-WEND USANDO EL TMR0 PARA LA CUENTA

RESTRASO 2000 ms

ESQUEMÁTICO Y SIMULACIÓN

FOTOS

5.5 Programa de ejemplo para el uso de display gráfico. Entradas: • Los datos que se van a guardar en el microcontrolador. Procesos: • Habilitar el display gráfico mediante el puerto B como salida. • Cargar la imagen de una imagen predeterminada. • Dibujar círculos en el display gráfico. • Dibujar círculos en el display gráfico. • Dibujar líneas en el display gráfico. Salidas: Salida del puerto B hacia el display gráfico.

CÓDIGO program Glcd1 include "imagen1"'librería de imagenes 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(carsun_bmp)

Delay_ms(1000)

Glcd_Fill(0) Glcd_Set_font(@FontSystem5x8, 5, 8, 32) delay_ms(1000) Glcd_Write_Text("Circulos", 0, 0,1) j=4 While j