課程設(shè)計(jì)遙控窗簾_第1頁
課程設(shè)計(jì)遙控窗簾_第2頁
課程設(shè)計(jì)遙控窗簾_第3頁
課程設(shè)計(jì)遙控窗簾_第4頁
課程設(shè)計(jì)遙控窗簾_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī)的遙控窗簾課程設(shè)計(jì)報(bào)告河南理工大學(xué)單片機(jī)應(yīng)用與仿真訓(xùn)練設(shè)計(jì)報(bào)告 基于單片機(jī)的遙控窗簾設(shè)計(jì)姓 名: 郭棟 李榕 學(xué) 號: 310908020108 02 專業(yè)班級: 自動化0901 指導(dǎo)老師: 王新 所在學(xué)院:電氣工程與自動化學(xué)院2012年7月 1日摘要本設(shè)計(jì)是基于AT89S52單片機(jī)的遙控電動窗簾的設(shè)計(jì),根據(jù)設(shè)計(jì)要求和現(xiàn)有器件,設(shè)計(jì)采用單片機(jī)AT89S52作為主控制器,使用PT2262與PT2272通用編碼解碼電路作為遙控發(fā)射和接受裝置,單片機(jī)通過檢測PT2272解碼的信號,做出開關(guān)窗簾等動作,采用兩個霍爾傳感器44E938作為位置檢測設(shè)備,以檢測窗簾的運(yùn)行位置,實(shí)現(xiàn)防過卷的功能,同

2、時本控制器還有手動控制,通過三個按鍵開關(guān)實(shí)現(xiàn)窗簾的正反??刂啤1倦娐返闹绷麟姍C(jī)由L298N驅(qū)動控制,通過控制L298N實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)及停轉(zhuǎn),達(dá)到控制窗簾的目的。遙控發(fā)射電路由PT2262集成電路組成,本系統(tǒng)直接采用做好的發(fā)射模塊遙控器,共ABCD四路輸出,當(dāng)按下相應(yīng)的按鈕時,對應(yīng)的以PT2272為核心的遙控解碼電路有輸出,經(jīng)測試ABCD分別對應(yīng)D0、D1、D2、D3,所以將D0、D1、D2、D3分別接到單片機(jī)的I/O口,通過檢測對應(yīng)端口的電平輸出高低,系統(tǒng)受程序控制做出相應(yīng)的動作,將控制信號送至電機(jī)驅(qū)動L298N從而實(shí)現(xiàn)對電機(jī)的控制,電機(jī)轉(zhuǎn)軸通過傳動機(jī)構(gòu)與窗簾相連,從而實(shí)現(xiàn)對窗簾的控制。同時

3、本系統(tǒng)也設(shè)置了手動控制方式,通過三個按鍵開關(guān)實(shí)現(xiàn)正反和停轉(zhuǎn)。具體電路是按鍵的一端接地,另一端接到單片機(jī)對應(yīng)的I/O口,當(dāng)單片機(jī)檢測到低電平時,輸出相應(yīng)的信號給電機(jī)驅(qū)動模塊,從而達(dá)到與遙控控制一樣的效果,在編程時要注意消除按鍵的抖動,防止誤操作!顯示模塊由紅綠兩個LED燈組成,當(dāng)電機(jī)正轉(zhuǎn)打開窗簾時紅燈亮;當(dāng)電機(jī)反轉(zhuǎn)關(guān)閉窗簾時綠燈亮,這樣就能很容易的觀察到窗簾的運(yùn)行狀態(tài)。防過卷電路由兩個霍爾傳感器組成,將輸出端接到單片機(jī)的I/O口,通過檢測相應(yīng)端口的電平實(shí)現(xiàn)對電機(jī)的控制,當(dāng)窗簾沒有達(dá)到指定位置時,輸出為高電平,電機(jī)正常運(yùn)轉(zhuǎn);當(dāng)霍爾傳感器檢測到有磁場時(窗簾兩端可以固定兩個磁鋼產(chǎn)生磁場),輸出低電平

4、,從而控制電機(jī)馬上停轉(zhuǎn),達(dá)到防過卷的作用。軟件設(shè)計(jì)使用C語言編程,對輸入信號采用軟件防抖,采用C語言編程,程序易讀易移植,整個程序十分簡潔易懂,經(jīng)下載測試能很好的實(shí)現(xiàn)系統(tǒng)的各個功能。關(guān)鍵字:單片機(jī)、無線遙控、C語言編程 直流電機(jī)目錄1 概述1.1項(xiàng)目背景及應(yīng)用1.2遙控電路的設(shè)計(jì)1.3手動控制電路1.4直流電機(jī)驅(qū)動電路1.5防過卷限位電路1.6程序設(shè)計(jì)2 系統(tǒng)整體方案及硬件設(shè)計(jì)2.1 系統(tǒng)總體方案2.2 PT2262/2272遙控模塊2.3 按鍵電路2.4 44E938防過卷電路2.5 主控制器2.6 直流電機(jī)驅(qū)動電路3 軟件設(shè)計(jì)3.1 變量的定義與I/O口分配3.2 系統(tǒng)子功能程序設(shè)計(jì)3.3

5、系統(tǒng)主程序 4 Proteus軟件仿真5課程設(shè)計(jì)體會參考文獻(xiàn)附錄1:源程序代碼附錄2:系統(tǒng)原理圖1 概述1.1項(xiàng)目背景及應(yīng)用 隨著科學(xué)的發(fā)展,社會的進(jìn)步,人民生活水平的提高,工作壓力也越來越大,人人都希望回到家或是在辦公室都有一個舒適的環(huán)境。能得到很好的休息,這就使得自動化技術(shù)快速發(fā)展。當(dāng)今,技術(shù)發(fā)展飛速,為了進(jìn)一步滿足人們高水準(zhǔn)生活的需要,家用電器產(chǎn)品性能也在不斷的更新挽代,從始初的晶體管、到電子管;由模擬到數(shù)字;由分立元件到集成電路;從普通向高性能、多功能型;由手動控制向無線遙控、向智能化發(fā)展。遙控窗簾設(shè)計(jì)使用51單片機(jī)作為主控制器,使用PT2262遙控編碼模塊作為發(fā)射模塊,使用PT227

6、2解碼模塊作為接收模塊,將遙控信號解碼后轉(zhuǎn)換為TTL電平,供單片機(jī)讀??;手動控制采用微動開關(guān),低電平輸入;輸出控制直流電機(jī)使用直流電機(jī)專用芯片L298N,;窗簾的防過卷使用兩個霍爾傳感器44E938,通過放在窗簾上的強(qiáng)磁鋼感應(yīng)窗簾的位置,實(shí)現(xiàn)窗簾的防過卷。系統(tǒng)的程序設(shè)計(jì)使用C編程,對按鍵采用軟件防抖處理。1.2遙控電路的設(shè)計(jì) 遙控部分電路使用PT2262和PT2272遙控模塊,PT2262/2272是臺灣普城公司生產(chǎn)的一種CMOS工藝制造的低功耗低價位通用編解碼電路,PT2262/2272最多可有12位(A0-A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441地址碼

7、,PT2262最多可有6位(D0-D5)數(shù)據(jù)端管腳,設(shè)定的地址碼和數(shù)據(jù)碼從17腳串行輸出,可用于無線遙控發(fā)射電路。這里使用做好的遙控發(fā)射接收模塊,直接將遙控解碼,轉(zhuǎn)化為相應(yīng)的TTL電平信號,供單片機(jī)讀取。1.3手動控制電路 采用三個按鍵分別控制電機(jī)正轉(zhuǎn)、反轉(zhuǎn)、停轉(zhuǎn),軟件設(shè)計(jì)時加入延時消抖,保證按鍵的正確響應(yīng)。1.4直流電機(jī)驅(qū)動電路 對直流電機(jī)的驅(qū)動這里使用直流電機(jī)專用驅(qū)動芯片L298N,L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機(jī)的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機(jī)。本設(shè)計(jì)中使用5V

8、直流電機(jī),電流較小,并且只是用一路輸出。1.5防過卷限位電路為了防止窗簾開或關(guān)到位后電機(jī)仍沒有停止,需要加防過卷限位電路路這里選用霍爾傳感器44E938,該器件集成了電壓調(diào)節(jié)器,動態(tài)偏差補(bǔ)償系統(tǒng)的霍爾傳感器,施密特觸發(fā)器和開漏輸出驅(qū)動于一個封裝內(nèi)。由于它寬的工作電壓范圍和擴(kuò)展的溫度范圍,使其非常適合于汽車電子,工業(yè)和消費(fèi)電子的應(yīng)用范疇。這里使用44E938作為限位傳感器,當(dāng)窗簾運(yùn)行到上限或下限時,固定在窗簾上的強(qiáng)磁達(dá)到傳感器位置,發(fā)出限位信號,主控制器停止電機(jī),實(shí)現(xiàn)防過卷。1.6程序設(shè)計(jì)對單片機(jī)的程序設(shè)計(jì)使用匯編或C語言,匯編編程程序代碼編譯效率高,但程序的易讀性差,不易移植;C語言的代碼效率

9、雖然沒有匯編高,但程序易讀易寫,且程序的可移植性好,可以借鑒其他例程或一邊寫好的程序模塊。本設(shè)計(jì)采用C語言編程。2 系統(tǒng)整體方案及硬件設(shè)計(jì)2.1 系統(tǒng)總體方案遙控窗簾的硬件設(shè)計(jì)共分為三大部分:信號采集轉(zhuǎn)換電路、單片機(jī)主控電路和直流電機(jī)驅(qū)動電路,其中信號采集電路由遙控解碼電路和手動按鈕兩部分組成。系統(tǒng)框圖如圖1,直流電機(jī)電機(jī)驅(qū)動 電路(L298N)霍爾傳感器主控制器AT89S52按 鍵PT2272解碼模塊 圖1 系統(tǒng)框圖如圖1,主控制器檢測來自PT2272解碼模塊、按鍵和霍爾傳感器44E938的信號,根據(jù)輸入端的信號控制驅(qū)動電路,驅(qū)動電路控制直流電動機(jī)帶動窗簾運(yùn)動。遙控器或按鍵發(fā)出開、關(guān)窗簾的信

10、號后,經(jīng)單片機(jī)處理后,控制L298N輸出控制電機(jī)正、反轉(zhuǎn),電機(jī)通過機(jī)械裝置帶動窗簾運(yùn)動,當(dāng)窗簾運(yùn)動到上限或下限時,固定在窗簾上的強(qiáng)磁促發(fā)相應(yīng)的霍爾傳感器,霍爾傳感器發(fā)出信號給單片機(jī),單片機(jī)將電機(jī)停止。窗簾在開關(guān)過程中按下遙控或者按鍵的停止按鈕,則電機(jī)停止運(yùn)行,實(shí)現(xiàn)窗簾的開關(guān)程度的控制。2.2 PT2272遙控解碼模塊 PT2262/2272是臺灣普城公司生產(chǎn)的一種CMOS工藝制造的低功耗低價位通用編解碼電路,編碼芯片PT2262發(fā)出的編碼信號由:地址碼、數(shù)據(jù)碼、同步碼組成一個完整的碼字,解碼芯片PT2272接收到信號后,其地址碼經(jīng)過兩次比較核對后,VT腳才輸出高電平,與此同時相應(yīng)的數(shù)

11、據(jù)腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會連續(xù)發(fā)射。當(dāng)發(fā)射機(jī)沒有按鍵按下時,PT2262不接通電源,其17腳為低電平,所以315MHz的高頻發(fā)射電路不工作,當(dāng)有按鍵按下時,PT2262得電工作,其第17腳輸出經(jīng)調(diào)制的串行數(shù)據(jù)信號,當(dāng)17腳為高電平期間315MHz的高頻發(fā)射電路起振并發(fā)射等幅高頻信號,當(dāng)17腳為低平期間315MHz的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于PT2262的17腳輸出的數(shù)字信號,從而對高頻電路完成幅度鍵控(ASK調(diào)制)相當(dāng)于調(diào)制度為100的調(diào)幅。 PT2262每次發(fā)射時至少發(fā)射4組字碼,PT2272只有在連續(xù)兩次檢測到相同的地址碼加數(shù)據(jù)碼才會把數(shù)據(jù)

12、碼中的“1”驅(qū)動相應(yīng)的數(shù)據(jù)輸出端為高電平和驅(qū)動VT端同步為高電平。因?yàn)闊o線發(fā)射的特點(diǎn),第一組字碼非常容易受零電平干擾,往往會產(chǎn)生誤碼,所以程序可以丟棄處理。 PT2272解碼芯片有不同的后綴,表示不同的功能,有L4/M4/L6/M6之分,其中L表示鎖存輸出,數(shù)據(jù)只要成功接收就能一直保持對應(yīng)的電平狀態(tài),直到下次遙控?cái)?shù)據(jù)發(fā)生變化時改變。M表示非鎖存輸出,數(shù)據(jù)腳輸出的電平是瞬時的而且和發(fā)射端是否發(fā)射相對應(yīng),可以用于類似點(diǎn)動的控制。后綴的6和4表示有幾路并行的控制通道,當(dāng)采用4路并行數(shù)據(jù)時(PT2272-M4),對應(yīng)的地址編碼應(yīng)該是8位,如果采用6路的并行數(shù)據(jù)時(PT2272-M6),對應(yīng)的

13、地址編碼應(yīng)該是6位PT2262和PT2272芯片如下圖2,圖2 圖3 PT2262/2272引腳圖表1 PT2262引腳功能名稱 管腳說 明 A0-A111-8、10-13地址管腳,用于進(jìn)行地址編碼,可置為“0”,“1”,“f”(懸空),D0-D57-8、10-13數(shù)據(jù)輸入端,有一個為“1”即有編碼發(fā)出,內(nèi)部下拉 VCC18電源正端()VSS9電源負(fù)端()TE14編碼啟動端,用于多數(shù)據(jù)的編碼發(fā)射,低電平有效;OSC116振蕩電阻輸入端,與OSC2所接電阻決定振蕩頻率;OSC215振蕩電阻振蕩器輸出端; Dout17編碼輸出端(正常時為低電平)表2 PT2272引腳功能名稱 管腳說 明 A0-A

14、111-8、10-13地址管腳,用于進(jìn)行地址編碼,可置為“0”,“1”,“f”(懸空),必須與2262一致,否則不解碼 D0-D57-8、10-13地址或數(shù)據(jù)管腳,當(dāng)做為數(shù)據(jù)管腳時,只有在地址碼與2262一致,數(shù)據(jù)管腳才能輸出與2262數(shù)據(jù)端對應(yīng)的高電平,否則輸出為低電平,鎖存型只有在接收到下一數(shù)據(jù)才能轉(zhuǎn)換 VCC18電源正端()VSS9電源負(fù)端()DIN14數(shù)據(jù)信號輸入端,來自接收模塊輸出端OSC116振蕩電阻輸入端,與OSC2所接電阻決定振蕩頻率;OSC215振蕩電阻振蕩器輸出端; VT17解碼有效確認(rèn) 輸出端(常低)解碼有效變成高電平(瞬態(tài))遙控模塊是已做好的,使用315MHz的頻率,遙

15、控模塊接收解碼模塊共有四個輸出,當(dāng)沒有信號時,對應(yīng)的引腳為低電平,當(dāng)收到對應(yīng)的通道Y有遙控信號時,如通道D2與輸入信號C,則PT2272的D2引腳輸出高電平。并根據(jù)芯片類型的不同D2口的電平自鎖或點(diǎn)動,單片機(jī)讀取接收解碼模塊的信號做出動作。2.3 按鍵電路按鍵是單片機(jī)的常用輸入設(shè)備,電路簡單且成本低,這里對按鍵的防抖采用軟件延時處理。按鍵使用常用的按鈕式微動開關(guān),按鍵電路如下圖4,圖4 按鍵電路2.4霍爾傳感器防過卷限位電路限位開關(guān)用于檢測窗簾運(yùn)行到上、下限位置時動作發(fā)出信號給控制器,以防止窗簾過卷損壞機(jī)械設(shè)備或電機(jī)。常用的限位裝置使用行程開關(guān)、光電開關(guān)或接近開關(guān),這里選用霍爾傳感器44E93

16、8作為限位傳感器。44E938是低功耗CMOS工藝的霍爾傳感器,TO-92封裝的如下圖5,其內(nèi)部結(jié)構(gòu)如圖6: 圖5 接線原理圖 圖6 內(nèi)部結(jié)構(gòu)TO-90封裝的引腳定義同TO-92封裝,引腳1為電源正極VDD,引腳2為GND,44E938的工作電壓為3.5-28V,引腳3為信號輸出引腳OUT。從內(nèi)部結(jié)構(gòu)原理圖中可以看到,霍爾元件產(chǎn)生的霍爾電動勢加到運(yùn)放的同相和反向輸入端,當(dāng)霍爾元件受到不同方向的磁場時,傳感器會輸出不同的電平,如圖7,圖7 霍爾傳感器電平輸出傳感器電路如圖8,圖8 霍爾傳感器電路44E938感應(yīng)到強(qiáng)磁鐵的磁場后,發(fā)出信號給單片機(jī)。2.5 主控制器遙控窗簾的主控制器選用MCS51系

17、列單片機(jī),MCS51是指由美國INTEL公司生產(chǎn)的一系列單片機(jī)的總稱,這一系列單片機(jī)包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來的,所以人們習(xí)慣于用51來稱呼MCS51系列單片機(jī)。這里選用ATMEL公司的AT89S52單片機(jī),AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用ATMEL公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)

18、編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。AT89S52的引腳如圖9, 圖9 AT89S52引腳圖對AT89S52的各引腳定義和作用這里不再贅述。2.6 直流電機(jī)驅(qū)動電路 遙控窗簾的執(zhí)行部件為一個5v的直流電動機(jī),窗簾的開關(guān)通過控制直流電機(jī)的正反轉(zhuǎn)實(shí)現(xiàn),驅(qū)動電路的作用是接受單片機(jī)輸出的控制信號并根據(jù)控制信號驅(qū)動電機(jī)正反轉(zhuǎn)或停止。要實(shí)現(xiàn)直流電機(jī)的正反轉(zhuǎn),只需改變加在直流電機(jī)轉(zhuǎn)自線圈兩端的電壓極性。實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)控制可通過多種方法來實(shí)現(xiàn),如使用兩個繼電器,或使用可控電力電子器件做成逆變橋(H橋),對于小功率直流

19、電機(jī)使用小功率開關(guān)三極管如13002即可,或使用集成的直流電機(jī)控制芯片,如集成有橋式電路的電機(jī)專用驅(qū)動芯片,如L298N、LMD18200、MC33886,ML4428,性能比較穩(wěn)定可靠。這里選用L298N。L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機(jī)的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機(jī)。其實(shí)物及引腳圖10和圖11所示: 圖11 L298N引腳圖 圖10封裝圖 圖12 L298N內(nèi)部結(jié)構(gòu)原理圖如圖12為L298N的內(nèi)部原理圖,L298有兩路電源分別為邏輯電源和動力電源,上圖中6V為動

20、力電源輸入端VSS。SENSEA和SENSEB分別為A路和B路的驅(qū)動電源的輸入端。ENA、ENB為電機(jī)控制A路和B路的是能端,高電平有效;IN1、IN2、IN3、IN4為電機(jī)的正反轉(zhuǎn)控制信號端。其控制邏輯如表3:表3 L298N控制邏輯IN1IN2ENA電機(jī)狀態(tài)XX0停止101順時針011逆時針000停止110停止由于微控制器的工作電壓多為5V和3.3V,與L298N及驅(qū)動電機(jī)的幾十伏的驅(qū)動電壓相差較大,常使用光電耦合電路實(shí)現(xiàn)通電壓的信號耦合,本設(shè)計(jì)中控制電路與驅(qū)動電路使用相同的工作電壓本設(shè)計(jì)中只使用A路驅(qū)動控制電機(jī),單片機(jī)的端口驅(qū)動控制L298N的A路驅(qū)動直流電機(jī)。硬件電路的整體設(shè)計(jì)就是這些

21、,具體還要通過硬件的焊接完成后測試。 3 軟件設(shè)計(jì) 硬件系統(tǒng)搭建完成后,就要根據(jù)系統(tǒng)的控制要求和現(xiàn)有的硬件資源,編寫合理的系統(tǒng)程序。程序的編寫要根據(jù)控制要求,充分運(yùn)用系統(tǒng)的硬件資源,編寫簡單無漏洞的系統(tǒng)程序,為保證系統(tǒng)的可靠長時間運(yùn)行,還可使用AT89S52的軟件看門狗,這里程序較為簡單,就不再使用。遙控窗簾的系統(tǒng)軟件的主要任務(wù)是檢測來自鍵盤、遙控解碼模塊和霍爾傳感器的信號,通過信號判斷做出的動作,輸出控制信號控制控制直流電機(jī)驅(qū)動模塊驅(qū)動電機(jī)運(yùn)行,實(shí)現(xiàn)窗簾的開關(guān)控制。對系統(tǒng)程序的編寫使用KEIL軟件并使用C語言編程,在系統(tǒng)主函數(shù)中單片機(jī)對輸入信號進(jìn)行不停的掃描,當(dāng)檢測到輸入信號時,調(diào)用相應(yīng)的子

22、函數(shù)執(zhí)行動作,各子函數(shù)完成不同的動作。3.1變量的定義與I/O口分配 C語言中可以對變量采用宏定義,以方便在程序中讀懂和使用變量,在這里定義的變量與I/O口分配如下:bit a0=1;/按鍵正轉(zhuǎn)按下的返回值bit a1=1; /按鍵反轉(zhuǎn)按下的返回值bit a2=1; /按鍵停轉(zhuǎn)按下的返回值sbit ajz=P20正轉(zhuǎn);sbit ajf=P21反轉(zhuǎn);sbit ajt=P22停轉(zhuǎn); /手動按鍵sbit A=P04 正轉(zhuǎn);sbit D=P03反轉(zhuǎn);sbit C=P02停轉(zhuǎn); /無線模塊輸出sbit IN1=P10;sbit IN2=P11; /電機(jī)輸入端sbit huo1=P23 正轉(zhuǎn);sbit h

23、uo2=P24反轉(zhuǎn); /霍爾傳感器輸出sbit ZLED=P25正轉(zhuǎn);sbit FLED=P26反轉(zhuǎn); /電機(jī)狀態(tài)指示3.2系統(tǒng)子功能程序設(shè)計(jì)系統(tǒng)功能的實(shí)現(xiàn)不同的控制功能,如窗簾的開關(guān)等,本程序中共用到以下幾個子函數(shù):void delay(uint x);/延時函數(shù)1msvoid csh();/程序初始化Void ajsm();/按鍵掃描各子函數(shù)如下:延時函數(shù) /通過for循環(huán)執(zhí)行空操作來實(shí)現(xiàn)延void delay(uchar j)uchar c,d; for(c=j;c>0;c-) for(d=110;d>0;d-); 為控制器在每次啟動或重啟后要進(jìn)行初始化,以使內(nèi)部個寄存器的值

24、被清零或置位或?qū)Τ绦蛑虚g變量賦予相應(yīng)的值,本設(shè)計(jì)的初始化程序主要完成輸入端口的置位和輸出端口的置位,如下初始化函數(shù): void csh() IN1=0; /電機(jī)初始狀態(tài)為停轉(zhuǎn) IN2=0; huo1=1;/霍爾傳感器正常輸出為高電平 huo2=1; ajz=1; /按鍵初始狀態(tài) ajf=1; ajt=1; ZLED=0; /LED初始狀態(tài)全滅 FLED=0; a0=0; a1=0; a2=0; 按鍵掃描程序: uchar ajsm() if(ajz=0) /正轉(zhuǎn)按鍵 delay(10); If(ajz=0) a0=1; Return a0; if(ajf=0) /反轉(zhuǎn)按鍵 delay(10);

25、 If(ajf=0) a1=1; return a1; if(ajt=0) /停轉(zhuǎn)按鍵 delay(10); If(ajt=0) a2=1; return a2; 3.3 系統(tǒng)主程序 系統(tǒng)主程序設(shè)計(jì)每一個C函數(shù)都必須有一個并且只有一個主函數(shù),系統(tǒng)開始執(zhí)行程序是從主函數(shù)開始。本設(shè)計(jì)沒有使用中斷,以鍵盤的掃描為主,主函數(shù)內(nèi)主要完成輸入口狀態(tài)的掃描,并調(diào)用相應(yīng)子函數(shù)完成相應(yīng)功能,主程序流程圖如下:圖15 主程序流程圖主函數(shù)中完成系統(tǒng)初始化后,死循環(huán)while(1)不停地對輸入端口進(jìn)行檢測,當(dāng)對應(yīng)的輸入端口有使能信號時執(zhí)行相應(yīng)的操作,操作完成后又接著檢測輸入口。到此系統(tǒng)的軟件設(shè)計(jì)完成,還需對軟件的運(yùn)行

26、情況做進(jìn)一步仿真并下載到硬件測試,有漏洞及時修正。 4 Proteus軟件仿真 在系統(tǒng)硬件焊接之前,應(yīng)該首先進(jìn)行軟件模擬調(diào)試,protues是一款對于單片機(jī)的調(diào)試非常有用的軟件,Protues軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到P

27、CB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、keil和MPLAB等多種編譯。根據(jù)自己的實(shí)際硬件電路圖,在軟件中進(jìn)行仿真調(diào)試,導(dǎo)入程序,觀察是否能正常工作,軟件調(diào)試順利通過!只有確認(rèn)硬件無誤并且相應(yīng)的軟件也正常工作后,才能進(jìn)行實(shí)際的物理焊接 。 本次課程設(shè)計(jì),不經(jīng)鍛煉了我們的

28、動手能力,還使我對軟件的使用更為熟練,對于以后的工作和學(xué)習(xí)都有很大的作用,所以感覺確實(shí)獲益匪淺! 5課程設(shè)計(jì)體會通過這次的課程設(shè)計(jì)作品的制作讓我對單片機(jī)的理論有了更加深入的了解,同時在具體的制作過程中我們發(fā)現(xiàn)現(xiàn)在書本上的知識與實(shí)際的應(yīng)用存在著不小的差距,書本上的知識很多都是理想化后的結(jié)論,忽略了很多實(shí)際的因素,或者涉及的不全面,可在實(shí)際的應(yīng)用時這些是不能被忽略的,我們不得不考慮這方的問題,這讓我們無法根據(jù)書上的理論就輕易得到預(yù)想中的結(jié)果,有時結(jié)果甚至很差別很大。通過這次實(shí)踐使我更深刻的體會到了理論聯(lián)系實(shí)際的重要性,我們在今后的學(xué)習(xí)工作中會更加的注重實(shí)際,避免只會紙上談兵。在進(jìn)行硬件焊接的時候應(yīng)

29、提前布好元件的位置,盡量使整個板子布局更加合理,盡量使每個焊點(diǎn)標(biāo)準(zhǔn)焊接,防止虛焊,影響后續(xù)的硬件調(diào)試工作,在軟件的設(shè)計(jì)中,應(yīng)使程序盡量簡單,但是應(yīng)以能滿足系統(tǒng)要求為前提,充分考慮到可能發(fā)生的各種情況,使程序緊湊合理,防止出現(xiàn)明顯的漏洞! 在設(shè)計(jì)的過程中,我還要特別感謝老師和同學(xué)的無私幫助,正是他們的鼓勵和幫助之下,才使得我們我們的課程設(shè)計(jì)能順利的完成;課程設(shè)計(jì)中又讓我體會到了合作和團(tuán)結(jié)的力量當(dāng)遇到不會或設(shè)計(jì)不了出來的地方,我們會一起相互討論相互幫助,這次設(shè)計(jì)進(jìn)一步認(rèn)識了只有團(tuán)結(jié)互助,才能更好的完成設(shè)計(jì)任務(wù)。最后再次感謝老師對我們的精心指導(dǎo),感謝同學(xué)們的熱心幫助。參考文獻(xiàn)1余發(fā)山,王福忠等編著.

30、單片機(jī)原理及應(yīng)用技術(shù),江蘇,中國礦業(yè)大學(xué) 2譚浩強(qiáng). C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005 3李朝青.單片機(jī)原理及接口技術(shù)(簡明修訂版).北京:北京航空航天大學(xué)出版社 19994何立民.單片機(jī)高級教程.北京:北京航空航天大學(xué)出版社,19995李群芳.單片微型計(jì)算機(jī)與接口技術(shù).北京:電子工業(yè)出版社,20016朱定華.單片微機(jī)原理與應(yīng)用.北京:清華大學(xué)出版社,20037馬淑華,王鳳文,張美金編著. 單片機(jī)原理與接口技術(shù)(第二版).北京:北京郵電 大學(xué)出版社,2007 8李維祥.單片機(jī)原理與應(yīng)用.天津:天津大學(xué)出版設(shè),20019錢逸秋.單片機(jī)原理與應(yīng)用.北京:電子工業(yè)出版社,2002

31、10 戴佳.51單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)例精講(第2版).北京,200811 趙亮.單片機(jī)C語言編程與實(shí)例. 人民郵電出版社: 北京,200312 邊海龍. 單片機(jī)開發(fā)與典型工程項(xiàng)目實(shí)例詳解.北京電子工業(yè)出版社,2008附一:源程序代碼#include<reg52.h> /庫文件#define uint unsigned int#define uchar unsigned charsbit ajz=P03; /手動按鍵正轉(zhuǎn)sbit ajf=P04; /手動按鍵反轉(zhuǎn) sbit ajt=P05; /手動按鍵停轉(zhuǎn)sbit IN1=P06; /電機(jī)輸入端sbit IN2=P07;sbit Z=P12; /正轉(zhuǎn) /無線接收模塊sbit F=

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論