




已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(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及28BYJ48步進(jìn)電機(jī)組成的電機(jī)模塊,12864液晶輸出模塊共同組成的基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。本設(shè)計(jì)以載波為38KHZ的紅外遙控器作為用戶(hù)的控制端,它的功能是把用戶(hù)的命令轉(zhuǎn)換為紅外信號(hào)。紅外信號(hào)由TL1838接收,它可以將光信號(hào)轉(zhuǎn)換為電信號(hào),并將其發(fā)送給微控制器STC89C52。STC89C52對(duì)電信號(hào)進(jìn)行相應(yīng)處理即可獲得用戶(hù)所發(fā)出的指令,并依此來(lái)控制28BYJ48型四相八拍電機(jī)并以12864液晶作為當(dāng)前狀態(tài)的顯示器。用戶(hù)可以對(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ī)紅外遙控DESIGNANDIMPLEMENTATIONOFSTEPPERMOTORCONTROLSYSTEMBASEDONMCUABSTRACTSTEPPERMOTORISAKINDOFPUREDIGITALCONTROLMOTORANDBRUSHLESSDCMOTORCONTROLLEDBYELECTRICPULSESIGNALTYPESTEPPERMOTORISTHECOREOFTHEMODERNORIENTATIONDRIVE,WIDELYUSEDINMACHINERY,ELECTRICPOWER,TEXTILE,ELECTRONICS,INSTRUMENTS,PRINTINGANDAEROSPACE,SHIPS,WEAPONS,ANDOTHERAREASOFTHEDEFENSEINDUSTRY,ETCTHECHARACTERISTICSOFTHESTEPPINGMOTORCONTROLSYSTEMBASEDONSINGLECHIPMICROCOMPUTERINCLUDEHIGHSTABILITY,LOWCOST,CONVENIENTCONTROLANDWIDEAPPLICATION,ETCTHESTEPPERMOTORCONTROLSYSTEMCONSISTSOFCOREPROCESSORUSINGTHESINGLECHIPPROCESSOR,COMMANDINPUTCONTROLMODULEUSINGIRREMOTECONTROL,DISPLAYMODULEUSING12864LCDAND28BYJ48STEPPINGMOTORMODULEWHICHUSINGULN2003ASDRIVERTHEINFRAREDREMOTECONTROLWITHCARRIERFOR38KHZISUSEDASTHECONTROLENDOFTHEUSER,WHICHCANCONVERTTHEUSERSCOMMANDSINTOTHEINFRAREDSIGNALTHETL1838CANRECEIVETHEINFRAREDSIGNALANDCONVERTITINTOELECTRICALSIGNAL,WHICHINPUTTOTSTC89C52THEMCUCANOBTAININSTRUCTIONSOFUSERSBYPROCESSINGTHEINCOMINGSIGNALANDCONTROLSTEPPINGMOTOROFTHE28BYJ48TYPE,THECURRENTSTATUSCANBESHOWNBY12864LCDUSERSCOULDCONTROLACCELERATION,DECELERATION,FORWARD,INVERSIONFORTHESTEPPINGMOTORTHEFEATURESOFTHECONTROLSYSTEMOFSTEPPERMOTORINCLUDESHIGHPRECISION,STABLERUNNING,CONVENIENTCONTROLANDSIMPLEMAINTENANCEANDWIDEAPPLICATION,ETCKEYWORDMCU12864LCDSTEPPERMOTORINFRAREDREMOTECONTROL目錄1引言12總體設(shè)計(jì)方案221系統(tǒng)設(shè)計(jì)原理222總體設(shè)計(jì)框圖23系統(tǒng)硬件模塊的組成331單片機(jī)控制模塊3311STC89C52主要結(jié)構(gòu)3312STC89C52功能特性描述3313時(shí)鐘電路6314復(fù)位電路632步進(jìn)電機(jī)模塊7321步進(jìn)電機(jī)簡(jiǎn)介7322步進(jìn)電機(jī)的結(jié)構(gòu)832328BYJ48步進(jìn)電機(jī)工作原理833ULN2003芯片概述與特點(diǎn)934紅外線發(fā)射接收模塊10341紅外線遙控的介紹10342紅外通信基本原理10343紅外遙控發(fā)射系統(tǒng)12344紅外遙控接收系統(tǒng)12345TL1838與單片機(jī)的接口143512864顯示模塊1435112864液晶的特點(diǎn)1435212864液晶的引腳說(shuō)明1535312864液晶的讀寫(xiě)操作1735412864液晶的控制指令1735512864液晶接口電路2036蜂鳴器模塊20361蜂鳴器介紹20362蜂鳴器的接口電路214軟件設(shè)計(jì)與調(diào)試2241主程序流程圖2242程序設(shè)計(jì)思路23421遙控器的解碼23422步進(jìn)電機(jī)的控制23423顯示屏的控制24424蜂鳴器的控制24425模塊中的通信245編程與下載軟件2551KEIL軟件2552STCISP下載軟件266硬件電路制作2761原理圖的繪制2762電路實(shí)現(xiàn)的基本步驟277結(jié)論30謝辭31參考文獻(xiàn)32附錄331引言步進(jìn)電機(jī)是一種純粹的數(shù)字控制電動(dòng)機(jī),又稱(chēng)為階躍電機(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í)間都由用戶(hù)掌控。隨著科學(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)成的開(kāi)環(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)又是依賴(lài)步進(jìn)電機(jī)的,它核心就是步進(jìn)電機(jī)系統(tǒng)。這種無(wú)需反饋的開(kāi)環(huán)系統(tǒng)決定了數(shù)控機(jī)床的工作可靠、性能穩(wěn)定、維護(hù)方便、加工迅捷的特點(diǎn),也使數(shù)控機(jī)床成為如今機(jī)床發(fā)展的主要方向。在其他的許多行業(yè)中,步進(jìn)控制系統(tǒng)也發(fā)揮著舉足輕重的作用。比如我們?cè)谏钪谐R?jiàn)的有鐘表、廣告牌、繪圖儀等,在生產(chǎn)中常見(jiàn)的有印刷機(jī)器、紡織機(jī)、包裝機(jī)械等。本設(shè)計(jì)主要是基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng),可以通過(guò)遙控器的鍵盤(pán)設(shè)置期望的步進(jìn)電機(jī)轉(zhuǎn)動(dòng)狀態(tài),通過(guò)紅外發(fā)射裝置及接收裝置,使單片機(jī)接收到用戶(hù)需要的控制命令,進(jìn)行相應(yīng)的處理,使步進(jìn)電機(jī)改變運(yùn)動(dòng)狀態(tài)并在LCD顯示屏顯示出來(lái)。本設(shè)計(jì)雖然是理論上的步進(jìn)系統(tǒng),并沒(méi)有廣泛應(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ì)方案21系統(tǒng)設(shè)計(jì)原理單片機(jī)STC89C52是整個(gè)系統(tǒng)關(guān)鍵部分,通過(guò)對(duì)遙控器上鍵盤(pán)的命令輸入,經(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),其中采用了28BYJ48的步進(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及28BYJ48步進(jìn)電機(jī)組成的轉(zhuǎn)動(dòng)模塊、12864液晶的輸出模塊共同組成的基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。22總體設(shè)計(jì)框圖本設(shè)計(jì)采用STC89C52單片機(jī)為核心處理器,利用載波為38KHZ的遙控器為輸入模塊鍵盤(pán)輸入模塊,控制步進(jìn)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),并以三種不同的速度進(jìn)行轉(zhuǎn)動(dòng),并且轉(zhuǎn)動(dòng)狀態(tài)在12864液晶上顯示。系統(tǒng)構(gòu)成如圖21所示。圖21系統(tǒng)框圖由系統(tǒng)框圖可知,遙控器和TL1838為輸入裝置,步進(jìn)電機(jī)、12864液晶、蜂鳴器為輸出裝置,單片機(jī)為中心處理裝置,ULN2003為驅(qū)動(dòng)器。遙控器TL1838單片機(jī)ULN2003步進(jìn)電機(jī)12864液晶蜂鳴器3系統(tǒng)硬件模塊的組成31單片機(jī)控制模塊主控電路中,以單片機(jī)為主體,通過(guò)分析遙控輸入的指令,改變步進(jìn)電機(jī)的運(yùn)行參數(shù)和顯示參數(shù)。它是系統(tǒng)的大腦。單片機(jī)(MICROCONTROLLER,又稱(chēng)微控制器)是在一塊硅片上集成了各種部件的微型機(jī)算計(jì),這些部件包括中央處理器CPU、數(shù)據(jù)存貯器RAM、程序存貯器ROM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路3。311STC89C52主要結(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。312STC89C52功能特性描述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口線、看門(mén)狗定時(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é)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下個(gè)中斷或硬件復(fù)位為止5。STC89C52的引腳結(jié)構(gòu)如圖31所示。圖31STC89C52單片機(jī)引腳圖GND接地。VCC供電電壓。P0口P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“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端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P10和P12分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P10/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P11/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口緩沖器可接收,輸P0TEX3567RS9XDINWALVCU出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“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)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如表31所示。表31P3口的第二功能信道位第二功能說(shuō)明P30RXD串行口的輸出P31TXD串行口的輸入P32ERROR外部中斷0的中斷請(qǐng)求輸入P33ERROR外部中斷1的中斷請(qǐng)求輸入P34T0計(jì)數(shù)器0的計(jì)數(shù)輸入P35T1計(jì)數(shù)器1的計(jì)數(shù)輸入P36ERROR外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)選通信號(hào)P37ERROR外部數(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ī)PSEN器周期兩次有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將PSEN不出現(xiàn)。/VPP當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000HEAFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為EARESET;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2來(lái)自反向振蕩器的輸出。313時(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),起到口令的作用。其連接電路如圖32所示。圖32時(shí)鐘電路在RXD和TXD引腳上并聯(lián)的晶振是系統(tǒng)的定時(shí)元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。時(shí)鐘電路中選用的晶振可以在1224MHZ之間選擇,并聯(lián)的電容值可在530PF之間選擇,為單片機(jī)提供了有序準(zhǔn)確的命令,是單片機(jī)正常運(yùn)行的前提。314復(fù)位電路AT89C52的外圍電路是必須有復(fù)位功能的,一般分為自動(dòng)復(fù)位和按鍵復(fù)位。設(shè)計(jì)使用的是手動(dòng)復(fù)位,電路原理是在普通RC復(fù)位電路的基礎(chǔ)上接一個(gè)有下拉電阻10K、上拉電容10F接VCC,電源由開(kāi)關(guān)經(jīng)串接的1K限流電阻至復(fù)位腳(和上拉電容并聯(lián)),上拉電容支路負(fù)責(zé)在“上電”瞬間實(shí)施復(fù)位;開(kāi)關(guān)通過(guò)1K上拉電阻和10K下拉電阻分壓器,保證對(duì)單片機(jī)實(shí)施按鍵電平復(fù)位6。電路圖如圖33所示。2Y09M3PFCASEMIXTLGND圖33復(fù)位電路復(fù)位可以對(duì)單片機(jī)初始化。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序7。復(fù)位一般有兩種作用,一種是在進(jìn)入系統(tǒng)時(shí)要正常的初始化,另一種是程序可能會(huì)出現(xiàn)錯(cuò)誤,運(yùn)行混亂,是系統(tǒng)處于死鎖狀態(tài),為了解決這種困境,通常采用復(fù)位方式。32步進(jìn)電機(jī)模塊321步進(jìn)電機(jī)簡(jiǎn)介人類(lèi)社會(huì)進(jìn)入自動(dòng)化時(shí)代的今天,傳統(tǒng)電動(dòng)機(jī)的功能已不能滿(mǎn)足各種運(yùn)動(dòng)控制系統(tǒng)的要求。為了適應(yīng)這些要求,發(fā)展了一系列新的具備控制功能的電動(dòng)機(jī)系統(tǒng),其中較有自己特點(diǎn),且應(yīng)用十分廣泛的一類(lèi)便是步進(jìn)電機(jī)。從發(fā)展趨向來(lái)講,步進(jìn)電機(jī)已經(jīng)能與直流電動(dòng)機(jī),異步電動(dòng)機(jī),以及同步電動(dòng)機(jī)并列,成為電動(dòng)機(jī)的一種基本類(lèi)型,步進(jìn)電機(jī)己成為除直流電動(dòng)機(jī)和交流電動(dòng)機(jī)以外的第三類(lèi)電動(dòng)機(jī)。步進(jìn)電機(jī)是電動(dòng)脈沖信號(hào)為角位移或線位移的開(kāi)環(huán)步進(jìn)電機(jī)控制元件塊。步進(jìn)電機(jī)對(duì)于其他種類(lèi)電機(jī)的優(yōu)勢(shì)是在非超載的情況下,電機(jī)的運(yùn)動(dòng)狀態(tài)如電動(dòng)機(jī)轉(zhuǎn)速、停止的位置非常穩(wěn)定,可以完全在用戶(hù)的掌控之中的,負(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è)固定的角度,稱(chēng)為“步進(jìn)角”,旋轉(zhuǎn)角度是固定的一步一步的操作8。所以它的可操作性非常優(yōu)越,但是步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度是比較慢的,隨著科技的發(fā)展,這種缺點(diǎn)也在逐漸改善。步進(jìn)電機(jī)的實(shí)物圖如圖34所示。10KR5VUFC2SWPBGNDT圖3428BYJ48型四相八拍電機(jī)本設(shè)計(jì)選擇28BYJ48步進(jìn)電機(jī)作為設(shè)計(jì)對(duì)象,步進(jìn)電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC5VDC12V。使步進(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)行,常見(jiàn)的通電方式有單(單相繞組通電)四拍(ABCDA),雙(雙相繞組通電)四拍(ABBCCDDAAB),八拍(AABBBCCCDDDAA)。322步進(jìn)電機(jī)的結(jié)構(gòu)步進(jìn)電機(jī)有轉(zhuǎn)子和定子兩部分,在電流作用下的,定子和轉(zhuǎn)子的相互作用,使得電機(jī)不停轉(zhuǎn)動(dòng)。28BYJ48步進(jìn)電機(jī)的定子是由硅鋼片疊成的,定子上有8大磁極,每2個(gè)相對(duì)的磁極(N,S)組成一對(duì),共有4對(duì),如圖35所示。定子齒有個(gè)勵(lì)磁繞阻,其幾何軸線依次分別與轉(zhuǎn)子齒軸線錯(cuò)開(kāi)。0、1/4、2/4、3/4(相鄰兩轉(zhuǎn)子齒軸線間的距離為齒距以表示),即A與齒1相對(duì)齊,B與齒2向右錯(cuò)開(kāi)1/4,C與齒3向右錯(cuò)開(kāi)1/2,D與齒4向右錯(cuò)開(kāi)3/4。而轉(zhuǎn)子是由軟磁材料制成,其外表面也均勻地分布著小齒,與定子上的小齒相同,并且小齒的大小相同,間距相同。32328BYJ48步進(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ì)選擇28BYJ48步進(jìn)電機(jī)作為設(shè)計(jì)對(duì)象,其原理圖如35所示。圖35步進(jìn)電機(jī)接線示意圖在圖中可以看到附在周?chē)氖嵌ㄗ?,在中間的是轉(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)定工作。33ULN2003芯片概述與特點(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è)重要組成部分。具體電路圖如圖36所示。圖36ULN2003接線示意圖ULN2003實(shí)際上只是一個(gè)放大電路,用來(lái)放大電流,對(duì)于實(shí)際的邏輯控制沒(méi)有任何作用。如果沒(méi)有這個(gè)芯片電機(jī)也會(huì)轉(zhuǎn)動(dòng),只是轉(zhuǎn)動(dòng)的扭力會(huì)受很大影響,制約步進(jìn)電機(jī)的性能。34紅外線發(fā)射接收模塊341紅外線遙控的介紹紅外線是太陽(yáng)光線中眾多不可見(jiàn)光線中的一種,在太陽(yáng)光中就包含著紅外線。由德國(guó)科學(xué)家霍胥爾于1800年發(fā)現(xiàn),又稱(chēng)為紅外熱輻射。很多人不知道紅外線與紫外線等不可見(jiàn)光線或者紅光等可見(jiàn)光線的產(chǎn)生區(qū)別,它們最大的區(qū)別是波長(zhǎng)不同,波長(zhǎng)是震蕩頻率的結(jié)果。人眼能夠識(shí)別的可見(jiàn)光的種類(lèi)為紅、橙、黃、綠、青、藍(lán)、紫,波長(zhǎng)是從長(zhǎng)到短排列的。其中紅光的波長(zhǎng)范圍為062076UM;紫光的波長(zhǎng)范圍為038046。比紫光的波長(zhǎng)還要短的光叫紫外線,比紅光的波長(zhǎng)還要長(zhǎng)的光叫紅外線。紅外線遙控技術(shù)就是利用波長(zhǎng)為07615M之間的近紅外線來(lái)傳送控制信號(hào)的。紅外線是我們最常用的一種不可見(jiàn)光線,家用電器的遙控器基本上都是使用紅外線。有一個(gè)很有趣的特點(diǎn),當(dāng)按下遙控器的鍵盤(pán)時(shí),我們看不到紅外發(fā)射頭發(fā)出的光線,但是如果我們用照相機(jī)來(lái)對(duì)著紅外發(fā)射頭,按下鍵盤(pán)時(shí),在相機(jī)中我們可以觀察到它發(fā)出了亮光。紅外遙控的特點(diǎn)是造價(jià)較低,適合市場(chǎng)的推廣,各類(lèi)家庭用戶(hù)的使用。編解碼較容易,不會(huì)因?yàn)槌绦螂娐返膹?fù)雜性而經(jīng)常出現(xiàn)故障。它由32位碼長(zhǎng),4段碼,通過(guò)用戶(hù)碼的不同區(qū)別開(kāi)了不同產(chǎn)品的不同遙控,以免互相干擾,不影響周邊環(huán)境、不干擾其它電器設(shè)備。還有一個(gè)重要原因,紅外線不會(huì)對(duì)人體造成傷害,發(fā)射接收距離較長(zhǎng),方便用戶(hù)使用。一般在10米以?xún)?nèi)可以靈敏接收的。342紅外通信基本原理通信控制系統(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)保障不同種類(lèi)的紅外產(chǎn)品獲得最佳的通信效果。紅外線的波長(zhǎng)在750NM至1MM之間,紅外通信一般采用紅外波段內(nèi)的近紅外線,波長(zhǎng)在075UM至25UM之間。紅外數(shù)據(jù)協(xié)會(huì)將紅外通信協(xié)議定為波長(zhǎng)限定在850NM900NM范圍之間。紅外線的調(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位用戶(hù)碼,接著8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼,如圖37所示。圖37PPM調(diào)制波形圖紅外遙控的一個(gè)數(shù)據(jù)幀是由引導(dǎo)碼、用戶(hù)碼、數(shù)據(jù)碼和數(shù)據(jù)反碼組成的。每個(gè)品牌的用戶(hù)碼一般都是不同的,數(shù)據(jù)碼同種種類(lèi)的遙控器一般差異不大。每段碼都為8位,2段用戶(hù)碼,數(shù)據(jù)碼及其反碼只有1段。每幀數(shù)據(jù)由一個(gè)起始位、2段8個(gè)用戶(hù)碼位8個(gè)數(shù)據(jù)碼和數(shù)據(jù)反碼構(gòu)成,如圖38所示。每幀傳送1個(gè)字節(jié)的數(shù)據(jù)。圖38數(shù)據(jù)幀結(jié)構(gòu)示意圖由于紅外光存在反射,在全雙工的方式下發(fā)送的信號(hào)也可能會(huì)被本身接收,因056MS056MS1125MS225MS數(shù)據(jù)0數(shù)據(jù)145MS45MS引導(dǎo)碼用戶(hù)碼用戶(hù)碼數(shù)據(jù)碼數(shù)據(jù)反碼數(shù)據(jù)幀結(jié)構(gòu)8位8位8位8位此,紅外通信應(yīng)采用異步半雙工方式,即通信的某一方發(fā)送和接收交替進(jìn)行。343紅外遙控發(fā)射系統(tǒng)紅外遙控系統(tǒng)結(jié)構(gòu)紅外遙控系統(tǒng)主要分為調(diào)制、發(fā)射、接收和解調(diào)四部分,如圖39所示。圖39紅外遙控系統(tǒng)調(diào)制紅外遙控發(fā)射數(shù)據(jù)時(shí)采用調(diào)制的方式,即把數(shù)據(jù)和一定頻率的載波進(jìn)行“與”操作,這樣可以提高發(fā)射效率和降低電源功耗。調(diào)制載波頻率一般在30KHZ到60KHZ之間,一般紅外遙控使用的是38KHZ,占空比1/3的方波。如圖310所示。88US264US圖310載波波形有很多芯片都可以發(fā)射紅外光,但是對(duì)于遙控的芯片選擇要考慮使用設(shè)備和編碼種類(lèi)的不同。對(duì)于家用電器的遙控,必須功率要低,這樣電池才可以長(zhǎng)時(shí)間使用,一般都使用可休眠的的發(fā)射芯片,能不按鍵時(shí)遙控處于不工作模式。芯片一般選用的晶振為陶瓷共鳴器,因?yàn)槠溆凶銐虻奈锢碜矒裟芰?,雖然準(zhǔn)確性不如石英晶體,但是通常是可以允許一些誤差的。經(jīng)過(guò)編碼后,要用專(zhuān)用的發(fā)射頭發(fā)射出去。普通的發(fā)光二極管是不能擔(dān)此重任的,因?yàn)樗荒馨l(fā)射出可見(jiàn)光。紅外發(fā)射二極管是專(zhuān)門(mén)用來(lái)發(fā)射紅外線的,它的內(nèi)部材料是與普通二極管完全不同的,所以導(dǎo)致了其發(fā)出的是紅外線而不是可見(jiàn)光12。聽(tīng)上去紅外發(fā)射二極管價(jià)格也很便宜,與普通發(fā)光二極管差不多,某些方面也促進(jìn)了紅外通信技術(shù)的發(fā)展。344紅外遙控接收系統(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)編碼的反碼。圖311中就是TL1838一體化紅外接收頭,其38就是接收38K載波的意思。圖311TL1838實(shí)物圖TL1838如圖311所示,從左邊開(kāi)始,分別為1腳、2腳、3腳,分別為信號(hào)輸出腳、地和電源,其電平與TTL兼容。TL1838系列特性如下工作電壓2755V工作電流14MA距離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的輸出波形如圖312所示。當(dāng)接收到頻帶內(nèi)的紅外信號(hào)時(shí),TL1838接收器會(huì)輸出低電平,否則數(shù)出高電平,從而“將時(shí)斷時(shí)續(xù)”的紅外信號(hào)解調(diào)成原來(lái)的連續(xù)方波信號(hào)。需要注意的一點(diǎn)是,它并沒(méi)有把紅外信號(hào)解碼,因?yàn)樗幚砗蟀l(fā)出的信號(hào)不是標(biāo)準(zhǔn)的1、0高低電平。不管是1還是0,都包含著高低電平,只是高低電平所持續(xù)的時(shí)間是不同的,這需要單片機(jī)自己通過(guò)程序來(lái)判斷了。圖312A已調(diào)制紅外信號(hào)BTL1838輸出信號(hào)TL1838的有效傳輸距離是15M,它的工作電壓為2755V,接收穩(wěn)定,功率小,在各種紅外接收?qǐng)龊系目梢允褂?。TL1838由于它的穩(wěn)定性能,低廉的價(jià)格,是一款性?xún)r(jià)比很高的紅外一體化接收頭13。345TL1838與單片機(jī)的接口本設(shè)計(jì)的紅外遙控系統(tǒng)是將普通遙控器解碼,把它的32位碼寫(xiě)進(jìn)單片機(jī)程序中,使得可以通過(guò)對(duì)遙控器鍵盤(pán)的控制,單片機(jī)可以得到相對(duì)指令。其連接線電路如圖313所示。圖313遙控的接收頭的連線把其輸出端接單片機(jī)的外部中斷0,每當(dāng)遙控器發(fā)出信號(hào)時(shí)都會(huì)觸發(fā)單片機(jī)外部中斷,這時(shí)再觸發(fā)單片機(jī)的定時(shí)中斷對(duì)其發(fā)出的信號(hào)進(jìn)行鑒定,以檢測(cè)出其碼位。3512864顯示模塊35112864液晶的特點(diǎn)現(xiàn)在的字符型液晶模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。12864型液晶顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。設(shè)計(jì)中用到的就是這種顯示屏。其實(shí)物圖如圖314所示。低電平高電平GND5V123UTL8P圖31412864實(shí)物圖12864型液晶顯示屏共有20個(gè)引腳,其中有8位數(shù)據(jù)總線D0D7,5個(gè)控制引腳R/W、E、RS、PSB、RST,5個(gè)電源引腳,其中包括背光電源和顯示器電源。三個(gè)用于調(diào)節(jié)背景亮度和字符亮度以及供電的引腳。12864型液晶是利用液晶經(jīng)過(guò)處理后能夠改變光線傳輸方向的特性,達(dá)到顯示字符或圖形的目的。它由點(diǎn)陣字符顯示器件和專(zhuā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è)1616點(diǎn)陣、128個(gè)字符(816點(diǎn)陣)及64256點(diǎn)陣顯示RAM。與外部CPU接口采用并行或串行兩種控制方式。35212864液晶的引腳說(shuō)明12864液晶有多種驅(qū)動(dòng)芯片,雖然驅(qū)動(dòng)芯片有很多種,但原理基本相同。本次設(shè)計(jì)采用驅(qū)動(dòng)芯片為ST7920的12864液晶對(duì)步進(jìn)電機(jī)工作狀態(tài)進(jìn)行顯示,其引腳分布圖如圖315所示。圖31512864液晶管腳圖12864液晶管腳及其功能描述,如表32所示表3212864管腳說(shuō)明管腳號(hào)管腳名稱(chēng)電平管腳功能描述1VSS0V電源地2VCC35V電源正3V0對(duì)比度(亮度)調(diào)整4RSCSH/LRS“H”,表示DB7DB0為顯示數(shù)據(jù)RS“L”,表示DB7DB0為顯示指令數(shù)據(jù)5R/WSIDH/LR/W“H”,E“H”,數(shù)據(jù)被讀到DB7DB0R/W“L”,E“HL”,DB7DB0的數(shù)據(jù)被寫(xiě)到R或DR6ESCLKH/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/LH8位或4位并口方式,L串口方式16NC空腳17RESETH/L復(fù)位端,低電平有效18VOUTLCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端VSC0EDBNPK/WTOU在對(duì)液晶模塊進(jìn)行操作時(shí),其忙標(biāo)志位(BF)提供內(nèi)部工作情況,BF1表示模塊在進(jìn)行內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù)。BF0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可以接受外部指令和數(shù)據(jù)14。原則上每次對(duì)控制器進(jìn)行讀/寫(xiě)操作之前,都必須進(jìn)行讀/寫(xiě)檢測(cè)。實(shí)際上,由于單片機(jī)的操作速度低于液晶控制器的反應(yīng)速度,因此可不必進(jìn)行讀/寫(xiě)檢測(cè),或只進(jìn)行簡(jiǎn)短的延時(shí)即可。35312864液晶的讀寫(xiě)操作12864與外部CPU接口有并行或串行兩種控制方式,由于本設(shè)計(jì)采用的是并行讀寫(xiě)模式,所以主要介紹并行控制方式。讀狀態(tài)的操作時(shí)序?yàn)镽SL,R/WH,EH;讀數(shù)據(jù)操作時(shí)序?yàn)镽SH,R/WH,EH;時(shí)序圖如圖316所示。圖31612864液晶的讀時(shí)序20KVSS背光源負(fù)端寫(xiě)指令的操作指令為RSL,R/WL,E高脈沖脈沖,DB0DB7指令碼。寫(xiě)數(shù)據(jù)的操作指令為RSH,R/WL,E高脈沖,DB0DB7數(shù)據(jù)14,時(shí)序圖如317所示。圖31712864液晶的寫(xiě)時(shí)序12864液晶是一種可以讀數(shù)據(jù)和存數(shù)據(jù)的器件。由于設(shè)計(jì)中只用到了些操作,所以要著重說(shuō)明寫(xiě)操作的方法。E端為使能端,R/W來(lái)區(qū)分讀和寫(xiě),RS來(lái)控制數(shù)據(jù)還是指令,時(shí)序的協(xié)調(diào)性非常重要。35412864液晶的控制指令12864共有18條控制指令,來(lái)對(duì)顯示器寫(xiě)狀態(tài)。現(xiàn)在詳細(xì)分析液晶的顯示集。1清除顯示CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能清除顯示屏幕,把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”。2位址歸位CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM。3位址歸位CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS功能把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM4顯示狀態(tài)開(kāi)/關(guān)CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB功能D1;整體顯示ONC1;游標(biāo)ONB1;游標(biāo)位置ON5游標(biāo)或顯示移位控制CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位這個(gè)指令并不改變DDRAM的內(nèi)容。6功能設(shè)定CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLX0REXX功能DL1(必須設(shè)為1)RE1;擴(kuò)充指令集動(dòng)作RE0基本指令集動(dòng)作。7設(shè)定CGRAM位址CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能設(shè)定CGRAM位址到位址計(jì)數(shù)器(AC)。8設(shè)定DDRAM位址CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能設(shè)定DDRAM位址到位址計(jì)數(shù)器(AC)。9讀取忙碌狀態(tài)(BF)和位址CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能讀取忙碌狀態(tài)(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出位址計(jì)數(shù)器(AC)的值。10寫(xiě)資料到RAMCODERWRSDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能寫(xiě)入資料到內(nèi)部的RAM(DDRAM/CGRAM/TRAM/GDRAM)。11讀出RAM的值CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能從內(nèi)部RAM讀取資料(DDRAM/CGRAM/TRAM/GDRAM)。12待命模式(12H)CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能進(jìn)入待命模式,執(zhí)行其他命令都可終止待命模式。13卷動(dòng)位址或IRAM位址選擇(13H)CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHSR功能SR1;允許輸入卷動(dòng)位址SR0;允許輸入IRAM位址。14反白選擇(14H)CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHR1R0功能選擇4行中的任一行作反白顯示,并可決定反白的與否。15睡眠模式(015H)CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHSLXX功能SL1;脫離睡眠模式SL0;進(jìn)入睡眠模式。16擴(kuò)充功能設(shè)定(016H)CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHX1REGL功能RE1;擴(kuò)充指令集動(dòng)作RE0;基本指令集動(dòng)作G1;繪圖顯示ONG0;繪圖顯示OFF。17設(shè)定IRAM位址或卷動(dòng)位址(017H)CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能SR1;AC5AC0為垂直卷動(dòng)位址SR0;AC3AC0寫(xiě)ICONRAM位址。18設(shè)定繪圖RAM位址(018H)CODERWRSDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能設(shè)定GDRAM位址到位址計(jì)數(shù)器(AC)。35512864液晶接口電路本設(shè)計(jì)中顯示器顯示出電機(jī)的轉(zhuǎn)動(dòng)狀態(tài),正轉(zhuǎn)、反轉(zhuǎn)、速度等顯示內(nèi)容。本設(shè)計(jì)的液晶電路如圖318所示。圖318LCD連接電路圖此電路是液晶的驅(qū)動(dòng)電路,使液晶顯示電機(jī)狀態(tài),單片機(jī)的P1口為數(shù)據(jù)接口,P35及P36控制液晶的命令與數(shù)據(jù)傳輸。滑動(dòng)電阻器用來(lái)控制液晶的亮度。36蜂鳴器模塊361蜂鳴器介紹蜂鳴器是一種常見(jiàn)的一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,在計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中廣泛應(yīng)用。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類(lèi)型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示15。362蜂鳴器的接口電路蜂鳴器有無(wú)源蜂鳴器和有源蜂鳴器之分。有源蜂鳴器在接通接通電源后,內(nèi)部振蕩器產(chǎn)生的音頻信號(hào)電流通過(guò)電磁線圈,產(chǎn)生震蕩,使蜂鳴器周期性發(fā)聲。無(wú)源蜂鳴器需要通過(guò)外接信號(hào)震蕩,從而使蜂鳴器發(fā)聲。設(shè)計(jì)中使用的是無(wú)源揚(yáng)聲器,所以必須由單片機(jī)供給震蕩信號(hào)。其連接電路如圖319所示。U512864晶P307NCKRESTAPVGD圖319蜂鳴器連接電路圖由于設(shè)計(jì)所用的是無(wú)源蜂鳴器,接PNP三極管以放大電流,單片機(jī)P00口用來(lái)發(fā)出脈沖以驅(qū)動(dòng)蜂鳴器,每當(dāng)按下遙控器的鍵盤(pán)時(shí)蜂鳴器都會(huì)發(fā)出聲音。4軟件設(shè)計(jì)與調(diào)試41主程序流程圖通過(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)以及顯示器的顯示。主程序流程圖如41所示。Q12N3906VCR5ESPLSBLGD否否是是完畢完畢圖41主程序流程圖設(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ī)脈沖。42程序設(shè)計(jì)思路本設(shè)計(jì)的程序設(shè)計(jì)包括遙控的解碼,顯示屏的顯示及步進(jìn)電機(jī)的驅(qū)動(dòng)。其中遙控發(fā)出的碼位通過(guò)TL1838接收由單片機(jī)中程序解碼并依此來(lái)控制步進(jìn)電機(jī)及顯主程序輸入初始化LCD顯示W(wǎng)HILE循環(huán)改變電機(jī)轉(zhuǎn)動(dòng)狀態(tài)及相應(yīng)顯示是否觸發(fā)外部中斷0定時(shí)器1是否中斷產(chǎn)生脈沖驅(qū)動(dòng)電機(jī)遙控解碼驅(qū)動(dòng)蜂鳴器開(kāi)始結(jié)束示屏。421遙控器的解碼遙控器具有發(fā)射指令作用,由于本設(shè)計(jì)所用遙控器是任意電視遙控,其載頻為38KHZ,所以需將遙控器的所有用到鍵位解碼,得到相應(yīng)鍵位編碼后,將其鍵位編碼放到單片機(jī)程序中,當(dāng)遙控器向TL1838發(fā)射時(shí),單片機(jī)又對(duì)其解碼,如果其編碼與單片機(jī)所存編碼相同時(shí)即認(rèn)定此為用戶(hù)要發(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í),立刻開(kāi)啟定時(shí)器定時(shí),以此判斷1和0,同時(shí)把其編碼發(fā)送到顯示器上并記錄,然后寫(xiě)到本設(shè)計(jì)的程序中。在本設(shè)計(jì)中,識(shí)別遙控器的編碼的程序思路與上面所述是相同的,只是設(shè)計(jì)中將其編碼進(jìn)行比較來(lái)判斷。422步進(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)用書(shū)序相反,需要注意的是調(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)題。423顯示屏的控制12864液晶是一種帶存貯功能的器件,有4個(gè)顯示行,每行可顯示8個(gè)漢字、16個(gè)英文字符,一共有20個(gè)引腳,帶有背光燈,亮度可以調(diào)節(jié)。在控制顯示屏的顯示時(shí),分為命令和數(shù)據(jù)的控制。無(wú)論是數(shù)據(jù)控制還是命令控制,都需要向顯示器的數(shù)據(jù)口中寫(xiě)數(shù)據(jù),此數(shù)據(jù)口為8位,在本設(shè)計(jì)中用單片機(jī)的P1口來(lái)傳輸。而寫(xiě)數(shù)據(jù)和寫(xiě)命令控制上的區(qū)別是RS和E引腳。寫(xiě)命令時(shí)控制方法是,RS置為0,E置為0,將要寫(xiě)命令通過(guò)數(shù)據(jù)口用單片機(jī)傳輸,然后將E置為1,即把命令寫(xiě)入顯示器中。寫(xiě)數(shù)據(jù)時(shí)先將RS置為1,E置為0,將要寫(xiě)數(shù)據(jù)通過(guò)數(shù)據(jù)口用單片機(jī)傳輸,然后將E職位1,即把數(shù)據(jù)寫(xiě)入顯示器中。寫(xiě)命令和寫(xiě)數(shù)據(jù)是相互配合使用的。寫(xiě)命令是控制顯示器的顯示格式、顯示位置、清屏、光標(biāo)設(shè)置等,只有指定了上述的命令,才可以寫(xiě)數(shù)據(jù)寫(xiě)到自己滿(mǎn)意的地方。寫(xiě)數(shù)據(jù)就是寫(xiě)命令之后把自己要顯示的內(nèi)容寫(xiě)到顯示器中。424蜂鳴器的控制設(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ā)送。425模塊中的通信依前面所述,各模塊都可以單獨(dú)工作,但是要稱(chēng)為一個(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軟件為用戶(hù)提供了程序編輯、編譯、鏈接、調(diào)試等功能,為用戶(hù)提供一套完整的程序開(kāi)發(fā)環(huán)境。但是KEIL生成的HEX文件必須依靠STCISP軟件才能下載到STC89C52中。下面介紹KEIL和STCISP的特點(diǎn)及使用方法。51KEIL軟件隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,KEIL軟件是目前最流行開(kāi)發(fā)MCS51系列單片機(jī)的軟件。KEIL提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(UVISION)將這些部份組合在一起。運(yùn)行KEIL軟件需要PENTIUM或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤(pán)空間、WIN98、NT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 客戶(hù)洗錢(qián)風(fēng)險(xiǎn)管理辦法
- 招商中心考核管理辦法
- 租賃市場(chǎng)資金管理辦法
- 往來(lái)內(nèi)部控制管理辦法
- 部門(mén)全員降本管理辦法
- 面包生產(chǎn)知識(shí)培訓(xùn)課件
- 股骨骨折固定技術(shù)課件
- 腸瘺護(hù)理課件
- 培訓(xùn)課件帶解讀
- 肝衰竭的護(hù)理課件
- 鐵路營(yíng)業(yè)線安全管理辦法
- 酒類(lèi)銷(xiāo)售用人勞務(wù)合同
- 2025老年教育政策環(huán)境分析及教學(xué)模式創(chuàng)新路徑研究報(bào)告
- 1-會(huì)計(jì)信息系統(tǒng)(閉卷)國(guó)開(kāi)機(jī)考答案
- 2025年中國(guó)伺服電纜行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 酒店安全獎(jiǎng)懲規(guī)定
- 2024北京四中初一(下)開(kāi)學(xué)考數(shù)學(xué)試題及答案
- 物料堆放限高管理制度
- 中醫(yī)養(yǎng)生保健與康復(fù)護(hù)理
- 夫妻債務(wù)隔離約定協(xié)議書(shū)
- 康復(fù)輔助技術(shù)咨詢(xún)師理論考試復(fù)習(xí)題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論