用IAR写一个控制430单片机使用蜂鸣器发出音乐的程序
时间: 2023-05-18 22:06:05 浏览: 171
以下是一个使用IAR编写的控制430单片机使用蜂鸣器发出音乐的程序的示例:
#include <msp430.h>
#define C4 3822
#define D4 3405
#define E4 3033
#define F4 2863
#define G4 2551
#define A4 2273
#define B4 2025
#define C5 1911
void delay_ms(unsigned int ms)
{
unsigned int i, j;
for (i = 0; i < ms; i++)
for (j = 0; j < 1000; j++);
}
void play_tone(unsigned int freq, unsigned int duration)
{
unsigned int i;
unsigned int cycles = freq * duration / 1000;
for (i = 0; i < cycles; i++)
{
P1OUT |= BIT0;
delay_ms(500 / freq);
P1OUT &= ~BIT0;
delay_ms(500 / freq);
}
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1DIR |= BIT0;
while (1)
{
play_tone(C4, 500);
play_tone(D4, 500);
play_tone(E4, 500);
play_tone(F4, 500);
play_tone(G4, 500);
play_tone(A4, 500);
play_tone(B4, 500);
play_tone(C5, 500);
}
}