Kontroler 8051-dźwięk-sprawozdanie

Nasza ocena:

3
Pobrań: 35
Wyświetleń: 1596
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kontroler 8051-dźwięk-sprawozdanie - strona 1 Kontroler 8051-dźwięk-sprawozdanie - strona 2 Kontroler 8051-dźwięk-sprawozdanie - strona 3

Fragment notatki:

Systemy wybudowane
Sprawozdanie: Kontroler 8051-dźwięk Wstęp teoretyczny Podczas laboratorium zapoznaliśmy się z obsługą oraz zasadą działania głośnika oraz przerwań . Naszym zadaniem było napisanie programu w języku C, dzięki któremu po naciśnięciu jednego z 8 ustalonych przycisków, usłyszymy z głośnika dźwięk o ustalonej częstotliwości. Wartości zmiennych z tabeli po podziale na pół (czyli po 8 bitów) są przypisywane do wart1 i wart2, które są wykorzystane przez nas w programie. Są one obliczone z poniższego wzoru.
wartości zmiennych = 65536-(częstotliwość zegara(11059200)/(24*częstotliwość dźwięku))
Jak działa głośnik oraz jak powstaje dźwięk ???
Do umieszczonej w polu magnetycznym cewki dostarczany jest prąd. Odpowiednia częstotliwość impulsów elektrycznych powoduje wychylanie się karkasu cewki w górę i w dół, a wraz z nim membrany głośnika. Jej wychylanie się powoduje poruszenie cząsteczek powietrza. Dokładnie tak powstają fale dźwiękowe.
Kod programu
#include "8051.h"
#define TH0_RELOAD 0x49
#define TL0_RELOAD 0x49
#define TIK 9
typedef unsigned char BYTE;
int i;
int wart1;
int wart2;
void timer_isr (void) __interrupt (1) __using (0) {
TH0= wart1;
TL0= wart2;
P1_0=!P1_0;
}
int main()
{
EA=0;
TMOD= 0x01;
EA=1;
while(1)
{
if (P3_0==0)
{
wart1=0xFC;
wart2=0x8F;
TR0=1;
ET0=1;
while (P3_0==0);
TR0=0;
ET0=0;
}
if (P3_1==0)
{
wart1=0xFC;
wart2=0xEF;
TR0=1;
ET0=1;
while (P3_1==0);
TR0=0;
ET0=0;
}
if (P3_2==0)
{
wart1=0xFD;
wart2=0x45;
TR0=1;
ET0=1;
while (P3_2==0);
TR0=0;
ET0=0;
}
if (P3_3==0)
{
wart1=0xFD;
wart2=0x6C;
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz