资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
第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# 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=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_,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秒一次,闪动
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号