单片机c语言音乐门铃设计,求高手基于单片机的音乐门铃设计要有完整的C语言程序...

#include //包含52单片机寄存器定义的头文件 ***t sound=P3^7; //将sound位定义为P3.7 unsigned 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\"的频率880Hz #define xi 987 //将\"xi\"宏定义为中音\"7\"的频率523Hz /******************************************* 函数功能:1个延时单位,延时200ms ******************************************/ void delay() { unsigned char i,j; for(i=0;i<250;i++) for(j=0;j<250;j++) } /******************************************* 函数功能:主函数 ******************************************/ void main(void) { unsigned char i,j; //以下是《两只老

#include //包含52单片机寄存器定义的头文件 ***t sound=P3^7; //将sound位定义为P3.7 unsigned 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\"的频率880Hz #define xi 987 //将\"xi\"宏定义为中音\"7\"的频率523Hz /******************************************* 函数功能:1个延时单位,延时200ms ******************************************/ void delay() { unsigned char i,j; for(i=0;i<250;i++) for(j=0;j<250;j++) } /******************************************* 函数功能:主函数 ******************************************/ void main(void) { unsigned char i,j; //以下是《两只老

悠闲小猫

2021-05-23

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORG 00H ;初始化程序 JMP START ORG 0BH LJMP TIM0 START:MOV TMOD,#00000001B ;主程序 MOV IE,#10000010B JB P3.5, $ CALL DELAY1 JNB P3.5, $ MOV 31H,#00 START0: MOV 30H,#SONG NEXT: MOV A,30H MOV DPTR,# TABLE MOVC A,@A+DPTR MOV R2,A JZ END0 ANL A,#0FH MOV R5,A MOV A,R2 SWAP A ANL A,#0FH JNZ SING CLR TR0 JMP D1 SING: DEC A MOV 22H,A RL A MOV DPTR,#TABLE MOVC A,@A+DPTR MOV TH0,A MOV 21H,A MOV A,22H RL A INC A MOVC A,@A+DPTR MOV TL0,A MOV 20H,A SETB TR0 D1: CALL DELAY INC 30H JMP NEXT END0: CLR TR0 MOV A,31H XRL A,#00H JNZ END1 JB P3.5,$ CALL DELAY1 JNB P3.5,$ INC 31H MOV 30H,#SONG1 JMP NEXT END1: MOV A,31H XRL A,#01H JNZ END2 JB P3.5,$ CALL DELAY1 JNB P3.5,$ INC 31H MOV 30H,#SONG2 JMP NEXT END2: MOV A,31H XRL A,#02H JNZ END3 JB P3.5,$ CALL DELAY1 JNB P3.5,$ INC 31H MOV 30H,#SONG3 JMP NEXT END3: MOV A,31H XRL A,#03H JNZ END4 JB P3.5,$ CALL DELAY1 JNB P3.5,$ INC 31H MOV 30H,#SONG4 JMP NEXT END4: MOV A,31H XRL A,#04H JNZ END5 JB P3.5,$ CALL DELAY1 JNB P3.5,$ INC 31H MOV 30H,#SONG5 JMP NEXT END5: JMP START TIM0: PUSH ACC ;定时器T0子程序 PUSH PSW SETB RS0 CLR RS1 MOV TL0,20H MOV TH0,21H CPL P1.0 POP PSW POP ACC RETI DELAY: ;延时子程序 MOV R7,#02 D2: MOV R4,#125 D3: MOV R3,#248 DJNZ R3,$ DJNZ R4,D3 DJNZ R7,D2 DJNZ R5,DELAY RET DELAY1: MOV R4,#20 D4: MOV R3,#248 DJNZ R3,$ DJNZ R4,D4 RET ORG 300H ;定时常数T值表 TABLE: DW 64260,64400,64524,64580 DW 64684,64777,64820,64898 DW 64968,65030,65058,65110 DW 65157,65178,65217 ;音符节拍码数据表 SONG: ;生日快乐 ;1 DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H ;2 DB 82H,01H,81H,0F4H,0D4H DB 0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4H DB 0C4H,0B4H,04H DB 00H SONG1: ;两只老虎 ;1 DB 44H,54H,64H,44H DB 44H,54H,64H,44H DB 64H,74H,88H DB 64H,74H,88H ;2 DB 82H,92H,82H,72H,64H,44H DB 82H,92H,82H,72H,64H,44H DB 44H,84H,48H DB 44H,14H,48H DB 00H SONG2: ;三只小猫 ;1 DB 62H,82H,82H,62H,98H DB 92H,0B2H,0B2H,82H,98H DB 62H,82H,82H,52H,68H DB 92H,0B2H,0B2H,82H,98H ;2 DB 62H,82H,82H,62H,92H,92H,94H DB 92H,0B2H,0B2H,92H,84H,94H DB 0B8H,0B4H,04H DB 00H SONG3: ;哈巴狗 ;1 DB 42H,42H,42H,52H,64H,04H DB 62H,62H,62H,72H,84H,04H DB 92H,92H,82H,72H,64H,04H DB 82H,82H,52H,62H,44H,04H ;2 DB 42H,42H,42H,52H,64H,04H DB 62H,62H,62H,72H,84H,04H DB 92H,92H,82H,72H,64H,04H DB 82H,82H,52H,62H,44H,04H DB 00H SONG4: ;不倒翁 ;1 DB 84H,94H,88H DB 64H,54H,68H DB 84H,64H,54H,44H DB 62H,82H,42H,62H,58H ;2 DB 84H,94H,88H DB 64H,54H,68H DB 84H,64H,54H,44H DB 52H,42H,52H,62H,48H DB 00H SONG5: ;妹妹背着洋娃娃 ;1 DB 84H,02H,82H,64H,54H DB 64H,54H,48H DB 64H,02H,52H,44H,24H DB 14H,24H,18H ;2 DB 24H,02H,22H,42H,24H DB 44H,54H,68H DB 54H,02H,52H,84H,84H DB 54H,64H,48H DB 00H END

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值