版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目的:本課題為“多臺設(shè)備自動循環(huán)控制,目的在于用發(fā)光二極管模擬工廠里的機(jī)器設(shè)備,通過編程控制8052系列單片機(jī),讓這些設(shè)備按照要求循環(huán)運(yùn)行。 意義: 1有助于加深我們對操作系統(tǒng)這門課程的理解,我們在課堂上學(xué)的都是根底理論知識,對于如何用程序語言來描述所學(xué)知識還是有一定難度。通過課程設(shè)計(jì),我們可以真正理解其內(nèi)涵。 2. 有利于我們邏輯思維的鍛煉,程序設(shè)計(jì)能直接有效地訓(xùn)練學(xué)生的創(chuàng)新思維、培養(yǎng)分析問題、解決問題能力。即使是一個(gè)簡單的程序,依然需要學(xué)生有條不理的構(gòu)思。 3. 有利于培養(yǎng)嚴(yán)謹(jǐn)認(rèn)真的學(xué)習(xí)態(tài)度,在程序設(shè)計(jì)過程里,當(dāng)我們輸入程序代碼的時(shí)候,如果不夠認(rèn)真或細(xì)心,那么可能就導(dǎo)致語法錯(cuò)誤,從而無法得
2、出運(yùn)行結(jié)果。那么,這個(gè)我們反復(fù)調(diào)試,反復(fù)修改的過程,其實(shí)也是對我們認(rèn)真嚴(yán)謹(jǐn)治學(xué)的一個(gè)鍛煉。用單片機(jī)控制二極管代替現(xiàn)實(shí)設(shè)備,使其按要求循環(huán)運(yùn)行。8只發(fā)光二極管代替8臺設(shè)備,接在P1口上。2.P3.0和P3.2為控制口,用導(dǎo)線連接開關(guān),用開關(guān)控制設(shè)備的運(yùn)行與停止。3.沒有按鈕按下時(shí),8臺設(shè)備全部運(yùn)行,P3.0按鈕按下時(shí)8只發(fā)光二極管以0、1、2 3、4、5、6、7、5、3、1、7、5、3、1、7為一個(gè)過程開始循環(huán)運(yùn)行,當(dāng)P3.2按鈕按下時(shí)8只發(fā)光二極管全部點(diǎn)亮。用一只8段LED數(shù)碼管同步顯示正在運(yùn)行的設(shè)備的編號。本課題由于要求使用8052系列單片機(jī),故在此系列中選擇。市場上現(xiàn)使用較多的52系列單片
3、機(jī)有Atmel公司生產(chǎn)的AT89C52、AT89S52,以及STC公司生產(chǎn)的STC89C52、STC89S52,比照兩家公司的產(chǎn)品可知,STC公司的產(chǎn)品可屢次擦寫,一個(gè)機(jī)械周期只要6個(gè)時(shí)鐘周期,且支持USB在線讀寫,處理速度優(yōu)于Atmel公司生產(chǎn)的產(chǎn)品。所以比照后選擇使用STC89C52單片機(jī)芯片。通過學(xué)習(xí)和調(diào)查市場行情,我們發(fā)現(xiàn),能夠用來做顯示器使用的有8段數(shù)碼管、液晶顯示屏以及點(diǎn)陣模塊等。其中,八段數(shù)碼管本錢低廉、使用方便、顯示明亮,適合顯示位數(shù)少、線路不復(fù)雜的電路;液晶顯示屏價(jià)格較高,引線較多,不但可以顯示數(shù)字還能顯示文字,可顯示范圍廣,一般多用于需要顯示文字或字母的電路;點(diǎn)陣模塊不適合
4、做靜態(tài)顯示。因?yàn)楸菊n題只需要控制8臺設(shè)備,位數(shù)少且用數(shù)碼管顯示方便,所以我們的顯示元器件選用8段LED數(shù)碼管。由于本課題要求在P1口控制8只LED發(fā)光二極管,故需要選用限流電阻來限制流過發(fā)光二極管的電流,假設(shè)選用電阻過小,那么二極管容易因過流而燒掉,假設(shè)選用電阻過大,那么二極管容易因電流過小而發(fā)光暗淡,所以選用電阻不能太大或太小。查閱發(fā)光二極管各項(xiàng)參數(shù)后發(fā)現(xiàn),發(fā)光二極管正常發(fā)光時(shí)電流約為10mA,發(fā)光二極管導(dǎo)通電阻很小可忽略不計(jì),那么根據(jù)公式R=(E-U)/I-R0可算出,限流電阻阻值在500左右。應(yīng)選用阻值為的電阻。要想使單片機(jī)正常運(yùn)行,可靠、穩(wěn)定的電源必不可少,在以往的電子設(shè)計(jì)中,我們一般
5、制作5V電源,這樣可以選擇用變壓器降日常所用電壓降至供我們所用,但此方法耗時(shí)且需要更多本錢故放棄。因?yàn)槲覀円话愣加玫焦P記本做課程設(shè)計(jì),所以我們選擇燒錄器作為電源。在確定了單片機(jī)芯片、8段LED數(shù)碼管、限流電阻、電源后,我們還確定選用8只直徑mm的LED發(fā)光二極管、3只按鈕、排針、排阻、導(dǎo)線假設(shè)干以及用于單片機(jī)最小系統(tǒng)的電容、晶振、電阻等。總體設(shè)計(jì)框架圖如圖3-1所示: P0 STC89C52RCP1 RXD INT0RXD、INT0中斷控制8臺設(shè)備數(shù)碼管顯示局部圖 3 - 1本設(shè)計(jì)采用STC89C52RC單片機(jī)作為系統(tǒng)控制芯片,單片機(jī)接收INT0、RXD傳來的中斷信號并轉(zhuǎn)變?yōu)閷?臺設(shè)備的控制,
6、以8段LED數(shù)碼管為顯示模塊,將正在運(yùn)行的設(shè)備編號同步地顯示出來,在控制電路中,主要是由兩個(gè)按鈕來指揮設(shè)備的運(yùn)行方式。最小系統(tǒng)包括晶振電路、復(fù)位電路和電源局部。圖3-2為單片機(jī)最小系統(tǒng)。圖 3 2 單片機(jī)最小系統(tǒng)電路圖中斷控制模塊如圖3-3所示。圖 3 3 中斷控制模塊該模塊主要由兩個(gè)按鈕組成,其中一個(gè)按鈕與P3.0口相連,另一按鈕與P3.2口相連,兩個(gè)按鈕的公共端接地。當(dāng)按鈕被按下時(shí),與該按鈕所接的單片機(jī)端口變?yōu)榈碗娖?,信號傳入單片機(jī)內(nèi),申請中斷。單片機(jī)將響應(yīng)中斷,根據(jù)中斷程序控制8臺設(shè)備的運(yùn)行方式。設(shè)備模塊如圖3-4所示。圖 3 4 設(shè)備模塊設(shè)備模塊主要由8只LED發(fā)光二極管代替工業(yè)現(xiàn)場的
7、8臺設(shè)備,通過控制發(fā)光二極管的亮暗方式從而到達(dá)模擬控制工業(yè)現(xiàn)場8臺設(shè)備的目的。8只發(fā)光二極管分別于一只500的電阻串聯(lián),電阻起限流作用,防止發(fā)光二極管因電流過大而燒掉,也防止可能因電流過小而無法正常顯示。每只電阻除與發(fā)光二極管相連外,另一端與單片機(jī)對應(yīng)P0口相連,從而被單片機(jī)所控制。8只發(fā)光二極管有一公共端,且接高電平。當(dāng)P0口輸出低電平時(shí),對應(yīng)的發(fā)光二極管點(diǎn)亮。顯示模塊如圖3-5所示。圖 3 5 顯示模塊該模塊主要由102排阻和一只8段LED數(shù)碼管組成。P0口為雙向I/o口,要想保證端口能正確地輸出高電平,需要在外部加上拉電阻,故使用102排阻作為上拉電阻。在單片機(jī)處于輸出狀態(tài)時(shí)排阻將P0口
8、電位拉高。由于共陽極數(shù)碼管使用時(shí)需加驅(qū)動電路,增加了電路的復(fù)雜度和本錢,故我們選用共陰極數(shù)碼管,其公共端接地。在實(shí)際使用時(shí),共陽、共陰極數(shù)碼管需要用萬用表進(jìn)行區(qū)分,且編程時(shí)顯示代碼亦不相同,在這里須注意。系統(tǒng)整體電路如圖3-6所示。圖 3 6 整體電路圖主程序如下:#include<reg52.h> /包含52系列單片機(jī)頭文件#include<intrins.h> /包含左右移函數(shù)的頭文件#define uchar unsigned charuchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
9、0x6f; /共陰09顯示uchar data flag; /設(shè)標(biāo)志位int i,y;sbit aa=P30; /P3.0口為循環(huán)控制位,低電平時(shí)各設(shè)備循環(huán)運(yùn)行sbit bb=P32; /P3.2口為全部工作位,低電平時(shí)所有設(shè)備均運(yùn)行 void delay(y) /延時(shí)子程序 int z; while(y-) for(z=120;z>0;z-) if(flag=0) break; /主程序運(yùn)行過程中當(dāng)產(chǎn)生中斷時(shí)跳出延時(shí)子程序 void int0() interrupt 0 /外部中斷0 P1=0x00; P0=0x7f; flag=0; void main() uchar k; IE=0
10、x81; /EA=1開總中斷;Ex0=1開外部中斷0; P1=0x00; P0=0x7f; SP=0x7B; /堆棧指針復(fù)位 while(1) /假設(shè)外部中斷不產(chǎn)生,那么一直不跳出該局部 flag=1; if(flag=0) break; P1=0x7f; for(i=8;i>0;i-) P1=_crol_(P1,1); /左移函數(shù) k=P1; switch(k) /數(shù)碼管顯示正在運(yùn)行的設(shè)備編號 case 0xfe: P0=0x06; break; case 0xfd: P0=0x5b; break; case 0xfb: P0=0x4f; break; case 0xf7: P0=0x
11、66; break; case 0xef: P0=0x6d; break; case 0xdf: P0=0x7d; break; case 0xbf: P0=0x07; break; default: P0=0x7f; break; delay(500);for(i=8;i>0;i-) P1=_cror_(P1,2); k=P1; switch(k) case 0xfe: P0=0x06; break; case 0xfd: P0=0x5b; break; case 0xfb: P0=0x4f; break; case 0xf7: P0=0x66; break; case 0xef: P
12、0=0x6d; break; case 0xdf: P0=0x7d; break; case 0xbf: P0=0x07; break; default: P0=0x7f; break; delay(500); 主程序流程圖如圖4-1所示。開總中斷和外部中斷0P1口輸出低電平,8臺設(shè)備全部運(yùn)行設(shè)定堆棧指針值P3.0口所接按鈕是否按下?等待被按下設(shè)標(biāo)志為1判斷是否收到中斷請求標(biāo)志跳出主程序進(jìn)入中斷子程序8臺設(shè)備按控制要求運(yùn)行,數(shù)碼管同步顯示正在運(yùn)行的設(shè)備的編號NYYN開始中斷子程序如下:int0() interrupt 0 /外部中斷0P1=0x00;flag=0;while(start);中斷
13、子程序流程圖如圖4-2所示。問題1:將USB燒寫器尾部的短路帽子摘掉后插上電腦,程序無法燒寫進(jìn)芯片。解決措施:將燒寫器的RX線與芯片上的TXD相連,TX線與芯片上RXD相連后,程序即可燒寫進(jìn)去。問題2:數(shù)碼管焊接在萬能板上后,在8只LED發(fā)光二極管正常運(yùn)行情況下,數(shù)碼管無法同步正常顯示。解決措施:用萬用表重新測量數(shù)碼管的參數(shù)后發(fā)現(xiàn)勿用了共陽極數(shù)碼管,在重新?lián)Q上共陰極數(shù)碼管后即可。問題3:數(shù)碼管顯示出的數(shù)字是亂碼。解決措施:檢查程序后發(fā)現(xiàn)參考代碼是用于共陽極數(shù)碼管的,在更改為共陰極數(shù)碼管程序后即可。問題4:LED發(fā)光二極管發(fā)光暗淡。解決措施:自己原配的限流電阻過大,換用學(xué)校發(fā)的500電阻后,發(fā)光
14、強(qiáng)度剛好。問題5:使用Altium Designer軟件畫PCB時(shí)找不到目標(biāo)元件如排針、排阻、STC89C52單片機(jī)、晶振相對應(yīng)的元件庫或封裝。解決措施:用其他元件庫代替目標(biāo)元件,實(shí)在無法代替的自己制作元件庫或封裝。問題6:將PCB圖中的導(dǎo)線加粗后始終顯示綠色錯(cuò)誤狀態(tài)。解決措施:在菜單欄的Design下點(diǎn)擊RulesRoutingWidthWidth,在Constraints欄中修改Max Width和Preferred Width兩個(gè)值即可。萬能板搭電路并測試正確后的實(shí)物圖如圖5-1、圖5-2所示。 圖 5 1 實(shí)物圖正面 圖 5 2 實(shí)物圖反面運(yùn)行效果如圖5-3所示。 圖 5 3 運(yùn)行效果
15、圖結(jié)束語經(jīng)過10多天的設(shè)計(jì)與制作,我終于較圓滿地完成了?多臺設(shè)備自動循環(huán)控制?這一課題。雖然整體看來,一個(gè)不怎么復(fù)雜的電路花了10多天時(shí)間,效率比擬低下,但對于第一次經(jīng)歷這種完整的過程的我來說,其結(jié)果還是令人欣慰的。從設(shè)計(jì)電路到仿真,再到購置元器件,在萬能板上搭電路模擬,到用軟件畫PCB圖,再到發(fā)送原理圖給印制電路板廠家生產(chǎn)PCB板,最終再在做好的PCB板上焊元器件直至完工,其中的艱辛只有我們團(tuán)隊(duì)的同學(xué)們能夠體會得到。我們首先要感謝陸廣平老師對我們的悉心指導(dǎo),她對我們的課題給予了較為詳細(xì)的講解,對我們的元器件選擇給予了幫助,作為個(gè)人,我要感謝我的同學(xué),正是由于每一個(gè)人的共同努力才有了我們最終的
16、結(jié)果。單片機(jī)是很重要的一門課程,老師和一些工作的朋友都曾說過,如果學(xué)好一門單片機(jī),就憑這個(gè)技術(shù)這門手藝找一個(gè)好工作也不成問題。盡管我們在課堂學(xué)到的內(nèi)容很有限,但在以后的學(xué)習(xí)中單片機(jī)還需要好好的深入研究和學(xué)習(xí),學(xué)好了單片機(jī)也就多了一項(xiàng)生存的本錢。最后感謝老師對我們的精心指導(dǎo)和幫助,感謝同學(xué)們對我的幫助。課題終究會結(jié)束,但我們的單片機(jī)生涯才剛剛開始,今后一定還將遇到更復(fù)雜的課題和更難以解決的問題,我相信,只有依靠團(tuán)隊(duì)的力量,我們才能取得成功,只有依靠堅(jiān)忍不拔的毅力我們才能戰(zhàn)無不勝!參考文獻(xiàn)1.?單片機(jī)控制實(shí)訓(xùn)指導(dǎo)及綜合應(yīng)用實(shí)例? 張大明 主編 機(jī)械工業(yè)出版社 2.?單片機(jī)原理及應(yīng)用技術(shù)? 陳益飛主
17、編 國防工業(yè)出版社 3.?Altium Designer原理圖與PCB設(shè)計(jì)? 周潤景 張麗敏 王偉 編著 電子工業(yè)出版社 4.?電工電子實(shí)習(xí)教程?第3版 宋學(xué)瑞 主編 中南大學(xué)出版社 5.?基于Proteus的8051單片機(jī)實(shí)例教程? 李學(xué)禮 主編 電子工業(yè)出版社 6.?Proteus教程電子線路設(shè)計(jì)、制版與仿真? 朱清慧 張鳳蕊 翟天嵩 王志奎 編著 清華大學(xué)出版社 7.?21天學(xué)通C語言? 王正仲 等編著 電子工業(yè)出版社 8.?新概念51單片機(jī)C語言教程入門、提高、開發(fā)、拓展全攻略? 郭天翔 編著 電子工業(yè)出版社 9.?電子線路CAD實(shí)用教程?第3版 潘永順 沙河 編著 西安電子科技大學(xué)出
18、版社 附錄附錄一:多臺設(shè)備自動循環(huán)控制系統(tǒng)設(shè)計(jì)電路原理圖圖 附錄-1圖 附錄 1 多臺設(shè)備自動循環(huán)控制系統(tǒng)設(shè)計(jì)電路原理圖附錄二:Proteus仿真效果圖圖 附錄-4圖 附錄 4 Proteus仿真效果圖附錄三:多臺設(shè)備自動循環(huán)控制系統(tǒng)設(shè)計(jì)C語言程序清單#include<reg52.h> /包含52系列單片機(jī)頭文件#include<intrins.h> /包含左右移函數(shù)的頭文件#define uchar unsigned charuchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /
19、共陰09顯示uchar data flag; /設(shè)標(biāo)志位int i,y;sbit aa=P30; /P3.0口為循環(huán)控制位,低電平時(shí)各設(shè)備循環(huán)運(yùn)行sbit bb=P32; /P3.2口為全部工作位,低電平時(shí)所有設(shè)備均運(yùn)行 void delay(y) /延時(shí)子程序 int z; while(y-) for(z=120;z>0;z-) if(flag=0) break; /主程序運(yùn)行過程中當(dāng)產(chǎn)生中斷時(shí)跳出延時(shí)子程序 void int0() interrupt 0 /外部中斷0 P1=0x00; P0=0x7f; flag=0; void main() uchar k; IE=0x81; /EA=1開總中斷;Ex0=1開外部中斷0; P1=0x00; P0=0x7f; SP=0x7B; /堆棧指針復(fù)位 while(1) /假設(shè)外部中斷不產(chǎn)生,那么一直不跳出該局部 flag=1; if(flag=0) break; P1=0x7f; for(i=8;i>0;i-) P1=_crol_(P1,1); /左移函數(shù) k=P1; switch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某村年度工作總結(jié)
- 信息技術(shù)(第2版)(拓展模塊)教案3-模塊3 3.3 大數(shù)據(jù)工具
- 中班秋季安全教育教案20篇
- 班級心理健康教育工作計(jì)劃
- 課時(shí)7 七年級 Unit 7 2025年中考英語(仁愛版)一輪復(fù)習(xí)基礎(chǔ)練(含答案)
- 【中考考點(diǎn)基礎(chǔ)練】階段訓(xùn)練三 第11~15章 2025年中考物理總復(fù)習(xí) (廣東)(含答案)
- 高中物理第三章相互作用實(shí)驗(yàn):探究互成角度力的合成課件粵教版必修第一冊
- 2013-2018年中國噻吩行業(yè)發(fā)展前景與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 2024至2030年中國數(shù)碼彩激紙數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024至2030年中國感應(yīng)擦鞋機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- GB/T 44723-2024氫燃料內(nèi)燃機(jī)通用技術(shù)條件
- 2022年11月軟考(高級)網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師上午真題
- 6.2 交友的智慧(課 件)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級上冊
- 清華大學(xué)中學(xué)生標(biāo)準(zhǔn)學(xué)術(shù)能力診斷性測試2025屆英語高三上期末監(jiān)測試題含解析
- 2024年中遠(yuǎn)海運(yùn)物流限公司直屬單位招聘高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 第1課 課題二《中外節(jié)日·中秋節(jié)和感恩節(jié)的比較》(教案)-2024-2025學(xué)年六年級上冊綜合實(shí)踐活動浙教版
- 2023年河北張家口銀行股份有限公司招聘微貸業(yè)務(wù)信貸經(jīng)理考試真題
- 2024春期國開電大本科《公共政策概論》在線形考(形考任務(wù)1至4)試題及答案
- 消化道出血的PBL教學(xué)查房
- 粵教版科學(xué)四年級上冊全冊試卷(含答案)
- 汽油安全技術(shù)說明書(MSDS)
評論
0/150
提交評論