找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 115|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)數(shù)字音樂盒設(shè)計(jì)說明書文檔及源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1151229 發(fā)表于 2025-5-22 09:59 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
第1章 緒論
隨著科學(xué)技術(shù)的進(jìn)步和社會(huì)的發(fā)展,人類所接觸的信息也在不斷增加并且日益復(fù)雜。面對(duì)浩如煙海的信息,人們已經(jīng)能夠利用計(jì)算機(jī)等工具高效準(zhǔn)確地對(duì)之進(jìn)行處理。小小的音樂盒可以給人們帶來美好的回憶,提高人們的精神文化享受。傳統(tǒng)音樂盒是機(jī)械型的,體積笨重,發(fā)音單調(diào),不能實(shí)現(xiàn)批量生產(chǎn)。本文設(shè)計(jì)的音樂盒是以單片機(jī)為核心元件的電子式音樂盒,體積小,重量輕,能演奏和旋音樂,功能多,外觀效果多彩,使用方便,并具有一定的商業(yè)價(jià)值。
第2章 系統(tǒng)論述
2.1 總體方案

本次設(shè)計(jì)是一個(gè)基于AT89C51單片機(jī)的音樂盒,該音樂盒主要由按鍵電路、復(fù)位電路、時(shí)鐘電路、蜂鳴器以及顯示電路組成。使用其中兩個(gè)按鍵來控制播放和暫停另外兩個(gè)按鍵用來控制換曲。利在液晶上顯示曲目的更換,共三首音樂,蜂鳴器每播放一首歌時(shí)液晶上顯示相對(duì)應(yīng)的歌曲次序。系統(tǒng)組成框圖如圖2-1。

2.2 基本原理
1)主體電路:

直流電機(jī)PWM控制模塊:這部分電路主要由89C51單片機(jī)的I/O端口、定時(shí)計(jì)數(shù)器、外部中斷擴(kuò)展等控制直流電機(jī)的加速、減速以及電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),并且可以調(diào)整電機(jī)的轉(zhuǎn)速,還可以方便的讀出電機(jī)轉(zhuǎn)速的大小和了解電機(jī)的轉(zhuǎn)向,能夠很方便的實(shí)現(xiàn)電機(jī)的智能控制。

此外,還包括直流電機(jī)的直接清零、啟動(dòng)(置數(shù))、暫停、連續(xù)功能。其間是通過89C51單片機(jī)產(chǎn)生脈寬可調(diào)的脈沖信號(hào)并輸入到L298驅(qū)動(dòng)芯片來控制直流電機(jī)工作的。

2)各部分電路模塊的組成:

  (a)設(shè)計(jì)輸入部分:這一模塊主要是利用帶中斷的獨(dú)立式鍵盤來實(shí)現(xiàn)。

  (c)設(shè)計(jì)控制部分:主要由89C51單片機(jī)的外部中斷擴(kuò)展電路組成。

  (b)設(shè)計(jì)顯示部分:是直接采用SM410564四位共陽數(shù)碼管組成顯示模塊。

3)直流電機(jī)PWM控制實(shí)現(xiàn)部分:

   主要由一些二極管、電機(jī)和L298直流電機(jī)驅(qū)動(dòng)模塊組成。

2.3 原理框圖
1)系統(tǒng)組成:如圖2-1所示

圖2-1  直流電機(jī)PWM調(diào)速方案

    2)方案說明:

直流電機(jī)PWM調(diào)速系統(tǒng)以AT89C51單片機(jī)為控制核心,由命令輸入模塊、LED顯示模塊及電機(jī)驅(qū)動(dòng)模塊組成。采用帶中斷的獨(dú)立式鍵盤作為命令的輸入,單片機(jī)在程序控制下,定時(shí)不斷給直流電機(jī)驅(qū)動(dòng)芯片發(fā)送PWM波形,H型驅(qū)動(dòng)電路完成電機(jī)正,反轉(zhuǎn)控制;同時(shí)單片機(jī)不停的將從鍵盤讀取的數(shù)據(jù)送到LED顯示模塊去顯示,從中不僅能讀取其速度,而且能知道它的轉(zhuǎn)向。

     

第3章 系統(tǒng)的硬件設(shè)計(jì)
3.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì)
1)單片機(jī)AT89C51

    AT89C51是一種帶4K字節(jié)閃爍可編程可擦出只讀存儲(chǔ)器的低電壓,高性能 CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù),與工業(yè)標(biāo)準(zhǔn)MCS-51指令集合輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價(jià)的方案。

2)復(fù)位電路及時(shí)鐘電路:

    復(fù)位電路和時(shí)鐘電路是維持單片機(jī)最小系統(tǒng)運(yùn)行的基本模塊。

兩種常用復(fù)位電路:上電復(fù)位和手動(dòng)復(fù)位。

其中:上電復(fù)位,如圖3-1所示;手動(dòng)復(fù)位,如圖3-2所示。

              

             圖3-1 上電復(fù)位                        圖3-2 手動(dòng)復(fù)位

有時(shí)系統(tǒng)在運(yùn)行過程中出現(xiàn)程序跑飛的情況,在程序開發(fā)過程中,經(jīng)常需要手動(dòng)復(fù)位。所以本次設(shè)計(jì)選用手動(dòng)復(fù)位。

高頻率的時(shí)鐘有利于程序更快的運(yùn)行,也有利于實(shí)現(xiàn)更高的信號(hào)采樣率,從而實(shí)現(xiàn)更多的功能。但是高速對(duì)系統(tǒng)的要求較高,而且功耗大,運(yùn)行環(huán)境苛刻?紤]到單片機(jī)本身用于控制,而并非高速信號(hào)采樣處理,所以選取合適的頻率即可。合適頻率的晶振對(duì)于選頻信號(hào)強(qiáng)度準(zhǔn)確度都有好處。

本次設(shè)計(jì)選取12.0M無源晶振接入XTAL1和XTAL2引腳。并聯(lián)2個(gè)30pF陶瓷電容幫助起振。單片機(jī)最小系統(tǒng)如圖3-3所示:

   

                             圖3-3  單片機(jī)最小系統(tǒng)

3.2 電源電路設(shè)計(jì)

直流穩(wěn)壓電源的基本原理:直流穩(wěn)壓電源一般有電源變壓器T、整流濾波電路及穩(wěn)壓電路所組成,基本框圖如圖3-4所示。

圖3-4 直流電源原理

1)電源變壓器T

    將220V的交流電壓變換成整流濾波電路所需要的交流電壓Ui,變壓器副邊與原邊的功率比為P2/P1=n,式中n是變壓器的效率。

2)整流電路:

   整流電路將交流電壓Ui變換成脈動(dòng)的直流電壓。再經(jīng)濾波電路濾除較大的波紋成分,輸出波紋較小的直流電壓U1。常用的整流濾波電路有全波整流濾波、橋式整流濾波等。

3)濾波電路:

   各濾波電路C滿足RL-C=(3~5)T/2,式中T為輸入交流信號(hào)周期,RL為整流濾波電路的等效負(fù)載電阻。

4)穩(wěn)壓電路:

   常用的穩(wěn)壓電路有兩種形式:一是穩(wěn)壓管穩(wěn)壓電路,二是串聯(lián)型穩(wěn)壓電路。二者的工作原理有所不同。穩(wěn)壓管穩(wěn)壓電路其工作原理是利用穩(wěn)壓管兩端的電壓稍有變化,會(huì)引起其電流有較大變化這一特點(diǎn),通過調(diào)節(jié)與穩(wěn)壓管串聯(lián)的限流電阻上的壓降來達(dá)到穩(wěn)定輸出電壓的目的。它一般適用于負(fù)載電流變化較小的場(chǎng)合。串聯(lián)型穩(wěn)壓電路是利用電壓串聯(lián)負(fù)反饋的原理來調(diào)節(jié)輸出電壓的。集成穩(wěn)壓電源事實(shí)上是串聯(lián)穩(wěn)壓電源的集成化。

3.3 直流電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)

由于單片機(jī)P3口輸出的電壓最高才有5V,難以直接驅(qū)動(dòng)直流電機(jī)。所以我們需要使用恒壓恒流橋式2A驅(qū)動(dòng)芯片L298N來驅(qū)動(dòng)電機(jī)。

本設(shè)計(jì)所采用的L298N,可接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)VSS,VSS可接4.5~7V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46V,輸出電流可達(dá)2.5A,可驅(qū)動(dòng)電感性負(fù)載。1腳和15腳下管的發(fā)射極分別單獨(dú)引出以便接入電流采樣電阻,形成電流傳感信號(hào)。

L298可驅(qū)動(dòng)2個(gè)電動(dòng)機(jī),OUT1,OUT2和OUT3,OUT4之間可分別接電動(dòng)機(jī),本實(shí)驗(yàn)裝置我們選用驅(qū)動(dòng)一臺(tái)電動(dòng)機(jī),連接于OUT1和OUT2端口之間(電動(dòng)機(jī)在子圖中未畫出)。

此外,5,7腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。EnA,EnB接控制使能端,控制電機(jī)的停轉(zhuǎn)。同時(shí),需要加四個(gè)二極管在電機(jī)的兩端,防止電機(jī)反轉(zhuǎn)的時(shí)候產(chǎn)生強(qiáng)大的沖擊電流燒壞電機(jī)。具體直流電機(jī)驅(qū)動(dòng)電路,如圖3-5所示。

                                 圖3-5 驅(qū)動(dòng)電路

3.4 顯示模塊設(shè)計(jì)

本次設(shè)計(jì)顯示模塊直接采用的是SM410564 四位共陽數(shù)碼管顯示。又因?yàn)閱纹瑱C(jī)的輸出端口輸出的電流較小,點(diǎn)亮數(shù)碼管的能力不大,所以需要采用三極管對(duì)輸出電流進(jìn)行放大,此次三極管采用的是C9013,具體放大電路如圖3-6所示:

                                圖3-6 放大電路

3.5 按鈕電路設(shè)計(jì)

正轉(zhuǎn)、反轉(zhuǎn)、急停、加速、減速五個(gè)開關(guān)分別與單片機(jī)的P1.0,P1.1,P1.2,P1.3,P1.4相連,然后再與地相連。急停實(shí)現(xiàn)直流電機(jī)的停轉(zhuǎn),正轉(zhuǎn)實(shí)現(xiàn)直流電機(jī)的正轉(zhuǎn),反轉(zhuǎn)實(shí)現(xiàn)直流電機(jī)的反轉(zhuǎn),加速實(shí)現(xiàn)直流電機(jī)的加速,減速實(shí)現(xiàn)直流電機(jī)的減速,其電路如圖3-7所示。

     圖3-7 控制按鈕電路

3.6 元件參數(shù)選擇
1)實(shí)際計(jì)算過程

  (a)變壓器選擇:變壓器選擇雙15V變壓,考慮到電流不需要太大,最大電流為1A,實(shí)際選擇變壓器輸出功率為10W,可以很好的滿足要求。

  (b)整流橋:考慮到電路中會(huì)出現(xiàn)沖擊電流,整流橋的額定電流是工作電流的2~3倍。選取RS301(100V,3A)即可,實(shí)際購買過程中選擇了RS30(700V,3A)也符合設(shè)計(jì)要求。

  (c)濾波電容:考慮到對(duì)紋波電壓要求比較高,故選擇了2200μF耐壓值為25V以及100μF耐壓值50v的電解電容。

  (d)去耦電容:去耦電容的選擇是7812及7805芯片要求的,查手冊(cè)可知分別為0.01μF,用來濾除高頻分量防止產(chǎn)生自激。

  (e)電解電容:為了防止負(fù)載產(chǎn)生沖擊電流,故在輸出端加入2200μF、耐壓值為25V的電解電容。

  (f)7805支路的元件參數(shù)基本相同。

直流電源產(chǎn)生電路:12V如圖3-7所示、5V如圖3-8所示:

                                圖3-7 12V電源

                                 圖3-8 5V電源

第4章 系統(tǒng)的軟件設(shè)計(jì)
4.1 總體方案

利用P3口,編制程序輸出一串脈沖,經(jīng)放大后驅(qū)動(dòng)直流電機(jī),改變輸出脈沖的電平的持續(xù)時(shí)間,達(dá)到使電機(jī)正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停轉(zhuǎn)等目的。由軟件編程從P3.0/P3.1管腳產(chǎn)生PWM 信號(hào),經(jīng)驅(qū)動(dòng)電路輸出給電機(jī),從而控制電機(jī)得電與失電。軟件采用延時(shí)法進(jìn)行設(shè)計(jì)。單片機(jī)上電后,系統(tǒng)進(jìn)入準(zhǔn)備狀態(tài)。當(dāng)按動(dòng)啟動(dòng)按鈕后,根據(jù)P3.0為高電平時(shí)實(shí)現(xiàn)電機(jī)正轉(zhuǎn),P3.1為高電平時(shí)實(shí)現(xiàn)電機(jī)反轉(zhuǎn)。根據(jù)不同的加減速按鈕,調(diào)整P3.0/ P3.1輸出高低電平時(shí)的占空比,從而可以控制P3.0/ P3.1輸出高低電平時(shí)的有效值,進(jìn)而控制電機(jī)的加減速。


其總體流程圖如圖4-1所示:
圖4-1 總體程序流程圖

P3.0/P3.1脈沖寬度調(diào)制器(PWM) 通道,它們產(chǎn)生可由編程決定寬度和間隔的脈沖。脈沖的間隔周期是由一個(gè)FOR循環(huán)控制,來產(chǎn)生不同的占空比。單片機(jī)產(chǎn)生的PWM信號(hào)不能直接驅(qū)動(dòng)電機(jī),這就需要設(shè)計(jì)合適的驅(qū)動(dòng)電路,用以可以間接地驅(qū)動(dòng)電機(jī),使其能夠正常運(yùn)行。為此,我們可借助于恒壓恒流橋式2A驅(qū)動(dòng)芯片L298N來完成對(duì)電動(dòng)機(jī)的驅(qū)動(dòng)。具體的設(shè)計(jì)方法是通過Keil C編程,Proteus聯(lián)合仿真來實(shí)現(xiàn)的。

4.2 相關(guān)軟件介紹
1)Proteus

Proteus是一種低投資的電子設(shè)計(jì)自動(dòng)化軟件,提供Schematic Drawing,SPICE仿真與PCB設(shè)計(jì)功能,這一點(diǎn)Proteus與multisim比較類似,只不過它可以仿真單片機(jī)和周邊設(shè)備,可以仿真51系列、AVR,PIC等常用的MCU,與Keil和MPLAB不同的是它還提供了周邊設(shè)備的仿真,只要給出電路圖就可以仿真,例如373,led,示波器,Proteus提供了大量的元件庫有RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件,編譯方面支持Keil和MPLAB,里面有大量的例子參考。

   (a)Proteus可提供的仿真元件資源Proteus軟件提供了可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件和多達(dá)30多個(gè)元件庫;

   (b)Proteus可提供的仿真儀表資源虛擬儀器儀表的數(shù)量、類型和質(zhì)量,是衡量仿真軟件實(shí)驗(yàn)室是否合格的一個(gè)關(guān)鍵因素。在Proteus軟件中,理論上同一種儀器可以在一個(gè)電路中隨意的調(diào)用;

   (c)除了現(xiàn)實(shí)存在的儀器外,Proteus還提供了一個(gè)圖形顯示功能,可以將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來;

   (d)Proteus還提供了比較豐富的測(cè)試信號(hào)用于電路的測(cè)試。這些測(cè)試信號(hào)包括模擬信號(hào)和數(shù)字信號(hào)。

2)Keil

    Keil是德國(guó)開發(fā)的一個(gè)51單片機(jī)開發(fā)軟件平臺(tái),最開始只是一個(gè)支持C語言和匯編語言的編譯器軟件。后來隨著開發(fā)人員的不斷努力以及版本的不斷升級(jí),使它已經(jīng)成為了一個(gè)重要的單片機(jī)開發(fā)平臺(tái),不過KEIL的界面并不是非常復(fù)雜,操作也不是非常困難,很多工程師的開發(fā)的優(yōu)秀程序都是在KEIL的平臺(tái)上編寫出來的?梢哉f它是一個(gè)比較重要的軟件,熟悉他的人很多很多,用戶群極為龐大,要遠(yuǎn)遠(yuǎn)超過偉福等廠家軟件用戶群,操作有不懂的地方只要找相關(guān)的書看看,到相關(guān)的單片機(jī)技術(shù)論壇問問,很快就可以掌握它的基本使用了。

  (a)Keil的UVision2可以進(jìn)行純粹的軟件仿真(仿真軟件程序,不接硬件電路),也可以利用硬件仿真器,搭接上單片機(jī)硬件系統(tǒng),在仿真器中載入項(xiàng)目程序后進(jìn)行實(shí)時(shí)仿真;

  (b)可以使用UVision2的內(nèi)嵌模塊Keil Monitor-51,在不需要額外的硬件仿真器的條件下,搭接單片機(jī)硬件系統(tǒng)對(duì)項(xiàng)目程序進(jìn)行實(shí)時(shí)仿真;

  (c)uVision2調(diào)試器具備所有常規(guī)源極調(diào)試,符號(hào)調(diào)試特性以及歷史跟蹤,代碼覆蓋,復(fù)雜斷點(diǎn)等功能。DDE界面和shift語言支持自動(dòng)程序測(cè)試。

4.3 應(yīng)用軟件的編制、調(diào)試

使用Keil 軟件工具時(shí),項(xiàng)目開發(fā)流程和其它軟件開發(fā)項(xiàng)目的流程極其相似。

1)創(chuàng)建一個(gè)項(xiàng)目,從器件庫中選擇目標(biāo)器件,配置工具設(shè)置;

2)用C語言或匯編語言創(chuàng)建源程序;

3)用項(xiàng)目管理器生成應(yīng)用;

4)修改源程序中的錯(cuò)誤;

5)測(cè)試,連接應(yīng)用。

第5章 仿真結(jié)果與分析5.1仿真電路圖

如圖5-1所示:

圖5-1 仿真電路圖
5.2 仿真結(jié)果

1)半速運(yùn)行狀態(tài),運(yùn)行結(jié)果如圖5-1所示:

        

      圖5-1 電機(jī)半速運(yùn)行

2)按下急停鍵,停止運(yùn)行如圖5-2所示:

圖5-2 電機(jī)停止運(yùn)行

3)按下加速鍵,加速運(yùn)行如圖5-3所示:

圖5-3 電機(jī)加速運(yùn)行

4)按下減速鍵,減速運(yùn)行如5-4所示:

圖5-4 電機(jī)減速運(yùn)行

按下反轉(zhuǎn)鍵,反轉(zhuǎn)運(yùn)行如圖5-5所示:

圖5-5 電機(jī)反向運(yùn)行

第6章總結(jié)

這次設(shè)計(jì),運(yùn)用AT89C51單片機(jī)為核心硬件,設(shè)計(jì)了直流電機(jī)的轉(zhuǎn)速控制系統(tǒng)。實(shí)現(xiàn)了對(duì)直流電機(jī)的停止、加速、減速、正轉(zhuǎn)、反轉(zhuǎn)等多種控制功能,基本滿足設(shè)系統(tǒng)計(jì)的要求。同時(shí),在驅(qū)動(dòng)芯片和電動(dòng)機(jī)的連接之間我有加入續(xù)流二極管,在電機(jī)反向運(yùn)轉(zhuǎn)時(shí)進(jìn)行續(xù)流,避免燒壞電機(jī)及其他元件。在此設(shè)計(jì)中P0口作為輸出端口,我們?cè)赑0口接入了排阻使電路復(fù)位后P0口輸出的為高電平。

通過本次設(shè)計(jì),學(xué)習(xí)與掌握了AT98C51單片機(jī)的基本原理及其各種應(yīng)用,對(duì)它的各種硬件接口與軟件設(shè)計(jì)方法有較深入的認(rèn)識(shí)。對(duì)自動(dòng)控制系統(tǒng)的動(dòng)、靜態(tài)性能及其控制有了一定的認(rèn)識(shí)。本設(shè)計(jì)重點(diǎn)在于應(yīng)用,因此在設(shè)計(jì)過程中使自己的動(dòng)手能力得到鍛煉,同時(shí)提高了解決實(shí)際問題的能力

感謝兩周以來每一位指導(dǎo)過自己的人,謝謝他們給自己的知識(shí),以及在專業(yè)知識(shí)和學(xué)習(xí)方法方面給我的許多的指導(dǎo)和啟發(fā),使我受益匪淺。謝謝他們的教導(dǎo),謝謝他們幫我成長(zhǎng)。


單片機(jī)源程序如下:
  1. #include<at89x51.h>
  2. #define unchar unsigned char
  3. #define unint unsigned int
  4. unsigned char code dispcode[]={0xc0,0xf9,0xa4,0xb0,
  5. 0x99,0x92,0x82,0xf8,
  6. 0x80,0x90,0x88,0x83,
  7. 0xc6,0xa1,0x86,0x84,0xff,0xbf}; //顯示代碼
  8. unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7};   //位選口
  9. unsigned char dispbuf[4]={0,0,0,0};
  10. unsigned char dispbitcnt;
  11. unint mstcnt;
  12. unint i;

  13. unint count=0;
  14. unchar tp=0;
  15. void ledshow();
  16. void keyscan();
  17. void delay();
  18. void just();
  19. void turn();
  20. void motorstop();
  21. void speedup();
  22. void speeddown();

  23. void main(void)
  24. {
  25. P3_0=1;
  26. P3_1=0;
  27. dispbuf[0]=16;
  28. TMOD=0x02;
  29. TH0=0x06;
  30. TL0=0x06;
  31. TR0=1;
  32. ET0=1;
  33. EA=1;
  34. while(1)
  35.     {
  36.         ledshow();//數(shù)碼管顯示
  37.         keyscan();//鍵盤掃描
  38.     }
  39. }
  40. //延時(shí)10ms程序
  41. void delay()
  42. {
  43. unsigned char i,j;
  44. for(i=20;i>0;i--)
  45. for(j=248;j>0;j--);
  46. }
  47. //鍵盤掃描程序
  48. void keyscan()
  49. {
  50.     unchar temp=0;
  51.     P1=0xff;
  52.     if((P1&0x1f)!=0x1f)
  53.     {
  54.         delay();
  55.         if((P1&0x1f)!=0x1f)
  56.         {
  57.             temp=P1&0x1f;
  58.             switch(temp)
  59.             {
  60.             case 0x1e:
  61.                 just();break;
  62.             case 0x1d:
  63.                 turn();break;
  64.             case 0x1b:
  65.                 motorstop();break;
  66.             case 0x17:
  67.                 speedup();break;
  68.             case 0x0f:
  69.                 speeddown();break;
  70.             }
  71.         }
  72.     }
  73.     while((P1&0x1f)!=0x1f);
  74. }
  75. //數(shù)碼管顯示程序
  76. void ledshow()
  77. {
  78. P0=dispcode[dispbuf[dispbitcnt]];
  79. P2=dispbitcode[dispbitcnt];
  80. dispbitcnt++;
  81. if(dispbitcnt==4)
  82. {
  83. dispbitcnt=0;
  84. }  

  85. P2=0x01;P0=dispcode[dispbuf[0]];
  86. for(i=0;i<700;i++);

  87. P2=0x02;P0=dispcode[dispbuf[1]];
  88. for(i=0;i<700;i++);

  89. P2=0x04;P0=dispcode[dispbuf[2]];
  90. for(i=0;i<700;i++);

  91. P2=0x08;P0=dispcode[dispbuf[3]];
  92. for(i=0;i<700;i++);

  93.     dispbuf[1]=tp/100;
  94.     dispbuf[2]=(tp%100)/10;
  95.     dispbuf[3]=tp%10;
  96. }
  97. //中斷服務(wù)程序
  98. void t0(void) interrupt 1 using 0</font>
復(fù)制代碼

word文檔下載: 數(shù)字音樂盒全套說明書及源代碼.doc (346.89 KB, 下載次數(shù): 0)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表