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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2952|回復(fù): 14
收起左側(cè)

單片機(jī)播放音樂(lè)的同時(shí)顯示點(diǎn)陣漢字,求思路

[復(fù)制鏈接]
ID:887271 發(fā)表于 2021-3-1 22:40 | 顯示全部樓層 |閱讀模式
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來(lái)寫(xiě)程序去實(shí)現(xiàn)

用蜂鳴器 播放音樂(lè)  和點(diǎn)陣循環(huán)顯示 生日快樂(lè) 漢字 都弄好了
現(xiàn)在想播放音樂(lè)的時(shí)候 點(diǎn)陣也顯示  
怎么實(shí)現(xiàn)呢
用中斷嗎

birth.zip

76.02 KB, 下載次數(shù): 16

回復(fù)

使用道具 舉報(bào)

ID:387856 發(fā)表于 2021-3-2 09:23 | 顯示全部樓層
定時(shí)器用來(lái)做顯示,主程序里播放音樂(lè)
回復(fù)

使用道具 舉報(bào)

ID:887271 發(fā)表于 2021-3-2 10:26 | 顯示全部樓層
liuhailan5757 發(fā)表于 2021-3-2 09:23
定時(shí)器用來(lái)做顯示,主程序里播放音樂(lè)

你看我程序 附件就是   不行啊   跳到顯示字符 音樂(lè)就停了
回復(fù)

使用道具 舉報(bào)

ID:387856 發(fā)表于 2021-3-2 10:33 | 顯示全部樓層
暈哦  你定時(shí)器里還加了delay  還用了for循環(huán)   哎呀 你這個(gè)看了教不了了
回復(fù)

使用道具 舉報(bào)

ID:387856 發(fā)表于 2021-3-2 10:38 | 顯示全部樓層
還有就是  你8乘以8的點(diǎn)陣可以顯示 牛哥生日快樂(lè) ,顯示漢子 至少的8乘以12的點(diǎn)陣,一般是16乘以16的才用來(lái)顯示漢字
回復(fù)

使用道具 舉報(bào)

ID:387856 發(fā)表于 2021-3-2 10:39 | 顯示全部樓層
我都沒(méi)注意看,你定時(shí)器中斷里還用了while(1)。人才啊
回復(fù)

使用道具 舉報(bào)

ID:887271 發(fā)表于 2021-3-2 10:41 | 顯示全部樓層
liuhailan5757 發(fā)表于 2021-3-2 10:38
還有就是  你8乘以8的點(diǎn)陣可以顯示 牛哥生日快樂(lè) ,顯示漢子 至少的8乘以12的點(diǎn)陣,一般是16乘以16的才用來(lái) ...

你沒(méi)仔細(xì)看  點(diǎn)陣顯示已經(jīng)測(cè)試好了 現(xiàn)在就是同時(shí)進(jìn)行音樂(lè)和字符顯示
回復(fù)

使用道具 舉報(bào)

ID:887271 發(fā)表于 2021-3-2 10:41 | 顯示全部樓層
liuhailan5757 發(fā)表于 2021-3-2 10:39
我都沒(méi)注意看,你定時(shí)器中斷里還用了while(1)。人才啊

剛學(xué)兩天  不會(huì)啊  隨便寫(xiě)的
回復(fù)

使用道具 舉報(bào)

ID:887271 發(fā)表于 2021-3-2 10:43 | 顯示全部樓層
liuhailan5757 發(fā)表于 2021-3-2 10:39
我都沒(méi)注意看,你定時(shí)器中斷里還用了while(1)。人才啊

給我修改下吧
回復(fù)

使用道具 舉報(bào)

ID:390416 發(fā)表于 2021-3-2 11:20 | 顯示全部樓層
cdqwin 發(fā)表于 2021-3-2 10:41
剛學(xué)兩天  不會(huì)啊  隨便寫(xiě)的

https://pan.baidu.com/s/1qY6X3eG這個(gè)是百度盤(pán),如果需要點(diǎn)陣,可以看看我發(fā)的貼子
回復(fù)

使用道具 舉報(bào)

ID:693038 發(fā)表于 2021-3-2 12:10 | 顯示全部樓層
首先一個(gè),函數(shù)實(shí)現(xiàn)一般都是放在.c,放.h的一般都是宏和聲明,中斷不宜處理過(guò)多東西,更不宜做延時(shí),你要掃描點(diǎn)陣,可以算一下你多久發(fā)一次數(shù)據(jù),把定時(shí)器,設(shè)成發(fā)送一次數(shù)據(jù)間隔的時(shí)間去掃描,你2MS發(fā)送一次的話就做成2MS中斷,循環(huán)掃,發(fā)完數(shù)據(jù)立馬跳出中斷,在中斷里面太久會(huì)影響主程序和其他中斷運(yùn)行,先把這些基本框架整理好,才好往下調(diào)...
回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2021-3-2 13:46 | 顯示全部樓層
lincheng15 發(fā)表于 2021-3-2 12:10
首先一個(gè),函數(shù)實(shí)現(xiàn)一般都是放在.c,放.h的一般都是宏和聲明,中斷不宜處理過(guò)多東西,更不宜做延時(shí),你要掃 ...

不是不能在中斷內(nèi)太久,是中斷內(nèi)停留絕對(duì)不能超過(guò)2MS。
回復(fù)

使用道具 舉報(bào)

ID:387856 發(fā)表于 2021-3-2 14:24 | 顯示全部樓層
//我大概給你寫(xiě)了個(gè)框架,要你自己去調(diào)節(jié)音符,
//顯示也是現(xiàn)成的了,你自己添加字進(jìn)來(lái)就行
//你這個(gè)8乘以8的 要顯示字很難
#include<reg51.h>
#include<intrins.h>
#define duo  12                //這里定義哆來(lái)咪,就是聲音的頻率,你要自己去調(diào),要改這里的參數(shù)得到正確的哆來(lái)咪
#define rui  11
#define mi  10
#define fa  9
#define suo  8
#define la  7
#define xi  6
sbit spk = P1^0;
unsigned char t1 = 0;//顯示中用到的變量
unsigned char zhi = 0;//顯示第幾個(gè)字
unsigned char t2 = 0;//每一個(gè)字的段位,要8段才湊成一個(gè)字
unsigned int dis_time = 0;//每一個(gè)字顯示的時(shí)間
unsigned char yp = 0;//聲音的頻率寄存器         就是音階
code unsigned char num[3][8]={{0x80,0x84,0x44,0x34,0x0f,0x34,0x44,0xc4}, //大
                                                      {0x84,0x94,0x94,0xff,0x94,0x95,0x86,0x8c}, //生
                                                          {0x00,0xff,0x49,0x49,0x49,0x49,0xff,0x00},};//日
code unsigned char wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //掃描的段位
void delay(unsigned int time)
{
while(time--);
}
void timer0() interrupt 1
{
if(t1<2)
{
  P3 = num[zhi][t2];
  P0 = wei[t2];
}
if(t1==2)
{
  P0 = 0xff;
  P3 = 0x00;
  }
t1++;
if(t1==3)
{
  t1 = 0;
  t2++;
  if(t2==8)
  {
   t2 = 0;
   dis_time++;
   if(dis_time==100)
   {
    dis_time = 0;
    zhi++;
    if(zhi==3)
     zhi = 0;
   }
  }
}
}
void timer1() interrupt 3
{
unsigned char i;
i++;
if(i==yp)
{
  i = 0;
  spk^=1;
  }
}
void main()
{
P0 = 0x00;
P3 = 0xff;
TMOD = 0x00;                                //模式0
TL0 = 0xfe;                                 //65536-11.0592M/12/1000
TH0 = 0xff;
TR0 = 1;                                    //啟動(dòng)定時(shí)器
ET0 = 1;                                    //使能定時(shí)器中斷
TL1 = 0xfe;                                 //
TH1 = 0xff;
TR1 = 0;                                    //啟動(dòng)定時(shí)器
ET1 = 1;                                    //使能定時(shí)器中斷
EA = 1;
while(1)
{
  TR1=1;
  yp = duo;
  delay(50000);//這些延時(shí)是控制歌曲的節(jié)奏的,就是拍子。你自己根據(jù)生日快樂(lè)的歌曲的譜子去做節(jié)奏延時(shí)
  delay(50000);
  yp = rui;
  delay(50000);
  delay(50000);
  yp = mi;
  delay(50000);
  delay(50000);
  yp = fa;
  delay(50000);
  delay(50000);
  yp = suo;
  delay(50000);
  delay(50000);
  yp = la;
  delay(50000);
  delay(50000);
  yp = xi;
  delay(50000);
  delay(50000);
  TR1 = 0;                 //
  spk = 0;                 //
  delay(50000);         //
  delay(50000);         //這4句 就是擲音符,這里的延時(shí)就是擲音的長(zhǎng)度
  TR1 = 1;
  yp = xi;
  delay(50000);
  delay(50000);
  yp = la;
  delay(50000);
  delay(50000);
  yp = suo;
  delay(50000);
  delay(50000);
  yp = fa;
  delay(50000);
  delay(50000);
  yp = mi;
  delay(50000);
  delay(50000);
  yp = rui;
  delay(50000);
  delay(50000);
  yp = duo;
  delay(50000);
  delay(50000);
  TR1 = 0;
  spk = 0;
  delay(50000);
  delay(50000);
}
}
回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2021-3-2 16:41 | 顯示全部樓層
你可以按照這個(gè)去修改 http://www.zg4o1577.cn/bbs/dpj-53492-1.html
回復(fù)

使用道具 舉報(bào)

ID:517951 發(fā)表于 2021-3-2 20:23 | 顯示全部樓層
定時(shí)中斷處理函數(shù)要簡(jiǎn)潔精悍,否則會(huì)假死,我遇到過(guò),精簡(jiǎn)之后就功能正常了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区成人 | 黄a大片 | 久久精品一区二区 | 欧美精品一区二区三区四区五区 | 天堂色 | 成人久草| 日本高清aⅴ毛片免费 | 久久久蜜桃 | 久久久久久久久国产 | 999久久久国产精品 欧美成人h版在线观看 | 欧美一区不卡 | 国产精品一区二区在线免费观看 | 在线免费观看亚洲 | 国产精品久久久久久久免费大片 | 免费一区二区三区在线视频 | 亚洲精品在线免费播放 | 国内精品视频 | 欧美一区二区在线 | 欧美看片| 中文字幕一二三区 | 日韩欧美中文 | 色婷婷综合久久久中字幕精品久久 | 日韩1区| 欧美日韩一二三区 | 精品欧美一区二区在线观看视频 | 精品一区av| 国产成人精品久久二区二区91 | 在线观看免费观看在线91 | 五月激情久久 | 99久久久国产精品免费消防器 | 久久国产精品网 | 亚洲综合精品 | 天天干狠狠干 | 亚洲精品黄色 | 国产中文字幕在线观看 | 做a视频在线观看 | 青青草原综合久久大伊人精品 | 国产在线一区二 | 欧美专区在线 | 一区二区三区视频在线观看 | 96国产精品久久久久aⅴ四区 |