OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [software/] [app/] [buzzer2.c] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/*
2
C0 = 16.35
3
C#0 = 17.32
4
DO = 18.35
5
D#O = 19.45
6
EO = 20.60
7
F0 = 21.83
8
F#0 = 23.12
9
G0 = 24.50
10
G#O = 25.96
11
A0 = 27.50
12
A#0 = 29.14
13
BO = 30.87
14
 
15
C1 = 32.70
16
C#1 = 34.65
17
D1 = 36.71
18
D#1 = 38.89
19
E1 = 41.20
20
F1 = 43.65
21
F#1 = 46.25
22
G1 = 49.00
23
G#1 = 51.91
24
A1 = 55.00
25
A#1 = 58.27
26
B1 = 61.74
27
 
28
C2 = 65.41
29
C#2 = 69.30
30
D2 = 73.42
31
D#2 = 77.78
32
E2 = 82.41
33
F2 = 87.31
34
F#2 = 92.50
35
G2 = 98.00
36
G#2 = 103.83
37
A2 = 110.00
38
A#2 = 116.54
39
B2 = 123.47
40
 
41
C3 = 130.81
42
C#3 = 138.59
43
D3 = 146.83
44
D#3 = 155.56
45
E3 = 164.81
46
F3 = 174.61
47
F#3 = 185.00
48
G3 = 196.00
49
G#3 = 207.65
50
A3 = 220.00
51
A#3 = 233.08
52
B3 = 246.94
53
 
54
C4 = 261.63
55
C#4 = 277.18
56
D4 = 293.66
57
D#4 = 311.13
58
E4 = 329.63
59
F4 = 349.23
60
F#4 = 369.99
61
G4 = 392.00
62
G#4 = 415.30
63
A4 = 440.00
64
A#4 = 466.16
65
B4 = 493.88
66
 
67
C5 = 523.25
68
C#5 = 554.37
69
D5 = 587.33
70
D#5 = 622.25
71
E5 = 659.26
72
F5 = 698.46
73
F#5 = 739.99
74
G5 = 783.99
75
G#5 = 830.61
76
A5 = 880.00
77
A#5 = 932.33
78
B5 = 987.77
79
 
80
C6 = 1046.50
81
C#6 = 1108.73
82
D6 = 1174.66
83
D#6 = 1244.51
84
E6 = 1318.51
85
F6 = 1396.91
86
F#6 = 1479.98
87
G6 = 1567.98
88
G#6 = 1661.22
89
A6 = 1760.00
90
A#6 = 1864.66
91
B6 = 1975.53
92
 
93
C7 = 2093.00
94
C#7 = 2217.46
95
D7 = 2349.32
96
D#7 = 2489.02
97
E7 = 2637.02
98
F7 = 2793.83
99
F#7 = 2959.96
100
G7 = 3135.96
101
G#7 = 3322.44
102
A7 = 3520.00
103
A#7 = 3729.31
104
B7 = 3951.07
105
*/
106
 
107
#include <hf-risc.h>
108
 
109
#define BUZZER_PIN      0x08
110
 
111
void play(uint32_t freq, uint32_t duration){
112
        uint32_t us_wave, dly, i;
113
 
114
        us_wave = 1000000 / freq;
115
        dly = COUNTER + (CPU_SPEED / 1000) * duration;
116
 
117
        while(COUNTER < dly){
118
                EXTIO_OUT = BUZZER_PIN;
119
                delay_us(us_wave);
120
                EXTIO_OUT = 0;
121
                delay_us(us_wave);
122
        }
123
}
124
 
125
int main(void){
126
        for(;;){
127
                // play a chromatic scale from C4 to B4
128
                play(262, 250);
129
                play(277, 250);
130
                play(294, 250);
131
                play(311, 250);
132
                play(330, 250);
133
                play(349, 250);
134
                play(370, 250);
135
                play(392, 250);
136
                play(415, 250);
137
                play(440, 250);
138
                play(466, 250);
139
                play(494, 250);
140
 
141
                delay_ms(1000);
142
        }
143
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.