亮灯倒计时10秒,开始播放音乐〖AT89S52单片机入门教程〗

上传人:工**** 文档编号:441885 上传时间:2017-02-26 格式:PDF 页数:5 大小:49.18KB
返回 下载 相关 举报
亮灯倒计时10秒,开始播放音乐〖AT89S52单片机入门教程〗_第1页
第1页 / 共5页
亮灯倒计时10秒,开始播放音乐〖AT89S52单片机入门教程〗_第2页
第2页 / 共5页
亮灯倒计时10秒,开始播放音乐〖AT89S52单片机入门教程〗_第3页
第3页 / 共5页
亮灯倒计时10秒,开始播放音乐〖AT89S52单片机入门教程〗_第4页
第4页 / 共5页
亮灯倒计时10秒,开始播放音乐〖AT89S52单片机入门教程〗_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《亮灯倒计时10秒,开始播放音乐〖AT89S52单片机入门教程〗》由会员分享,可在线阅读,更多相关《亮灯倒计时10秒,开始播放音乐〖AT89S52单片机入门教程〗(5页珍藏版)》请在金锄头文库上搜索。

1、第26课,亮灯倒计时10秒,开始播放音乐 这一课,我们用一点简单的控制之后,才开始播放音乐。这种工作方式可以用在一些计时后报警等场合。 我们采用前面学习过的定时器精确定时,在10秒钟后给出信号,触发音乐播放。 # /包括一个52标准内核的头文件 _7; /喇叭输出脚 10; 1= ; 2= ; 3= ; 4= ; ; /在中断中装载的,及输出频率对照表 6*2= 0,1 /0 0,1# 0,2 0,2# 0,3 0,4 0,4# 0,5 0,5# 0,6 0,6# 0,7 0,0# /13 0,0# /15 0,0,0# /18 0,0# /20 0,0# /22 0,01 01# 02 02

2、# 03 04 04# 05 05# 06 06# 07 /35 ; /定时中断0,用于产生唱歌频率 H0= /调入预定时值 /取反音乐输出 /* /音乐符号串解释函数 /入口:要解释的音乐符号串,输出的音调串,输出的时长串 i,i1,j; +/;/音长 =0,12,14,16,17,19,21,23; /i=0,;) ; /高低=0 ;/半音=0 ;/音长1拍 *(i)=|) | (*(i)= ) i+; /拍子间隔和一个空格过滤 (i) ,: 12;i+;/低音 : 2;i+; /高音 (i)=0) /遇到0结束 *(0; /加入结束标志0 *(0; j=*(i)i+; /取出基准音 j=

3、j+(*(i) #: /有半音i+;j+; -: /有一个音节加长 4; i+; _: /有一个音节缩短 2; i+; .: /有一个加半拍 ; i+; *(j; /记录音符 *(+; /* /奏乐函数 /入口:要演奏的音乐符号串 i,c,j=0; n; 12; /音调缓冲 12; /音长缓冲 /解释音乐符号串 ; i=0;i!=0;i+) /逐个符号演奏 i*2; /取出对应的定时值送给T0 i*2+1; c=0;ci;c+) /按照音长延时 n=0;n32000;n+); ; n=0;n500;n+); /音符间延时 ; ; /仙剑 = |3_3_3_2_3-|2_3_2_2_,6,6_,

4、7_|12_1_,7,6_,5_|,6 _6_5_5_22_3_|45_4_32_1_| 67_6_55_3_|56_5_32_3_|3 26_6_6-|16_6_66_7_|17_6_76_7_| 67_6_55_3_|57_6_76_7_|3 26_6_6-|16_6_66_7_| ; /亮灯倒计时10秒,开始播放音乐 0 /使用定时器0的16位工作模式 0; 1; /定时器0中断 0,溢出300次就是10秒钟 0 ; /启动定时器 ; /打开定时器2中断 1; /打开总中断 ; /始计时 ) 10) /检测到灯灭,10秒已到时 /播放音乐 /定时器2中断 t; ; t+; if(t=300) /出300次就是10秒钟,晶振22118400 ; / 程序里用的是和内部定义一个是要注意的是,触发时用的是果这个会立即播放音乐。 请编译,运行。可以看到,点全速后,始不停地播放音乐。 作业: 改为10秒等待过程中,按照1秒一次,闪动

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 嵌入式开发/单片机

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