51单片机的一个IO口控制speaker发声
更新时间:2024-05-03 21:56:01 阅读量: 综合文库 文档下载
- 51单片机有几个io口推荐度:
- 相关推荐
51单片机的一个I/O口控制speaker发声,演奏老鼠爱大米。
主要器件以及电路图
单片机——AT89C51,蜂鸣器——speaker。
C语言程序源码
C语言的程序代码更好读一些,相比较前面两个汇编的蜂鸣器程序,这个程序比较好理解。
/* 蜂鸣器--蜂鸣器奏乐-老鼠爱大米*/ #include
#define uint unsigned int #define uchar unsigned char #define ulong unsigned long sbit beep=P2^7; //蜂鸣器输出引脚
uchar th0_f; //中断装载T0高8位 uchar tl0_f; //T0低8位
uchar code freq[36*2]={ //音阶码表 0xf7,0xd8, //440hz , 1 //0 0xf8,0x50, //466hz , 1# //1 0xf8,0xbc, //494hz , 2 //2 0xf9,0x26, //524hz , 2# //3 0xf9,0x85, //554hz , 3 //4 0xf9,0xe5, //588hz , 4 //5 0xfa,0x3d, //622hz , 4# //6 0xfa,0x92, //660hz , 5 //7 0xfa,0xdd, //698hz , 5# //8 0xfb,0x29, //740hz , 6 //9 0xfb,0x70, //784hz , 6# //10 0xfb,0xb0, //830hz , 7 //11 0xfb,0xef, //880hz , 1 //12 0xfc,0x29, //932hz , 1# //13 0xfc,0x62, //988hz , 2 //14 0xfc,0x95, //1046hz, 2# //15 0xfc,0xc7, //1108hz, 3 //16 0xfc,0xf5, //1174hz, 4 //17 0xfd,0x20, //1244hz, 4# //18 0xfd,0x4c, //1318hz, 5 //19 0xfd,0x72, //1396hz, 5# //20 0xfd,0x97, //1480hz, 6 //21 0xfd,0xbb, //1568hz, 6# //22 0xfd,0xdc, //1662hz, 7 //23
0xfd,0xfb, //1769hz, `1 //24 0xfe,0x18, //1864hz, `1# //25 0xfe,0x34, //1976hz, `2 //26 0xfe,0x4e, //2092hz, `2# //27 0xfe,0x67, //2218hz, `3 //28 0xfe,0x7d, //2350hz, `4 //29 0xfe,0x94, //2488hz, `4# //30 0xfe,0xa8, //2639hz, `5 //31 0xfe,0xbc, //2794hz, `5# //32 0xfe,0xcf, //2960hz, `6 //33 0xfe,0xe0, //3136hz, `6# //34 0xfe,0xf1, //3322hz, `7 //35 };
uchar code diaodata[30]={ //音调代码 0x10,0x0e,0x0c,0x10,0x0e,0x0c, 0x10,0x0e,0x10,0x0c,0x10,0x15, 0x13,0x10,0x13,0x15,0x15,0x13, 0x15,0x13,0x10,0x0e,0x0c,0x0e, 0x0e,0x10,0x0e,0x0c,0x0e,0x00};
uchar code jiedata[30]={ //音长代码 0x04,0x04,0x08,0x06,0x02,0x08, 0x04,0x04,0x04,0x04,0x02,0x06, 0x08,0x02,0x02,0x04,0x04,0x04,
0x04,0x08,0x02,0x02,0x04,0x04, 0x02,0x02,0x04,0x04,0x0c,0x00};
void timer0() interrupt 1 //用于产生音符的T0中断服务程序 {
TH0=th0_f; TL0=tl0_f;
beep=~beep; //取反beep引脚,发声 }
void main(void) {
uchar i,j,k=0; uint n;
TMOD=0X01; //T0方式1 TR0=0; //关闭T0(不发声) ET0=1; //允许T0中断 EA=1; //允许总中断 while(1) {
TR0=1; //开T0
for(i=0;diaodata[i]!=0;i++) {
th0_f=freq[diaodata[i]*2]; tl0_f=freq[diaodata[i]*2+1];
for(j=0;j<20000;n++); TR0=0;
//(jiedata*20000)
for(n=0;n<256;n++); //音符之间的短暂延时 TR0=1; } TR0=0; } }
正在阅读:
沪科版数学九下24.2《圆的基本性质》(第1课时)word导学案01-11
米尺记作文600字06-27
无等级保护测试题01-24
全自动饺子皮机 混沌皮机07-23
重大突发事件中药学部门的应对方法07-23
试卷模板03-07
科技创新政策文件选编05-29
led灯箱制作 - 图文09-21
水产养殖业增长方式转变行动实施方案07-23
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 发声
- 单片机
- speaker
- 控制
- 一个
- 2010年普通高等学校招生全国统一考试(江苏卷)化学
- 会计习题(附答案)
- 2015届高考数学(人教通用,理科)必考题型过关练:函数与导数第18
- 行政执法文书制作基本要求
- 2001年全国高中数学联赛试卷及答案
- 初二语文知识竞赛试题
- 2016-2021年中国及全球红外探测报警器行业市场发展战略分析及投
- 义乌市场的发展现状存在问题及对策分析
- 第15期中国企业家特训班名录
- 探讨肿瘤标志物在胃癌诊断及预后判断中的应用价值
- DSP作业
- 新人教版七年级数学上册第四章教案 - 图文
- 计算机应用基础形考任务题目
- “迎七一 颂党情”主持词
- 测量心理学复习
- 银行对申请融资企业的财务分析 - “三表”分析法
- 河北省内丘县20万公斤薄皮核桃种植新建项目可行性研究分析报告
- 294982_一级建造师建设工程经济 概念重点总结
- 本人总结混凝土楼板裂缝(图文解析)
- 2017沪科版高中物理必修一第7讲《匀变速直线运动的五个公式及其