单片机电子琴仿真原理图如下
avr单片机源程序如下:
//-----------------------------------------------------------------
// 名称: 电子琴仿真
//-----------------------------------------------------------------
// 说明: 本例在键盘矩阵上模拟演奏电子琴,数码管显示键号.
// 按下不同按键时将输出不同频率音符,按键长按时发出长音,
// 短按时发出短音.
//
//-----------------------------------------------------------------
#define F_CPU 1000000UL //1M晶振
#include #include #define INT8U unsigned char #define INT16U unsigned int //蜂鸣器定义 #define SPK() (PORTD ^= _BV(PD7)) //定时器比较中断启停定义 //C调音符频率表(部分) //共阳数码管段码表(0~F) const INT8U SEG_CODE[]= { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, //0 1 2 3 4 5 6 7 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E //8 9 A B C D E F }; //键盘矩阵相关变量与程序 //----------------------------------------------------------------- // 主程序 //----------------------------------------------------------------- int main() { } //----------------------------------------------------------------- // T1定时器比较匹配中断程序,控制音符频率输出 //----------------------------------------------------------------- ISR (TIMER1_COMPA_vect) { } 复制代码 //----------------------------------------------------------------- // 名称: 键盘矩阵扫描程序 //----------------------------------------------------------------- #include #include #define INT8U unsigned char #define INT16U unsigned int //键盘端口定义 //19:45 2017/12/19 INT8U KeyNo = 16 ; //----------------------------------------------------------------- // 判断键盘矩阵是否有键按下 //----------------------------------------------------------------- INT8U KeyMatrix_Down() { } //----------------------------------------------------------------- // 键盘矩阵扫描子程序 //----------------------------------------------------------------- void Keys_Scan() { }
设计资源 培训 开发板 精华推荐
- LTC4267IDHC 演示板,用于 PoE 的三路输出 PD
- AM1D-0509D-RZ ±9V 1 瓦 DC-DC 转换器的典型应用
- CAV4201 350mA 高效降压 LED 驱动器的典型应用,适用于 6-LED 的 36V 应用
- LT3990EDD 1.21V 降压转换器的典型应用
- B4860QDS: QorIQ® Qonverge开发系统
- LTC2946IDE 双向功率监视器的典型应用,在正向路径中具有能量和电荷监视器
- SECO-NCV7685RGB-GEVB:RGB 照明评估板
- 【创意PCB】玉兔捣药+319052A
- 使用 Infineon Technologies AG 的 TLE6251G 的参考设计
- 使用 Analog Devices 的 LTC1450LIN 的参考设计