Upload
erickalexander
View
220
Download
0
Embed Size (px)
8/8/2019 Informe n4 Pics
1/20
INFORME #04
Display alfanumricos y grficos
ERICK PEAHERRERAJOSE BUCHELIXAVIER MUOZ
SEPTIEMBRE - FEBRERO 2011
8/8/2019 Informe n4 Pics
2/20
DATASHEETS
PIC16F877A
PIC 18f452
8/8/2019 Informe n4 Pics
3/20
DESARROLLO PRCTICO
OBJETIVO: Utilizar con el microcontrolador pic displays alfanumricos ygrficos.
1. EJERCICIO 1PROBLEMA:Utilizar el temporizador para elaborar un contador de 1 segundo,
cuyo valor se observa en un display de 7 segmentos.
ALGORITMO:
Entradas:Palabras hacia el LCDProcesos:
Configuro los pines del puerto B como salidaConfiguro los registros internos del LCDApago el cursorEscribo en el LCDRetardo
Salidas:Escribir en el LCDSeales de datos
Seales de Control
CDIGO
'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 SIGUIENTECOMANDO'LCD_cmd(LCD_CURSOR_OFF)main:'trisb=0'portb=255LCD_cmd(LCD_CURSOR_OFF)Lcd_config(portb,7,6,5,4,portb,0,1,2)lcd_out(1,1,"HOLA")
8/8/2019 Informe n4 Pics
4/20
delay_ms(2000)lcd_cmd(lcd_clear)lcd_out(1,1,"INGENIERIA")lcd_out(2,1,"ELECTRONICA")end.
DIAGRAMA DE FLUJO
INICIO
CONFIGURAR LCDCOMO SALIDA
ESCRIBIR HOLA EN EL
LCD
RETRASO 2000 mS.
ESCRIBIR INGENIERIAELECTRONICA EN EL LCD
RETRASO 2000 mS.
8/8/2019 Informe n4 Pics
5/20
ESQUEMTICO Y SIMULACIN
FOTOS
8/8/2019 Informe n4 Pics
6/20
2. EJERCICIO 2PROBLEMA:
Elaborar un programa para que aparezca los nombres de los integrantesdel grupo por 3 segundos.
ALGORITMO:
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 alfanumrico.
DIAGRAMA DE FLUJO
INICIO
CONFIGURAR LCDCOMO SALIDA
RETRASO 3000 mS.
ESCRIBIR Micros I
Erick penaherrera EN EL LCD
RETRASO 3000 mS.
ESCRIBIR Micros IJos Bucheli EN EL LCD
8/8/2019 Informe n4 Pics
7/20
CDIGO
program
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,"Jose Bucheli")
delay_ms(3000)
lcd_cmd(lcd_clear)
lcd_out(1,1,"Erick Penaherrera")
delay_ms(3000)lcd_cmd(lcd_clear)
lcd_out(1,1,"Xavier Munoz")
delay_ms(3000)
goto main
end.
ESQUEMTICO Y SIMULACIN
8/8/2019 Informe n4 Pics
8/20
FOTOS
8/8/2019 Informe n4 Pics
9/20
3. EJERCICIO 3PROBLEMA:
Elabore un programa para que se observe un contador ascendente, cuyo
valor se observa en un display 16x2, con un intervalo de tiempo entre cadavalor de 2 segundos. Utilice el esquema del numeral 1.
ALGORITMO:
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 alfanumrico.
DIAGRAMA DE FLUJO
INICIO
CONFIGURAR LCDCOMO SALIDA
DECLARAR VARIABLESPARA REALIZAR LA
CUENTA
REALIZAR LAZOWHILE-WEND
RESTRASO 2000 ms
8/8/2019 Informe n4 Pics
10/20
CDIGO
program contadorLcd
dim A as STRINGdim X as string[6]main:trisb=0Lcd_config(portb,7,6,5,4,portb,0,1,2)Lcd_cmd(lcd_cursor_off)while trueA=A+1WORDTOSTR(A,X)Lcd_cmd(lcd_clear)
Lcd_out(2,1,x)delay_ms(500)wendend.
ESQUEMTICO Y SIMULACIN
8/8/2019 Informe n4 Pics
11/20
FOTOS
8/8/2019 Informe n4 Pics
12/20
4. EJERCICIO 4PROBLEMA:
Utilice el temporizador 1 del 16f877A, para crear un contador ascendentepor seal externa, muestre el valor en un display, la seal de reloj segenera mediante un pulsante externo, realice los ajustes necesarios alesquema del numeral 1.
ALGORITMO:
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 alfanumrico.
CDIGO
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)
8/8/2019 Informe n4 Pics
13/20
8/8/2019 Informe n4 Pics
14/20
8/8/2019 Informe n4 Pics
15/20
CDIGO
program Glcd1
include "imagen1"'librera 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
8/8/2019 Informe n4 Pics
16/20
for j=0 to 31
k=j*4+3
Glcd_Line(0, 63, k, 0, 2)
next j
delay_ms(4000)
loop until False
end.
Creamos un nuevo programa no proyecto y lo guardamos en la misma
carpeta en donde se guard proyecto.
module imagen1
' ------------------------------------------------------
' GLCD Picture name: carsun.bmp
' GLCD Model: KS0108 128x64
' ------------------------------------------------------
const carsun_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,
8/8/2019 Informe n4 Pics
17/20
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.
8/8/2019 Informe n4 Pics
18/20
8/8/2019 Informe n4 Pics
19/20
FOTOS
CONCLUSIONES
El lenguaje de programacin cargado en los microcontroladores PIC se lo realiz a travsdel Compilador microBasic, debido a que es un lenguaje fcil y rpido de programar, paraprincipiantes en microcontroladores.
Que la elaboracin de esta prctica nos sirve para comprender un poco ms la teora de losmicrocontroladores y su aplicacin; de ah la importancia del mismo, pues a travs de l se
puede apreciar lo interesante que es la programacin en nuestra vida cotidiana. Que el microcontrolador utilizado en esta prctica el 16f877A y 18f452, ya que tienen una
capacidad muy grande para control de procesos bsicos y complejos, aunque en algunosprogramas ocupan extenso espacio de memoria es suficiente para la prctica para empezara conocer sobre microcontroladores.
Si se tiene alguna duda se puede verificar en los manuales o datasheet de los elementos autilizar.
http://www.monografias.com/trabajos4/epistemologia/epistemologia.shtmlhttp://www.monografias.com/trabajos4/epistemologia/epistemologia.shtml8/8/2019 Informe n4 Pics
20/20
Aprendimos a utilizar la herramienta para la generacin de arreglos para mapa de bits GLCDBITMAP EDITOR.
BIBLIOGRAFIA
http://ww1.microchip.com/downloads/en/devicedoc/30292c.pdf, Microchip, datasheet PIC16F877A, fecha derevisin: 25/09/2010.http://www.disam.upm.es/~cybertech/Nacional/Documentos/Componentes/PIC18F442.pdf ,
Nacional, datasheet PIC 18f452
http://ww1.microchip.com/downloads/en/devicedoc/30292c.pdfhttp://ww1.microchip.com/downloads/en/devicedoc/30292c.pdfhttp://www.disam.upm.es/~cybertech/Nacional/Documentos/Componentes/PIC18F442.pdfhttp://www.disam.upm.es/~cybertech/Nacional/Documentos/Componentes/PIC18F442.pdfhttp://www.disam.upm.es/~cybertech/Nacional/Documentos/Componentes/PIC18F442.pdfhttp://ww1.microchip.com/downloads/en/devicedoc/30292c.pdf