Documente Academic
Documente Profesional
Documente Cultură
UNIVERSIDAD POLITÉCNICA
SALESIANA
SISTEMAS MICROPROCESADOS 1
DAVID ESPIN
ANDRÉS MOGRO
QUITO - ECUADOR
PRÁCTICA 05
Entradas:
Procesos:
Salidas:
CÓDIGO.
program teclado1
dim a as byte
dim b as string[6]
main:
lcd_config(portb,7,6,5,4,portb,0,1,2)
lcd_cmd(lcd_cursor_off)
keypad_init(portc)
while true
a=keypad_read
wordtostr(a,b)
lcd_out(1,1,b)
wend
end.
DIAGRAMA DE FLUJOS.
INICIO
Configuro el puerto C
como entrada y el
puerto B como salida
Pulso en NO
el teclado
SI
Muestro en el LCD
ESQUEMÁTICO.
FOTOS.
2. Escribir un programa para realizar las siguientes operaciones suma, resta,
multiplicación, división, logaritmo base 10. Para escoger la operación utilizar la
operación case-select.
Entradas:
Procesos:
Salidas:
CÓDIGO.
program calculadora
dim x1 as byte
dim op as string[6]
dim sr as String[12]
dim b as string[6]
while (n1=0)
lcd_out(1,1,"valor 1:")
n1=keypad_released
n1f=n1
intTostr(n1,sn1)
wend
lcd_out(1,10,sn1)
while (n2=0)
lcd_out(2,1,"valor 2:")
n2=keypad_released
n2f=n2
intTostr(n2,sn2)
wend
lcd_out(2,10,sn2)
delay_ms(500)
end sub
sub procedure david
while (n1=0)
lcd_out(1,1,"valor 1:")
n1=keypad_released
n1f=n1
intTostr(n1,sn1)
wend
lcd_out(1,10,sn1)
delay_ms(500)
end sub
lcd_cmd(lcd_clear)
lcd_out(1,1,sn1)
lcd_out_cp(op)
lcd_out_cp(sn2)
lcd_out_cp("=")
intTostr(resultado,sr)
lcd_out(2,1,sr)
delay_ms(1500)
lcd_cmd(lcd_clear)
end sub
lcd_cmd(lcd_clear)
lcd_out(1,1,sn1)
lcd_out_cp(op)
'lcd_out_cp(sn2)
lcd_out_cp("=")
floatTostr(resf,sr)
lcd_out(2,1,sr)
delay_ms(3000)
lcd_cmd(lcd_clear)
end sub
case 1
lcd_cmd(lcd_clear)
leer op="+"
resultado=n1+n2
displayres
case 2
lcd_cmd(lcd_clear)
leer op="-"
resultado=n1-n2
displayres
case 3
lcd_cmd(lcd_clear)
leer op="*"
resultado=n1*n2
displayres
case 4
lcd_cmd(lcd_clear)
leer op="/"
resultado=n1f/n2f
displayres
case 5
lcd_cmd(lcd_clear)
david op="log10"
resf=log10(n1f)
displayresf
case else
lcd_cmd(lcd_clear)
lcd_out(2,1,"nes asignadas")
delay_ms(500)
lcd_cmd(lcd_clear)
end select
end sub
main:
lcd_config(portb,7,6,5,4,portb,0,1,2)
lcd_cmd(lcd_cursor_off)
keypad_init(portc)
lazo:
while (luis=0)
lcd_out(1,1,"Ingrese su")
lcd_out(2,1,"opcion: ")
luis=keypad_released wordtostr(luis,b)
wend
lcd_out(2,8,b)
delay_ms(500)
operaciones
n1=0
n2=0
luis=0
goto
lazo
end.
DIAGRAMA DE FLUJO
ESQUEMÁTICO.
FOTOS.
5.3 Elaborar un programa para mostrar los caracteres ingresados desde un
teclado PS-2
Entradas:
Procesos:
Salidas:
CÓDIGO
program practicateclado2
dim
keydata as byte
special as byte
down as byte
txt as string[20]
main:
'clock=portc.1
'data= portc.2
while true
lcd_Cmd(LCD_move_cursor_left)
lcd_chr_CP(keydata)
end if
end if
end if
end if
delay_ms(10) 'abtirebote
wend
end.
DIAGRAMA DE FLUJO
INICIO
CONFIGURAR LCD
COMO SALIDA
DECLARAR VARIABLES Y
DESHABILITAR INTERRUPCIONES
VISUALIZAR EN EL LCD
ESQUEMÁTICO Y SIMULACIÓN
FOTOS
BIBLIOGRAFÍA