2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本科畢業(yè)設計(論文)</p><p><b> ?。?0 屆)</b></p><p>  基于單片機的音樂流水燈設計</p><p><b>  目 錄</b></p><p><b>  摘要III</b></p><p>

2、;  AbstractIV</p><p>  第一章 前 言1</p><p>  第二章 概 述2</p><p>  2.1 設計目的與要求2</p><p>  2.2 方案選擇2</p><p>  2.3 單片機的定義2</p><p>  2.4 單片機的發(fā)

3、展概述3</p><p>  2.5 單片機硬、軟件概述3</p><p>  2.6 單片機引腳概述4</p><p>  第三章 硬件設計6</p><p>  3.1 80C51單片機介紹6</p><p>  3.1.1 80C51單片機內(nèi)部結構6</p><p>

4、  3.1.2 單片機的定時器/計數(shù)器7</p><p>  3.1.3 中斷8</p><p>  3.2 電源電路9</p><p>  3.3 復位電路9</p><p>  3.4 晶振電路10</p><p>  3.5 流水燈電路11</p><p>  3.

5、6 蜂鳴器電路11</p><p>  第四章 軟件設計13</p><p>  4.1 Keil c51軟件介紹13</p><p>  4.1.1 KeilC51集成開發(fā)環(huán)境的主要功能13</p><p>  4.1.2 編輯器和調(diào)試器13</p><p>  4.1.3 C51編譯器14&

6、lt;/p><p>  4.2 MCS-51單片機軟件Keil c51開發(fā)過程15</p><p>  4.3 單片機應用系統(tǒng)軟件設計事項15</p><p>  4.4 Proteus仿真軟件介紹16</p><p>  4.5 音樂流水燈程序設計16</p><p><b>  總 結30&

7、lt;/b></p><p><b>  參考文獻31</b></p><p>  附錄A 仿真結構圖32</p><p><b>  致 謝33</b></p><p>  基于單片機的音樂流水燈</p><p><b>  摘要</b>&

8、lt;/p><p>  芯片技術隨著經(jīng)濟的發(fā)展、科技的進步也得到了飛速發(fā)展,使單片機技術在各種民用和工業(yè)測控等領域得到了更為廣泛的應用。單片機技術包含了硬、軟兩個方面的技術。硬件是以單片機為核心,再加以其他各元器件組成的電子電路的一個實體。它既是單片機技術,又有電子類專業(yè)所必須掌握的模擬、數(shù)字、高頻等電子電路的綜合運用。</p><p>  此次畢業(yè)設計的目的是讓電子專業(yè)的畢業(yè)生通過自己的努力

9、,綜合運用各方面的專業(yè)知識,掌握一定的電子產(chǎn)品的設計、制作技能和調(diào)試技術,鞏固電子技術的理論知識,鍛煉和提高學生的動手能力和綜合運用知識解決實際問題的能力。本文設計了一種基于單片機的音樂流水燈,介紹了以80C51單片機為核心控制器件和外圍電路以及與之相配套的軟件等構成的音樂流水燈系統(tǒng)的設計,該系統(tǒng)其實就是一個帶了8個發(fā)光二極管的單片機最小應用系統(tǒng),主要是通過單片機的定時中斷功能來實現(xiàn)音樂和流水燈的完美結合。</p><

10、;p>  關鍵詞:80C51單片機;發(fā)光二極管;蜂鳴器</p><p>  Music Water Lamp Based on SCM </p><p><b>  Abstract</b></p><p>  Chip technology with the development of economy, the progress of

11、 science and technology also got rapid development, make SCM technology in all kinds of civil and industrial measurement etc got more widely. Single chip microcomputer contains two aspects of hardware and software of the

12、 technology. Hardware based on singlechip, again to the other components of electronic circuits of an entity. It is both single chip microcomputer, and electronic speciality must grasp to analog and digital, high fre<

13、/p><p>  The graduation design, the purpose is to let the electronic graduates, through their own efforts, comprehensive use of various aspects of professional knowledge, grasps certain electronic product desig

14、n, production skills and debug technology, consolidate electronic technology theory knowledge, exercise and improve students' practicalability and comprehensive utilization knowledge solution actual problem ability.

15、Thispaper introduces a design based on SCM music running water, introduces the lamp</p><p>  Keywords:80C51 SCM,Leds,buzzer</p><p><b>  第一章 前 言</b></p><p>  單片機技術飛速發(fā)展,單

16、片機的廣泛應用已經(jīng)滲透到國民經(jīng)濟的各個領域,處處影響著人們的生活,它們的出現(xiàn)給現(xiàn)代工業(yè)測控領域帶來了一次新的技術革命。目前,單片機憑借其高成本低、高性能高、高可靠性,已經(jīng)成為微電腦控制的主力軍。據(jù)統(tǒng)計,我國的單片機需求量達2億片以上,而且每年以大約15%的速度增長,發(fā)展迅速的單片機行業(yè)有著廣闊前景。</p><p>  單片機以其高可靠性、高性價比在工業(yè)測控系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能儀器儀表、只能家電等諸多領域得到

17、廣泛的應用,因此,單片機應用技術是作為將要從事單片機開發(fā)方向的技術人員所必需掌握的。學習單片機的最有效方法就是理論與實踐并重,所以,通過單片機音樂流水燈系統(tǒng)的設計和研究,對于切實掌握單片機相關知識具有重要的理論和實際意義。</p><p>  目前,國內(nèi)外對于單片機流水燈的研究,是通過軟硬件結合,構造出最簡單的流水燈,在此基礎上擴展出更為復雜的流水燈控制,比如鍵盤控制流水花樣、控制流水燈顯示數(shù)字或圖案等等。另外有

18、關單片機音樂的研究,主要是針對單片機演奏音樂時音調(diào)和節(jié)拍的確定方法,以期產(chǎn)生更加純正的音色來。由于這兩個方面的研究比較成熟,因而就衍生出了單片機音樂流水燈的研究,詳細了解并掌握音樂流水燈的理論基礎和實踐,對于單片機的學習將會產(chǎn)生不可估量的作用。</p><p><b>  第二章 概 述</b></p><p>  2.1 設計目的與要求</p>&

19、lt;p>  本次音樂流水燈系統(tǒng)的設計著重是介紹通過單片機相關的原理,最主要的就是單片機系統(tǒng)的定時中斷功能,來實現(xiàn)基于單片機的流水燈與音樂播放的完美結合.也既是通過定時器定時中斷所產(chǎn)生的頻率來控制,使流水燈的流水狀態(tài)和音樂的播放節(jié)奏規(guī)律地變化.</p><p><b>  2.2 方案選擇</b></p><p>  方案一:基于 FPGA的音樂流水燈設計方案

20、: FPGA是現(xiàn)場可編程門陣列的簡稱, 通過 FPGA實現(xiàn)音樂流水燈的控制, 實質(zhì)上就是將不同音階與特定頻率的方波信號對應起來, 以方波信號驅(qū)動蜂鳴器發(fā)出音樂, 再根據(jù)不同音階來控制流水燈的閃爍。采用硬件描述語言對其進行描述, 分別實現(xiàn)樂曲的播放和同步流水燈的閃爍[1]。但是這個方案系統(tǒng)接線復雜、系統(tǒng)成本較高,用軟件實現(xiàn)比較經(jīng)濟 。</p><p>  方案二:基于單片機的音樂流水燈設計方案:單片機具有體積小、功

21、能強、成本低等特點,以單片機為核心控制器件來設計的音樂流水燈系統(tǒng),實際上也就是一個帶多個發(fā)光二級管的單片機最小應用系統(tǒng)。它通過單片機的定時中斷產(chǎn)生不同的頻率來控制音樂的播放和流水燈的閃爍狀況,使音樂的播放和流水燈的閃爍同步變化,實現(xiàn)音樂和流水燈的完美結合。此種設計的硬件結構極為簡單,只需配以相應的軟件程序設計就能實現(xiàn)。音樂流水燈在廣告牌、公共娛樂場所等很多方面都有應用,采用單片機來控制音樂流水燈方式更靈活,功能也更強大[2]。</

22、p><p>  2.3 單片機的定義</p><p>  單片機全稱為單片微型計算機(Single Chip Microcomputer)。因為單片機主要用于控制系統(tǒng)中,所以又稱微控制器(Microcomputer Unit,MCU)或嵌入式控制器(Embedded Controller)。它不是完成某一邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。通常片內(nèi)都含有中央處理部件(CPU

23、)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM、EPROM、Flash ROM)、定時器/計數(shù)器和各種輸入/輸出(I/O)接口。它具有體積小、使用靈活方便、成本低、易于產(chǎn)品化、抗干擾能力強、可在各種惡劣的環(huán)境下可靠地工作等特點[3]。</p><p><b>  單片機的應用領域:</b></p><p><b>  工業(yè)自動化方面;</b><

24、;/p><p><b>  儀器儀表方面;</b></p><p><b>  家用電器方面;</b></p><p>  信息和通信產(chǎn)品方面;</p><p><b>  軍事裝備方面。</b></p><p>  2.4 單片機的發(fā)展概述</p&

25、gt;<p>  單片機發(fā)展至今已30余年,以8位單片機的誕生為起點,大致分三個階段:</p><p>  第一階段:(單片機的初級階段1974~1978年):以Intel公司生產(chǎn)的MCS-48單片機系列為代表,該系列單片機內(nèi)集成了一個8位CPU、一個8位平行I/O口和一個8位定時器/計數(shù)器,片內(nèi)存儲器RAM、ROM容量較小,尋址范圍均不大于4KB,無串行接口等。</p><p&

26、gt;  第二階段:(單片機的高性能階段1978~1982年):此階段的推出的單片機都有串行接口、16位定時器/計數(shù)器和多級中斷控制系統(tǒng),片內(nèi)RAM、ROM容量也都增加,而且尋址范圍均可達64KB。這類單片機以Intel公司的MCS-51系列單片機為主流。</p><p>  第三階段:(8位單片機的鞏固發(fā)展和16位、32位單片機的推出階段1982年至今):這個階段,一方面推出16位、32位單片機和專用機,另一方

27、面不斷完善和提高8位單片機的性能。目前以Intel公司的MCS-96/196系列、TI公司的MSP430系列、Motorola的68HC12系列、日立公司的H8/3048系列為主。其中,32位單片機是今后單片機發(fā)展的趨勢。隨著計算機制造技術和大規(guī)模集成電路技術的發(fā)展,開發(fā)、生產(chǎn)低價的32位機將會和8位單片機并駕齊驅(qū) 。</p><p>  單片機技術正以驚人的速度向前發(fā)展,就已出現(xiàn)的單片機而言也正在以其各自獨特的

28、優(yōu)點或先進的技術在進行挑戰(zhàn),主要表現(xiàn)在幾個方面:CPU的發(fā)展、片內(nèi)存儲器的發(fā)展、加強片內(nèi)輸入/輸出接口功能、半導體工藝技術的發(fā)展、低噪音和高可靠性技術、ISP(在線編程技術)及IAP(在應用中編程技術)等[4]。</p><p>  2.5 單片機硬、軟件概述</p><p>  在單片機的應用中,以單片機芯片為核心組建的一個能完成特定功能的硬件組合實體,稱為單片機的硬件系統(tǒng)。它能在我們

29、為它所編制的程序下完成預定的任務。</p><p>  軟件是相對于硬件而言的,是指由計算機硬件來執(zhí)行,用來完成一定任務的所有程序及數(shù)據(jù),即為運行、管理和維護計算機所編制的程序的總和。</p><p>  單片機的軟件系統(tǒng)比較簡單,它不需要復雜的操作系統(tǒng)來進行系統(tǒng)管理,只使用于管理單片機系統(tǒng)工作的管理程序和用于完成實際具體任務的應用程序。而對于簡單的單片機應用系統(tǒng),只要有為實現(xiàn)控制目的而直

30、接運用的應用程序就行了。本文中的音樂流水燈實際上就是一個帶了8個發(fā)光二極管的80C51單片機最小應用系統(tǒng)【5】。</p><p>  2.6 單片機引腳概述</p><p>  80C51單片機40個引腳功能大致可分為4個種類:電源、時鐘、控制和I/O引腳[5]。</p><p><b>  電源:</b></p><p&

31、gt;  VCC—芯片電源,接+5V;</p><p><b>  VSS—接地端;</b></p><p>  時鐘:XTAL1、XTAL2—晶體振蕩電路反相輸入輸出端;</p><p><b>  控制線:</b></p><p>  ALE/PROG:地址鎖存/片內(nèi)EPROM編程脈沖;<

32、/p><p>  PSEN:外ROM讀選通信號;</p><p>  RST/VPD:復位/備用電源;</p><p>  EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。</p><p>  I/O端口:80C51有4個8位并行I/O端口:P0、P1、P2、P3口,共有32個引腳。P3口的8個具有第二功能,用于特殊信號的輸入輸出和控制信號

33、(屬控制總線)。</p><p>  P3口第二功能如下:</p><p>  P3.0——RXD:串行口輸入端;</p><p>  P3.1——TXD:串行口輸出端;</p><p>  P3.2——INT0:外部中斷0請求輸入端;</p><p>  P3.3——INT1:外部中斷1請求輸入端;</p&g

34、t;<p>  P3.4——T0:定時/計數(shù)器0外部信號輸入端;</p><p>  P3.5——T1:定時/計數(shù)器1外部信號輸入端;</p><p>  P3.6——WR:外RAM寫選通信號輸出端;</p><p>  P3.7——RD:外RAM讀選通信號輸出端。</p><p>  上述4個I/O口,各有各的用途。在不并行擴

35、展外存儲器(包括并行擴展I/O口)時,4個I/O口都可作為雙向I/O口用。在并行擴展外存儲器(包括并行擴展I/O口)時,P0口專用于分時傳送低8位地址信號和8位數(shù)據(jù)信號,P2口專用于傳送高8位地址信號。P3口根據(jù)需要常用于第二功能,真正可提供給用戶使用的I/O口是P1口和一部分未用作第二功能的P3口端線[6][7]。</p><p>  圖2.1 80C51單片機引腳圖</p><p>

36、<b>  第三章 硬件設計</b></p><p>  3.1 80C51單片機介紹</p><p>  3.1.1 80C51單片機內(nèi)部結構</p><p>  80C51芯片內(nèi)部集成了CPU、RAM、ROM、定時/計數(shù)器和I/O口等各功能部件,并由內(nèi)部總線把這些部件連接在一起[8]。</p><p>  80

37、C51單片機內(nèi)部包含以下一些功能部件:</p><p><b>  一個8位CPU;</b></p><p>  一個片內(nèi)振蕩器和時鐘電路;</p><p>  4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片內(nèi)有無ROM);</p><p><b>  128B內(nèi)RA

38、M;</b></p><p>  可尋址64KB的外ROM和外RAM控制電路;</p><p>  兩個16位定時/計數(shù)器;</p><p>  21個特許功能寄存器;</p><p>  4個8位并行I/O口,共32條可編程I/O端線;</p><p>  一個可編程全雙工串行口;</p>

39、<p>  5個中斷源,可設置成2個優(yōu)先級。</p><p>  80C51單片機功能圖如下圖3.1所示</p><p>  圖3.1 80C51單片機功能結構框圖</p><p>  3.1.2 單片機的定時器/計數(shù)器</p><p>  1.定時器/計數(shù)器的組成結構</p><p>  MCS-51

40、單片機內(nèi)部有兩個16 位的加法計數(shù)器,能夠用于定時控制和對外部事件的計數(shù)。當用于定時操作時,也就是通過計數(shù)器對單片機內(nèi)部時鐘電路產(chǎn)生的固定周期脈沖信號進行加法計數(shù);當用于計數(shù)操作時,其實也就是對外部事件產(chǎn)生的脈沖信號進行加法計數(shù)。如果計數(shù)器事先設置的初始狀態(tài)不同,那么從開始計數(shù)到計滿溢出為止所用的時間也就不同。因此,使用T0 或T1 時要為其設置初始值,可通過軟件完成。定時器/計數(shù)器T0 由兩個8位的特殊功能寄存器(TH0 和TL0)組

41、成,T1 由TH1 和TL1組成。定時、計數(shù)功能是通過兩個特殊功能寄存器(TMOD 和TCON)控制的。</p><p>  2.定時器/計數(shù)器的方式寄存器和控制寄存器</p><p>  定時器/計數(shù)器的方式寄存器(TMOD)用于控制T0 和T1 的操作方式,其字節(jié)地址為89H,是一個8 位的特殊功能寄存器。使用時分為高4 位和低4 位兩部分,其中高4 位控制T1,低4 位控制T0。&l

42、t;/p><p>  定時器/計數(shù)器的控制寄存器(TCON)用于控制定時器/計數(shù)器T0 或T1 的運行,是一個8 位的特殊功能寄存器,其字節(jié)地址為88H。低4 位與中斷有關,高4位中的高兩位控制T1,低兩位控制T0。</p><p>  3.定時器/計數(shù)器的編程方法和步驟</p><p>  根據(jù)要求確定TMOD 的初始值。通過設置TMOD的初始值,確定工作方式及啟動方

43、式等;</p><p>  計算不同工作方式下定時或計數(shù)的初值;</p><p>  編寫初始化程序,通過軟件控制定時器/計數(shù)器硬件電路的工作。在編寫初始化程序的過程中,要通過指令把TMOD的初始值、定時或計數(shù)的初值裝入相應寄存器中,并通過啟動T0 或T1 來計數(shù),同時采用查詢方式或中斷方式檢查計數(shù)器是否溢出,并進行相應處理。</p><p><b>  

44、3.1.3 中斷</b></p><p>  1.MCS-51的中斷系統(tǒng)結構</p><p>  MCS-51 單片機有5 個中斷源,設置兩個中斷優(yōu)先級。中斷的控制與管理由4 個特殊功能寄存器完成。</p><p>  TCON:定時器/計數(shù)器控制寄存器。某些位用于鎖存中斷源的中斷標志。</p><p>  SCON:串行口控制

45、寄存器。低兩位鎖存串行口中斷標志。</p><p>  IE:中斷允許寄存器。用于控制中斷的禁止與允許。</p><p>  IP:中斷優(yōu)先級寄存器。設定中斷源的中斷優(yōu)先級。</p><p><b>  2.中斷的定義</b></p><p>  當CPU 正在處理某件事情時,外部發(fā)生了另一件事情(如定時器/計數(shù)器溢出或

46、產(chǎn)生其他中斷請求),要求CPU 處理,于是它暫時終止當前的工作,轉(zhuǎn)去處理正發(fā)生的事件,處理完成后,再回到被中斷的地方,繼續(xù)做原來的工作,這一過程稱為中斷。</p><p>  3.中斷系統(tǒng)中的概念介紹</p><p>  在中斷系統(tǒng)中,引起中斷的原因或產(chǎn)生中斷申請的來源稱為中斷源;由中斷源向CPU發(fā)出的請求中斷信號稱為中斷請求信號;CPU 接受中斷源的中斷請求,暫停當前程序的執(zhí)行,轉(zhuǎn)而處理

47、請求事物的過程稱為中斷響應。中斷響應后所執(zhí)行的處理程序稱為中斷服務子程序,原來正常執(zhí)行的程序則稱為主程序,主程序被斷開的位置(或地址)稱為“斷點”。</p><p><b>  4.中斷的優(yōu)點</b></p><p>  實現(xiàn)分時操作:采用中斷技術后,快速的CPU 和慢速的外設可以各做各的事情。這樣,CPU 就可以管理多個外設,大大提高了它的效率。</p>

48、<p>  進行實時處理:實時控制是單片機控制系統(tǒng)中的一個重要部分。任何數(shù)據(jù)在任何時間都有可能向CPU發(fā)出中斷申請,要求處理,CPU 會根據(jù)當時的情況及時做出反應,進行實時控制。</p><p>  故障處理:計算機系統(tǒng)在運行過程中往往會出現(xiàn)一些異常情況,利用中斷技術就可以將掉電前的一切有用信息及時送入采用備用電池供電的存儲器中保護起來,正常供電后可繼續(xù)執(zhí)行原來的程序[9]。</p>

49、<p><b>  3.2 電源電路</b></p><p>  電源是每一個電子系統(tǒng)必需的組成部分,它為整個系統(tǒng)提供能量來源。電源的性能好壞直接影響整個系統(tǒng)的工作情況。該部分為單片機提供工作所需要的5V直流電源,外接220V的交流電源,經(jīng)過變壓器8V連接到J1端,隨后整流濾波穩(wěn)壓,得到5V左右的直流電源。電源電路原理圖如下3.2所示:</p><p> 

50、 圖3.2 電源電路原理圖</p><p><b>  3.3 復位電路</b></p><p>  單片機復位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,例如復位后PC=0000H,使單片機從第一個單元取指令。無論是在單片機剛開始接上電源時,還是斷電后或發(fā)生故障后都要復位。在復位期間(即RST為高電平期間),P0口為高組態(tài),P

51、1-P3口輸出高電平;外部程序存儲器讀選通信號PSEN無效。地址鎖存信號ALE也為高電平。根據(jù)實際情況選擇如圖3.3所示的復位電路。該電路在最簡單的復位電路下增加了手動復位按鍵,在接通電源瞬間,電容C1上的電容很小,復位下拉電阻上的電壓接近電源電壓,即RST為高電平,在電容充電的過程中RST端電壓逐漸下降,當RST端得電壓小于某一數(shù)值后,CPU脫離復位狀態(tài),由于電容C1足夠大,可以保證RST高電平有效時間大于24個 振蕩周期,C

52、PU能夠可靠復位。增加手動復位按鍵是為了避免了死機時無法可靠復位。當復位鍵按下后電容C1通過R5放電。當電容C1放電結束后,RST端得電位由R5與R6分壓比決定。由于R5<<R6因此RST為高電平,CPU處于復位狀態(tài),松手后,電容C1充電,RST端電位下降,CPU脫離復位狀態(tài)。R5的作用在于限制</p><p>  圖3.3 復位電路原理圖</p><p><b>

53、  3.4 晶振電路</b></p><p>  晶振是晶體振蕩器的簡稱,在電氣上它等效為一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡,在電工學上,這個網(wǎng)絡有兩個諧振點,以頻率的高低來分,較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。因晶體本身的特性導致這兩個頻率的距離非常接近,在這個相當接近的頻率范圍內(nèi),晶振等效為一個電感,因此,只要晶振兩端并聯(lián)上合適的電容,它就會組成并聯(lián)諧振電路。這個并聯(lián)諧振加

54、到一個負反饋電路中就可以構成正弦波振蕩電路,由于晶振等效為電感的頻率范圍很窄,所以即使其他元件的參數(shù)變化很大,這個振蕩器的頻率也不會有太大的變化。</p><p>  一般的晶振振蕩電路都是在一個反相放大器的兩端接入晶振,再有2個電容分別接在晶振的兩端,每個電容的另一端再接地,這兩個電容串聯(lián)的容量值就等于負載電容。需要注意的是,一般IC的引腳都有等效輸入電容,這個不能忽略。一般晶振的負載電容為15p或12.5p,

55、若考慮元件引腳的等效輸入電容,則兩個22p的電容構成晶振的振蕩電路就是比較好的選擇了[11]。如圖3.4為晶振振蕩電路原理圖:</p><p>  圖3.4 晶振振蕩電路原理圖</p><p>  3.5 流水燈電路</p><p>  如下圖3.5為流水燈原理圖,從圖中可以看出,接在P1.0上的LED若要亮起來,只需使P1.0口的電平變?yōu)榈碗娖骄托辛耍粗?,?/p>

56、要讓它熄滅,只要使P1.0口的電平變?yōu)楦唠娖骄涂梢粤恕F渌釉赑1.1—P1.7的7個LED的亮滅方法也是這樣的。因此,要實現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1—LED8依次點亮、熄滅,8只LED燈就會一亮一滅的做流水燈了。需要注意的是,因為人眼的視覺暫留效應已經(jīng)單片機執(zhí)行指令的時間較短,控制二極管亮滅時應延時一段時間,否則就看不到流水效果了 [12]。下圖3.5為流水燈原理圖:</p><p>  圖3.

57、5 流水燈原理圖</p><p>  3.6 蜂鳴器電路</p><p>  蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、報警器、電子玩具、汽車電子設備、定時器等電子產(chǎn)品中作發(fā)聲器。蜂鳴器主要分為兩種:(1)電壓式蜂鳴器;(2)電磁式蜂鳴器。</p><p>  電壓式蜂鳴器:主要由多諧振蕩器、電壓蜂鳴片、阻抗匹配及共鳴箱、外

58、客等組成。多諧振蕩器由晶體管或集成電路構成。當接通電源后(1.5—15V直流工作電壓),多諧振蕩器起振,輸出1.5—2.5kHZ的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。</p><p>  電磁式蜂鳴器:由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振蕩膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。</p><p&

59、gt;  下圖3.6為蜂鳴器驅(qū)動原理圖:</p><p>  圖3.6 蜂鳴器驅(qū)動原理圖</p><p><b>  第四章 軟件設計</b></p><p>  4.1 Keil c51軟件介紹</p><p>  4.1.1 KeilC51集成開發(fā)環(huán)境的主要功能</p><p>  K

60、eilC51 mVision2集成開發(fā)環(huán)境是KeiSoftwre,lnc/KeilElektronikGmbH開發(fā)的基于80C51內(nèi)核的微處理器軟件開發(fā)平臺,內(nèi)以多種符合當前工業(yè)標準的開發(fā)工具,可以完成從工和建立、管理,編譯,連接,目標代碼的生成,軟件訪真,硬件訪真等完整的開發(fā)流和。這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實時操作系統(tǒng),項目管理器,調(diào)試器。尤其C編譯工具在產(chǎn)生代碼的準確性和效率性達到了較高的水平,而可以附加靈活的控制選項。

61、KeilC51集成開發(fā)環(huán)境的主要環(huán)境的主要功能是以下幾點:</p><p>  mVision2 for WindowsTM:是一個集成開發(fā)環(huán)境,它將項目管理,源代碼編輯和程序調(diào)試等組合在一個功能強大的Z1環(huán)境中。</p><p>  C51國際標準優(yōu)化C交叉編譯器:從C源代碼產(chǎn)生可重定位的口標模塊。</p><p>  A51宏匯編器:從80C51匯編冤代碼產(chǎn)生可

62、重定位的口標模塊。</p><p>  BL51連接/定位器:組合由C51和A51產(chǎn)生的可重定位的目標模塊,生成絕對目標模塊。</p><p>  LIB51庫管理器:從口際模塊生成連接器可以使用的庫文件。</p><p>  OH51目標文件至HEX格式的轉(zhuǎn)換器:從絕對目標模塊生成IntelHEX文件。</p><p>  RTX-51實時

63、操作系統(tǒng):簡化了復雜的實時應用軟件項口的設計。</p><p>  這個工具套件足為專業(yè)軟件開發(fā)人員設計的,但任何層次的編程人員都可以使用,并獲得80C51微控制器的部分應用[13]。</p><p>  4.1.2 編輯器和調(diào)試器</p><p><b>  源代碼編輯器</b></p><p>  uVision2

64、編輯器包含了所有用戶熟悉的特性。彩色語法顯像和文件辯識都對C源代碼進行和優(yōu)化??梢栽诰庉嬈鲀?nèi)調(diào)試程序,它能提供一種自然的調(diào)試環(huán)境,使你更快速地檢查和修改程序。</p><p><b>  斷點 </b></p><p>  uVision2允許用戶在編輯時設置程序斷點(甚至在源代碼未經(jīng)編譯和匯編之前)。用戶啟動V2調(diào)試器之后,斷點即被激活。斷點可設置為條件表達式,變量

65、或存儲器訪問,斷點被觸發(fā)后,調(diào)試器命令或調(diào)試功能即可執(zhí)行。</p><p>  在屬性框(attributes column)中可以快速瀏覽斷點設置情況和源程序行的位置。代碼覆蓋率信息可以讓你區(qū)分程序中已執(zhí)行和未執(zhí)行的部分。 </p><p><b>  1.調(diào)試函數(shù)語言 </b></p><p>  uVision2中,你可以編寫或使用類似C

66、的數(shù)語言進行調(diào)試。 </p><p>  內(nèi)部函數(shù):如printf, memset, rand及其它功能的函數(shù)。 </p><p>  信號函數(shù):模擬產(chǎn)生CPU的模擬信號和脈沖信號(simulate analog and digital inputs to CPU)。 </p><p>  用戶函數(shù):擴展指令范圍,合并重復動作。 </p><p&

67、gt;<b>  2.變量和存儲器 </b></p><p>  用戶可以在編輯器中選中變呈來觀察其取值。雙層窗口顯示,可進行以下調(diào)整[12]: </p><p>  當前函數(shù)的局部變量,</p><p>  用戶在兩個不同watch窗口頁面上的自定義變量,</p><p>  堆棧調(diào)用(call stack)頁面上的調(diào)

68、用記錄(樹)(call tree),</p><p>  不同格式的四個存儲區(qū).</p><p>  4.1.3 C51編譯器 </p><p>  KEIL C51編譯器在遵循ANSI標準的同時,為8051微控制器系列特別設計。語言上的擴展能讓用戶使用應用中的所有資源。 </p><p>  存儲器和特殊功能寄存器的存取 </p&g

69、t;<p>  C51編譯器可以實現(xiàn)對8051系列所有資源的操作。SFR的存取由sfr和sbit兩個關鍵字來提供。變量可旋轉(zhuǎn)到任一個地址空間。用關鍵字- at-還能把變量放入固定的存儲器.存儲模式(大,中,小)決定了變量的存儲類型。 </p><p>  連接定位器支持的代碼區(qū)可達32個,這就允許用戶在原有64K ROM的8015基礎上擴展程序。在V2的編譯器和許多高性能仿真器中,可以支持應用程序的

70、調(diào)試。</p><p><b>  中斷功能</b></p><p>  C51允許用戶使用C語言編寫中斷服務程序,快速進、出代碼和寄存器區(qū)的轉(zhuǎn)換功能使C語言中斷功能更加高效??稍偃牍δ苁怯藐P鍵字來定義的。多任務,中斷或非中斷的代碼要求必須具備可再入功能。</p><p><b>  靈活的指針</b></p>

71、<p>  C51提供了靈活高效的指針。</p><p>  通用指針用3個字節(jié)來存儲存儲器類型及目標地址,可以在8051的任意存儲區(qū)內(nèi)存取任何變量。</p><p>  特殊指針在聲明的同時已指定了存儲器類型,指向某一特定的存儲區(qū)域。由于地址的存儲只需1-2字節(jié),因此,指針存取非常迅速。</p><p>  4.2 MCS-51單片機軟件Keil

72、c51開發(fā)過程</p><p>  建立一個工程項目,選擇芯片,確定選項。</p><p>  建立匯編文件或C源文件。</p><p>  用項目管理器生成各種應用文件。</p><p>  檢查并修改源文件中的錯誤。</p><p>  編譯連接通過后進行軟件模擬仿真或硬件在線仿真。</p><

73、p><b>  編程操作。</b></p><p><b>  應用。</b></p><p>  4.3單片機應用系統(tǒng)軟件設計事項</p><p>  總體規(guī)劃:軟件所要完成的任務已在總體設計時規(guī)定,在具體軟件設計時,要結合硬件結構,進一步明確軟件所承擔的一個個任務細節(jié),確定具體實施的方法,合理分配資源。</

74、p><p>  程序設計技術:合理的軟件結構是設計一個性能優(yōu)良的單片機應用系統(tǒng)軟件的基礎。在程序設計中,應培養(yǎng)結構化程序設計風格,各功能程序?qū)嵭心K化、子程序化。</p><p>  程序設計:在選擇好軟件結構和所采用的程序設計技術后,便可著手進行程序設計,將設計任務轉(zhuǎn)化為具體的程序。</p><p>  軟件裝配:各程序模塊編輯之后,需進行匯編或編譯、調(diào)試,當滿足設計

75、要求后,將各程序模塊按照軟件結構設計的要求連接起來,即為軟件裝配,從而完成軟件設計。在軟件裝配時,應注意軟件接口[14]。</p><p>  4.4 Proteus仿真軟件介紹</p><p>  Proteus軟件是一種低投資的電子設計自動化軟件,提供可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件和多達30多個元件庫。Proteus軟件提供多種現(xiàn)實存在的虛擬儀器儀表。此外,Proteus

76、還提供圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗,盡可能減少儀器對測量結果的影響,Proteus軟件提供豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。提供Schematic Drawing、SPICE仿真與PCB設計功能,同時可以仿真單片機和周邊設備,可以仿真51系列、AVR、PIC等常用的MCU,并提供周邊設備的仿真,例如

77、373、led、示波器等。Proteus提供了大量的元件庫,有RAM、ROM、鍵盤、馬達、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,編譯方面支持Keil和MPLAB等編譯器?;静僮鞑襟E如下:</p><p>  打開PROTEUS 操作界面。</p><p>  選擇“P”,從元件庫中提取需要的元器件(選中雙擊),選擇完點OK。</p><p>

78、  在編輯區(qū)畫電路圖,修改元件參數(shù)。</p><p><b>  進行電路仿真。</b></p><p><b>  保存文件。</b></p><p>  4.5 音樂流水燈程序設計</p><p>  單片機應用系統(tǒng)由硬件和軟件組成,軟件編程是單片機應用系統(tǒng)的一個重要組成部分,是單片機學習的重

79、點和難點。單片機音樂流水燈系統(tǒng)的設計必須要實現(xiàn)音樂和流水燈的完美結合。在本設計中,音樂的演奏和流水燈的流動是由單片機定時中斷產(chǎn)生的頻率來控制的,程序設計由主控程序和子程序兩部組成,程序清單如下[15][16]:</p><p><b>  主程序清單:</b></p><p>  #include <REG52.H></p><p>

80、;  void Delay1ms(unsigned in</p><p><b>  t count)</b></p><p><b>  {</b></p><p>  unsigned int i,j;</p><p>  for(i=0;i<count;i++)</p>&

81、lt;p>  for(j=0;j<120;j++);</p><p><b>  }</b></p><p>  //*****************************Music******************************************************</p><p><b>  

82、//揮著翅膀的女孩</b></p><p>  unsigned char code Music_Girl[]={ 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03,</p><p>  0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03,</p>&

83、lt;p>  0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03,</p><p>  0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03, 0x18,0x02,</p><p>  0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03,&l

84、t;/p><p>  0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03,</p><p>  0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03,</p><p>  0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0

85、x17,0x03,</p><p>  0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03,</p><p>  0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02,</p><p>  0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0

86、x20,0x03, 0x21,0x03,</p><p>  0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,</p><p>  0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,</p><p>  0x1A,0x03, 0x19,0x03, 0

87、x15,0x03, 0x15,0x03, 0x17,0x03,</p><p>  0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03, 0x19,0x03,</p><p>  0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,</p><p>  0x20,0x03, 0

88、x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,</p><p>  0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,</p><p>  0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,</p><p>  0

89、x1F,0x00, 0x1A,0x03, 0x1A,0x03, 0x1A,0x03, 0x1B,0x03,</p><p>  0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x02, 0x17,0x03,</p><p>  0x15,0x17, 0x15,0x03, 0x16,0x03, 0x17,0x03, 0x18,0x03,</p>&

90、lt;p>  0x17,0x04, 0x18,0x0E, 0x18,0x03, 0x17,0x04, 0x18,0x0E,</p><p>  0x18,0x66, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03,</p><p>  0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66,&l

91、t;/p><p>  0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03,</p><p>  0x1F,0x66, 0x1F,0x04, 0x1B,0x0E, 0x1B,0x03, 0x19,0x03,</p><p>  0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0

92、x19,0x03,</p><p>  0x15,0x03, 0x15,0x03, 0x17,0x03, 0x16,0x66, 0x17,0x04,</p><p>  0x18,0x04, 0x18,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,</p><p>  0x1F,0x66, 0x20,0x03, 0x21,0x03, 0

93、x20,0x03, 0x1F,0x03,</p><p>  0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03,</p><p>  0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,</p><p>  0x19,0x03, 0x1F,0x03, 0

94、x1B,0x03, 0x1F,0x00, 0x18,0x02,</p><p>  0x18,0x03, 0x1A,0x03, 0x19,0x0D, 0x15,0x03, 0x15,0x02,</p><p>  0x18,0x66, 0x16,0x02, 0x17,0x02, 0x15,0x00, 0x00,0x00};</p><p><b>  //

95、同一首歌</b></p><p>  unsigned char code Music_Same[]={ 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03,</p><p>  0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02,</p><p&

96、gt;  0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02,</p><p>  0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66,</p><p>  0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00,</p&

97、gt;<p>  0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03,</p><p>  0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02,</p><p>  0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0

98、x03,</p><p>  0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x0D, 0x17,0x03,</p><p>  0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C,</p><p>  0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0

99、x01, 0x18,0x66,</p><p>  0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,</p><p>  0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01,</p><p>  0x1A,0x01, 0x18,0x66, 0x19,0

100、x03, 0x1A,0x01, 0x10,0x02,</p><p>  0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,</p><p>  0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70,</p><p>  0x18,0x03, 0x17,0

101、x02, 0x15,0x03, 0x15,0x03, 0x16,0x66,</p><p>  0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02,</p><p>  0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C,</p><p>  0x1A,0

102、x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66,</p><p>  0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00,</p><p>  0x00,0x00 };</p><p>  //兩只蝴蝶

103、 </p><p>  unsigned char code Music_Two[] ={ 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,</p><p>  0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,</p><p>  0x16,0

104、x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,</p><p>  0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03,</p><p>  0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01,</p><p&

105、gt;  0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,</p><p>  0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01,</p><p>  0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,</p&

106、gt;<p>  0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,</p><p>  0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,</p><p>  0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x19,0

107、x03,</p><p>  0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01,</p><p>  0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,</p><p>  0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0

108、x0D, 0x15,0x00,</p><p>  0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03,</p><p>  0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03,</p><p>  0x16,0x0D, 0x17,0x01, 0x17,0

109、x03, 0x17,0x03, 0x19,0x03,</p><p>  0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03,</p><p>  0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03,</p><p>  0x19,0x02, 0x1F,0

110、x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E,</p><p>  0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E,</p><p>  0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03,</p><p>  0x17,0

111、x0D, 0x16,0x03, 0x17,0x03, 0x19,0x01, 0x19,0x03,</p><p>  0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03,</p><p>  0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03,</p><p&

112、gt;  0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02,</p><p>  0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01,</p><p>  0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03,</p&

113、gt;<p>  0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,</p><p>  0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,</p><p>  0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0

溫馨提示

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

評論

0/150

提交評論