#include<reg51.h>
#define uchar unsigned char
sbit speaker=P2^0;
sbit r_clk=P3^2;
uchar keys;
uchar tone[]={108,102,91,86,77,68,61,57};
uchar code tab2[8][5]={
{0x01,0x7e,0xff,0x7e,0xff},
{0x02,0xbd,0xff,0xbd,0xff},
{0x04,0xdb,0xff,0xdb,0xff},
{0x08,0xe7,0xff,0xe7,0xff},
{0x10,0xe7,0xff,0xe7,0xff},
{0x20,0xdb,0xff,0xdb,0xff},
{0x40,0xbd,0xff,0xbd,0xff},
{0x80,0x7e,0xff,0x7e,0xff},
};
void sound(uchar);
void delay(uchar x)
{
unsigned char i,j;
for(i=0;i<x;i++)
for(j=0;j<1;j++);
}
void tab(uchar);
void tab(uchar x)
{
uchar y;
for(y=0;y<5;y++)
SBUF=tab2[x][y];
TI=0;
while(TI==0);
r_clk=1;
r_clk=0;
}
main()
{
SCON=0x00;
P1=0xff;
while(1)
{
keys=~P1;
switch(keys)
{
case 0x01:sound(0);break;
case 0x02:sound(1);break;
case 0x04:sound(2);break;
case 0x08:sound(3);break;
case 0x10:sound(4);break;
case 0x20:sound(5);break;
case 0x40:sound(6);break;
case 0x80:sound(7);break;
}
}
}
void sound(uchar x)
{
char i;
for(i=0;i<60;i++)
{
tab(x);
speaker=1;
delay(tone[x]);
speaker=0;
delay(tone[x]);
}
}

小贝德罗
- 粉丝: 112
最新资源
- Google 机器学习入门视频的中文字幕翻译及示例代码
- 【能源效率模糊柔性作业车间调度】基于双种群进化算法的模糊完工时间和能耗优化系统设计(含详细代码及解释)
- A176基于springboot+vue的扶贫众筹网(完整前后端代码+sql脚本+开发文档+全套软件)
- 2025年新版医院感染知识试题(含答案).docx
- 2025年新版医院感染知识试题(附含答案).docx
- 2025年新生儿科院感培训试题(附含答案).docx
- 2025年信息技术学业水平全考试测试题与答案.docx
- 2025年信息技术学业水平全考试测试题及答案.docx
- 2025年新生儿科院感培训试题(含答案).docx
- 2025年消防安全培训考试题库与解析答案.docx
- 2025年消防安全培训考试题库及解析答案.docx
- 电机控制基于移动水平估计(MHE)的永磁同步电机(PMSM)无传感器驱动系统设计与优化(含详细代码及解释)
- 2025年信息技术中考练习系统必考试题库与答案.docx
- 2025年新媒体运营专业考试必考试题及答案.docx
- 2025年新生儿护理常规试题(附含答案).docx
- 2025年消毒供应中心理论试题(附答案).docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


