永发信息网

单片机能否发出do re mi fa的声音

答案:3  悬赏:60  手机版
解决时间 2021-02-05 08:05
  • 提问者网友:辞取
  • 2021-02-04 14:06
也就是说,单片机能否播放音乐,如果谱子有了的话
谢谢
最佳答案
  • 五星知识达人网友:毛毛
  • 2021-02-04 14:17
用一般的蜂鸣器就可以,但是音效不太好,控制蜂鸣器发声的频率就可以打出不同音调的声音了~
全部回答
  • 1楼网友:狂恋
  • 2021-02-04 14:58
可以的。 #include #include #define uchar unsigned char #define uint unsigned int uchar i=0; sbit SPK = P3^4; sbit K1 = P1^0; uchar code HI_LIST[]= { 0,266,229,232,233,236,238,240,241,242,244,245,246,247,248 }; uchar code LO_LIST[]= { 0,4,13,10,20,3,8,6,2,23,5,26,1,4,3 }; void T0_INT() interrupt 1 { TL0 = LO_LIST[i]; TH0 = HI_LIST[i]; SPK = !SPK; } void DelayMS(uint ms) { uchar t; while(ms--) { for(t=0;t<120;t++); } } void main() { IE = 0x82; TMOD = 0x00; while(1) { while(K1==1); while(K1==0); for(i=1;i<15;i++) { TR0 = 1; DelayMS(500); TR0 = 0; DelayMS(50); } } } 还比如下面这个程序,可以唱一段:
  • 2楼网友:煞尾
  • 2021-02-04 14:24
t0h equ 30h t0l equ 31h org 0000h ljmp main org 000bh ljmp t0isr org 0030h main: mov sp,#5fh mov tmod,#01h setb et0 setb ea loop: mov dptr,#freq mov a,p2 ;控制高中低音区 mov r1,#0 anl a,#03h jb acc.0,loop01 mov r1,#14 sjmp loop0 loop01: jb acc.1,loop0 mov r1,#28 loop0: jb p0.0,loop1 ;控制音频1234567 mov a,r1 movc a,@a+dptr mov t0h,a inc dptr mov a,r1 movc a,@a+dptr mov t0l,a ljmp loop loop1: jb p0.1,loop2 mov a,r1 add a,#2 movc a,@a+dptr mov t0h,a inc dptr mov a,r1 add a,#2 movc a,@a+dptr mov t0l,a ljmp loop loop2: jb p0.2,loop3 mov a,r1 add a,#4 movc a,@a+dptr mov t0h,a inc dptr mov a,r1 add a,#4 movc a,@a+dptr mov t0l,a ljmp loop loop3: jb p0.3,loop4 mov a,r1 add a,#6 movc a,@a+dptr mov t0h,a inc dptr mov a,r1 add a,#6 movc a,@a+dptr mov t0l,a ljmp loop loop4: jb p0.4,loop5 mov a,r1 add a,#8 movc a,@a+dptr mov t0h,a inc dptr mov a,r1 add a,#8 movc a,@a+dptr mov t0l,a ljmp loop loop5: jb p0.5,loop6 mov a,r1 add a,#10 movc a,@a+dptr mov t0h,a inc dptr mov a,r1 add a,#10 movc a,@a+dptr mov t0l,a ljmp loop loop6: jb p0.6,loop7 mov a,r1 add a,#12 movc a,@a+dptr mov t0h,a inc dptr mov a,r1 add a,#12 movc a,@a+dptr mov t0l,a ljmp loop loop7: clr tr0 ljmp loop ;----------------------------- t0isr: clr tr0 mov th0,t0h mov tl0,t0l setb tr0 cpl p3.0 reti ;----------------------------- freq: db 0f2h,03dh ;低音1 db 0f3h,0bdh ;低音2 db 0f5h,014h ;低音3 db 0f5h,0b1h ;低音4 db 0f6h,0d0h ;低音5 db 0f7h,0d1h ;低音6 db 0f8h,0b5h ;低音7 db 0f9h,01eh ;中音1 db 0f9h,0deh ;中音2 db 0fah,08ah ;中音3 db 0fah,0d8h ;中音4 db 0fbh,068h ;中音5 db 0fbh,0e8h ;中音6 db 0fch,05ah ;中音7 db 0fch,08fh ;高音1 db 0fch,0efh ;高音2 db 0fdh,045h ;高音3 db 0fdh,06ch ;高音4 db 0fdh,0b4h ;高音5 db 0fdh,0f4h ;高音6 db 0feh,029h ;高音7 ;----------------------------- end
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯