倒數(shù)計(jì)數(shù)器報(bào)告_第1頁
倒數(shù)計(jì)數(shù)器報(bào)告_第2頁
倒數(shù)計(jì)數(shù)器報(bào)告_第3頁
倒數(shù)計(jì)數(shù)器報(bào)告_第4頁
倒數(shù)計(jì)數(shù)器報(bào)告_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、湖南涉外經(jīng)濟(jì)學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:單片機(jī)原理及應(yīng)用報(bào)告題目:倒數(shù)計(jì)數(shù)器學(xué)生姓名:吳俊騰所在學(xué)院:信息科學(xué)與工程學(xué)院專業(yè)班級:電信1102班學(xué)生學(xué)號:072指導(dǎo)教師:廖亦凡 黃科2013年 12月23日課程設(shè)計(jì)任務(wù)書報(bào)告題目倒數(shù)計(jì)數(shù)器完成時(shí)間12.23學(xué)生姓名吳俊騰專業(yè)班級電信1102班指導(dǎo)教師黃科廖亦凡職稱學(xué)生總體設(shè)計(jì)要求和技術(shù)要點(diǎn)利用AT89C51單片機(jī)設(shè)計(jì)一個(gè)簡易的倒數(shù)計(jì)數(shù)器,可用來煮方便面、煮開水或小睡片刻等。做一小段時(shí)間倒計(jì)數(shù),當(dāng)?shù)褂?jì)數(shù)為0時(shí),則發(fā)出聲響通知倒計(jì)數(shù)終了。 (1)顯示格式為“分分:秒秒”。(2)用4個(gè)按鍵操作來設(shè)置當(dāng)前想要倒計(jì)數(shù)的時(shí)間。一旦按下鍵則開始倒計(jì)數(shù),當(dāng)計(jì)數(shù)為

2、0時(shí),發(fā)出一陣音樂聲。(3)程序執(zhí)行后工作指示燈LED閃動(dòng),表示程序開始執(zhí)行,按下操作鍵K1K4動(dòng)作如下。n K1可調(diào)整倒計(jì)數(shù)的時(shí)間160分鐘。n K2設(shè)置倒計(jì)數(shù)的時(shí)間為5分鐘,顯示“0500”。n K3設(shè)置倒計(jì)數(shù)的時(shí)間為10分鐘,顯示“1000”。n K4設(shè)置倒計(jì)數(shù)的時(shí)間為20分鐘,顯示“2000”。工作內(nèi)容及時(shí)間進(jìn)度安排第15周:周1-周3 :立題、論證方案設(shè)計(jì)周4-周5 :程序設(shè)計(jì)第16周:周1-周3 :仿真實(shí)驗(yàn)周4-周5 :驗(yàn)收答辯課程設(shè)計(jì)成果1與設(shè)計(jì)內(nèi)容對應(yīng)的軟件程序2課程設(shè)計(jì)總結(jié)報(bào)告摘要單片機(jī)自20世紀(jì)70年代問世以來,以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快

3、。而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。本實(shí)驗(yàn)是基于MCS51系列單片機(jī)所設(shè)計(jì)的,可以實(shí)現(xiàn)鍵盤按鍵與數(shù)字動(dòng)態(tài)顯示并可以用倒數(shù)的計(jì)數(shù)器。本設(shè)計(jì)基于單片機(jī)技術(shù)原理,以單片機(jī)芯片STC89C52作為核心控制器,通過硬件電路的制作以及軟件程序的編制,設(shè)計(jì)制作出一個(gè)計(jì)數(shù)器,包括以下功能:輸出時(shí)間,按下鍵就開始計(jì)時(shí),并將時(shí)間顯示在LED數(shù)碼管顯示器上。當(dāng)?shù)褂?jì)數(shù)為0時(shí),蜂鳴器就發(fā)出音樂聲響等等。該計(jì)數(shù)器系統(tǒng)主要由計(jì)數(shù)器模塊、數(shù)碼管顯示器模塊、蜂鳴器模塊、鍵盤模塊、復(fù)位模塊等部分組成。關(guān)鍵詞:STC89C52、鍵盤、LED數(shù)碼管顯示、蜂鳴器目錄課程設(shè)計(jì)任務(wù)書2一、項(xiàng)目概述和要求11.單片機(jī)基礎(chǔ)知

4、識12.單片機(jī)的發(fā)展趨勢1二、系統(tǒng)設(shè)計(jì)21. 框圖設(shè)計(jì)22.設(shè)計(jì)方案的選擇及論證33.電路原理圖44.元件清單4三、軟件設(shè)計(jì)71. 程序流程圖72.工作方式設(shè)計(jì)9四、系統(tǒng)的仿真與調(diào)試101. 硬件調(diào)試102. 軟件調(diào)試103. 軟硬件調(diào)試10五、總結(jié)11六、參考文獻(xiàn)12附錄程序:13一、項(xiàng)目概述和要求1.單片機(jī)基礎(chǔ)知識單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講,一塊芯片就成了一臺(tái)計(jì)算機(jī)。單片機(jī)具有體積小、功能強(qiáng)、應(yīng)用面廣等優(yōu)點(diǎn),目前正以前所未見的速度取代著傳統(tǒng)電子線路構(gòu)成的經(jīng)典系統(tǒng),蠶食著傳統(tǒng)數(shù)字電路與模擬電路固有的領(lǐng)地。它的體積小、

5、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。 現(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛。彩電、冰箱、空調(diào)、錄像機(jī)、VCD、遙控器、游戲機(jī)、電飯煲等無處不見單片機(jī)的影子,單片機(jī)早已深深地融入我們每個(gè)人的生活之中。單片機(jī)能大大地提高這些產(chǎn)品的智能性,易用性及節(jié)能性等主要性能指標(biāo),給我們的生活帶來舒適和方便的同時(shí),在工農(nóng)業(yè)生產(chǎn)上也極大地提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。單片機(jī)按用途大體上可分為兩類,一種是通用型單片機(jī),另一種是專用型單片機(jī)。MCS-51單片機(jī)是美國INTEL公司于1980年推出的產(chǎn)品,與MCS- 48單片機(jī)相比,它的結(jié)構(gòu)更先進(jìn),功能更強(qiáng)

6、,在原來的基礎(chǔ)上增加了更多的電路單元和指令,指令數(shù)達(dá)111條,MCS-51單片機(jī)可以算是相當(dāng)成功的產(chǎn)品,一直到現(xiàn)在,MCS-51系列或其兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品,各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與MSC-51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)。MCS-51系列單片機(jī)主要包括8031、8051和8751等通用產(chǎn)品。2.單片機(jī)的發(fā)展趨勢 單片機(jī)現(xiàn)在可以說是百花齊放,百家爭鳴的時(shí)期,世界上各大芯片制造公司都推出了自己的單片機(jī),從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供了廣闊的天地??v觀單片機(jī)的發(fā)展過程,可以預(yù)示單片機(jī)

7、的發(fā)展趨勢,大致有: 一、微型單片化現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機(jī)將數(shù)碼管(LED)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機(jī)芯片。此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式,其

8、中SMD(表面封裝)越來越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。二、低功耗CMOS化MCS-51系列的8031推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對單片機(jī)功耗要求越來越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。像80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于要求低功耗像電池供電的應(yīng)用場合。所以這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑。 三、

9、主流與多品種共存 現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以89C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國臺(tái)灣的Winbond系列單片機(jī)。所以89C51占據(jù)了半壁江山。而Microchip公司的PIC精簡指令集合(RISC)也有著強(qiáng)勁的發(fā)展勢頭,中國臺(tái)灣的HOLTEX公司近年的單片機(jī)產(chǎn)量與日俱增,與其底價(jià)質(zhì)優(yōu)的優(yōu)勢,占據(jù)一定的市場份額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專用單片機(jī)。在一定的時(shí)期內(nèi),這種情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ)、相輔相成、共同發(fā)展的道路。九十年代以后,單片機(jī)在

10、結(jié)構(gòu)上采用雙CPU或內(nèi)部流水線,CPU位數(shù)有8位、16位、32位,時(shí)鐘頻率高達(dá)20MHZ,片內(nèi)帶有PWM輸出、監(jiān)視定時(shí)器WDT、可編程計(jì)數(shù)器陣列PCA、DMA傳輸、調(diào)制解調(diào)器等。芯片向高度集成化、低功耗方向的發(fā)展,使得單片機(jī)在大量數(shù)據(jù)的實(shí)時(shí)處理、高級通信系統(tǒng)、數(shù)字信號處理、復(fù)雜工業(yè)過程控制、高級機(jī)器人以及局域網(wǎng)等方面得到大量應(yīng)用。這類單片機(jī)有NEC公司的MPD7800,MITSUBISHI公司的M,REVKWELL公司的R6500。二、系統(tǒng)設(shè)計(jì)1. 框圖設(shè)計(jì)框圖設(shè)計(jì)是為了能夠從整體上把握系統(tǒng)的各個(gè)大的模塊以及各個(gè)模塊之間的聯(lián)系。同時(shí)羅列出需要主要使用到的各個(gè)器件,以方面系統(tǒng)開發(fā)中器件的選取。通

11、過框圖設(shè)計(jì),讓設(shè)計(jì)者從整體上把握系統(tǒng)的開發(fā)。本系統(tǒng)設(shè)計(jì)的框圖如下圖1 所示。 復(fù)位電路LED數(shù)碼管 AT89C51鍵盤蜂鳴器圖1 系統(tǒng)結(jié)構(gòu)框圖2.設(shè)計(jì)方案的選擇及論證2.1 預(yù)置時(shí)間方案選擇方案一:由于設(shè)計(jì)要求倒數(shù)時(shí)間輸入可調(diào)并譯碼顯示,比較經(jīng)典的方案是使用8279 芯片:40 個(gè)引腳的8279 芯片是由Intel 于80 年代首先推出的,參考資料較多,應(yīng)用比較成熟。優(yōu)點(diǎn):最為通用,輸入時(shí)間使用鍵盤方便、易操作。缺點(diǎn):元器件多,面積大,電路復(fù)雜,需要較好的編程能力才能靈活運(yùn)用,其綜合成本較高,而且本系統(tǒng)只用到其鍵盤輸入單個(gè)功能,不能充分利用它的強(qiáng)大功能。方案二:即本設(shè)計(jì)系統(tǒng)所選方案,由STC8

12、9C51為核心芯片,由4X4矩陣鍵盤輸入相應(yīng)的信息,LED數(shù)碼管作顯示器件。本方案結(jié)構(gòu)簡單,成本低。修改方便。2.2 提示信號發(fā)生電路單片機(jī)驅(qū)動(dòng)能力有限,不能直接驅(qū)動(dòng)蜂鳴器,本方案利用三極管作蜂鳴器的驅(qū)動(dòng)器件。2.3 電路總體工作流程開電源 復(fù)位清零 設(shè)置時(shí)間T 按輸入確認(rèn)鍵,確認(rèn)輸入按開始鍵則進(jìn)入倒計(jì)時(shí),此時(shí)計(jì)數(shù)工作燈綠燈亮 剩余時(shí)間提示(T10min時(shí),倒數(shù)至5分鐘提示;T10min,倒數(shù)至1min提示)短提示音 倒數(shù)至0時(shí)發(fā)出長4s的提示音,同時(shí)亮黃燈 若計(jì)時(shí)未完則進(jìn)入超時(shí)計(jì)數(shù),直到超時(shí)1min時(shí)給出長4s的較急促的提示音,同時(shí)亮紅燈警告,且計(jì)時(shí)停止,數(shù)碼管顯示1分鐘不變直到主持人復(fù)位清

13、零 若計(jì)時(shí)在超時(shí)1min之前完成按復(fù)位鍵清零停止計(jì)數(shù)3.電路原理圖電路原理圖如圖2所示。圖2 電路原理圖4.元件清單4.1 AT89C51芯片STC89C52芯片圖如下圖3所示。圖3 AT89C51芯片圖主要性能:與MCS-51單片機(jī)產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、 1000次擦寫周期、全靜態(tài)操作:0Hz33Hz 、三級加密程序存儲(chǔ)器 、 32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源、全雙工UART串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門狗定時(shí)器 、雙數(shù)據(jù)指針、掉電標(biāo)識符 。功能特性描述:STC89C52 是一種低功耗、高性能CMOS8位微控

14、制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在線系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟

15、件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8K字節(jié)在系統(tǒng)可編程 Flash4.2 LED數(shù)碼管LED數(shù)碼管如下圖4所示。圖4 LED數(shù)碼管圖LED數(shù)碼管通常有8條引腳線或12條引腳線的LED數(shù)碼管,多出來的4條線是分別控制4個(gè)數(shù)碼管的現(xiàn)象線。數(shù)碼管A、B、C、D、E、F、G、DP接8051的P00P07口進(jìn)行控制,數(shù)碼管1、2、3、4口接驅(qū)動(dòng)電路4.3 按鍵控制模塊按鍵用于控制數(shù)碼顯示、LED數(shù)碼管顯示、揚(yáng)聲器等模塊的工作。通過

16、掃描按鍵是否按下,來設(shè)定各模塊的工作情況,使各模塊可以在按鍵的控制下,有序地進(jìn)行工作。設(shè)計(jì)中使用單個(gè)按鍵實(shí)現(xiàn)單個(gè)功能,屬于較為簡單的控制方式。在多功能系統(tǒng)設(shè)計(jì)的試驗(yàn)中我們使用四個(gè)按鍵分別與單片機(jī)的P34、P35、P36、P37相連。通過按下相應(yīng)的按鍵來處理相應(yīng)的程序。如下圖5所示。圖5 按鍵控制模塊圖4.4蜂鳴器蜂鳴器的功能是對輸入的不同頻率的方波進(jìn)行播放形成音樂,持續(xù)送出工作脈沖可以推動(dòng)喇叭發(fā)出嗶的聲響,當(dāng)工作頻率越高時(shí),聲音越清脆,工作頻率低時(shí),聲音則較低沉。使用8051的P15口進(jìn)行控制,如圖6所示。圖6 蜂鳴器模塊圖4.5 其它元件 其它元件圖如下圖7所示。圖7 其它元件圖三、軟件設(shè)計(jì)

17、1. 程序流程圖主程序開始初始化,然后掃描鍵盤、復(fù)位電路和計(jì)數(shù)器。當(dāng)鍵盤按鍵有按下時(shí),調(diào)整計(jì)數(shù)器值,數(shù)碼管顯示新值。當(dāng)復(fù)位鍵有按下時(shí),計(jì)數(shù)器復(fù)位為開機(jī)畫面,當(dāng)計(jì)數(shù)器值倒計(jì)為0時(shí),蜂鳴器發(fā)出聲音,計(jì)數(shù)器停止倒計(jì),程序結(jié)束。1.1主程序流程圖如圖8所示。倒計(jì)時(shí)時(shí)間是否Y主程序開始初始化變量及LED接口初始化定時(shí)器LED燈閃動(dòng)表示程序開始執(zhí)行LED掃描顯示器更新倒數(shù)時(shí)間數(shù)據(jù),檢查鬧鈴時(shí)間是否到了是否按K1,K2,K3,K4鍵K1:調(diào)整倒數(shù)時(shí)間K2:倒數(shù)計(jì)時(shí)時(shí)間為5MINK3:倒數(shù)計(jì)時(shí)時(shí)間為10MINK4:倒數(shù)計(jì)時(shí)時(shí)間為20MINYNN退出圖8 主程序流程圖1.2 LED數(shù)碼管顯示流程圖如圖9所示。開

18、始否 是否有程序執(zhí)行是 LED數(shù)碼管亮否 是否有鍵按下是 數(shù)碼管顯示時(shí)間否復(fù)位鍵是否按下是數(shù)碼管顯示倒計(jì)時(shí)分鐘秒數(shù)否是否有按鍵按下是數(shù)碼管顯示相應(yīng)的畫面退出圖9 LED數(shù)碼管顯示流程圖1.3按鍵流程圖如圖10所示。退出開始初始化按鍵掃描有鍵按下按鍵處理,確定模式時(shí)間顯示模式根據(jù)按鍵狀態(tài)顯示相應(yīng)時(shí)間段時(shí)間修改模式根據(jù)按鍵狀態(tài)修改時(shí)間NONOYESYES圖10 按鍵流程圖2.工作方式設(shè)計(jì)C語言比起匯編語言具有簡潔緊湊、靈活方便、語法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大等特點(diǎn),本例采用C語言進(jìn)行程序編寫。用到了定時(shí)器0和1,初始時(shí)開T0而關(guān)閉T1。其中定時(shí)器0用來控制倒計(jì)時(shí)的實(shí)現(xiàn),即當(dāng)時(shí)間到達(dá)50ms(定

19、時(shí)器時(shí)間)*20(循環(huán)次數(shù))時(shí),執(zhí)行中斷0將顯示時(shí)間減一,同時(shí)判斷計(jì)時(shí)是否減為0,當(dāng)掃描但定時(shí)時(shí)間為0時(shí),則關(guān)閉定時(shí)器0,而打開定時(shí)器1,控制音樂的播放。四、系統(tǒng)的仿真與調(diào)試1. 硬件調(diào)試 硬件調(diào)試分為靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試,對于硬件調(diào)試而言,只要認(rèn)真焊接,硬件一般不會(huì)出現(xiàn)什么問題的。靜態(tài)調(diào)試一般采用的工具是萬用表,它是在用戶系統(tǒng)未工作時(shí)的一種硬件檢測。動(dòng)態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排查錯(cuò)誤的一種硬件檢測。調(diào)試步驟是:首先把電路分為若干模塊,調(diào)試過程中與該模塊無關(guān)的元件可以不加考慮,這樣可把故障限定在一定的范圍內(nèi);故障清除后,把各個(gè)模塊合在一起進(jìn)行聯(lián)調(diào),即可完成整個(gè)硬件調(diào)試工作。2. 軟件

20、調(diào)試軟件調(diào)試是通過對程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正的過程。3. 軟硬件調(diào)試軟硬件聯(lián)調(diào)是指把調(diào)試無誤的軟件程序燒制進(jìn)單片機(jī)芯片內(nèi)部,通上電源后,檢查硬件工作是否有預(yù)期的效果,如果沒有則需要檢測軟件是否在實(shí)現(xiàn)功能上有欠缺。若有錯(cuò)誤,通過改寫軟件來調(diào)試,直至達(dá)到預(yù)期效果,則設(shè)計(jì)圓滿成功。本課程設(shè)計(jì)調(diào)試結(jié)果如下圖11所示。圖11 調(diào)試結(jié)果圖五、總結(jié)經(jīng)過將近兩個(gè)星期的課程設(shè)計(jì),簡單帶有LED數(shù)碼管顯示的倒數(shù)計(jì)數(shù)器基本完成,系統(tǒng)基本功能基本實(shí)現(xiàn),測試運(yùn)行也基本正常。該系統(tǒng)基本上完成了計(jì)數(shù)鬧時(shí)的功能。這次課程設(shè)計(jì)的時(shí)間雖然不算很長,但使我對很多東西有了更深刻的認(rèn)識。

21、平時(shí)在課堂上無法掌握的集體操作都有了一定的進(jìn)步??偨Y(jié)如下:1. 查閱資料和閱讀相關(guān)文獻(xiàn)的重要性。2. 向同學(xué)請教的重要性,團(tuán)結(jié)協(xié)作的重要性。3. 勤動(dòng)手的重要性,自己動(dòng)手,豐衣足食!以前很多時(shí)候一遇到問題常常都會(huì)問同學(xué),但是通過這次設(shè)計(jì),我學(xué)會(huì)了自己努力解決困難,提高了自己解決問題的能力。4. 對待任何事情都要有耐心和恒心,遇到問題要冷靜地思考,積極找出癥結(jié)所在,逐個(gè)解決。5. 做事情要步步為營,不能一蹴而就,就像焊接電路,只有確保每一部都真確,才有可能實(shí)現(xiàn)整個(gè)電路正常工作。通過本次課程設(shè)計(jì),我更深刻的認(rèn)識到了教學(xué)實(shí)踐在大學(xué)課程中的重要性,同時(shí)也發(fā)覺到了自己在學(xué)習(xí)方面存在的許多不足之處,在以后

22、的學(xué)習(xí)中我會(huì)努力改進(jìn)這些不足,不斷提高自己的動(dòng)手實(shí)踐能力。這次設(shè)計(jì)是我第一次獨(dú)自一人完成從寫開題報(bào)告、到畫原理圖、畫pcb、然后學(xué)習(xí)了C并且編寫了程序的整個(gè)設(shè)計(jì)過程,雖然沒有制板,這也許是個(gè)遺憾,但我還是學(xué)到了非常多的東西。比如弄懂了數(shù)碼管的原理,按鍵掃描的原理,熟悉了中斷的應(yīng)用以及初步了解了音樂的設(shè)計(jì)。在這個(gè)設(shè)計(jì)中,遇到了非常多的問題,最后都通過自己的努力以及老師同學(xué)的幫助而獲得解決。也明白了理論要在實(shí)踐中才能深刻的理解,這也是我以后要努力的方向。六、參考文獻(xiàn)1 張毅剛.單片機(jī)原理及應(yīng)用.高等教育出版社,北京,2010年2 譚浩強(qiáng),C程序設(shè)計(jì)解題與上機(jī)指導(dǎo),清華大學(xué)出版社,北京,2007年附

23、錄程序:#include#include#define LED_code_port P0 / 段碼數(shù)據(jù)口#define LED_segmnet_port P1 / 位碼數(shù)據(jù)口sbit KEYL3=P15;sbit KEYH1=P37;sbit KEYH2=P36;sbit KEYH3=P35;sbit KEY1=P34;/四個(gè)按鍵數(shù)據(jù)口unsigned int flag;unsigned char time_data3=00,10,0;unsigned char code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,

24、0x83,0xC6,0xA1,0x86,0x8E ;/段碼數(shù)組unsigned char n=0; / n為節(jié)拍常數(shù)變量 unsigned char code music_tab = 0x18, 0x30, 0x1C , 0x10, /格式為 頻率常數(shù), 節(jié)拍常數(shù), 頻率常數(shù), 節(jié)拍常數(shù), 0x20, 0x40, 0x1C , 0x10, 0x18, 0x10, 0x20 , 0x10, 0x1C, 0x10, 0x18 , 0x40, 0x1C, 0x20, 0x20 , 0x20, 0x1C, 0x20, 0x18 , 0x20, 0x20, 0x80, 0xFF , 0x20, 0x30

25、, 0x1C, 0x10 , 0x18, 0x20, 0x15, 0x20 , 0x1C, 0x20, 0x20, 0x20 , 0x26, 0x40, 0x20, 0x20 , 0x2B, 0x20, 0x26, 0x20 , 0x20, 0x20, 0x30, 0x80 , 0x00 ; sbit S=P15; /蜂鳴器 void delay (unsigned char m) / 控制頻率延時(shí) unsigned char i=3*m; while(-i); void delayms(unsigned char a) / 毫秒延時(shí)子程序 while(-a); / 采用while(-a) 不

26、要采用while(a-); void KILL() /播放音樂函數(shù) unsigned char p,m; / m為頻率常數(shù)變量 unsigned char i=0; TMOD =0x10; TH1=0xd8;TL1=0xef; ET1=1;EA=1;ES=1; play: while(1) a: p=music_tabi; if(p=0x00) i=0, delayms(1000); goto play; / 如果碰到結(jié)束符,延時(shí)1秒,回到開始再來一遍 else if(p=0xff) i=i+1;delayms(100),TR1=0; goto a; / 若碰到休止符,延時(shí)100ms,繼續(xù)取下

27、一音符 else m=music_tabi+, n=music_tabi+; / 取頻率常數(shù) 和 節(jié)拍常數(shù) TR1=1; / 開定時(shí)器1 while(n!=0) S=S,delay(m); /等待節(jié)拍完成, 通過P1口輸出音頻 TR1=0; /關(guān)定時(shí)器1 void delay_ms(unsigned int x) / 延時(shí)毫秒級unsigned int a=0,b=0,c=0;for(a=x;a0;a-)for(b=5;b0;b-)for(c=64;c0;c-);void LED_display(unsigned char seg_code,unsigned char shuju)if(seg

28、_code4) seg_code=1;if(shuju15) shuju=15;LED_segmnet_port=(LED_segmnet_port|0x0f)&_crol_(0xfe,seg_code-1); / 送入位碼LED_code_port=tableshuju; / 送入段碼delay_ms(2); / 保持顯示2毫秒LED_segmnet_port=LED_segmnet_port|0x0f; / 關(guān)掉所有數(shù)碼管void display_time()LED_display(1,time_data0/10);LED_display(2,time_data0%10);LED_display(3,time_data1/10);LED_display(4,time_data1%10);void time_initial()TMOD=0x01; /定時(shí)器,方式1TH0=0x4c; /寫入初值高8位TL0=0; /寫入初值低8位EA=1; / 開總中斷ET0=1; / 定時(shí)中斷允許TR0=1; / 開啟定時(shí)器void int0() interrupt 3 / 采用中斷1 控制節(jié)拍 TH1=0xd8; TL1=0xef; n-; void main() /按鍵time_initial();TR1=0;while(1)KEYL3=0;display_time

溫馨提示

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

最新文檔

評論

0/150

提交評論