基于51單片機(jī)的零件計(jì)數(shù)器設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)的零件計(jì)數(shù)器設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)的零件計(jì)數(shù)器設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)的零件計(jì)數(shù)器設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)的零件計(jì)數(shù)器設(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)介

1、題 目 專業(yè) 學(xué)號(hào) 姓名 指導(dǎo)教師學(xué)校單片機(jī)課程設(shè)計(jì)報(bào)告零件計(jì)數(shù)器通信工程劉玉宏河海大學(xué)常州校區(qū)17摘要:零件計(jì)數(shù)器生產(chǎn)實(shí)踐中具有很實(shí)際的用途,我們所設(shè)計(jì)的零件計(jì)數(shù)器的功能是把接在INTO上的單穩(wěn)信號(hào)當(dāng)作零件信號(hào),每來(lái)一個(gè)零件,單片機(jī)計(jì)數(shù)一次,當(dāng)計(jì)滿10次時(shí),蜂鳴器發(fā)出一聲警告音,并使繼電器閉合一次,產(chǎn)生零件打包動(dòng)作,要求LED上顯示當(dāng)前一共生產(chǎn)了多少零件,并能通過(guò)串口將零件數(shù)目發(fā)送給PC機(jī)。選擇這個(gè)項(xiàng)目可以幫助我們更加了解中斷、定時(shí)器及串口是如何工作的,提高對(duì)實(shí)際問(wèn)題的動(dòng)手操作能力以及解決問(wèn)題的能力。本課程采用C51編寫(xiě)程序,通過(guò)KeilC編寫(xiě)為機(jī)器代碼,燒寫(xiě)入單片機(jī)中,在實(shí)驗(yàn)箱上進(jìn)行操作,

2、完成單片機(jī)這種實(shí)用工具的整體的學(xué)習(xí)。關(guān)鍵字:?jiǎn)纹瑱C(jī)零件計(jì)數(shù)器LED顯示串口通信目錄一、系統(tǒng)設(shè)計(jì)1.1 主要組件及電路框圖41.2 軟件設(shè)計(jì)方框圖及流程圖51.3 電路功能7二、實(shí)驗(yàn)過(guò)程及結(jié)果2.1 程序設(shè)計(jì)92.2 調(diào)試過(guò)程132.3 問(wèn)題及解決132.4 調(diào)試結(jié)果13三、結(jié)論3.1 課程設(shè)計(jì)特點(diǎn)及貢獻(xiàn)143.2 改善建議143.3 心得體會(huì)14參考文獻(xiàn)15附錄16系統(tǒng)設(shè)計(jì)1.1 主要組件及電路框圖本課程設(shè)計(jì)使用的實(shí)驗(yàn)箱主要由單片機(jī)最小系統(tǒng),LED數(shù)碼管顯示部分,外部中斷控制部分,獨(dú)立式與行列式鍵盤(pán)按鍵輸入部分,用行口通信部分,蜂鳴器與繼電器等部分組成。電路總圖與功能如圖所示,每當(dāng)來(lái)一次外部中

3、斷時(shí),內(nèi)部計(jì)數(shù)一次,并將數(shù)值通過(guò)4位共陰數(shù)碼管動(dòng)態(tài)顯示出來(lái)。而單片機(jī)的P2可以選擇四根不同的數(shù)碼管來(lái)動(dòng)態(tài)顯示,通過(guò)視覺(jué)暫留達(dá)到同時(shí)顯示的效果。同時(shí)內(nèi)部程序檢測(cè)每當(dāng)計(jì)數(shù)十次時(shí),會(huì)形成一個(gè)繼電器閉合的零件打包動(dòng)作,并通過(guò)程序使得蜂鳴器發(fā)出警報(bào)。1.2 軟件設(shè)計(jì)框圖及流程圖零件計(jì)數(shù)器系統(tǒng)由多個(gè)函數(shù)構(gòu)成,其中包括主函數(shù),初始化函數(shù),延時(shí)函數(shù),串口發(fā)送函數(shù),蜂鳴器函數(shù),繼電器函數(shù)等。串口和外部中斷初始化函數(shù)顯示子函數(shù)延時(shí)函數(shù)蜂鳴器函數(shù)繼電器函數(shù)串口通信函數(shù)單片機(jī)零件計(jì)數(shù)器軟件系統(tǒng)各個(gè)函數(shù)框圖流程圖:初始化零件數(shù)為0LED動(dòng)態(tài)顯示零件數(shù)加1LED動(dòng)態(tài)顯示蜂鳴器響一次,繼電器閉合,執(zhí)行零件打包執(zhí)行串口發(fā)送函

4、數(shù)1.3 主要電路功能L二:江 TITXE-叁盟壽gk12PP1 P0 口D12345C- 1一;一一 r 一2一上 p p p p pp p P第0:度界屋一 PPPPPP-PP。1 上 3 4 w d ?-11 1 1 I - - 1 PPPPPPPPrlmRM1 ran A1-E.PB部分是單片機(jī)的最小系統(tǒng)部分,單片機(jī)為內(nèi)含8KFLAS卅序存儲(chǔ)器的STC89C52RCEA接高電平;各并行口都加了10K的上拉電阻;晶振為11.0592M。設(shè)置了上電復(fù)位和手動(dòng)復(fù)位電路。S1為手動(dòng)復(fù)位按鈕。*03LEBL SIS43AH co上口naimiiiiiiinC部分電路由4位一體的數(shù)碼管LED1單個(gè)

5、數(shù)碼管LED2和8個(gè)獨(dú)立發(fā)光二極管L1-L7組成。這3個(gè)部分都是共陰結(jié)構(gòu),并聯(lián)在一起,連接在P0口上。LED1用于完成LED動(dòng)態(tài)顯示實(shí)驗(yàn),各個(gè)位選線為P24P27,段碼由P0口輸出;LED2的COMIS接地,完成LED靜態(tài)顯示實(shí)驗(yàn);L1-L7,可以方便地讀出P0輸出的二進(jìn)制數(shù)據(jù),亦可做流水燈實(shí)驗(yàn)。7407在此起驅(qū)動(dòng)作用。I部分電路為蜂鳴器和繼電器電路。蜂鳴器采用9012三極管驅(qū)動(dòng),其基極接到RD端,當(dāng)RD端為低電平時(shí),三極管導(dǎo)通,蜂鳴器響。否則關(guān)斷。繼電器采用9013三極管驅(qū)動(dòng),其基極接到WR端,當(dāng)WR端為低電平時(shí),三極管關(guān)斷,繼電器不吸合,常閉觸點(diǎn)閉合,常開(kāi)觸點(diǎn)打開(kāi),D1熄滅;反之則反。ui

6、nt count1 = 0;uint count2 = 0;uint Leout4;sbit Beep = P3A7;sbit RELAY = P3A6;二、實(shí)驗(yàn)過(guò)程與結(jié)果2.1 程序設(shè)計(jì)#include#defineuintunsignedint#defineucharunsignedchar/*LED的字模,共陰數(shù)碼管0-9*/ucharcodetable尸0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/定義計(jì)數(shù)變量/定義蜂鳴器對(duì)應(yīng)單片機(jī)引腳定義繼電器對(duì)應(yīng)單片機(jī)引腳/*延時(shí)函數(shù)*/voiddelay(uintz)uinti、j

7、;for(i=z;i0;i-)for(j=110;j0;j-);/*數(shù)碼管動(dòng)態(tài)顯示函數(shù)*/voiddisplay。uchari;LedOut3=tablecount2%10000/1000;LedOut2=tablecount2%1000/100;LedOut1=tablecount2%100/10;LedOut0=tablecount2%10;for(i=0;i4;i+)P0=LedOuti;switch(i)case0:P2=0x7f;break;case1:P2=0xbf;break;case2:P2=0xdf;break;case3:P2=0xef;break;delay(5);/*蜂

8、鳴器函數(shù)*/voidbeep()Beep=0;delay(100);Beep=1;/*繼電器函數(shù)*/voidrelay()RELAY=RELAY;/*串口發(fā)送函數(shù)*/voidsend()ucharLedOut14;LedOut13=count2%10000/1000+0x30;LedOut12=count2%1000/100+0x30;LedOut11=count2%100/10+0x30;LedOut10=count2%10+0x30;SBUF=LedOut13;while(!TI);TI=0;SBUF=LedOut12;while(!TI);TI=0;SBUF=LedOut11;while

9、(!TI);TI=0;SBUF=LedOut10;while(!TI);TI=0;SBUF=n;while(!TI);TI=0;/*外部中斷 0函數(shù)*/errupt0EX0=0;count1+;/中斷計(jì)數(shù)count2+;send();EX0=1;/*串口初始化函數(shù)*voidinitUart(void)TMOD|=0x20;SCON=0x50;PCON&=0x7f;TH1=0xfd;TL1=0xfd;TR1=1;*-j-*voidmain()initUart();IT0=1;下降沿觸發(fā)EA=1;開(kāi)外部中斷EX0=1;while(1)display。;if(count

10、1=10)countl=0;beep();relay();2.2 調(diào)試過(guò)程由于單片機(jī)實(shí)驗(yàn)箱的存在,因此硬件部分無(wú)需做過(guò)多準(zhǔn)備,主要是進(jìn)行軟件程序方面的調(diào)試。程序的調(diào)試我們是分一個(gè)一個(gè)模塊進(jìn)行的,具體的順序是先進(jìn)行數(shù)碼管動(dòng)態(tài)顯示模塊的調(diào)試,然后是蜂鳴器和繼電器的調(diào)試,最后是用口通信的調(diào)試。這樣調(diào)試的好處是,當(dāng)某一個(gè)功能沒(méi)有實(shí)現(xiàn)時(shí),我們可以知道是哪一段程序出了問(wèn)題,可以迅速地對(duì)其修改,直到每個(gè)模塊都能正確而準(zhǔn)確地完成各自的功能為止。等到所有的模塊調(diào)試完畢,就能實(shí)現(xiàn)零件計(jì)數(shù)器的功能。這樣與整體調(diào)試相比,等到出現(xiàn)問(wèn)題,再一個(gè)個(gè)地去找是哪一段程序發(fā)生了錯(cuò)誤,大大地提高了工作效率,節(jié)省了時(shí)間。2.3 問(wèn)題

11、與解決問(wèn)題一:蜂鳴器的聲音太小,幾乎無(wú)法聽(tīng)到。解決方案:改變蜂鳴器的延時(shí)時(shí)間,直到合適為止。問(wèn)題二:數(shù)碼管動(dòng)態(tài)顯示的調(diào)試時(shí),顯示的數(shù)字閃的比較厲害。經(jīng)過(guò)多次調(diào)試,最終取得了比較好的顯示效果。解決方案:是因?yàn)閿?shù)碼管顯示延遲的時(shí)間太短,改變延時(shí)的時(shí)間,直到調(diào)試成功。問(wèn)題三:進(jìn)行的串口調(diào)試時(shí),PC機(jī)但發(fā)現(xiàn)收到的數(shù)據(jù)是亂碼,不是發(fā)送的數(shù)據(jù)。解決方案:把發(fā)送的數(shù)據(jù)由十六進(jìn)制顯示改為字符顯示,在程序中也有所調(diào)整后,發(fā)現(xiàn)PC機(jī)收到的數(shù)據(jù)即是當(dāng)前的計(jì)數(shù)數(shù)據(jù)。2.4 調(diào)試結(jié)果經(jīng)過(guò)反復(fù)調(diào)試,最終解決了遇到的問(wèn)題,較好地實(shí)現(xiàn)了零件計(jì)數(shù)器的功能:1、每來(lái)一個(gè)零件,單片機(jī)計(jì)數(shù)一次,LED上顯示當(dāng)前一共生產(chǎn)了多少零件;2

12、、當(dāng)計(jì)滿10次時(shí),蜂鳴器發(fā)出一聲警告音,并使繼電器閉合一次,產(chǎn)生零件打包動(dòng)作;3、可以通過(guò)串口在PC上顯示零件個(gè)數(shù)。三、結(jié)論3.1 本課程設(shè)計(jì)的主要特點(diǎn)及貢獻(xiàn)本次課程設(shè)計(jì)的主要特點(diǎn)是利用C51編程實(shí)現(xiàn)基于單片機(jī)的零件計(jì)數(shù)器,而非使用匯編語(yǔ)言。在編程中,要學(xué)會(huì)寫(xiě)出各種子程序,然后合理的調(diào)用它們,還要根據(jù)實(shí)際顯示結(jié)果不斷地去修改和完善,使其最終顯示出符合要求的結(jié)果。設(shè)計(jì)中用到燒寫(xiě)工具以及串口助手等軟件工具,無(wú)需考慮硬件設(shè)計(jì),只需完成軟件設(shè)計(jì)部分。本次課程設(shè)計(jì)完成了基于單片機(jī)的零件計(jì)數(shù)器的設(shè)計(jì),不僅考察了我對(duì)于單片這門(mén)課的學(xué)習(xí)掌握情況,還考察了我對(duì)C語(yǔ)言的基礎(chǔ)知識(shí)是否扎實(shí),讓我們學(xué)會(huì)將各學(xué)科的知識(shí)融

13、會(huì)貫通。3.2 改善建議本課程設(shè)計(jì)中還有一些需要改善的方面:一、當(dāng)零件計(jì)滿10個(gè)時(shí),繼電器閉合一次,產(chǎn)生零件打包動(dòng)作,卻不能夠顯示打包的次數(shù),可以設(shè)計(jì)一段可以顯示打包次數(shù)的程序。二、可以通過(guò)一些記憶芯片,實(shí)現(xiàn)當(dāng)前計(jì)數(shù)結(jié)果的保存,一共查詢及對(duì)數(shù)據(jù)的相關(guān)處理。3.3 心得體會(huì)通過(guò)這學(xué)期對(duì)單片機(jī)這門(mén)課程的學(xué)習(xí),我對(duì)單片機(jī)的原理和運(yùn)用有了一定的了解。但是當(dāng)自己動(dòng)手去設(shè)計(jì)零件計(jì)數(shù)器時(shí),還是遇到了很多的問(wèn)題。程序出現(xiàn)了許多錯(cuò)誤,使得調(diào)試時(shí)無(wú)法成功。我們選擇的零件計(jì)數(shù)器考功能是當(dāng)來(lái)一次外部中斷時(shí),內(nèi)部計(jì)數(shù)一次,并將數(shù)值通過(guò)4位共陰數(shù)碼管動(dòng)態(tài)顯示出來(lái)。而單片機(jī)的P2口可以選擇四根不同的數(shù)碼管來(lái)動(dòng)態(tài)顯示,通過(guò)視

14、覺(jué)暫留達(dá)到同時(shí)顯示的效果。同時(shí)內(nèi)部程序檢測(cè)每當(dāng)計(jì)數(shù)十次時(shí),會(huì)形成一個(gè)繼電器閉合的零件打包動(dòng)作,并通過(guò)程序使得蜂鳴器發(fā)出警報(bào)??疾榈闹饕侵袛?、定時(shí)器、串口通信部分的內(nèi)容??荚嚭髮?duì)單片機(jī)的許多內(nèi)容都有了一點(diǎn)生疏,經(jīng)過(guò)這段時(shí)間的學(xué)習(xí),我對(duì)過(guò)去所學(xué)的知識(shí)進(jìn)行了溫習(xí),對(duì)我的課題零件計(jì)數(shù)器所用到的知識(shí)也進(jìn)行了專門(mén)的梳理和消化。這次課程設(shè)計(jì)使我對(duì)單片機(jī)的C語(yǔ)言編程有了更深刻的認(rèn)識(shí)和更扎實(shí)的掌握,通過(guò)不斷修改,不斷嘗試,我對(duì)源代碼各個(gè)模塊的函數(shù)都有了一個(gè)非常深入的掌握。我懂得了從書(shū)本上學(xué)到的知識(shí)是什么有限的,只有自己真正地動(dòng)手去做,才能知道自己還有許許多多的不足,對(duì)這門(mén)課程的掌握還是遠(yuǎn)遠(yuǎn)不夠。書(shū)本上的知識(shí)是

15、死的,只有通過(guò)實(shí)踐和具體的實(shí)例運(yùn)用,才能真正掌握知識(shí)、取得進(jìn)步。在自己實(shí)際操作時(shí),發(fā)現(xiàn)錯(cuò)誤并且解決錯(cuò)誤的這樣一個(gè)過(guò)程時(shí)十分重要的,這也是能夠最快提高我們對(duì)專業(yè)知識(shí)的掌握的方法。我們都知道理論與實(shí)際相結(jié)合是很重要的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。通過(guò)這次課程設(shè)計(jì),我了解到各學(xué)科之間的知識(shí)是融會(huì)貫通的,所以打好基礎(chǔ)十分重要,我也知道了自己的不足。這次動(dòng)手操作的機(jī)會(huì)對(duì)我來(lái)說(shuō)十分重要,我感覺(jué)我又了解了許多我以前不知道的東西。今后我也會(huì)更加注意動(dòng)手能力的培養(yǎng),再實(shí)踐中鞏固自己的理專業(yè)知識(shí)。參考文獻(xiàn)1張友德,趙志英.

16、單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)第五版.復(fù)旦大學(xué)出版社2劉玉宏.單片機(jī)實(shí)驗(yàn)和課程設(shè)計(jì)任務(wù)書(shū)3丁海軍、何坤金、王林等編著,程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言).北京航空航天大學(xué)出版社附錄一、燒寫(xiě)程序S-TC-ISP-http:r/mIHV-PjBMry.cm 收小支# : 1 沖之即平)Ve,SH匚尊文件值眩|_ ;|工蛆4,:* Mfhr i v D-ie*LtlffifrK HTSl法勤僧.呼. ?.:. i ; .,. 5l .i;*-St-pUWx 總GitsK 鞋舞基片I件等*2伊*: Qm Fili / 口訐復(fù)件使悻麻匿用市用了陋前2MhWf Mit 楂型*cm im圣帕出輯._卬“ 11rMi f!.

17、ifi.聲行口呆曲出構(gòu)本OB:廬前 三吊圖0*就 2SI0O :一港置因I mt事*m禺戒總率,才崛e率:際3Si4H* EH* 7*BiWl a.N. I下次, Ft;用PE用坦月酎喝打!、口:弁晦Ji.FUiSr.:JL41,JS由M9上電宣怪-冷磨曰偉:ih骷Jt人已打肝在flh,c1啊m,萬(wàn)圣母國(guó)笄需“白日訐次我,工更比配自ZATP+開(kāi)立固定:三下*/e* 力可霜U=殍 Cflffetwriv i:工,飛械 7刖|*r:,訪S.小史沙14霍中 能膽4OOCK0 OOM1QP 000030 KW7O 1MHCHOOOOMO 4Kom ocxmo TOO OOOQA0 TOOKI (nma Dooa ga OCOOTO AL I A. Eg再clEccGnMolM K 依ffigwss 3 ssssssss iiTSn2BMolcclocnMcfQOacEa

溫馨提示

  • 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)論