Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRACTICA # 9
COMPONENTES UTILIZADOS
PIC16F628A
Cristal de 8 MHz
Capacitor cerámico de 33pf
Pantalla LCD 16x2
Resistencia de 10K
Potenciómetro de 5k
Pulsador normalmente abierto
Fuente regulada de 5vols
PROCESO DE LA SOLUCION
HARDWARE / DIAGRAMA EN PROTEUS
CARRERA DE ELECTRONICA
SOFTWARE
PRINCIPALES SINTAXIS DE LAS INSTRUCCIONES EMPLEADAS EN EL PROGRAMA
LCDOUT
IF THEN
PROGRAMA
Define LCD_DREG PORTB ;def pa usar 4 bits d puerto B pa trans d datos
Define LCD_DBIT 4 ; desd l b4 hast el b7
Define LCD_RSREG PORTB;INDICA AL MICROCONT Q EL PIN rs ESTARA EN L PORT b
Define LCD_RSBIT 3 ;en l bit B3
;microcontrpara el bus de datos de la LCD
Define LCD_EREG PORTB ;Definicion par utilizar el enable en el puerto B
Define LCD_EBIT 2 ;"en l bit B2
;PROGRAMA EN PIC BLAVBLA
'DEFINE OSC 8'
;DECLARACION DE VARIABLES
SYMBOL P1=PORTB.0 ; para RB0
SYMBOL P2=PORTB.1 ; para RB1
Volumen VAR BYTE ; declaracion de varia volumen
Volumen=1
;A continuacion se cargan las 5 fig,a partir
;de la posicion cero deLA memoria CGRAM:
LCDOUT, $FE,$40,$02,$06,$1A,$1A,$1A,$06,$02,$01;fig uno
LCDOUT, $FE,$48,$00,$00,$00,$00,$00,$00,$1F,$1F;fig2
LCDOUT, $FE,$50,$00,$00,$00,$00,$1F,$1F,$1F,$1F;fig3
LCDOUT, $FE,$58,$00,$00,$1F,$1F,$1F,$1F,$1F,$1F;fig4
LCDOUT, $FE,$60,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F;fig5
LCDOUT, $Fe,1;limpia pantall
LCDOUT " Volumen: ";escribe volumen
Inicio:
LCDOUT, $Fe, 2;posicion del cursor en inicio
LCDOUT, $fe,$C5, 0 ;MUESTRA l figura almacenad en posi ceroO.
LCDOUT, $fe,$C6, 1;MUESTRA l figura almacenad en posi unoO.
;A continua se verifi si algun d l pulsadores a sido activa
;Si P1 es activ y l var 'volumen' <5, llama a sub ruti 'suvol'
;Si P2 es activ y l var 'volumen' >0, llama a sub ruti 'bajvol'
Nivel0:
lcdout $Fe,$C6, 1 'muetra la fig almac en posi 1
pause 350
return
Nivel1:
lcdout $Fe,$C7, 2 'muetra la fig almac en posi 2
pause 350
return
Nivel2:
lcdout $Fe,$C8, 3 'muetra la fig almac en posi 3
pause 350
return
Nivel3:
lcdout $Fe,$C9,4 'muetra la fig almac en posi 4
pause 350
return
Nivel3b:
lcdout $Fe,$C8, 3 'muetra la fig almac en posi 3
lcdout $Fe,$C7, 2 'muetra la fig almac en posi 2
lcdout $Fe,$C6, 1 'muetra la fig almac en posi 1
pause 350
return
Nivel2b:
lcdout $Fe,$C7, 2 'muetra la fig almac en posi 2
lcdout $Fe,$C6, 1 'muetra la fig almac en posi 1
pause 350
return
Nivel1b:
lcdout $Fe,$C6, 1 'muetra la fig almac en posi 1
pause 350
return