可存儲(chǔ)式電子琴_第1頁(yè)
可存儲(chǔ)式電子琴_第2頁(yè)
可存儲(chǔ)式電子琴_第3頁(yè)
可存儲(chǔ)式電子琴_第4頁(yè)
可存儲(chǔ)式電子琴_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

課程設(shè)計(jì)可存儲(chǔ)式電子琴系統(tǒng)設(shè)計(jì)學(xué)生姓名李真,謝偉志,武光霞,孫宏杰,鄭悅,周錦波,學(xué)號(hào)200723502147所在專(zhuān)業(yè)機(jī)械設(shè)計(jì)制造及其自動(dòng)化所在班級(jí)機(jī)071-6指導(dǎo)教師劉鵬負(fù)責(zé)內(nèi)容同組人員可存儲(chǔ)式電子琴一、任務(wù)書(shū)本設(shè)計(jì)利用8051單片機(jī)的控制程序結(jié)合LCD設(shè)計(jì)一臺(tái)數(shù)字式可存儲(chǔ)是電子琴?;竟δ転椋菏褂肔CD顯示器來(lái)顯示音節(jié)輸入的相關(guān)信息;當(dāng)按下鍵盤(pán)組相對(duì)按鍵,壓電喇叭會(huì)發(fā)出相對(duì)音節(jié)單音,共有兩個(gè)八度音階;所有單音會(huì)存入8051內(nèi)而保存起來(lái);至多可以輸入64個(gè)單音,可以一起演奏出來(lái);演奏時(shí)可以按鍵中斷;可以實(shí)時(shí)顯示目前正演奏的單音碼.二、原理說(shuō)明A8051單片機(jī)介紹2.1基本特性8051單片機(jī)主要功能特點(diǎn)如下:8位CPU;片內(nèi)128BRAM片內(nèi)4KBROM/EPROM;特殊功能寄存器區(qū)2個(gè)優(yōu)先級(jí)的5個(gè)中斷源結(jié)構(gòu);4個(gè)8位并行I/O口(P0、P1、P2、P3)2個(gè)16位定時(shí)/計(jì)數(shù)器(MCS-52子系列為3個(gè));全雙工串行口布爾處理器;64KB外部數(shù)據(jù)存儲(chǔ)器地址空間64KB外部程序存儲(chǔ)器地址空間;片內(nèi)振蕩器及時(shí)鐘電路8051片內(nèi)程序存儲(chǔ)器為掩膜ROM,可根據(jù)特殊要求和用途在制造芯片是將專(zhuān)用程序固化進(jìn)去,成為專(zhuān)用單片機(jī)。引腳功能MCS-51系列單片機(jī)大多都采用40條引腳雙列直插式器件,引腳除+5V(VCC40腳)和電源地(VSS20引腳)外,按其功能主要由以下三大部分組成。右圖為為8051的引腳圖。2.2時(shí)鐘電路XTAL1(19腳)——芯片內(nèi)部振蕩電路(單極反相放大器)輸入端。TAL2(18腳)——芯片內(nèi)部振蕩電路(單極反相放大器)輸出端。MCS-51的時(shí)鐘可由內(nèi)部方式或外部方式產(chǎn)生。2.3控制信號(hào)2.3.1RST/VPD(9腳)復(fù)位信號(hào)時(shí)鐘電路工作后,在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平,芯片內(nèi)部進(jìn)行初始復(fù)位,復(fù)位后片內(nèi)寄存器狀態(tài)如下表所示。復(fù)位后內(nèi)部寄存器狀態(tài)復(fù)位后內(nèi)部寄存器狀態(tài)寄存器內(nèi)容寄存器內(nèi)容PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P30FFHSCON00HIP×××00000SBUF不定IE0××00000PCON0×××0000P0~P3口輸出高電平,初值07H寫(xiě)入堆棧指針SP、清0程序計(jì)數(shù)器PC和其余特殊功能寄存器。但初始復(fù)位不影響片內(nèi)RAM狀態(tài),只要該引腳保持高電平,MCS-51將循環(huán)復(fù)位。RST/VPD從高電平變成低電平時(shí),單片機(jī)將從0號(hào)單元開(kāi)始執(zhí)行程序。另外該引腳還具有復(fù)用功能。只要將VPD接+5v電源,一旦VCC電位突然或斷電,能保護(hù)片內(nèi)RAM中的信息不會(huì)丟失,復(fù)電后能正常工作。2.3.2ALE/(30引腳)地址鎖存信號(hào)當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),P0口輸出的低八位地址由ALE輸出的控制信號(hào)鎖存到片外地址鎖存器,P0口輸出地址低八位后,又能與片外地址/數(shù)據(jù)復(fù)用口,那么P0口上的信息究竟時(shí)地址還是數(shù)據(jù)完全又ALE來(lái)定義,ALE高電平期間,P0口上一般出現(xiàn)地址信息,在ALE下降沿是,將P0口上地址信息鎖存到片外地址鎖存器,在ALE低電平期間P0口上一般出現(xiàn)指令和數(shù)據(jù)信息。平時(shí)不訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),該端也以六分之一的時(shí)鐘頻率固定輸出正脈沖。因而亦可作系統(tǒng)其它芯片的時(shí)鐘源。ALE可驅(qū)動(dòng)8個(gè)TTL門(mén)。2.3.3(29腳)片外程序存儲(chǔ)器讀選通低電平有效,8051訪(fǎng)問(wèn)片外程序存儲(chǔ)器時(shí),程序計(jì)數(shù)器PC通過(guò)P2口和P0口輸出十六位指令地址,作為程序存儲(chǔ)器讀信號(hào),輸出負(fù)脈沖將相應(yīng)存儲(chǔ)單元的指令讀出并送到P0口上,供8051執(zhí)行。同樣可驅(qū)動(dòng)8個(gè)TTL門(mén)輸入。2.3.4/VPP(31腳)內(nèi)部和外部程序存儲(chǔ)器選擇信號(hào)對(duì)于8051來(lái)說(shuō),內(nèi)部有4K字節(jié)的程序存儲(chǔ)器,當(dāng)為高時(shí),CPU訪(fǎng)問(wèn)程序存儲(chǔ)器有兩種情況:a、地址小于4K時(shí)訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器。b、地址大于4K時(shí)訪(fǎng)問(wèn)外部程序存儲(chǔ)器。若接地,則不使用內(nèi)部程序存儲(chǔ)器,不管地址大小,取指時(shí)總是訪(fǎng)問(wèn)外部程序存儲(chǔ)器。對(duì)于EPROM型的單片機(jī),在EPROM編程時(shí),此引腳用于施加21伏編程電壓VPP。2.4I/O口8051單片機(jī)有4個(gè)雙向8位I/O口P0~P3,P0口為三態(tài)雙向口,負(fù)載能力為8個(gè)LSTTL門(mén)電路,P1~P3為準(zhǔn)雙向口(用作輸入時(shí),口鎖存器必須先寫(xiě)“1”),負(fù)載能力為4個(gè)LSTTL門(mén)電路。8051定時(shí)/計(jì)數(shù)器一般單片機(jī)內(nèi)部都設(shè)有定時(shí)/計(jì)數(shù)器,因?yàn)橛械臏y(cè)控系統(tǒng)是按時(shí)間間隔定時(shí)控制的,如定時(shí)對(duì)物理過(guò)程(如溫度)的采樣測(cè)量等,雖然可以通過(guò)延時(shí)程序?qū)崿F(xiàn)定時(shí),但這會(huì)降低CPU的工作效率。如果能利用一個(gè)可編程的實(shí)時(shí)時(shí)鐘獲得延時(shí)定時(shí),就可以提高CPU的工作效率。另外,也有一些測(cè)控系統(tǒng)時(shí)根據(jù)外部信號(hào)的計(jì)數(shù)結(jié)果來(lái)實(shí)現(xiàn)控制的,必須對(duì)外部隨機(jī)時(shí)間(往往為脈沖信號(hào))進(jìn)行計(jì)數(shù)。因此,單片機(jī)內(nèi)部一般都設(shè)置可變成的定時(shí)/計(jì)數(shù)器,以簡(jiǎn)化系統(tǒng)設(shè)計(jì),提高系統(tǒng)功能。所謂可編程就是指可通過(guò)指令來(lái)確定或改變其工作方式,應(yīng)包括以下幾個(gè)方面[5]:(1)確定其工作方式是定時(shí)還是計(jì)數(shù);(2)預(yù)置定時(shí)或計(jì)數(shù)初值;(3)當(dāng)定時(shí)時(shí)間到或家戶(hù)終止時(shí),要不要發(fā)中斷請(qǐng)求;(4)如何啟動(dòng)定時(shí)或計(jì)數(shù)器工作。2.5.1定時(shí)/計(jì)數(shù)器結(jié)構(gòu)與工作原理定時(shí)/計(jì)數(shù)器邏輯結(jié)構(gòu)從圖1-2(定時(shí)/計(jì)數(shù)器邏輯結(jié)構(gòu)圖)可以看出,2個(gè)16位定時(shí)/計(jì)數(shù)器T0和T1,分別由8位計(jì)數(shù)器TH0、TL0和TH1、TL1構(gòu)成,他們都是以加“1”的方式完成計(jì)數(shù)。特殊功能寄存器TMOD控制定時(shí)/計(jì)數(shù)器的工作方式,TCON控制定時(shí)/計(jì)數(shù)器的啟動(dòng)運(yùn)行并記錄T0、T1的溢出標(biāo)志。通過(guò)對(duì)TH0、TL0和TH1、TL1的初始化編程可以預(yù)置T0、T1的計(jì)數(shù)初值。通過(guò)對(duì)TMOD和TCON的初始化編程可以分別置入方式字和控制字,以指定其工作方式并控制T0、T1按規(guī)定的工作方式計(jì)數(shù)。定時(shí)/計(jì)數(shù)器邏輯結(jié)構(gòu)工作方式工作方式工作方式啟動(dòng)溢出啟動(dòng)溢出內(nèi)總線(xiàn)(8AH)H(8CH)H(8BH)CPUTL1(8位)TH0(8位)TL0(8位)TCON(88H)TMOD(89H)(8DH)HTH1(8位)T0(P3.4)T1(P3.5)T1T0工作原理a、定時(shí)器當(dāng)設(shè)置為定時(shí)器工作方式時(shí),計(jì)數(shù)輸入信號(hào)來(lái)自?xún)?nèi)部振蕩信號(hào),在每個(gè)機(jī)器周期內(nèi)定時(shí)器的計(jì)數(shù)器做一次“+1”運(yùn)算。因此定時(shí)器亦可視為計(jì)算機(jī)機(jī)器周期的計(jì)數(shù)器。而每個(gè)機(jī)器周期又等于12個(gè)振蕩脈沖,故定時(shí)器的計(jì)數(shù)速率為振蕩頻率的(即12分頻)。若單片機(jī)的晶振主頻為12MHz,則計(jì)數(shù)周期為。如果定時(shí)器的計(jì)數(shù)器“+1”產(chǎn)生溢出,則標(biāo)志著定時(shí)時(shí)間到。b、計(jì)數(shù)器計(jì)數(shù)器計(jì)數(shù)脈沖的基本要求>T>TT1當(dāng)設(shè)置為計(jì)數(shù)器工作方式時(shí),計(jì)數(shù)輸入信號(hào)來(lái)自外部引腳T0(P3.4)、T1(P3.5)上的計(jì)數(shù)脈沖,外部每輸入一個(gè)脈沖,計(jì)數(shù)器TH0、TL0(或TH1、TL1)做一次“+1”計(jì)數(shù)器計(jì)數(shù)脈沖的基本要求>T>TT1T為機(jī)器周期。不管時(shí)定時(shí)還是計(jì)數(shù)工作方式,定時(shí)器T0或T1再對(duì)內(nèi)部時(shí)鐘或外部脈沖計(jì)數(shù)時(shí),不占用CPU的時(shí)間,除非產(chǎn)生溢出才可能中斷CPU的當(dāng)前操作。由此可見(jiàn),定時(shí)/計(jì)數(shù)器是單片機(jī)內(nèi)部效率高且工作靈活的部件。另外,每個(gè)定時(shí)/計(jì)數(shù)器還有四種工作方式,即有四種邏輯結(jié)構(gòu)模式。其中工作方式0~2對(duì)T0和T1都是一樣的,而方式3對(duì)兩者是不同的[。2.5.28051定時(shí)器模式的工作8051內(nèi)含有2個(gè)16位的定時(shí)計(jì)數(shù)器,稱(chēng)為定時(shí)器0及定時(shí)器1,如同一般定時(shí)計(jì)數(shù)器的功能,其主要有兩種作用:第一、執(zhí)行一段特定時(shí)間長(zhǎng)短的計(jì)時(shí)。第二、可以計(jì)算由T0或T1引腳輸入的脈沖數(shù)。前者在應(yīng)用上可以產(chǎn)生正確的時(shí)間延遲及定時(shí)去執(zhí)行中斷服務(wù)例程,這是單片機(jī)在軟件控制程序上常用到的技巧,而后者的應(yīng)用則是計(jì)數(shù)器或是計(jì)數(shù)器的設(shè)計(jì)。這兩個(gè)定時(shí)器本身都有4種工作模式可供使用:模式0:13位計(jì)時(shí)工作模式。模式1:16位計(jì)時(shí)工作模式。模式2:具有自動(dòng)重新加載計(jì)數(shù)值的8位計(jì)時(shí)工作模式。模式3:在此模式工作時(shí),定時(shí)器1本身停止計(jì)時(shí)的工作。而定時(shí)器0分為兩個(gè)獨(dú)立的8位定時(shí)器由TL0及TH0來(lái)負(fù)責(zé)計(jì)時(shí)的任務(wù)。模式0到模式2中,定時(shí)器0和定時(shí)器1的使用方法都一樣,只有在模式3時(shí)才不同。2.5.3定時(shí)計(jì)數(shù)器相關(guān)控制寄存器設(shè)計(jì)定時(shí)器相關(guān)控制寄存器說(shuō)明如下表所示.(1)TCON寄存器每個(gè)位都可按位尋址,可分別設(shè)置或清除,適當(dāng)?shù)乜刂七@些位便可控制定時(shí)器地動(dòng)作。B7B6B5B4B3B2B1B0TF1TR1TF0TR0IE1IT1IE0IE0其中有關(guān)符號(hào)說(shuō)明如下:TF1:TCON.7,定時(shí)器1溢位標(biāo)志,當(dāng)定時(shí)器計(jì)時(shí)終止產(chǎn)生溢位時(shí),硬件會(huì)自動(dòng)設(shè)為1,而在執(zhí)行過(guò)中斷服務(wù)程序后,硬件會(huì)自動(dòng)清除該位。TR1:TCON.6,定時(shí)器1計(jì)時(shí)啟動(dòng)位,通過(guò)軟件來(lái)設(shè)置或清除做啟動(dòng)或停止計(jì)數(shù)的功能。TF0:TCON.5,定時(shí)器0溢位標(biāo)志,其功能同TF1。TR0:TCON.4,定時(shí)器0定時(shí)啟動(dòng)位,其功能同TR1。IE1:TCON.3,外部中斷1(引腳INT1)的中斷設(shè)置標(biāo)志。當(dāng)INT1引腳由外部送入中斷信號(hào),而硬件檢測(cè)到此信號(hào)時(shí),會(huì)將此位設(shè)置。在執(zhí)行過(guò)中斷服務(wù)例程后,硬件會(huì)自動(dòng)清除此位。IT1:TCON.2,外部中斷1的中斷信號(hào)類(lèi)型設(shè)置,當(dāng)IT1=1時(shí),中斷信號(hào)位負(fù)緣觸發(fā)。若IT1=0時(shí)則為低電平觸發(fā)。IE0:TCON.1,外部中斷0(引腳INT0)的中斷設(shè)置,當(dāng)INT0引腳由外部送入中斷信號(hào),而硬件檢測(cè)到此信號(hào)時(shí)將此位設(shè)置,在執(zhí)行過(guò)中斷服務(wù)程序后,硬件自動(dòng)清除此位。IT0:TCON.0,外部中斷0的中斷信號(hào)類(lèi)型設(shè)置,當(dāng)IT0=1時(shí),中斷信號(hào)為負(fù)緣觸發(fā)。若IT0=0時(shí),則為低電平觸發(fā)。定時(shí)計(jì)數(shù)器相關(guān)控制寄存器及其說(shuō)明定時(shí)計(jì)數(shù)器相關(guān)控制寄存器及其說(shuō)明名稱(chēng)地址功能TCON88H定時(shí)器控制寄存器TMOD89H定時(shí)器工作模式選擇寄存器TH08CH定時(shí)器0高8位計(jì)時(shí)寄存器TL08AH定時(shí)器0低8位計(jì)時(shí)寄存器TH18DH定時(shí)器1高8位計(jì)時(shí)寄存器TL18BH定時(shí)器1低8位計(jì)時(shí)寄存器(2)TMOD計(jì)時(shí)模式選擇寄存器此寄存器不可按位尋址,其結(jié)構(gòu)如下:B7B6B5B4B3B2B1B0定時(shí)器1定時(shí)器0GATEC/TM1M定時(shí)器1定時(shí)器0其中的有關(guān)符號(hào)說(shuō)明如下:GATE:定時(shí)器動(dòng)作的開(kāi)關(guān)控制位,當(dāng)GATE=0時(shí),定時(shí)器在TR0=1或TR1=1時(shí)會(huì)工作。而當(dāng)GATE=1時(shí),且TR0=1或TR1=1,定時(shí)器要在INT0或INT1引腳成為高電平時(shí)才會(huì)執(zhí)行計(jì)時(shí)的工作。C/T:計(jì)時(shí)功能或計(jì)數(shù)功能的選擇位,C/T=0執(zhí)行計(jì)時(shí)工作,而C/T=1時(shí)才執(zhí)行計(jì)數(shù)的功能。M0、M1:工作模式選擇,其設(shè)置情況說(shuō)明如表1-4所示。TMOD寄存器的B1、B0位的設(shè)置及其說(shuō)明TMOD寄存器的B1、B0位的設(shè)置及其說(shuō)明M1M0工作模式00模式001模式110模式211模式3(3)IE:中斷啟用寄存器可按位尋址,地址A8H,用來(lái)啟用各種中斷信號(hào)的產(chǎn)生,各個(gè)位說(shuō)明如下:B7B6B5B4B3B2B1B0EA—ET2ESET1EX1ET0EX0其中的有關(guān)符號(hào)說(shuō)明如下:EA(IE.7):EA=0時(shí),所有中斷禁用(中斷不產(chǎn)生);EA=1時(shí),各中斷的產(chǎn)生由個(gè)別的啟用位決定?!↖E.6):保留。ET2(IE.5):啟用定時(shí)器2溢位的中斷(8052用)。ES(IE.4):啟用串行端口的中斷(ES=1啟用,ES=0禁用)。ET1(IE.3):啟用定時(shí)器1中斷。EX1(IE.2):啟用外部中斷INT1的中斷。ET0(IE.1):啟用定時(shí)器0中斷。EX0(IE.0):啟用外部中斷INT0的中斷。B.LED原理選用的是共陰極的LED發(fā)光二極管的陰極連在一起的稱(chēng)為共陰極顯示器。通常的七段LED顯示塊中有八個(gè)發(fā)光二極管,故也稱(chēng)為八段顯示器。其中七個(gè)發(fā)光二極管構(gòu)成七筆字型“8”一個(gè)發(fā)光二極管構(gòu)成小數(shù)點(diǎn)。七段顯示塊與單片機(jī)接口非常容易。只要將一個(gè)八位并行輸出口與顯示塊的發(fā)光二極管相連即可。八位并行輸出口輸出不同的字節(jié)數(shù)據(jù)即可獲得不同的數(shù)字或字符。C.蜂鳴器1、蜂鳴器模擬輸出"DO,RE,MI..."的音階聲音。蜂鳴器發(fā)聲過(guò)程仍由按鍵啟動(dòng),定時(shí)器控制鳴叫頻率。2、據(jù)不同音階的頻率,計(jì)算出定時(shí)器的定時(shí)初值和定時(shí)周期。D、鍵盤(pán)掃描1.鍵盤(pán)輸入信息的主要過(guò)程a、CPU判斷是否有鍵按下;b、確定按下的是哪一個(gè)鍵;c、把此鍵代表的信息翻譯成計(jì)算機(jī)所能識(shí)別的代碼,如ASCII或其他特征碼。以上1.2和1.3是由軟件來(lái)完成的,所以用非編碼鍵盤(pán)。2.掃描程序查詢(xún)的內(nèi)容為:a、查詢(xún)是否有鍵按下首先對(duì)P0口進(jìn)行初始化P0=0xF0,利用if語(yǔ)句進(jìn)行判斷,判斷表達(dá)式是P1!=0xF0,如果為真則執(zhí)行keyscan()子程序,如果為假則執(zhí)行else.b、查詢(xún)按下鍵的行列位置。利用key_scan()來(lái)進(jìn)行鍵盤(pán)查詢(xún)檢測(cè),先判斷列,在判斷行,具體見(jiàn)程序。c、對(duì)得到的行號(hào)和列號(hào)進(jìn)行譯碼,得到鍵值。d、鍵盤(pán)的判斷是均進(jìn)行延時(shí),以防止鍵盤(pán)抖動(dòng)的干擾。利用key_scan()來(lái)進(jìn)行鍵盤(pán)查詢(xún)檢測(cè)。E、以定時(shí)器產(chǎn)生各種頻率的聲音原理及說(shuō)明由于定時(shí)器可以產(chǎn)生各種頻率的聲音,所以由喇叭發(fā)出“DO”、“RE”、“ME”…….的音階。定時(shí)器0工作于模式0,計(jì)時(shí)時(shí)間長(zhǎng)短所發(fā)音的頻率而定,下表列出各個(gè)音符對(duì)應(yīng)的頻率值:簡(jiǎn)譜1234567音符C5D5E5F5G5A5B5C6D6E6F6G6A6B6頻率5235876596987848809871046117413181396156717601975由頻率值推得定時(shí)器計(jì)數(shù)初值,可由以下關(guān)系式求得:其中符號(hào)的含義說(shuō)明如下::頻率值:方波寬度,以表示:定時(shí)器所計(jì)數(shù)的次數(shù):計(jì)數(shù)初值低字節(jié):計(jì)數(shù)初值高字節(jié)經(jīng)計(jì)算得到以下一些數(shù)據(jù):XTAL=12MHZf=523co=956TH0value=226TL0value=4f=587co=851TH0value=229TL0value=13f=659co=758TH0 value=232TL0value=10f=698co=716TH0 value=233TL0value=20f=784co=637TH0value=236TL0value=3f=880co=568TH0value=238TL0value=8f=987co=506TH0value=240TL0value=6f=1046co=478TH0value=241TL0value=2f=1174co=425TH0value=242TL0value=23f=1318co=379TH0value=244TL0value=5f=1396co=358TH0value=244TL0value=26f=1567co=319TH0value=246TL0value=1f=1760co=284TH0value=247TL0value=4f=1975co=253TH0value=248TL0value=3主程序附錄1:流程圖主程序P0初始化,計(jì)數(shù)器選擇方式1下工作,開(kāi)中斷T0,計(jì)數(shù)器初始化。P0初始化,計(jì)數(shù)器選擇方式1下工作,開(kāi)中斷T0,計(jì)數(shù)器初始化。執(zhí)行while條件語(yǔ)句執(zhí)行while條件語(yǔ)句P0初始化,判斷鍵盤(pán)是否被按下P0初始化,判斷鍵盤(pán)是否被按下確定鍵盤(pán)位置確定鍵盤(pán)位置執(zhí)行else判斷式為真判斷式為假將鍵值K賦予LED子程序,使LED顯示相應(yīng)數(shù)值,并激活計(jì)數(shù)器,延時(shí)1ms,當(dāng)計(jì)數(shù)器計(jì)數(shù)完畢后,產(chǎn)生溢出中斷,觸發(fā)發(fā)聲程序,發(fā)聲程序調(diào)用相應(yīng)數(shù)組中的相應(yīng)發(fā)聲頻率,發(fā)聲,并進(jìn)行延時(shí)1ms.附錄2:原理圖附錄3:程序清單#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint//共陰極數(shù)碼管段碼表,最后一字節(jié)為黑屏UcharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};//各音符對(duì)應(yīng)的延時(shí)表Unitcodetone_delay_table[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論