單片機(jī)音樂中音調(diào)和節(jié)拍的確定方法:調(diào)號(hào)-音樂上指用以確定樂曲主音高度的符號(hào)。很明顯一個(gè)八度就有12個(gè)半音。A、B、C、D、E、F、G。經(jīng)過聲學(xué)家的研究,全世界都用這些字母來表示固定的音高。比如,A這個(gè)音,標(biāo)準(zhǔn)的音高為每秒鐘振動(dòng)440周。 升C調(diào):1=#C,也就是降D調(diào):1=BD;277(頻率)升D調(diào):1=#D,也就是降E調(diào):1=BE;311升F調(diào):1=#F,也就是降G調(diào):1=BG;369升G調(diào):1=#G,也就是降A(chǔ)調(diào):1=BA;415升A調(diào):1=#A,也就是降B調(diào):1=BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494 所謂1=A,就是說,這首歌曲的“導(dǎo)”要唱得同A一樣高,人們也把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1=C,就是說,這首歌曲的“導(dǎo)”要唱得同C一樣高,或者說“這歌曲唱C調(diào)”。同樣是“導(dǎo)”,不同的調(diào)唱起來的高低是不一樣的。各調(diào)的對(duì)應(yīng)的標(biāo)準(zhǔn)頻率為: 單片機(jī)演奏音樂時(shí)音調(diào)和節(jié)拍的確定方法 經(jīng)常看到一些剛學(xué)單片機(jī)的朋友對(duì)單片機(jī)演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識(shí)做一些簡(jiǎn)介,但愿能對(duì)單片機(jī)演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機(jī)演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個(gè)音符唱多高的頻率,節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。 在音樂中所謂“音調(diào)”,其實(shí)就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標(biāo)準(zhǔn)音高,其頻率f=440Hz。當(dāng)兩個(gè)聲音信號(hào)的頻率相差一倍時(shí),也即f2=2f1時(shí),則稱f2比f1高一個(gè)倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個(gè)倍頻程,在音樂學(xué)中稱它相差一個(gè)八度音。在一個(gè)八度音內(nèi),有12個(gè)半音。以1—i八音區(qū)為例, 12個(gè)半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個(gè)音階的分度基本上是以對(duì)數(shù)關(guān)系來劃分的。如果我們只要知道了這十二個(gè)音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。 知道了一個(gè)音符的頻率后,怎樣讓單片機(jī)發(fā)出相應(yīng)頻率的聲音呢?一般說來,常采用的方法就是通過單片機(jī)的定時(shí)器定時(shí)中斷,將單片機(jī)上對(duì)應(yīng)蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機(jī)發(fā)出不同頻率的聲音,我們只需將定時(shí)器予置不同的定時(shí)值就可實(shí)現(xiàn)。那么怎樣確定一個(gè)頻率所對(duì)應(yīng)的定時(shí)器的定時(shí)值呢?以標(biāo)準(zhǔn)音高A為例: A的頻率f = 440 Hz,其對(duì)應(yīng)的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機(jī)上對(duì)應(yīng)蜂鳴器的I/O口來回取反的時(shí)間應(yīng)為:t = T/2 = 2272/2 = 1136μs這個(gè)時(shí)間t也就是單片機(jī)上定時(shí)器應(yīng)有的中斷觸發(fā)時(shí)間。一般情況下,單片機(jī)奏樂時(shí),其定時(shí)器為工作方式1,它以振蕩器的十二分頻信號(hào)為計(jì)數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時(shí)器的予置初值由下式來確定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時(shí)器待確定的計(jì)數(shù)初值。因此定時(shí)器的高低計(jì)數(shù)器的初值為: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 將t=1136μs代入上面兩式(注意:計(jì)算時(shí)應(yīng)將時(shí)間和頻率的單位換算一致),即可求出標(biāo)準(zhǔn)音高A在單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值為 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計(jì)數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會(huì)看到這樣的表達(dá)式,如1=C 、1=G …… 等等,這里1=C,1=G表示樂譜的曲調(diào),和我們前面所談的音調(diào)有很大的關(guān)聯(lián), 、 就是用來表示節(jié)拍的。以 為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如: 其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時(shí)長(zhǎng)為四分音符的一半,即為八分音符長(zhǎng),3、4的時(shí)長(zhǎng)為八分音符的一半,即為十六分音符長(zhǎng),5的時(shí)長(zhǎng)為四分音符的一半,即為八分音符長(zhǎng),6的時(shí)長(zhǎng)為四分音符長(zhǎng)。那么一拍到底該唱多長(zhǎng)呢?一般說來,如果樂曲沒有特殊說明,一拍的時(shí)長(zhǎng)大約為400—500ms 。我們以一拍的時(shí)長(zhǎng)為400ms為例,則當(dāng)以四分音符為節(jié)拍時(shí),四分音符的時(shí)長(zhǎng)就為400ms,八分音符的時(shí)長(zhǎng)就為200ms,十六分音符的時(shí)長(zhǎng)就為100ms。可見,在單片機(jī)上控制一個(gè)音符唱多長(zhǎng)可采用循環(huán)延時(shí)的方法來實(shí)現(xiàn)。首先,我們確定一個(gè)基本時(shí)長(zhǎng)的延時(shí)程序,比如說以十六分音符的時(shí)長(zhǎng)為基本延時(shí)時(shí)間,那么,對(duì)于一個(gè)音符,如果它為十六分音符,則只需調(diào)用一次延時(shí)程序,如果它為八分音符,則只需調(diào)用二次延時(shí)程序,如果它為四分音符,則只需調(diào)用四次延時(shí)程序,依次類推。通過上面關(guān)于一個(gè)音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機(jī)上實(shí)現(xiàn)演奏音樂了。具體的實(shí)現(xiàn)方法為:將樂譜中的每個(gè)音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲(chǔ)器中,通過程序取出一個(gè)音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個(gè)音符的相關(guān)參數(shù)……,如此直到播放完畢最后一個(gè)音符,根據(jù)需要也可循環(huán)不停地播放整個(gè)樂曲。另外,對(duì)于樂曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)拍參數(shù)為00H來表示。下面給出部分音符(三個(gè)八度音)的頻率以及以單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值 : C調(diào)音符 頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC調(diào)音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C調(diào)音符 頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02
上傳時(shí)間: 2013-10-20
上傳用戶:哈哈haha
電子發(fā)燒友網(wǎng)核心提示:醫(yī)療內(nèi)窺鏡的市場(chǎng)發(fā)展帶來了各種挑戰(zhàn),例如,要求增強(qiáng)功能,更高的精度,更好的處理性能,以及更小的體積等。本文介紹Altera高級(jí)醫(yī)療內(nèi)窺鏡系統(tǒng)解決方案,它使用了1080p視頻設(shè)計(jì)工作臺(tái)、DSP 構(gòu)建模塊、參考設(shè)計(jì),以及 Stratix® V、Cyclone® V 和 Arria® V FPGA 等。通過下文介紹,資深專家向您支招,教你懂得如何通過采用基于FPGA的方法來縮短高級(jí)醫(yī)療內(nèi)窺鏡系統(tǒng)的開發(fā)時(shí)間。 引言 對(duì)內(nèi)窺鏡檢查的需求在不斷增長(zhǎng),同時(shí)還需要不斷改進(jìn)檢查過程,增強(qiáng)醫(yī)療設(shè)備的功能。全球競(jìng)爭(zhēng)不斷加劇,導(dǎo)致各種新功能的出現(xiàn),新市場(chǎng)的變化也非常快,開發(fā)周期越來越短,工程團(tuán)隊(duì)必須集中精力提高核心競(jìng)爭(zhēng)力,加強(qiáng)系統(tǒng)知識(shí)。工程師需要靈活的硬件平臺(tái)和支持各種平臺(tái)的工作臺(tái)工具,使他們能夠針對(duì)新標(biāo)準(zhǔn)或者標(biāo)準(zhǔn)的變化而對(duì)產(chǎn)品進(jìn)行更新。此外,設(shè)計(jì)團(tuán)隊(duì)必須更高效的進(jìn)行開發(fā)工作。Altera® 1080p 視頻設(shè)計(jì)工作臺(tái)和28-nm FPGA提供了靈活的系統(tǒng)方法來滿足當(dāng)前以及不斷發(fā)展的功能需求。 不斷增長(zhǎng)的全球需求 很多因素導(dǎo)致對(duì)內(nèi)窺鏡檢查的需求越來越強(qiáng)。今后數(shù)十年內(nèi),世界60歲以上的人口數(shù)量將會(huì)大幅度增長(zhǎng),對(duì)醫(yī)療衛(wèi)生服務(wù)的需求也會(huì)隨之增長(zhǎng)。而且,胃腸道患病人口在不斷增加,需要進(jìn)行檢查和治療。越來越多的醫(yī)生采用內(nèi)窺鏡檢查方法。很多政府報(bào)銷政策鼓勵(lì)非置入式治療,這有利于患者更快的恢復(fù),從而降低了治療總成本,患者的體驗(yàn)會(huì)更好。 很多國(guó)家增加了在醫(yī)療基礎(chǔ)設(shè)施上的投入,特別是加大了醫(yī)療設(shè)備的采購(gòu)。反過來,這些新市場(chǎng)需求也擴(kuò)大了對(duì)下一代內(nèi)窺鏡系統(tǒng)的需求。設(shè)計(jì)團(tuán)隊(duì)體驗(yàn)到需求的不斷增長(zhǎng),而全球競(jìng)爭(zhēng)導(dǎo)致他們推遲其產(chǎn)品發(fā)布計(jì)劃。
上傳時(shí)間: 2014-12-28
上傳用戶:huxiao341000
置位/復(fù)位電路有多種設(shè)計(jì)方法,應(yīng)根據(jù)成本預(yù)算和設(shè)置的磁場(chǎng)分辨率來選擇最佳方案。置位脈沖和復(fù)位脈沖對(duì)傳感器所起的作用是基本一樣的,唯一的區(qū)別是傳感器的輸出改變正負(fù)號(hào)。
上傳時(shí)間: 2013-10-17
上傳用戶:名爵少年
NNS-701 是專為移動(dòng)裝置設(shè)計(jì)的全功能NFC (Near Field Communication)控制器芯片。
上傳時(shí)間: 2013-10-11
上傳用戶:蠢蠢66
電子發(fā)燒友網(wǎng)核心提示:醫(yī)療內(nèi)窺鏡的市場(chǎng)發(fā)展帶來了各種挑戰(zhàn),例如,要求增強(qiáng)功能,更高的精度,更好的處理性能,以及更小的體積等。本文介紹Altera高級(jí)醫(yī)療內(nèi)窺鏡系統(tǒng)解決方案,它使用了1080p視頻設(shè)計(jì)工作臺(tái)、DSP 構(gòu)建模塊、參考設(shè)計(jì),以及 Stratix® V、Cyclone® V 和 Arria® V FPGA 等。通過下文介紹,資深專家向您支招,教你懂得如何通過采用基于FPGA的方法來縮短高級(jí)醫(yī)療內(nèi)窺鏡系統(tǒng)的開發(fā)時(shí)間。 引言 對(duì)內(nèi)窺鏡檢查的需求在不斷增長(zhǎng),同時(shí)還需要不斷改進(jìn)檢查過程,增強(qiáng)醫(yī)療設(shè)備的功能。全球競(jìng)爭(zhēng)不斷加劇,導(dǎo)致各種新功能的出現(xiàn),新市場(chǎng)的變化也非常快,開發(fā)周期越來越短,工程團(tuán)隊(duì)必須集中精力提高核心競(jìng)爭(zhēng)力,加強(qiáng)系統(tǒng)知識(shí)。工程師需要靈活的硬件平臺(tái)和支持各種平臺(tái)的工作臺(tái)工具,使他們能夠針對(duì)新標(biāo)準(zhǔn)或者標(biāo)準(zhǔn)的變化而對(duì)產(chǎn)品進(jìn)行更新。此外,設(shè)計(jì)團(tuán)隊(duì)必須更高效的進(jìn)行開發(fā)工作。Altera® 1080p 視頻設(shè)計(jì)工作臺(tái)和28-nm FPGA提供了靈活的系統(tǒng)方法來滿足當(dāng)前以及不斷發(fā)展的功能需求。 不斷增長(zhǎng)的全球需求 很多因素導(dǎo)致對(duì)內(nèi)窺鏡檢查的需求越來越強(qiáng)。今后數(shù)十年內(nèi),世界60歲以上的人口數(shù)量將會(huì)大幅度增長(zhǎng),對(duì)醫(yī)療衛(wèi)生服務(wù)的需求也會(huì)隨之增長(zhǎng)。而且,胃腸道患病人口在不斷增加,需要進(jìn)行檢查和治療。越來越多的醫(yī)生采用內(nèi)窺鏡檢查方法。很多政府報(bào)銷政策鼓勵(lì)非置入式治療,這有利于患者更快的恢復(fù),從而降低了治療總成本,患者的體驗(yàn)會(huì)更好。 很多國(guó)家增加了在醫(yī)療基礎(chǔ)設(shè)施上的投入,特別是加大了醫(yī)療設(shè)備的采購(gòu)。反過來,這些新市場(chǎng)需求也擴(kuò)大了對(duì)下一代內(nèi)窺鏡系統(tǒng)的需求。設(shè)計(jì)團(tuán)隊(duì)體驗(yàn)到需求的不斷增長(zhǎng),而全球競(jìng)爭(zhēng)導(dǎo)致他們推遲其產(chǎn)品發(fā)布計(jì)劃。
上傳時(shí)間: 2013-12-19
上傳用戶:xc216
收發(fā)器乃新型通訊系統(tǒng)的基本組件,可以用於各種不同裝置包括手機(jī)、 收發(fā)器乃新型通訊系統(tǒng)的基本組件,可以用於各種不同裝置包括手機(jī)、 收發(fā)器乃新型通訊系統(tǒng)的基本組件,可以用於各種不同裝置包括手機(jī)、 WLANWLANWLANWLAN網(wǎng)路橋接器與蜂巢式基礎(chǔ)建設(shè)。
標(biāo)簽: 向量訊號(hào)產(chǎn)生器 收發(fā)器 測(cè)試 速度
上傳時(shí)間: 2013-10-12
上傳用戶:ligi201200
ERWIN絕好的數(shù)據(jù)庫建模工具,可以把數(shù)據(jù)模型導(dǎo)入數(shù)據(jù)庫如sql server foxpro等這里是方法指南更多內(nèi)容可以去http://erwin.softwarechn.com/_script/showfull.asp?Board=method&Tabname=erwin
標(biāo)簽: softwarechn server foxpro script
上傳時(shí)間: 2013-12-06
上傳用戶:c12228
有關(guān)此程序的功能請(qǐng)見程序中的幫助菜單程序難點(diǎn)1:創(chuàng)建Windows xp中按鈕樣式解決方法:使用標(biāo)簽控件與形狀控件一起形成此樣式此方法缺點(diǎn):由于標(biāo)簽沒有TAB事件,所以不能使用鍵盤控制按鈕。此缺點(diǎn)解方法:截取鍵盤事件,以響應(yīng)TAB事件(時(shí)間有限,沒有實(shí)現(xiàn))程序難點(diǎn)2:實(shí)時(shí)與分時(shí)混合應(yīng)用解決方法:置一FOR循環(huán)在TIMER中,先判斷并響應(yīng)時(shí)實(shí)進(jìn)程,再置另一當(dāng)循環(huán)在TIMER中,無時(shí)實(shí)時(shí)再執(zhí)行分時(shí)進(jìn)程。程序難點(diǎn)3:分頁式內(nèi)存管理的調(diào)度方式解決方法:具體方法見程序中的注釋。程序難點(diǎn)4:基于優(yōu)先級(jí)的調(diào)度方式解決方法:使用雙重當(dāng)循環(huán),第一層判斷優(yōu)先級(jí),第二層判斷執(zhí)行進(jìn)程.此程序不足之處:不能響應(yīng)鍵盤事件,沒有程序的等待狀態(tài),由于LIST控件的先天不足進(jìn)程列表看上去有點(diǎn)閃爍。當(dāng)然程序的等待狀態(tài)可以隨機(jī)產(chǎn)生但由于沒有太多時(shí)間專注于此,只好等以后再完善了。希望大家指出不足之處!
標(biāo)簽: Windows 程序 TAB 標(biāo)簽
上傳時(shí)間: 2015-03-12
上傳用戶:海陸空653
直線、圓等圖形函數(shù)的匯編語言實(shí)現(xiàn) 本例所用的繪圖函數(shù)均采用堆棧的方法傳遞參數(shù),可以和C語言接口。畫點(diǎn)的函數(shù)采用直接寫顯存的方法。為了直接由CPU數(shù)據(jù)確定像素顏色,而不使用位屏蔽寄存器或置位/重置寄存器,采用了VGA的寫模式2方式。直線和圓的算法均采用Bresenham算法實(shí)現(xiàn),其實(shí)現(xiàn)過程及堆棧狀態(tài)均有較詳細(xì)的說明。最后,將繪圖函數(shù)用宏封裝了起來,便于主程序中調(diào)用。當(dāng)然,主程序中也可直接將參數(shù)壓入堆棧。其實(shí)在較高版本的編譯程序中,可以用PROTO偽指令定義函數(shù)原型,再用INVOKE偽指令調(diào)用。
標(biāo)簽: 函數(shù) 直線 圖形 參數(shù)
上傳時(shí)間: 2013-12-20
上傳用戶:hgy9473
題目:多線程同步方法解決生產(chǎn)者-消費(fèi)者問題 (Bounded - Buffer Problem) 內(nèi)容:有界緩沖區(qū)內(nèi)設(shè)有10個(gè)存儲(chǔ)單元,放入/取出的數(shù)據(jù)項(xiàng) 設(shè)定為1~10這10個(gè)整形數(shù)。要求每個(gè)生產(chǎn)者和消費(fèi)者對(duì)有界 緩沖區(qū)進(jìn)行操作后,即時(shí)顯示有界緩沖區(qū)的全部?jī)?nèi)容、當(dāng)前指針位 置和生產(chǎn)者/消費(fèi)者標(biāo)識(shí)符。
標(biāo)簽: Bounded Problem Buffer 多線程同步
上傳時(shí)間: 2014-01-05
上傳用戶:253189838
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1