久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 如何使用STC15f系列單片機(jī)的兩個(gè)定時(shí)器來(lái)播放音樂(lè),求可用的源代碼 [打印本頁(yè)]

作者: 2646402530    時(shí)間: 2017-7-31 18:45
標(biāo)題: 如何使用STC15f系列單片機(jī)的兩個(gè)定時(shí)器來(lái)播放音樂(lè),求可用的源代碼
如何使用STC15f系列單片機(jī)的兩個(gè)定時(shí)器來(lái)播放音樂(lè),求可用的源代碼
一個(gè)定時(shí)器用于控制音調(diào)
一個(gè)用于控制節(jié)拍
中間不使用delay延時(shí)
網(wǎng)上找了好久沒(méi)找到

作者: cjjcjj1    時(shí)間: 2017-7-31 22:01
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: HC6800-ES-V2.0    時(shí)間: 2017-8-1 08:08
我這個(gè)程序是STC89C52RC的,你可以試試,應(yīng)該可以直接用的。#include <reg51.h>

sbit voice=P1^5;//蜂鳴器

unsigned char code sound[]={0xff,
0x26,0x20,0x2b,0x20,0x26,0x80,0xff,0x20,0x2b,0x20,0x26,0x20,0x26,0x10,//兩只蝴蝶
0x2b,0x10,0x30,0x80,0xff,0x40,0x39,0x20,0x30,0x20,0x2b,0x40,0x2b,0x20,
0x26,0x20,0x2b,0x20,0x30,0x20,0x39,0x20,0x39,0x10,0x30,0x10,0x40,0x80,
0x40,0x80,0x26,0x20,0x2b,0x20,0x26,0x80,0xff,0x20,0x2b,0x20,0x26,0x20,
0x26,0x10,0x2b,0x10,0x30,0x80,0xff,0x40,0x39,0x20,0x30,0x20,0x2b,0x40,
0x2b,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x39,0x20,0x30,0x20,0x2b,0xc0,
0x26,0x20,0x2b,0x20,0x26,0x80,0xff,0x20,0x2b,0x20,0x26,0x20,0x26,0x10,
0x2b,0x10,0x30,0xc0,0x39,0x20,0x30,0x20,0x2b,0x40,0x2b,0x20,0x26,0x20,
0x2b,0x20,0x30,0x20,0x39,0x20,0x39,0x10,0x30,0x10,0x40,0xc0,0x26,0x20,
0x20,0x20,0x20,0x80,0xff,0x20,0x20,0x20,0x1c,0x20,0x20,0x20,0x26,0xc0,
0x2b,0x20,0x2b,0x20,0x2b,0x60,0x2b,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,
0x39,0x20,0x39,0x20,0x30,0x20,0x30,0x20,0x30,0xc0,0xff,0x40,0xff,0x40,
0xff,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x18,0x20,0x19,0x20,0x19,0x20,
0x1c,0x20,0x26,0x20,0x2b,0x20,0x2b,0x20,0x26,0x20,0x26,0x80,0xff,0x20,
0x26,0x20,0x26,0x20,0x20,0x20,0x1c,0x40,0x1c,0x40,0xff,0x20,0x39,0x20,
0x26,0x20,0x2b,0x20,0x2b,0xc0,0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x20,
0x20,0x40,0xff,0x20,0x18,0x40,0x19,0x20,0x1c,0x20,0x1c,0x10,0x19,0x10,
0x26,0x40,0xff,0x20,0x1c,0x20,0x1c,0x20,0x19,0x20,0x1c,0x20,0x20,0x20,
0x26,0x20,0x2b,0x20,0xff,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,0x20,0x80,
0xff,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x18,0x20,0x19,0x20,0x19,0x20,
0x1c,0x20,0x26,0x20,0x2b,0x20,0x2b,0x20,0x26,0x20,0x26,0x80,0xff,0x20,
0x26,0x20,0x26,0x20,0x20,0x20,0x1c,0x40,0x1c,0x40,0xff,0x20,0x39,0x20,
0x26,0x20,0x2b,0x20,0x2b,0xc0,0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x20,
0x20,0x40,0xff,0x20,0x18,0x40,0x19,0x20,0x1c,0x20,0x1c,0x10,0x19,0x10,
0x26,0x40,0xff,0x20,0x1c,0x20,0x1c,0x20,0x19,0x20,0x1c,0x20,0x20,0x20,
0x26,0x20,0x2b,0x20,0xff,0x20,0x40,0x40,0x39,0x20,0x30,0xc0,0xff,0xc0,
0x00
};//音樂(lè)數(shù)據(jù),0xff為起始數(shù)據(jù),0x00為終止數(shù)據(jù),以后數(shù)據(jù)兩兩一組,前者為音階,后者為節(jié)拍

unsigned char zdjs=0,jp;

void del(yj);

void main(void)
{
        unsigned int dpjs=0;
        unsigned char yj;
        TMOD=0x01;
        IE=0x82;
        TH0=0xd8;
        TL0=0xf0;
        TR0=1;
        while(1)
        {  
                zdjs=0;
                dpjs++;
                yj=sound[dpjs];
                dpjs++;
                jp=sound[dpjs];
                while(zdjs!=jp)
                {
                        if(yj!=0xff)
                        {
                                if(yj!=0)
                                {
                                        voice=!voice;
                                        del(yj);
                                }
                                else
                                {
                                        dpjs=0;
                                        break;
                                }
                        }
                        else
                        {
                                voice=1;
                                del(jp);
                        }
                }
        }
}

time0() interrupt 1  using 1//定時(shí)器中斷,記錄時(shí)間
{
        TH0=0xd8;
        TL0=0xf0;
        zdjs++;
}

void del(yj)
{
        unsigned char yj2=2;
        while(yj!=0)
        {      
                while(yj2!=0)
                {
                        yj2--;
                }
                yj2=2;
                yj--;  
        }
}

只用了一個(gè)定時(shí)器。

作者: zl2168    時(shí)間: 2017-8-1 10:58
本帖最后由 zl2168 于 2017-8-1 10:59 編輯

實(shí)例75  定時(shí)器控制播放生日快樂(lè)歌
Proteus仿真一下,確認(rèn)有效。
實(shí)例75 定時(shí)器控制播放生日快樂(lè)歌.rar (26.96 KB, 下載次數(shù): 15)
實(shí)例76 定時(shí)器控制播放世上只有媽媽好歌曲.rar (27.15 KB, 下載次數(shù): 5)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜成人免费视频 | 日韩精品视频在线免费观看 | 欧美三级韩国三级日本三斤在线观看 | 色综合小说 | 亚洲精品国产精品乱码不卡 | 免费毛片在线播放免费 | 91黄色免费 | 黄色资源在线观看 | 成人动漫一区二区 | 五月天久久 | www.啪啪 | 老司机免费福利视频 | 饥渴放荡受np公车奶牛 | 亚洲天堂免费视频 | 久久久久久爱 | 精品欧美日韩 | 97精品视频 | 五月婷婷色综合 | 久久久亚洲精品视频 | 国产精品成人国产乱一区 | 正在播放国产精品 | 日韩精品视频免费播放 | 四虎在线播放 | 特级淫片裸体免费看 | 五月天婷婷视频 | 日韩aaaa| 日韩激情久久 | 成人在线视频免费 | 国产黄a三级三级三级看三级男男 | 麻豆精品一区 | 黄色三级网 | 国产va在线观看 | 精品欧美一区二区三区久久久 | 丁香婷婷六月天 | 日韩精品免费一区二区夜夜嗨 | www.久草.com| 国产精品手机在线 | 国产成人黄色 | 欧美xxxx网站 | 日韩毛片在线播放 | 国产青青草 |