📄 timer1定时器比较匹配中断控制音阶播放.c
字号:
//-----------------------------------------------------------------
// 名称: TIMER1定时器比较匹配中断控制音阶播放
//-----------------------------------------------------------------
// 说明: 本例运行时,按下K1将在定时器控制下演奏一段音阶1,2,3,4,5,6,7...
// 本例使用了T1的定时器比较匹配中断实现不同频率音符输出.
//
//-----------------------------------------------------------------
#define F_CPU 1000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define K1_DOWN() ((PINB & _BV(PB0)) == 0x00) //按键定义
#define SPK() (PORTD ^= _BV(PD0)) //蜂鸣器定义
//TC1输出比较A匹配中断使能开关
//C调15个音符频率表
const INT16U TONE_FRQ[] =
{ 0,262,294,330,349,392,440,494,523,587,659,698,784,880,988,1046 };
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
int main()
{
}
//-----------------------------------------------------------------
// T1定时器比较匹配中断程序,控制音符频率输出
//-----------------------------------------------------------------
ISR (TIMER1_COMPA_vect)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -