版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . 單片機(jī)控制電子琴摘 要 電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要容是用AT89S51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。 關(guān)鍵詞:?jiǎn)纹瑱C(jī)鍵盤揚(yáng)聲器電子琴
2、 Abstract Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It played an important role in modern music. SCM has powerful control functions and flexible programming characteristics. It has co
3、nverged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, design of a electronic organ. SCM as a host to the core, with the keyboard, speaker and other core modules. In the main control module has 16 keys and a speaker. The syst
4、em is steady, its simple hardware circuits, software functions, reliability of control system and high cost performance is its advantages. It also has certain practical and reference value. Key words : SCM keyboard speaker electronic organ 畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人重承諾:所
5、呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作與取得的成果。盡我所知,除文中特別加以標(biāo)注和致的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過(guò)的研究成果,也不包含我為獲得與其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了意。作 者 簽 名:日 期:指導(dǎo)教師簽名: 日期:使用授權(quán)說(shuō)明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論
6、文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉咳荨W髡吆灻?日 期:學(xué)位論文原創(chuàng)性聲明本人重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期: 年 月 日學(xué)位論文使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分容編入有
7、關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日目 錄1 引言. 12 原理圖. 22.1 系統(tǒng)板硬件連線. 33 主要芯片簡(jiǎn)介. 43.1 AT89S51簡(jiǎn)介. 43.1.1 主要功能特性. 53.1.2 引腳功能. 53.2 LM386. 63.2.1 LM386部電路與特性. 73.2.2 LM386的引腳圖. 84 模塊原理. 114.1 4X4行列式鍵盤識(shí)別. 114.1.1 系統(tǒng)板上硬件連線設(shè)計(jì). 124.1.2 程序設(shè)計(jì)要求. 134.1.3 鍵盤識(shí)別程序框圖.
8、 134.2 觸摸式模塊的實(shí)現(xiàn)原理. 154.3.1 單片機(jī)產(chǎn)生音樂(lè)原理. 174.3.2 音樂(lè)產(chǎn)生原理程序圖. 185.PCB電路板圖. 206 匯編程序. 227 結(jié)束語(yǔ). 34致 . 32參考文獻(xiàn). 33 1 引言 單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。
9、0;電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要容是用AT89S51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。本文主要對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。并且本文分別從原理圖,主要芯片,各模塊原理與各模塊的程序的調(diào)試來(lái)詳細(xì)闡述。 &
10、#160; 一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。 2 原理圖 圖2-1 電子琴電路圖 圖2-2觸摸式電器開關(guān)電路 2.1 系統(tǒng)板硬件連線
11、; 系統(tǒng)板硬件連線如圖2-1所示,發(fā)生模塊,鍵盤模塊,與觸摸模塊連接如下 1.把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上; 2.把“單片機(jī)系統(tǒng)“區(qū)域中的P3.0P3.7端口用8芯排線連接到“4X4行列式鍵盤”區(qū)域中的C1C4R1R4端口上; 3.把圖2-2繼電器的開關(guān)兩端串聯(lián)在單片機(jī)的工作電源上。3 主要芯片簡(jiǎn)介3.1 AT89S51簡(jiǎn)介 AT89S51是一個(gè)低功耗,高性
12、能CMOS 8位單片機(jī),片含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)與80C51引腳結(jié)構(gòu),芯片集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 AT89S51具有如下特點(diǎn):40個(gè)引腳(引腳圖如圖3-1所示),4k Bytes Flash片程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外
13、部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片時(shí)鐘振蕩器。 此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 &
14、#160; 圖3-1 管腳圖3.1.1 主要功能特性· 兼容MCS-51指令系統(tǒng) · 32個(gè)雙向I/O口· 2個(gè)16位
15、可編程定時(shí)/計(jì)數(shù)器 · 全雙工UART串行中斷口線· 2個(gè)外部中斷源 · 中斷喚醒省電模式· 看門狗(WDT)電路
16、60; · 靈活的ISP字節(jié)和分頁(yè)編程· 4k可反復(fù)擦寫ISP Flash ROM · 4.5-5.5V工作電壓· 時(shí)鐘頻率0-33MHz
17、60; · 128x8bit部RAM· 低功耗空閑和省電模式 · 3級(jí)加密位· 軟件設(shè)置空閑和省電功能 · 雙數(shù)
18、據(jù)寄存器指針3.1.2 引腳功能 VCC(40):5V; GND(20):接地; P0口(3932):P0口為8位漏極開路雙向I/O口,每引腳可吸收8個(gè)TTL門電流; P1口(18):P1口是從部提供上拉電阻器的8位雙向I/O口,P1口緩沖器能接收和輸出4個(gè)TTL門電流; P2口(2128):P2口為部上拉電阻器的8位雙向I/O口,P2口緩沖器可接收和輸出4個(gè)TTL門電流; P3口
19、(1017):P3口是8個(gè)帶部上拉電阻器的雙向I/O口,可接收和輸出4個(gè)TTL門電流,P3口也可作為AT89C51的特殊功能口; RST(9):復(fù)位輸入。當(dāng)振蕩器復(fù)位時(shí),要保持RST引腳2個(gè)機(jī)器周期的高電平時(shí)間; ALE/PROG(30):當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié),在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6,它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的,要注意的是,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)1個(gè)ALE脈沖;
20、 PSEN(29):外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期2次PSEN有效,但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這2次有效的PSEN信號(hào)將不出現(xiàn); EA/VPP(31):當(dāng)EA保持低電平時(shí),外部程序存儲(chǔ)器地址為(0000HFFFFH)不管是否有部程序存儲(chǔ)器。FLASH編程期間,此引腳也用于施加12V編程電源(VPP); XTAL1(19):反向振蕩器放大器的輸入與部時(shí)鐘工作電路的輸入; XTAL2(18):來(lái)自反向振蕩器的輸出;3.2
21、 LM386 LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。3.2.1 LM386部電路與特性 圖3-2 LM386部電路原理圖 LM386部電路原理圖如圖3-2所示。與通用型集成運(yùn)放相類似,它是一個(gè)三級(jí)放大電路。 第一級(jí)為差分放大電路,T1和T3、T2和T4分別構(gòu)成復(fù)合管,作為差分放大電路的放大管;T5和T6組成鏡
22、像電流源作為T1和T2的有源負(fù)載;T3和T4信號(hào)從管的基極輸入,從T2管的集電極輸出,為雙端輸入單端輸出差分電路。使用鏡像電流源作為差分放大電路有源負(fù)載,可使單端輸出電路的增益近似等于雙端輸出電容的增益。 第二級(jí)為共射放大電路,T7為放大管,恒流源作有源負(fù)載,以增大放大倍數(shù)。 第三級(jí)中的T8和T9管復(fù)合成PNP型管,與NPN型管T10構(gòu)成準(zhǔn)互補(bǔ)輸出級(jí)。二極管D1和D2為輸出級(jí)提供合適的偏置電壓,可以消除交越失真。 引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為OTL電路。
23、輸出端(引腳5)應(yīng)外接輸出電容后再接負(fù)載。 電阻R7從輸出端連接到T2的發(fā)射極,形成反饋通路,并與R5和R6構(gòu)成反饋網(wǎng)絡(luò),從而引入了深度電壓串聯(lián)負(fù)反饋,使整個(gè)電路具有穩(wěn)定的電壓增益。3.2.2 LM386的引腳圖 圖3-3 LM386的外形和引腳的排列 LM386的外形和引腳的排列如圖3-3所示。引腳2為反相輸入端,3為同相輸入端;引腳5為輸出端;引腳6和4分別為電源和地;引腳1和8為電壓增益設(shè)定端;使用時(shí)在引腳7和地之間接旁路電容,通常取10F。 查L(zhǎng)M386的電
24、源電壓4-12V或5-18V(LM386N-4);靜態(tài)消耗電流為4mA;電壓增益為20-200dB;在1、8腳開路時(shí),帶寬為300KHz;輸入阻抗為50K;音頻功率0.5W。 盡管LM386的應(yīng)用非常簡(jiǎn)單,但稍不注意,特別是器件上電、斷電瞬間,甚至工作穩(wěn)定后,一些操作(如插拔音頻插頭、旋音量調(diào)節(jié)鈕)都會(huì)帶來(lái)的瞬態(tài)沖擊,在輸出喇叭上會(huì)產(chǎn)生非常討厭的噪聲。要注意以下幾點(diǎn): 1、通過(guò)接在1腳、8腳間的電容(1腳接電容+極)來(lái)改變?cè)鲆?,斷開時(shí)增益為20dB。因此用不到大的增益,電容就不要接了,不光省了成本,還會(huì)帶來(lái)好處-噪音減少,
25、何樂(lè)而不為? 2、PCB設(shè)計(jì)時(shí),所有外圍元件盡可能靠近LM386;地線盡可能粗一些;輸入音頻信號(hào)通路盡可能平行走線,輸出亦如此。這是死理,不用多說(shuō)了吧。 3、選好調(diào)節(jié)音量的電位器。質(zhì)量太差的不要,否則受害的是耳朵;阻值不要太大,10K最合適,太大也會(huì)影響音質(zhì)。 4、盡可能采用雙音頻輸入/輸出。好處是:“”、“”輸出端可以很好地抵消共模信號(hào),故能有效抑制共模噪聲。 5、第7腳(BYPASS)的旁路電容不可少!實(shí)際應(yīng)用時(shí),BYPASS端必須外接一個(gè)電解電容
26、到地,起濾除噪聲的作用。工作穩(wěn)定后,該管腳電壓值約等于電源電壓的一半。增大這個(gè)電容的容值,減緩直流基準(zhǔn)電壓的上升、下降速度,有效抑制噪聲。在器件上電、掉電時(shí)的噪聲就是由該偏置電壓的瞬間跳變所致,這個(gè)電容可千萬(wàn)別省?。?#160; 6、減少輸出耦合電容。此電容的作用有二:隔直 + 耦合。隔斷直流電壓,直流電壓過(guò)大有可能會(huì)損壞喇叭線圈;耦合音頻的交流信號(hào)。它與揚(yáng)聲器負(fù)載構(gòu)成了一階高通濾波器。減小該電容值,可使噪聲能量沖擊的幅度變小、寬度變窄;太低還會(huì)使截止頻率(fc1/(2*RL*Cout))提高。分別測(cè)試,發(fā)現(xiàn)10uF/4.7uF最為合適,這是我的經(jīng)驗(yàn)值。
27、160; 7、電源的處理,也很關(guān)鍵。如果系統(tǒng)中有多組電源,由于電壓不同、負(fù)載不同以與并聯(lián)的去耦電容不同,每組電源的上升、下降時(shí)間必有差異。非??尚械姆椒ǎ簩⑸想?、掉電時(shí)間短的電源放到+12V處,選擇上升相對(duì)較慢的電源作為L(zhǎng)M386的Vs,但不要低于4V,效果確實(shí)不錯(cuò)!4模塊原理4.1 4X4行列式鍵盤識(shí)別 組成鍵盤的按鍵有機(jī)械式、電容式、導(dǎo)電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個(gè)使電路接通與斷開的開關(guān)。目前微機(jī)系統(tǒng)中使用的鍵盤按其功能不同,通??煞譃榫幋a鍵盤和非編碼鍵盤兩種基本類型。 編碼鍵盤:鍵盤
28、本身帶有實(shí)現(xiàn)接口主要功能所需的硬件電路。不僅能自動(dòng)檢測(cè)被按下的鍵,并完成去抖動(dòng)、防串鍵等功能,而且能提供與被按鍵功能對(duì)應(yīng)的鍵碼(如ASCII碼)送往CPU。所以,編碼鍵盤接口簡(jiǎn)單、使用方便。但由于硬件電路較復(fù)雜,因而價(jià)格較貴。 非編碼鍵盤:鍵盤只簡(jiǎn)單地提供按鍵開關(guān)的行列矩陣。有關(guān)按鍵的識(shí)別、鍵碼的確定與輸入、去抖動(dòng)等功能均由軟件完成。目前微機(jī)系統(tǒng)中,一般為了降低成本大多數(shù)采用非編碼鍵盤。 鍵盤接口必須具有去抖動(dòng)、防串鍵、按鍵識(shí)別和鍵碼產(chǎn)生4個(gè)基本功能。 (1)去抖動(dòng):每個(gè)按鍵在按下或松開時(shí)
29、,都會(huì)產(chǎn)生短時(shí)間的抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間與鍵的質(zhì)量相關(guān),一般為520mm。所謂抖動(dòng)是指在識(shí)別被按鍵是必須避開抖動(dòng)狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識(shí)別正確無(wú)誤。去抖問(wèn)題可通過(guò)軟件延時(shí)或硬件電路解決。 (2)防串鍵:防串鍵是為了解決多個(gè)鍵同時(shí)按下或者前一按鍵沒(méi)有釋放又有新的按鍵按下時(shí)產(chǎn)生的問(wèn)題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個(gè)或兩個(gè)以上的按鍵按下時(shí),只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪回,是當(dāng)檢測(cè)到有多個(gè)鍵被按下時(shí),能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。 (3)被按鍵識(shí)別:如何識(shí)別被按鍵是接口解
30、決的主要問(wèn)題,一般可通過(guò)軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的基本思想是,由程序?qū)︽I盤逐行掃描,通過(guò)檢測(cè)到的列輸出狀態(tài)來(lái)確定閉合鍵,為此,需要設(shè)置入口、輸出口一個(gè),該方法在微機(jī)系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的基本思想是通過(guò)行列顛倒兩次掃描來(lái)識(shí)別閉合鍵,為此需要提供兩個(gè)可編程的雙向輸入/輸出端口。 (4)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,一般在存區(qū)中建立一個(gè)鍵盤編碼表,通過(guò)查表獲得被按鍵的鍵碼。 用AT89S51的并行口P1接4×4矩陣鍵盤,以P1.0P1.3作輸入線,以P1.4P1
31、.7作輸出線; 圖4-1 鍵盤識(shí)別模塊4.1.1 系統(tǒng)板上硬件連線設(shè)計(jì) 鍵盤模塊硬件連線如圖4-1所示:(1把“單片機(jī)系統(tǒng)“區(qū)域中的P3.0P3.7端口用8芯排線連接到“4X4行列式鍵盤”區(qū)域中的C1C4R1R4端口上;4.1.2 程序設(shè)計(jì)要求 (1 4×4矩陣鍵盤識(shí)別處理。 (2每個(gè)按鍵有它的行值和
32、列值,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩陣的行線和列線分別通過(guò)兩并行接口和CPU通信。每個(gè)按鍵的狀態(tài)同樣需變成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過(guò)電阻接VCC,而接地是通過(guò)程序輸出數(shù)字“0”實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無(wú)鍵按下,判斷哪一個(gè)鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地,另一個(gè)并行口輸入按鍵狀態(tài),由行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵,通過(guò)軟件查表,查出該鍵的功能。4.1.3 鍵盤識(shí)別程序框圖 鍵盤識(shí)別程序框圖如圖4-2所示:
33、60; 圖4-2 鍵盤識(shí)別程序框圖4.2 觸摸式模塊的實(shí)現(xiàn)原理與分析圖4-3觸摸式開關(guān)電路從圖4-3中,開始通電時(shí),由于繼電器不吸合,電器電源回路未接通而不工作。當(dāng)用手指接觸金屬片A時(shí),人體感應(yīng)信號(hào)加至BG3基極,令其導(dǎo)通R1獲得壓降,使BG2正偏導(dǎo)通,繼而BG1導(dǎo)通,LED點(diǎn)亮,同時(shí)繼電器J得電流動(dòng)作其常開觸點(diǎn)吸合,接通電器電源回路,電器開始工作。此時(shí),手指離開金屬觸片A,繼電器常開觸點(diǎn)Jk仍可靠地吸合。當(dāng)需要關(guān)閉用
34、電器時(shí)用戶只要觸摸金屬片B,使BG4導(dǎo)通,此時(shí)相當(dāng)于BG1基極對(duì)地短路因此BG1、BG2同時(shí)截止,繼電器失去電流觸點(diǎn)Jk釋放,從而切斷電器供電電源。所需元件按照電路圖中的標(biāo)注選擇,繼電器可根據(jù)用電器的功率選擇觸點(diǎn)電流合適的即可。4.3.1單片機(jī)產(chǎn)生音樂(lè)原理 樂(lè)音實(shí)際上是有固定周期的信號(hào)。我們可以用AT89s51的一個(gè)定時(shí)器(如T1)控制,在P34腳上輸出方波周期信號(hào),產(chǎn)生樂(lè)音。根據(jù)不同的按鍵,調(diào)節(jié)T1的溢出時(shí)間,可輸出不同頻率的樂(lè)音,每個(gè)樂(lè)音的音高(頻率)是固定的,表1列出了一個(gè)8度以與其上下共16個(gè)音的音名、頻率與定時(shí)器T1初值對(duì)照(設(shè)晶體頻率為6MHz),供參考4-4圖4-4音名,頻率,與
35、T1初值對(duì)照表4.3.2音樂(lè)產(chǎn)生程序原理圖圖4-5音樂(lè)產(chǎn)生原理程序圖5PCB電路板圖6匯編程序KEYBUF EQU 30H ;KEYBUF 定義為,30HSTH0 EQU 31H ;STH0 定義為,31HSTL0 EQU 32H ;STL0 定義為,32HTEMP EQU 33H ;TEMP 定義為,33HORG 00H ;定義當(dāng)前位置為 00HLJMP START ;長(zhǎng)轉(zhuǎn)移到 STARTORG 0BH ;定義當(dāng)前位置為 0BHLJMP INT_T0 ;長(zhǎng)轉(zhuǎn)移到 INT_T0START:MOV TMOD,#01H ;傳送 TMOD,立即數(shù)01HSETB ET0 ;位-置1 ET0SETB E
36、A ;位-置1 EAWAIT: ; MOV P3,#0FFH ;傳送接口3,立即數(shù)0FFHCLR P3.4 ;清0 接口3第4位MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存器A,立即數(shù)0FHJZ NOKEY1 ;寄存器為0轉(zhuǎn)移 NOKEY1LCALL DELY10MS ;長(zhǎng)調(diào)用 DELY10MSMOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存器A,立即數(shù)0FHJZ NOKEY1 ;寄存器為0轉(zhuǎn)移 NOKEY1LCALL DE
37、LY10MS ;長(zhǎng)調(diào)用 DELY10MSMOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHCJNE A,#0EH,NK1 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0EH,MOV KEYBUF,#0 ;傳送 KEYBUF,立即數(shù)LJMP DK1 ;長(zhǎng)轉(zhuǎn)移到 DK1NK1:CJNE A,#0DH,NK2 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0DH,MOV KEYBUF,#1 ;傳送 KEYBUF,立即數(shù)1LJMP DK1 ;長(zhǎng)轉(zhuǎn)移到 DK1NK2:CJNE A,#0BH,NK3 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0BH,MOV KEYBUF ,#2 ;傳送 KEYBU
38、F ,立即數(shù)2LJMP DK1 ;長(zhǎng)轉(zhuǎn)移到 DK1NK3:CJNE A,#07H,NK4 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)07H,MOV KEYBUF ,#3 ;傳送 KEYBUF ,立即數(shù)3LJMP DK1 ;長(zhǎng)轉(zhuǎn)移到 DK1NK4:NOP ;空操作DK1: ; MOV A ,KEYBUF ;傳送 A ,KEYBUFMOV DPTR,#TABLE ;傳送 DPTR,立即數(shù)TABLEMOVC A,A+DPTR ;程序存儲(chǔ)器-讀寄存器A,A+DPTR指向的單元的容MOV P0,A ;傳送接口0,寄存器AMOV A,KEYBUF ;傳送寄存器A,KEYBUFMOV B,#2 ;傳送 B,立即數(shù)2M
39、UL AB ;兩數(shù)相乘 ABMOV TEMP,A ;傳送 TEMP,寄存器AMOV DPTR,#TABLE1 ;傳送 DPTR,立即數(shù)TABLE1MOVC A,A+DPTR ;程序存儲(chǔ)器-讀寄存器A,A+DPTR指向的單元的容MOV STH0,A ;傳送 STH0,寄存器AMOV TH0,A ;傳送 TH0,寄存器AINC TEMP ;加1 TEMPMOV A,TEMP ;傳送寄存器A,TEMPMOVC A,A+DPTR ;程序存儲(chǔ)器-讀寄存器A,A+DPTR指向的單元的容MOV STL0,A ;傳送 STL0,寄存器AMOV TL0,A ;傳送 TL0,寄存器ASETB TR0 ;位-置1
40、TR0DK1A:MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存器A,立即數(shù)0FHJNZ DK1A ;寄存器不為0轉(zhuǎn)移 DK1ACLR TR0 ;清0 TR0NOKEY1: ; MOV P3,#0FFH ;傳送接口3,立即數(shù)0FFHCLR P3.5 ;清0 接口3第5位MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存器A,立即數(shù)0FHJZ NOKEY2 ;寄存器為0轉(zhuǎn)移 NOKEY2LCALL DELY10MS ;長(zhǎng)調(diào)用 DEL
41、Y10MSMOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHJZ NOKEY2 ;寄存器為0轉(zhuǎn)移 NOKEY2MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHCJNE A,#0EH,Nk5 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0EH,MOV KEYBUF,#4 ;傳送 KEYBUF,立即數(shù)4LJMP DK2 ;長(zhǎng)轉(zhuǎn)移到 DK2NK5:CJNE A,#0DH,NK6 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0DH,MOV KEYBUF,#5 ;傳送 KEYBUF,立即數(shù)5LJMP DK2 ;長(zhǎng)轉(zhuǎn)移到 DK2NK6:CJ
42、NE A,#0BH,NK7 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0BH,MOV KEYBUF,#6 ;傳送 KEYBUF,立即數(shù)6LJMP DK2 ;長(zhǎng)轉(zhuǎn)移到 DK2NK7:CJNE A,#07H,NK8 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)07H,MOV KEYBUF,#7 ;傳送 KEYBUF,立即數(shù)7LJMP DK2 ;長(zhǎng)轉(zhuǎn)移到 DK2NK8:NOP ;空操作DK2: ; MOV A,KEYBUF ;傳送寄存器A,KEYBUFMOV DPTR,#TABLE ;傳送 DPTR,立即數(shù)TABLEMOVC A,A+DPTR ;程序存儲(chǔ)器-讀寄存器A,A+DPTR指向的單元的容MOV P0,A ;傳送接
43、口0,寄存器AMOV A,KEYBUF ;傳送寄存器A,KEYBUFMOV B,#2 ;傳送 B,立即數(shù)2MUL AB ;兩數(shù)相乘 ABMOV TEMP,A ;傳送 TEMP,寄存器AMOV DPTR,#TABLE1 ;傳送 DPTR,立即數(shù)TABLE1MOVC A,A+DPTR ;程序存儲(chǔ)器-讀寄存器A,A+DPTR指向的單元的容MOV STH0,A ;傳送 STH0,寄存器AMOV TL0,A ;傳送 TL0,寄存器ASETB TR0 ;位-置1 TR0DK2A:MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或
44、寄存器A,立即數(shù)0FHJNZ DK2A ;寄存器不為0轉(zhuǎn)移 DK2ACLR TR0 ;清0 TR0NOKEY2: ; MOV P3,#0FFH ;傳送接口3,立即數(shù)0FFHCLR P3.6 ;清0 接口3第6位MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存器A,立即數(shù)0FHJZ NOKEY3 ;寄存器為0轉(zhuǎn)移 NOKEY3LCALL DELY10MS ;長(zhǎng)調(diào)用 DELY10MSMOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存器
45、A,立即數(shù)0FHJZ NOKEY3 ;寄存器為0轉(zhuǎn)移 NOKEY3MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHCJNE A,#0EH,NK9 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0EH,MOV KEYBUF,#8 ;傳送 KEYBUF,立即數(shù)8LJMP DK3 ;長(zhǎng)轉(zhuǎn)移到 DK3NK9:CJNE A,#0DH,NK10 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0DH,MOV KEYBUF,#9 ;傳送 KEYBUF,立即數(shù)9LJMP DK3 ;長(zhǎng)轉(zhuǎn)移到 DK3NK10:CJNE A,#0BH,NK11 ;比較-不等轉(zhuǎn)移寄存器A,立即數(shù)0BH,MOV KEY
46、BUF,#10 ;傳送 KEYBUF,立即數(shù)10LJMP DK3 ;長(zhǎng)轉(zhuǎn)移到 DK3NK11:NOP ;空操作DK3: ; MOV A,KEYBUF ;傳送寄存器A,KEYBUFMOV DPTR,#TABLE ;傳送 DPTR,立即數(shù)TABLEMOVC A,A+DPTR ;程序存儲(chǔ)器-讀寄存器A,A+DPTR指向的單元的容MOV P0,A ;傳送接口0,寄存器AMUL AB ;兩數(shù)相乘 ABMOV TEMP,A ;傳送 TEMP,寄存器AMOV DPTR,#TABLE1 ;傳送 DPTR,立即數(shù)TABLE1MOVC A,A+DPTR ;程序存儲(chǔ)器-讀寄存器A,A+DPTR指向的單元的容MOV
47、STH0,A ;傳送 STH0,寄存器AMOV TH0,A ;傳送 TH0,寄存器ASETB TR0 ;位-置1 TR0DK3A:MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存器A,立即數(shù)0FHJNZ DK3A ;寄存器不為0轉(zhuǎn)移 DK3ACLR TR0 ;清0 TR0NOKEY3: ; MOV P3,#0FFH ;傳送接口3,立即數(shù)0FFHCLR P3.7 ;清0 接口3第7位MOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存
48、器A,立即數(shù)0FHJZ NOKEY4 ;寄存器為0轉(zhuǎn)移 NOKEY4LCALL DELY10MS ;長(zhǎng)調(diào)用 DELY10MSMOV A,P3 ;傳送寄存器A,接口3ANL A,#0FH ;邏輯-與寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或寄存器A,立即數(shù)0FHJZ NOKEY4 ;寄存器為0轉(zhuǎn)移 NOKEY4MOV A,P3 ;傳送 寄存器A,接口3ANL A,#0FH ;邏輯-與 寄存器A,立即數(shù)0FHCJNE A,#0EH,NK13 ;比較-不等轉(zhuǎn)移 寄存器A,立即數(shù)0EH,MOV KEYBUF,#12 ;傳送 KEYBUF,立即數(shù)12LJMP DK4 ;長(zhǎng)轉(zhuǎn)移到 DK4NK
49、13:CJNE A,#0DH,NK14 ;比較-不等轉(zhuǎn)移 寄存器A,立即數(shù)0DH,MOV KEYBUF,#13 ;傳送 KEYBUF,立即數(shù)13LJMP DK4 ;長(zhǎng)轉(zhuǎn)移到 DK4,NK14:CJNE A,#0BH,NK15 ;比較-不等轉(zhuǎn)移 寄存器A,立即數(shù)0BH,MOV KEYBUF,#14 ;傳送 KEYBUF,立即數(shù)14LJMP DK4 ;長(zhǎng)轉(zhuǎn)移到 DK4NK15:CJNE A,#0BH,NK16 ;比較-不等轉(zhuǎn)移 寄存器A,立即數(shù)0BH,MOV KEYBUF ,#15 ;傳送 KEYBUF ,立即數(shù)15LJMP DK4 ;長(zhǎng)轉(zhuǎn)移到 DK4NK16:NOP ;空操作 DK4: ; MO
50、V A,KEYBUF ;傳送 寄存器A,KEYBUFMOV DPTR,#TABLE ;傳送 DPTR,立即數(shù)TABLEMOVC A,A+DPTR ;程序存儲(chǔ)器-讀 寄存器A,A+DPTR指向的單元的容MOV P0,A ;傳送 接口0,寄存器AMOV A,KEYBUF ;傳送 寄存器A,KEYBUFMOV B,#2 ;傳送 B,立即數(shù)2MUL AB ;兩數(shù)相乘 ABMOV TEMP,A ;傳送 TEMP,寄存器AMOV DPTR,#TABLE1 ;傳送 DPTR,立即數(shù)TABLE1MOVC A,A+DPTR ;程序存儲(chǔ)器-讀 寄存器A,A+DPTR指向的單元的容MOV STH0,A ;傳送 ST
51、H0,寄存器AMOV TH0,A ;傳送 TH0,寄存器AINC TEMP ;加1 TEMPMOV A,TEMP ;傳送 寄存器A,TEMPMOVC A,A+DPTR ;程序存儲(chǔ)器-讀 寄存器A,A+DPTR指向的單元的容MOV STL0,A ;傳送 STL0,寄存器AMOV TL0,A ;傳送 TL0,寄存器ASETB TR0 ;位-置1 TR0DK4A:MOV A,P3 ;傳送 寄存器A,接口3ANL A,#0FH ;邏輯-與 寄存器A,立即數(shù)0FHXRL A,#0FH ;邏輯-異或 寄存器A,立即數(shù)0FHJNZ DK4A ;寄存器不為0轉(zhuǎn)移 DK4ACLR TR0 ;清0 TR0NOKE
52、Y4: ; LJMP WAIT ;長(zhǎng)轉(zhuǎn)移到 WAITDELY10MS: ; MOV R6,#10 ;傳送 通用寄存器6,立即數(shù)10 D1:MOV R7,#248 ;傳送 通用寄存器7,立即數(shù)248DJNZ R7,$ ;減一不為0轉(zhuǎn)移 通用寄存器7,到本行DJNZ R6,D1 ;減一不為0轉(zhuǎn)移 通用寄存器6,D1RET ;子程序返回INT_T0: ; MOV TH0,STH0 ;傳送 TH0,STH0MOV TL0,STL0 ;傳送 TL0,STL0CPL P1.0 ;取反接口1第0位RETI ;中斷返回TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;程序空間
53、定義數(shù)據(jù) 3FH,06H,DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;程序空間定義數(shù)據(jù) 7FH,6FH,TABLE1:DW 64021,64103,64260,64400 ;DW64021,64103,DW 64524,64580,64684,64777 ;DW64524,64580,DW 64820,64898,64968,65030 ;DW64820,64898,DW 65058,65110,65157,65178 ;DW65058,65110,END ;END 畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作與
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銅仁學(xué)院《材料熱力學(xué)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 銅陵職業(yè)技術(shù)學(xué)院《紀(jì)錄片創(chuàng)作聲音制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 銅陵學(xué)院《羽毛球選項(xiàng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 完整版100以內(nèi)加減法混合運(yùn)算4000道100
- 完整版100以內(nèi)加減法混合運(yùn)算4000道84
- 銅川職業(yè)技術(shù)學(xué)院《機(jī)械制造技術(shù)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 桐城師范高等??茖W(xué)校《云平臺(tái)構(gòu)建與管理實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)數(shù)學(xué)二年級(jí)第二學(xué)期口算計(jì)算共5061道題
- 小學(xué)數(shù)學(xué)二年級(jí)第二學(xué)期口算計(jì)算共5139道題
- 小學(xué)數(shù)學(xué)二年級(jí)第二學(xué)期口算計(jì)算共5186道題
- 2024-2025年第一學(xué)期小學(xué)德育工作總結(jié):點(diǎn)亮德育燈塔引領(lǐng)小學(xué)生全面成長(zhǎng)的逐夢(mèng)之旅
- 《SYT6848-2023地下儲(chǔ)氣庫(kù)設(shè)計(jì)規(guī)范》
- 2024至2030年中國(guó)甲醚化氨基樹脂行業(yè)投資前景及策略咨詢研究報(bào)告
- 行政案例分析-第二次形成性考核-國(guó)開(SC)-參考資料
- 2024-2025學(xué)年人教版八年級(jí)上學(xué)期數(shù)學(xué)期末復(fù)習(xí)試題(含答案)
- 【MOOC】中級(jí)財(cái)務(wù)會(huì)計(jì)-北京交通大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- “感恩老師”教師節(jié)主題班會(huì)教案【三篇】
- 《園林政策與法規(guī)》課件
- 讀書分享《終身成長(zhǎng)》課件
- GB/T 44843-2024在用自動(dòng)扶梯和自動(dòng)人行道安全評(píng)估規(guī)范
- 廣東省廣州市2023-2024學(xué)年六年級(jí)上學(xué)期語(yǔ)文期末試卷(含答案)
評(píng)論
0/150
提交評(píng)論