freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于stc89c52的簡(jiǎn)易電子琴課程設(shè)計(jì)報(bào)告-wenkub

2022-11-18 21:39:12 本頁(yè)面
 

【正文】 STC89C52 。利用定時(shí)器中斷產(chǎn)生不同頻率來(lái)實(shí)現(xiàn)不同音階,用鍵盤(pán)掃描實(shí)現(xiàn)矩陣琴鍵的識(shí)別。音頻處理部分采用 LM386 進(jìn)行信號(hào)放大,通過(guò)蜂鳴器發(fā)音。 LM386 。本課程設(shè)計(jì)制作的簡(jiǎn)易電子琴便與兒童玩具電子琴相似。 由于單片機(jī)驅(qū)動(dòng)能力不夠,在處理音符信號(hào)時(shí),需加功率放大裝置 。 硬件部分 系統(tǒng)結(jié)構(gòu)圖 硬件部分 系統(tǒng)結(jié)構(gòu)圖 圖 1 系統(tǒng)結(jié)構(gòu)圖 實(shí)現(xiàn)功能: Switch 開(kāi)關(guān)按下后播放示例音樂(lè)《櫻花》; switch 開(kāi)關(guān)按起后為彈奏模式,按下不同的按鈕開(kāi)關(guān)發(fā)出不同的音階。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng) 可編程 Flash,使得 AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。掉電保護(hù)方式下, RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 LM386 是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。 第三級(jí)中的 T8 和 T9 管復(fù)合成 PNP 型管,與 NPN 型管 T10 構(gòu)成準(zhǔn)互補(bǔ)輸出級(jí)。輸出端(引腳 5)應(yīng)外接輸出電容后再接負(fù)載。如果在①腳與⑧腳外接電容器,可增加到 200 倍,外圍元件少效率高。如果不加,很易燒壞喇叭 R19不是單獨(dú)用的,它與 C18 組成高頻濾波,濾除高頻信號(hào)。同樣,當(dāng)通電時(shí)壓電材料會(huì)發(fā)生形變。 蜂鳴器的電路圖形符號(hào) 蜂鳴器在電路中用字母“ H”或“ HA”(舊標(biāo)準(zhǔn)用“ FM”、“ LB”、“ JD”等)表示。 而無(wú)源內(nèi)部不帶震蕩源,所以如果用直 流信號(hào)無(wú)法令其鳴叫。有源蜂鳴器的優(yōu)點(diǎn)是:程序控制方便 。就可在 引腳上得到此頻率的脈沖。 fr 式中, N 是計(jì)數(shù)值; fi 是機(jī)器頻率(晶體振蕩器為 12MHz 時(shí),其頻率為 1MHz); fr 是想要產(chǎn)生的頻率。 音樂(lè)的音拍即單位 時(shí)間,對(duì)于不同的曲調(diào)可以用單片機(jī)的另外一個(gè)定時(shí) /計(jì)數(shù)器來(lái)完成。不同音調(diào)下各個(gè)音階的定時(shí)器。在程序中通過(guò)設(shè)置空循環(huán)來(lái)實(shí)現(xiàn)。 T0 中斷入口 重裝 TH0, TL0初值 取反 中斷返回 10 圖 6 產(chǎn)生音階的定時(shí)器中斷子程序流程圖 圖 7 按鍵識(shí)別程序流程圖 程序調(diào)試與仿真 1 使用 Keil 軟件對(duì)程序進(jìn)行調(diào)試,并生成 hex文件。可以很好地實(shí)現(xiàn)播放與彈奏 功能。經(jīng)過(guò)一番分析,認(rèn)為由于蜂鳴器發(fā)出的聲音頻率較低,隔直電容顯得過(guò)大。 課程設(shè)計(jì)心得體會(huì) 實(shí)踐出真知。 13 應(yīng)當(dāng)說(shuō)本人較好地珍惜了此次機(jī)會(huì)。尤其是在做軟件部分時(shí),在弄懂了參考程序后,又將原先的示例音樂(lè)換掉,自己編寫(xiě)了一段《櫻花》,結(jié)果非常成功。本課程設(shè)計(jì)真正實(shí)施起來(lái)后,需要的知識(shí)不僅僅是理論課學(xué)習(xí)的書(shū)本知識(shí),還需要許多軟件的應(yīng)用技能及電路板制作的知識(shí)與經(jīng)驗(yàn)。 其次,為了檢驗(yàn)對(duì)程序的理解,需要仿真,因而又自學(xué)了 Keil 和 proteus。 當(dāng)然,本次課程設(shè)計(jì)也有遺憾和不足之處。 總的來(lái)說(shuō),本次課程設(shè)計(jì)獲益匪淺。 sbit sw=P2^7。 sbit P35=P3^5。 // 音階頻率表低八位 code unsigned char FREQL[]={ 0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16, }。 temp=P3。i0。 temp=P3。 temp=tempamp。 case 0x0d: key=1。 case 0x07: key=3。 STL1=tab[key]%256。 0x0f。 } TR0=0。 temp=tempamp。i) for(j=200。 temp=tempamp。0x0f。 break。 break。 TR0=1。 while(temp!=0x0f) { temp=P3。 } } P3=0xff。0x0f。j0。0x0f。 switch(temp) { case 0x0e: key=8。 case 0x0b: key=10。 } speaker=~speaker。 temp=P3。 temp=temp amp。 P37=0。 if(temp!=0x0f) { for(i=50。j)。 if(temp!=0x0f) { temp=P3。 break。 break。 STH1=tab[key]/256。 temp=temp amp。 0x0f。} else { TH0=STH0。 unsigned long t2。t28000。 TL0=STL0。 time=1。sw==0) { if(sw) {i=0。 STL0=FREQL[k]。 } } } void main() { TMOD=0x01。 else music()。 EA=1。 m=m+3。} else { k=sszymmh[m]+7*sszymmh[m+1]1。 while(timeamp。 delay(time)。 } } TR0=0。t1t。} speaker=!speaker。 } } } void timer0(void) interrupt 1 using 0 { if(sw==1) { TH0=STH1。 while(temp!=0x0f) { temp=P3。 TR0=1。 break。 break。0x0f。 temp=temp amp。i) for(j=200。 temp=tempamp。 } TR0=0。 0x0f。 18 STL1=tab[key]%256。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1