




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上課程 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)題目 音樂(lè)播放電路設(shè)計(jì) 一、設(shè)計(jì)目的:訓(xùn)練學(xué)生綜合運(yùn)用己學(xué)課程的基本知識(shí),獨(dú)立進(jìn)行單片機(jī)應(yīng)用技術(shù)開(kāi)發(fā)工作,掌握單片機(jī)程序設(shè)計(jì)、調(diào)試,應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測(cè)。二、設(shè)計(jì)要求:1. 應(yīng)用MCS-51單片機(jī)設(shè)計(jì)音樂(lè)產(chǎn)生電路;2. 編程實(shí)現(xiàn)簡(jiǎn)單音樂(lè)的播放,利用單片機(jī)的定時(shí)器產(chǎn)生音調(diào)和節(jié)奏,驅(qū)動(dòng)喇叭發(fā)聲,要求至少編寫(xiě)2首音樂(lè),用按鍵控制播放和切換。3. 硬件設(shè)計(jì)根據(jù)設(shè)計(jì)的任務(wù)選定合適的單片機(jī),根據(jù)控制對(duì)象設(shè)計(jì)接口電路。設(shè)計(jì)的單元電路必須有工作原理,器件的作用,分析和計(jì)算過(guò)程;4. 軟件設(shè)計(jì)根據(jù)電路工作過(guò)程,畫(huà)出軟件流程圖,根據(jù)流程圖編寫(xiě)相應(yīng)的程
2、序,進(jìn)行調(diào)試并打印程序清單;5. 原理圖設(shè)計(jì)根據(jù)所確定的設(shè)計(jì)電路,利用Protel等有關(guān)工具軟件繪制電路原理圖、PCB板圖、提供元器件清單。三、參考資料:1 單片微型計(jì)算機(jī)與接口技術(shù),李群芳、黃建編著,電子工業(yè)出版社;2 單片機(jī)原理及應(yīng)用,張毅剛編著,高等教育出版社;3 51系列單片機(jī)及C51程序設(shè)計(jì),王建校,楊建國(guó)等編著,科學(xué)出版社;4 單片機(jī)原理及接口技術(shù),李朝青編著,北京航空航天大學(xué)出版社;完成期限 2011.3.142011.3.18 指導(dǎo)教師 專(zhuān)業(yè)負(fù)責(zé)人 2011年 3 月 13 日第一章 概述隨著科技的飛速發(fā)展,單片機(jī)技術(shù)已經(jīng)趨于成熟。單片機(jī)自動(dòng)完成賦予它的任務(wù)的過(guò)程,也就是單片機(jī)
3、執(zhí)行程序的過(guò)程,即一條條執(zhí)行的指令的過(guò)程,所謂指令就是把要求單片機(jī)執(zhí)行的各種操作用的命令的形式寫(xiě)下來(lái),這是在設(shè)計(jì)人員賦予它的指令系統(tǒng)所決定的,一條指令對(duì)應(yīng)著一種基本操作;單片機(jī)所能執(zhí)行的全部指令,就是該單片機(jī)的指令系統(tǒng),不同種類(lèi)的單片機(jī),其指令系統(tǒng)亦不同。本設(shè)計(jì)主要的設(shè)計(jì)要求是,應(yīng)用MCS-51單片機(jī)設(shè)計(jì)音樂(lè)產(chǎn)生電路; 編程實(shí)現(xiàn)簡(jiǎn)單音樂(lè)的播放,利用單片機(jī)的定時(shí)器產(chǎn)生音調(diào)和節(jié)奏,驅(qū)動(dòng)喇叭發(fā)聲,要求至少編寫(xiě)2首音樂(lè),用按鍵控制播放和切換。硬件設(shè)計(jì)根據(jù)設(shè)計(jì)的任務(wù)選定合適的單片機(jī),根據(jù)控制對(duì)象設(shè)計(jì)接口電路。軟件設(shè)計(jì)根據(jù)電路工作過(guò)程,畫(huà)出軟件流程圖,根據(jù)流程圖編寫(xiě)相應(yīng)的程序,進(jìn)行調(diào)試并打印程序清單; 原
4、理圖設(shè)計(jì)根據(jù)所確定的設(shè)計(jì)電路。第二章 系統(tǒng)硬件電路設(shè)計(jì)本設(shè)計(jì)中用到了89C51單片機(jī),4*4鍵盤(pán),蜂鳴器,16*2 LCD,七段顯示數(shù)碼管LED。下來(lái)詳細(xì)介紹各部分功能。1、89C51: 89C51是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,在單芯片上,擁有靈巧的8 位CPU 和在線系統(tǒng)可編程Flash,使得89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活。 89C51的功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門(mén)狗定時(shí)器,兩個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全
5、雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外, 89C51可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8K字節(jié)在系統(tǒng)可編程 Flash。P0 口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)
6、接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)四個(gè) TTL 邏輯電平。對(duì)P1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)四個(gè) TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為8
7、9C51特殊功能(第二功能)使用。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。EA/VPP外部訪問(wèn)允許,欲使CPU訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。2、數(shù)碼管,按發(fā)光二極管
8、單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)極數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字?jǐn)?shù)碼管動(dòng)態(tài)顯示接口是單片
9、機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡
10、管實(shí)際上各位數(shù)碼管并不是同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。 3、矩陣式鍵盤(pán)的結(jié)構(gòu)與工作原理,在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式,如圖=所示:在矩陣式鍵盤(pán)中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比
11、較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。 矩陣式結(jié)構(gòu)的鍵盤(pán)顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,上圖中,列線通過(guò)電阻接正電源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒(méi)有按下時(shí),所有的輸出端都是高電平,代表無(wú)鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識(shí)別及方法如下所述。矩陣鍵盤(pán)矩陣式鍵盤(pán)的按鍵識(shí)別方法,確定矩陣式鍵盤(pán)上何鍵被按下介紹一種“行掃描法”。行掃描法又稱(chēng)為逐行(或列)掃描查詢(xún)法,是一種最常用的按鍵識(shí)別方法,如上圖所示鍵盤(pán),介紹過(guò)程如下。判斷鍵盤(pán)中有無(wú)鍵按下 將全部行線
12、Y0-Y3置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤(pán)中無(wú)鍵按下。判斷閉合鍵所在的位置 在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。4、LCD 液晶顯示器是 Liquid Crystal Display 的簡(jiǎn)稱(chēng),LCD 的構(gòu)造是在兩片平行的玻璃當(dāng)中放置液態(tài)的晶體,兩片玻璃中間有許多
13、垂直和水平的細(xì)小電線,透過(guò)通電與否來(lái)控制桿狀水晶分子改變方向,將光線折射出來(lái)產(chǎn)生畫(huà)面。比CRT要好的多,但是價(jià)錢(qián)較其貴。LCD的主要技術(shù)參數(shù):對(duì)比度LCD制造時(shí)選用的控制IC、濾光片和定向膜等配件,與面板的對(duì)比度有關(guān),對(duì)一般用戶而言,對(duì)比度能夠達(dá)到350:1就足夠了,但在專(zhuān)業(yè)領(lǐng)域這樣的對(duì)比度平還不能滿足用戶的需求。相對(duì)輕易達(dá)到500:1甚至更高的對(duì)比度而言,只有高檔液晶顯示器才能達(dá)到這樣如此程度。亮度也是一個(gè)比較重要的指標(biāo),越亮的液晶給人很遠(yuǎn)一看,就從一排液晶墻中脫穎而出,我們?cè)贑RT中經(jīng)常見(jiàn)到的高亮技術(shù),一般是以犧牲畫(huà)質(zhì),和的壽命來(lái)?yè)Q取的,所有采用此類(lèi)技術(shù)的產(chǎn)品在缺省狀態(tài)下都是普亮的,總要按
14、個(gè)鈕才能實(shí)行,按一下3X亮玩游戲;再按一變成5X亮看影碟,仔細(xì)一看都變糊了,要看文本還得老實(shí)的回到普通的文本模式,這樣的設(shè)計(jì)其實(shí)就是讓大家不要常用高亮LCD顯示亮度的原理和CRT不一樣,他們是靠面板后面的背光燈管的亮度來(lái)實(shí)現(xiàn)的所以燈管要設(shè)計(jì)的多,發(fā)光才會(huì)均勻早期賣(mài)液晶時(shí)和別人說(shuō)液晶是三根已是很牛的事了,但當(dāng)時(shí)奇美CRV,就搞出了一個(gè)六燈管技術(shù),其實(shí)也就是把三管彎成了”U”型,變成了所謂的六根;這樣的六燈管設(shè)計(jì),加上燈管發(fā)光本身就很強(qiáng),面板就看到很亮,這樣的代表作在優(yōu)派中以VA712為代表;但所有高亮的面板都會(huì)有一個(gè)致命傷,屏?xí)?,這個(gè)術(shù)語(yǔ)一般人很少提及,編者個(gè)人認(rèn)為他很重要,漏光是指在全黑的屏幕
15、下,液晶不是黑的,而是發(fā)白發(fā)灰所以好的液晶不要一味的強(qiáng)調(diào)亮度,而是要多強(qiáng)調(diào)對(duì)比度,優(yōu)派的VP和VG系列就是不講亮度,講對(duì)比度的產(chǎn)品! 響應(yīng)時(shí)間指的是液晶顯示器對(duì)于輸入信號(hào)的反應(yīng)速度,也就是液晶由暗轉(zhuǎn)亮或由亮轉(zhuǎn)暗的反應(yīng)時(shí)間,通常是以毫秒(ms)為單位。要說(shuō)清這一點(diǎn)我們還要從人眼對(duì)動(dòng)態(tài)圖像的感知談起。人眼存在“視覺(jué)殘留”的現(xiàn)象,高速運(yùn)動(dòng)的畫(huà)面在人腦中會(huì)形成短暫的印象。動(dòng)畫(huà)片、電影等一直到現(xiàn)在最新的游戲正是應(yīng)用了視覺(jué)殘留的原理,讓一系列漸變的圖像在人眼前快速連續(xù)顯示,便形成動(dòng)態(tài)的影像。人能夠接受的畫(huà)面顯示速度一般為每秒24張,這也是電影每秒24幀播放速度的由來(lái),如果顯示速度低于這一標(biāo)準(zhǔn),人就會(huì)明顯感
16、到畫(huà)面的停頓和不適。按照這一指標(biāo)計(jì)算,每張畫(huà)面顯示的時(shí)間需要小于40ms。這樣,對(duì)于液晶顯示器來(lái)說(shuō),響應(yīng)時(shí)間40ms就成了一道坎,低于40ms的顯示器便會(huì)出現(xiàn)明顯的畫(huà)面閃爍現(xiàn)象,讓人感覺(jué)眼花。要是想讓圖像畫(huà)面達(dá)到不閃的程度,則就最好要達(dá)到每秒60幀的速度。5、蜂鳴器,蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用供電,廣泛應(yīng)用于、打印機(jī)、復(fù)印機(jī)、報(bào)警器、汽車(chē)電子設(shè)備、電話機(jī)、等電子產(chǎn)品中作發(fā)聲。 ;蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類(lèi)型。蜂鳴器在中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。鳴器的介紹。蜂鳴器的分類(lèi):蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類(lèi)型
17、 “LB”、“JD”等)表示。壓電式蜂鳴器 壓電式蜂鳴器主要由、壓電蜂鳴片、及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有。多諧振蕩器由或集成電路構(gòu)成。當(dāng)接通后(1.515V直流工作電壓),多諧振蕩器起振,輸出1.52.5kHZ的,阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電材料制成。在陶瓷片的兩面鍍上銀,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)通過(guò)電磁線圈,使電磁線圈產(chǎn)生。振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲.第三章 軟件設(shè)計(jì)流程及描述 專(zhuān)
18、心-專(zhuān)注-專(zhuān)業(yè)首先從主程序開(kāi)始,進(jìn)入初始化變量及LCD接口,然后初始化計(jì)數(shù)器和定時(shí)器,此時(shí)LCD顯示英文歡迎字符。隨后等待按鍵,如果沒(méi)有按鍵則返回,有按鍵則接著往下執(zhí)行,此時(shí)歌曲號(hào)及播放時(shí)間顯示在LCD上,依據(jù)按鍵碼演奏對(duì)應(yīng)的歌曲,隨后返回。第四章 源程序以及調(diào)試RS BIT P2.0 ;定義液晶顯示端口標(biāo)號(hào)RW BIT P2.1E BIT P2.2L50MS EQU 60HL1MS EQU 61HL250MS EQU 62HSEC EQU 65HMIN EQU 64HHOU EQU 63Horg 0000hljmp mainORG 000BHLJMP TT0ORG 001BHLJMP T1I
19、NTorg 1000hmain: ;-;液晶初始化MOV SP,#70H MOV P0,#01H ;清屏CALL ENABLEMOV P0,#38H ;8位,2行顯示lCALL ENABLEMOV P0,#0FH ;屏顯on,光標(biāo)on,閃爍onlCALL ENABLEMOV P0,#06H ;計(jì)數(shù)地址加1,顯示幕onlCALL ENABLE; -內(nèi)存初始化lcall initil ;- key1:lcall keylcall modd ljmp key1;-鍵盤(pán)掃描key:nopnoplcall ksjnz k1 ;有按鍵轉(zhuǎn)到K1lcall kaijilcall SOPxn:ljmp keyk
20、1:lcall moddlcall moddlcall ksjnz k2ljmp keyk2:mov R2,#0feh ;讀鍵盤(pán)mov R4,#00hk3:mov A,R2mov P1,Amov A,P1JB ACC.4,L1 ;為1跳轉(zhuǎn),第一行無(wú)按鍵mov a,#00hljmp lkL1:jb acc.5,L2mov a,#04hljmp lkL2:jb acc.6,L3mov a,#08hljmp lkL3: jb acc.7,next1mov a,#0ch;- lk:add a,R4push acck4:lcall delay1 ;若同時(shí)有其他按鍵,則等待lcall ksjnz k4;-
21、 mov r3,#07h clr amov r0,#30hmov r1,#31hmm1:mov a,r1mov r0,ainc r0inc r1djnz r3,mm1pop accmov r0,a RET;- next1:inc R4 ;-列掃描mov a,R2JNB acc.3,n2ljmp n1n2:ljmp keyn1:rl amov R2,aljmp k3;- ks:mov a,#0f0h ;判斷P1口mov P1,anopnopmov a,P1cpl aanl a,#0f0hRET;- DELAY1:SETB RS0dl:mov R5,#0ahdl2:mov R6,#63dl3:no
22、p nopdjnz R6,dl3djnz R5,dl2 CLR RS0 RET;- ;30H-37H初值為零;- initil: mov r3,#08hmov r0,#30hm1:mov r0,#00hinc r0djnz r3,m1 RET;- ;顯示 ;- modd: MOV P0,#8EHlCALL ENABLE mov A,37Hmov DPTR,#TABLE3 MOVC A,A+DPTRlCALL WRITE2 RET;- ;開(kāi)機(jī)提示字;- kaiji:mov a,37hcjne a,#0fh,DFFMOV P0,#80H ;設(shè)光標(biāo)地址 lCALL ENABLEMOV DPTR,#T
23、ABLE1;寫(xiě)數(shù)據(jù)lCALL WRITE1 DFF:RET;-;按鍵值播放歌曲;- SOP:mov a,37hcjne a,#01h,A11LCALL MODDMOV 52H,#HIGH TABLE10MOV 53H,#LOW TABLE10LCALL INITILE2lcall MAIN0A11:CJNE A,#02H,A22LCALL MODDMOV 52H,#HIGH TABLE20MOV 53H,#LOW TABLE20 LCALL INITILE2 lcall MAIN0A22:CJNE A,#03H,A33LCALL MODDMOV 52H,#HIGH TABLE30MOV 53H
24、,#LOW TABLE30 LCALL INITILE2 lcall MAIN0 A33:CJNE A,#04H,A44LCALL MODDMOV 52H,#HIGH TABLE40MOV 53H,#LOW TABLE40 LCALL INITILE2 lcall MAIN0A44:CJNE A,#05H,A55LCALL MODDMOV 52H,#HIGH TABLE50MOV 53H,#LOW TABLE50 LCALL INITILE2 lcall MAIN0A55:CJNE A,#06H,A66LCALL MODDMOV 52H,#HIGH TABLE60MOV 53H,#LOW TA
25、BLE60 LCALL INITILE2 lcall MAIN0 A66:CJNE A,#07H,A77LCALL MODDMOV 52H,#HIGH TABLE70MOV 53H,#LOW TABLE70 LCALL INITILE2 lcall MAIN0 A77:CJNE A,#08H,A88LCALL MODDMOV 52H,#HIGH TABLE80MOV 53H,#LOW TABLE80 LCALL INITILE2 lcall MAIN0A88:CJNE A,#09H,A99LCALL MODDMOV 52H,#HIGH TABLE90MOV 53H,#LOW TABLE90 L
26、CALL INITILE2 lcall MAIN0 A99:CJNE A,#0AH,AAALCALL MODDMOV 52H,#HIGH TABLE100MOV 53H,#LOW TABLE100 LCALL INITILE2 lcall MAIN0 AAA:RET ;* INITILE2:MOV L50MS,#20MOV L1MS,#00HMOV L250MS,#00HMOV SEC,#00HMOV MIN,#00HMOV HOU,#00HMOV A,HOUMOV B,#10DIV ABADD A,#30H ;將BCD嗎轉(zhuǎn)化為ASIIC碼MOV P0,#0C8H ;顯示小時(shí)十位CALL EN
27、ABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0C9H ;顯示小時(shí)個(gè)位CALL ENABLECALL WRITE2MOV A,#3AHMOV P0,#0DH ;顯示冒號(hào)CALL ENABLECALL WRITE2MOV A,MINMOV B,#10DIV ABADD A,#30HMOV P0,#0CBH ;顯示分十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0CCH ;顯示分個(gè)位CALL ENABLECALL WRITE2MOV A,#3AHMOV P0,#0CDH ;顯示冒號(hào)CALL ENABLECALL
28、WRITE2MOV A,SECMOV B,#10DIV ABADD A,#30H MOV P0,#0CEH ;顯示秒十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0CFH ;顯示秒個(gè)位CALL ENABLECALL WRITE2MOV P0,#0C0H ;設(shè)光標(biāo)地址 CALL ENABLEMOV DPTR,#TABLE2;寫(xiě)數(shù)據(jù)CALL WRITE1 RET;*寫(xiě)指令ENABLE: CLR RSCLR RWCLR ELCALL DELAYSETB ERET;*寫(xiě)數(shù)據(jù)WRITE1:MOV R1,#00HA1:MOV A,R1MOVC A,A+D
29、PTRCALL WRITE2INC R1CJNE A,#0FEH,A1 ;未到字符串末尾繼續(xù)RETWRITE2:MOV P0,ASETB RSCLR RWCLR ECALL DELAYSETB ERET;* DELAY:MOV R4,#05D1:MOV R5,#0FFHDJNZ R5,$DJNZ R4,D1RET ;-TAB:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8hdb 80h,90h,88h,83h,0c6h,0a1h,86h,8ehTAB1:db 89h,86h,0c7h,0c7h,0c0hTAB2:db 0c6h,88h,0c0hTABLE1:DBW
30、ELCOM HERE,0FEHTABLE2:DBDFF WB ,0FEHTABLE4:DB CAU,0FEHTABLE3:DB 30H,31H,32H,33h DB 34H,35H,36H,37HDB 38h,39H,41H,42HDB 43H,44H,45H,46H;-;播放歌曲程序;-MAIN0:MOV TMOD,#11HMOV IE,#8aH ;MOV TH1,#3cH;MOV TL1,#0b0H lcall ksjnz TTM12 MOV 40H,#00H;- NEXT20:MOV A,40HMOV DPH,52HMOV DPL,53HMOVC A,A+DPTRMOV R2,AJZ S
31、TOPANL A,#0FHMOV R1,AMOV A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0JMP W1;- SING:DEC AMOV 22H,ARL AMOV DPTR,#TABLE00MOVC A,A+DPTRMOV TH0,AMOV 21H,AMOV A,22HRL AINC AMOVC A,A+DPTRMOV TL0,AMOV 20H,ASETB TR0SETB TR1W1:LCALL DELAY30INC 40HLCALL KS;-有鍵跳出JNZ STOPLJMP NEXT20;- STOP:CLR TR0CLR TR1LJMP MAIN0 ;- TTM
32、12:LCALL K2MOV A,37HCJNE A,#0EH,TTM13CLR TR1LCALL DELAY1TTM120:LCALL KSLCALL DELAY1JZ TTM120LCALL K2MOV A,37HCJNE A,#0EH,TTM120SETB TR1LJMP NEXT20TTM13:CJNE A,#0CH,TTM14MOV A,52HINC AMOV 52H,AMOV A,53HINC AMOV 53H,AMOV A,36HINC AMOV 37H,ALJMP TTM2TTM14:CJNE A,#0DH,TTM2MOV A,52HDEC AMOV 52H,AMOV A,53
33、HDEC AMOV 53H,AMOV A,36HDEC AMOV 37H,A;- TTM2:RET;* ;定時(shí)器中斷子程序0;* TT0:PUSH ACCPUSH PSWMOV TL0,20HMOV TH0,21HCPL P3.7POP PSWPOP ACCRETI;* ;定時(shí)器中斷子程序1;* T1INT: MOV TH1, #3cHMOV TL1, #0b0HDJNZ L50MS,X4MOV L50MS,#20;*-每秒種時(shí)鐘刷新秒顯示一次SECSET:MOV A,SECMOV B,#10DIV ABADD A,#30H MOV P0,#0CEH ;顯示秒十位lCALL ENABLElCA
34、LL WRITE2MOV A,BADD A,#30HMOV P0,#0CFH ;顯示秒個(gè)位lCALL ENABLElCALL WRITE2MOV A,SECINC AMOV SEC,AXRL A,#60X4:JNZ OUTMINSET:MOV SEC,#00H ; *每分鐘刷新分顯示一次MOV A,MININC AMOV MIN,A MOV B,#10DIV ABADD A,#30HMOV P0,#0CBH ;顯示分十位lCALL ENABLElCALL WRITE2MOV A,BADD A,#30HMOV P0,#0CCH ;顯示分個(gè)位lCALL ENABLElCALL WRITE2MOV
35、A,MIN MOV B,#3MUL ABMOV B,#100DIV ABMOV R2,AMOV A,#10XCH A,BDIV ABMOV A,MINXRL A,#60JNZ OUTHOUSET:MOV MIN,#00H ;*每小時(shí)刷新小時(shí)顯示一次 MOV A,HOUMOV B,#10DIV ABADD A,#30H ;將BCD嗎轉(zhuǎn)化為ASIIC碼MOV P0,#0C8H ;顯示小時(shí)十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0C9H ;顯示小時(shí)個(gè)位CALL ENABLECALL WRITE2MOV A,HOUINC AMOV HOU,AX
36、RL A,#10JNZ OUTSJMP OVERFLOWOUT:RETI; *溢出處理OVERFLOW:MOV L50MS,#20MOV L1MS,#00HMOV L250MS,#00HMOV SEC,#00HMOV MIN,#00HMOV HOU,#00HRETI;- DELAY30: MOV R7,#2W2:MOV R4,#125W3:MOV R3,#248DJNZ R3,$DJNZ R4,W3DJNZ R7,W2DJNZ R1,DELAY30RET;- TABLE00:DW 64580,64684,64777,64820DW 64898,64968,65030,64260DW 64400
37、,64524,65058,63835,64021;-;第一首精忠報(bào)國(guó);-TABLE10: DB 66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22HDB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98HDB 24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22HDB 12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38HDB 66H,
38、52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32HDB 22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52HDB 62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38HDB 64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52HDB 52H,62H,7FH,74H,04H,58H,6FHDB 00;-;第二首月亮代表我的心;-T
39、ABLE20:DB 02H,82HDB 16H,32H,54H,02H,52HDB 0A6H,32H,54H,02H,52HDB 64H,74H,0B6H,64HDB 52H,5CH,32H,22HDB 16H,12H,14H,32H,22HDB 16H,12H,14H,22H,32HDB 26H,12H,94H,22H,32HDB 2CHDB 32H,52HDB 36H,22H,14H,54HDB 0ACH,92H,0A2HDB 96H,0A2H,96H,82HDB 3CH,54HDB 36H,22H,14H,54HDB 0ACH,92H,0A2HDB 16H,12H,14H,22H,32H
40、DB 2CH,02H,82HDB 16H,32H,56H,12HDB 0A6H,32H,56H,52HDB 66H,72H,0B6H,62HDB 62H,52H,58H,32H,22HDB 16H,12H,14H,32H,22HDB 16H,12H,14H,22H,32HDB 26H,92H,0A4H,12H,22HDB 1CHDB 00;-;第三首;-TABLE90: DB 02H,11H,21H,32H,32H,22H,32H,21H,11H,0A1H,91H,92H,0D1H,91H,83H,91H,0A2H,91H,81H,94H,11H,0A1H,91H,0A1H,98H,03H,8
41、1H,0A1H,0A1H,91H,0A1HDB 98H,04H,02H,11H,21H,32H,32H,22H,32H,21H,31H,51H,11H,13H,31H,22H,22H,21H,11H,0A1H,11H,13H,11H,11H,0A1H,91H,0A1HDB 11H,93H,94H,03H,81H,11H,0A1H,91H,81H,92H,0A1H,91H,94H,08H,03H,81H,32H,21H,11H,22H,31H,21H,21H,83HDB 01H,11H,91H,0A1H,11H,61H,51H,11H,34H,01H,31H,21H,31H,48H,23H,31H,32H,42H,38H,03H,11H,21H,52H,31HDB 33H,31H,31H,41H,51H,61H,23H,21H,21H,41H,31H,21H,13H,0D1H,0D1H,21H,11H,0A1H,11H,91H,92
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- (高清版)DB34∕T 5200-2025 家政技能競(jìng)賽服務(wù)規(guī)范
- 兒童心腦血管疾病的早期發(fā)現(xiàn)與處理
- 江蘇省連云港市2025-2026學(xué)年七年級(jí)上學(xué)期分班摸底考試英語(yǔ)試卷(無(wú)答案)
- 崗位爭(zhēng)先活動(dòng)方案
- 工程品質(zhì)提升年活動(dòng)方案
- 小學(xué)生下鄉(xiāng)扶貧活動(dòng)方案
- 展覽特色活動(dòng)方案
- 小班家長(zhǎng)會(huì)活動(dòng)方案
- 歲末沖刺活動(dòng)方案
- 工會(huì)洗滌活動(dòng)方案
- 《體育與健康》水平四教學(xué)設(shè)計(jì)
- 胸腔積液護(hù)理查房
- 醫(yī)療護(hù)理員基礎(chǔ)理論知識(shí)考試試題題庫(kù)及答案
- 制造業(yè)暑假工合同
- 湖南省張家界市永定區(qū)2023-2024學(xué)年三年級(jí)下學(xué)期期末考試數(shù)學(xué)試題
- 2024年湖北省中考?xì)v史真題
- 瀘州老窖“濃香文釀杯”企業(yè)文化知識(shí)競(jìng)賽考試題庫(kù)大全-上(單選題)
- 2024小學(xué)六年級(jí)人教版道德與法治升學(xué)畢業(yè)小升初試卷及答案(時(shí)政+上下冊(cè)考點(diǎn))04
- 人教版2024年數(shù)學(xué)小升初模擬試卷(含答案解析)
- 市場(chǎng)營(yíng)銷(xiāo)學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年廣東石油化工學(xué)院
- 架空送電線路導(dǎo)線及避雷線液壓施工工藝規(guī)程
評(píng)論
0/150
提交評(píng)論