單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦使用C語言開發(fā)速度快,代碼可重復(fù)使用,程序結(jié)構(gòu)清晰、易懂、易維護(hù),易開發(fā)一些比較大型的項目。目前,許多編譯器都已經(jīng)支持了C51,而且是Windows視窗界面。Kelic51是目前單片機(jī)開發(fā)最為流行的軟件。本書收集并整理了許多實用的采用C51單片機(jī)開發(fā)的程序,這些程序既可以給讀者以開拓思路,參考的用途又是實際的開發(fā)程序,可以直接作為程序應(yīng)用在相同的開發(fā)系統(tǒng)上。通過本書的學(xué)習(xí),讀者可以進(jìn)一步了解和掌握C51編程的思路和方法。單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦目錄:程序一 實時時鐘芯片DS1302的C51程序例子程序二 C430與CSI的一點區(qū)別程序三 一個菜單的例子程序四 DS1820單芯片溫度測量程序五 keilc 6.20c版直接嵌入?yún)R編的方法程序六 用計算機(jī)并口模擬SPI通信的C源程序程序七 CRC 16-SIANDARD的快速算法程序八 在PC上用并行口模擬I(平方)C總線的C源代碼程序九 一種在C51中寫二進(jìn)制的方法程序十 CRC算法原理及C語言實現(xiàn)程序十一 軟件陷階程序十二 一個簡單的VB串口發(fā)送程序程序十三 12864漢字液晶顯示驅(qū)動程序程序十四 12232點陣液晶基本驅(qū)動程序程序十五 串口中斷服務(wù)函數(shù)集程序十六 93C46讀寫程序程序十七 20045讀寫程序程序十八 一組小程序集錦程序十九 AVR asm源程序程序二十 AVR單片機(jī)一個簡單的通信程序程序二十一 TG19264A接口程序程序二十二 TG19264A接口程序(AVR模擬方式)程序二十三 常用的幾種碼制轉(zhuǎn)換BCD,HEX,BIN程序二十四 16x2字符液晶屏驅(qū)動演示程序一程序二十五 16x2字符液晶屏驅(qū)動演示程序二程序二十六 PS7219代碼程序二十七 2051的AD代碼程序二十八 ARV19264型液晶顯示字庫程序二十九 液晶CKW19264A型接口程序(模擬方式)程序三十 I(平方)C總線驅(qū)動程序程序三十一 240128型液晶代碼程序三十二 飛機(jī)游戲程序三十三 PC鍵代碼程序三十四 拼音輸入法模塊程序三十五 串行口代碼程序三十六 蛇游戲代碼程序三十七 與液晶模塊T6963C連接代碼程序三十八 鍵盤輸入法設(shè)計草案程序三十九 16*4液晶漢字代碼程序四十 智能化家電控制附錄C 單片機(jī)C51編程幾個有用的模塊附錄D 頭文件W77E58.h附錄A MCS-51單片機(jī)定點運算子程序庫附錄B MCS-51單片機(jī)浮點運算子程序庫
上傳時間: 2013-11-02
上傳用戶:kbnswdifs
單片機(jī)音樂中音調(diào)和節(jié)拍的確定方法:調(diào)號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有12個半音。A、B、C、D、E、F、G。經(jīng)過聲學(xué)家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標(biāo)準(zhǔn)的音高為每秒鐘振動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)的對應(yīng)的標(biāo)準(zhǔn)頻率為: 單片機(jī)演奏音樂時音調(diào)和節(jié)拍的確定方法 經(jīng)常看到一些剛學(xué)單片機(jī)的朋友對單片機(jī)演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機(jī)演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機(jī)演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂只需弄清楚兩個概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個音符唱多高的頻率,節(jié)拍表示一個音符唱多長的時間。 在音樂中所謂“音調(diào)”,其實就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標(biāo)準(zhǔn)音高,其頻率f=440Hz。當(dāng)兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學(xué)中稱它相差一個八度音。在一個八度音內(nèi),有12個半音。以1—i八音區(qū)為例, 12個半音是: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個音階的分度基本上是以對數(shù)關(guān)系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。 知道了一個音符的頻率后,怎樣讓單片機(jī)發(fā)出相應(yīng)頻率的聲音呢?一般說來,常采用的方法就是通過單片機(jī)的定時器定時中斷,將單片機(jī)上對應(yīng)蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機(jī)發(fā)出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實現(xiàn)。那么怎樣確定一個頻率所對應(yīng)的定時器的定時值呢?以標(biāo)準(zhǔn)音高A為例: A的頻率f = 440 Hz,其對應(yīng)的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機(jī)上對應(yīng)蜂鳴器的I/O口來回取反的時間應(yīng)為:t = T/2 = 2272/2 = 1136μs這個時間t也就是單片機(jī)上定時器應(yīng)有的中斷觸發(fā)時間。一般情況下,單片機(jī)奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時器的予置初值由下式來確定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時器待確定的計數(shù)初值。因此定時器的高低計數(shù)器的初值為: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 將t=1136μs代入上面兩式(注意:計算時應(yīng)將時間和頻率的單位換算一致),即可求出標(biāo)準(zhǔn)音高A在單片機(jī)晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值為 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會看到這樣的表達(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的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當(dāng)以四分音符為節(jié)拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。可見,在單片機(jī)上控制一個音符唱多長可采用循環(huán)延時的方法來實現(xiàn)。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調(diào)用一次延時程序,如果它為八分音符,則只需調(diào)用二次延時程序,如果它為四分音符,則只需調(diào)用四次延時程序,依次類推。通過上面關(guān)于一個音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機(jī)上實現(xiàn)演奏音樂了。具體的實現(xiàn)方法為:將樂譜中的每個音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個音符的相關(guān)參數(shù)……,如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)拍參數(shù)為00H來表示。下面給出部分音符(三個八度音)的頻率以及以單片機(jī)晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(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
上傳時間: 2013-10-20
上傳用戶:哈哈haha
包括了新型70MHz帶通濾波器設(shè)計,40MHz帶通濾波器設(shè)計實例 凡是有能力對信號頻譜進(jìn)行處理的裝置都可以稱為濾波器。在通信設(shè)備和各類系統(tǒng)中,濾波器應(yīng)用極為廣泛,濾波器的優(yōu)劣直接決定產(chǎn)品的好壞,所以對濾波器的研究和生產(chǎn)一直備為關(guān)注。由于計算機(jī)技術(shù)、集成工藝和材料工業(yè)的發(fā)展,濾波器的發(fā)展也上了一個新臺階,并且朝高精度、低功耗、小體積方向發(fā)展。本文主要以中心頻率為70MHz 帶通濾波器為例,介紹如何采用Bessel函數(shù)[1]進(jìn)行帶通濾波器的設(shè)計,同時借助Pspice軟件[2,3]強(qiáng)大的電路仿真功能對濾波器的波特圖和群延遲進(jìn)行仿真,以觀測其效果。2 方案選擇帶通濾波器技術(shù)指標(biāo)要求:帶寬3dB 為4MHz,離中心頻率± 4MHz 處最小衰減為14dB。在整個通帶內(nèi)時延不變。雖然目前最常用的濾波器設(shè)計方法是巴特沃斯、切比雪夫、橢圓函數(shù)等幾種形式,但這些方法在設(shè)計70MHz 濾波器時,要通過變換以實現(xiàn)其帶通,并且它們所設(shè)計的濾波器的群延遲特性在通帶內(nèi)呈現(xiàn)凹形波形,故在實際使用(如在廣播,移動通信中的中頻濾波,二次濾波)中要進(jìn)行群延遲均衡,使設(shè)計步驟繁瑣且使濾波電路復(fù)雜。采用Bessel 函數(shù)設(shè)計的帶通濾設(shè)器具有最窄過渡帶;在通帶內(nèi)時延均衡,電路所用的階數(shù)最少;在實際的應(yīng)用中電路容易調(diào)整;由于所有的節(jié)點諧振在相同的頻率上,調(diào)諧比較簡單;從經(jīng)濟(jì)性和制造容易程度來考慮,電容耦合電路最合適,而用Bessel 函數(shù)設(shè)計的濾波器正是電容耦合電路,故采用Bessel 函數(shù)進(jìn)行濾波器的設(shè)計。
上傳時間: 2013-10-27
上傳用戶:bakdesec
在衛(wèi)星的地面測試中,地面模擬系統(tǒng)發(fā)送遙控遙測信號并接收衛(wèi)星的返回信號,將其下變頻到中頻進(jìn)行解調(diào),從而獲取衛(wèi)星工作狀態(tài)和運行環(huán)境,模擬其在軌運行工作情況。針對目前采用有源相控陣天線技術(shù)的衛(wèi)星地面測試,本文設(shè)計實現(xiàn)了一種DBF體制的地面模擬系統(tǒng)接收機(jī),該接收機(jī)采用超外差式二次變頻設(shè)計,具有高增益、低噪聲系數(shù)、低群時延波動、良好的通道間幅相一致性和穩(wěn)定性,同時集成度高,體積小,可制造性強(qiáng),能夠充分的滿足采用有源相控陣技術(shù)的衛(wèi)星地面測試要求。
標(biāo)簽: DBF 模擬系統(tǒng) 收機(jī)設(shè)計
上傳時間: 2013-11-11
上傳用戶:我累個乖乖
北微傳感公司針對液壓等工程機(jī)械平臺行業(yè)應(yīng)用而開發(fā)的高精度、高性能數(shù)字四向傾角開關(guān),四根信號線輸出分別控制四個方向,并且用戶可自行設(shè)定報警角度,當(dāng)超過安全傾角值時會輸出開關(guān)信號,關(guān)斷液壓系統(tǒng),也可驅(qū)動報警器,提示操作工人。產(chǎn)品設(shè)計精密,對溫度和線性度進(jìn)行了二次補(bǔ)償,并集成了短路、變壓、涌浪等全面保護(hù)功能,適合各種惡劣工業(yè)環(huán)境。在產(chǎn)品的可靠性與穩(wěn)定性上也采用工業(yè)級別MCU、三防PCB板、進(jìn)口電纜、寬溫磨紗金屬外殼等各種措施來提高產(chǎn)品的工業(yè)級別。
標(biāo)簽: SIS 140 數(shù)字 四向傾角開關(guān)
上傳時間: 2014-12-29
上傳用戶:rishian
無線感測器已變得越來越普及,短期內(nèi)其開發(fā)和部署數(shù)量將急遽增加。而無線通訊技術(shù)的突飛猛進(jìn),也使得智慧型網(wǎng)路中的無線感測器能夠緊密互連。此外,系統(tǒng)單晶片(SoC)的密度不斷提高,讓各式各樣的多功能、小尺寸無線感測器系統(tǒng)相繼問市。儘管如此,工程師仍面臨一個重大的挑戰(zhàn):即電源消耗。
上傳時間: 2013-10-30
上傳用戶:wojiaohs
為了在一定的溫度和壓力下有效改善傳感器的非線性及溫度變化引起的誤差輸出特性,提出了一種人工神經(jīng)網(wǎng)絡(luò)算法對其實現(xiàn)軟件補(bǔ)償. 它包含4 個權(quán)值的調(diào)整,分別代表輸出信號的一次項,二次項以及溫度的一次項,二次項系數(shù),經(jīng)過迭代以后獲得一個最佳輸出公式. 該公式既能夠滿足樣本值,也能夠滿足非樣本值,并最終可校驗神經(jīng)網(wǎng)絡(luò)迭代結(jié)果的正確性.
標(biāo)簽: 人工神經(jīng)網(wǎng)絡(luò) 壓力傳感器 溫度補(bǔ)償
上傳時間: 2013-11-05
上傳用戶:yuanwenjiao
提出一種新的組合優(yōu)化方法。先通過遺傳算法得到一個初步的優(yōu)化結(jié)果,再用直接搜索算法進(jìn)行二次優(yōu)化,這樣既突出了遺傳算法全局尋優(yōu)的特點,又避免了它在接近最優(yōu)解時出現(xiàn)的小幅度隨機(jī)波動。以低副瓣平
上傳時間: 2013-12-24
上傳用戶:李哈哈哈
隨著樂高NXT機(jī)器人系統(tǒng)在國內(nèi)中、小學(xué)的深入推廣,有必要對樂高NXT機(jī)器人系統(tǒng)的相關(guān)問題尤其是二次開發(fā)問題做進(jìn)一步深入探討、研究。利用樂高LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)的SDK文件FantomSDK,借助C++編程,結(jié)合LEGO MINDSTORMS NXT Bluetooth Developer Kit文件,代替NXT-G、RoboLab軟件,實現(xiàn)對樂高NXT設(shè)備的完全控制,為青少年、科技教師運用樂高NXT機(jī)器人系統(tǒng)進(jìn)行科技創(chuàng)新提供幫助與支持。
標(biāo)簽: NXT 機(jī)器人 程序設(shè)計
上傳時間: 2013-11-04
上傳用戶:jinyao
里面有正確的安裝方法和破解方法,本人安裝過很多次,都沒有出現(xiàn)問題.還有就是有些人第二次安裝時無法安裝,文檔里有二次安裝時的方法,百分百成功
上傳時間: 2013-10-30
上傳用戶:lps11188
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1