




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、四川師范大學成都學院專科畢業設計1單片機音樂播放器設計報告學生:xxx 指導教師:xxx內容摘要內容摘要:單片機具有體積小、功能強、成本低、應用面廣等優點,可以說,智能控制與自動控制的核心就是單片機。根據要求設計一款音樂播放器,能實現音樂播放的簡單功能,同時為了美化,添加了韻律閃爍彩燈,設計時采用keil軟件編程,用protues軟件仿真,核心器件采用靈活性高且價格低廉的at89c51芯片。設計完成后系統可播放自編歌曲,同時發光二極管隨著歌曲韻律閃爍。關鍵詞:單片機 at89c51 音樂播放四川師范大學成都學院專科畢業設計2英文標題abstract:abstract: scm has smal
2、l, strong function, low cost, application, advantages and intelligent control and automatic control of the core is the microcontroller. according to the requirements of a music player, design of music broadcast can realize simple function, and to beautify, added rhythm flashing lights, design is use
3、d when keil c software programming, with protues software simulation, the core device adopts high flexibility and the price is cheap at89c51 chip. the design is completed system can play wrote songs, and leds with songs rhythm flicker. keywords:keywords: scm temperature at89c51 music broadcast 四川師范大
4、學成都學院專科畢業設計- 1 -前言:微機原理和接口技術是一門實踐性強的學科,不但要求有較高的理論水平,而且還要求有實際的動手能力,其中很多的原量、規則、現象等僅僅靠學習教科書是無法完全掌握的,必須通過實踐才能比較直觀和深刻的理解。本畢業設計的主要目的是提高實踐能力,包括提高匯編等語言的編程能力及對接口等硬件的理解分析能力和設計接口電路的能力,在進行畢業設計的過程中,可以讓學生體驗分析問題、提出解決方案、通過編程等手段實現解決方案、不斷調試最終達到設計要求的全過程,從而幫助學生系統地掌握微機原理的接口技術的相關知識,達到將知識融會貫通的目的。四川師范大學成都學院專科畢業設計- 2 -第 1 章
5、 緒論一、單片機基礎知識介紹(一)89c51 單片機包括:一個 8 位的 80c51 微處理器,片內 256 字節數據存儲器 ram/sfr,用以存放可以讀寫的數據,如運算的中間結果,最終結果以及欲顯示的數據;片內 4kb 程序存儲器flash rom,用以存放程序,一些原始數據和表格;4 個 8 位并行 i/o 口 p0p3,每個端口既可用作輸入,也可用作輸出;兩個 16 位的定時器/計數器,每個定時器/計數器都可設置成計數方式,用以對外部事件進行計數,也可設置成定時方式,并可以根據計數或者定時的結果實現計算機控制;具有 5 個中斷源,兩個中斷優先級的中斷控制系統;一個全雙工 uart(通用
6、異步接受發送器)的串行 i/o 口,用于實現單片機之間或者單片機與 pc 機之間的串行通信;片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接,最高允許震蕩頻率為 24mhz;89c51 與 80c51 相比具有節電工作方式,即休閑方式及掉電方式。(二)中央處理器(cpu): cpu 是單片機內部的核心部件,是一個 8 位二進制數的中央處理單元,主要由運算器、控制器和寄存器陣列構成。1運算器:運算器用來完成算術運算和邏輯運算功能,它是 89c51 內部處理各種信息的主要部件。運算器主要由算術邏輯單元(alu)、累加器(acc)、暫存寄存器(tmp1、tmp2)和狀態寄存器(psw)組成。四
7、川師范大學成都學院專科畢業設計- 3 -(1) 算術邏輯單元(alu): 89c51 中的 alu 由加法器和一個布爾處理器組成。 (2) 累加器(acc):用來存放參與算術運算和邏輯運算的一個操作數或運算的結果。(3) 暫存寄存器(tmp1、tmp2):用來存放參與算術運算和邏輯運算的另一個操作數,它對用戶不開放。(4) 狀態寄存器(psw):psw 是一個 8 位標志寄存器,用來存放 alu 操作結果的有關狀態。2控制器:控制器是單片機內部按一定時序協調工作的控制核心,是分析和執行指令的部件。控制器主要由程序計數器 pc、指令寄存器 ir、指令譯碼器 id 和定時控制邏輯電路等構成。程序計
8、數器 pc 是專門用于存放現行指令的 16 位地址的。cpu 就是根據 pc 中的地址到 rom 中去讀取程序指令碼和數據,并送給指令寄存器 ir 進行分析。指令寄存器ir 用于存放 cpu 根據 pc 地址從 rom 中讀出的指令操作碼。指令譯碼器 id 是用于分析指令操作的部件,指令操作碼經譯碼后產生相應于某一特定操作的信號。定時控制邏輯中定時部件用來產生脈沖序列和多種節拍脈沖。 3寄存器陣列:寄存器陣列是單片機內部的臨時存儲單元或固定用途單元,包括通用寄存器組和專用寄存器組。通用寄存器組用來存放過渡性的數據和地址,提高 cpu 的運行速度。專用寄存器組主要用來指示當前要執行指令的內存地址
9、,存放特定的操作數,指示指令運行的狀態等。四川師范大學成都學院專科畢業設計- 4 -4存儲器: 89c51 單片機內部有 256 個字節的 ram 數據存儲器和 4kb的閃存程序存儲器(flash),當不夠使用時,可分別擴展為 64 kb 外部 ram 存儲器和 64 kb 外部程序存儲器。它們的邏輯空間是分開的,并有各自的尋址機構和尋址方式。這種結構的單片機稱為哈佛型結構單片機。程序存儲器是可讀不可寫的,用于存放編好的程序和表格常數。數據存儲器是既可讀也可寫的,用于存放運算的中間結果,進行數據暫存及數據緩沖等。89c51 單片機對外部電路進行控制或交換信息都是通過 i/o 端口進行的。單片機
10、的i/o 端口分為并行 i/o 端口和串行 i/o 端口,它們的結構和作用并不相同。(1)并行 i/o 端口: 89c51 有四個 8 位并行 i/o 端口,分別命名為 p0 口、p1 口、p2 口和 p3 口,它們都是 8 位準雙向口,每次可以并行輸入或輸出 8 位二進制信息。 (2)串行 i/o 端口:89c51 有一個全雙工的可編程串行 i/o 端口,它利用了 p3 口的第二功能,即將 p3.1引腳作為串行數據的發送線 txd,將 p3.0 引腳作為串行數據的接收線 rxd。 (三)定時器/計數器:89c51 內部有兩個 16 位可編程定時器/計數器,簡稱為定時器 0(t0)和定時器1(
11、t1),t0 和 t1 分別由兩個 8 位寄存器構成,其中 t0 由 th0(高 8 位)和 tl0(低 8 位)構成,t1 由 th1(高 8 位)和 tl1(低 8 位)構成。th0、tl0、th1、tl1 都是 sfr 中的特殊功能寄存器。t0 和 t1 在 tcon 和 tmod 的控制下可工作在定時器模式或計數器模式下,每種模式下又有不同的工作方式。當定時或計數溢出時還可申請中斷。四川師范大學成都學院專科畢業設計- 5 -(四)中斷系統:單片機中的中斷是指 cpu 暫停正在執行的原程序轉而為中斷源服務(執行中斷服務程序),在執行完中斷服務程序后再回到原程序繼續執行。中斷系統是指能夠處
12、理上述中斷過程所需要的部分電路。89c51 的中斷系統由中斷源、中斷允許控制器 ie、中斷優先級控制器 ip、定時器控制器 tcon(中斷標志寄存器)等構成,ie、ip、tcon 均為 sfr 特殊功能寄存器(見表2.2)。(五)內部總線:總線是用于傳送信息的公共途徑。總線可分為數據總線、地址總線和控制總線。單片機內的 cpu、存儲器、i/o 接口等單元部件都是通過總線連接到一起的。采用總線結構可以減少信息傳輸線的根數,提高系統可靠性,增強系統靈活性。89c51 單片機內部總線是單總線結構,即數據總線和地址總線是公用的。(六)89c51 單片機引腳及其功能:89c51 有 40 條引腳,與其他
13、 51 系列單片機引腳是兼容的。這 40 條引腳可分為i/o 端口線、電源線、控制線、外接晶體線四部分。其封裝形式有兩種:雙列直插封裝(dip)形式和方形封裝形式,如圖所示。四川師范大學成都學院專科畢業設計- 6 - (a) 雙列直插式封裝 (b) 方形封裝圖 1 89c51 封裝和引腳分配圖(七)89c51 單片機工作方式:單片機在開機時或在工作中因干擾而使程序失控或工作中程序處于某種死循環狀態等情況下都需要復位。復位的作用是使中央處理器 cpu 以及其他功能部件都恢復到一個確定的初始狀態,并從這個狀態開始工作。1復位原理:89c51 單片機的復位靠外部電路實現,信號由 reset(rst)
14、引腳輸入,高電平有效,在振蕩器工作時,只要保持 rst 引腳高電平兩個機器周期,單片機即復位。復位后,pc 程序計數器的內容為 0000h,其他特殊功能寄存器的復位狀態如表 2.5 所示。片內12345678910111213141516171819204039383736353433323130292827262524232221(t2)p1.0(t2ex)p1.1p1.2p1.3p1.4p1.5p1.6p1.7rst(rxd)p3.0(txd)p3.1(t0)p3.4(t1)p3.5xtal2xtal1gnd(tnt0)p3.2(tnt1)p3.3(wr)p3.6(rd)p3.7vccp0
15、.0(ad0)p0.1(ad1)p0.2(ad2)p0.3(ad3)p0.4(ad4)p0.5(ad5)p0.6(ad6)p0.7(ad7)p2.7(a15)p2.6(a14)p2.5(a13)p2.4(a12)p2.3(a11)p2.2(a10)p2.1(a9)p2.0(a8)ea/vppale/progpsenp1.5p1.6p1.7rst(rxd)p3.0nc(txd)p3.1(int0)p3.2(int1)p3.3(t0)p3.4(t1)p3.5p0.4(ad4)p0.5(ad5)p0.6(ad6)p0.7(ad7)ea/vppncale/progpsenp2.7(a15)p2.6(a
16、14)p2.5(a13)789101112131415161739383736353433323130291819202122232425262728p1.4p1.3p1.2p1.1(t2ex)p1.0(t2)ncvccp0.0(ad0)p0.1(ad1)p0.2(ad2)p0.3(ad3)(wr)p3.6(rd)p3.7xtal2xtal1gndnc(a8)p2.0(a9)p2.1(a10)p2.2(a11)p2.3(a12)p2.46543214443424140(a)(b)四川師范大學成都學院專科畢業設計- 7 -ram 中內容不變。2常用復位電路: 一般有上電復位、手動開關復位和自動復
17、位電路三種,如圖所示。 (a)上電復位電路;(b) 手動復位電路;(c) 自動復位電路圖 2 單片機復位電路圖389c51 時鐘電路: 單片機內各部件之間有條不紊的協調工作,其控制信號是在一種基本節拍的指揮下按一定時間順序發出的,這些控制信號在時間上的相互關系就是 cpu 時序。而產生這種基本節拍的電路就是振蕩器和時鐘電路。 89c51 單片機內部有一個用于構成振蕩器的單級反相放大器,如圖所示。 vccrstvss89c515 vc10 fr8.2 kvccrstvss89c515 vc10 fr8.2 kvccrstp1.089c515 vwdimax750wdopeset10 k10 f1
18、2(a)(b)(c)1 k89c51vccq2rfq3q4gndxtal2q1d1d2r1xtal1pd四川師范大學成都學院專科畢業設計- 8 -圖 3 89c51 內部振蕩器電路圖引腳 xtal1 為反相器輸入端,xtal2 為反相器輸出端。當在放大器兩個引腳上外接一個晶體(或陶瓷振蕩器)和電容組成的并聯諧振電路作為反饋元件時,便構成一個自激振蕩器,如下圖所示。圖 4 內部振蕩器等效電路圖二、單片機的應用領域(一)在智能儀器儀表的應用: 單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用于儀器儀表中,結合不同類型的傳感器,可實現諸如電壓、功率、頻率、濕度、溫度、
19、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數字化、智能化、微型化,且功能比起采用電子或數字電路更加強大。例如精密的測量設備(功率計,示波器,各種分析儀) 。gndxtal1r1rfvccc1c2xtal2()pd四川師范大學成都學院專科畢業設計- 9 -(二)在家用電器中的應用:可以這樣說,現在的家用電器基本上都采用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備,五花八門,無所不在。(三)在工業控制中的應用: 用單片機可以構成形式多樣的控制系統、數據采集系統。例如工廠流水線的智能化管理,電梯智能化控制、各種
20、報警系統,與計算機聯網構成二級控制系統等。(四)在計算機網絡和通信領域中的應用:現代的單片機普遍具備通信接口,可以很方便地與計算機進行數據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機、電話機、小型程控交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。(五)單片機在醫用設備領域中的應用: 單片機在醫用設備中的用途亦相當廣泛,例如醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等。 此外,單片機在工商、金融、科研、教育、國防航空等領域都有著十分廣泛的用途。 三、單
21、片機的發展趨勢 單片機現在可以說是百花齊放,百家爭鳴的時期,世界上各大芯片制造公司都推出了自己的單片機,從 8 位、16 位到 32 位,數不勝數,應有盡有,有與主流 c51 系列兼容的,也有不兼容的,但它們各具特色,互成互補,為單片機的應用提供了廣闊的天地。四川師范大學成都學院專科畢業設計- 10 -縱觀單片機的發展過程,可以預示單片機的發展趨勢,大致有:(一)微型單片化: 現在常規的單片機普遍都是將中央處理器(cpu) 、隨機存取數據存儲(ram) 、只讀程序存儲器(rom) 、并行和串行通信接口,中斷系統、定時電路、時鐘電路集成在一塊單一的芯片上,增強型的單片機集成了如 a/d 轉換器、
22、pmw(脈寬調制電路) 、wdt(看門狗) 、有些單片機將 lcd(液晶)驅動電路都集成在單一的芯片上,這樣單片機包含的單元電路就更多,功能就越強大。甚至單片機廠商還可以根據用戶的要求量身定做,制造出具有自己特色的單片機芯片。 此外,現在的產品普遍要求體積小、重量輕,這就要求單片機除了功能強和功耗低外,還要求其體積要小。現在的許多單片機都具有多種封裝形式,其中 smd(表面封裝)越來越受歡迎,使得由單片機構成的系統正朝微型化方向發展。(二)低功耗 cmos 化:mcs-51 系列的 8031 推出時的功耗達 630mw,而現在的單片機普遍都在 100mw 左右,隨著對單片機功耗要求越來越低,現
23、在的各 個單片機制造商基本都采用了 cmos(互補金屬氧化物半導體工藝) 。像 80c51 就采用了 hmos(即高密度金屬氧化物半導體工藝)和 chmos(互補高密度金屬氧化物半導體工藝) 。cmos 雖然功耗低,但由于其物理特征決定其工作速度不夠高,而 chmos 則具備了高速和低功耗的特點,這些特征,更適合于要求低功耗像電池供電的應用場合。所以這種工藝將是今后一段時期單片機發展的主要途徑。(三)主流與多品種共存: 現在雖然單片機的品種繁多,各具特色,但仍以 80c51 為核心的單片機占主流,兼容其結構和指令系統的有 philips 公司的產品,atmel 公司的產品和中國臺灣的winbo
24、nd 系列單片機。所以 80c51 占據了半壁江山。而 microchip 公司的 pic 精簡指令集合(risc)也有著強勁的發展勢頭,中國臺灣的 holtex 公司近年的單片機產量與日俱增,與其底價質優的優勢,占據一定的市場份額。此外還有 motorola 公司的產品,四川師范大學成都學院專科畢業設計- 11 -日本幾大公司的專用單片機。在一定的時期內,這種情形將得以延續,將不存在某個單片機一統天下的壟斷局面,走的是依存互補、相輔相成、共同發展的道路。 九十年代以后,單片機在結構上采用雙 cpu 或內部流水線,cpu 位數有 8 位、16位、32 位,時鐘頻率高達 20mhz,片內帶有 p
25、wm 輸出、監視定時器 wdt、可編程計數器陣列 pca、dma 傳輸、調制解調器等。芯片向高度集成化、低功耗方向的發展,使得單片機在大量數據的實時處理、高級通信系統、數字信號處理、復雜工業過程控制、高級機器人以及局域網等方面得到大量應用。這類單片機有 nec 公司的mpd7800,mitsubishi 公司的 m337700,revkwell 公司的 r6500。四、課題概述基于單片機的音樂播放器可應用于 mp3,mp4,擴音器等很多方面,并可作為很多系統的輔助功能,作為單片機的重要硬件資源之一,利用定時器可以產生各種固定頻率的方波信號,也可以產生包括do、re、me-等音階在內的各種頻率聲
26、音。將各個音階連接在一起,便可組成一支曲子或是演奏一段旋律。基于這個思想,我設計了一款特殊的音樂播放器,本播放器可實現播放、暫停、復位等功能。為了體現樂曲播放過程中的動態效果,增加了 1 只 led,作隨機閃爍以指示旋律的節奏。由于時間及條件限制,本設計實現了一種簡單的音樂播放器,其核心器件采用 at89c51 單片機,本播放器具有電路簡單,功能強大,易于拓展等特點。在此基礎上,可以添加按鍵,led 顯示屏等模塊,實現切換歌曲,歌名顯示,動感音樂屏等功能。第 2 章 系統硬件原理及設計四川師范大學成都學院專科畢業設計- 12 -一、核心器件 at89c51 介紹at89c51 是一種帶 4k
27、字節閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能 cmos 8 位微處理器,俗稱單片機。at89c2051 是一種帶 2k 字節閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除 100 次。該器件采用 atmel 高密度非易失存儲器制造技術制造,與工業標準的 mcs-51 指令集和輸出管腳相兼容。由于將多功能 8位 cpu 和閃爍存儲器組合在單個芯片中,atmel 的 at89c51 是一種高效微控制器,at89c2051 是它的一種精簡版本。at89c 單片機
28、為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。外形及引腳排列如圖所示圖 1 at89c51 外形圖及引腳序列(一)主要特性:.與 mcs-51 兼容 .4k 字節可編程閃爍存儲器 四川師范大學成都學院專科畢業設計- 13 -.壽命:1000 寫/擦循環.數據保留時間:10 年.全靜態工作:0hz-24mhz.三級程序存儲器鎖定.1288 位內部 ram.32 可編程 i/o 線.兩個 16 位定時器/計數器.5 個中斷源 .可編程串行通道.低功耗的閑置和掉電模式.片內振蕩器和時鐘電路(二)管腳說明:vcc:供電電壓。gnd:接地。p0 口:p0 口為一個 8 位漏級開路雙向 i/o 口,
29、每腳可吸收 8ttl 門電流。當 p1 口的管腳第一次寫 1 時,被定義為高阻輸入。p0 能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在 fiash 編程時,p0 口作為原碼輸入口,當 fiash 進行校驗時,p0 輸出原碼,此時 p0 外部必須被拉高。p1 口:p1 口是一個內部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出4ttl 門電流。p1 口管腳寫入 1 后,被內部上拉為高,可用作輸入,p1 口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在 flash 編程和校驗時,p1 口作為第八位地址接收。 p2 口:p2 口為一個內部上拉電阻的
30、 8 位雙向 i/o 口,p2 口緩沖器可接收,輸出 4四川師范大學成都學院專科畢業設計- 14 -個 ttl 門電流,當 p2 口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2 口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2 口當用于外部程序存儲器或 16 位地址外部數據存儲器進行存取時,p2 口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,p2 口輸出其特殊功能寄存器的內容。p2 口在 flash 編程和校驗時接收高八位地址信號和控制信號。p3 口:p3 口管腳是 8 個帶內部上拉電阻的雙向 i/o
31、 口,可接收輸出 4 個 ttl 門電流。當 p3 口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3 口將輸出電流(ill)這是由于上拉的緣故。p3 口也可作為 at89c51 的一些特殊功能口,如下表所示口管腳 備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷 0)p3.3 /int1(外部中斷 1)p3.4 t0(記時器 0 外部輸入)p3.5 t1(記時器 1 外部輸入)p3.6 /wr(外部數據存儲器寫選通)p3.7 /rd(外部數據存儲器讀選通)表 1 p3 口被選功能四川師范大學成都學院專科畢
32、業設計- 15 -p3 口同時為閃爍編程和編程校驗接收一些控制信號。rst:復位輸入。當振蕩器復位器件時,要保持 rst 腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在 flash 編程期間,此引腳用于輸入編程脈沖。在平時,ale 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個 ale 脈沖。如想禁止 ale 的輸出可在 sfr8eh 地址上置 0。此時, ale 只有在執行 movx,movc 指令是 ale 才
33、起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態 ale 禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen 有效。但在訪問外部數據存儲器時,這兩次有效的/psen 信號將不出現。/ea/vpp:當/ea 保持低電平時,則在此期間外部程序存儲器(0000h-ffffh) ,不管是否有內部程序存儲器。注意加密方式 1 時,/ea 將內部鎖定為 reset;當/ea 端保持高電平時,此間內部程序存儲器。在 flash 編程期間,此引腳也用于施加 12v 編程電源(vpp) 。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入
34、。xtal2:來自反向振蕩器的輸出。(三)振蕩器特性:xtal1 和 xtal2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,xtal2 應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。四川師范大學成都學院專科畢業設計- 16 -(四)芯片擦除:整個 perom 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ale管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節被重復編程以前,該操作必須被執
35、行。此外,at89c51 設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu 停止工作。但 ram,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存 ram 的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。二、硬件電路設計電路主要由 at89c51 芯片,led 發光二極管,喇叭,晶振電路組成,由引腳輸出定時器產生的各種固定頻率的方波信號,然后由喇叭產生各種頻率的聲音。同理,方波信號通過發光二極管可以使二極管閃爍發光,產生韻律燈的效果。由于該方案中使用內部振蕩電路,xtal1、xtal2 引腳外界石英晶體和微調電容構成
36、的晶振電路。第三章 系統軟件原理及設計總體原理:總體原理:樂曲中不同的音符,實質就是不同頻率的聲音。通過單片機產生不同的頻率的脈沖信號,經過放大電路,由蜂鳴器放出,就產生了美妙和諧的樂曲。 一、單片機產生不同頻率脈沖信號的原理.要產生音頻脈沖,只要算出某一音頻的脈沖(1/頻率) ,然后將此周期除以2,即為半周期的時間,利用定時器計時這個半周期的時間,每當計時到后就將輸出脈沖的 i/o 反相,然后重復計時此半周期的四川師范大學成都學院專科畢業設計- 17 -時間再對 i/o 反相,就可以在 i/o 腳上得到此頻率的脈沖。 .利用 8051 的內部定時器使其工作在計數器模式 mode1 下,改變計
37、數值 th0 及tl0 以產生不同頻率的方法如下:例如,頻率為 523hz,其周期天/523 s=1912us,因此只要令計數器計時956us/1us=956,在每計數 956 次時就將 i/o 反接,就可得到中音 do(532hz) 。計數脈沖值與頻率的關系公式如下:n=fi/2/fr(n:計數值,fi:內部計時一次為 1us,故其頻率為 1mhz,fr:要產生的頻率 ).其計數值的求法如下:t=65536-n=65536-fi/2/fr計算舉例:設 k=65536,f=1000000=fi=1mhz,求低音 do(261hz) 、中音 do(523hz) 、高音do(1046hz)的計數值
38、。t=65536-n=65536-fi/2/fr=65536-1000000/2/fr=65536-500000/fr低音 do 的 t=65536-500000/262=63627中音 do 的 t=65536-500000/523=64580高音 do 的 t=65536-500000/1047=65059.c 調個音符頻率與計數值 t 的對照表如下表所示:音 符 頻率(hz) 簡譜碼(t 值) 音 符 頻率(hz) 簡譜碼(t 值)低 1do 262 63628 #4fa# 740 64860#1do# 277 63731 中 5so 784 64898四川師范大學成都學院專科畢業設計-
39、 18 -低 2re 294 63835 #5so# 831 64923#2re# 311 63928 中 6la 880 64968低 3m 330 64103 #6 932 64994低 4fa 349 64103 中 7si 988 65030#4fa# 370 64260 高 1do 1046 65058低 5so 392 64260 #1do# 1109 65085#5so# 415 64331 高 2re 1175 65110低 6la 440 64400 #2re# 1245 65124#6 466 64463 高 3m 1318 65157低 7si 494 64524 高 4
40、fa 1397 65178中 1do 523 64580 #4fa# 1480 65198表 1 c 調各音符頻率與計數值 t 的對照表.每個音符使用 1 個字節,字節的高 4 位代表音符的高低,低 4 位代表音符的節拍,下表為節拍碼的對照。但如果 1 拍為 0.4 秒,1/4 拍是 0.1 秒,只要設定延遲時間就可求得節拍的時間。假設 1/4 節拍為 1delay,則 1 拍應為 4delay,以此類推。所以只要求得 1/4 拍的 delay 時間,其余的節拍就是它的倍數,如下表為 1/4 和 1/8 節拍的時間設定。 1/4 節拍 1/8 節拍節拍碼 節拍數 節拍碼 節拍數1 1/4 拍
41、1 1/8 拍2 2/4 拍 2 1/4 拍3 3/4 拍 3 3/8 拍4 1 拍 4 1/2 拍5 1 又 1/4 拍 5 5/8 拍四川師范大學成都學院專科畢業設計- 19 -6 1 又 1/2 拍 6 3/4 拍7 1 又 3/4 拍 7 7/8 拍8 2 拍 8 1 拍9 2 又 1/4 拍 9 1 又 1/8 拍a 2 又 1/2 拍 a 1 又 1/4 拍b 2 又 3/4 拍 b 1 又 3/8 拍c 3 拍 c 1 又 1/2 拍d 3 又 1/4 拍 d 1 又 5/8 拍e 3 又 1/2 拍 e 1 又 3/4 拍f 3 又 3/4 拍 f 1 又 7/8 拍表 1 節
42、拍碼對照表1/4 節拍1/8 節拍曲調值delay曲調值delay調 4/4125 毫秒調 4/462 毫秒調 3/4187 毫秒調 3/494 毫秒調 2/4250 毫秒調 2/4125 毫秒表 1 各調節拍的時間設定表四川師范大學成都學院專科畢業設計- 20 -1/4 拍的延遲時間=187 毫秒delay: mov r7,#2d2: mov r4,#187d3: mov r3,#248djnz r3,$djnz r4,d3djnz r7,d2ret.移調一般的歌曲,有 3/8、2/4、3/4、4/4 等節拍類型,但不管有幾拍,基本上是在 c調下演奏的。如果是 c 調,則音名 c 唱 do,
43、音名 d 唱 re,音名 e 唱 mi,音名 e 唱mi,音名 f 唱 fa,音名 g 唱 so,音名 a 唱 la,音名 b 唱 ti 等。但是,并不是所有的歌曲都是在 c 調下演奏的,還有 d 調、e 調、f 調、g 調等。d 調是將 c 調各音符上升一個頻率實現的,即 c 調下的音名 d 在 d 調下唱 do,c 調下的音名 e 在 d 調下唱re,c 大調的音名 f 在 d 調下上升高半音符 f#唱 mi,c 調下的音名 g 在 d 調下唱fa,c 調下的音名 c 在 d 調下上升高伴音 c#符唱 ti。這種唱法稱為移調。 音名 調doremifasolatic 調cdefgabd 調
44、def#gabce 調ef#g#abcdf 調fgabcde四川師范大學成都學院專科畢業設計- 21 -g 調gabcdef#a 調abc#def#g#b調bcdefga表 1 c 調在各調中的音名二、音樂軟件的設計(一)音樂代碼庫的建立方法:.先找出樂曲的最低音和最高音范圍,然后確定音符表 t 的順序。.把 t 值表建立在 table1,構成發音符的計數值放在“table” 。.簡譜碼(音符)為高位,節拍為(節拍數)為低 4 位,音符節拍碼放在程序的“table”處。 .音符節拍碼 00h 為音樂結束標記。(二)選曲:在一個程序中,需要演奏兩首或兩首以上的歌曲時,音樂代碼庫的建立有兩種方法:
45、.將每首歌曲建立相互獨立的音符表 t 和發音符計數值 table。.在建立公用音符表 t 后,再寫每首歌的發音計數值 table 中的代碼不管采用那種方法,每首歌曲結束時,在 table 中均需加上音樂結束符 00h。(三)歌曲的設計:下面以歌曲送別和三個和尚的設計為例,講述歌曲在單片機中的實現。曲譜如下圖所示:四川師范大學成都學院專科畢業設計- 22 -四川師范大學成都學院專科畢業設計- 23 -圖 1 圖 2從兩首歌中可看出,最低音為低 7si,最高音為高 1do。根據音樂軟件的設計方法,簡譜對應的簡譜碼、t 值、節拍數如表所示。簡譜發音簡譜碼t 值 節拍碼節拍數低 7 低音 si 164
46、52411/41中音 do 26458022/42中音 re 36468433/43中音 mi 464777414中音 fa 56482051+1/45中音 so 66489861+1/26中音 la 764968827中音 ti 865030a2+1/2高 1 高音 do 965058c3低 6 低音 la a64400f3+3/4低 5 低音 so b64260表 1 簡譜對應的簡譜碼、t 值、節拍數程序源代碼如下:org 0000h ljmp start org 001bh ljmp time1start:mov tmod,#10h ;t1 工作在方式 1四川師范大學成都學院專科畢業設計
47、- 24 - mov ie,#88h ;中斷使能main: mov 40h,#00h ;設簡譜碼指針初始值next: mov a,40h ;簡譜碼指針暫存累加器 a mov dptr,#table ;設簡譜碼 movc a,a+dptr cjne a,#00h,play ;取到的簡譜碼不是結束碼,傳 play 取節拍碼 ljmp stop ;是結束碼,退出play: mov r1,a ;r1 暫存簡譜碼 anl a,#0fh ;取節拍碼 mov r2,a 節拍碼暫存 r2 mov a,r1 anl a,#0f0h ;取音符碼 cjne a,#00h,music ;音符碼不為 0,調發音子程序
48、clr tr1 ;音符碼為 0,不發音 ljmp delmusic:swap a dec a mov 22h,a add a,22h mov r3,a mov dptr,#table1 ;取相應計數值 movc a,a+dptr 四川師范大學成都學院專科畢業設計- 25 - mov th1,a ;暫存高位字節 mov 21h,a mov a,r3 inc a movc a,a+dptr ;取相應計數值的低位字節 mov tl1,a ;暫存低位字節 mov 20h,a setb tr1 ;啟動定時器del: lcall delay inc 40h ;指向下一個簡譜碼 ljmp nextstop:
49、 clr tr1 ;停止計時器 ljmp maintime1:push acc ;現場保護 push psw cpl p1.7 ;p1.7 反相輸出,演奏音樂 mov tl1,20h ;重設計數值 mov th1,21h pop psw pop acc retidelay:mov r7,#02h ;4/4 曲調,演示 125ms 子程序四川師范大學成都學院專科畢業設計- 26 -dela1:mov r6,#125dela2:mov r5,#248 djnz r5,$ djnz r6,dela2 djnz r7,dela1 djnz r2,delay rettable1:dw 64524,645
50、80,64684,64777 ;簡碼值 dw 64820,64898,64968,65030,65058 dw 64400,64260table:db 14h,42h,62h,98h ;歌曲送別 db 74h,92h,72h,68h db 64h,22h,32h,44h,32h,22h db 3ch db 64h,42h,62h,94h,04h,82h db 74h,94h,68h db 64h,32h,42h,54h,04h,12h db 2ch db 74h,94h,98h db 84h,72h,82h,98h db 72h,82h,92h,72h,72h,62h,42h,22h db 3
51、ch四川師范大學成都學院專科畢業設計- 27 - db 64h,42h,62h,94h,04h,82h db 74h,94h,68h db 64h,32h,42h,54h,04h,12h db 2ch db 42h,62h,72h,41h,61h,41h,31h,22h,0b2h ;歌曲三個和尚 db 62h,61h,61h,71h,61h,41h,64h db 0b2h,0b2h,62h,61h,61h,71h,61h,41h,64h db 0b2h,0b2h,62h,61h,61h,71h,61h,41h,64h db 42h,62h,72h,41h,61h,41h,31h,22h,0b2
52、h db 22h,31h,41h,31h,21h,0a2h,0b4h db 22h,31h,41h,31h,21h,0a2h,0b4h db 22h,31h,41h,31h,21h,0a2h,0b4h db 0a2h,21h,32h,42h,62h,61h,41h,62h,71h db 42h,41h,61h,42h,32h,22h,31h,21h,0a2h db 42h,41h,61h,42h,32h,22h,31h,21h,0a2h db 42h,41h,61h,42h,32h,22h,31h,21h,0a2h db 62h,61h,42h,62h,71h,61h,72h,62h,71h
53、db 62h,61h,71h,32h,42h,64h db 00h end四川師范大學成都學院專科畢業設計- 28 -第 4 章 調試與仿真下面用 keil uvision 與 porteus 仿真軟件介紹數字計算器的仿真與調試。一、keil c51 單片機軟件開發系統(一)系統的整體結構:c51 工具包的整體結構中,其中 uvision 與 ishell 分別是 c51 for windows 和 for dos 的集成開發環境(ide),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用 ide 本身或其它編輯器編輯 c 或匯編源文件。然后分別由 c51 及 a51 編譯器編
54、譯生成目標文件(.obj)。目標文件可由 lib51 創建生成庫文件,也可以與庫文件一起經 l51 連接定位生成絕對目標文件(.abs)。abs 文件由 oh51 轉換成標準的 hex文件,以供調試器 dscope51 或 tscope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如 eprom 中。(二)采用 keil 開發的 89c51 單片機應用程序步驟:.在 uvision 集成開發環境中創建新項目(project) ,擴展文件名為.uv2,并為該項目選定合適的單片機 cpu 器件(本設計采用 atmel 公司下的 at89c51).用 uv
55、ision 的文本編輯器編寫源文件,可以是匯編文件(.asm),也可以使 c語言文件(擴展名.c) ,并將該文件添加到項目中去。一個項目文件可以包含多個文件,除了源程序文件外,還可以是庫文件、頭文件或文本說明文件。.通過 uvision 2 的相關選擇項,配置編譯環境、連接定位器以及 debug 調試器的功能。四川師范大學成都學院專科畢業設計- 29 -.對項目中的源文件進行編譯連接,生成絕對目標代碼和可選的 hex 文件,如果出現編譯連接錯誤則返回到第 2 步,修改源文件中的錯誤后重構整個項目。.對沒有語法錯誤的程序進行仿真調試,調試成功后將 hex 文件寫入到單片機應用系統的 rom 中。
56、二、 proteus 的操作(一)硬件電路圖的接法操作:.放置選擇(刪除)元器件.移動元器件.縮放視圖.連接導線.仿真,調試(二)單片機系統 proteus 設計與仿真過程:proteus 強大的單片機系統設計與仿真功能,使它可成為單片機系統應用開發和改進手段之一。全部過程都是在計算機上通過 proteus 來完成的。其過程一般也可分為三步:.在 isis 平臺上進行單片機系統電路設計、選擇元器件、接插件、連接電路和電氣檢測等。簡稱 proteus 電路設計。.在 keil 平臺上進行單片機系統程序設計、編輯、匯編編譯、代碼級調試,最后生成目標代碼文件(*.hex) 。簡稱 proteus 源
57、程序設計和生成目標代碼文件。.在 isis 平臺上將目標代碼文件加載到單片機系統中,并實現單片機系統的實時交互、協同仿真。它在相當程度上反映了實際單片機系統的運行情況。簡稱 proteus仿真。四川師范大學成都學院專科畢業設計- 30 -第 5 章 結論at89c51 芯片有多組引腳,可實現多種拓展功能,由于知識,能力,時間,條件所限,我只實現了播放自編歌曲的功能,其實,還可以同時拓展 led 點陣屏幕,按鍵選歌,以及多組燈光閃亮等功能,換用更高檔的芯片后,甚至可以實現 mp3 的豐富功能,在補充了相應知識后我將嘗試實現更多的功能。心得體會心得體會畢業設計是培養學生綜合運用所學知識,發現、提出
58、、分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程。隨著科學技術發展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域,在生活中可以說得是無處不在。因此作為自動化專業的學生來說掌握單片機的開發技術是十分重要的。 我的題目是音樂播放器硬軟件的設計,對于我們這些工科學生來說,這是一次考驗。怎么才能找到課堂所學與實際應用的最佳結合點?怎樣讓自己的業余更接近專業?怎樣讓自己的計劃更具有序性,而不會忙無一用?這都是我們所要考慮和努力的。這次畢業設計我學到很多很多的東西,學會了怎么樣去制定計劃,怎么樣去實現這個計劃,并掌握了在執行過程中怎么樣去克服心理上的不良情緒
59、。不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識,掌握了一種系統的研究方法,可以進行一些簡單的編程。通過這次畢業設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。 同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,對單片機匯編語言掌握得不夠好。這次畢業設計通過自己的努四川師范大學成都學院專科畢業設計- 31 -力,同學的幫助,還有老師的辛勤指導下,最終順利完成了。參考文獻參考文獻1 侯玉寶, 陳忠
60、平,,李成群. 基于 proteus 的 51 系列單片機設計與仿真. 北京 電子工業出版社,20082 沈德金,陳粵初mcs-51 系列單片機接口電路與應用程序實例北京航空航天大學出版社,19903 胡漢才.單片機原理及接口技術.清華大學出版社,19964 何立民mcs-51 系列單片機應用系統設計北京航空航天大學出版社,199015 張毅剛、彭喜元、姜守達、喬立巖新編 mcs-51 系列單片機應用設計哈爾濱工業大學出版社,2003.66 楊世成.信號放大電路.電子工業出版社,19957 潘立民,王燕芳.微型計算機控制技術.人民郵電出版社,19908 邵敏權,劉剛.單片機原理實驗及應用.吉林
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司深秋拓展活動方案
- 公司放松娛樂活動方案
- 公司游玩活動策劃方案
- 公司節日紀念活動方案
- 公司早會流程策劃方案
- 公司直播間燈光策劃方案
- 公司組織踢毽子策劃方案
- 公司組織慰問活動方案
- 公司花園團建活動方案
- 2025年小學教師資格考試試卷及答案
- 湖北省部分學校2023-2024學年高二下學期期末考試地理試題
- 基于大數據的公路運輸碳排放評估與控制
- 敘事護理學智慧樹知到期末考試答案章節答案2024年中國人民解放軍海軍軍醫大學
- 工業機器人系統操作員國家職業技能考核標準(2023年版)
- 上海學前教育學院附屬青浦第二實驗幼兒園新生入園登記
- 卡前列素氨丁三醇在產后出血的的應用課件
- 固廢危廢培訓課件
- 水庫安保服務方案
- 一例ANCA相關性血管炎患者的護理查房
- 《外科微創技術》課件
- 如何建立與客戶良好的關系
評論
0/150
提交評論