51单片机用c语言写音符代码,51单片机电子琴设计C语言程序实例

本文介绍了一个使用51单片机和C语言编写的电子琴程序,通过设置不同的音符代码,实现了不同音阶的声音输出。程序中包含定时中断服务函数和按键控制音阶的输出,当按下不同按键时,会播放对应的音符,并通过延时函数控制音符的持续时间。
摘要由CSDN通过智能技术生成

51单片机C程序实例,电子琴设计

#define uchar unsigned char //定义一下方便使用

#define uint unsigned int

#define ulong unsigned long

#include //包括一个 52 标准内核的头文件

//char code dx516[3] _at_ 0x003b;//这是为了仿真设置的

sbit BEEP=P1^7; //喇叭输出脚

//sbit K1= P3^2;

sbit K2= P3^5;

sbit K3= P2^4;

sbit K4= P2^5;

uchar th0_f; //在中断中装载的 T0 的值高 8 位

uchar tl0_f; //在中断中装载的 T0 的值低 8 位

//T0 的值,及输出频率对照表

uchar code freq[36*2]={

0xA9,0xEF,//00220HZ ,1 //0

0x93,0xF0,//00233HZ ,1#

0x73,0xF1,//00247HZ ,2

0x49,0xF2,//00262HZ ,2#

0x07,0xF3,//00277HZ ,3

0xC8,0xF3,//00294HZ ,4

0x73,0xF4,//00311HZ ,4#

0x1E,0xF5,//00330HZ ,5

0xB6,0xF5,//00349HZ ,5#

0x4C,0xF6,//00370HZ ,6

0xD7,0xF6,//00392HZ ,6#

0x5A,0xF7,//00415HZ ,7

0xD8,0xF7,//00440HZ 1 //12<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值