📄 main.c
字号:
//-----------------------------------------------------------------
// 名称: 用工作于比较模式的CCP1控制音阶播放
//-----------------------------------------------------------------
// 说明: 程序运行时,按下K1将在定时器控制下演奏一段音阶1,2,3,4,5,6,7...
// 不同频率音符输出通过CCP1比较匹配中断实现.
//
//-----------------------------------------------------------------
#include <pic.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define _XTAL_FREQ 4000000UL
#define K1_DOWN() (RB0 == 0) //按键定义
//C调15个音符频率表
const INT16U TONE_FRQ[] =
{ 0,262,294,330,349,392,440,494,523,587,659,698,784,880,988,1046 };
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
void main()
{
INT8U i; INT16U Count;
TRISC2 = 0; //CCP1引脚输出(蜂鸣器)
TRISB0 = 1; //按键输入
while(1)
{
}
}
//------------------------------------------------------------------
// CCP1比较匹配中断程序控制音符频率输出
//------------------------------------------------------------------
void interrupt CCP1_Compare_Match_INT()
{
if (CCP1IF)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -