Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SALESIANA
INGENIERÍA ELECTRÓNICA
SISTEMAS MICROPROCESADOS
Tema: “DISPLAY
ALFANUMÉRICOS Y GRÁFICOS”
1
PRACTICA 4 CON PIC’S
DISPLAY ALFANUMÉRICOS Y GRÁFICOS.
Entradas:
Proceso:
Salidas:
2
DIAGRAMA DE FLUJO:
INICIO
Escribo: HOLA
Retardo de 200ms
Escribo: INGENIERIA
ELECTRONICA
SALIDA
CÓDIGO:
program practica41mk
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(2,1,”ELECTRONICA”)
end.
3
ESQUEMÁTICO:
FOTOS:
4
PROBLEMA 4.2.- Elabore un programa para que aparezca los nombres de cada un@
de l@s integrantes del grupo por 3 segundos.
Entradas:
Proceso:
Salidas:
5
DIAGRAMA DE FLUJO:
INICIO
Escribo: GEOVANNY
ACOSTA
Retardo
Escribo: DARIO
CANAVERAL
Retardo
Salida
6
CÓDIGO:
program practica42mk
main:
Lazo:
Lcd_config(portb,7,6,5,4,portb,0,1,2)
Lcd_out(1,1, "GEOVANNY")
Lcd_out(2,1, "ACOSTA”)
delay_ms(300)
Lcd_cmd(lcd_clear)
Lcd_out(1,1, "DARIO")
Lcd_out(2,1, "CANAVERAL")
delay_ms(300)
Lcd_cmd(lcd_clear)
Lcd_out(1,1, "NATY")
Lcd_out(2,1, "GONZALEZ")
end.
ESQUEMÁTICO:
7
FOTOS:
8
EJERCICIO 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 uno
Entradas:
Proceso:
Declaro una variable A tipo byte
Declaro una variable X tipo String[6]
Configuro el del puerto B como salida
Configuro los registros del LCD
Apago el cursor
Utilizo comando while
Comparo A=A+1
Asigno a la cadena de caracteres un número
Escribe en la posición indicada el número
Retardo
Fin del programa
Salidas:
9
DIAGRAMA DE FLUJO:
INICIO
Dim A as byte
Dim X as String[6]
Apago el cursor
SI
Comparación
A=a+1
NO
Wordtostr(A,X)
Limpio el LCD
Retardo
Salida
10
CÓDIGO:
program practica43mk
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(1,1,X)
delay_ms(2000)
WEND
end.
ESQUEMÁTICO:
11
FOTOS:
12
Problema 4.4.- Utilice el temporizador 1 del 16f877a, para crear un contador por
señal externa, muestre el valor en un display, la señal del reloj se genera mediante un
pulsante externo, realice los ajustes necesarios al esquema del numeral uno.
Entradas:
Proceso:
Declaro una variable A tipo byte
Declaro una variable X tipo String[6]
Configuro el del puerto B como salida
Configuro el del puerto A como entrada
Configuró el registro option_reg
Configuro el registro Intcon
Configuro los registros internos del LCD
Apago el cursor
Utilizo comando while
Comparación A=A+1
Asigno a la cadena de caracteres un número
Escribe en la posición indicada el número
Retardo de 2000 ms
Limpio el LCD
Salidas:
13
DIAGRAMA DE FLUJO:
INICIO
Dim A as byte
Dim X as String[6]
trisA=$ff y trisB=$0
Option_reg=%10100001
Intcon=$0 y TMR0=0
Apago el cursor
NO
SI
A=TMR0
Wordtostr(A,X)
Limpio el LCD
Retardo
Salida
14
CÓDIGO:
program practica44mk
DIM A AS byte
DIM X AS STRING [6]
main:
TRISA=$FF
TRISB=$0
option_reg=%10100001
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(2000)
WEND
end.
ESQUEMÁTICO:
15
FOTOS:
16
Ejercicio 4.5.- Programa de ejemplo para el uso de display gráfico, solo para la familia
18fXX.
Entradas:
Proceso:
Salidas:
17
DIAGRAMA DE FLUJOS:
18
CODIGO:
program practica45mk
include "my_images" 'libreria de imagenes microbasic
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(1000)
'draw circles
Glcd_Fill(0) 'clear screen
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(1000)
'draw boxes
Glcd_Fill(0) 'clear screen
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(1000)
Glcd_Fill(0)
'clear screen
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,0,127,k,2)
next j
for j=0 to 31
k=j*4+3
Glcd_Line(0,63,k,0,2)
19
next j
delay_ms(1000)
loop until FALSE
end.
module My_images
' ------------------------------------------------------
' GLCD Picture name: mikro_logo.bmp
' GLCD Model: KS0108 128x64
' ------------------------------------------------------
20
0, 0, 0, 0, 0,255,255, 0,255,255,255, 98,127,111, 99, 99,
99, 99, 99, 99,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,255,255,255,255,255,255, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3,255,255,255,255, 0,255,255, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0,255,255, 0,255,255,255, 8,140,140,140,140,
140,140,140,140,141,159,255,240,192, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 7, 31, 63, 31, 31, 7, 0, 0, 0, 0, 0, 0, 0,
0, 0,128,192,248,255,255,255,255, 0,255,255, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0,127,255,128,127,127,127,112,113,113,113,113,
113,113,113,113,113,113,113,113,115,119,126,124,124,120,120,112,
112,112,112,112,112,112,112,112,112,112,112,112,112,120,120,124,
126,127,127,127,127,127,127,127, 63,192,255,127, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 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, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0
)
end.
21
ESQUEMATICO:
FOTOS:
22
CONCLUSIONES:
Como podemos darnos cuenta que el programa Micro Basic es una herramienta muy
útil e importante para la programación de PIC, con ciertas programaciones sencillas
podemos programar al PIC para que ejecute lo que nosotros deseemos, siempre y
cuando teniendo bien en claro la programación y el uso de cada estructura o
declaración que se usa y la conexión de la placa con la computadora.
Con la ayuda de la placa de microcontroladores podemos hacer el montaje de los
circuitos que hemos programado como hemos demostrado en esta práctica, se
recomienda saber muy bien cada conexión de la placa y el uso correcta de la misma
para evitar daños.
BIBLIOGRAFÍA:
Apuntes Personales.
Microcontroladores Pic. Diseño práctico de aplicaciones (II Parte). Angulo
Usategui/Romero Yesa/Angula Martinez. MacGrawHill.
23