MARZO – JULIO 2010 UNIVERSIDAD POLITÉCNICA SALESIANA SISTEMAS MICROPROCESADOS 1 INFORME PRÁCTICA #04 TEMA: Display alf
Views 147 Downloads 2 File size 1MB
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