蜂鸣器 唱 两只老虎 单片机程序.doc

上传人:飞****9 文档编号:137862251 上传时间:2020-07-12 格式:DOC 页数:2 大小:15.50KB
返回 下载 相关 举报
蜂鸣器 唱 两只老虎 单片机程序.doc_第1页
第1页 / 共2页
蜂鸣器 唱 两只老虎 单片机程序.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《蜂鸣器 唱 两只老虎 单片机程序.doc》由会员分享,可在线阅读,更多相关《蜂鸣器 唱 两只老虎 单片机程序.doc(2页珍藏版)》请在金锄头文库上搜索。

1、#include /包含52单片机寄存器定义的头文件sbit sound=P37; /将sound位定义为P3.7unsigned int C; /储存定时器的定时常数/以下是C调中音的音频宏定义#define dao 523 /将dao宏定义为中音1的频率523Hz#define re 587 /将re宏定义为中音2的频率587Hz#define mi 659 /将mi宏定义为中音3的频率659Hz#define fa 698 /将fa宏定义为中音4的频率698Hz#define sao 784 /将sao宏定义为中音5的频率784Hz#define la 880 /将la宏定义为中音6的频

2、率880Hz#define xi 987 /将xi宏定义为中音7的频率523Hz/*函数功能:1个延时单位,延时200ms*/void delay() unsigned char i,j; for(i=0;i250;i+) for(j=0;j250;j+) ; /*函数功能:主函数*/void main(void) unsigned char i,j; /以下是两只老虎歌曲 unsigned int code f=dao,re,mi,dao, /每行对应一小节音符 dao,re,mi,dao, mi,fa,sao, mi,fa,sao, sao,la,sao,fa,mi,dao, sao,la

3、,sao,fa,mi,dao, dao,sao,dao, dao,sao,dao,0xff; /以0xff作为音符的结束标志/以下是简谱中每个音符的节拍/4对应4个延时单位,2对应2个延时单位,1对应1个延时单位 unsigned char code JP =2,2,2,2, 2,2,2,2,2,2,3,2,2,3,1,2,2,1,2,2,1,2,2,1,2,2, 2,2,2,2,2,2,; EA=1; /开总中断 ET0=1; /定时器T0中断允许 TMOD=0x00; / 使用定时器T0的模式1(13位计数器) while(1) /无限循环 i=0; /从第1个音符f0开始播放 while

4、(fi!=0xff) /只要没有读到结束标志就继续播放 C=460830/fi; TH0=(8192-C)/32; /可证明这是13位计数器TH0高8位的赋初值方法 TL0=(8192-C)%32; /可证明这是13位计数器TL0低5位的赋初值方法 TR0=1; /启动定时器T0 for(j=0;jJPi;j+) /控制节拍数 delay(); /延时1个节拍单位 TR0=0; /关闭定时器T0 i+; /播放下一个音符 /*函数功能:定时器T0的中断服务子程序,使P3.7引脚输出音频的方波*/ void Time0(void ) interrupt 1 using 1 sound=!sound; /将P3.7引脚输出电平取反,形成方波 TH0=(8192-C)/32; /可证明这是13位计数器TH0高8位的赋初值方法 TL0=(8192-C)%32; /可证明这是13位计数器TL0低5位的赋初值方法

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号