You are on page 1of 8

Mobile: 0-82659680 0-90552583

Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil Ecuador


:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

P

g
i
n
a
1
/
8

















PRACTICA#9
BUZZER Y TECLADO
OBJETIVOS:
Programar tonos para una respetiva apreciacin por medio de un teclado matricial 4x4.
Utilizar las libreras correspondientes para la generacin de tonos.

DESCRIPCIN:
El presente proyecto se basa en la generacin de tonos por medio de un teclado, utilizaremos las
libreras que existen en MikroBasic Pro for Pic.
Las teclas que utilizaremos en esta prctica son: 1, 2, 3,4.
DESARROLLO:
Para realizar la prctica planteada es necesario ubicar algunos JUMPER de tal manera que permita
el uso de los componentes necesarios para esta prctica.

1. El mdulo Entrenamiento MEI&T04 puede utilizar una de las dos fuentes de alimentacin:

Fuente de alimentacin USB desde PC a travs del cable USB
Fuente de alimentacin EXT desde un Jack DC.







Selector de habilitacin y deshabilitacion de los led en el puerto b que para
nuestra prctica se los debe deshabilitar as como se muestra en la figura.







Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil Ecuador


:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

P

g
i
n
a
2
/
8

















2. Antes de implementar el circuito se debe saber de antemano cmo funciona el buzzer,
ste posee tres espadines de los cuales cada uno de ellos corresponde a GND,VCC,SGN,
como se observa en la figura, en cual estar conectado al pin RA3.








3. Circuito implementado:

Buzzer conectado al puerto RA3.
Teclado conectado al PUERTOB.












Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil Ecuador


:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

P

g
i
n
a
3
/
8

















PROGRAMACIN:

'***********************************************************************
'******************* Ideas &Tecnologa **************************
'******************* Mdulo Entrenamiento I&T 04 *************************
'******************* www.ideastechnology.com *************************
' * Nombre proyecto: BUZZER_TECLADO
' *Descripcin:
' El presente proyecto se basa en la generacin de tonos por medio de un teclado,
' utilizaremos las libreras que existen en MikroBasic Pro for Pic .
'* Configuraciones:
' Microcontrolador: PIC16F886
' Oscillator: INT_RC_OSC_NOCLKOUT, 8MHz
' Compilador: MikroBasic Pro for PC 3.2
'*************************************************************************

program BUZZER_TECLADO

DIM KP,VALOR AS BYTE
sub procedure leer_teclado()
kp = 0
portb=%11101111 'EXPLORO FILA 1
if(portb.0=0)then 'EXPLORO COLUMNA1
while(portb.0=0) wend
kp=1 end if'1
if(portb.1=0)then 'EXPLORO COLUMNA2
while(portb.1=0) wend
kp=2 end if'2
if(portb.2=0)then 'EXPLORO COLUMNA3
while(portb.2=0) wend
kp=3 end if'3
if (portb.3=0)then 'EXPLORO COLUMNA4
while(portb.3=0) wend
kp=$41 end if'A
if(kp=0)then
Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil Ecuador


:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

P

g
i
n
a
4
/
8

















portb=%11011111 'EXPLORO FILA 2
if(portb.0=0)then 'EXPLORO COLUMNA1
while(portb.0=0) wend
kp=4 end if'4
if(portb.1=0)then 'EXPLORO COLUMNA2
while(portb.1=0) wend
kp=5 end if'5
if(portb.2=0)then 'EXPLORO COLUMNA3
while(portb.2=0) wend
kp=6 end if'6
if (portb.3=0)then 'EXPLORO COLUMNA4
while(portb.3=0) wend
kp=$42 end if'B
else return
end if
if(kp=0) then
portb=%10111111 'EXPLORO FILA 3
if(portb.0=0)then 'EXPLORO COLUMNA1
while(portb.0=0) wend
kp=7 end if'7
if(portb.1=0)then 'EXPLORO COLUMNA2
while(portb.1=0) wend
kp=8 end if'8
if(portb.2=0)then 'EXPLORO COLUMNA3
while(portb.2=0) wend
kp=9 end if'9
if (portb.3=0)then 'EXPLORO COLUMNA4
while(portb.3=0) wend
kp=$43 end if'C
else return
end if
if(kp=0)then
portb=%01111111 'EXPLORO FILA 4
if(portb.0=0)then 'EXPLORO COLUMNA1
while(portb.0=0) wend
kp=$23 end if '*
Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil Ecuador


:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

P

g
i
n
a
5
/
8

















if(portb.1=0)then 'EXPLORO COLUMNA2
while(portb.1=0) wend
kp=48 end if'0
if(portb.2=0)then 'EXPLORO COLUMNA3
while(portb.2=0) wend
kp=$24 end if'#
if (portb.3=0)then 'EXPLORO COLUMNA4
while(portb.3=0) wend
kp=$44 end if'D
else return
end if

end sub
' Declarations section
sub procedure Tone1()
Sound_Play(659, 250) ' Frequency = 659Hz, duration = 250ms
end sub

sub procedure Tone2()
Sound_Play(698, 250) ' Frequency = 698Hz, duration = 250ms
end sub

sub procedure Tone3()
Sound_Play(784, 250) ' Frequency = 784Hz, duration = 250ms
end sub

sub procedure Melody() ' Plays the melody "Yellow house"
Tone1() Tone2() Tone3() Tone3()
Tone1() Tone2() Tone3() Tone3()
Tone1() Tone2() Tone3()
Tone1() Tone2() Tone3() Tone3()
Tone1() Tone2() Tone3()
Tone3() Tone3() Tone2() Tone2() Tone1()
end sub


Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil Ecuador


:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

P

g
i
n
a
6
/
8

















sub procedure ToneA() ' Tones used in Melody2 function
Sound_Play( 880, 50)
end sub

sub procedure ToneC()
Sound_Play(1046, 50)
end sub

sub procedure ToneE()
Sound_Play(1318, 50)
end sub

sub procedure Melody2() ' Plays Melody2
dim counter as byte
for counter = 9 to 1 step -1
ToneA()
ToneC()
ToneE()
next counter
end sub
main:
' Registro Oscilador de control
OSCCON = 0X75 ' Oscilador interno de 8mhz
' Registro PUERTO A
TRISA = 0X00 ' PORTA.0 Entrada
PORTA = 0X00
' Registro PUERTO B
TRISB = 0X0F ' PORTB<7,6,5,4> salidas PORTB<3,2,1,0> ENTRADAS
PORTB = 0X00
' Registro PUERTO C
TRISC = 0X00 ' PORTC salidas
PORTC = 0X00
' Registro PUERTO E
TRISE = 0X00 ' PORTE como salidas digital
PORTE = 0X00
' Seleccin de registro analgico. 1 analgico, 0 digitales
Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil Ecuador


:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

P

g
i
n
a
7
/
8

















ANSEL = 0X00 ' AN<7:0>
ANSELH = 0X00 ' AN<13:8>
VALOR=0
Sound_Init(PORTA, 3) ' HABILITA EL PIN RA3 DONDE SALDRA EL SONIDO
elegir:
while(1)
leer_teclado() 'EXPLORO TECLADO
if(kp > 0)then 'PREGUNTO SI HE PRESIONADO ALGUNA TECLA
VALOR =kp 'GUARDO EL VALOR DE LA TECLA PRESIONADA PRA VISUALIZAR EN DISPLAY
end if
if VALOR=1 THEN 'SI PRESIONO 1 EN EL TECLADO VA A LA ETIQUETA PISTA1
goto pista1
else
if VALOR = 2 THEN 'SI PRESIONO 2 EN EL TECLADO VA A LA ETIQUETA PISTA2
goto pista2
else
if VALOR =3 THEN 'SI PRESIONO 3 EN EL TECLADO VA A LA ETIQUETA PISTA3
goto pista3
else
if VALOR=4 THEN 'SI PRESIONO 4 EN EL TECLADO VA A LA ETIQUETA PISTA4
goto pista4
end if
end if
end if
end if
wend

pista1:
Tone1() 'GENERA EL TONO1
VALOR=0
goto elegir
pista2:
Tone2() 'GENERA EL TONO2
VALOR=0
goto elegir
VALOR=0
Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil Ecuador


:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

P

g
i
n
a
8
/
8

















pista3:
Melody2() 'GENERO MELODIA 2
VALOR=0
goto elegir
pista4:
Melody() 'GENERO MELODIA 1
VALOR=0
goto elegir
end.

NOTA: Para un mejor entendimiento del funcionamiento de la prctica se recomienda leer todos
los 'comentarios puestos durante la programacin, ah se explica de manera detallada todo el
proceso, adems debe darse cuenta de la posicin de los jumper ya explicados anteriormente.
Si se desea implementar diferentes tonos, se debe cambiar los valores de la frecuencia de la
instruccin: Sound_Play()
Ejemplo: Sound_Play(698, 250) ' Frequency = 698Hz, duration = 250ms



CONTCTENOS:

: youtube.com/ideastecnology


: ideastecnology@gmail.com


: facebook.com/ideastechnology


: twitter.com/ideastechnology

You might also like