基于AT89C51的電子琴設(shè)計(jì)_第1頁(yè)
基于AT89C51的電子琴設(shè)計(jì)_第2頁(yè)
基于AT89C51的電子琴設(shè)計(jì)_第3頁(yè)
基于AT89C51的電子琴設(shè)計(jì)_第4頁(yè)
基于AT89C51的電子琴設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

等級(jí):湖南工程學(xué)院等級(jí):課程設(shè)計(jì)課程名稱(chēng)單片機(jī)原理與應(yīng)用課題名稱(chēng)電子琴專(zhuān)業(yè)電氣工程班級(jí)1005班學(xué)號(hào)姓名指導(dǎo)教師2013年6月

湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書(shū)課程名稱(chēng)單片機(jī)原理與應(yīng)用課題電子琴專(zhuān)業(yè)班級(jí)電氣工程1005學(xué)生姓名學(xué)號(hào)指導(dǎo)老師審批任務(wù)書(shū)下達(dá)日期2013年6月8日任務(wù)完成日期2013年6月21日設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求設(shè)計(jì)內(nèi)容:本課題以單片機(jī)為核心,設(shè)計(jì)和制作一個(gè)電子琴。要求由4X4組成16個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音,可隨意彈奏想要表達(dá)的音樂(lè)。設(shè)計(jì)要求:設(shè)計(jì)方案要合理、正確;系統(tǒng)硬件設(shè)計(jì);完成必要元器件選擇;系統(tǒng)軟件設(shè)計(jì)及調(diào)試;寫(xiě)出設(shè)計(jì)報(bào)告。主要設(shè)計(jì)條件MCS-51單片機(jī)實(shí)驗(yàn)操作臺(tái)1臺(tái);PC機(jī)及單片機(jī)調(diào)試軟件;單片機(jī)應(yīng)用系統(tǒng)板1套;制作工具1套;系統(tǒng)設(shè)計(jì)所需的元器件。說(shuō)明書(shū)格式封面課程設(shè)計(jì)任務(wù)書(shū)目錄系統(tǒng)總體方案設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)軟件設(shè)計(jì)(包括流程圖)系統(tǒng)的安裝調(diào)試說(shuō)明8.總結(jié)9.參考文獻(xiàn)10.附錄11.課程設(shè)計(jì)成績(jī)?cè)u(píng)分表。進(jìn)度安排第一周星期一、上午:布置課題任務(wù),課題介紹及講課。下午:借閱有關(guān)資料,總體方案討論。星期二、確定總體方案,學(xué)習(xí)與設(shè)計(jì)相關(guān)內(nèi)容。星期三、各部分方案設(shè)計(jì)。星期四、各部分設(shè)計(jì)。星期五、設(shè)計(jì)及上機(jī)調(diào)試。第二周星期一:設(shè)計(jì)及上機(jī)調(diào)試。星期二:調(diào)試,中期檢查。星期三:調(diào)試、寫(xiě)說(shuō)明書(shū)。星期四--星期五上午:寫(xiě)說(shuō)明書(shū)、完成電子版并打印成稿。星期五下午:答辯。參考文獻(xiàn)1.《單片機(jī)原理與應(yīng)用》王迎旭等編機(jī)械工業(yè)出版社2.《51系列單片機(jī)設(shè)計(jì)實(shí)例》樓然苗等編北京航空航天大學(xué)出版社3.《計(jì)算機(jī)硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)教程》黃勤等編重慶大學(xué)出版社4.《微型計(jì)算機(jī)接口技術(shù)及應(yīng)用》劉樂(lè)善主編華中科技大學(xué)出版社5.《單片微型計(jì)算機(jī)原理及接口技術(shù)》陳光東等華中科技大學(xué)出版社目錄TOC\o"1-2"\h\u第1章課題設(shè)計(jì)的背景、要求及目的 頁(yè)第1章課題設(shè)計(jì)的背景、要求及目的1.1課題設(shè)計(jì)的背景電子計(jì)算機(jī)的發(fā)展經(jīng)歷了從電子管、晶體管、中小規(guī)模集成電路到大規(guī)模集成電路四個(gè)階段,尤其是隨著大規(guī)模的集成電路技術(shù)的飛速發(fā)展,在20世紀(jì)70年代初誕生的單片微型計(jì)算機(jī),使得計(jì)算機(jī)應(yīng)用日益廣泛。而單片微型計(jì)算機(jī)(簡(jiǎn)稱(chēng)單片機(jī))的問(wèn)世,更進(jìn)一步推動(dòng)了計(jì)算機(jī)應(yīng)用技術(shù)的發(fā)展,標(biāo)志著計(jì)算機(jī)系統(tǒng)兩大部分的正式形成,即通用計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)。前者主要以發(fā)展海量、高速數(shù)值計(jì)算為趨勢(shì),后者則主要實(shí)現(xiàn)面向?qū)ο蟮膶?shí)時(shí)控制。單片微型計(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ī)的開(kāi)發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器。它在現(xiàn)代音樂(lè)扮演重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89C51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤(pán)揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵,設(shè)計(jì)成16個(gè)音,可隨意彈奏想要表達(dá)的音樂(lè)。因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系編寫(xiě)正確就可以達(dá)到我們想要的曲目。1.2課題設(shè)計(jì)的要求本課題以單片機(jī)為核心,設(shè)計(jì)和制作一個(gè)電子琴。要求由4X4組成16個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音,可隨意彈奏想要表達(dá)的音樂(lè)。1.3課題設(shè)計(jì)的目的1、能夠?qū)l"#"電子電路、電子元器件、印制電路板等方面的知識(shí)有進(jìn)一步的認(rèn)識(shí),獨(dú)立對(duì)其進(jìn)行測(cè)試與檢查。

2、熟悉AT89C51\l"#"單片機(jī)的內(nèi)部結(jié)構(gòu)和功能,合理使用其內(nèi)部寄存器,能夠完成相關(guān)軟件編程設(shè)計(jì)工作。

3、為實(shí)現(xiàn)預(yù)期功能,能夠?qū)ο到y(tǒng)進(jìn)行快速的調(diào)試,并能夠?qū)Τ霈F(xiàn)的功能故障進(jìn)行分析,及時(shí)修改相關(guān)軟硬件。

4、對(duì)軟件編程、排錯(cuò)調(diào)試、相關(guān)軟件的使用技能等方面得到較全面的鍛煉和提高。

5、理解音樂(lè)產(chǎn)生的原理和編碼鍵盤(pán)掃描方法以及單片機(jī)內(nèi)部定時(shí)器的溢出中斷編程方法。

6、本次課程設(shè)計(jì)從硬件和軟件兩個(gè)方面入手,全面具體地掌握設(shè)計(jì)思路、方法和過(guò)程,使理論與實(shí)際相結(jié)合,充分地鍛煉了動(dòng)手能力和思維擴(kuò)展能力。第2章系統(tǒng)總體方案選擇與說(shuō)明2.1系統(tǒng)方案綜述從系統(tǒng)實(shí)現(xiàn)的功能上來(lái)看,簡(jiǎn)易電子琴的課程設(shè)計(jì)主要是手動(dòng)按鍵彈奏樂(lè)曲。手動(dòng)彈奏樂(lè)曲是根據(jù)具體的硬件鍵盤(pán)設(shè)置功能鍵實(shí)現(xiàn)音譜的各個(gè)音。從系統(tǒng)硬件結(jié)構(gòu)上來(lái)看,我們主要使用到51系列單片機(jī)、矩陣16鍵輸入電路、蜂鳴器以及電源電路等等。將這些硬件電路有機(jī)地結(jié)合起來(lái)使之滿(mǎn)足簡(jiǎn)易電子琴的實(shí)現(xiàn)硬件需要。從系統(tǒng)軟件設(shè)計(jì)角度來(lái)看,將簡(jiǎn)易電子琴的課程設(shè)計(jì)采用程序模塊化設(shè)計(jì)方法,將程序分為主程序、鍵盤(pán)掃描程序模塊、音樂(lè)產(chǎn)生模塊等等。此外,采用程序設(shè)計(jì)思想、外部按鍵方式,來(lái)實(shí)現(xiàn)可手動(dòng)彈奏樂(lè)曲。因此,我們可以綜合上述的方案設(shè)計(jì)原理,從軟件和硬件兩部分進(jìn)行有計(jì)劃有步驟的系統(tǒng)分析和設(shè)計(jì)。2.2系統(tǒng)設(shè)計(jì)思路1、手動(dòng)彈奏樂(lè)曲用編碼的矩形鍵盤(pán)來(lái)實(shí)現(xiàn),手動(dòng)彈奏樂(lè)曲中矩陣鍵盤(pán)的16個(gè)鍵分別設(shè)置不同的音符。2、軟件的設(shè)計(jì)主要包括無(wú)符號(hào)音符的定義、矩形鍵盤(pán)鍵值的讀取和手動(dòng)彈奏樂(lè)曲控制程序。3、此次程序設(shè)計(jì)主要是手動(dòng)彈奏樂(lè)曲程序控制。而音符的在程序的開(kāi)始就被定義好了,只要在控制程序中調(diào)用即可。2.3系統(tǒng)設(shè)計(jì)方案2.3.1播放模塊播放模塊是由擴(kuò)音器接單片機(jī)控制引腳P3.7構(gòu)成,中間接限流電阻以及PNP三極管,且它幾乎不存在噪聲,音響效果較好,而且由于所需驅(qū)動(dòng)功率較小,且價(jià)格低廉,所以,被廣泛應(yīng)用。2.3.2按鍵控制模塊電子琴設(shè)有16個(gè)按鍵,16個(gè)按鍵分別代表16個(gè)音符,包括中音段的全部音符,通過(guò)軟硬件設(shè)計(jì),然后通過(guò)查詢(xún)電子琴所按下的按鍵,讀取電子琴按鍵的輸入狀態(tài),跳轉(zhuǎn)到對(duì)應(yīng)的程序入口,實(shí)現(xiàn)自編歌曲的。2.3.3鍵盤(pán)掃描程序檢測(cè)是否有鍵按下,有鍵按下則記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無(wú)鍵按下,則返回鍵盤(pán)掃描程序繼續(xù)檢測(cè)。2.3.4功能轉(zhuǎn)移程序?qū)z測(cè)到得按鍵值進(jìn)行判斷,是琴鍵則跳轉(zhuǎn)至琴鍵處理程序,是功能鍵則跳轉(zhuǎn)至相應(yīng)的功能程序,我們?cè)O(shè)計(jì)的功能程序有兩種,即音色調(diào)節(jié)功能。第3章系統(tǒng)框圖與工作原理及芯片介紹3.1系統(tǒng)硬件電路設(shè)計(jì)框圖基于單片機(jī)系統(tǒng)電子琴的基本結(jié)構(gòu)如下圖圖3.1系統(tǒng)框圖3.2工作原理1、演奏音樂(lè)原理:通過(guò)控制單片機(jī)程序首先設(shè)置的音符,通過(guò)控制程序調(diào)用,以及通過(guò)程序判斷是否有按鍵按下來(lái)經(jīng)放大后驅(qū)動(dòng)蜂鳴器是否發(fā)出不同音節(jié)的聲音。用軟件延時(shí)來(lái)控制發(fā)音時(shí)間的長(zhǎng)短,控制節(jié)拍。把樂(lè)譜的音符和相應(yīng)的節(jié)拍變換為定時(shí)常數(shù)和延時(shí)常數(shù),作為數(shù)據(jù)表格存放在存儲(chǔ)器中,由程序到這量常數(shù)和延時(shí)常數(shù)。另單片機(jī)晶振頻率為12MHZ。2、鍵盤(pán)掃描原理:先將4×4矩陣鍵盤(pán)的行和列全部置為高電平,然后再逐行置為低電平,當(dāng)有鍵按下時(shí)P1口的值會(huì)發(fā)生相應(yīng)的改變,通過(guò)與給定數(shù)的比較,判定是否有鍵按下和是否鍵已松開(kāi)。并給定列號(hào),根據(jù)所給的列號(hào)的值,一方面給單片機(jī)送入確定好的數(shù)值,即發(fā)出相應(yīng)音符音,從而來(lái)達(dá)到譜樂(lè)譜的目的。3.3芯片介紹(1)在本次電子琴設(shè)計(jì)中,我所用的單片機(jī)芯片選用了AT89C51型號(hào)的芯片,89C51系列的兼容性也比較好。P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3口引腳特殊功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀先通)(2)p3.7口音頻輸出,接一個(gè)喇叭。(3)復(fù)位電路我們本來(lái)在方案選擇的時(shí)候有兩種選擇的,上電復(fù)位和按扭復(fù)位,上電復(fù)位是利用電容充電來(lái)實(shí)現(xiàn)的,而按扭復(fù)位是電源對(duì)外節(jié)電容的充電使RST為高電平,復(fù)位松開(kāi)后,電容通過(guò)下拉電阻放電,使RST恢復(fù)低電平。為了功能的完美我還是選擇用上電自動(dòng)復(fù)位,因?yàn)樗容^方便,不需要人另外去操作。第4章各硬件電路的設(shè)計(jì)說(shuō)明由于時(shí)間原因,本次所設(shè)計(jì)硬件電路以及程序只經(jīng)過(guò)了仿真軟件測(cè)試,而沒(méi)有去單片機(jī)實(shí)驗(yàn)室去用單片機(jī)試驗(yàn)箱去測(cè)試程序。4.1按鍵模塊的設(shè)計(jì)圖4.1.1按鍵電路上圖為硬件系統(tǒng)的16鍵4×4的矩陣式鍵盤(pán)電路邏輯圖,鍵盤(pán)的行線連接到P1.0-P1.3口上,列線連接到P1.4-P1.7口上,單片機(jī)通過(guò)逐行掃描的方法對(duì)鍵盤(pán)進(jìn)行掃描,讀取判斷有無(wú)鍵被按下以及按鍵的位置。為了判斷有沒(méi)有鍵被按下,可先經(jīng)輸出口向所有列線輸出高電平然后在輸出各行狀態(tài)。若行線狀態(tài)皆為高電平則表明無(wú)鍵被按下;若行線狀態(tài)中有低電平就表示有鍵被按下,然后再根據(jù)接通的行線和列線判定按鍵的位置。當(dāng)經(jīng)掃描表明有鍵被按下后,緊接著就是進(jìn)行去抖動(dòng)處理,抖動(dòng)時(shí)間的長(zhǎng)短與鍵的機(jī)械特性有關(guān),一般為10-20ms。4.2蜂鳴器模塊的設(shè)計(jì)圖4.2.1擴(kuò)音電路電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)。振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。本系統(tǒng)設(shè)計(jì)的蜂鳴器通過(guò)驅(qū)動(dòng)電路與單片機(jī)的P3.7連接,單片機(jī)就可以通過(guò)P3.7的輸出信號(hào)進(jìn)行控制。4.3電源部分及其他附屬模塊的設(shè)計(jì)圖4.3.1上電復(fù)位電路對(duì)輸入電路產(chǎn)生的電源我們的要求是穩(wěn)定在5V左右,保證單片機(jī)的正常工作。復(fù)位是單片機(jī)的初始化操作,其作用是使CPU和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。本系統(tǒng)采用上電與按鍵復(fù)位電路,為了防止干擾串?dāng)_復(fù)位端,所以再接一個(gè)去耦電容。晶振電路的設(shè)計(jì)可以?xún)蓚€(gè)電容與一個(gè)晶振即可,用來(lái)產(chǎn)生一個(gè)約等于12MHZ的穩(wěn)定的頻率。第5章系統(tǒng)軟件設(shè)計(jì)5.1系統(tǒng)軟件方案的設(shè)計(jì)進(jìn)行應(yīng)用軟件設(shè)計(jì)時(shí)可采用模塊化設(shè)計(jì),其優(yōu)點(diǎn)是:(1)每個(gè)模塊的程序結(jié)構(gòu)簡(jiǎn)單,任務(wù)明確,易于編寫(xiě)、調(diào)試和修改;(2)程序可讀性好,對(duì)程序的修改可局部進(jìn)行,其他部分可以保持不變,便于功能的擴(kuò)充和版本的升級(jí);(3)對(duì)于使用頻繁的子程序可以建立子程序庫(kù),便于多個(gè)模塊調(diào)用;(4)便于進(jìn)行程序的編寫(xiě)和修改調(diào)試工作,加快軟件的研制進(jìn)度。根據(jù)設(shè)計(jì)要求,首先要確定軟件設(shè)計(jì)方案,即確定該軟件應(yīng)該完成哪些功能;其次是規(guī)劃這些功能需要分成多少個(gè)功能模塊,以及每一個(gè)程序模塊的具體任務(wù)是什么。其系統(tǒng)的軟件設(shè)計(jì)的模塊應(yīng)該遵循下述原則:(1)每個(gè)模塊應(yīng)具備獨(dú)立的功能,能產(chǎn)生一個(gè)明確的結(jié)果。(2)模塊之間的控制參數(shù)應(yīng)盡量簡(jiǎn)單,數(shù)據(jù)參數(shù)應(yīng)盡量少??刂茀?shù)是指模塊進(jìn)入和退出的條件及方式,數(shù)據(jù)參數(shù)是指模塊間信息的交換方式、交換量的多少及交換的頻繁程度。(3)模塊的長(zhǎng)度適中。模塊語(yǔ)句的長(zhǎng)度要始終,模塊太長(zhǎng),調(diào)試和分析會(huì)有難度;模塊太短,信息交換太過(guò)頻繁,不利于模塊功能的體現(xiàn)系統(tǒng)的結(jié)構(gòu)模塊圖如下所示:主程序模塊主程序模塊手動(dòng)彈奏樂(lè)曲模塊功能轉(zhuǎn)換模塊音樂(lè)播放模塊5.2系統(tǒng)程序的設(shè)計(jì)系統(tǒng)主程序的功能是進(jìn)行端口定義,以及各個(gè)音符的無(wú)符號(hào)定義,這樣方便程序的調(diào)用.5.2.1主程序設(shè)計(jì)如下#include<reg51.h>#include"SoundPlay.h"#defineucharunsignedchar#defineuintunsignedint#definecnt_delay_cnt125//按鍵去抖動(dòng)延時(shí)閥值#definecnt_delay_cnt25//按鍵行輸出信號(hào)穩(wěn)定的小延時(shí)閥值unsignedintdleay_time1;/****************各個(gè)按鍵的音調(diào)**********/unsignedcharcodeMusic_Code_1[]={0x15,0x02,0x00,0x00};unsignedcharcodeMusic_Code_2[]={0x16,0x02,0x00,0x00};unsignedcharcodeMusic_Code_3[]={0x17,0x02,0x00,0x00};unsignedcharcodeMusic_Code_4[]={0x18,0x02,0x00,0x00};unsignedcharcodeMusic_Code_5[]={0x19,0x02,0x00,0x00};unsignedcharcodeMusic_Code_6[]={0x1A,0x02,0x00,0x00};unsignedcharcodeMusic_Code_7[]={0x1B,0x02,0x00,0x00};unsignedcharcodeMusic_Code_8[]={0x0B,0x02,0x00,0x00};unsignedcharcodeMusic_Code_9[]={0x0C,0x02,0x00,0x00};unsignedcharcodeMusic_Code_10[]={0x0D,0x02,0x00,0x00};unsignedcharcodeMusic_Code_11[]={0x0E,0x02,0x00,0x00};unsignedcharcodeMusic_Code_12[]={0x0F,0x02,0x00,0x00};unsignedcharcodeMusic_Code_13[]={0x10,0x02,0x00,0x00};unsignedcharcodeMusic_Code_14[]={0x11,0x02,0x00,0x00};unsignedcharcodeMusic_Code_15[]={0x15,0x03,0x00,0x00};unsignedcharcodeMusic_Code_16[]={0x16,0x03,0x00,0x00};unsignedcharkey_step=1;//按鍵掃描步驟變量,在switch()語(yǔ)句的括號(hào)里unsignedintdelay_cnt2=0;//延時(shí)計(jì)數(shù)器的變量unsignedcharkey_lock1=0;//按鍵自鎖標(biāo)志unsignedintdelay_cnt1=0;//延時(shí)計(jì)數(shù)器的變量ucharkey_sec;sbitkey_dr1=P1^0;//4X4按鍵行輸出sbitkey_dr2=P1^1;//4X4按鍵行輸出sbitkey_dr3=P1^2;//4X4按鍵行輸出sbitkey_dr4=P1^3;//4X4按鍵行輸出sbitkey_sr1=P1^4;//4X4按鍵行輸入sbitkey_sr2=P1^5;//4X4按鍵行輸入sbitkey_sr3=P1^6;//4X4按鍵行輸入sbitkey_sr4=P1^7;//4X4按鍵行輸入5.2.2主函數(shù)程序的設(shè)計(jì)/************************************************************主函數(shù)*************************************************************/voidmain(){InitialSound();//初始化播發(fā)器key_lock1=0; while(1) {key_scan(); switch(key_sec) { case1: Play(Music_Code_1,0,3,360); key_sec=0; break; case2: Play(Music_Code_2,0,3,360); key_sec=0; break; case3: Play(Music_Code_3,0,3,360); key_sec=0; break; case4: Play(Music_Code_4,0,3,360); key_sec=0; break; case5: Play(Music_Code_5,0,3,360); key_sec=0; break; case6: Play(Music_Code_6,0,3,360); key_sec=0; break; case7: Play(Music_Code_7,0,3,360); key_sec=0; break; case8: Play(Music_Code_8,0,3,360); key_sec=0; break; case9: Play(Music_Code_9,0,3,360); key_sec=0; break; case10: Play(Music_Code_10,0,3,360); key_sec=0; break; case11: Play(Music_Code_11,0,3,360); key_sec=0; break; case12: Play(Music_Code_12,0,3,360); key_sec=0; break; case13: Play(Music_Code_13,0,3,360); key_sec=0; break; case14: Play(Music_Code_14,0,3,360); key_sec=0; break; case15: Play(Music_Code_15,0,3,360); key_sec=0; break; case16: Play(Music_Code_16,0,3,360); key_sec=0; break; } }}設(shè)計(jì)總結(jié)由于我以前專(zhuān)科階段上過(guò)C語(yǔ)言版的單片機(jī)課程,相對(duì)于本學(xué)期的所學(xué)的匯編語(yǔ)言,我覺(jué)得C語(yǔ)言版的更容易接受,所以本次課程設(shè)計(jì)我選用C編程。經(jīng)過(guò)這兩周的單片機(jī)課程設(shè)計(jì)對(duì)我獲益匪淺,讓我重新系統(tǒng)性地認(rèn)識(shí)和掌握了單片機(jī)技術(shù),讓我將平常學(xué)的C語(yǔ)言和編程方法學(xué)以致用,使我的C語(yǔ)言能力有了很大提高和進(jìn)步,讓我對(duì)單片機(jī)外圍接口設(shè)備有了深入細(xì)致的了解。由于課程設(shè)計(jì)安排跟我個(gè)人的很多事情安排起沖突,所以課程設(shè)計(jì)的主要完成是在第二周。一開(kāi)始,我在網(wǎng)上尋找有關(guān)的資料和仔細(xì)讀懂老師設(shè)計(jì)任務(wù)書(shū)從而研究設(shè)計(jì)方案,進(jìn)行設(shè)計(jì)的總體規(guī)劃,理清課程設(shè)計(jì)思路。但是將這些具體的方案落實(shí)到每一個(gè)設(shè)計(jì)環(huán)節(jié)和步驟中,難免會(huì)出現(xiàn)意想不到錯(cuò)誤,這就需要我們?cè)谶M(jìn)行設(shè)計(jì)的過(guò)程中利用所掌握的知識(shí)認(rèn)真排查錯(cuò)誤原因,多方面的思考問(wèn)題的關(guān)鍵不斷地改正自己的設(shè)計(jì)不足之處和錯(cuò)誤。此外,對(duì)硬件電路的工作原理和單片機(jī)知識(shí)的掌握是進(jìn)行下一步的軟件設(shè)計(jì)的關(guān)鍵。這次課程設(shè)計(jì)能順利的完成任務(wù)很大程度上是因?yàn)樵谲浖O(shè)計(jì)之前對(duì)硬件的設(shè)計(jì)及工作原理有了細(xì)致的了解。在進(jìn)入了軟件設(shè)計(jì)方案和具體的編程和調(diào)試運(yùn)行階段。在這個(gè)階段中,對(duì)系統(tǒng)的需求分析和如何采用模塊化設(shè)計(jì)思想是設(shè)計(jì)方案主要解決的問(wèn)題,通過(guò)不斷地設(shè)計(jì)嘗試和反復(fù)地設(shè)計(jì)調(diào)試初步解決了問(wèn)題。但是也存在了設(shè)計(jì)上的不足之處,即如何實(shí)現(xiàn)自動(dòng)音樂(lè)播放的暫停和斷點(diǎn)播放,在在我設(shè)計(jì)初期,希望能另外實(shí)現(xiàn)16個(gè)音樂(lè)的播放的自我播放和按鍵暫停,在采用了這樣的設(shè)計(jì)方法上在原理上可以行得通,但是由于難度太大,以及個(gè)人的水平問(wèn)題,最后放棄了這個(gè)設(shè)想。最后,現(xiàn)在經(jīng)過(guò)兩周后,經(jīng)過(guò)實(shí)踐的操作和調(diào)試,對(duì)單片機(jī)軟件都有了更深的了解。通過(guò)設(shè)計(jì),鞏固之前所學(xué)課程,使所學(xué)知識(shí)牢固掌握并靈活運(yùn)用。在整個(gè)課程設(shè)計(jì)中,我的指導(dǎo)老師尋大勇老師給予很多指導(dǎo)性的意見(jiàn)。軟件設(shè)計(jì)和仿真過(guò)程中,劉其濤同學(xué)也幫助我解決了一些實(shí)際問(wèn)題。本次課程設(shè)計(jì)必將成為自己以后學(xué)習(xí)道路上的寶貴的實(shí)踐經(jīng)驗(yàn)。參考文獻(xiàn)1、王迎旭編《單片機(jī)原理與應(yīng)用》機(jī)械工業(yè)出版社.2、周向紅編《51系列單片機(jī)應(yīng)用與實(shí)踐教程》北航出版社3、樓然苗編《51系列單片機(jī)設(shè)計(jì)實(shí)例》北航出版社.4、黃勤編《計(jì)算機(jī)硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)教程》重慶大學(xué)出版社5、劉樂(lè)善編《微型計(jì)算機(jī)接口技術(shù)及應(yīng)用》華中科技大學(xué)出版社.6、陳光東編《單片微型計(jì)算機(jī)原理及接口技術(shù)》華中科技大學(xué)出版社。附錄A系統(tǒng)硬件電路原理圖附錄B程序設(shè)計(jì)數(shù)據(jù)#include<reg51.h>#include"SoundPlay.h"#defineucharunsignedchar#defineuintunsignedint#definecnt_delay_cnt125//按鍵去抖動(dòng)延時(shí)閥值#definecnt_delay_cnt25//按鍵行輸出信號(hào)穩(wěn)定的小延時(shí)閥值unsignedintdleay_time1;/*********************************************************各個(gè)按鍵的音調(diào)**********************************************************/unsignedcharcodeMusic_Code_1[]={0x15,0x02,0x00,0x00};unsignedcharcodeMusic_Code_2[]={0x16,0x02,0x00,0x00};unsignedcharcodeMusic_Code_3[]={0x17,0x02,0x00,0x00};unsignedcharcodeMusic_Code_4[]={0x18,0x02,0x00,0x00};unsignedcharcodeMusic_Code_5[]={0x19,0x02,0x00,0x00};unsignedcharcodeMusic_Code_6[]={0x1A,0x02,0x00,0x00};unsignedcharcodeMusic_Code_7[]={0x1B,0x02,0x00,0x00};unsignedcharcodeMusic_Code_8[]={0x0B,0x02,0x00,0x00};unsignedcharcodeMusic_Code_9[]={0x0C,0x02,0x00,0x00};unsignedcharcodeMusic_Code_10[]={0x0D,0x02,0x00,0x00};unsignedcharcodeMusic_Code_11[]={0x0E,0x02,0x00,0x00};unsignedcharcodeMusic_Code_12[]={0x0F,0x02,0x00,0x00};unsignedcharcodeMusic_Code_13[]={0x10,0x02,0x00,0x00};unsignedcharcodeMusic_Code_14[]={0x11,0x02,0x00,0x00};unsignedcharcodeMusic_Code_15[]={0x15,0x03,0x00,0x00};unsignedcharcodeMusic_Code_16[]={0x16,0x03,0x00,0x00};unsignedcharkey_step=1;//按鍵掃描步驟變量,在switch()語(yǔ)句的括號(hào)里unsignedintdelay_cnt2=0;//延時(shí)計(jì)數(shù)器的變量unsignedcharkey_lock1=0;//按鍵自鎖標(biāo)志unsignedintdelay_cnt1=0;//延時(shí)計(jì)數(shù)器的變量ucharkey_sec;sbitkey_dr1=P1^0;//4X4按鍵行輸出sbitkey_dr2=P1^1;//4X4按鍵行輸出sbitkey_dr3=P1^2;//4X4按鍵行輸出sbitkey_dr4=P1^3;//4X4按鍵行輸出sbitkey_sr1=P1^4;//4X4按鍵行輸入sbitkey_sr2=P1^5;//4X4按鍵行輸入sbitkey_sr3=P1^6;//4X4按鍵行輸入sbitkey_sr4=P1^7;//4X4按鍵行輸入//****************************/******************************************************************/voidDelayUs(unsignedcharus)//delayus{unsignedcharuscnt;uscnt=us>>1;/*Crystalfrequencyin12MHz*/while(--uscnt);}/***********************************************************/voidDelayMs(unsignedcharms)//delayMs{while(--ms){DelayUs(250);DelayUs(250); DelayUs(250); DelayUs(250);}}voidkey_scan()//按鍵掃描函數(shù){//補(bǔ)充說(shuō)明:如果中斷一次就把所有的按鍵都掃描完,中斷占用的時(shí)間片就會(huì)太多,勢(shì)//必會(huì)影響main函數(shù)里其他子程序的運(yùn)行,為了避免一口氣把所//的按鍵都掃描完,此//處用switch語(yǔ)句把4個(gè)按鍵分成2等分,一次中斷只掃描2個(gè)按鍵switch(key_step)//按鍵掃描步驟,{case1://掃描1號(hào)鍵,2號(hào)鍵key_dr1=0;//按鍵行掃描輸出第一行低電平key_dr2=1; key_dr3=1; key_dr4=1;delay_cnt2=0;//延時(shí)計(jì)數(shù)器清零key_step++;//切換到下一個(gè)運(yùn)行步驟break;case2:delay_cnt2++;if(delay_cnt2>cnt_delay_cnt2)//小延時(shí),但不是去抖動(dòng)延時(shí),替代一直受網(wǎng)友爭(zhēng)議的delay1(40){delay_cnt2=0;key_step++;//切換到下一個(gè)運(yùn)行步驟}break;case3:if(key_sr1==1&&key_sr2==1&&key_sr3==1&&key_sr4==1){//如果沒(méi)有按鍵按下,則2個(gè)IO輸入都是高電平key_step++;//如果沒(méi)有按鍵按下,下一個(gè)中斷掃描下2個(gè)//按鍵 key_lock1=0;//按鍵自鎖標(biāo)志清零delay_cnt1=0;//按鍵去抖動(dòng)延時(shí)計(jì)數(shù)器清零,此行非常巧妙} elseif(key_sr1==0&&key_sr2==1&&key_sr3==1&&key_sr4==1&&key_lock1==0){//key_lock1按鍵自鎖,避免按鍵一直觸發(fā),下降沿有效++delay_cnt1;//延時(shí)計(jì)數(shù)器if(delay_cnt1>cnt_delay_cnt1)//延時(shí)計(jì)數(shù)器超過(guò)一定的數(shù)值{delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā),只有松開(kāi)按鍵, //此標(biāo)志位才會(huì)被清零(經(jīng)典)key_sec=1;//觸發(fā)1號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí) // led1=0;//有按鍵按下,打開(kāi)背光燈 // dleay_time3=0;//背光燈延時(shí)計(jì)數(shù)器清零}}elseif(key_sr1==1&&key_sr2==0&&key_sr3==1&&key_sr4==1&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=2;//觸發(fā)2號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0;//有按鍵按下,打開(kāi)背光燈 // dleay_time3=0;//背光燈延時(shí)計(jì)數(shù)器清零}} elseif(key_sr1==1&&key_sr2==1&&key_sr3==0&&key_sr4==1&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=3;//觸發(fā)3號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0;//有按鍵按下,打開(kāi)背光燈 // dleay_time3=0;//背光燈延時(shí)計(jì)數(shù)器清零}} elseif(key_sr1==1&&key_sr2==1&&key_sr3==1&&key_sr4==0&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=4;//觸發(fā)4號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0;//有按鍵按下,打開(kāi)背光燈 //dleay_time3=0;//背光燈延時(shí)計(jì)數(shù)器清零}}break;case4://掃描//掃描3號(hào)鍵,4號(hào)鍵key_dr1=1;key_dr2=0;//按鍵行掃描輸出第二行低電平 key_dr3=1; key_dr4=1;delay_cnt2=0;//延時(shí)計(jì)數(shù)器清零key_step++;//切換到下一個(gè)運(yùn)行步驟break;case5:delay_cnt2++;if(delay_cnt2>cnt_delay_cnt2)//小延時(shí),但不是去抖動(dòng)延時(shí),替代一直受網(wǎng)友爭(zhēng)議的delay1(40){delay_cnt2=0;key_step++;//切換到下一個(gè)運(yùn)行步驟}break;case6:if(key_sr1==1&&key_sr2==1&&key_sr3==1&&key_sr4==1){//如果沒(méi)有按鍵按下,則2個(gè)IO輸入都是高電平key_step++;//如果沒(méi)有按鍵按下,下一個(gè)中斷掃描下2個(gè)按鍵 key_lock1=0;//按鍵自鎖標(biāo)志清零delay_cnt1=0;//按鍵去抖動(dòng)延時(shí)計(jì)數(shù)器清零,此行非常巧妙} elseif(key_sr1==0&&key_sr2==1&&key_sr3==1&&key_sr4==1&&key_lock1==0){//key_lock1按鍵自鎖,避免按鍵一直觸發(fā),下降沿有效++delay_cnt1;//延時(shí)計(jì)數(shù)器if(delay_cnt1>cnt_delay_cnt1)//延時(shí)計(jì)數(shù)器超過(guò)一定的數(shù)值{delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā),只有松開(kāi)按鍵, //此標(biāo)志位才會(huì)被清零key_sec=5;//觸發(fā)1號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí) // led1=0;//有按鍵按下,打開(kāi)背光燈 // dleay_time3=0;//背光燈延時(shí)計(jì)數(shù)器清零}}elseif(key_sr1==1&&key_sr2==0&&key_sr3==1&&key_sr4==1&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=6;//觸發(fā)2號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí) //led1=0;//有按鍵按下,打開(kāi)背光燈 // dleay_time3=0;//背光燈延時(shí)計(jì)數(shù)器清零}} elseif(key_sr1==1&&key_sr2==1&&key_sr3==0&&key_sr4==1&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=7;//觸發(fā)4號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí) //led1=0;//有按鍵按下,打開(kāi)背光燈 // dleay_time3=0;//背光燈延時(shí)計(jì)數(shù)器清零}} Elseif(key_sr1==1&&key_sr2==1&&key_sr3==1&&key_sr4==0&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=8;//觸發(fā)4號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0;//有按鍵按下,打開(kāi)背光燈 //dleay_time3=0;//背光燈延時(shí)計(jì)數(shù)器清零}}break; case7://掃描//掃描3號(hào)鍵,4號(hào)鍵key_dr1=1;key_dr2=1;//按鍵行掃描輸出第二行低電平 key_dr3=0; key_dr4=1;delay_cnt2=0;//延時(shí)計(jì)數(shù)器清零key_step++;//切換到下一個(gè)運(yùn)行步驟break;case8:delay_cnt2++;if(delay_cnt2>cnt_delay_cnt2)//小延時(shí),但不是去抖動(dòng)延時(shí),替代一直受網(wǎng)友爭(zhēng)議的delay1(40){delay_cnt2=0;key_step++;//切換到下一個(gè)運(yùn)行步驟}break;case9:if(key_sr1==1&&key_sr2==1&&key_sr3==1&&key_sr4==1){//如果沒(méi)有按鍵按下,則2個(gè)IO輸入都是高電平key_step++;//如果沒(méi)有按鍵按下,下一個(gè)中斷掃描下2個(gè)//按鍵 key_lock1=0;//按鍵自鎖標(biāo)志清零delay_cnt1=0;//按鍵去抖動(dòng)延時(shí)計(jì)數(shù)器清零,此行非常巧妙} elseif(key_sr1==0&&key_sr2==1&&key_sr3==1&&key_sr4==1&&key_lock1==0){//key_lock1按鍵自鎖,避免按鍵一直觸發(fā),下降沿有效++delay_cnt1;//延時(shí)計(jì)數(shù)器if(delay_cnt1>cnt_delay_cnt1)//延時(shí)計(jì)數(shù)器超過(guò)一定的數(shù)值{delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā),只有松開(kāi)按鍵, //此標(biāo)志位才會(huì)被清零key_sec=9;//觸發(fā)1號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí) // led1=0; // dleay_time3=0;}}elseif(key_sr1==1&&key_sr2==0&&key_sr3==1&&key_sr4==1&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=10;//觸發(fā)2號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0; // dleay_time3=0;}} elseif(key_sr1==1&&key_sr2==1&&key_sr3==0&&key_sr4==1&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=11;//觸發(fā)4號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0; // dleay_time3=0;}} elseif(key_sr1==1&&key_sr2==1&&key_sr3==1&&key_sr4==0&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=12;//觸發(fā)4號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0; // dleay_time3=0;}}break;case10://掃描//掃描3號(hào)鍵,4號(hào)鍵key_dr1=1;key_dr2=1;//按鍵行掃描輸出第二行低電平 key_dr3=1; key_dr4=0;delay_cnt2=0;//延時(shí)計(jì)數(shù)器清零key_step++;//切換到下一個(gè)運(yùn)行步驟break;case11:delay_cnt2++;if(delay_cnt2>cnt_delay_cnt2)//小延時(shí),但不是去抖動(dòng)延時(shí),替代一直受網(wǎng)友爭(zhēng)議的delay1(40){delay_cnt2=0;key_step++;//切換到下一個(gè)運(yùn)行步驟}break;case12:if(key_sr1==1&&key_sr2==1&&key_sr3==1&&key_sr4==1){//如果沒(méi)有按鍵按下,則2個(gè)IO輸入都是高電平key_step++;//如果沒(méi)有按鍵按下,下一個(gè)中斷掃描下2個(gè)//按鍵 key_lock1=0;//按鍵自鎖標(biāo)志清零delay_cnt1=0;//按鍵去抖動(dòng)延時(shí)計(jì)數(shù)器清零,此行非常巧妙} elseif(key_sr1==0&&key_sr2==1&&key_sr3==1&&key_sr4==1&&key_lock1==0){//key_lock1按鍵自鎖,避免按鍵一直觸發(fā),下降沿有效++delay_cnt1;//延時(shí)計(jì)數(shù)器if(delay_cnt1>cnt_delay_cnt1)//延時(shí)計(jì)數(shù)器超過(guò)一定的數(shù)值{delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā),只有松開(kāi)按鍵, //此標(biāo)志位才會(huì)被清零key_sec=13;//觸發(fā)1號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí) // led1=0; // dleay_time3=0;}}elseif(key_sr1==1&&key_sr2==0&&key_sr3==1&&key_sr4==1&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=14;//觸發(fā)2號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0; // dleay_time3=0;}} elseif(key_sr1==1&&key_sr2==1&&key_sr3==0&&key_sr4==1&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=15;//觸發(fā)4號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí)//led1=0; // dleay_time3=0;}} elseif(key_sr1==1&&key_sr2==1&&key_sr3==1&&key_sr4==0&&key_lock1==0){++delay_cnt1;if(delay_cnt1>cnt_delay_cnt1){delay_cnt1=0; key_lock1=1;//自鎖按鍵置位,避免一直觸發(fā)key_sec=16;//觸發(fā)4號(hào)鍵 dleay_time1=0;//自鎖計(jì)數(shù)延時(shí) //led1=0; // dleay_time3=0;}}break;} if(key_step>12)//第1組按鍵與第2組按鍵反復(fù)輪流掃描 { key_step=1; }}/************************************************************主函數(shù)*************************************************************/voidmain(){InitialSound();//初始化播發(fā)器key_lock1=0;//P3=0;//關(guān)閉蜂鳴器 while(1) {key_scan(); switch(key_sec) { case1: Play(Music_Code_1,0,3,360); key_sec=0; break; case2: Play(Music_Code_2,0,3,360); key_sec=0; break; case3: Play(Music_Code_3,0,3,360); key_sec=0; break; case4: Play(Music_Code_4,0,3,360); key_sec=0; break; case5: Play(Music_Code_5,0,3,360); key_sec=0; break; case6: Play(Music_Code_6,0,3,360); key_sec=0; break; case7: Play(Music_Code_7,0,3,360); key_sec=0; break; case8: Play(Music_Code_8,0,3,360); key_sec=0; break; case9: Play(Music_Code_9,0,3,360); key_sec=0; break; case10: Play(Music_Code_10,0,3,360); key_sec=0; break; case11: Play(Music_Code_11,0,3,360); key_sec=0; break; case12: Play(Music_Code_12,0,3,360); key_sec=0; break; case13: Play(Music_Code_13,0,3,360); key_sec=0; break; case14: Play(Music_Code_14,0,3,360); key_sec=0; break; case15: Play(Music_Code_15,0,3,360); key_sec=0; break; case16: Play(Music_Code_16,0,3,360); key_sec=0; break; } }}電氣信息學(xué)院課程設(shè)計(jì)評(píng)分表項(xiàng)目評(píng)價(jià)優(yōu)良中及格差設(shè)計(jì)方案合理性與創(chuàng)造性(10%)開(kāi)發(fā)板焊接及其調(diào)試完成情況*(10%)硬件設(shè)計(jì)或軟件編程完成情況(20%)硬件測(cè)試或軟件調(diào)試結(jié)果*(10%)設(shè)計(jì)說(shuō)明書(shū)質(zhì)量(20%)答辯情況(10%)完成任務(wù)情況(10%)獨(dú)立工作能力(10%)出勤情況(10%)綜合評(píng)分指導(dǎo)教師簽名:________________日期:________________注:=1\*GB3①表中標(biāo)*號(hào)項(xiàng)目是硬件制作或軟件編程類(lèi)課題必填內(nèi)容;=2\*GB3②此表裝訂在課程設(shè)計(jì)說(shuō)明書(shū)的最后一頁(yè)。課程設(shè)計(jì)說(shuō)明書(shū)裝訂順序:封面、任務(wù)書(shū)、目錄、正文、評(píng)分表、附件(非16K大小的圖紙及程序清單)。

中國(guó)企業(yè)物流運(yùn)作現(xiàn)狀及發(fā)展戰(zhàn)略探討摘要:自從2001年中國(guó)加入WTO之后,市場(chǎng)競(jìng)爭(zhēng)就更加激烈。每個(gè)企業(yè)為了提高自身的競(jìng)爭(zhēng)力,努力提高物流水平,降低物流成本。本文將中國(guó)物流現(xiàn)狀與發(fā)達(dá)的國(guó)家和地區(qū)的企業(yè)物流運(yùn)作模式進(jìn)行對(duì)比,提出了中國(guó)的企業(yè)物流發(fā)展戰(zhàn)略關(guān)鍵詞:企業(yè)物流現(xiàn)狀;運(yùn)行模式;發(fā)展戰(zhàn)略一、中國(guó)企業(yè)物流的運(yùn)作現(xiàn)狀及弊端

物流戰(zhàn)略是很多企業(yè)總體戰(zhàn)略中必須考慮到的一個(gè)重要因素。為了在市場(chǎng)中提升自我競(jìng)爭(zhēng)了,企業(yè)不斷在降低物流成本和提高物流水平上下功夫。無(wú)論是在國(guó)內(nèi)還是國(guó)際市場(chǎng)上,都能夠最大程度上的降低成本,同時(shí)又不減低服務(wù)水平,獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。企業(yè)物流的管理整體上來(lái)說(shuō)還是處于不完善的階段,大多停留在紙幣時(shí)代。比較先進(jìn)的企業(yè)已經(jīng)配備了電腦,但是依舊沒(méi)有形成系統(tǒng)的體系和網(wǎng)絡(luò)。EDL、個(gè)人電腦、人工智能、專(zhuān)家系統(tǒng)、通信和掃描等先進(jìn)的信息技術(shù)還未在物流運(yùn)作中廣泛地運(yùn)用。但是物流是一種新型的管理技術(shù),涉及領(lǐng)域?qū)拸V。因此物流管理人員要熟悉掌握企業(yè)內(nèi)物流和因此延伸的整條供應(yīng)鏈的管理知識(shí),掌握整個(gè)工藝流程,精通物流管理技術(shù)。而我國(guó)現(xiàn)在十分缺乏具備綜合物流知識(shí)的管理和技術(shù)人才,難以滿(mǎn)足企業(yè)物流現(xiàn)代化的需求。二、中國(guó)企業(yè)物流的發(fā)展戰(zhàn)略1990年以來(lái),在國(guó)外,物流已經(jīng)成為了該國(guó)一個(gè)重要的經(jīng)濟(jì)增長(zhǎng)點(diǎn)。但是在中國(guó),物流才剛剛起步。企業(yè)之間生產(chǎn)經(jīng)營(yíng),市場(chǎng)運(yùn)行的各個(gè)方面展開(kāi)競(jìng)爭(zhēng)。具體體現(xiàn)在技術(shù)、人才上包括了物流和供應(yīng)鏈。在競(jìng)爭(zhēng)如此激烈的背景之下,企業(yè)進(jìn)入了一個(gè)微利時(shí)代,產(chǎn)品的成本和利潤(rùn)變得十分透明。而這用競(jìng)爭(zhēng)還會(huì)不斷加深,變得更加激烈,三、發(fā)展物流為當(dāng)務(wù)之急

社會(huì)的經(jīng)濟(jì)環(huán)境在不斷地發(fā)展變化之中,這就要求中小企業(yè)從戰(zhàn)略發(fā)展的高度出發(fā)去思考物流的發(fā)展問(wèn)題。在大企業(yè)實(shí)時(shí)物流戰(zhàn)略的同時(shí),作為靈活的反應(yīng)者,中小企業(yè)在市場(chǎng)中,也積極采取了行動(dòng)。希望通過(guò)積極的物流戰(zhàn)略提升自身的競(jìng)爭(zhēng)力。信息技術(shù)的發(fā)展前景大好,經(jīng)濟(jì)貿(mào)易的高速發(fā)展,物流業(yè)已經(jīng)顯示出了蓬勃的活力和蘊(yùn)藏的無(wú)限商機(jī),物流服務(wù)正逐漸成為中國(guó)企業(yè)之中最為經(jīng)濟(jì)合理的綜合服務(wù)模式。中國(guó)進(jìn)入WTO的時(shí)間還不算長(zhǎng),我國(guó)的中小企業(yè)應(yīng)該及時(shí)把握住這一機(jī)會(huì),在物流市場(chǎng)競(jìng)爭(zhēng)比較不激烈時(shí)加入物流領(lǐng)域,迅速地占領(lǐng)一定的市場(chǎng)份額。但是如果中小企業(yè)不作為,等時(shí)間再長(zhǎng)久一些,將會(huì)失去發(fā)展物流的優(yōu)勢(shì)。

四、從戰(zhàn)略角度做物流

現(xiàn)下,我國(guó)的許多中小企業(yè)還未意識(shí)到物流戰(zhàn)略以及控制物流成本的重要性。中小企業(yè)應(yīng)當(dāng)認(rèn)識(shí)到物流戰(zhàn)略是提升競(jìng)爭(zhēng)力的重要手段,并且重視自身物流系統(tǒng)地建設(shè),將物流系統(tǒng)的建設(shè)上升到戰(zhàn)略高度。事實(shí)上,企業(yè)物流成本是除了原材料成本之外的最大成本項(xiàng)目。在國(guó)外發(fā)達(dá)國(guó)家,它們的物流成本一般控制在10%左右。而我國(guó)的現(xiàn)狀就不太樂(lè)觀。我國(guó)物流成本一般占總成本30%-40%,鮮活產(chǎn)品占60%左右甚至更多。我們應(yīng)該看到的是系統(tǒng)完善的物流管理可以節(jié)省15%-30%物流成本,很大程度上減少庫(kù)存和運(yùn)輸成本,對(duì)于中小企業(yè)來(lái)說(shuō),技術(shù)上和產(chǎn)品質(zhì)量都比不上大企業(yè)。但不得不承認(rèn)的是,中小企業(yè)產(chǎn)品價(jià)格更加受消費(fèi)者青睞,市場(chǎng)需求反應(yīng)更加靈活迅速。一旦中小企業(yè)將物流上升到戰(zhàn)略高度,利用先進(jìn)的物流管理模式,就可以大大的節(jié)省產(chǎn)品成本,進(jìn)一步發(fā)揮自身的優(yōu)勢(shì)。想要在變幻莫測(cè)的市場(chǎng)中屹立不倒。謀求更加長(zhǎng)遠(yuǎn)的發(fā)展,中小企業(yè)就要把物流放到企業(yè)經(jīng)營(yíng)管理的戰(zhàn)略高度上進(jìn)行思考。除了考慮要怎樣解決倉(cāng)儲(chǔ)運(yùn)輸和商品配送這些物流的基本問(wèn)題,還要思考怎樣把采購(gòu)、生產(chǎn)和銷(xiāo)售過(guò)程中的物流活動(dòng)的有機(jī)結(jié)合。做到以業(yè)務(wù)流程為基礎(chǔ),使得物流的一體化。最終達(dá)到加強(qiáng)企業(yè)的在瞬息萬(wàn)變的市場(chǎng)當(dāng)中的競(jìng)爭(zhēng)能力。

我國(guó)的中小企業(yè)只有突破地域限制、行業(yè)的局限,放眼于國(guó)內(nèi)外,才能說(shuō)真正意義上做好了戰(zhàn)略制定,最大限度地把握住了機(jī)遇,有效規(guī)避風(fēng)險(xiǎn)。具體來(lái)的說(shuō),就是首先著眼于當(dāng)前的地域市場(chǎng)的開(kāi)拓,在獲得了本地競(jìng)爭(zhēng)的優(yōu)勢(shì)之后,輻射全國(guó),放眼于全球。

五、重視物流系統(tǒng)的全面改造

發(fā)展物流并不是一蹴而就的,它需要一步步地前進(jìn)。因此中小企業(yè)要注重制定詳細(xì)的物流重組的長(zhǎng)期實(shí)施計(jì)劃和發(fā)展策略。物流重組需要從物流業(yè)務(wù)流程、組織機(jī)構(gòu)、企業(yè)資源管理系統(tǒng)等方面展開(kāi),這樣一來(lái)才有可能慢慢實(shí)現(xiàn)企業(yè)物流向供應(yīng)鏈管理的“橫向一體化”。達(dá)到降低生產(chǎn)、庫(kù)存、運(yùn)輸?shù)拳h(huán)節(jié)的成本,最終給客戶(hù)帶來(lái)更大的效益,給消費(fèi)者帶去更大的實(shí)惠。與此同時(shí),企業(yè)的經(jīng)營(yíng)者應(yīng)該打破傳統(tǒng)的觀念,不再只是局限于投入產(chǎn)出管理問(wèn)題,如流程再造、壓縮成本、加強(qiáng)培訓(xùn)以及有限資源的合理配置問(wèn)題。企業(yè)的經(jīng)營(yíng)者應(yīng)當(dāng)認(rèn)識(shí)到物流是企業(yè)市場(chǎng)營(yíng)銷(xiāo)的基礎(chǔ),從戰(zhàn)略高度去思考物流運(yùn)營(yíng)成本

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論