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

正文內(nèi)容

基于單片機(jī)的自動音樂播放器的設(shè)計(jì)(編輯修改稿)

2024-07-24 19:55 本頁面
 

【文章內(nèi)容簡介】 如下方法編寫: (1)將音符代碼裝入8位字節(jié)高4位,節(jié)拍代碼裝入低4位,組成一個(gè)字節(jié),以此類推。將整段樂曲轉(zhuǎn)換成一定長度的編碼表。具體編程方法如下: ,定義toneh[]和tonel[]兩個(gè)數(shù)組,將各個(gè)音樂頻率的定時(shí)器初值的16進(jìn)制數(shù)的高8位裝入toneh[],低8位裝入tonel[]。 ,將toneh[]和tonel[]的數(shù)據(jù)分別裝入TH0和TL0,并且。 void timer0(void) interrupt 1 using 1 { P1_0=!P1_0。 TH0=toneh[rti]。 TL0=tonel[rti]。 } ,將上文所述的定時(shí)器初值裝入定時(shí)器1。 void timer1(void) interrupt 3 using 2 { TH1=0x0c。 TL1=0xdc。 m++。 } (2)在程序執(zhí)行時(shí)順序查此表,取出音符代碼,查頻率表,置入T/C口,取出節(jié)拍代碼,供定時(shí)器使用,啟動后即可發(fā)出聲音。 音頻轉(zhuǎn)換流程圖 設(shè)計(jì)的軟件流程如圖22所示。程序開始運(yùn)行時(shí)先對單片機(jī)進(jìn)行初始化,其中包括定時(shí)器及其工作方式的選擇、外部中斷設(shè)定、定時(shí)器初值的設(shè)定。利用單片機(jī),通過軟件的方式產(chǎn)生所需要的音樂頻率,并將收到的信號與音頻編碼表進(jìn)行對比。若信號在編碼表中,則將該頻率的定時(shí)器初值寫入定時(shí)器中,并讀取頻率的音階,經(jīng)過音頻放大器驅(qū)動喇叭發(fā)出聲音,利用驅(qū)動喇叭演示程序即可控制音樂的節(jié)拍。若信號不在編碼表中,則返到初始化。 時(shí)間顯示程序設(shè)計(jì) 對于時(shí)間程序的設(shè)計(jì),主要依靠單片機(jī)內(nèi)部定時(shí)器的計(jì)數(shù)功能實(shí)現(xiàn)。時(shí)鐘由秒針、分針和時(shí)針組成,在程序中分別由sdata,mdata,hdata表示各單位的數(shù)據(jù)。首先對sdata,mdata,hdata分別設(shè)定一個(gè)初值,其中sdata設(shè)為0,表示秒針初始為0。然后利用定時(shí)器對秒針計(jì)數(shù),當(dāng)計(jì)數(shù)值達(dá)到1秒的時(shí)間后產(chǎn)生定時(shí)器中斷,sdata的數(shù)據(jù)就加1。由于本次設(shè)計(jì)采用的晶振頻率為6MHz,所以定時(shí)器取值為2500。將hdata的數(shù)據(jù)裝入第一和第二個(gè)數(shù)碼管,將mdata的數(shù)據(jù)裝入第三和第四個(gè)數(shù)碼管。當(dāng)sdata的數(shù)據(jù)為59時(shí),若此時(shí)再來一個(gè)定時(shí)器中斷,則秒針重新歸零,而分針就加1。同樣,分針和時(shí)針的進(jìn)位也是同一道理。 當(dāng)設(shè)定的鬧鐘時(shí)間一到,程序即轉(zhuǎn)入音頻程序,驅(qū)動喇叭放出音樂。 時(shí)鐘程序流程圖 時(shí)鐘程序流程圖如圖23所示。(應(yīng)有簡單的文字?jǐn)⑹龌蚪忉專? 硬件電路的設(shè)計(jì) 設(shè)計(jì)的硬件流程模塊如圖31所示。首先,PC機(jī)通過串口及MAX232芯片將程序下載到單片機(jī)中,其中包括把一個(gè)個(gè)的單音寫入單片機(jī)的ROM存儲器中,程序運(yùn)行時(shí)再將音樂數(shù)據(jù)按順序讀出,利用單片機(jī)的定時(shí)器中斷控制音樂節(jié)拍的長度,這樣就能形成一段樂曲。,將單片機(jī)輸出的信號放大,再通過喇叭播放音樂。單片機(jī)P2口接4位共陰LED數(shù)碼管,并外接1K歐的排阻,利用單片機(jī)內(nèi)部的定時(shí)器中斷控制時(shí)間程序,然后在數(shù)碼管上顯示出時(shí)間。 模塊電路的設(shè)計(jì) 89C58RD+型單片機(jī)介紹 89C58RD+是一種帶32KB閃爍可編程/可擦除制度存儲器(EPEROMFlash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS的8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS51的指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,因而ATMEL的89C58RD+是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。并且,比起跟它同種類型的89C51,它具有更大的Flash存儲器,可下載很大容量的程序代碼,因此功能更加強(qiáng)大,應(yīng)用范圍更廣泛。 89C58RD+有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,9個(gè)中斷源,內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,可編程UART串行通信口,SPI串行口,89C 58RD+可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。89C58RD+有PDIP、TQFP及PLCC等三種封裝形式,以適應(yīng)不同應(yīng)用系統(tǒng)的需求。 89C58RD+管腳如圖32所示,其中 時(shí)鐘引腳 XTAL1:接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號,即把此信號直接接到內(nèi)部時(shí)鐘發(fā)聲器的輸入端。 XTAL2:接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成內(nèi)部振蕩器的反相放大器的輸出端。當(dāng)采用外部振蕩器時(shí),此引腳應(yīng)懸浮不連接。 注意:如果采用片內(nèi)的振蕩電路,要在單片機(jī)的引腳XTAL1和XTAL2之間連接一個(gè)石英晶體或陶瓷諧振器,并接兩個(gè)電容到地。 控制線或其他電源的復(fù)位引腳 RST:復(fù)位輸入端。 ALE/:當(dāng)訪問外部寄存器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在Flash編程期間,此管腳用于輸入編程脈沖。在平時(shí),ALE以不變的頻率周期輸出正脈沖信號,次頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如果禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行外部執(zhí)行狀態(tài)ALE禁止,置位無效。 :外部程序存儲器的選通信號。在有外部程序存儲器取指令期間,每個(gè)機(jī)器周期兩次有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的信號將不出現(xiàn)。 /Vpp:當(dāng)保持低電平時(shí),則在此期間訪問外部程序存儲器(0000HFFFFH),不管是否有內(nèi)部程序存儲器。注意要加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)斷保持高電平時(shí),此間訪問內(nèi)部程序存儲器。在Flash編程期間,此管腳也用于施加12V編程電源(Vpp)。 輸入/輸出引腳 P0口:P0口為一個(gè)8位漏極開路雙向I/O口,每腳可吸收8個(gè)TTL門電流。當(dāng)P1口的管腳第一次寫“1”時(shí),被定義為高阻輸入。P0口能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在Flash編程時(shí),P0口作為原碼輸入口,當(dāng)Flash進(jìn)行校驗(yàn)時(shí),P0口輸出原碼,此時(shí),P0口外部必須被拉高。 P1口:P1口為一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O,P1口緩沖器能接收輸出4個(gè)TTL門電流。P1口管腳寫入“1”后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在Flash編程和校驗(yàn)時(shí),P1口為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高。且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉底,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部8位地址數(shù)據(jù)校驗(yàn)時(shí),P2口輸出其特殊功能起存器的內(nèi)容。P2口在Flash編程和校驗(yàn)時(shí),接收高8位地址信號和控制信號。 P3口:P3口為一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1