基于51單片機(jī)花樣流水燈設(shè)計(jì)與制作_第1頁(yè)
基于51單片機(jī)花樣流水燈設(shè)計(jì)與制作_第2頁(yè)
基于51單片機(jī)花樣流水燈設(shè)計(jì)與制作_第3頁(yè)
基于51單片機(jī)花樣流水燈設(shè)計(jì)與制作_第4頁(yè)
基于51單片機(jī)花樣流水燈設(shè)計(jì)與制作_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

1設(shè)計(jì)思路......................................................1

2系統(tǒng)方案及處理器的選擇........................................1

3硬件設(shè)計(jì)......................................................1

4軟件設(shè)計(jì)......................................................2

5系統(tǒng)組裝與調(diào)試.................................................3

5.1電路的組裝.................................................3

5.2系統(tǒng)調(diào)試...................................................4

5.2.1系統(tǒng)軟件的調(diào)試.........................................4

5.2.2系統(tǒng)硬件的調(diào)試........................................5

設(shè)計(jì)小結(jié).........................................................6

參考文獻(xiàn).........................................................6

附錄1源程序........................................................................................................6

附錄2實(shí)物圖......................................................................................................11

附錄3元器件清單..............................................................................................13

附錄4運(yùn)行效果圖..............................................................................................14

附錄5原理圖......................................................................................................15

附錄6PCB圖......................................................................................................15

附錄7安裝圖......................................................................................................16

附錄8仿真圖......................................................................................................16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于51單片機(jī)花樣流水燈設(shè)計(jì)與制作

1設(shè)計(jì)思路

建立基于單片機(jī)的花樣流水燈控制器,用它來(lái)控制8個(gè)發(fā)光二極管發(fā)光,實(shí)

現(xiàn)亮點(diǎn)的循環(huán)移動(dòng)。通過(guò)軟件編程實(shí)現(xiàn)各種各樣的亮點(diǎn)平面循環(huán)移動(dòng)。該彩燈

控制器能夠?qū)崿F(xiàn)閃爍模式。通過(guò)按鍵可選擇閃爍模式并由數(shù)碼管顯示出是第幾

種模式。本設(shè)計(jì)要求實(shí)現(xiàn)單片機(jī)控制流水燈顯示其流水效果,軟件實(shí)現(xiàn)思路為當(dāng)

有外部中斷0時(shí),才開始掃描K1~K4四個(gè)按鍵的狀態(tài),一旦進(jìn)入某個(gè)按鍵的亮

燈模式,執(zhí)行死循環(huán)。直到下一個(gè)外部中斷到來(lái)。

本系統(tǒng)設(shè)計(jì)采用發(fā)光二極管實(shí)現(xiàn)點(diǎn)亮功能,按鍵實(shí)現(xiàn)各種不同的點(diǎn)亮模式;

有四種不同的流水燈點(diǎn)亮模式:程序的設(shè)計(jì)用C語(yǔ)言;用仿真軟件Proteus進(jìn)

行仿真調(diào)試。

對(duì)于此設(shè)計(jì),是比較基礎(chǔ)的一個(gè)產(chǎn)品。它可以使我們充分體會(huì)單片機(jī)的輸

入輸出管腳的使用方法,加深對(duì)它的認(rèn)識(shí)起到了決定性的作用。同時(shí)通過(guò)本產(chǎn)

品進(jìn)一步對(duì)于單片機(jī)編程有一個(gè)更深入的認(rèn)識(shí),懂得什么是硬件控制,什么是

軟件控制,為就業(yè)打下堅(jiān)實(shí)的基礎(chǔ)。

2系統(tǒng)方案及處理器的選擇

本系統(tǒng)主要由處理器模塊、顯示模塊、電源模塊及復(fù)位電路組成,下面分

別論證這幾個(gè)模塊的選擇。

方案一:采取89C51單片機(jī)作為處理器,I/O口配置較為方便,芯片價(jià)格便

宜,但是運(yùn)行速度慢,內(nèi)部資源少,功耗高,性能達(dá)到此項(xiàng)目要求。

方案二:采取FPGA作為處理器,運(yùn)行速度快,組合邏輯能力較強(qiáng),時(shí)序?qū)?/p>

現(xiàn)能力強(qiáng),但是控制和運(yùn)算能力較弱,價(jià)格高,控制和運(yùn)算能力比較弱。

方案三:采取使用Atmega16單片機(jī)作為處理器,內(nèi)帶模擬比較器,I/O口可

作A/D轉(zhuǎn)換用,內(nèi)部資源豐富,運(yùn)行速度較快,對(duì)于Atmega16的使用較熟悉,

基本功能實(shí)現(xiàn)比較容易。對(duì)于此項(xiàng)目性價(jià)太高。

綜合以上三種方案,選擇方案一。

3硬件設(shè)計(jì)

本電路是利用單片機(jī)的中斷定時(shí)來(lái)實(shí)現(xiàn)LED燈的閃爍??刂破鱏TC89C52與

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

我們所學(xué)的ATML的單片機(jī)AT89C52的內(nèi)部結(jié)構(gòu)和資源是一樣的,內(nèi)部有8位的

CPU處理器包含(運(yùn)算部件和控制部件),片內(nèi)有256B的數(shù)據(jù)存儲(chǔ)器和8KB的程

序存儲(chǔ)器,3個(gè)定時(shí)器/計(jì)數(shù)器;六個(gè)中斷源(兩個(gè)外部中斷源INTO和INT1,

兩個(gè)定時(shí)/計(jì)數(shù)器T0和T1,一個(gè)串行口中斷)。四個(gè)輸出口P0口、P1口、P2口、

P3口,LED的八個(gè)燈的控制口由P1口來(lái)控制,加按鍵為P20,減按鍵為P21,

而采用P3口第二功能且可以在線下載程序,硬件復(fù)位端9腳在高電平是單片機(jī)

復(fù)位。由于本次設(shè)計(jì)未用到其他內(nèi)部資源所以就不過(guò)多的去分析。

此流水燈的硬件電路由三部分組成:?jiǎn)纹瑱C(jī)模塊:?jiǎn)纹瑱C(jī)AT89C51;輸出模

塊:8個(gè)發(fā)光二極管組成的負(fù)載電路;輸入模塊:按鈕組成的電路。共用到的元

器件見附錄3,原理圖如下圖1:

圖1原理圖

4軟件設(shè)計(jì)

此設(shè)計(jì)主要是采用單片機(jī)的延時(shí)來(lái)完成的,應(yīng)為設(shè)計(jì)要求8LED燈循環(huán)點(diǎn)

亮,默認(rèn)的速度是300mS,可通過(guò)按鍵來(lái)控制跑動(dòng)的速度。P20為加按鍵,P21

為減按鍵,可以調(diào)節(jié)速度為0到1000mS。具體軟件流程圖如圖2,程序清單見

附錄1。

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

開始

系統(tǒng)初始化

P1左循環(huán)1位

延時(shí)時(shí)間

是否循Y

環(huán)8次

是否有按鍵按下

改變時(shí)間

結(jié)束

圖2程序流程圖

5系統(tǒng)組裝與調(diào)試

5.1電路的組裝

手工焊接是組裝電子產(chǎn)品的時(shí)候所必須具備的基本技能,雖然現(xiàn)在大量工

廠焊接基本都采用自動(dòng)焊接、自動(dòng)插裝元器件的生產(chǎn)工藝,但是普通的產(chǎn)品制

作、測(cè)試和修理電子設(shè)備不適用于自動(dòng)焊接,而適用于手工焊接。而且如果焊

接不仔細(xì),那么你的元器件和芯片將無(wú)法進(jìn)行正常使用,而且如果出現(xiàn)元器件

焊接錯(cuò)誤,嚴(yán)重的話會(huì)導(dǎo)致你的電路板燒壞。所以手工焊接非常適合這個(gè)產(chǎn)品

設(shè)計(jì)。手工焊接的步驟分為四步:

第一步焊接的準(zhǔn)備和開始:

首先把焊接環(huán)境打掃干凈并保持干燥,主要就是鐵屑、灰塵、水滴等一切

會(huì)影響電路板和器件的東西,并且需要將烙鐵頭部清洗干凈讓它可以吃錫,然后

就是安裝元器件(注意先把容易安裝焊接的先焊,焊接一個(gè)安裝一個(gè),不推薦

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

一次安裝多個(gè)元器件。),這樣會(huì)影響焊接速度和外觀,比如你先焊接高度比較

高的元器件,那么高度低的就比較難焊,隨后將元器件的兩個(gè)角然后以一個(gè)直

角斷開。然后將焊錫螺栓固定在待加載元件的底部,并將導(dǎo)線放直。請(qǐng)記住,

鐵頭不得接觸設(shè)備的引腳,這樣會(huì)容易導(dǎo)致與其它器件管腳相連)。

第二步給焊接升溫:

第一步完成后,對(duì)焊錫絲進(jìn)行加熱,首先對(duì)電烙鐵加熱到合適的溫度(最

好400℃),然后將加熱好的烙鐵放在元器件的管教旁,然后緩慢的將焊錫絲融

化,當(dāng)焊點(diǎn)圓潤(rùn)后移開烙鐵,方向角度大致為45度,這個(gè)過(guò)程最好控制在2秒,

避免將電路板上的面包板損壞脫落。不同的元器件作具體的區(qū)別,當(dāng)元器件出

現(xiàn)焊錯(cuò)、或者其他問(wèn)題要對(duì)其進(jìn)行拆卸時(shí),焊接點(diǎn)也必須先填充焊接線加熱,

使焊接點(diǎn)變圓,然后用焊接螺栓加熱焊接點(diǎn)(這里推薦叫上朋友或者指導(dǎo)老師

一起進(jìn)行操作),然后在焊錫絲在融化的時(shí)候?qū)⒃骷鹦断聛?lái),這里也要注意

加熱時(shí)間,避免損壞焊盤。

第三部清理焊接面:

在第二步中,有時(shí)會(huì)觀察到錯(cuò)誤或假釬桿,此時(shí)應(yīng)當(dāng)及時(shí)的更正焊接點(diǎn)。

有兩個(gè)重要的情況,第一個(gè)是焊料不夠,點(diǎn)不夠圓,然后需要重新填充(確保

焊料不再脫落,防止與其他元件連接)。第二是焊料過(guò)剩。此時(shí),可將焊接螺栓

輕輕移動(dòng)到焊接處,以取出多余的焊料,如果還是不能成功的話,就需要采用

專門的設(shè)備來(lái)將里面多余的焊接材料吸附出來(lái)。

第四部檢查焊點(diǎn):

以上三步都完成后,然后對(duì)焊好的電路板進(jìn)行觀察,看焊點(diǎn)是否圓潤(rùn)、牢

固。

5.2系統(tǒng)調(diào)試

整個(gè)系統(tǒng)調(diào)試時(shí),先檢查系統(tǒng)的焊接功能是否存在著隱藏的問(wèn)題,如明顯

斷線、電源正負(fù)接等,然后用萬(wàn)用表測(cè)試印刷電路板是否短路。最后,確保焊

接是可以正常進(jìn)行的。

把調(diào)試平臺(tái)搭建成功后,首先對(duì)軟件程序進(jìn)行調(diào)試,如果調(diào)試沒(méi)有問(wèn)題,

則對(duì)功能進(jìn)行驗(yàn)證,假如功能有問(wèn)題,則繼續(xù)調(diào)試程序,直到所有功能都能展

示為止。

5.2.1系統(tǒng)軟件的調(diào)試

軟件調(diào)試步驟如下:

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

首先,用keil4軟件制作項(xiàng)目。單擊菜單欄中的“工程”,輸入新的工程名

稱并保存。選擇組件“”目錄下的“”。

新用戶源文件:將程序的源代碼寫入新的空文本中,編碼完成存儲(chǔ)文件和

文件擴(kuò)展名的設(shè)計(jì)與制作基于51單片機(jī)的便攜式紅外分級(jí)報(bào)警器。創(chuàng)建新文件

已完成。

程序編譯設(shè)置:?jiǎn)螕鬰ompile,系統(tǒng)編譯文件。在輸出窗口中可以看到提示

信息。如果提示中有不正確的信息,在被說(shuō)沒(méi)有錯(cuò)誤之前,必須找錯(cuò)誤進(jìn)行訂

正,就像下面的圖3所顯示的那樣。

圖3提示信息無(wú)錯(cuò)誤

如果程序編譯正確,使用PL2303串行端口fire程序檢查系統(tǒng)功能是否符合

要求。如果功能有問(wèn)題,那么我們應(yīng)該繼續(xù)一次又一次地調(diào)試程序,直到完成

所有功能。

5.2.2系統(tǒng)硬件的調(diào)試

最后一步是單片硬件測(cè)試。玻璃板的單片調(diào)試使用萬(wàn)用表、直流電源或示

波器進(jìn)行。特別是,檢查組件是否工作良好。該設(shè)備分為動(dòng)態(tài)在線和靜態(tài)在線

兩部分。

(1)靜態(tài)運(yùn)行模式,其中靜態(tài)運(yùn)行模式分為以下四大類:

從視覺(jué)上講。第一步是檢查焊點(diǎn)是否滿,裝置的零件或筆是否裝好,以防

短路。

萬(wàn)用表調(diào)試。首先檢查饋線是否短路,針腳是否連接良好,接線是否無(wú)故

障。

插電檢查。以上兩步均沒(méi)問(wèn)題,就可以通電了,然后觀察每個(gè)器件是否正

常運(yùn)行。然后在對(duì)功能進(jìn)行檢測(cè)。

廣泛的檢查測(cè)試。此測(cè)試方法僅適用于用微控制器開發(fā)板開發(fā)的系統(tǒng)。

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

(2)動(dòng)態(tài)調(diào)試:

動(dòng)態(tài)調(diào)試主要指的是在靜態(tài)調(diào)試之外,必須保證沒(méi)有問(wèn)題。最后一步是檢

查各設(shè)備是否正常工作,是否符合系統(tǒng)開發(fā)的功能,防止機(jī)器內(nèi)部損傷及對(duì)系

統(tǒng)性能的影響。

設(shè)計(jì)小結(jié)

在設(shè)計(jì)此電路時(shí)主要遇到的是程序的問(wèn)題,先確定的是硬件通過(guò)查資料,

繪制了電路原理圖,然后就是軟件而在編程的時(shí)候很困難而且對(duì)單片機(jī)了解不

是很精,通過(guò)查書和請(qǐng)教老師,慢慢的摸索相互合作最終還是把程序編譯出來(lái),

然后就是電路的焊接而焊接是最重要的,而且也相對(duì)困難因?yàn)槭怯猛ㄓ冒寰€路

都是用導(dǎo)線相互連接的布局就困難了,也加大了線路的焊接質(zhì)量,如果那兒沒(méi)

有焊好就對(duì)后面的調(diào)試很有影響。最后就是調(diào)試了,因?yàn)殡娐酚熊浖陀布?/p>

得在調(diào)試時(shí)排除錯(cuò)誤很麻煩不低于前期的設(shè)計(jì)和編程。總之需要理能加實(shí)踐才

能完成。

參考文獻(xiàn)

[1]全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編[M].

北京理工大學(xué)出版社.2007.

[2]黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽電路設(shè)計(jì)[M].北京:北京航天航空大學(xué)出

版社.2006.

[3]童詩(shī)白、華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版設(shè),

2004.10.

附錄1源程序

/****************************************************************

功能:流水燈,往左循環(huán)

****************************************************************

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

**/

#include<reg52.h>

#include<intrins.h>

typedefunsignedcharuchar;//聲明定義unsignedchar的別名

typedefunsignedintuint;//聲明定義unsignedint的別名

sbitLED1=P1^0;//第一個(gè)燈

sbitLED2=P1^1;

sbitLED3=P1^2;

sbitLED4=P1^3;

sbitLED5=P1^4;

sbitLED6=P1^5;

sbitLED7=P1^5;

sbitLED8=P1^5;//第八個(gè)燈

sbitKEY2=P2^0;//加按鍵

sbitKEY1=P2^1;//減按鍵

inttime=300;//默認(rèn)跑馬燈速度

voidKey_Click();//函數(shù)聲明

/*******************************************

函數(shù)名稱:delayMs

功能:延時(shí)約N個(gè)1ms的時(shí)間

參數(shù):無(wú)

返回值:無(wú)

*******************************************/

voiddelayMs(intms)

{

while(ms--)

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

{

uchari;

for(i=0;i<60;i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

Key_Click();

}

}

}

/*******************************************

函數(shù)名稱:Delay5ms

功能:延時(shí)約5個(gè)1ms的時(shí)間

參數(shù):無(wú)

返回值:無(wú)

*******************************************/

voiddelay5Ms(intms)

{

while(ms--)

{

uchari;

for(i=0;i<250;i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

}

}

}

/*******************************************

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

函數(shù)名稱:LED_Run

功能:led驅(qū)動(dòng)程序

參數(shù):無(wú)

返回值:無(wú)

*******************************************/

voidLED_Run()

{

inti;

P1=0xfe;

delayMs(time);

for(i=0;i<8;i++)

{

P1=P1<<1|1;

delayMs(time);

}

}

/*******************************************

函數(shù)名稱:Key_Click

功能:按鍵掃描程序

參數(shù):無(wú)

返回值:無(wú)

*******************************************/

voidKey_Click()

{

if(KEY1==0)//檢測(cè)按鍵是否按下

{

delay5Ms(5);//延時(shí)5毫秒

if(KEY1==0)//再次檢測(cè)按鍵是否真的按下

{

while(!KEY1);//等待按鍵松開

if(time>500)

{

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

time=time+100;//跑馬燈速度調(diào)節(jié)

}

elseif(time<100)

{

time=time+20;//跑馬燈速度調(diào)節(jié)

}

else

{

time=time+50;//跑馬燈速度調(diào)節(jié)

}

time=time+50;//跑馬燈速度調(diào)節(jié)

if(time>1000)

{

time=0;

}

}

}

if(KEY2==0)//檢測(cè)按鍵是否按下

{

delay5Ms(5);//延時(shí)5毫秒

if(KEY2==0)//再次檢測(cè)按鍵是否真的按下

{

while(!KEY2);//等待按鍵松開

if(time>500)

{

time=time-100;//跑馬燈速度調(diào)節(jié)

}

elseif(time<100)

{

time=time-20;//跑馬燈速度調(diào)節(jié)

}

else

{

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

time=time-50;//跑馬燈速度調(diào)節(jié)

}

if(time<0)

{

time=1000;

}

}

}

}

/*******************************************

函數(shù)名稱:main

功能:主函數(shù)

參數(shù):無(wú)

返回值:無(wú)

*******************************************/

voidmain()

{

while(1)

{

Key_Click();

LED_Run();

}

}

附錄2實(shí)物圖

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄3元器件清單

元件清單

序號(hào)名稱規(guī)格標(biāo)號(hào)數(shù)量

1輕觸開關(guān)插件S1,S2,S330.12

212MHZ晶振插件Y110.25

310uf電容插件電解電容C110.03

427pf電容插件瓷片電容C2、C320.01

510k電阻1/4W插件電阻R1410.01

61k電阻1/4W插件電阻R1,R2,R3,R4,R5,R6,R7,R880.1

75mmLED5mm插件ledLED1,LED2,LED3,LED4,LED5,80.5

LED6,LED7,LED8

8SCT89C52插件DIP40U112.8

9萬(wàn)用板7*9萬(wàn)用板10.8

10電源插座3.5-1.3MM電源座P110.1

11開關(guān)自鎖開關(guān)Sw110.1

1240P底座

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論