项目四_音乐门铃和简易演奏器设计(编辑修改稿)内容摘要:
655361000)MOD 256 INC TCOUNT。 计时计数值 +1 MOV A,TCOUNT CJNE A,250,I1。 是否计满 秒 CPL FLAG。 计时计数值取反 MOV TCOUNT,00H。 计时计数值清零 I1: JB FLAG,I2。 检查标志位 CPL。 声音输出 SJMP RETUNE I2: CLR。 关声音 RETUNE: RETI。 中断返回 DELAY: MOV R1,0FFH。 延时约 秒 DEL1: MOV R2,0FFH DEL2: MOV R3,09H DEL3: NOP NOP NOP DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RET END 技能提高 任选一首歌曲,编制歌谱表,由单片机演奏, 实现音乐门铃。 《 BABY DON’ T CRY》 程序 三 : ORG 0000H LJMP START ORG 000BH。 T0中断矢量 LJMP INT_T0 7 START: MOV SP,50H MOV TMOD,01H。 置 T0 工作于方式 1 SETB ET0 SETB EA。 开中断 MAIN: CLR SPEAKER。 静音 NSP: JB KEY,NSP。 如果按钮没按下,等待 LCALL DELY10MS。 10ms 延时 JB KEY,NSP。 如果按钮没按下,等待 MOV DPTR,SONG LOOP: CLR A MOVC A,@A+DPTR MOV R1,A。 音符定时值高位 INC DPTR CLR A MOVC A,@A+DPTR MOV R0,A。 音符定时值低位 ORL A,R1 JZ NEXT0。 如果是停止符 00,到 NEXT0 MOV A,R0 ANL A,R1 CJNE A,0FFH,NEXT。 如果不是结束符 FFH,到 NEXT CLR TR0 LJMP MAIN NEXT: MOV TH0,R1。 定时器初值 MOV TL0,R0 SETB TR0。 启 动定时器 T0 SJMP NEXT1 NEXT0: CLR TR0。 停止定时器 T0 CLR SPEAKER。 静音 NEXT1: CLR A INC DPTR MOVC A,@A+DPTR MOV R2,A。 节拍延时常数。 节拍延时 LOOP1: LCALL DELY25M。项目四_音乐门铃和简易演奏器设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。