版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE唐山學(xué)院畢業(yè)設(shè)計(jì)設(shè)計(jì)題目:基于STC89C52單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)系別:信息工程系班級(jí):姓名:指導(dǎo)教師:2013年6月10日PAGE基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要步進(jìn)電機(jī)是一種純粹的數(shù)字控制電動(dòng)機(jī),是一種受電脈沖信號(hào)控制的無(wú)刷式直流電動(dòng)機(jī),是現(xiàn)代定位驅(qū)動(dòng)裝置的核心,廣泛應(yīng)用在機(jī)械、電力、紡織、電子、儀表、印刷以及航空航天、船舶、兵器等國(guó)防工業(yè)等領(lǐng)域?;趩纹瑱C(jī)的步進(jìn)電機(jī)控制系統(tǒng)具有穩(wěn)定度高、成本低、控制方便、應(yīng)用范圍廣等特點(diǎn)。本系統(tǒng)是由STC89C52單片機(jī)核心處理模塊,遙控器命令輸入模塊,ULN2003及28BYJ-48步進(jìn)電機(jī)組成的電機(jī)模塊,12864液晶輸出模塊共同組成的基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。本設(shè)計(jì)以載波為38KHZ的紅外遙控器作為用戶的控制端,它的功能是把用戶的命令轉(zhuǎn)換為紅外信號(hào)。紅外信號(hào)由TL1838接收,它可以將光信號(hào)轉(zhuǎn)換為電信號(hào),并將其發(fā)送給微控制器STC89C52。STC89C52對(duì)電信號(hào)進(jìn)行相應(yīng)處理即可獲得用戶所發(fā)出的指令,并依此來(lái)控制28BYJ48型四相八拍電機(jī)并以12864液晶作為當(dāng)前狀態(tài)的顯示器。用戶可以對(duì)步進(jìn)電機(jī)進(jìn)行加速、減速、正轉(zhuǎn)、反轉(zhuǎn)的控制。本步進(jìn)電機(jī)控制系統(tǒng)具有精度高、運(yùn)行穩(wěn)定、控制方便、維護(hù)簡(jiǎn)單、應(yīng)用范圍廣等特點(diǎn)。關(guān)鍵詞:STC89C5212864液晶步進(jìn)電機(jī)紅外遙控
DesignandImplementationofStepperMotorControlSystemBasedonMCUAbstractSteppermotorisakindofpuredigitalcontrolmotorandbrushlessdcmotorcontrolledbyelectricpulsesignaltype.Steppermotoristhecoreofthemodernorientationdrive,widelyusedinmachinery,electricpower,textile,electronics,instruments,printingandaerospace,ships,weapons,andotherareasofthedefenseindustry,etc.Thecharacteristicsofthesteppingmotorcontrolsystembasedonsinglechipmicrocomputerincludehighstability,lowcost,convenientcontrolandwideapplication,etc.Thesteppermotorcontrolsystemconsistsofcoreprocessorusingthesinglechipprocessor,commandinputcontrolmoduleusingIRremotecontrol,displaymoduleusing12864LCDand28BYJ48steppingmotormodulewhichusingULN2003asdriver.Theinfraredremotecontrolwithcarrierfor38KHZisusedasthecontrolendoftheuser,whichcanconverttheusers’commandsintotheinfraredsignal.TheTL1838canreceivetheinfraredsignalandconvertitintoelectricalsignal,whichinputtotSTC89C52.TheMCUcanobtaininstructionsofusersbyprocessingtheincomingsignalandcontrolsteppingmotorofthe28BYJ48type,thecurrentstatuscanbeshownby12864LCD.Userscouldcontrolacceleration,deceleration,forward,inversionforthesteppingmotor.Thefeaturesofthecontrolsystemofsteppermotorincludeshighprecision,stablerunning,convenientcontrolandsimplemaintenanceandwideapplication,etc.Keyword:MCU;12864LCD;StepperMotor;Infraredremotecontrol目錄TOC\o"1-3"\h\u60371引言 1295032總體設(shè)計(jì)方案 2238892.1系統(tǒng)設(shè)計(jì)原理 2312622.2總體設(shè)計(jì)框圖 2235813系統(tǒng)硬件模塊的組成 3288313.1單片機(jī)控制模塊 362783.1.1STC89C52主要結(jié)構(gòu) 3291103.1.2STC89C52功能特性描述 3122663.1.3時(shí)鐘電路 688873.1.4復(fù)位電路 6250973.2步進(jìn)電機(jī)模塊 7156343.2.1步進(jìn)電機(jī)簡(jiǎn)介 71003.2.2步進(jìn)電機(jī)的結(jié)構(gòu) 868733.2.328BYJ-48步進(jìn)電機(jī)工作原理 8146373.3ULN2003芯片概述與特點(diǎn) 910993.4紅外線發(fā)射接收模塊 1089773.4.1紅外線遙控的介紹 10120413.4.2紅外通信基本原理 10225833.4.3紅外遙控發(fā)射系統(tǒng) 1291153.4.4紅外遙控接收系統(tǒng) 1287243.4.5TL1838與單片機(jī)的接口 1493243.512864顯示模塊 1412903.5.112864液晶的特點(diǎn) 14187983.5.212864液晶的引腳說(shuō)明 15127883.5.312864液晶的讀寫操作 17240613.5.412864液晶的控制指令 17217643.5.512864液晶接口電路 20150363.6蜂鳴器模塊 20134713.6.1蜂鳴器介紹 20254743.6.2蜂鳴器的接口電路 21266594軟件設(shè)計(jì)與調(diào)試 22126934.1主程序流程圖 22280794.2程序設(shè)計(jì)思路 23216954.2.1遙控器的解碼 23244284.2.2步進(jìn)電機(jī)的控制 2325584.2.3顯示屏的控制 24194354.2.4蜂鳴器的控制 2474014.2.5模塊中的通信 2447495編程與下載軟件 25125395.1Keil軟件 25276655.2STC-ISP下載軟件 26313256硬件電路制作 27186256.1原理圖的繪制 2725416.2電路實(shí)現(xiàn)的基本步驟 27145477結(jié)論 3011922謝辭 3130964參考文獻(xiàn) 3215902附錄 33唐山學(xué)院畢業(yè)設(shè)計(jì)PAGE441引言步進(jìn)電機(jī)是一種純粹的數(shù)字控制電動(dòng)機(jī),又稱為階躍電機(jī)或脈沖電機(jī)[1]。是一種轉(zhuǎn)動(dòng)速率與轉(zhuǎn)動(dòng)步數(shù)可以由脈沖數(shù)量與頻率控制的直流電機(jī),也就是說(shuō)這是一種轉(zhuǎn)動(dòng)速度與脈沖頻率相一致的同步電機(jī)。它是一種將電脈沖能量轉(zhuǎn)換為機(jī)械能的機(jī)制,這種方式使它轉(zhuǎn)動(dòng)的每一個(gè)角度,每個(gè)角度占用的時(shí)間都由用戶掌控。隨著科學(xué)技術(shù)的迅猛發(fā)展,步進(jìn)電機(jī)的研究也到達(dá)了新的水準(zhǔn)。定位驅(qū)動(dòng)系統(tǒng)已完全由步進(jìn)系統(tǒng)所主宰。在過(guò)去,人們認(rèn)為步進(jìn)系統(tǒng)在很多方面都不及伺服系統(tǒng),但是由于技術(shù)的不斷革新,材料的不斷升級(jí)優(yōu)化以及計(jì)算機(jī)技術(shù)的不斷成熟,使得步進(jìn)控制系統(tǒng)在技術(shù)層面上迎來(lái)了嶄新的一頁(yè)。定位驅(qū)動(dòng)系統(tǒng)是處于不斷發(fā)展?fàn)顟B(tài)的,經(jīng)歷了步進(jìn)系統(tǒng)、直流伺服系統(tǒng)、交流伺服系統(tǒng)等過(guò)程的發(fā)展與過(guò)度,現(xiàn)在又回到了步進(jìn)控制系統(tǒng)。定位驅(qū)動(dòng)裝置之所以再一次回到步進(jìn)系統(tǒng),是因?yàn)樗梢詫⑾到y(tǒng)簡(jiǎn)化,維護(hù)非常簡(jiǎn)單,它所構(gòu)成的開環(huán)控制系統(tǒng)是無(wú)需反饋的,同時(shí)又能保持非常高的精度。所以現(xiàn)如今的定位驅(qū)動(dòng)裝置大多是采用步進(jìn)系統(tǒng)的,這在將來(lái)的幾十年都不會(huì)改變,這種由脈沖去控制轉(zhuǎn)動(dòng)方位,脈沖頻率決定轉(zhuǎn)動(dòng)速度的定位方式一定會(huì)在很大程度上決定著工業(yè)與生活中的定位裝置的發(fā)展趨勢(shì)。步進(jìn)電機(jī)的上述特點(diǎn)使得它廣泛應(yīng)用于冶金、機(jī)械、電力、紡織、電子、輕工、重工、電子、醫(yī)療、印刷以及航空航天等國(guó)防工業(yè)等領(lǐng)域。舉一個(gè)典型的例子,數(shù)控機(jī)床在機(jī)械行業(yè)中有著舉足輕重的地位,而數(shù)控機(jī)床的正常運(yùn)轉(zhuǎn)又是依賴步進(jìn)電機(jī)的,它核心就是步進(jìn)電機(jī)系統(tǒng)。這種無(wú)需反饋的開環(huán)系統(tǒng)決定了數(shù)控機(jī)床的工作可靠、性能穩(wěn)定、維護(hù)方便、加工迅捷的特點(diǎn),也使數(shù)控機(jī)床成為如今機(jī)床發(fā)展的主要方向。在其他的許多行業(yè)中,步進(jìn)控制系統(tǒng)也發(fā)揮著舉足輕重的作用。比如我們?cè)谏钪谐R姷挠戌姳怼V告牌、繪圖儀等,在生產(chǎn)中常見的有印刷機(jī)器、紡織機(jī)、包裝機(jī)械等。本設(shè)計(jì)主要是基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng),可以通過(guò)遙控器的鍵盤設(shè)置期望的步進(jìn)電機(jī)轉(zhuǎn)動(dòng)狀態(tài),通過(guò)紅外發(fā)射裝置及接收裝置,使單片機(jī)接收到用戶需要的控制命令,進(jìn)行相應(yīng)的處理,使步進(jìn)電機(jī)改變運(yùn)動(dòng)狀態(tài)并在LCD顯示屏顯示出來(lái)。本設(shè)計(jì)雖然是理論上的步進(jìn)系統(tǒng),并沒有廣泛應(yīng)用于工業(yè)中的定位裝置與生產(chǎn)當(dāng)中。但是隨著步進(jìn)電機(jī)技術(shù)的不斷革新和電機(jī)身上所固有的脈沖與角位移嚴(yán)格成正比的特點(diǎn),以及紅外遙控的準(zhǔn)確、迅捷、易于控制的優(yōu)勢(shì),步進(jìn)電機(jī)對(duì)步進(jìn)電機(jī)穩(wěn)定、高效、準(zhǔn)確的控制,都決定了基于單片機(jī)的紅外控制步進(jìn)電機(jī)系統(tǒng)將在生活生產(chǎn)中迎來(lái)廣闊的市場(chǎng)。為了表現(xiàn)步進(jìn)電機(jī)的在生活生產(chǎn)中的應(yīng)用廣泛性,本設(shè)計(jì)的一些功能的設(shè)定有一定的針對(duì)性,可以具體的表現(xiàn)出紅外控制的步進(jìn)系統(tǒng)的優(yōu)越性能。 2總體設(shè)計(jì)方案2.1系統(tǒng)設(shè)計(jì)原理單片機(jī)STC89C52是整個(gè)系統(tǒng)關(guān)鍵部分,通過(guò)對(duì)遙控器上鍵盤的命令輸入,經(jīng)遙控器編碼后發(fā)出紅外信號(hào),TL1838接收到信號(hào)并在單片機(jī)中解碼。本文提出的采用38KHZ的遙控器為核心控制器件的步進(jìn)電機(jī)控制系統(tǒng),根據(jù)輸出信號(hào)的不同可以控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)狀態(tài),其中采用了28BYJ-48的步進(jìn)電機(jī),以ULN2003為驅(qū)動(dòng)芯片,并通過(guò)單片機(jī)程序控制和處理,從而實(shí)現(xiàn)了步進(jìn)電機(jī)的狀態(tài)控制及相應(yīng)狀態(tài)顯示。本系統(tǒng)采用STC89C52單片機(jī)為核心處理器,遙控器為命令輸入模塊,由ULN2003及28BYJ-48步進(jìn)電機(jī)組成的轉(zhuǎn)動(dòng)模塊、12864液晶的輸出模塊共同組成的基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。2.2總體設(shè)計(jì)框圖本設(shè)計(jì)采用STC89C52單片機(jī)為核心處理器,利用載波為38KHZ的遙控器為輸入模塊鍵盤輸入模塊,控制步進(jìn)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),并以三種不同的速度進(jìn)行轉(zhuǎn)動(dòng),并且轉(zhuǎn)動(dòng)狀態(tài)在12864液晶上顯示。系統(tǒng)構(gòu)成如圖2-1所示。步進(jìn)電機(jī)ULN2003TL1838單片機(jī)遙控器步進(jìn)電機(jī)ULN2003TL1838單片機(jī)遙控器蜂鳴器12864液晶蜂鳴器12864液晶圖2-1系統(tǒng)框圖由系統(tǒng)框圖可知,遙控器和TL1838為輸入裝置,步進(jìn)電機(jī)、12864液晶、蜂鳴器為輸出裝置,單片機(jī)為中心處理裝置,ULN2003為驅(qū)動(dòng)器。
3系統(tǒng)硬件模塊的組成3.1單片機(jī)控制模塊主控電路中,以單片機(jī)為主體,通過(guò)分析遙控輸入的指令,改變步進(jìn)電機(jī)的運(yùn)行參數(shù)和顯示參數(shù)。它是系統(tǒng)的大腦。單片機(jī)(MicroController,又稱微控制器)是在一塊硅片上集成了各種部件的微型機(jī)算計(jì),這些部件包括中央處理器CPU、數(shù)據(jù)存貯器RAM、程序存貯器ROM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路[3]。3.1.1STC89C52主要結(jié)構(gòu)STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口[4]。3.1.2STC89C52功能特性描述
STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用宏晶公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash、256字節(jié)RAM、32位I/O口線、看門狗定時(shí)器、2個(gè)數(shù)據(jù)指針、三個(gè)16位定時(shí)器/計(jì)數(shù)器、一個(gè)6向量2級(jí)中斷結(jié)構(gòu)、全雙工串行口、片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下個(gè)中斷或硬件復(fù)位為止[5]。STC89C52的引腳結(jié)構(gòu)如圖3-1所示。圖3-1STC89C52單片機(jī)引腳圖GND:接地。VCC:供電電壓。P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器。能驅(qū)動(dòng)4個(gè)TTL邏輯電平。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
P3口也可作為AT89C51的一些特殊功能口,如表3-1所示。表3-1P3口的第二功能信道位第二功能說(shuō)明P3.0RXD串行口的輸出P3.1TXD串行口的輸入P3.2外部中斷0的中斷請(qǐng)求輸入P3.3外部中斷1的中斷請(qǐng)求輸入P3.4T0計(jì)數(shù)器0的計(jì)數(shù)輸入P3.5T1計(jì)數(shù)器1的計(jì)數(shù)輸入P3.6外部數(shù)據(jù)存儲(chǔ)器的寫選通信號(hào)P3.7外部數(shù)據(jù)存儲(chǔ)器的讀選通信號(hào)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。
:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。
/VPP:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
XTAL2:來(lái)自反向振蕩器的輸出。3.1.3時(shí)鐘電路STC89C52有內(nèi)部時(shí)鐘和外部時(shí)鐘兩種連接方式。設(shè)計(jì)中使用內(nèi)部時(shí)鐘,即在RXD和TXD兩端并聯(lián)晶振和適當(dāng)電容。需要注意的是并不是晶振有定時(shí)的作用,而是通過(guò)和單片機(jī)內(nèi)部的高增益反相放大器連接,使它可以在一定頻率下穩(wěn)定震動(dòng),起到口令的作用。其連接電路如圖3-2所示。圖3-2時(shí)鐘電路在RXD和TXD引腳上并聯(lián)的晶振是系統(tǒng)的定時(shí)元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。時(shí)鐘電路中選用的晶振可以在1.2~24MHz之間選擇,并聯(lián)的電容值可在5~30pF之間選擇,為單片機(jī)提供了有序準(zhǔn)確的命令,是單片機(jī)正常運(yùn)行的前提。3.1.4復(fù)位電路AT89C52的外圍電路是必須有復(fù)位功能的,一般分為自動(dòng)復(fù)位和按鍵復(fù)位。設(shè)計(jì)使用的是手動(dòng)復(fù)位,電路原理是在普通RC復(fù)位電路的基礎(chǔ)上接一個(gè)有下拉電阻10K、上拉電容10μf接VCC,電源由開關(guān)經(jīng)串接的1K限流電阻至復(fù)位腳(和上拉電容并聯(lián)),上拉電容支路負(fù)責(zé)在“上電”瞬間實(shí)施復(fù)位;開關(guān)通過(guò)1K上拉電阻和10K下拉電阻分壓器,保證對(duì)單片機(jī)實(shí)施按鍵電平復(fù)位[6]。電路圖如圖3-3所示。圖3-3復(fù)位電路復(fù)位可以對(duì)單片機(jī)初始化。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序[7]。復(fù)位一般有兩種作用,一種是在進(jìn)入系統(tǒng)時(shí)要正常的初始化,另一種是程序可能會(huì)出現(xiàn)錯(cuò)誤,運(yùn)行混亂,是系統(tǒng)處于死鎖狀態(tài),為了解決這種困境,通常采用復(fù)位方式。3.2步進(jìn)電機(jī)模塊3.2.1步進(jìn)電機(jī)簡(jiǎn)介人類社會(huì)進(jìn)入自動(dòng)化時(shí)代的今天,傳統(tǒng)電動(dòng)機(jī)的功能已不能滿足各種運(yùn)動(dòng)控制系統(tǒng)的要求。為了適應(yīng)這些要求,發(fā)展了一系列新的具備控制功能的電動(dòng)機(jī)系統(tǒng),其中較有自己特點(diǎn),且應(yīng)用十分廣泛的一類便是步進(jìn)電機(jī)。從發(fā)展趨向來(lái)講,步進(jìn)電機(jī)已經(jīng)能與直流電動(dòng)機(jī),異步電動(dòng)機(jī),以及同步電動(dòng)機(jī)并列,成為電動(dòng)機(jī)的一種基本類型,步進(jìn)電機(jī)己成為除直流電動(dòng)機(jī)和交流電動(dòng)機(jī)以外的第三類電動(dòng)機(jī)。步進(jìn)電機(jī)是電動(dòng)脈沖信號(hào)為角位移或線位移的開環(huán)步進(jìn)電機(jī)控制元件塊。步進(jìn)電機(jī)對(duì)于其他種類電機(jī)的優(yōu)勢(shì)是在非超載的情況下,電機(jī)的運(yùn)動(dòng)狀態(tài)如電動(dòng)機(jī)轉(zhuǎn)速、停止的位置非常穩(wěn)定,可以完全在用戶的掌控之中的,負(fù)載的變化,在惡劣環(huán)境下都不會(huì)對(duì)它產(chǎn)生影響,這取決于它的控制方式的與眾不同。步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)圈數(shù)完全取決于給它脈沖的數(shù)量,它轉(zhuǎn)動(dòng)速度又完全取決于脈沖頻率。只要給步進(jìn)電機(jī)一個(gè)脈沖,就會(huì)驅(qū)動(dòng)電機(jī)在旋轉(zhuǎn)方向上轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步進(jìn)角”,旋轉(zhuǎn)角度是固定的一步一步的操作[8]。所以它的可操作性非常優(yōu)越,但是步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度是比較慢的,隨著科技的發(fā)展,這種缺點(diǎn)也在逐漸改善。步進(jìn)電機(jī)的實(shí)物圖如圖3-4所示。圖3-428BYJ48型四相八拍電機(jī)本設(shè)計(jì)選擇28BYJ-48步進(jìn)電機(jī)作為設(shè)計(jì)對(duì)象,步進(jìn)電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC5V—DC12V。使步進(jìn)電機(jī)連續(xù)轉(zhuǎn)動(dòng)的方法是不斷的供給控制脈沖。每個(gè)脈沖都對(duì)應(yīng)步進(jìn)電機(jī)的某一項(xiàng)或兩項(xiàng)繞組,當(dāng)它的通電狀態(tài)改變時(shí)對(duì)應(yīng)的轉(zhuǎn)子就會(huì)轉(zhuǎn)過(guò)一定角度,這個(gè)角度叫做步距角。通電狀態(tài)改變一個(gè)周期時(shí)轉(zhuǎn)子所轉(zhuǎn)的角度成為齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行,常見的通電方式有單(單相繞組通電)四拍(A-B-C-D-A),雙(雙相繞組通電)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。3.2.2步進(jìn)電機(jī)的結(jié)構(gòu)步進(jìn)電機(jī)有轉(zhuǎn)子和定子兩部分,在電流作用下的,定子和轉(zhuǎn)子的相互作用,使得電機(jī)不停轉(zhuǎn)動(dòng)。28BYJ-48步進(jìn)電機(jī)的定子是由硅鋼片疊成的,定子上有8大磁極,每2個(gè)相對(duì)的磁極(N,S)組成一對(duì),共有4對(duì),如圖3-5所示。定子齒有個(gè)勵(lì)磁繞阻,其幾何軸線依次分別與轉(zhuǎn)子齒軸線錯(cuò)開。0、1/4π、2/4π、3/4π(相鄰兩轉(zhuǎn)子齒軸線間的距離為齒距以π表示),即A與齒1相對(duì)齊,B與齒2向右錯(cuò)開1/4π,C與齒3向右錯(cuò)開1/2π,D與齒4向右錯(cuò)開3/4π。而轉(zhuǎn)子是由軟磁材料制成,其外表面也均勻地分布著小齒,與定子上的小齒相同,并且小齒的大小相同,間距相同。3.2.328BYJ-48步進(jìn)電機(jī)工作原理步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)換為角位移的執(zhí)行機(jī)構(gòu),步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)圈數(shù)完全取決于給它脈沖的數(shù)量,它轉(zhuǎn)動(dòng)速度又完全取決于脈沖頻率。只要給步進(jìn)電機(jī)一個(gè)脈沖,就會(huì)驅(qū)動(dòng)電機(jī)在旋轉(zhuǎn)方向上轉(zhuǎn)動(dòng)一個(gè)固定的角度,可以通過(guò)電脈沖個(gè)數(shù)來(lái)控制角偏移量,從而達(dá)到準(zhǔn)確定位的目的,同時(shí)可以通過(guò)控制脈沖頻率,來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。本設(shè)計(jì)選擇28BYJ-48步進(jìn)電機(jī)作為設(shè)計(jì)對(duì)象,其原理圖如3-5所示。圖3-5步進(jìn)電機(jī)接線示意圖在圖中可以看到附在周圍的是定子,在中間的是轉(zhuǎn)子。定子的作用是產(chǎn)生一個(gè)電磁場(chǎng),這個(gè)電磁場(chǎng)和轉(zhuǎn)子的磁場(chǎng)可以產(chǎn)生一個(gè)扭力[9],使得步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。但是定子的電磁場(chǎng)是不能和轉(zhuǎn)子磁場(chǎng)在同一直線的。使步進(jìn)電機(jī)不停轉(zhuǎn)動(dòng)的前提是定子的磁場(chǎng)不停的變換,這個(gè)變換是通過(guò)一次改變繞組的磁場(chǎng),始終是定子和轉(zhuǎn)子的磁場(chǎng)產(chǎn)生錯(cuò)位,促使步進(jìn)電機(jī)的穩(wěn)定轉(zhuǎn)動(dòng)。而改變磁場(chǎng)切換的時(shí)間間隔,就可以控制步進(jìn)電機(jī)的速度了,這就是步進(jìn)電機(jī)的驅(qū)動(dòng)原理。由于單片機(jī)的驅(qū)動(dòng)電流較小,不能直接用來(lái)驅(qū)動(dòng)步進(jìn)電機(jī),優(yōu)勢(shì)不能充分展現(xiàn),所以一般都是使用ULN2003達(dá)林頓陣列驅(qū)動(dòng),可以為步進(jìn)電機(jī)提供較大的扭力,使電機(jī)穩(wěn)定工作。3.3ULN2003芯片概述與特點(diǎn)ULN2003芯片是高耐壓、大電流達(dá)林頓陣列,由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,為單片雙極型大功率高速集成電路[10]。由于步進(jìn)電機(jī)并不是簡(jiǎn)單的轉(zhuǎn)動(dòng),它要帶動(dòng)不同的負(fù)載,完成不同的工作,所以需要產(chǎn)生較大的扭力,又由于直接使用三極管驅(qū)動(dòng)的局限和功率電子電路大多要求具有大電流輸出能力,所以步進(jìn)電機(jī)的驅(qū)動(dòng)一般使用ULN2003。ULN2003芯片高壓大電流達(dá)林頓晶體管陣列產(chǎn)品屬于可控大功率器件功率驅(qū)動(dòng)電路,可控大功率驅(qū)動(dòng)器件驅(qū)動(dòng)電路是功率電子設(shè)備輸出電路的一個(gè)重要組成部分。具體電路圖如圖3-6所示。圖3-6ULN2003接線示意圖ULN2003實(shí)際上只是一個(gè)放大電路,用來(lái)放大電流,對(duì)于實(shí)際的邏輯控制沒有任何作用。如果沒有這個(gè)芯片電機(jī)也會(huì)轉(zhuǎn)動(dòng),只是轉(zhuǎn)動(dòng)的扭力會(huì)受很大影響,制約步進(jìn)電機(jī)的性能。3.4紅外線發(fā)射接收模塊3.4.1紅外線遙控的介紹紅外線是太陽(yáng)光線中眾多不可見光線中的一種,在太陽(yáng)光中就包含著紅外線。由德國(guó)科學(xué)家霍胥爾于1800年發(fā)現(xiàn),又稱為紅外熱輻射。很多人不知道紅外線與紫外線等不可見光線或者紅光等可見光線的產(chǎn)生區(qū)別,它們最大的區(qū)別是波長(zhǎng)不同,波長(zhǎng)是震蕩頻率的結(jié)果。人眼能夠識(shí)別的可見光的種類為紅、橙、黃、綠、青、藍(lán)、紫,波長(zhǎng)是從長(zhǎng)到短排列的。其中紅光的波長(zhǎng)范圍為0.62~0.76um;紫光的波長(zhǎng)范圍為0.38~0.46。比紫光的波長(zhǎng)還要短的光叫紫外線,比紅光的波長(zhǎng)還要長(zhǎng)的光叫紅外線。紅外線遙控技術(shù)就是利用波長(zhǎng)為0.76~1.5μm之間的近紅外線來(lái)傳送控制信號(hào)的。紅外線是我們最常用的一種不可見光線,家用電器的遙控器基本上都是使用紅外線。有一個(gè)很有趣的特點(diǎn),當(dāng)按下遙控器的鍵盤時(shí),我們看不到紅外發(fā)射頭發(fā)出的光線,但是如果我們用照相機(jī)來(lái)對(duì)著紅外發(fā)射頭,按下鍵盤時(shí),在相機(jī)中我們可以觀察到它發(fā)出了亮光。紅外遙控的特點(diǎn)是造價(jià)較低,適合市場(chǎng)的推廣,各類家庭用戶的使用。編解碼較容易,不會(huì)因?yàn)槌绦螂娐返膹?fù)雜性而經(jīng)常出現(xiàn)故障。它由32位碼長(zhǎng),4段碼,通過(guò)用戶碼的不同區(qū)別開了不同產(chǎn)品的不同遙控,以免互相干擾,不影響周邊環(huán)境、不干擾其它電器設(shè)備。還有一個(gè)重要原因,紅外線不會(huì)對(duì)人體造成傷害,發(fā)射接收距離較長(zhǎng),方便用戶使用。一般在10米以內(nèi)可以靈敏接收的。3.4.2紅外通信基本原理通信控制系統(tǒng)大多是由發(fā)射與接收兩部分組成的,紅外通信也不例外。發(fā)射系統(tǒng)對(duì)一個(gè)紅外輻射源進(jìn)行調(diào)制后發(fā)射紅外信號(hào),而接收系統(tǒng)用紅外一體化接收頭進(jìn)行接收,兩者聯(lián)合構(gòu)成了紅外通信系統(tǒng)。紅外通信的基本原理是:發(fā)送端將基帶二進(jìn)制信號(hào)調(diào)制為一系列的脈沖串信號(hào)(載波信號(hào)),通過(guò)紅外發(fā)射管發(fā)射紅外信號(hào)。紅外信號(hào)由接收端轉(zhuǎn)換成電信號(hào),并對(duì)其進(jìn)行放大、濾波等處理,還原成二進(jìn)制數(shù)字信號(hào),并將其輸出。由于各遙控產(chǎn)品的不同,還有很多不同的遙控廠商,必須有一個(gè)通信協(xié)議來(lái)保障不同種類的紅外產(chǎn)品獲得最佳的通信效果。紅外線的波長(zhǎng)在750nm至1mm之間,紅外通信一般采用紅外波段內(nèi)的近紅外線,波長(zhǎng)在0.75um至25um之間。紅外數(shù)據(jù)協(xié)會(huì)將紅外通信協(xié)議定為波長(zhǎng)限定在850nm~900nm范圍之間。紅外線的調(diào)制方法常用的有兩種,一種是通過(guò)脈沖寬度來(lái)實(shí)現(xiàn)信號(hào)調(diào)制的脈寬調(diào)制(PWM),另一種是通過(guò)脈沖串之間的時(shí)間間隔來(lái)實(shí)現(xiàn)信號(hào)調(diào)制的脈沖調(diào)制(PPM)[13]。本設(shè)計(jì)采用脈沖調(diào)制方法,即二進(jìn)制信息由兩個(gè)脈沖的時(shí)間間隔來(lái)表示,首先產(chǎn)生一個(gè)同步頭,然后產(chǎn)生2個(gè)8位用戶碼,接著8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼,如圖3-7所示。0.56ms0.56ms1.125ms2.25ms數(shù)據(jù)0數(shù)據(jù)10.56ms0.56ms1.125ms2.25ms數(shù)據(jù)0數(shù)據(jù)14.5ms4.5ms4.5ms4.5ms引導(dǎo)碼用戶碼用戶碼數(shù)據(jù)碼數(shù)據(jù)反碼數(shù)據(jù)幀結(jié)構(gòu)8位8位8位8位圖3-8數(shù)據(jù)幀結(jié)構(gòu)示意圖由于紅外光存在反射,在全雙工的方式下發(fā)送的信號(hào)也可能會(huì)被本身接收,因此,紅外通信應(yīng)采用異步半雙工方式,即通信的某一方發(fā)送和接收交替進(jìn)行。3.4.3紅外遙控發(fā)射系統(tǒng)紅外遙控系統(tǒng)結(jié)構(gòu)紅外遙控系統(tǒng)主要分為調(diào)制、發(fā)射、接收和解調(diào)四部分,如圖3-9所示。圖3-9紅外遙控系統(tǒng)調(diào)制紅外遙控發(fā)射數(shù)據(jù)時(shí)采用調(diào)制的方式,即把數(shù)據(jù)和一定頻率的載波進(jìn)行“與”操作,這樣可以提高發(fā)射效率和降低電源功耗。調(diào)制載波頻率一般在30kHz到60kHz之間,一般紅外遙控使用的是38kHz,占空比1/3的方波。如圖3-10所示。8.8us8.8us26.4us圖3-10載波波形有很多芯片都可以發(fā)射紅外光,但是對(duì)于遙控的芯片選擇要考慮使用設(shè)備和編碼種類的不同。對(duì)于家用電器的遙控,必須功率要低,這樣電池才可以長(zhǎng)時(shí)間使用,一般都使用可休眠的的發(fā)射芯片,能不按鍵時(shí)遙控處于不工作模式。芯片一般選用的晶振為陶瓷共鳴器,因?yàn)槠溆凶銐虻奈锢碜矒裟芰?,雖然準(zhǔn)確性不如石英晶體,但是通常是可以允許一些誤差的。經(jīng)過(guò)編碼后,要用專用的發(fā)射頭發(fā)射出去。普通的發(fā)光二極管是不能擔(dān)此重任的,因?yàn)樗荒馨l(fā)射出可見光。紅外發(fā)射二極管是專門用來(lái)發(fā)射紅外線的,它的內(nèi)部材料是與普通二極管完全不同的,所以導(dǎo)致了其發(fā)出的是紅外線而不是可見光[12]。聽上去紅外發(fā)射二極管價(jià)格也很便宜,與普通發(fā)光二極管差不多,某些方面也促進(jìn)了紅外通信技術(shù)的發(fā)展。3.4.4紅外遙控接收系統(tǒng)有發(fā)射就要有接收,由于發(fā)射的紅外線有38K的載波,所以一定要先把接收的信號(hào)濾波才行,為了得到準(zhǔn)確的編碼,還要把信號(hào)進(jìn)行放大、積分等。這是一個(gè)復(fù)雜的過(guò)程,也應(yīng)該有復(fù)雜的電路來(lái)處理。隨著科技的發(fā)展,芯片集成能力的不斷提高,這個(gè)看似復(fù)雜的任務(wù)只需要一個(gè)叫做紅外接收頭的電子器件就可以完成工作。常用的紅外接收頭有HX1838,TL1838等,它們的性能、結(jié)構(gòu)基本都是一樣的,可以把38K載波濾掉,并進(jìn)行一定的處理,使中心處理器件接收到準(zhǔn)確的編碼,但需要注意的是它處理后的是原來(lái)編碼的反碼。圖3-11中就是TL1838一體化紅外接收頭,其38就是接收38K載波的意思。圖3-11TL1838實(shí)物圖TL1838如圖3-11所示,從左邊開始,分別為1腳、2腳、3腳,分別為信號(hào)輸出腳、地和電源,其電平與TTL兼容。TL1838系列特性如下:工作電壓:2.7~5.5V工作電流:1.4mA距離:15M頻率:38K角度:±45°波長(zhǎng):940nm當(dāng)TL1838接收到紅外光信號(hào)時(shí),內(nèi)部的PIN紅外接收管將其裝換為電信號(hào),又經(jīng)過(guò)放大電路、解調(diào)電路的作用,由輸出引腳輸出與TTL電平兼容的電信號(hào),該電信號(hào)可以直接送到微處理器中處理。TL1838的輸出波形如圖3-12所示。當(dāng)接收到頻帶內(nèi)的紅外信號(hào)時(shí),TL1838接收器會(huì)輸出低電平,否則數(shù)出高電平,從而“將時(shí)斷時(shí)續(xù)”的紅外信號(hào)解調(diào)成原來(lái)的連續(xù)方波信號(hào)。需要注意的一點(diǎn)是,它并沒有把紅外信號(hào)解碼,因?yàn)樗幚砗蟀l(fā)出的信號(hào)不是標(biāo)準(zhǔn)的1、0高低電平。不管是1還是0,都包含著高低電平,只是高低電平所持續(xù)的時(shí)間是不同的,這需要單片機(jī)自己通過(guò)程序來(lái)判斷了。低電平高電平圖3-12(a)已調(diào)制紅外信號(hào)(b)TL1838低電平高電平TL1838的有效傳輸距離是15m,它的工作電壓為2.7~5.5V,接收穩(wěn)定,功率小,在各種紅外接收?qǐng)龊系目梢允褂?。TL1838由于它的穩(wěn)定性能,低廉的價(jià)格,是一款性價(jià)比很高的紅外一體化接收頭[13]。3.4.5TL1838與單片機(jī)的接口本設(shè)計(jì)的紅外遙控系統(tǒng)是將普通遙控器解碼,把它的32位碼寫進(jìn)單片機(jī)程序中,使得可以通過(guò)對(duì)遙控器鍵盤的控制,單片機(jī)可以得到相對(duì)指令。其連接線電路如圖3-13所示。圖3-13遙控的接收頭的連線把其輸出端接單片機(jī)的外部中斷0,每當(dāng)遙控器發(fā)出信號(hào)時(shí)都會(huì)觸發(fā)單片機(jī)外部中斷,這時(shí)再觸發(fā)單片機(jī)的定時(shí)中斷對(duì)其發(fā)出的信號(hào)進(jìn)行鑒定,以檢測(cè)出其碼位。3.512864顯示模塊3.5.112864液晶的特點(diǎn)現(xiàn)在的字符型液晶模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。12864型液晶顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。設(shè)計(jì)中用到的就是這種顯示屏。其實(shí)物圖如圖3-14所示。圖3-1412864實(shí)物圖12864型液晶顯示屏共有20個(gè)引腳,其中有8位數(shù)據(jù)總線D0~D7,5個(gè)控制引腳R/W、E、RS、PSB、RST,5個(gè)電源引腳,其中包括背光電源和顯示器電源。三個(gè)用于調(diào)節(jié)背景亮度和字符亮度以及供電的引腳。12864型液晶是利用液晶經(jīng)過(guò)處理后能夠改變光線傳輸方向的特性,達(dá)到顯示字符或圖形的目的。它由點(diǎn)陣字符顯示器件和專用的行和列驅(qū)動(dòng)器組成,體積小、功耗極低、顯示內(nèi)容豐富。可以通過(guò)對(duì)外圍電路的調(diào)節(jié)來(lái)控制屏幕亮度,工作電壓為5V。本設(shè)計(jì)使用的液晶使用ST7920控制器,5V電壓驅(qū)動(dòng),帶背光,內(nèi)置8192個(gè)16*16點(diǎn)陣、128個(gè)字符(8*16點(diǎn)陣)及64*256點(diǎn)陣顯示RAM。與外部CPU接口采用并行或串行兩種控制方式。3.5.212864液晶的引腳說(shuō)明12864液晶有多種驅(qū)動(dòng)芯片,雖然驅(qū)動(dòng)芯片有很多種,但原理基本相同。本次設(shè)計(jì)采用驅(qū)動(dòng)芯片為ST7920的12864液晶對(duì)步進(jìn)電機(jī)工作狀態(tài)進(jìn)行顯示,其引腳分布圖如圖3-15所示。圖3-1512864液晶管腳圖12864液晶管腳及其功能描述,如表3-2所示:表3-212864管腳說(shuō)明管腳號(hào)管腳名稱電平管腳功能描述1VSS0V電源地2VCC3~5V電源正3V0—對(duì)比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7—DB0為顯示數(shù)據(jù)RS=“L”,表示DB7—DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7—DB0R/W=“L”,E=“H→L”,DB7—DB0的數(shù)據(jù)被寫到R或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式16NC—空腳17RESETH/L復(fù)位端,低電平有效18VOUT—LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端20KVSS背光源負(fù)端在對(duì)液晶模塊進(jìn)行操作時(shí),其忙標(biāo)志位(BF)提供內(nèi)部工作情況,BF=1表示模塊在進(jìn)行內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù)。BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可以接受外部指令和數(shù)據(jù)[14]。原則上每次對(duì)控制器進(jìn)行讀/寫操作之前,都必須進(jìn)行讀/寫檢測(cè)。實(shí)際上,由于單片機(jī)的操作速度低于液晶控制器的反應(yīng)速度,因此可不必進(jìn)行讀/寫檢測(cè),或只進(jìn)行簡(jiǎn)短的延時(shí)即可。3.5.312864液晶的讀寫操作12864與外部CPU接口有并行或串行兩種控制方式,由于本設(shè)計(jì)采用的是并行讀寫模式,所以主要介紹并行控制方式。讀狀態(tài)的操作時(shí)序?yàn)镽S=L,R/W=H,E=H;讀數(shù)據(jù)操作時(shí)序?yàn)镽S=H,R/W=H,E=H;時(shí)序圖如圖3-16所示。圖3-1612864液晶的讀時(shí)序?qū)懼噶畹牟僮髦噶顬镽S=L,R/W=L,E=高脈沖脈沖,DB0~DB7=指令碼。寫數(shù)據(jù)的操作指令為RS=H,R/W=L,E=高脈沖,DB0~DB7=數(shù)據(jù)[14],時(shí)序圖如3-17所示。圖3-1712864液晶的寫時(shí)序12864液晶是一種可以讀數(shù)據(jù)和存數(shù)據(jù)的器件。由于設(shè)計(jì)中只用到了些操作,所以要著重說(shuō)明寫操作的方法。E端為使能端,R/W來(lái)區(qū)分讀和寫,RS來(lái)控制數(shù)據(jù)還是指令,時(shí)序的協(xié)調(diào)性非常重要。3.5.412864液晶的控制指令12864共有18條控制指令,來(lái)對(duì)顯示器寫狀態(tài)?,F(xiàn)在詳細(xì)分析液晶的顯示集。(1)清除顯示CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:清除顯示屏幕,把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”。(2)位址歸位CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能:把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM。(3)位址歸位CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS功能:把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM(4)顯示狀態(tài)開/關(guān)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB功能:D=1;整體顯示ONC=1;游標(biāo)ONB=1;游標(biāo)位置ON(5)游標(biāo)或顯示移位控制CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能:設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位:這個(gè)指令并不改變DDRAM的內(nèi)容。(6)功能設(shè)定CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLX0REXX功能:DL=1(必須設(shè)為1)RE=1;擴(kuò)充指令集動(dòng)作RE=0:基本指令集動(dòng)作。(7)設(shè)定CGRAM位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:設(shè)定CGRAM位址到位址計(jì)數(shù)器(AC)。(8)設(shè)定DDRAM位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:設(shè)定DDRAM位址到位址計(jì)數(shù)器(AC)。(9)讀取忙碌狀態(tài)(BF)和位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能:讀取忙碌狀態(tài)(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出位址計(jì)數(shù)器(AC)的值。(10)寫資料到RAMCODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:寫入資料到內(nèi)部的RAM(DDRAM/CGRAM/TRAM/GDRAM)。(11)讀出RAM的值CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能:從內(nèi)部RAM讀取資料(DDRAM/CGRAM/TRAM/GDRAM)。(12)待命模式(12H)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:進(jìn)入待命模式,執(zhí)行其他命令都可終止待命模式。(13)卷動(dòng)位址或IRAM位址選擇(13H)CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHSR功能:SR=1;允許輸入卷動(dòng)位址SR=0;允許輸入IRAM位址。(14)反白選擇(14H)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHR1R0功能:選擇4行中的任一行作反白顯示,并可決定反白的與否。(15)睡眠模式(015H)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHSLXX功能:SL=1;脫離睡眠模式SL=0;進(jìn)入睡眠模式。(16)擴(kuò)充功能設(shè)定(016H)CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHX1REGL功能:RE=1;擴(kuò)充指令集動(dòng)作RE=0;基本指令集動(dòng)作G=1;繪圖顯示ONG=0;繪圖顯示OFF。(17)設(shè)定IRAM位址或卷動(dòng)位址(017H)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:SR=1;AC5~AC0為垂直卷動(dòng)位址SR=0;AC3~AC0寫ICONRAM位址。(18)設(shè)定繪圖RAM位址(018H)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:設(shè)定GDRAM位址到位址計(jì)數(shù)器(AC)。3.5.512864液晶接口電路本設(shè)計(jì)中顯示器顯示出電機(jī)的轉(zhuǎn)動(dòng)狀態(tài),正轉(zhuǎn)、反轉(zhuǎn)、速度等顯示內(nèi)容。本設(shè)計(jì)的液晶電路如圖3-18所示。圖3-18LCD連接電路圖此電路是液晶的驅(qū)動(dòng)電路,使液晶顯示電機(jī)狀態(tài),單片機(jī)的P1口為數(shù)據(jù)接口,P3.5及P3.6控制液晶的命令與數(shù)據(jù)傳輸。滑動(dòng)電阻器用來(lái)控制液晶的亮度。3.6蜂鳴器模塊3.6.1蜂鳴器介紹蜂鳴器是一種常見的一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,在計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中廣泛應(yīng)用。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示[15]。3.6.2蜂鳴器的接口電路蜂鳴器有無(wú)源蜂鳴器和有源蜂鳴器之分。有源蜂鳴器在接通接通電源后,內(nèi)部振蕩器產(chǎn)生的音頻信號(hào)電流通過(guò)電磁線圈,產(chǎn)生震蕩,使蜂鳴器周期性發(fā)聲。無(wú)源蜂鳴器需要通過(guò)外接信號(hào)震蕩,從而使蜂鳴器發(fā)聲。設(shè)計(jì)中使用的是無(wú)源揚(yáng)聲器,所以必須由單片機(jī)供給震蕩信號(hào)。其連接電路如圖3-19所示。圖3-19蜂鳴器連接電路圖由于設(shè)計(jì)所用的是無(wú)源蜂鳴器,接PNP三極管以放大電流,單片機(jī)P0.0口用來(lái)發(fā)出脈沖以驅(qū)動(dòng)蜂鳴器,每當(dāng)按下遙控器的鍵盤時(shí)蜂鳴器都會(huì)發(fā)出聲音。4軟件設(shè)計(jì)與調(diào)試4.1主程序流程圖通過(guò)在遙控器上的指令輸入,發(fā)出紅外信號(hào),設(shè)計(jì)中的TL1838接收到紅外信號(hào)濾波并處理傳送給單片機(jī),單片機(jī)對(duì)所得到的信號(hào)進(jìn)行解碼,以判斷所得命令的用意,來(lái)控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)以及顯示器的顯示。主程序流程圖如4-1所示。開始開始主程序輸入主程序輸入初始化初始化LCD顯示LCD顯示W(wǎng)hile循環(huán)While循環(huán)是否觸發(fā)外部中斷0定時(shí)器1是否中斷是否觸發(fā)外部中斷0定時(shí)器1是否中斷否否產(chǎn)生脈沖驅(qū)動(dòng)電機(jī)是是產(chǎn)生脈沖驅(qū)動(dòng)電機(jī)遙控解碼驅(qū)動(dòng)蜂鳴器遙控解碼驅(qū)動(dòng)蜂鳴器改變電機(jī)轉(zhuǎn)動(dòng)狀態(tài)及相應(yīng)顯示改變電機(jī)轉(zhuǎn)動(dòng)狀態(tài)及相應(yīng)顯示完畢結(jié)束結(jié)束圖4-1主程序流程圖設(shè)計(jì)中的程序主要是由中斷函數(shù)來(lái)主宰。主要用了外部中斷1,定時(shí)中斷2,而主函數(shù)主要用來(lái)初始化和等待中斷。當(dāng)收到外部中斷0的觸發(fā)時(shí),證明遙控器已發(fā)射信號(hào)需要解碼,定時(shí)器2產(chǎn)生中斷時(shí)來(lái)供給步進(jìn)電機(jī)脈沖。4.2程序設(shè)計(jì)思路本設(shè)計(jì)的程序設(shè)計(jì)包括遙控的解碼,顯示屏的顯示及步進(jìn)電機(jī)的驅(qū)動(dòng)。其中遙控發(fā)出的碼位通過(guò)TL1838接收由單片機(jī)中程序解碼并依此來(lái)控制步進(jìn)電機(jī)及顯示屏。4.2.1遙控器的解碼遙控器具有發(fā)射指令作用,由于本設(shè)計(jì)所用遙控器是任意電視遙控,其載頻為38KHZ,所以需將遙控器的所有用到鍵位解碼,得到相應(yīng)鍵位編碼后,將其鍵位編碼放到單片機(jī)程序中,當(dāng)遙控器向TL1838發(fā)射時(shí),單片機(jī)又對(duì)其解碼,如果其編碼與單片機(jī)所存編碼相同時(shí)即認(rèn)定此為用戶要發(fā)的命令,執(zhí)行這個(gè)命令來(lái)控制顯示器及步進(jìn)電機(jī)。由上所述,遙控器的解碼很重要。遙控器發(fā)射32位碼,當(dāng)我想要知道其所用的鍵的編碼時(shí),必須編一個(gè)程序可以顯示相應(yīng)的鍵的編碼。將TL1838連接到單片機(jī)的外部中斷0口,當(dāng)接受到所發(fā)信息后,TL1838會(huì)首先去掉其38K的載頻,以此得到真正要發(fā)射的信息。由于發(fā)射的信息是二進(jìn)制碼,所以只包含1和0,又因?yàn)榘l(fā)射的1和0都包括高電平和低電平,只是其高低電平的時(shí)間不同,所以當(dāng)外部中斷采用脈沖觸發(fā)時(shí),每個(gè)碼都會(huì)觸發(fā)外部中斷,當(dāng)觸發(fā)外部中斷時(shí),立刻開啟定時(shí)器定時(shí),以此判斷1和0,同時(shí)把其編碼發(fā)送到顯示器上并記錄,然后寫到本設(shè)計(jì)的程序中。在本設(shè)計(jì)中,識(shí)別遙控器的編碼的程序思路與上面所述是相同的,只是設(shè)計(jì)中將其編碼進(jìn)行比較來(lái)判斷。4.2.2步進(jìn)電機(jī)的控制在本設(shè)計(jì)中,當(dāng)單片機(jī)發(fā)送一組步進(jìn)電機(jī)識(shí)別的編碼脈沖時(shí),步進(jìn)電機(jī)就會(huì)轉(zhuǎn)動(dòng)。所以在程序中,將其脈沖編碼放在數(shù)組中,以供程序調(diào)用并控制電機(jī)。此脈沖編碼共有8個(gè)狀態(tài),正反轉(zhuǎn)是相同的只是其調(diào)用書序相反,需要注意的是調(diào)用時(shí)編碼必須按順序,其編碼表為0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09。當(dāng)發(fā)送完這一串編碼后,步進(jìn)電機(jī)只轉(zhuǎn)動(dòng)45度,所以要轉(zhuǎn)動(dòng)一圈,需要調(diào)用8次,也就是說(shuō),轉(zhuǎn)動(dòng)一圈需要64個(gè)脈沖。要控制步進(jìn)電機(jī)的速度,只需在每次發(fā)完編碼表一次后,延時(shí)。步進(jìn)電機(jī)的優(yōu)點(diǎn)就是轉(zhuǎn)動(dòng)角位移準(zhǔn)確,所以設(shè)計(jì)中用定時(shí)器發(fā)送脈沖,這樣可以得到非常準(zhǔn)確的轉(zhuǎn)動(dòng)速度。設(shè)計(jì)中,用P2口發(fā)送脈沖編碼,即把脈沖編碼一個(gè)一個(gè)的通過(guò)P2口發(fā)送給步進(jìn)電機(jī)。而此動(dòng)作放在定時(shí)中斷中,每次中斷傳送一個(gè)編碼,這樣步進(jìn)電機(jī)優(yōu)化了普通延時(shí)程序的不穩(wěn)定、不準(zhǔn)確等問(wèn)題。4.2.3顯示屏的控制12864液晶是一種帶存貯功能的器件,有4個(gè)顯示行,每行可顯示8個(gè)漢字、16個(gè)英文字符,一共有20個(gè)引腳,帶有背光燈,亮度可以調(diào)節(jié)。在控制顯示屏的顯示時(shí),分為命令和數(shù)據(jù)的控制。無(wú)論是數(shù)據(jù)控制還是命令控制,都需要向顯示器的數(shù)據(jù)口中寫數(shù)據(jù),此數(shù)據(jù)口為8位,在本設(shè)計(jì)中用單片機(jī)的P1口來(lái)傳輸。而寫數(shù)據(jù)和寫命令控制上的區(qū)別是RS和E引腳。寫命令時(shí)控制方法是,RS置為0,E置為0,將要寫命令通過(guò)數(shù)據(jù)口用單片機(jī)傳輸,然后將E置為1,即把命令寫入顯示器中。寫數(shù)據(jù)時(shí)先將RS置為1,E置為0,將要寫數(shù)據(jù)通過(guò)數(shù)據(jù)口用單片機(jī)傳輸,然后將E職位1,即把數(shù)據(jù)寫入顯示器中。寫命令和寫數(shù)據(jù)是相互配合使用的。寫命令是控制顯示器的顯示格式、顯示位置、清屏、光標(biāo)設(shè)置等,只有指定了上述的命令,才可以寫數(shù)據(jù)寫到自己滿意的地方。寫數(shù)據(jù)就是寫命令之后把自己要顯示的內(nèi)容寫到顯示器中。4.2.4蜂鳴器的控制設(shè)計(jì)中揚(yáng)聲器用的是無(wú)源蜂鳴器,用來(lái)指示遙控按鍵后單片機(jī)是否解碼成功。無(wú)源蜂鳴器的聲音往往大于有源蜂鳴器,所以本設(shè)計(jì)選用了無(wú)源蜂鳴器。無(wú)源蜂鳴器和有源蜂鳴器程序上控制的區(qū)別在于有源蜂鳴器給正5V電壓即可發(fā)出聲音。而無(wú)源蜂鳴器必須有震蕩,所以要發(fā)送高頻脈沖。為了方便,設(shè)計(jì)中直接用延時(shí)函數(shù)并且0與1不停的連續(xù)發(fā)送。4.2.5模塊中的通信依前面所述,各模塊都可以單獨(dú)工作,但是要稱為一個(gè)整體,就必須找到一個(gè)模塊之間通信的方法。本設(shè)計(jì)用的是控制變量的方式來(lái)協(xié)調(diào)各模塊的工作。當(dāng)遙控器發(fā)出命令后,TL1838接收并傳送到單片機(jī)中,單片機(jī)接收并解碼,判斷所發(fā)出命令。設(shè)置一個(gè)變量num,不同的遙控器按鍵給num不同的數(shù)值。通過(guò)這個(gè)num的數(shù)值,傳遞給步進(jìn)電機(jī)和顯示屏。在步進(jìn)電機(jī)和顯示屏中都用條件語(yǔ)句,來(lái)判斷num的值并響應(yīng)不同的動(dòng)作。程序運(yùn)行初始化以后即進(jìn)入While循環(huán)中,這是一個(gè)死循環(huán)。死循環(huán)的作用是等待,等待定時(shí)器1的中斷,等待外部中斷0的中斷。其中設(shè)置定時(shí)器1的中斷優(yōu)先級(jí)高于外部中斷0。把解碼程序放入外部中斷0中,驅(qū)動(dòng)電機(jī)的程序放入定時(shí)器1中斷中,再通過(guò)對(duì)變量的賦值的判斷,即可完成整個(gè)設(shè)計(jì)的不同模塊之間的通信。5編程與下載軟件單片機(jī)的正常運(yùn)行需要程序的支持,一般使用匯編語(yǔ)言或C語(yǔ)言的編程,編譯鏈接成.hex文件并下載到單片機(jī)中。Keil軟件為用戶提供了程序編輯、編譯、鏈接、調(diào)試等功能,為用戶提供一套完整的程序開發(fā)環(huán)境。但是keil生成的.hex文件必須依靠STC-ISP軟件才能下載到STC89C52中。下面介紹Keil和STC-ISP的特點(diǎn)及使用方法。5.1Keil軟件隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)[16]。應(yīng)用Keil進(jìn)行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存——建立工程并添加源文件——設(shè)置工程——編譯/匯編、連接,產(chǎn)生目標(biāo)文件——程序調(diào)試。Keil使用“工程”(Project)的概念,對(duì)工程(而不能對(duì)單一的源程序)進(jìn)行編譯/匯編、連接等操作。工程的建立、設(shè)置、編譯/匯編及連接產(chǎn)生目標(biāo)文件的方法非常易于掌握。首先選擇菜單File/New,在源程序編輯器中輸入?yún)R編語(yǔ)言或C語(yǔ)言源程序(或選擇File/Open,直接打開已用其它編輯器編輯好的源程序文檔)并保存,注意保存時(shí)必須在文件名后加上擴(kuò)展名.asm或.c;然后選擇菜單Project/NewProject,建立新工程并保存;工程保存后會(huì)立即彈出一個(gè)設(shè)備選擇對(duì)話框,選擇CPU后點(diǎn)確定返回主界面。這時(shí)工程管理窗口的文件頁(yè)(Files)會(huì)出現(xiàn)“Target1”,將其前面“+”號(hào)展開,接著選擇SourceGroup1,右擊鼠標(biāo)彈出快捷菜單,選擇AddFiletoGroup/SourceGroup1,出現(xiàn)一個(gè)對(duì)話框,要求尋找并加入源文件(在加入一個(gè)源文件后,該對(duì)話框不會(huì)消失,而是等待繼續(xù)加入其它文件)。加入文件后點(diǎn)“close”返回主界面,展開“SourceGroup1”前面“+”號(hào),就會(huì)看到所加入的文件,雙擊文件名,即可打開該源程序文件。緊接著對(duì)工程進(jìn)行設(shè)置,選擇工程管理窗口的Target1,再選擇Project/OptionforTarget“Target1”(或點(diǎn)右鍵彈出快捷菜單再選擇該選項(xiàng)),打開工程屬性設(shè)置對(duì)話框,共有8個(gè)選項(xiàng)卡,主要設(shè)置工作包括在Target選項(xiàng)卡中設(shè)置晶振頻率、在Debug選項(xiàng)卡中設(shè)置實(shí)驗(yàn)仿真板等,在Output選項(xiàng)卡中選中“CreateHexFile”;其它選項(xiàng)卡內(nèi)容一般可取默認(rèn)值。工程設(shè)置后按F7鍵(或點(diǎn)擊編譯工具欄上相應(yīng)圖標(biāo))進(jìn)行編譯/匯編、連接以及產(chǎn)生目標(biāo)文件。KeilC51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。5.2STC-ISP下載軟件STC-ISP是一款單片機(jī)下載編程燒錄軟件,是針對(duì)STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機(jī),使用簡(jiǎn)便,現(xiàn)已被廣泛使用。下載步驟:(1)選擇MCU類型:STC89C52RC;(2)選擇串口及波特率;(3)打開編譯好的.HEX文件;(4)點(diǎn)擊“Download/下載”按鈕,給單片機(jī)上電,消息框提示握手成功,幾秒種后程序下載完畢,單片機(jī)自動(dòng)開始運(yùn)行下載的程序。軟件界面如圖5-1所示。圖5-1軟件界面
6硬件電路制作本次論文設(shè)計(jì)的原理圖繪制和PCB制作所采用的軟件是AltiumDesigner10PCB線路設(shè)計(jì)系統(tǒng)。AltiumDesigner10作為從Protel系列發(fā)展起來(lái)的新一代辦卡機(jī)設(shè)計(jì)軟件,以windowsXp界面風(fēng)格為主,同時(shí),AltiumDesigner10獨(dú)一無(wú)二的DXP技術(shù)集成平臺(tái)也為設(shè)計(jì)系統(tǒng)提供了所有工具和編輯器的相容環(huán)境[17]。AltiumDesigner10是一套完整的板卡級(jí)設(shè)計(jì)系統(tǒng),真正的實(shí)現(xiàn)了在單個(gè)應(yīng)用程序中的集成。該設(shè)計(jì)系統(tǒng)的目的就是為了支持整個(gè)設(shè)計(jì)過(guò)程。AltiumDesigner10具有可靠的穩(wěn)定性,增強(qiáng)的圖形功能和超強(qiáng)的用戶界面,設(shè)計(jì)者可以選擇最適當(dāng)?shù)脑O(shè)計(jì)途徑,以最優(yōu)化的方式工作。6.1原理圖的繪制(1)創(chuàng)建一個(gè)新的項(xiàng)目文件依此執(zhí)行FileNewProjectPCBProject命令新建一個(gè)PCB項(xiàng)目。保存后新建原理圖文件,依次執(zhí)行FileNewSchematic即可創(chuàng)建。(2)加載元件庫(kù)在電路圖放置元件之前,必須先加載庫(kù)文件。執(zhí)行主菜單的DESIGN|ADDREMOVELIBRARY命令或單擊左側(cè)設(shè)計(jì)管理器的ADD|REMOVE按鈕。(3)繪制電路圖放置元件、繪制導(dǎo)線、放置電源部件、放置電氣連接點(diǎn)、放置文字標(biāo)注。(4)修改元件參數(shù)(5)保存原理圖6.2電路實(shí)現(xiàn)的基本步驟(1)單片機(jī)方案設(shè)計(jì)。把所要完成的設(shè)計(jì)分成幾個(gè)模塊,確定各模塊的功能,編輯程序并調(diào)試。最好可以用Proteus軟件進(jìn)行仿真,雖然并不能代表實(shí)際電路的運(yùn)行結(jié)果,但是如果仿真通不過(guò),是很難在具體電路中實(shí)現(xiàn)的。(2)電路原理圖:利用電路設(shè)計(jì)軟件,將方案用標(biāo)準(zhǔn)的電路原理圖表示,為電路板圖的生成提供依據(jù)。在設(shè)計(jì)電路原理圖時(shí),必須規(guī)劃好每一模塊的功能,考慮到輸入、輸出之間的隔離以免產(chǎn)生干擾。因?yàn)樵韴D是制板的依據(jù),對(duì)于正確的電路焊接起著關(guān)鍵性作用。本系統(tǒng)的原理圖繪制和PCB繪制都是在Altiumdesigner10中完成。(3)制板:根據(jù)電路原理圖,網(wǎng)上買元器件進(jìn)行焊接。焊接時(shí)需要注意元器件的引腳不要太長(zhǎng),否則將影響電路的穩(wěn)定性,尤其是晶振的引腳,如果過(guò)長(zhǎng)會(huì)使晶振不起振。錫點(diǎn)也不能過(guò)大,有可能給電路帶來(lái)很嚴(yán)重的隱患。當(dāng)進(jìn)行焊接時(shí),由于電烙鐵的溫度很高,焊接過(guò)程中動(dòng)作要迅速,否則會(huì)損壞元器件。(4)程序的燒錄和調(diào)試。調(diào)試是一個(gè)很麻煩的過(guò)程,一件復(fù)雜的設(shè)計(jì)調(diào)試更為復(fù)雜,要學(xué)會(huì)各種仿真與調(diào)試的方式,在編輯環(huán)境中要學(xué)會(huì)使用斷點(diǎn)、單步等調(diào)試方法。硬件電路實(shí)物圖如圖6-1所示。圖圖6-1硬件電路實(shí)物圖圖6-1包括了本次設(shè)計(jì)用到的所有模塊與芯片:電源插頭一個(gè),電源線一根,遙控器一個(gè),TL1838一個(gè),12864顯示屏,STC89C52單片機(jī)一個(gè),步進(jìn)電機(jī),ULN2003芯片,晶振一個(gè),4.7K電阻若干,杜邦線若干。設(shè)計(jì)正常運(yùn)行后,顯示屏的運(yùn)行狀態(tài)如圖6-2所示。圖6-2液晶屏的顯示液晶屏的第一行顯示“步進(jìn)電機(jī)控制系統(tǒng)”,第二行顯示速度,第三行顯示速度檔位,最后一行顯示速度方向。設(shè)計(jì)正常運(yùn)行后,步進(jìn)電機(jī)的運(yùn)行狀態(tài)如圖6-3所示。圖6-3液晶屏的顯示正常運(yùn)行后步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度非常穩(wěn)定,嚴(yán)格依據(jù)脈沖速率來(lái)轉(zhuǎn)動(dòng)。轉(zhuǎn)動(dòng)時(shí)有三個(gè)檔位,兩個(gè)轉(zhuǎn)動(dòng)方向。7結(jié)論在本設(shè)計(jì)過(guò)程中,完成了基于單片機(jī)的步進(jìn)電機(jī)的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。通過(guò)這次實(shí)踐,了解了電子設(shè)計(jì)的實(shí)現(xiàn)過(guò)程,并且學(xué)到了很多沒接觸過(guò)的知識(shí)。在設(shè)計(jì)過(guò)程中,翻閱了大量書籍,也通過(guò)網(wǎng)上的許多資料,掌握了單片機(jī)的設(shè)計(jì)方法,加強(qiáng)了動(dòng)手能力。在這次實(shí)踐中,不僅豐富了我的知識(shí)還開闊了我的視野。在設(shè)計(jì)過(guò)程中,我了解到電子設(shè)計(jì)需要細(xì)心,耐心,上進(jìn)心。要通過(guò)自己的努力與毅力不斷的完善設(shè)計(jì)。對(duì)于電路的焊接與設(shè)計(jì),一定要細(xì)心,一點(diǎn)小錯(cuò)誤都會(huì)導(dǎo)致系統(tǒng)的癱瘓。在程序的編寫上,要耐心,對(duì)每個(gè)模塊都要設(shè)計(jì)周到,盡量做到最好。最讓人無(wú)奈的是系統(tǒng)的調(diào)試,一些無(wú)理由的錯(cuò)誤讓人非常無(wú)奈,自己的想法和設(shè)計(jì)的結(jié)果不相對(duì)應(yīng)時(shí),自己是無(wú)助的。所以向老師與同學(xué)求助非常重要,通過(guò)他們寶貴的建議不斷完善自己的作品。與此同時(shí),我了解到單片機(jī)是學(xué)習(xí)一切微處理器的基礎(chǔ),它雖然在當(dāng)今應(yīng)用沒有明顯優(yōu)勢(shì),但重要的是它可以作為我們學(xué)習(xí)更強(qiáng)大處理器的必不可少的跳板。在學(xué)習(xí)單片機(jī)時(shí),Proteus仿真軟件也是非常重要的,它可以為自己節(jié)約大量的時(shí)間。對(duì)于一項(xiàng)不錯(cuò)的電子設(shè)計(jì),電路圖是必不可少的,現(xiàn)在比較厲害的電路圖軟件是Protel系列和Altium系列。對(duì)于本次設(shè)計(jì)用的軟件是AltiumDesigner10,是一款從Protel系列升級(jí)的板卡級(jí)繪圖軟件。本次設(shè)計(jì)依然存在著很多不足,比如程序響應(yīng)速度不夠快,有時(shí)會(huì)亂碼等,需要更深一層次的學(xué)習(xí)。我將會(huì)不斷的努力,從書本、網(wǎng)絡(luò)上吸取精華,通過(guò)自己的實(shí)踐,努力使自己成為可以為社會(huì)做出貢獻(xiàn)的人。謝辭寫到這里,畢設(shè)論文差不多已至尾聲;白駒過(guò)隙,我四年的大學(xué)生活也將敲響結(jié)束的鐘聲。分手在即,站在人生的又一個(gè)轉(zhuǎn)折點(diǎn),我需要感激的很多。在畢設(shè)期間,王志秦老師不辭辛勞地在資料收集、設(shè)計(jì)構(gòu)思的過(guò)程中多次給我指點(diǎn),而且在硬件電路的搭建過(guò)程中也屢屢給了我?guī)椭@蠋煖睾陀H切的性格和細(xì)心踏實(shí)的風(fēng)格都給了我很多積極地影響。我親愛的父母,大學(xué)四年來(lái)與我一起學(xué)習(xí)的同學(xué)、師長(zhǎng)、朋友們?cè)趯W(xué)習(xí)生活中給予了我許多幫助,是他們教會(huì)了我專業(yè)知識(shí),教會(huì)了我怎樣學(xué)習(xí),教會(huì)了我怎樣做人。在此,我要對(duì)我的指導(dǎo)師表以深深的感謝,感謝其對(duì)我的耐心教導(dǎo),親切關(guān)懷,熱情鼓勵(lì)。感謝楊金泉老師在畢設(shè)硬件上給予我莫大的幫助。感謝柳延領(lǐng)老師給我們提供實(shí)驗(yàn)室這一良好的畢設(shè)環(huán)境。衷心感謝同學(xué)、師長(zhǎng)、朋友們陪我度過(guò)四年的快樂時(shí)光。感謝的話說(shuō)也說(shuō)不完,但再多的話也不夠表達(dá)我對(duì)大家最誠(chéng)摯的感激與動(dòng)情!感謝我遇到的每一個(gè)人,是他們一直幫助我成熟,幫助我成長(zhǎng),也一直見證我的成熟和我的成長(zhǎng),謝謝。即將踏入社會(huì),你們帶給我的每一次的感動(dòng)和歡笑都會(huì)是我最美好的財(cái)富,感謝我迄今為止遇到的每一個(gè)人,謝謝!
參考文獻(xiàn)[1]劉志永.淺析步進(jìn)電機(jī)的PLC控制技術(shù)與發(fā)展趨勢(shì)[J].科技資訊,2006,(27)[2]朱宇,王偉.步進(jìn)電動(dòng)機(jī)的應(yīng)用[M].西安微電機(jī)研究所,2005.2[3]李群芳.單片機(jī)原理接口及應(yīng)用—嵌入式系統(tǒng)技術(shù)基礎(chǔ).清華大學(xué)出版社.2005,33-35[4]夏易路.單片機(jī)技術(shù)基礎(chǔ)教程與實(shí)現(xiàn).[M].北京:電子工業(yè)出版社.2008,1:152-164[5]趙德安.單片機(jī)原理與應(yīng)用(第二版)[J].機(jī)械工業(yè)出版社,2009.04[6]I.ScottMackKenzie.STC89C52RCDataSheet[M].USA.Prentice-Hall.Inc,1995.04[7]張毅剛,彭喜元.單片機(jī)原理與應(yīng)用設(shè)計(jì)[J].電子工業(yè)出版社,2010.08[8]華大龍,楊曄,潘漢懷.步進(jìn)電動(dòng)機(jī)原理及其驅(qū)動(dòng)電路研究[J].電子工業(yè)出版社,2009.07[9]楊宜民.新型驅(qū)動(dòng)器及其應(yīng)用[M].機(jī)械工業(yè)出版社,1997.01[10]孫平,邢軍.PLC控制步進(jìn)電機(jī)驅(qū)動(dòng)系統(tǒng)[J].河南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2001,(4).[11]邱玉春,李文俊.單片機(jī)系統(tǒng)中的紅外通信接口[J].電子產(chǎn)品世界.2000[12]Mark1.Montrose.PRINTEDCircuitBoardDesignTechniquesforEMCcompliance.IEEPressseries,2000,12[13]劉同法,陳忠平等.單片機(jī)外圍接口電路與工程實(shí)踐[M].航天航空大學(xué).2009,3:299-310郭天祥[15]李群芳,肖看.單片機(jī)原理、接口及應(yīng)用[M].北京:清華大學(xué)出版社,2005.3[16]王為青,程國(guó)鋼.單片機(jī)KeilCx51應(yīng)用開發(fā)技術(shù).人民郵電出版社.2006,12:197-202[17]王淵峰,戴旭輝.AltiumDesigner10電路設(shè)計(jì)標(biāo)準(zhǔn)教程[M].科學(xué)出版社.2012.01
附錄附錄一硬件原理圖附錄二程序/*#include<reg52.h> #include<intrins.h>/*端口定義及數(shù)據(jù)類型定義*/ #defineuintunsignedint #defineucharunsignedchar #defineDataPortP1sbitRS=P3^0;//寄存器選擇輸入sbitRW=P3^1;//液晶讀/寫控制sbitE=P3^3;//液晶使能控制sbitPSB=P3^4; sbitI
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《客戶跟蹤技巧》課件
- 《chapter固定資產(chǎn)》課件
- 《肩關(guān)節(jié)鏡簡(jiǎn)介》課件
- 單位管理制度合并選集【人事管理篇】
- 2024第八屆全國(guó)職工職業(yè)技能大賽(網(wǎng)約配送員)網(wǎng)上練兵考試題庫(kù)-中(多選題)
- 單位管理制度分享匯編人事管理篇
- 單位管理制度分享大全人力資源管理篇十篇
- 單位管理制度范例選集人力資源管理篇十篇
- 單位管理制度呈現(xiàn)合集人事管理十篇
- 《電子欺騙》課件
- 《馬克思主義基本原理》學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 期末測(cè)試卷(試題)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 《旅游大數(shù)據(jù)》-課程教學(xué)大綱
- 工藝以及質(zhì)量保證措施,工程實(shí)施的重點(diǎn)、難點(diǎn)分析和解決方案
- 七年級(jí)上冊(cè)道德與法治第1-4單元共4個(gè)單元復(fù)習(xí)教學(xué)設(shè)計(jì)
- SY-T 5412-2023 下套管作業(yè)規(guī)程
- 四色安全風(fēng)險(xiǎn)空間分布圖設(shè)計(jì)原則和要求
- 八年級(jí)化學(xué)下冊(cè)期末試卷及答案【完整版】
- 合伙人散伙分家協(xié)議書范文
- 紅色旅游智慧樹知到期末考試答案章節(jié)答案2024年南昌大學(xué)
- CBT3780-1997 管子吊架行業(yè)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論