數(shù)字I/O腳有專用和復用。數(shù)字I/O腳的功能通過9個16位控制寄存器來控制。控制寄存器分為兩類:(1)I/O復用控制寄存器(MCRX),來選擇I/O腳是外設功能還是I/O功能。(2)數(shù)據(jù)方向控制寄存器(PXDATDIR):控制雙向I/O腳的數(shù)據(jù)和數(shù)據(jù)方向。注意:數(shù)字I/O腳是通過映射在數(shù)據(jù)空間的控制寄存器來控制的,與器件的I/O空間無任何關系。240X/240XA多達41只數(shù)字I/O腳,多數(shù)具有復用功能。
標簽: 數(shù)字
上傳時間: 2013-10-31
上傳用戶:qimingxing130
800A全自動STC單片機實驗開發(fā)板軟硬件說明:① 將下載編程通信線的DB9串行通信RS232插頭,插入PC機的RS232串行通信座,用以實現(xiàn)對STC單片機下載編程的通信。② 將下載編程通信線的USB插頭(與DB9串行通信RS232插頭線較短的一端,注意別搞錯,否則不能工作),插入PC機的USB通信座,用以實現(xiàn)對全自動STC單片機實驗開發(fā)板的供電。③ 將下載編程通信線的USB插頭(與DB9串行通信RS232插頭線較長的一端,注意別搞錯,否則不能工作),插入全自動STC單片機實驗開發(fā)板上的USB座,以實現(xiàn)對其下載編程的通信和供電。3. 所需軟件① 各類文本編輯器軟件,如Eidt,記事本等,編輯匯編語言源程序*.ASM;② 集成環(huán)境WAVE6000軟件:將匯編語言源程序編譯成*.hex文件(也可直接在此環(huán)境下編輯匯編語言源程序*.ASM);③ 官方提供的STC-ISP軟件(http//www.MCU-Memory.com):將匯編語言源程序編譯成的*.hex文件在線下載到STC單片機中。4. 使用說明4.1 WAVE6000軟件使用說明① 在“WAVE6000”目錄中的“BIN”子目錄下,雙擊右圖偉福標志執(zhí)行偉福軟件,若跳出“檢查電源……”的對話框,點擊“取消”,跳出如下畫面(下圖僅左上部分)。
上傳時間: 2013-11-10
上傳用戶:zuozuo1215
Keil uVision3下載:keil uvision3注冊機,keil uvision3中文版:Keil uVision3軟件破解版與沒破解版的區(qū)別就是一個沒有代碼限制,一個有2K代碼限制。附件含有手冊和教程。 1.點擊c51v802.exe直接安裝直到結束,安裝路徑最好選用默認的c:\keil與 原來的老板本放到相同的目錄下會自動添加一個新的目錄c:\keil\uv3 2.第一次運行請先進入file->License Management彈出窗口下輸入注冊碼, 注冊碼由Keil_lic_v2.exe生成,選擇V2選項,生成后復制LIC0內容到keil 彈出窗口的New License ID Code中然后點擊Add LIC,注意看看注冊后的使 用期限,如果太短可以用注冊機重新生成,一般都可以找到30年左右:-) 3.復制ccKeilVxx.exe文件到c:\keil\c51\bin\下面并運行,以修正0xFD BUG. 至此安裝完畢。
上傳時間: 2013-10-14
上傳用戶:ruixue198909
深入淺出AVR單片機思路清晰,以AVR單片機為載體,介紹了初學單片機所必須掌握的專業(yè)知識。書中語言嚴謹?shù)环τ哪L趣,配以大量的照片、圖示和實例程序,使讀者在愉悅中完成專業(yè)知識的學習,并培養(yǎng)了學習嵌入式系統(tǒng)的興趣。本書在講述AVR單片機的同時,更注重于對讀者學習和設計能力的啟發(fā)、培養(yǎng),幫助他們養(yǎng)成“從實踐中來,到實踐中去”的科學方法論,為進一步的學習創(chuàng)造了基礎。 本書講述淺顯、內容豐富、編排合理、實例詳盡。首先介紹了如何閱讀器件資料的方法,然后熟悉ICCAVR集成開發(fā)環(huán)境并搭建實驗開發(fā)裝置,接著從實際應用出發(fā),啟發(fā)式地介紹AVR單片機的常用資源和對應軟件方法,最后較為全面地補充了從事嵌入式系統(tǒng)開發(fā)要擴展的軟件知識。 第1篇 Are you ready? 第1章 學會閱讀Datasheet 1.1 如何閱讀PDF文件,如何獲得Datasheet文件 1.2 Datasheet告訴我們些什么 1.3 如何看懂AVR的Datasheet 1.4 如何得到幫助 1.5 匯編語言執(zhí)行時間的計算方法 1.6 ATmega48/88/168常用熔絲的作用及其配置方法 1.7 對誤燒寫為外部時鐘模式的解鎖方法 實例1 閱讀74HC595 Datasheet 第2章 深入開發(fā)環(huán)境 2.1 認識ICC編譯環(huán)境 2.2 事半功倍的代碼生成器 2.3 ICC之不得不說的故事 2.4 AVR最小系統(tǒng)和下載線DIY 實例2 AVR最小系統(tǒng)DIY第2篇 Let\'s go! 第3章 從跑馬燈開始 3.1 輸入/輸出界面 3.1.1 單片機的輸入/輸出設備——引腳 3.1.2 “芯”里有數(shù)——數(shù)碼管顯示 3.1.3 單片機的輸入/輸出設備——從按鍵到鍵盤 3.2 用ATmega48/88/168單片機端口驅動數(shù)碼管 3.3 操縱ATmega48/88/168單片機端口 3.4 端口內建上拉電阻的使用 3.5 端口位操作 實例3 跑馬燈 實例4 數(shù)碼管的顯示(上) 實例5 數(shù)碼管的顯示(下) 實例6 矩陣鍵盤 第4章 對不起接個電話 4.1 十萬火急——中斷 4.2 中斷的特性 4.3 使用中斷時的注意事項 4.4 ATmega48/88/168單片機有哪些中斷源 4.5 如何編寫一個中斷的服務程序代碼 4.6 ATmega48/88/168單片機中斷的開關控制 4.7 ATmega48/88/168中斷標志位 4.8 ATmega48/88/168中斷優(yōu)先級 4.9 ATmega48/88/168單片機中斷向量 4.10 中斷與查詢之爭 4.11 用查詢方式響應外設中斷 4.12 中斷誤觸發(fā) 4.13 前后臺與原子操作 實例7 中斷喚醒的鍵盤掃描 實例8 旋轉編碼器 第5章 一秒究竟有多長 5.1 單片機與時間 5.2 軟件延時 5.3 不需要加載的“自由計時器” 5.4 通過重加載控制定時中斷周期 5.5 使用代碼生成器生成定時器1初始化代碼 5.6 定時器的其他工作模式 5.7 PWM波及其應用簡介 5.8 人類能看懂的電子時鐘——實時時鐘簡介 實例9 閃爍的燈 實例10 漸明漸暗的燈 實例11 復雜閃爍控制 第6章 電量低 6.1 從猜數(shù)游戲到A/D轉換器 6.2 ATmega48/88/168的A/D轉換器 6.3 ATmega48/88/168單片機中與A/D相關的引腳 6.4 ATmega48/88/168單片機中與A/D相關的寄存器 6.5 使用A/D時需要注意些什么 6.6 怎樣知道A/D轉換完成 6.7 讀取A/D的轉換結果 6.8 使用代碼生成器生成ADC初始化代碼 6.9 書寫具有工程結構的初始化代碼 6.10 電量計原理概述 …… 第7章 正在過收費站 第8章 包裝的學問 第9章 傻孩子求職記 第10章 MISSION UPDATE第3篇 Code Name C 第11章 朝花夕拾 第12章 指針都是紙老虎 第13章 來自身邊的啟示 第14章 初識嵌入式系統(tǒng)
上傳時間: 2014-05-05
上傳用戶:佳期如夢
Keil C51編譯器用戶手冊 中文版:本手冊講述對8051 的目標環(huán)境,如何使用Cx51 優(yōu)化C 編譯器編譯C 程序Cx51 編譯器包,可以用在所有的8051 系列處理器上,可以在WINDOWS 32 位命令行中執(zhí)行本手冊,假定你熟悉WINDOWS 操作系統(tǒng),知道如何編程8051處理器,并會用C 語言編程注意本手冊用條件窗口來指明32 位WINDOWS 版本是WINDOWS95 WINDOWS98 WINDOWS ME WINDOWS NT WINDOWS 2000 或WINDWOS XP,如果你對C 編程有問題或者你想知道C 語言編程的更多信息,可參考16 頁的關于C語言的書手冊中討論的許多例子和描述是從WINDOWS 命令提示符下調用的這對在一個集成環(huán)境,如μVision2 中運行Cx51 的情況是不適用的本手冊中的例子是通用的可以應用到所有編程環(huán)境。
上傳時間: 2014-01-13
上傳用戶:hakim
多功能高集成外圍器件6. 1 多功能高集成外圍器件82371PCI的英文名稱:Peripheral Component Interconnect (外圍部件互聯(lián)PCI總線);82371是PCI總線組件。ISA是:Industry Standard Architecture(工業(yè)標準體系結構)IDE是 (Integrated Device Electronics)集成電路設備簡稱PIIX4PIIX4器件(芯片)的特點1、是一種支持Pentium和PentiumII微處理器的部件。2、82371對ISA橋來說,是一種多功能PCI總線。3、對可移動性和桌面深綠色環(huán)境均提供支持。4、電源管理邏輯。5、被集成化的IDE控制器。6、增強了性能的DMA控制器。(7)基于兩個82C59的中斷控制器。(8)基于82C54芯片的定時器。(9)USB(Universal Serial Bus)通用串行總線。(10)SMBus系統(tǒng)管理總線。(11)實時時鐘(12)順應Microsoft Win95所需的功能其芯片的邏輯框圖如圖6-1所示。 PIIX4芯片邏輯框圖6.1.1 概述PIIX4芯片是一個多功能的PCI器件,圖6-2 是82371在系統(tǒng)中扮演的角色。(續(xù)上圖)1. PCI與EIO之間的橋(PIIX4芯片)橋是不對程的,是各類不同標準總線與PCI總線連接,82371AB橋也可理解為一種總線轉換譯碼器和控制器,橋內包含復雜的協(xié)議總線信號和緩沖器。(1).在PCI系統(tǒng)內,當PIIX4操作時,它總是作為系統(tǒng)內各種模塊的主控設備,如USB和DMA控制器、IDE總線和分布式DMA的主控設備等,而且總是以ISA主控設備的名義出現(xiàn)。(2). 在向ISA總線或IDE總線進行傳送操作的傳送周期期間作為從屬設備使用,并對內部寄存器譯碼。PIIX4芯片(橋)的配置(1).可以把PIIX4芯片配置成整個ISA總線,或ISA總線的子集,也可擴展成EIO總線。在使用EIO總線時,可以把未使用的信號配置成通用的輸入和輸出。(2).PIIX4可直接驅動5個ISA插槽;(3).能提供字節(jié)-交換邏輯、I/O的恢復支持、等待狀態(tài)的生成以及SYSCLK的生成。(4).提供X-BUS鍵盤控制器芯片、BIOS芯片、實時時鐘芯片、二級微程序器等的選擇。2. IDE接口(總線主控設備的權利和同步DMA方式)IDE接口為4個IDE的設備提供支持,比如IDE接口的硬盤和CD-ROM等。注意:目前硬盤接口有5類:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口幾乎在PC機最多,因為便宜。SCSI多用于服務器和集群機。IDE的PIO IDE速率:14MB/s;而總線主控設備IDE的速率:33MB/s在PIIX4芯片的IDE系統(tǒng)內,配有兩個各次獨立的IDE信號通道。3. 具有兼容性的模塊—DMA、定時器/計數(shù)器、中斷控制器等(1)在PIIX4內的兩各82C37 DMA控制器經(jīng)邏輯的組合,產(chǎn)生7個獨立的可編程通道。通道[0:3]是通過與8個二進位的硬件連線實現(xiàn)的。通過以字節(jié)為單位的計數(shù)進行傳送。而通道[5:7]是通過16個二進位的連線實現(xiàn)的,以字為單位的計數(shù)進行傳送。(2)DMA控制器還能通過PCI總線,處理舊的DMA的兩個不同的方法提供支持。(3)計數(shù)/定時器模塊在功能上與82C54等價。(4)中斷控制器與ISA兼容,其功能是兩個82C59的功能之和。
上傳時間: 2013-11-19
上傳用戶:3到15
用單片機制作多功能莫爾斯碼電路:用單片機制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現(xiàn)代通信方式所取代,但在業(yè)余無線電通信和特殊的專業(yè)場合仍具有重要的地位,這是因為等幅電碼通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進行國際間的通信,收發(fā)射設備簡單易制成本低廉,所以深受業(yè)余無線電愛好者的喜愛,是業(yè)余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發(fā)技術除了持之以恒的毅力外,還需要相關的設備。設計本電路的目的就是給愛好者提供一個實用和訓練的工具。 一、功能簡介 本電路可以配合自動鍵體和手動鍵體,產(chǎn)生莫爾斯碼控制信號,設有16種速度,從初學者到操作高手都能適用。監(jiān)聽音調也有16種,均可以通過功能鍵進行選擇。可以按程序中設定好的呼號自動呼叫,設有聽抄練習功能,聽抄練習有短碼和混合碼兩種模式,分別對10個數(shù)字和常用的38個混合碼模擬隨機取樣,產(chǎn)生分組報碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習是專為初學者所設,內容是時間間隔較長的單字符。設有PTT開關鍵,可以決定是否控制發(fā)射機工作,不需要反復通斷控制線。無論當前處于呼叫狀態(tài)還是聽抄狀態(tài)只要電鍵接點接通則自動轉到人工發(fā)報程序。4分鐘內不使用電路將自動關閉電源,只有按復位鍵才能重新開始工作。先按住聽抄練習鍵復位則進入短碼練習狀態(tài),其它功能不變。從開機到自動關機執(zhí)行每個功能都有不同的莫爾斯碼提示音。本電路具有較強的抗高低頻干擾的能力和使用方便的大電流開關接口,以適應不同的發(fā)射設備。 二、硬件電路原理硬件電路如圖1所示。設計電路的目的在于方便實用,以免在緊張的操作中失誤,所以除了聽抄練習鍵外其它鍵沒有定義復用功能。各鍵的作用在圖中已經(jīng)標出。PTT控制在每次復位時處于關閉狀態(tài),每按動一次PTT功能鍵則改變一次狀態(tài),這樣可以使用軟件開關控制發(fā)射。 PTT處于控制狀態(tài)時發(fā)光二極管隨控制信號閃亮。考慮到自制設備及淘汰軍用設備與高檔設備控制電流的不同,PTT開關管采用了2SC2073,可以承受500mA的電流,同時還增加了無極性PTT開關電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實驗。應該注意,如果被控制的負載是感性,則電感兩端必須并聯(lián)續(xù)流二極管,除自制設備外成品機在這方面一般沒有什么問題。手動鍵只有一個接點,接通后產(chǎn)生連續(xù)的音頻和發(fā)射控制信號。在本電路中手動鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當按鍵按下時P1.5電平為0,程序轉入手動鍵子程序。 自動鍵的接點分別接到P1.3和P1.4 ,同樣當程序檢測到有接點閉合時便自動產(chǎn)生“點”或“劃”。音頻信號從P輸出,經(jīng)VT1放大后推動揚聲器發(fā)音。單片機的I/O口在輸入狀態(tài)下阻抗較高,容易受到高低頻信號干擾,所以在每個輸入端口和三極管的be端并聯(lián)電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發(fā)射時電路工作穩(wěn)定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚聲器用粘合劑直接粘接在電路版有銅箔的面。 三、軟件設計方法 “點”時間長度是莫爾斯電碼中的基本時間單位。按規(guī)定“劃”的時間長度不小于三個“點”,同字符中“點”與“劃”的間隔不小于一個“點”,字符之間不小于一個“劃”,詞與詞之間不應小于五個“點”。在本程序中用條件轉移指令來產(chǎn)生“點”時間長度。通過速度功能鍵功可以設置16種延時參數(shù)。用T0中斷產(chǎn)生監(jiān)聽音頻信號,并將中斷設為優(yōu)先級,保證在聽覺上純正悅耳。T1用于自動關機計時,如果不使用任何功能四分鐘后將向PCON 位寫1,單片機進入休眠狀態(tài),此時耗電量僅有幾個微安。自動鍵的“點”或“劃”以及手動鍵的連續(xù)發(fā)音都是子程序的反復調用。P1.2對地短接時自動呼叫可設定為另一內容。為了便于熟悉匯編語言的讀者對發(fā)音內容進行修改,這里介紹發(fā)音字符的編碼方法。莫爾斯碼的信息與計算機中二進制恰好相同,我們可以用0表示“點”,用1表示“劃”。提示音、自動呼叫、聽抄內容等字符是預先按一定編碼方式存儲在程序中的常數(shù)。每個字符的莫爾斯碼一般是由1至6位“點”、“劃”組成,也就是發(fā)音次數(shù)最多6次。程序中每個字符占用1個字節(jié),字符時間間隔不占用字節(jié),但更長的延時或發(fā)音結束信息占用一個字節(jié)。我們用字節(jié)的低三位表示字節(jié)的性質,對于5次及5次以下發(fā)音的字符我們用存儲器的高5位存儲發(fā)音信息,發(fā)音順序由高位至低位,用低3位存儲發(fā)音次數(shù),發(fā)音時將數(shù)據(jù)送入累加器A,先得到發(fā)音次數(shù),然后使A左環(huán)移,對E0進行位尋址,判斷是發(fā)“點”還是“劃”,環(huán)移次數(shù)由發(fā)音次數(shù)決定。對于6次發(fā)音的字符不能完全按照上述編碼規(guī)則,否則會出現(xiàn)信息重疊,如果是6次發(fā)音且最后一次是“劃”我們把發(fā)音次數(shù)定義為111B,因為這時第6次位尋址得到的是1。如果第6次發(fā)音是“點”,那么這個字符的低三位定義為000B。字符間隔時間由程序自動產(chǎn)生,更長的時間隔或結束標志由字節(jié)低三位110B來定義,高半字節(jié)表示字符間隔的倍數(shù),例如26H表示再加兩倍時間間隔。如果字節(jié)為06H則表示讀字符程序結束,返回主程序。更詳細的內容不再贅述,讀者可閱讀源程序。四、使用注意事項手動鍵的操作難度相對大一些,時間節(jié)拍全由人掌握,其特點是發(fā)出的電碼帶有“人情味”。自動鍵的“點”、“劃”靠電路產(chǎn)生,發(fā)音標準,容易操作,而且可以達到相當快的速度,長時間工作也不易疲勞。在干擾較大、信號微弱的條件下自動鍵碼的辨別程度好于手動鍵碼。初學者初次使用手動鍵練習發(fā)報要有老師指導,且不可我行我素,一旦養(yǎng)成不正確的手法則很難糾正。在電臺上時常聽到一些讓對方難以抄收的電碼,這可能會使對方反感而拒絕回答。使用自動鍵也應在一定的聽抄基礎上再去練習。在暫時找不老師的情況下可多練習聽力,這對于今后能夠發(fā)出標準正確的電碼非常有益。
上傳時間: 2013-10-31
上傳用戶:sdq_123
單片機音樂中音調和節(jié)拍的確定方法:調號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有12個半音。A、B、C、D、E、F、G。經(jīng)過聲學家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標準的音高為每秒鐘振動440周。 升C調:1=#C,也就是降D調:1=BD;277(頻率)升D調:1=#D,也就是降E調:1=BE;311升F調:1=#F,也就是降G調:1=BG;369升G調:1=#G,也就是降A調:1=BA;415升A調:1=#A,也就是降B調: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,就是說,這首歌曲的“導”要唱得同A一樣高,人們也把這首歌曲叫做A調歌曲,或叫“唱A調”。1=C,就是說,這首歌曲的“導”要唱得同C一樣高,或者說“這歌曲唱C調”。同樣是“導”,不同的調唱起來的高低是不一樣的。各調的對應的標準頻率為: 單片機演奏音樂時音調和節(jié)拍的確定方法 經(jīng)常看到一些剛學單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調”和“節(jié)拍”。音調表示一個音符唱多高的頻率,節(jié)拍表示一個音符唱多長的時間。 在音樂中所謂“音調”,其實就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標準音高,其頻率f=440Hz。當兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學中稱它相差一個八度音。在一個八度音內,有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ù)關系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調的頻率,我們就可根據(jù)倍頻程的關系得到其他音符基本音調的頻率。 知道了一個音符的頻率后,怎樣讓單片機發(fā)出相應頻率的聲音呢?一般說來,常采用的方法就是通過單片機的定時器定時中斷,將單片機上對應蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機發(fā)出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實現(xiàn)。那么怎樣確定一個頻率所對應的定時器的定時值呢?以標準音高A為例: A的頻率f = 440 Hz,其對應的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機上對應蜂鳴器的I/O口來回取反的時間應為:t = T/2 = 2272/2 = 1136μs這個時間t也就是單片機上定時器應有的中斷觸發(fā)時間。一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數(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代入上面兩式(注意:計算時應將時間和頻率的單位換算一致),即可求出標準音高A在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值為 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調相應的計數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會看到這樣的表達式,如1=C 、1=G …… 等等,這里1=C,1=G表示樂譜的曲調,和我們前面所談的音調有很大的關聯(lián), 、 就是用來表示節(jié)拍的。以 為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小結有三拍。比如: 其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當以四分音符為節(jié)拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。可見,在單片機上控制一個音符唱多長可采用循環(huán)延時的方法來實現(xiàn)。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調用一次延時程序,如果它為八分音符,則只需調用二次延時程序,如果它為四分音符,則只需調用四次延時程序,依次類推。通過上面關于一個音符音調和節(jié)拍的確定方法,我們就可以在單片機上實現(xiàn)演奏音樂了。具體的實現(xiàn)方法為:將樂譜中的每個音符的音調及節(jié)拍變換成相應的音調參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個音符的相關參數(shù),播放該音符,該音符唱完后,接著取出下一個音符的相關參數(shù)……,如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調參數(shù)設為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結束用節(jié)拍參數(shù)為00H來表示。下面給出部分音符(三個八度音)的頻率以及以單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值 : C調音符 頻率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調音符 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調音符 頻率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
51單片機工程師實例設計程序集-(20種常見應用整編) \7290\ ;ZLG7290例程*\7290a\ ;ZLG7290匯編例程*\bell\ ;蜂鳴器音樂例程*\buzz\ ;蜂鳴器響例程*\eeprom\ ;讀EEPROM并顯示例程*\ex26a_lcd\ ;16×2LCD模塊例程*\ex36a_lcm\ ;128×64點陣LCD模塊例程*\KEY_IO\ ;直連KEY和LED例程\led_light\ ;直連LED例程*\lin_park\ ;lin模塊的原碼及例程。\lin\ ;LIN總線例程\rs232\ ;RS232例程(包括PC端和書上了串口例程)\USB1.1\ ;USB1.1例程(包括PC端)\RS485\ ;RS485例程\USB2.0\ ;USB2.0例程(有3個,包括PC端)\TCPIP\ ;基于ETHERNET的TCPIP例程\RTC\ ;時鐘顯示例程\CAN_SELF\ ;CAN自發(fā)自收例程 外中斷1\CAN\ ;CAN例程\USBPACK 2.0\ ;USB2.0PC例程 注意:帶*程序為MON51調試程序。在MON時程序下載后停不下來,可以按一下RSE按鈕復位一下。
上傳時間: 2013-10-13
上傳用戶:雨出驚人love
基于P87 C591的CAN總線系統(tǒng)智能節(jié)點設計Design of CAN System Intelligent Node Based on P87C591 給出了基于帶CAN控制器的單片8位微控制器P87C591的智能節(jié)點的硬件電路及軟件結構,詳細介紹了設計中的難點及實現(xiàn)過程中應注意的問題。關鍵詞:CAN總線;智能節(jié)點 Abstract:A h ardc ircuita nds oftw arec onfigurationo fth ei ntelligentnode based on a microcontroller with CAN controller P87C591 arepresented.E speciallyt hec ruxi nd esigninga ndt hep roblemst hatshould be paid attention in realizing are discussed in details.Keyw ords:C AN;in telligentn ode CA N 總線 是德國Bosch從20世紀80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維。由于CAN總線具有較強的糾錯能力,支持差分收發(fā),因而適合高噪聲環(huán)境。并具有較遠的傳輸距離,適用于許多領域的分布式測控系統(tǒng)。目前已在工業(yè)自動化、建筑物環(huán)境控制、醫(yī)療設備等許多領域得到廣泛的應用。CAN已成為國際標準化組織IS011898標準。
標簽: P87C591 CAN 總線系統(tǒng) 智能節(jié)點
上傳時間: 2013-10-30
上傳用戶:xymbian