Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FEBRERO 10
DOCENTE
Ing. Electrónico.
Luis Oñate
INGENIERIA ELECTRÓNICA
FECHA: 3 DE ENERO DE 2011
ESTUDIANTES
RUIZ JUAN
DANIEL HUACA
LUIS SANGOQUIZA
INFORME PRÁCTICA 4
DESARROLLO
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
El programa es de gran ayuda para quemar el código al PIC el cual debemos utilizarlo
correctamente.
ALGORITMO
Entrada: Datos hacia el microcontrolador
Salida: Visualizo en un LCD 16X2 “HOLA” “INGENIERIA ELECTRONICA”
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
DIAGRAMA DE FLUJO
INICIO
Fin
program Micro
'Main program
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.
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
SIMULACIÓN EN PROTEUS
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
IMAGEN EN EL PROTOBOARD
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
PROBLEMA 2. Elaborar un programa para que aparezcan los nombres de cada uno
de los integrantes del grupo por 3 segundos
ALGORITMO
Entrada: Datos hacia el microcontrolador
Salida: Visualizo en el LCD los nombres del grupo
DIAGRAMA DE FLUJO
INICIO
Inicializo el LCD
Retardo de 3 segundos
Fin
program Micro
'Main program
Main;
Lcd_config(portb,7,6,5,4,portb,0,1,2)
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
lcd_out(1,1,"JUAN")
LCD_OUT(2,1,"RUIZ")
delay_ms(3000)
lcd_cmd(lcd_clear)
lcd_out(1,1,"DANIEL")
LCD_OUT(2,1,"HUACA")
delay_ms(3000)
lcd_cmd(lcd_clear)
lcd_out(1,1,"LUIS")
LCD_OUT(2,1,"SANGOQUIZA")
delay_ms(3000)
lcd_cmd(lcd_clear)
end.
SIMULACIÓN EN PROTEUS
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
IMAGEN EN EL PROTOBOARD
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
ALGORITMO
Entrada: Datos hacia el microcontrolador
Salida: Visualizo en el LCD un contador ascendente
DIAGRAMA DE FLUJO
INICIO
Definimos el puerto B
como salida
Configuramos e inicializo
al LCD
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
Apago el cursor
Realizo el acumulador
a=a+1
Escribimos en el LCD
Fin
program numeros
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(1000)
WEND
END.
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
SIMULACIÓN EN PROTEUS
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
IMAGEN EN EL PROTOBOARD
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
ALGORITMO:
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
DIAGRAMA DE FLUJO
INICIO
Inicializamos Timer0
A=TMR0
Incrementamos Timer0
Fin
program contadorextern
DIM A AS byte
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(1000)
WEND
END.
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
SIMULACIÓN EN PROTEUS
IMAGEN EN EL PROTOBOARD
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
PROBLEMA 5. Progrma del ejemplo para el uso de display gráfico, solo para la familia
18fXX, (utilice un 18f452 o 18f4520)
PROBLEMA:
Programa de ejemplo para el uso de display gráfico.
ALGORITMO:
Entradas:
Los datos que se van a guardar en el microcontrolador.
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
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.
DIAGRAMA DE FLUJO
INICIO
Configuramos los
puertos para el GLCD
Dibujar la imagen
determinada
Copiar y pegar el
código generado
Fin
program glcs1
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
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
While j<31
Glcd_Circle(63, 31, j, 2)
j=j+4
wend
Delay_ms(4000)
Glcd_Fill(0)
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)
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)
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,
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
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.
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
SIMULACIÓN EN PROTEUS
SIMULACIÓN EN PROTEUS
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
CONCLUSIONES:
BIBLIOGRAFÍA
Ing. Electrónica
Informe Analógica II