

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題 目 零件計(jì)數(shù)器 </p><p><b> 摘要</b></p><p> 本次單片機(jī)課程設(shè)計(jì)我組選擇的題目是零件計(jì)數(shù)器,零件計(jì)數(shù)器本身在生產(chǎn)實(shí)踐中具有很實(shí)際的用途,選擇這個(gè)項(xiàng)目可以繞過(guò)我們更好的把課堂上學(xué)到的課本
2、知識(shí)和理論內(nèi)容與生產(chǎn)實(shí)踐結(jié)合起來(lái),提高對(duì)實(shí)際問(wèn)題的動(dòng)手操作能力以及解決問(wèn)題的能力,進(jìn)一步加深學(xué)生對(duì)于實(shí)際的電子元件電路功能的理解與運(yùn)用,對(duì)于設(shè)計(jì)實(shí)際的實(shí)用程序來(lái)解決一系列生產(chǎn)生活遇到的問(wèn)題的能力有著顯著的家加強(qiáng)與提高。零件計(jì)數(shù)器的功能是通過(guò)感應(yīng)器對(duì)零件數(shù)量進(jìn)行中斷計(jì)數(shù),并由數(shù)碼管動(dòng)態(tài)顯示出來(lái),并通過(guò)實(shí)用的程序?qū)⒘慵?shù)目通過(guò)串口傳送給PC機(jī),還能夠通過(guò)實(shí)時(shí)的檢測(cè)電路將之與蜂鳴器連接起來(lái),起到整十報(bào)警以及零件打包的功能。</p>
3、<p> 基于單片機(jī)構(gòu)成的零件計(jì)數(shù)器研究的主要內(nèi)容包括:AT89C51單片機(jī)用何種方式對(duì)外部計(jì)數(shù)脈沖進(jìn)行計(jì)數(shù)顯示控制、LED顯示驅(qū)動(dòng)模塊的選擇、如何通過(guò)串口與PC機(jī)完成實(shí)時(shí)連接。在這個(gè)設(shè)計(jì)中主要需要解決的問(wèn)題便是如何提高AT89C51單片機(jī)的抗干擾能力以及穩(wěn)定性。</p><p> 關(guān)鍵字:?jiǎn)纹瑱C(jī) 零件計(jì)數(shù)器 LED顯示 串口連接</p><p><b>
4、 目錄</b></p><p><b> 第1章 系統(tǒng)設(shè)計(jì)</b></p><p> 1.1電路框圖·····················
5、·························3</p><p> 1.2軟件設(shè)計(jì)方框圖及流程圖·····&#
6、183;··························4</p><p> 1.3電路功能·····
7、;····································
8、83;····6</p><p><b> 第2章 計(jì)數(shù)器程序</b></p><p> 2.1分段程序及功能··················
9、······················8</p><p> 2.2問(wèn)題及解決方案·········
10、······························11</p><p> 第3章 實(shí)驗(yàn)結(jié)果及討論<
11、/p><p> 3.1實(shí)驗(yàn)結(jié)果································&#
12、183;············11</p><p> 3.2結(jié)論···················
13、······························11</p><p> 3.3心得體會(huì)·&#
14、183;····································
15、·······12</p><p> 參考文獻(xiàn)·························
16、;························12</p><p> 附錄········
17、····································
18、3;········13</p><p><b> 系統(tǒng)設(shè)計(jì)</b></p><p><b> 1.1 電路框圖</b></p><p> 電路總圖與功能如圖所示,每當(dāng)來(lái)一次外部中斷時(shí),內(nèi)部計(jì)數(shù)一次,并將數(shù)值通過(guò)4位共陰數(shù)碼管動(dòng)態(tài)顯示出來(lái)
19、。而單片機(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)。</p><p> 1.2 軟件設(shè)計(jì)方框圖及流程圖</p><p> 由于單片機(jī)實(shí)驗(yàn)箱的存在,因此硬件部分無(wú)需做過(guò)多準(zhǔn)備,只需根據(jù)硬件部分完成軟件設(shè)計(jì)即可,在此,我們使用基于單片機(jī)的C語(yǔ)言編程。C語(yǔ)言是一
20、種高級(jí)程序設(shè)計(jì)語(yǔ)言,其語(yǔ)法簡(jiǎn)單適用性強(qiáng),在單片機(jī)編程時(shí)很方便。本次設(shè)計(jì)中使用的C語(yǔ)言編程軟件為Keil。</p><p><b> 軟件設(shè)計(jì)框圖如下:</b></p><p><b> 流程圖如下:</b></p><p> 編寫零件計(jì)數(shù)程序時(shí)應(yīng)當(dāng)注意需要事先的幾個(gè)功能,可以分段編寫,最后通過(guò)主程序連接。這段程序的重
21、點(diǎn)便是一段循環(huán)中斷計(jì)數(shù)程序,在數(shù)值加1的同時(shí)要給串口發(fā)出同樣的信息,每當(dāng)計(jì)數(shù)十次時(shí)還需要轉(zhuǎn)到零件打包以及蜂鳴器程序中執(zhí)行。</p><p><b> 1.3 電路功能</b></p><p> B部分是單片機(jī)的最小系統(tǒng)部分,只有這部分電路正常,整個(gè)系統(tǒng)才能工作。單片機(jī)為內(nèi)含8K FLASH程序存儲(chǔ)器的STC89C52RC,EA接高電平;各并行口都加了10K的上拉電
22、阻;晶振為11.0592M。設(shè)置了上電復(fù)位和手動(dòng)復(fù)位電路。S1為手動(dòng)復(fù)位按鈕。</p><p> C部分電路由4位一體的數(shù)碼管LED1、單個(gè)數(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è)位選線為P24-P27,段碼由P0口輸出;LED2的COM端接地,完成LED靜態(tài)顯示實(shí)驗(yàn);L1-L7,可以方便地讀出P0輸出的二進(jìn)制
23、數(shù)據(jù),亦可做流水燈實(shí)驗(yàn)。7407在此起驅(qū)動(dòng)作用。</p><p> F部分電路是由555和電容組成的單穩(wěn)電路。當(dāng)S_INT0按鈕按下后產(chǎn)生一個(gè)低電平單穩(wěn)信號(hào)送單片機(jī)的INT0,同時(shí)D_PLUS1亮一次,作為外部中斷請(qǐng)求信號(hào)。</p><p> I部分電路為蜂鳴器和繼電器電路。</p><p> 蜂鳴器采用9012三極管驅(qū)動(dòng),其基極接到RD端,當(dāng)RD端為低電平時(shí)
24、,三極管導(dǎo)通,蜂鳴器響。否則關(guān)斷。</p><p> 繼電器采用9013三極管驅(qū)動(dòng),其基極接到WR端,當(dāng)WRD端為低電平時(shí),三極管關(guān)斷,繼電器不吸合,常閉觸點(diǎn)閉合,常開(kāi)觸點(diǎn)打開(kāi),D1熄滅;反之則反。</p><p><b> 第2章 計(jì)數(shù)器程序</b></p><p> 2.1 分段程序及功能</p><p>
25、*******************開(kāi)頭及引腳對(duì)應(yīng)程序******************</p><p> #include < reg51.h ></p><p> sbit BEEP=P3^7; </p><p> sbit JDQ=P3^6;</p><p> unsigned int Ledcount=0;&
26、lt;/p><p> unsigned int LedOut[8];</p><p> **********************LED數(shù)字碼表********************</p><p> unsigned char code MABIAO[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
27、</p><p> ************************延時(shí)函數(shù)***********************</p><p> void delay(unsigned int i)</p><p><b> {</b></p><p><b> char j;</b></
28、p><p> for(i;i>0;i--)</p><p> for(j=200;j>0;j--);</p><p><b> }</b></p><p> **********************串口發(fā)送函數(shù)*********************</p><p> vo
29、id sint()</p><p><b> {</b></p><p> SBUF = Ledcount%10000/1000 + 0x30;</p><p> while(!TI);</p><p><b> TI=0;</b></p><p> SBUF=Le
30、dcount%1000/100+ 0x30;</p><p> while(!TI);</p><p><b> TI=0;</b></p><p> SBUF=Ledcount%100/10+ 0x30;</p><p> while(!TI);</p><p><b> T
31、I=0;</b></p><p> SBUF=Ledcount%10+ 0x30;</p><p> while(!TI);</p><p><b> TI=0;</b></p><p> SBUF='\n';</p><p> while(!TI);<
32、/p><p><b> TI=0;</b></p><p><b> }</b></p><p> **********************LED顯示程序********************</p><p> void display()</p><p><
33、b> { </b></p><p><b> int i;</b></p><p> LedOut[0]=MABIAO[Ledcount%10000/1000];</p><p> LedOut[1]=MABIAO[Ledcount%1000/100];</p><p> LedOut[2]
34、=MABIAO[Ledcount%100/10];</p><p> LedOut[3]=MABIAO[Ledcount%10];</p><p> for(i=0;i<4;i++) </p><p><b> { </b></p><p> P0=LedOut[i];</p><
35、;p> switch(i) </p><p><b> { </b></p><p> case 0:P2=0xef;</p><p> break; </p><p> case 1:P2=0xdf;</p><p> break;
36、 </p><p> case 2:P2=0xbf;</p><p><b> break; </b></p><p> case 3:P2=0x7f;</p><p><b> break; </b></p><p><b> }<
37、/b></p><p> delay(100);</p><p><b> }</b></p><p><b> }</b></p><p> ***********************初始化函數(shù)**********************</p><p>
38、 void init()</p><p><b> {</b></p><p> EA=1; //允許中斷</p><p> EX0=1; //允許外部中斷0</p><p> IT0=1; //下降沿觸發(fā)</p><p> TR1=1; //啟
39、動(dòng)T1定時(shí)器</p><p> TMOD=0x20; //定時(shí)器T1為工作方式2,初值自動(dòng)重裝八位計(jì)數(shù)器 </p><p> TL1=0xfd; //預(yù)備單元</p><p> TH1=0xfd; //計(jì)數(shù)初值設(shè)定,波特率9600</p><p> SCON=0x50; //串行口為方式1,10步異位收發(fā)(1+8+1)<
40、;/p><p> PCON=0x00; //特殊功能寄存器都為0,波特率不加倍</p><p><b> }</b></p><p> *********************INT0中斷函數(shù)*********************</p><p> void int0(void) interrupt 0 &l
41、t;/p><p><b> {</b></p><p> Ledcount++; //中斷計(jì)數(shù)</p><p> if((Ledcount%10==0)&&(Ledcount!=0))</p><p><b> {</b></p><p><
42、b> BEEP=0;</b></p><p> delay(10000);</p><p><b> BEEP=1;</b></p><p><b> JDQ=~JDQ;</b></p><p><b> }</b></p><p
43、> if(Ledcount>9999) //超出計(jì)數(shù)上限后清零</p><p> Ledcount=0;</p><p><b> sint(); </b></p><p><b> }</b></p><p> *************************主程序
44、************************</p><p> void main(void)</p><p><b> { </b></p><p><b> init();</b></p><p><b> while(1)</b></p>&l
45、t;p><b> { </b></p><p> display();</p><p><b> }</b></p><p><b> }</b></p><p> 2.2問(wèn)題及解決方案</p><p> 問(wèn)題1:運(yùn)用指數(shù)函數(shù)計(jì)數(shù)
46、以及選擇四根數(shù)碼管顯示,導(dǎo)致程序運(yùn)行速度過(guò)慢,燈光閃爍。</p><p> 解決方案:改進(jìn)后去掉指數(shù)函數(shù),改用每一根數(shù)碼管分別使用計(jì)算出顯示數(shù)值的方法。</p><p> 問(wèn)題2:計(jì)數(shù)值達(dá)到時(shí)蜂鳴器持續(xù)響,直到按下第十一次計(jì)數(shù)按鍵方才停止。</p><p> 解決方案:在蜂鳴器程序中增加BEEP清零和延時(shí)語(yǔ)句,可以讓蜂鳴器在計(jì)數(shù)第十次時(shí)只響一聲,并可改變響的時(shí)
47、間。</p><p> 第3章 實(shí)驗(yàn)結(jié)果及討論</p><p><b> 3.1實(shí)驗(yàn)結(jié)果</b></p><p> 本此課程設(shè)計(jì),使用到Keil C51編程器、燒寫工具以及串口助手等軟件工具。先是利用Keil軟件編寫程序,編譯無(wú)錯(cuò)后再利用燒寫工具將其燒寫進(jìn)52單片機(jī)中,按下S_INT0按鈕,可得到LED動(dòng)態(tài)顯示數(shù)據(jù)的變化,本次設(shè)計(jì)中用到4
48、個(gè)數(shù)碼管,也就是說(shuō),最高顯示零件數(shù)目可達(dá)9999個(gè)。另外,還可以利用串口助手,將零件數(shù)目實(shí)時(shí)傳送給PC機(jī),此結(jié)果可在串口助手上觀察到。結(jié)果是完全符合所需零件計(jì)數(shù)器的要求的。至此,可以說(shuō)本次設(shè)計(jì)是成功的。</p><p><b> 3.2結(jié)論</b></p><p> 本次課程設(shè)計(jì)的主要特點(diǎn)是利用C51編程實(shí)現(xiàn)基于單片機(jī)的零件計(jì)數(shù)器,而非使用匯編語(yǔ)言。在編程中,要學(xué)
49、會(huì)寫出各種子程序,然后合理的調(diào)用它們,還要根據(jù)實(shí)際顯示結(jié)果不斷地去修改和完善,使其最終顯示出符合要求的結(jié)果,這不僅考察了我對(duì)于單片這門課的學(xué)習(xí)掌握情況,還考察了我對(duì)C語(yǔ)言的基礎(chǔ)知識(shí)是否扎實(shí),是否可以將所學(xué)的學(xué)科融會(huì)貫通。此外,還有其他的特點(diǎn),設(shè)計(jì)中用到燒寫工具以及串口助手等軟件工具,無(wú)需考慮硬件設(shè)計(jì),只需完成軟件設(shè)計(jì)部分。本次課程設(shè)計(jì)完成了基于單片機(jī)的零件計(jì)數(shù)器的設(shè)計(jì),讓我對(duì)于單片機(jī)的學(xué)習(xí)有了更深一層的領(lǐng)悟。</p>&l
50、t;p><b> 3.3心得體會(huì)</b></p><p> 經(jīng)過(guò)這段時(shí)間的學(xué)習(xí),我對(duì)單片機(jī)原理與運(yùn)用也有了更深層次的了解,同時(shí)也對(duì)過(guò)去所學(xué)的知識(shí)進(jìn)行了溫習(xí),對(duì)我組設(shè)計(jì)的課題《零件計(jì)數(shù)器》所用到的知識(shí)也進(jìn)行了專門的梳理和消化。這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高
51、自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。通過(guò)這次課程設(shè)計(jì),我也知道了自己的不足。書(shū)本上的知識(shí)是死的,只有通過(guò)實(shí)踐和具體的實(shí)例運(yùn)用,才能真正掌握知識(shí)、取得進(jìn)步。 這次課程設(shè)計(jì)的經(jīng)歷使我終身受益,我感受到做任何事情都是要真正用心去做的,也是真正的自己學(xué)習(xí)的過(guò)程和研究的過(guò)程,沒(méi)有學(xué)習(xí)就不可能有研究的能力,沒(méi)有自己的研究,就不會(huì)有所突破。</p><p><b> 參考文獻(xiàn)</b></p>
52、<p> [1] 張有德 趙志英 涂時(shí)亮編著,單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn).第五版.</p><p> 上海.復(fù)旦大學(xué)出版社.2006</p><p> [2] 丁海軍、何坤金、王林等編著,程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言).北京.北京航空航天大學(xué)出版社.2009</p><p><b> 附錄</b></p><
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)計(jì)數(shù)器課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)----手動(dòng)計(jì)數(shù)器
- 單片機(jī)課程設(shè)計(jì)---倒數(shù)計(jì)數(shù)器
- 倒數(shù)計(jì)數(shù)器單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)----語(yǔ)言報(bào)數(shù)計(jì)數(shù)器
- 單片機(jī)課程設(shè)計(jì)(語(yǔ)言報(bào)數(shù)計(jì)數(shù)器)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易頻率計(jì)數(shù)器
- 單片機(jī)課程設(shè)計(jì)外部脈沖計(jì)數(shù)器
- 基于單片機(jī)的頻率計(jì)數(shù)器課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)00-99加計(jì)數(shù)器
- 單片機(jī)計(jì)數(shù)器實(shí)驗(yàn)報(bào)告
- 單片機(jī)課程設(shè)計(jì)---基于51單計(jì)時(shí)計(jì)數(shù)器系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于51單計(jì)時(shí)計(jì)數(shù)器系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--00-99加計(jì)數(shù)器程序設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)帶有l(wèi)cd顯示的音樂(lè)倒數(shù)計(jì)數(shù)器
- 單片機(jī)課程設(shè)計(jì)-00-99手動(dòng)計(jì)數(shù)器設(shè)計(jì)
- 基于單片機(jī)lcd顯示的音樂(lè)倒數(shù)計(jì)數(shù)器課程設(shè)計(jì)論文
- 傳感器課程設(shè)計(jì)---基于單片機(jī)的工業(yè)產(chǎn)品自動(dòng)計(jì)數(shù)器
- 《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì)---可編程定時(shí)計(jì)數(shù)器
- 光電計(jì)數(shù)器課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論