Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• El compilador CCS trae incorporado la librería llamada TONES.C para generar las notas musicales. Esta librería incluye la
función: generate_tone(frequency, duration); que permite crear las notas musicales.
• Los argumentos de la función son:
• Frecuency, es una variable que toma el valor de la nota que se requiere generar, es decir la frecuencia de la nota.
• Duration, es el tiempo que dura la nota y está dada en milisegundos.
• Cada nota trae en la librería predefinida las frecuencias, lo cual permite elegir en que octava tocarla; hasta una tercera octava.
Una parte del código de la librería TONES.C, se indica en la figura 2.9.
Generación de sonido
• Tomando en cuenta esto (octavas y sus frecuencias), lo único
que se necesita son las partituras de las canciones que
deseamos generar o combinar las notas para crear diversos
sonidos.
• En la librería TONES.C, está definido el pin del puerto B.0 por
donde genera las señales del sonido, como se ve en la figura
2.10. Basta modificar esta línea para utilizar cualquier otro pin
del PIC.
Programas de tarea
• Elaborar un programa para que los LEDS conectados al puerto B se activen empezando desde RB0 hasta
RB7. Luego empiezan a desactivarse uno por uno desde el último que se activó. La tabla 2.11, ilustra el
funcionamiento.
Nota: Optimizar
la programación
sin utilizar
instrucciones
repetitivas, en
base a las
instrucciones de
desplazamiento
elaborar una
ecuación
matemática
para mover los
bits.
• En el mismo programa elaborar uno con un botón de prenda la misma secuencia y otro que apague cada
uno de los bits, conectando los botones en el puerto D y con pull-ups internos del PIC.
Programas de tarea
• Utilizando desplazamientos a la de recha >> y desplazamiento a la
izquierda << diseñar un programa que
Programas de tarea
• En el circuito de la figura 2.16, el LED D1 se activa al
pulsar P1, D2 con P2 y D3 con P3. Cualquier LED
puede activarse si los tres están apagados. El
pulsador P4, sirve para apagar el LED que esté
prendido.