- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验名称:生日快乐歌程序
组员名单:A706
指导教室:### 日期:2009年11月10 日
#include<reg52.h> //包含头文件
#define uint unsigned int //宏定义,定义uint 为无符号整形变量
#define uchar unsigned char//宏定义,定义uchar 为无符号字符形变量
sbit BUZZER= P3^6; //定义p3.6 为蜂鸣器输出口
uchar code
tab_1[16]={0xFF,0xFB,0xFB,0xFC,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,
0xFE,0xFE,0xFE,0xFE}; //定义音调,音调表示一个音符唱多高的频率,
节拍表示一个音符唱多长的时间。
uchar code
tab_2[16]={0xF1,0x4,0x90,0xC,0x44,0xAC,0x9,0x34,0x82,0xC8,0x06,0x22,0x56,0x
85,0x9A,0xC1}; //定义音调
uchar code
music[32]={8,0,8,9,8,0xB,0xA,0,8,0,8,9,8,0xC,0xB,0,8,0,8,0xF,0xD,0xB,0xA,9,0xE,
0,0xE,0xD,0xB,0xC,0xB,0x0};//定义调用音符数组
uchar code
music_L[32]={2,1,1,4,4,4,4,4,2,1,1,4,4,4,4,4,2,1,1,4,4,4,4,4,2,1,1,4,4,4,4,4};// 定义节
拍
uchar a,b; //定义a,b 无符号字符型变量。
void delay(uint v) //延时涵数
{
while(v!=0) v--;
}
void delay1(uint j)//延时涵数
{
while(j!=0){j--;delay(180);}
}
void delay2(uint j)//延时涵数
{
while(j!=0){j--;delay1(70);}
}
/*主涵数*/
main()
{
uchar k,n,m; //定义无符号字符型变量k,n,m
TMOD=0x11; //计数器以方式一工作,16 位计数器
EA=1;//开启所有中断
ET1=1;//允许定时计数器T1 中断
TR1=1;//开启定时计数器T1
while(1)主程序循
{
for(k=0;k<32;k++)// 内循环,程序执行32 次《输出32 个音符》。
{
n=music[k];//把music[] 的数据读到n
m=music_L[k];//把music_L[] 《节拍》的数据读到m
a=tab_1[n];//把tab_1[] 《音调》数据读到a
b=tab_2[n];//把tab_2[] 《音调》数据读到b
delay2(m);//调用延时涵数delay2(),节拍
}
}
/*定时计数器1 溢出中断服务程序*/
time1 () interrupt 3 using 3
{
TH1=a;//把a 的数据读到TH1 ,定时器1 高八位置位
TL1=b;//把b 的数据读到TL1,定时器1 低八位置位
BUZZER=!BUZZER; //蜂呜器取反输出
}
1亿VIP精品文档
相关文档
最近下载
- 妇产科临床路径.doc
- 超市游戏教案幼儿园.docx VIP
- 小学教育心理学 第四章 小学生学习策略.ppt
- 部编人教版二年级上册小学数学全册教案(教学设计).docx
- 非煤矿山安全生产奖惩制度(范本模板).pdf
- 国家工业管道标识要求规范及颜色工业气管颜.pdf
- Unit 2 Neither pine nor apple in pineapple课件 2021-2022学年高中英语外研版(2019) 必修第一册.ppt
- xx有限公司质量、环境、职业健康安全一体化管理体系程序文件.doc VIP
- 常见的螯合树脂.ppt
- 安科瑞AMC系列中文显示电力仪表安装使用说明书V1.4-安科瑞柏为为.pdf
文档评论(0)