版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、四川職科技業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)(???012屆) 院(系):移動通信與軟件學(xué)院 課 題: 基于單片機的簡易電子琴 專 業(yè):電子信息工程技術(shù) 班 級:電信1班 學(xué)生姓名:寧莎 指導(dǎo)老師: 學(xué) 號:201201010121 日 期:20 年 月 日目 錄摘要abstract 第一章 緒論61. 1 課題背景61. 2 本文所做的主要工作7第二章 系統(tǒng)方案設(shè)計及主控芯片介紹 82. 1主體方案8 2. 1 電子琴的總體框圖8 22 主控芯片at89c51的結(jié)構(gòu)與原理102.2.1 at89c51單片機的結(jié)構(gòu)10 2.2.2 at89c51單片機的工作原理 15 第三章 硬件電路設(shè)計17 3.
2、1發(fā)聲電路173. 2 數(shù)碼管顯示電路19 3. 3 電源電路設(shè)計2034 鍵盤設(shè)計21第四章 樂曲聲音算法2341音樂頻率的實現(xiàn)2342音樂節(jié)拍的實現(xiàn)24第五章 系統(tǒng)軟件設(shè)計2851系統(tǒng)程序流程2852 鍵盤掃描程序流程圖29總結(jié) 30 致謝 31 參考文獻 32 附錄1 33 程序34 摘 要 在現(xiàn)代各種生活中,電子琴作為一種音樂型玩具 ,廣泛用于與人們的日常生活中。市場上有各種各樣的電子琴。特別是日本產(chǎn)的,音質(zhì)優(yōu)美,它是有專門的音樂控制芯片制造的。由于其價格較貴,無法大面積普及,且功能單一。用89c51作為主控中心,研制一種簡易的微型電子琴,盡可能地體現(xiàn)較好的音質(zhì)來,是一種可做的嘗試。以
3、單片機為核心設(shè)計的簡易電子琴系統(tǒng),由按鍵掃描電路、聲音產(chǎn)生驅(qū)動電路、復(fù)位電路、等模塊組成的,是一種比較實用、廉價的電子玩具。本論文所設(shè)計的簡易電子琴,它分為兩大部分,硬件電路的設(shè)計和軟件的設(shè)計。硬件電路的設(shè)計以at89s51單片機為控制主板,輔以外圍的擴展設(shè)備蜂鳴器、矩陣鍵盤、共陽數(shù)碼管,形成一個可被控制的顯示系統(tǒng)。軟件設(shè)計通過控制單片機內(nèi)部的定時器t0來產(chǎn)生不同頻率的方波,驅(qū)動喇叭發(fā)出不同音節(jié)的聲音.再利用延遲來控制發(fā)音時間的長短,即可控制音調(diào)中的節(jié)拍.把樂譜中的音符對應(yīng)的頻率轉(zhuǎn)換為定時常數(shù),把相應(yīng)的節(jié)拍變換為定時常數(shù),然后作成表格存放在儲存器中,由程序查表得到定時常數(shù)和延時常數(shù),分別用以控
4、制定時器產(chǎn)生方波的頻率和該頻率方波的持續(xù)時間.當(dāng)延遲常數(shù)到時,再查下一個音符的定時常數(shù)和延遲常數(shù).依次進行下去,就可演奏悅耳動聽的音樂.主要實現(xiàn) 1能夠發(fā)出1.2.3.4.5.6.7等七個音符。2能自動演奏完,自選的一首歌曲兩種功能。關(guān)鍵字:簡易電子琴 單片機 矩陣鍵盤 定時器abstractin the modern variety of life, the flower as a musical toys, widely used and peoples daily life. there are all kinds of market flower. japan is particula
5、rly middle, sounding, it is a dedicated music control of the chip maker. because of its expensive price, not a popular area, and single function. 89 c51 used as a control centre, the development of a simple micro-organ, as far as possible, to reflect a better quality, is an attempt to do. mcu core d
6、esign for a simple flower, from the button scanning circuit, a driver circuit voice, reset circuit, such as modules, is a more practical and inexpensive electronic toys. in this paper the design of simple flower, which are divided into two parts, hardware circuit design and software design. hardware
7、 circuit design to at89s51 microcontroller for the control board, supported by the expansion of the external equipment buzzer, matrix keyboard, a total of yang digital form can be controlled by a display system. scm software designed to control the internal timer t0 to produce different frequency sq
8、uare wave, driving a different syllable speakers voice. reuse delayed to control the length of pronunciation, pitch in to control the beat. notation in the notes converted to thecorresponding frequency timing constant, corresponding to the beats of the time constant transformation, and then make tab
9、les stored in memory, table look-up procedures are regularly by the constant and delay constant, a timer were used to control the square wave the frequency square-wave frequency and duration. constant when the delay time, a note to check the timing of constant delays and constant. were out of the qu
10、estion, can perform really pleasant to hear music. main one can be issued 1.2.3.4.5.6 .7 seven notes. 2 can automatically perform end, the one-on-demand songs two functions. key word :simple flower mcu matrix keyboard timer 緒論1.1 課題背景單片機自1976年由intel公司推出mcs-48開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗地、使
11、用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、pc機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。按照內(nèi)部數(shù)據(jù)通道的寬度,單片機可分為4位、8位、16位及32位等。單片機的中央處理器(cpu)和通用微處理器基本相同,只是增設(shè)了“面向控制”的處理功能。例如:位處理、查表、多種地址訪問方式、多種跳轉(zhuǎn)、乘除法運算、狀態(tài)監(jiān)測、中斷處理等,增強了實時性。單片機有兩種基本結(jié)構(gòu)形式:一種是在通用微型計算機中廣泛采用的,將程序存儲器和數(shù)據(jù)存儲器合用一個存儲器空間的結(jié)構(gòu),稱為普
12、林斯頓(princeton)結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲器,目前的單片機以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多。單片微型計算機自從問世以來,作為微型計算機一個很重要的分支,應(yīng)用廣泛,發(fā)展迅速,尤其是美國intel公司生產(chǎn)的mcs-51系列單片機,由于其具有集成度高,處理功能強,可靠性高,系統(tǒng)結(jié)構(gòu)簡單,價格低廉等優(yōu)點,在智能儀器儀表、工業(yè)檢測控制、機電一體化等方面取得了令人矚目的成就。本文討論的單片機多功能定時器的核心是目前應(yīng)用極為廣泛的51系列單片機,配置了外圍設(shè)備,構(gòu)成了一個可編程的計時定時系統(tǒng),具有體積小,可靠性高,功能強等
13、特點。不僅能滿足所需要求而且還有很多功能可供開發(fā),有著廣泛的應(yīng)用領(lǐng)域。20世紀(jì)80年代中期以后,intel公司以專利轉(zhuǎn)讓的形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如atmel、philips、analog、devices、dallas等。這些廠家生產(chǎn)的芯片是mcs-51系列的兼容產(chǎn)品,準(zhǔn)確地說是與mcs-51指令系統(tǒng)兼容的單片機。這些兼容機與8051的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采用cmos工藝,因而,常用80c51系列來稱呼所有具有8051指令系統(tǒng)的單片機,它們對8051單片機一般都作了一些擴充,更有特點。其功能和市場競爭力更強,不該把它們直接稱呼為mcs-51系列單片機,因
14、為mcs只是intel公司專用的單片機系列型號。mcs-51系列及80c51單片機有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的mcs-51系列單片機及其兼容產(chǎn)品通常分成以下幾類:基本型、增強型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲器型。本設(shè)計主要是通過對電子琴主體部分的電路進行模仿設(shè)計,達到電子琴固有的基本功能,故叫簡易電子琴。利用定時器可發(fā)出不同頻率的脈沖,不同頻率的脈沖經(jīng)喇叭驅(qū)動電路放大濾波后,就會發(fā)出不同音調(diào)。其次,定時器按設(shè)置的定時參數(shù)產(chǎn)生中斷,這一次中斷發(fā)出脈沖低電平,下一次反轉(zhuǎn)發(fā)出脈沖高電平,由于定時參數(shù)不同,就發(fā)出不同頻率的脈沖,本設(shè)計中按鍵
15、一次,會發(fā)出50個脈沖,松開后隨之延時10個脈沖,但在延時的10個脈沖期間繼續(xù)檢測鍵盤,若此時又有鍵被按下,若被按下的仍為原鍵則聲音不變,否則鍵盤會譯出被按下的另一個鍵的音調(diào)。 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào)。1.2 本文所做的主要工作本次設(shè)計的簡易電子琴在其功能上能用單片機控制蜂鳴器發(fā)聲,擬合出樂曲曲調(diào)。能夠相應(yīng)按鍵,進行簡單的樂曲彈奏。本次設(shè)計是以單片機為基礎(chǔ),在論文中大概講述
16、了一下單片機的原理。 在此次設(shè)計中,簡易電子琴的外圍設(shè)備主要有以下二個部分:1、發(fā)聲器件的選擇:發(fā)聲器件比較多,例如喇叭、蜂鳴器、電鈴等。這次發(fā)聲元件采用蜂鳴器,蜂鳴器價格便宜,控制簡單,廣泛用于各種電子產(chǎn)品和玩具。本設(shè)計為保證聲音的響亮,通過三極管進行電流放大,增加聲音的響度。2、按鍵部分的設(shè)計:在本電路的按鍵接口設(shè)計,考慮到按鍵數(shù)量比較多,為了節(jié)省i/o口資源,采用矩陣式鍵盤。通過軟件實現(xiàn)4*4間盤掃描。3、數(shù)碼管顯示電路:為指示出當(dāng)前演奏的曲目標(biāo)號和顯示當(dāng)前按下的鍵號,我們采用1位數(shù)碼管作為顯示部件,為了節(jié)省成本,采用i/o口直接驅(qū)動數(shù)碼管。這樣設(shè)計充分利用了單片機的資源,使此設(shè)計才功能
17、上很豐富、完善。 系統(tǒng)方案設(shè)計及主控芯片介紹按照系統(tǒng)的設(shè)計功能要求,初步確定設(shè)計系統(tǒng)由主控模塊、發(fā)聲模塊,顯示模塊,鍵盤接口模塊4個部分組成,電路系統(tǒng)構(gòu)成圖2.1所示。主控芯片使用80c51系列單片機。發(fā)聲模塊使用的是蜂鳴器,低成本,配以放大電路,可以發(fā)出響亮的聲音。 21主體方案本文就是從單片機at89c51入手,通過使用at89c51的內(nèi)部的可編程定時器/計數(shù)器,結(jié)合對外接晶振的調(diào)節(jié)來確定一個合適的振蕩周期,從而確定出內(nèi)部的機器周期。該簡易電子琴通過控制單片機內(nèi)部的定時器t0來產(chǎn)生不同頻率的方波,驅(qū)動喇叭發(fā)出不同音節(jié)的聲音.再利用延遲來控制發(fā)音時間的長短,即可控制音調(diào)中的節(jié)拍.把樂譜中的音
18、符對應(yīng)的頻率轉(zhuǎn)換為定時常數(shù),把相應(yīng)的節(jié)拍變換為定時常數(shù),然后作成表格存放在儲存器中,由程序查表得到定時常數(shù)和延時常數(shù),分別用以控制定時器產(chǎn)生方波的頻率和該頻率方波的持續(xù)時間.當(dāng)延遲常數(shù)到時,再查下一個音符的定時常數(shù)和延遲常數(shù).依次進行下去,就可演奏悅耳動聽的音樂。 其電路圖見附錄1所示。顯示電路(89c51)主控模塊鍵掃描電路發(fā)聲電路2.2 主控器at89c51的結(jié)構(gòu)及工作原理2.2.1 at89c51單片機的結(jié)構(gòu)一、 單片機的主要性能特點atmel公司生產(chǎn)的at89c51單片機采用高性能的靜態(tài)80c51設(shè)計,欲先進工藝制造,并帶有非易失性flash程序儲存器。它是一它是一種高性能,低功耗的8
19、位cmos微處理芯片,。主要性能特點有:8kb flash rom,可以擦除1000次以上。數(shù)據(jù)保存10年,256字節(jié)內(nèi)部ram 電源控制模式:時鐘可停止和恢復(fù);空閑模式;掉電模式。6個中斷源4個中斷優(yōu)先級4個8位i/o 口全雙工增強型uart3個16位定時/計數(shù)器,t9,t1和增加的t2全靜態(tài)工作方式:024mhz二 、單片機的引腳功能89c51單片機的引腳圖見圖2.2所示,其中有2條主電源引腳,2條外接晶體引腳,4條控制或其他電源復(fù)用引腳,32條i/o引腳。下面分別敘述這些引腳的功能。 圖2.2 89c51單片機的引腳圖vcc(40腳):接電源+5v。vss(20腳):接地 也就是 gnd
20、。xtal1 (19 腳) 和 xatl2(18 腳):接振蕩電路,單片機是一種時序電路 必須有脈沖信號才能工作 在它的內(nèi)部有一個時鐘產(chǎn)生電路。psen(29 腳):片外 rom 選通信號,低電平有效.他同樣可以驅(qū)動8個lsttl輸入。ale/prog(30 腳):地址鎖存信號輸出端/eprom 編程脈沖輸入端。為了使地址與數(shù)據(jù)不混淆,通常是先送地址再傳送數(shù)據(jù)。ale將p0口輸出的低8位地址鎖存,從而實現(xiàn)低位地址與數(shù)據(jù)的分離。rst/vpd(9 腳):復(fù)位信號輸入端/備用電源輸入端。當(dāng)振蕩器運行時,在此引腳上出現(xiàn)兩個機器周期以上的高電平,將使單片機復(fù)位。vcc掉電期間,此引腳可以接上備用電源,
21、以保存內(nèi)部ram的數(shù)據(jù)不丟失;當(dāng)vcc低于規(guī)定水平時,vpd向內(nèi)部ram提供備用電源。ea/vpp(31):內(nèi)/外部 rom 選擇端。當(dāng)ea端保持高電平時,不管是否有內(nèi)部程序存儲器,只訪問外部程序存儲器。當(dāng)ea端保持低電平時,訪問內(nèi)部程序存儲器。p0 口(p0.0p0.7共8個引腳,既39-32 腳):雙向 三態(tài)i/o 口。在訪問外部存儲器時,可分別用低8位地址線和8位數(shù)據(jù)線;p0口可以驅(qū)動8個lsttl p1輸入。p1 口(p1.0p1.7共8個引腳,既1-8 腳)p1口是一個帶有內(nèi)部上拉電阻的8位雙向i/0 口,在eprom編程和程序驗證時,它接受低8位地址,能驅(qū)動4個lsttl輸入。p2
22、 口(p2.0p2.7共8個引腳,既21-28 腳):p2口是一個帶有內(nèi)部上拉電阻的8位雙向i/0 口, 在eprom編程和程序驗證時,它接受高8位地址,能驅(qū)動4個lsttl輸入。p3 口 (p0.0p0.7共8個引腳,既10-17 腳):p3口是一個帶有內(nèi)部上拉電阻的8位雙向i/0 口。他是個多用途口。在這8個引腳里,其中p3.2的第二功能是外部中斷0申請輸入端;p3.3的第二功能是外部中斷1申請輸入端;p3.4的第二功能是定時器0申請輸入端。三 、單片機內(nèi)部結(jié)構(gòu)及組成結(jié)構(gòu)單片機是由中央處理器(cpu)、片內(nèi)數(shù)據(jù)存儲器(ram)、片內(nèi)程序存儲器(rom)和輸入輸出接口(i/o口)四大部分組成
23、: cpu是單片機的核心部分。其作用是讀入和分析每條指令,根據(jù)指令要求控制各個部件執(zhí)行相應(yīng)的操作,它包括運算器和控制器兩大部分:一是運算器包括算術(shù)邏輯部件(alu)、累加器a、暫存寄存器、寄存器b、程序狀態(tài)寄存器(psw),十進制調(diào)整電路等。運算器主要用于實現(xiàn)算術(shù)/邏輯運算及位操作運算。二是控制器包括時鐘發(fā)生器,定時控制邏輯,指令寄存器,指令譯碼器,程序計數(shù)器pc,程序地址寄存器,數(shù)據(jù)指令寄存器dptr和堆棧指針sp等。控制器是用來統(tǒng)一指揮和控制計算機進行工作的部件。 單片機存儲器,單片機在物理上有4個存儲空間:片內(nèi)程序存儲器和片外程序存儲器, 片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器.8051片內(nèi)有4
24、kb的程序存儲器和256b數(shù)據(jù)存儲器。下面分別介紹程序存儲器和數(shù)據(jù)存儲器。程序存儲器用于存放編好的程序、表格和常數(shù)。8051單片機內(nèi)部有4kb的片內(nèi)rom和64kb的片外rom,兩者是統(tǒng)一編址的。數(shù)據(jù)存儲器8051內(nèi)部有256b ram,片外最多可以擴展64kb ram。片內(nèi)256 kb ram按其功能劃分兩部分:低128b位片內(nèi)數(shù)據(jù)ram區(qū),地址空間為00h7fh;高128b位特殊功能寄存器的區(qū)域.地址空間為80hffh。內(nèi)部數(shù)據(jù)存儲器低128單元,8051內(nèi)部低128b ram是真正的ram,可用于暫存運算結(jié)果及標(biāo)志位等.按其用途可以分為三部分:工作寄存器區(qū);位尋址區(qū);用戶ram區(qū)。內(nèi)部r
25、am的高于128單元是供給特殊功能寄存器使用,因此稱特殊功能寄存器: 指令寄存器ir和指令譯碼器id。指令寄存器是存放指令代碼的地方。當(dāng)執(zhí)行指令時,cpu把從程序存儲器中讀取的指令代碼送入指令寄存器,然后指令譯碼器譯碼后由定時控制電路發(fā)生相應(yīng)的控制信號,最終完成指令所規(guī)定的操作。 程序計數(shù)器pc是一個16位的計數(shù)器。用于存放將要執(zhí)行的指令地址,cpu每讀取指令的一個字節(jié)pc便自動加1,指向本指令的下一個字節(jié)或下一條指令地址,pc可以尋址64kb范圍rom。 累加器是一個最常用的8位特殊功能寄存器,它可以用于存放操作數(shù),也沒有用于來存放運算結(jié)果。 寄存器b是一個8位寄存器,主要用于乘法和除法的運
26、算, 狀態(tài)字寄存器psw是8位寄存器,用于存放程序運行狀態(tài)信息,其格式如下圖2.3所示 。 圖2.3 程序狀態(tài)字pswcy(psw.7):進位標(biāo)志位。在進行加法(或減法)運算時,若運算結(jié)果最高位有進位或借位,則cy自動置“1”,否則cy置“0”,在進行布爾操作運算時,cy(簡稱c)作為布爾處理器。ac(psw.6):輔助進位標(biāo)志位。當(dāng)進行加法或減法時,若低4位向高4位有進位(或借位)時,ac被置“1”,否則ac被置“0”。在十進制調(diào)整指令中ac還作為十進制調(diào)整的判別位。f0(psw.5):用戶標(biāo)志位。用戶可用軟件對f0位置“1”或清“0”以決定程序的流向。ov(psw.2):溢出標(biāo)志位,當(dāng)運算
27、結(jié)果溢出時ov為“1”,否則為“0”,此標(biāo)志位反映了運算結(jié)果是否溢出。p(psw.0):奇偶標(biāo)志位。mcs-51單片機采用的是偶校驗。當(dāng)累加器a中“1”的個數(shù)為奇數(shù)時,p置“1”,否則p置“0”。此位反映累加器a中內(nèi)容“1”的奇偶性,它常常用于機間通信。rs1(psw.4)、rs0(psw.3):工作寄存器區(qū)選擇位。用來選擇當(dāng)前工作的寄存器區(qū)。用戶通過改變rs1 、rs0的內(nèi)容來選擇當(dāng)前工作寄存器區(qū)。 堆棧指針sp 數(shù)據(jù)指針寄存器dptr是一個16位寄存器,由高位字節(jié)dph和低位字節(jié)dpl組成,用來存放16位數(shù)據(jù)存儲器的地址,以便對外部數(shù)據(jù)存儲器ram數(shù)據(jù)進行讀寫。 工作寄存器mcs-51有3
28、2個工作寄存器,分為四個區(qū)(或組)每個區(qū)為8個寄存器r0、r1、r2、r3、r4、r5、r6、r7,每一時刻只有一個區(qū)工作。由psw寄存器中的rs1、rs0的值來決定當(dāng)前的工作區(qū): 當(dāng) rs1 rs000時,0區(qū)為工作區(qū), rs1rs001時,1區(qū)為工作區(qū) rs1rs010時,2區(qū)為工作區(qū) rs1rs011時,3區(qū)為工作區(qū)這32個工作寄存器不但有它們的名稱和區(qū)號,而且還有地址。00h-1fh共32個單元。 00h07h為0區(qū),分別對應(yīng)r0r7 08h0fh為1區(qū),分別對應(yīng)r0r7 10h17h為2區(qū),分別對應(yīng)r0r7 18h1fh為3區(qū),分別對應(yīng)r0r7這32個單元為內(nèi)部數(shù)據(jù)存儲器(即片內(nèi)ra
29、m)的00h1fh存貯空間,這與普通微機中的通用寄存器基本相同,所不同的是,普通微機的通用寄存器只有名稱,不占有ram空間,因此只有名字,沒有對應(yīng)的地址;而mcs-51單片機的工作寄存器r0r7既可以用名字也可以用它的地址來表示。其中r0、r1寄存器除做工作寄存器外還常做間址尋址的地址指針單片機的輸入/輸出端口c51中有4個位并行輸入/輸出端口記為p0、p1、p2、p3共32根線。每個并行i/o口都可以用作輸入/輸出,所以稱它們?yōu)殡p向i/o口。p0口有位, p0口有兩個用途,一是作為普通i/o口使用;二是作為地址/數(shù)據(jù)總線使用。p0口作為普通i/o口使用: 當(dāng)控制線c=0時, mux開關(guān)向下,
30、 p0口作通用i/o口。這時與門輸入為0,場效應(yīng)管vt1截止。p0口作為分時復(fù)用的地址/數(shù)據(jù)總線: p0口一般是作為地址/數(shù)據(jù)總線,這時控制線c=1,mux開關(guān)向上,使數(shù)據(jù)/地址經(jīng)反向器與場效應(yīng)管vt2接通,當(dāng)數(shù)據(jù)輸入時,數(shù)據(jù)信號從引腳通過輸入緩沖器2進入內(nèi)部總線。p1口是一個專用的8位準(zhǔn)雙向i/o口,只具有通用輸入/輸出口功能,每一位都能設(shè)定為輸入或輸出。p1口的驅(qū)動部分與p0口不同,內(nèi)部有上拉電阻。p2口是一個8位準(zhǔn)雙向i/o口,具有兩種功能。一是作通用i/o口用,與p1口相同。二是作擴展系統(tǒng)的高8位地址總線。p3口也是一個8位準(zhǔn)雙向i/o口,不但可以作通用i/o口使用,還具有第二功能。當(dāng)
31、工作在第二功能時,每位都具有新的功能,當(dāng)p3口作通用i/o口時,與p1口相同。2.2.2單片機的工作原理一、 振蕩器與時鐘電路時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號。at89c51的時鐘產(chǎn)生方法有以下兩種: 內(nèi)部時鐘方式 利用芯片內(nèi)部的振蕩器,然后在引腳xtal1和引腳 xtal2兩端接晶體或陶瓷諧振器,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部的時鐘電路,如圖2.4(在圖中的外接線,上面的外接線接引腳xtal1,下面的外接線接引腳xtal2)外接晶振時,c1和c2的值通常選擇我30pf左右;外接陶瓷諧振器時c1和c2的值大約為47pf。c1、c2對頻率有微調(diào)作用,晶體或陶瓷諧振器
32、的頻率范圍可在1.212mhz之間選擇。為了減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機芯片靠近。 圖2.4 單片機外接振蕩電路外部時鐘方式 此方式是利用外部振蕩脈沖接入xtal1或 xtal2。chmos(互補金屬氧化物hmos)是cmos和hmos(高密度溝道m(xù)os工藝)的結(jié)合,除了保持hmos高速度和高密度之外,還有cmos低功耗的特點.兩類器件的功能是完全兼容的,區(qū)別在chmos器件具有低功耗的特點.它所消耗的電流比hmos器件少很多,主要在于其采用了兩種降低功耗的方式:空閑方式和掉電方式.chmos器件在掉電方式(cpu停止工作,片內(nèi)ram的數(shù)據(jù)
33、繼續(xù)保持)下時,消耗的電流可低于10a.采用chmos的器件在編號中用一個c來加以區(qū)別: 如80c51,80c31等. 外部時鐘信號通過一個二分頻的觸發(fā)器而成為內(nèi)部的時鐘信號,要求高、低電平的持續(xù)時間都大于20ns,一般為頻率低于12hz的方波。這種方式適用于多塊芯片同時工作,便于同步。片內(nèi)時鐘發(fā)生器就是上述的二分頻觸發(fā)器,它向芯片提供了一個2節(jié)拍的時鐘信號。 根據(jù)以上兩種方式的特點,在次設(shè)計中從而采用了第一種方式。第一種方式比第二種更簡潔為次設(shè)計而變的簡單化。其圖2.5就是本次設(shè)計中時鐘信號產(chǎn)生的外部電路圖。其中電容值所選用的是30pf,為了提高秒計時的精確度,采用12mhz的晶振。二、 單
34、片機的工作方式單片機有三種工作方式:復(fù)位方式、程序執(zhí)行方式以及節(jié)電工作方式。單片機復(fù)位方式:單片機復(fù)位方式有上簡單復(fù)位電路和采用專用復(fù)位電路芯片構(gòu)成復(fù)位電路兩種。簡單復(fù)位電路有上電復(fù)位和手動復(fù)位。不管那種方式都要保證在reset引腳上提供10ms以上的穩(wěn)定高電壓。本次設(shè)計中采用的是按鍵式復(fù)位電路。程序執(zhí)行方式:(a)連續(xù)執(zhí)行方式(b)單步執(zhí)行方式節(jié)電工作方式:(a)hmos單片機的掉電工作方式(b)chmos單片機的節(jié)電工作方式三 、單片機外部并行擴展原理單片微機是通過芯片的引腳進行系統(tǒng)擴展的。80c51系列帶總線的單片微機芯片引腳可以構(gòu)成圖81所示的三總線結(jié)構(gòu)即地址總線(ab)數(shù)據(jù)總線(db
35、)和控制總線(cb)。具有總線的外部芯片都通過這三組總線進行擴展。(1)地址總線(ab)地址總線由單片微機p0口提供 低8位地址a0a7,p2口提供高8位地址a8a15。p0口是地址總線低8位和8位數(shù)據(jù)總線復(fù)用口,只能分時用作地址線。故p0口輸出的低8位地址a0a7必須用鎖存器鎖存。鎖存器的鎖存控制信號為單片微機ale引腳輸出的控制信號。在ale的下降沿將p0口輸出的地址a0a7鎖存。p0、p2口在系統(tǒng)擴展中用做地址線后便不能作為一般i/o口使用。由于地址總線寬度為16位,故可尋址范圍為64 kb。(2)數(shù)據(jù)總線(db) 數(shù)據(jù)總線由p0口提供,用d0d7表示。p0口為三態(tài)雙向 口為三態(tài)雙向口,
36、是應(yīng)用系統(tǒng)中使用最為頻繁的通道。所有單片微機與外部交換的數(shù)據(jù)、指令、信息,除少數(shù)可直接通過p1口外,全部通過p0口傳送。數(shù)據(jù)總線是并連到多個連接的外圍芯片的數(shù)據(jù)線上,而在同一時間里只能夠有一個是有效的數(shù)據(jù)傳送通道。哪個芯片的數(shù)據(jù)通道有效,則由地址線控制各個芯片的片選線來選擇。 (3)控制總線(cb) 控制總線包括片外系統(tǒng)擴展用控制線和片外信號對單片微機的控制線。mcs51系列中有5個中斷源(或6個中斷源),如圖所示。它們可分為2個優(yōu)先級其中每一個中斷源的優(yōu)先級都可以由程序排定。5個中斷源的中斷要求是否會得到響應(yīng),受允許中斷寄存器ie中各位的控制;它們的優(yōu)先級分別由中斷優(yōu)先級寄存器ip的各位確定
37、;同優(yōu)先級內(nèi)的各中斷源同時要求中斷時,還要靠內(nèi)部的查詢邏輯來確定響應(yīng)的次序,不同的中斷源有不同的中斷向量。52子系列的中斷系統(tǒng)與此類同,只不過增加了一個中斷源。1.允許中斷寄村器ie(1)ea(ie7總允許位。ea=0禁止一切中斷。eal,則每個中斷源是允許還是禁止,分別由各自的允許位確定。(2)一(ie 6)保留位。 (3)et2(ie5)定時器2中斷允許位。et20,禁止定時器2中斷。 (4)es(ie.4)串行口中斷允許位。es0,禁止串行口中斷。 (5)etl(ie.3)定時器1中斷允許這。et10,禁止定時器1中斷。 (6)exl(ie.2)外部中斷l(xiāng)允許位。ex10,禁止外部中斷1
38、。 (7)et0(ie.1)定時器0中斷允許位。et00,禁止定時器0中斷。 (8)ex0(ie .0)外部中斷0允許位。ex00,禁止外部中斷02.中斷優(yōu)先級寄存器ip mcs51的中斷分為2個優(yōu)先級。每個中斷源的優(yōu)先級都可以通過中斷優(yōu)先級寄存器ip中的相應(yīng)位來設(shè)定。其中:(1)一(ip.7)保留位。 、(2)一(ip .6)保留位。(3)pt2(ip.5)定時器2中斷優(yōu)先級設(shè)定位。pt2l,設(shè)定為高優(yōu)先級。(4ps(1p.4)串行口中斷優(yōu)先級設(shè)定位。ps1,設(shè)定為高優(yōu)先級o(5)pt1(1p.3)定時器1中斷優(yōu)先級設(shè)定位。ptl1設(shè)定為高優(yōu)先級。(6)pxl(ip.2)外部中斷1優(yōu)先級設(shè)定
39、位。pxl1,設(shè)定為高優(yōu)先級。(7)pt0(ip.l)定時器0中斷優(yōu)先級設(shè)定位。pt01,設(shè)定為高優(yōu)先級。(8)px0(1p0)外部中斷0優(yōu)先級設(shè)定位。px01,設(shè)定為高優(yōu)先級。3.優(yōu)先級結(jié)構(gòu)靠ip寄存器把各中斷源的優(yōu)先級分為高低兩級。它們遵循這樣兩條基本規(guī)則:(1)低優(yōu)先級中斷可被高優(yōu)先級中斷所中斷,反之不能;(2)一種中斷(不管是什么優(yōu)先級)一旦得到響應(yīng),與它同級的中斷不能再中斷它。 為了實現(xiàn)這兩條規(guī)則,中斷系統(tǒng)內(nèi)部包含兩個不可尋址的“優(yōu)先級激活”觸發(fā)器。其中一個觸發(fā)器指示某高優(yōu)先級的中斷正在得到服務(wù),所有后來的中斷都被阻斷。另一個觸發(fā)器指示某低優(yōu)先級的中斷正得到服務(wù),所有同級的中斷都被阻
40、斷,但不阻斷高優(yōu)先級的中斷。 當(dāng)同時收到幾個同一優(yōu)先級的中斷要求時,哪一個要求得到服務(wù),取決于內(nèi)部的查詢順序,相當(dāng)于在每個優(yōu)先級內(nèi),還同時存在另一個輔助優(yōu)先結(jié)構(gòu)。如;中斷源 同級內(nèi)的優(yōu)先權(quán)外部中斷0 最高定時器/計數(shù)器0溢出外部中斷1定時器/計數(shù)器1溢出串行口定時器/計數(shù)器2溢出 最低在每一機器周期中,所有中斷源都順序地被檢查一遍;這樣到任一周期的s6狀態(tài)時,找到了所有已激活的中斷請求,并排好了優(yōu)先權(quán)。在下一機器周期的s1狀態(tài),只要不受阻斷就開始響應(yīng)其中最高優(yōu)先級的中斷請求。若發(fā)生下列情況,中斷響應(yīng)會受到阻斷:(1)同級或高優(yōu)先級的中斷已在進行中;(2)正在執(zhí)行的指令,尚未完成其最后一個機器周
41、期(換言之,正在執(zhí)行的指令完成前,任何中斷請求都得不到響應(yīng)); (3)正在執(zhí)行的是一條reti或者訪問專用寄存器ie或ip的指令(換言之,在reti或者讀寫ie或ip之后,不會馬上響應(yīng)中斷請求,而至少在執(zhí)行一條其他指令之后才會響應(yīng))。若存在上述任一種情況,中斷查詢結(jié)果就被取消。否則在緊接著的下一個機器周期,中斷查詢結(jié)果變?yōu)橛行А?.中斷響應(yīng)協(xié)議 當(dāng)某中斷源提出中斷請求后,作為應(yīng)答,cpu首先使相應(yīng)的“優(yōu)先級激活”觸發(fā)器置位,以阻斷同級和低級的中斷。然后,根據(jù)中斷源的類別,在硬件的控制下,程序轉(zhuǎn)向相應(yīng)的向量單元,執(zhí)行中斷服務(wù)子程序。 硬件中斷服務(wù)子程序調(diào)用時,把當(dāng)時程序計數(shù)器pc的內(nèi)容壓入堆棧(
42、在mcs5l中,pc是16垃的,占用了2個字節(jié),沒有自動保存程序狀態(tài)字psw的內(nèi)容),同時還根據(jù)中斷的來源,把相應(yīng)的向量單元地址裝入pc中。這些向量地址是: 中斷源 向量單元 外部中斷0 0003h 定時器0溢出 000bh 外部中斷1 00l3h定時器1溢出 001bh串行口 0023h定時器2溢出或t2ex端出現(xiàn)負跳變 002bh中斷服務(wù)子程序的最后一條指令應(yīng)是reti(中斷返回)。reti指令將清除”優(yōu)先級激活”觸發(fā)器(該觸發(fā)器在響應(yīng)中斷時被置位)。然后由堆棧彈出兩個字節(jié)(下一條指令地址)裝入到pc中。5.外部中斷 外部中斷的激活方式分為兩種:一種是電平激活另一種是邊沿激活。這兩種方式可
43、以靠tcon寄存器中的中斷方式位iti或it0來控制。若itx0(x為0或l,后文中用到類同的符號,其含意相似),則采用電平激活方式:在引腳上檢測到低電平,將觸發(fā)外部中斷。若itx1則采用邊沿激活方式:在相繼的兩個周期中,對引腳進行連續(xù)兩次采樣,若第一次采樣值為高,第二次為低,則tcon寄存器中的中斷請求標(biāo)志iex被置1,以請求中斷。由于外部中斷引腳每個機器周期被采樣一次,為確保采樣,由引腳輸入的信號應(yīng)至少保持一個機器周期,即12個振蕩器周期。如果外部中斷為邊沿激活方式,則引腳處的高電平和低電平值至少各保持一個機器周期,才能確保cpu檢測到電平的跳變,而把中斷請求標(biāo)志iex置1。如果采用電平激
44、活外部中斷方式,外部中斷源應(yīng)一直保持中斷請求有效直至所請求的中斷得到響應(yīng)時為止。6 .中斷請求的撤除 cpu響應(yīng)某中斷請求后,在中斷返回(reti)前,該中斷請求應(yīng)該撤除,否則會引起另一次中斷。 對于定時器0或1溢出中斷,cpu在響應(yīng)中斷后,就用硬件清除了有關(guān)的中斷請求標(biāo)志tf0(tcon.5)或tfl(tcon.?),即中斷請求是自動撤除的,無需采取其他措施。對于邊沿激活的外部中斷,cpu在響應(yīng)中斷后,也甩硬件清除了有關(guān)的中斷請求標(biāo)志ie0(tcon.1),或iel(tcon.3), 自動撤除了中斷請求。 對于電平激活的外部中斷,由于在硬件上,cpu對和引腳的信號完全沒有控制(在專用寄存器中
45、,沒有相應(yīng)的中斷請求標(biāo)志),也不像某些微處理機那樣響應(yīng)中斷后會自動發(fā)出一個應(yīng)答信號。因此在mc55l的用戶系統(tǒng)中,要另外采取撤除外部中斷的措施。例如,可以利用單穩(wěn)態(tài)觸發(fā)器對中斷源信號進行整形,使之符合要求。7.中斷響應(yīng)時間 現(xiàn)以外部中斷為例,說明中斷響應(yīng)的最短時間。在每個機器周期的s5p2,和端的電平被鎖到內(nèi)部保持寄存器中,而實際上在下一個周期才會查詢這些值。如果中斷請求有效,一般情況下,下一條要執(zhí)行的指令將是一條硬件子程序調(diào)用指令,調(diào)用所要求的服務(wù)程序。調(diào)用本身要花費兩個機器周期。這樣,從外部中斷請求有效到開始執(zhí)行服務(wù)程序的第一條指令,中間要隔3個周期,這是最短的響應(yīng)時間。 如果發(fā)生了第3節(jié)
46、所述的3種情況之一,那么中斷請求受阻,中斷響應(yīng)時間會更長些。如果一個同級的或高優(yōu)先級的中斷已經(jīng)在進行,則很顯然,附加的等待時間將取決正在進行的中斷服務(wù)程序。若正在執(zhí)行的一條指令還沒有進行到最后一個周期,那么附加的等待時間不會超過3個周期,因為一條指令的最長執(zhí)行時間為4個周期(mul和div)。如果正在執(zhí)行的是reti指令或者是訪問ie或ip的指令,則附加的等待時間不會超過5個周期(為完成正在執(zhí)行的指令,還需要一個周期,加上為完成下一條指令所需要的最長時間4個周期,故最長為5個周期)。若系統(tǒng)中只有一個中斷源,則響應(yīng)時間在3個同期到8個周期之間。系統(tǒng)硬件電路的設(shè)計本章節(jié)將詳細介紹本系統(tǒng)的硬件電路的
47、各個部分,并詳細講解設(shè)計依據(jù)和注意細節(jié)。主體硬件圖下圖:31發(fā)聲電路p2.7口控制繼電器進而控制蜂鳴器工作。當(dāng)時鐘當(dāng)前的時間和當(dāng)前所執(zhí)行的時間表的時間一致時,相應(yīng)得標(biāo)志位為1,p2.7口輸出高電平,控制三極管閉合,從而合上開關(guān),啟動電鈴進行打鈴。打鈴一定時間,標(biāo)志位置0,p2.7輸出低電平,三極管打開,蜂鳴器停止工作。例如,要產(chǎn)生200hz的音頻信號,按圖1接入喇叭(若屬臨時實驗,也可將喇叭直接接在p1口線上),實驗程序為:其中子程序del為延時子程序,當(dāng)r3為1時,延時時間約為20us,r3中存放延時常數(shù),對200hz音頻,其周期為1/200秒,即5ms。這樣,當(dāng)p1.4的高電平或低電平的持
48、續(xù)時間為2.5ms,即r3的時間常數(shù)取2500/20=125(7dh)時,就能發(fā)出200hz的音調(diào)。將上述程序鍵入學(xué)習(xí)機,并不斷修改r3的常數(shù)可以感到音調(diào)的變化。樂曲中,每一音符對應(yīng)著確定的頻率,表1給出c調(diào)時各音符頻率及其相應(yīng)的時間常數(shù)。讀者可以根據(jù)表1所提供的常數(shù),將其16進制代碼送入r3,反復(fù)練習(xí)體會。根據(jù)表1可以奏出音符。僅這還不夠,要準(zhǔn)確奏出一首曲子,必須準(zhǔn)確地控制樂曲節(jié)奏,即一音符的持續(xù)時間。音符的節(jié)拍我們可以用定時器t0來控制,送入不同的初值,就可以產(chǎn)生不同的定時時間。便如某歌曲的節(jié)奏為每分鐘94拍,即一拍為0.64秒。其它節(jié)拍與時間的對應(yīng)關(guān)系見表2。但時,由于t0的最大定時時間
49、只能為131毫秒,因此不可能直接用改變t0的時間初值來實現(xiàn)不同節(jié)拍。我們可以用t0來產(chǎn)生10毫秒的時間基準(zhǔn),然后設(shè)置一個中斷計數(shù)器,通過判別中斷計數(shù)器的值來控制節(jié)拍時間的長短。表2中也給出了各種節(jié)拍所對應(yīng)的時間常數(shù)。例如對1/4拍音符,定時時間為0.16秒,相應(yīng)的時間常數(shù)為16(即10h);對3拍音符,定時時間為1.92秒,相應(yīng)時間長數(shù)為192(即c0h)。我們將每一音符的時間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成一個表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實現(xiàn)演奏效果。此外,結(jié)束符和體止符可以分別用代碼00h和ffh來表示,若查表結(jié)果為00h,則表示曲子終了;若查表結(jié)果為ffh,則產(chǎn)生相應(yīng)的停頓效果。為了產(chǎn)生手彈的節(jié)奏感,在某些音符(例如兩個相同音符)音插入一個時間單位的頻率略有不同的音符。電路圖如下:將某一首音樂的簡譜變換成為常數(shù)表,計算機順序調(diào)入時間常數(shù)并以中斷方式執(zhí)行,從p1.7來輸出方波驅(qū)動喇叭,發(fā)出不同音節(jié)的聲音,節(jié)拍的控制可通過調(diào)用200ms延時子程序的次數(shù)來實現(xiàn).單片機的晶振頻率為12hz,樂譜中的音符,頻率及定時常數(shù)的關(guān)系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師師徒結(jié)對計劃
- 《材料成型工藝基礎(chǔ)A》教學(xué)大綱
- 玉溪師范學(xué)院《網(wǎng)球》2023-2024學(xué)年第一學(xué)期期末試卷
- 施工現(xiàn)場項目部管理制度
- 火山引擎·數(shù)據(jù)飛輪-行業(yè)實踐系列自皮書·銀行業(yè) -新一代全行級標(biāo)簽體系與標(biāo)簽應(yīng)用篇 2024
- 2024年細微射頻同軸電纜項目評估分析報告
- 2023年有機氟化工產(chǎn)品項目評估分析報告
- 投資學(xué)第7版 郎榮燊 思政大綱
- 2019粵教版 高中美術(shù) 選擇性必修1 繪畫《第二單元 練就創(chuàng)造美的巧手》大單元整體教學(xué)設(shè)計2020課標(biāo)
- 2024屆廣西梧州柳州高考數(shù)學(xué)試題命題比賽模擬試卷
- 項目重點難點分析及應(yīng)對措施
- 重慶市2024年中考語文真題試卷(A卷)【附答案】
- 2024年GINA哮喘防治指南修訂解讀課件
- CJT152-2016 薄壁不銹鋼卡壓式和溝槽式管件
- 《無人駕駛航空器飛行管理暫行條例》考試復(fù)習(xí)題庫(含答案)
- 2022年CCAA注冊審核員《產(chǎn)品認證基礎(chǔ)》(真題卷)
- 餐廳禁煙制度
- 【公開課】高三地理一輪復(fù)習(xí)-自然地理環(huán)境的整體性(課件)
- 四川廣安市2024年市級事業(yè)單位招考工作人員擬聘用人員公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 《父親、樹林和鳥》公開課一等獎創(chuàng)新教案
- 專業(yè)技術(shù)職務(wù)聘任申請書范文
評論
0/150
提交評論