基于STC89C52單片機(jī)的國旗自動升降系統(tǒng)設(shè)計(jì)_第1頁
基于STC89C52單片機(jī)的國旗自動升降系統(tǒng)設(shè)計(jì)_第2頁
基于STC89C52單片機(jī)的國旗自動升降系統(tǒng)設(shè)計(jì)_第3頁
基于STC89C52單片機(jī)的國旗自動升降系統(tǒng)設(shè)計(jì)_第4頁
基于STC89C52單片機(jī)的國旗自動升降系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、太原工業(yè)學(xué)院畢業(yè)設(shè)計(jì)目 錄1引言11.1 國旗自動升降系統(tǒng)國內(nèi)外發(fā)展?fàn)顩r11.2選題目的和意義22 整體設(shè)計(jì)方案與理論分析32.1 系統(tǒng)裝置理論分析32.2 電機(jī)的選擇可以有兩種方案32.3 電機(jī)驅(qū)動選擇方案42.4 語音部分方案的選擇與論證42.5 單片機(jī)選擇方案52.6 LCD顯示選擇方案52.7 按鍵的選擇方案63 系統(tǒng)硬件設(shè)計(jì)73.1 STC89C52單片機(jī)及相關(guān)電路73.1.1STC89C52單片機(jī)概述73.1.2晶振電路93.1.3復(fù)位電路103.2電機(jī)驅(qū)動模塊103.3步進(jìn)電機(jī)控制方法113.4升降旗按鍵與指示燈電路設(shè)計(jì)133.5液晶顯示電路133.6語音模塊電路設(shè)計(jì)164 系統(tǒng)

2、的軟件設(shè)計(jì)175 結(jié)論19致 謝20參考文獻(xiàn)21附錄一 元件清單22附錄二 系統(tǒng)原理圖和PCB23附錄三 實(shí)物圖25附錄四 國旗自動升降控制系統(tǒng)源程序26第 頁 共 頁1引言升國旗代表了國家的主權(quán)和獨(dú)立的象征,對于一個(gè)國家的尊嚴(yán)和國威具有重大意義。舉行升旗儀式是對每個(gè)公民進(jìn)行愛國主義教育、國旗意識教育、團(tuán)體意識教育的重要途徑;也是衡量一個(gè)公民是否心存國家觀念、愛國、愛黨的標(biāo)志;同時(shí)也能衡量公民的素質(zhì)。所以,升旗儀式絕對不可以理解為形式主義,而是一項(xiàng)十分莊嚴(yán)、嚴(yán)肅的團(tuán)體活動。升旗儀式應(yīng)該嚴(yán)格按照中華人民共和國國旗法的規(guī)定升降國旗。但是傳統(tǒng)形式上的手動升降國旗或者單純意義上的電機(jī)轉(zhuǎn)動來升降,顯現(xiàn)出

3、了很多弊端,比如,升旗不能與國歌同步,不能接近開關(guān)檢測防止誤差等。有時(shí)一些錯誤的操作可能會出現(xiàn)一些尷尬局面,嚴(yán)重影響了莊嚴(yán)的升旗儀式。隨著現(xiàn)代科技的進(jìn)步,自動控制系統(tǒng)已經(jīng)逐漸廣泛應(yīng)用,尤其是單片機(jī)應(yīng)用的普及,它以其極高的性價(jià)比,受到人們的重視和關(guān)注。單片機(jī)具有體積小、重量輕、功能強(qiáng)、抗干擾能力強(qiáng)、價(jià)格低廉、靈活性好、較易開發(fā)等優(yōu)點(diǎn)。由于具備很多的優(yōu)點(diǎn),單片機(jī)已經(jīng)被十分廣泛的應(yīng)用,小到電子生活用品,大到機(jī)器人、航天、醫(yī)療、工業(yè)電子設(shè)備等領(lǐng)域。圖1 .1 國旗升降裝置原理圖1.1 國旗自動升降系統(tǒng)國內(nèi)外發(fā)展?fàn)顩r目前像有些學(xué)校、機(jī)關(guān)單位升旗大部分還停留在人工升旗的階段,用最原始的辦法人為地來一步步完

4、成,在升旗的過程中不可避免的會出現(xiàn)升降國旗與國歌演奏時(shí)間不協(xié)調(diào),為了解決這個(gè)難題,這就需要自動化的裝置來完成這項(xiàng)工作,它把整個(gè)升降旗的過程作為一個(gè)可控的裝置來運(yùn)行,要求自動控制系統(tǒng)像神經(jīng)系統(tǒng)一樣,具備系統(tǒng)性、全面性、準(zhǔn)確性。國內(nèi)相關(guān)技術(shù)的發(fā)展為自動化控制產(chǎn)業(yè)的升級提供了技術(shù)的支持。所以研究與完善國旗升降系統(tǒng)很有必要。對于國外單片機(jī)自動化控制技術(shù)的發(fā)展,使國旗升降更加平穩(wěn)和精確。自動控制升降旗系統(tǒng)主要用一個(gè)電機(jī)控制旗幟自動升降,所以系統(tǒng)的主要功能就是控制電機(jī)的運(yùn)轉(zhuǎn),而國外步進(jìn)電機(jī)最早是由英國人所開發(fā)的。后期晶體管的發(fā)明也逐漸應(yīng)用在步進(jìn)電機(jī)上,對于數(shù)字化的控制變得更為容易,后來發(fā)展到對步進(jìn)電機(jī)的控

5、制和驅(qū)動主要是采用專用芯片,結(jié)果大大縮小了驅(qū)動器的體積,明顯提高了升旗裝置的性能?,F(xiàn)在的裝置則設(shè)計(jì)的的更為合理。1.2選題目的和意義隨著電子技術(shù)日益發(fā)展,自動控制升降旗系統(tǒng)也在向前發(fā)展,然而傳統(tǒng)的國旗升降存在著國歌的播放與國旗上升步調(diào)不一致現(xiàn)象,易受環(huán)境因素影響等弊端。為了解決國旗升降中的眾多問題,提高升旗的質(zhì)量和效率,可以使用自動控制升降系統(tǒng)來完成國旗的升、降控制,使升降旗速度與國歌演奏時(shí)間準(zhǔn)確配合,從而避免了人為升降國旗與國歌演奏時(shí)間不協(xié)調(diào)而出現(xiàn)的尷尬場面發(fā)生,保證了國旗升、降儀式的順利進(jìn)行。并且由于實(shí)際的需要,對它的精度和功能要求也越來越高,這樣不僅可以規(guī)范升旗過程,使升旗更加方便更加實(shí)

6、用,而且可以通過不同的設(shè)置滿足不同的需求。另外減少了人力資源的使用,大大減少資金的投入。系統(tǒng)最主要的是控制電機(jī)的轉(zhuǎn)動,目前應(yīng)用最多的是步進(jìn)電機(jī)。由于步進(jìn)電機(jī)系統(tǒng)控制精度高,控制形式較為簡單,易于實(shí)現(xiàn)數(shù)字化控制等特點(diǎn)使得步進(jìn)電機(jī)的應(yīng)用范圍非常廣泛,成為目前不可缺少的電機(jī)組件。通過單片機(jī)控制的步進(jìn)電機(jī)使得設(shè)計(jì)更加簡單。在技術(shù)的不斷進(jìn)步下,越來越多的保護(hù)和監(jiān)控系統(tǒng)的出現(xiàn),以及安全可靠性的提高和對室外環(huán)境的適應(yīng)范圍擴(kuò)大,使現(xiàn)代升降系統(tǒng)總的發(fā)展趨勢從自動化變得更加智能化和柔韌靈活性。讓單片機(jī)用于升降系統(tǒng)中,使控制技術(shù)和單片機(jī)技術(shù)相結(jié)合,從而可實(shí)現(xiàn)機(jī)電一體化控制,提高升降系統(tǒng)的自動化程度及運(yùn)行可靠性和穩(wěn)定

7、性。單片機(jī)的應(yīng)用,使得許多領(lǐng)域和自動化得以提高,也使生產(chǎn)效率得到有效提升。由于電子電源的集成化、模塊化、智能化的發(fā)展、功率集成技術(shù)已模糊了整機(jī)與器件的界限。自單片機(jī)問世以來,在升旗裝置上的應(yīng)用也日益完善,現(xiàn)如今的自控升降集成了越來越多的功能,結(jié)構(gòu)更加合理、美觀、實(shí)用,越更具有開闊的市場前景;步進(jìn)電機(jī)的出現(xiàn),在結(jié)合了單片機(jī)后讓自動升降國旗系統(tǒng)變得更加精準(zhǔn)和便捷。因此在升降國旗的問題上,自控系統(tǒng)也能與之高效的結(jié)合,采用單片機(jī)可以實(shí)現(xiàn)國旗的自動升降,解決了傳統(tǒng)升降國旗方式遇到的不便,以保證升旗儀式的莊重和嚴(yán)肅性。采用單片機(jī)為控制核心的國旗自動升降系統(tǒng),不僅實(shí)現(xiàn)了演奏國歌與升旗同步,由按鍵控制步進(jìn)電機(jī)

8、的正反轉(zhuǎn),來操作國旗的升降,采用的接近開關(guān)能夠防止誤觸操作,與此同時(shí)LCD能夠?qū)崟r(shí)顯示國旗的位置,在國旗到達(dá)頂部后能自動打開鼓風(fēng)機(jī)對國旗吹風(fēng)使其飄揚(yáng)。2 整體設(shè)計(jì)方案與理論分析2.1 系統(tǒng)裝置理論分析本文在實(shí)際應(yīng)用的國旗自動升降系統(tǒng)的原理上,以STC89C52單片機(jī)為控制核心,設(shè)計(jì)了一套模擬裝置,實(shí)現(xiàn)國旗自動升降的主要功能。該控制系統(tǒng)由單片機(jī)STC89C52作為升降旗系統(tǒng)的控制和檢測核心,通過鍵盤控制、液晶顯示及語音等幾個(gè)部分,實(shí)現(xiàn)國旗的自動升降。該系統(tǒng)主要包括電機(jī)驅(qū)動模塊、鍵盤與顯示模塊、語音模塊等幾個(gè)部分。系統(tǒng)方案的整體思路是:設(shè)置上升高度為1m,按鍵對單片機(jī)執(zhí)行命令,然后單片機(jī)對步進(jìn)電機(jī)

9、進(jìn)行控制實(shí)現(xiàn)國旗升降動作,LCD能夠顯示國旗的當(dāng)前狀態(tài)。當(dāng)按下升旗按鍵后,電機(jī)正轉(zhuǎn),升旗LED指示燈亮,LCD顯示國旗高度,語音芯片是播放國歌且升旗的動作同步,當(dāng)國旗升到頂部時(shí)國歌剛好演唱完畢;當(dāng)按下降旗按鍵,語言模塊靜音,降旗LED指示燈亮,步進(jìn)電機(jī)反轉(zhuǎn),LCD顯示國旗高度,國旗自動下降到底部。圖2.1為本設(shè)計(jì)的整體框圖。圖2.1 系統(tǒng)整體框圖本問設(shè)計(jì)的系統(tǒng)的控制器采用STC公司的STC89C52,因?yàn)榭紤]到編寫的繁簡程度,所以在此使用C語言進(jìn)行軟件編寫,這樣可以大大提高程序編寫時(shí)的效率。2.2 電機(jī)的選擇可以有兩種方案方案1:采用直流減速電機(jī)。上電即轉(zhuǎn)動,掉電后慣性較大,停機(jī)時(shí)還會轉(zhuǎn)動一定

10、的角度后才會停下來;轉(zhuǎn)矩小,無抱死功能,如要求準(zhǔn)確停在一個(gè)位置,其閉環(huán)算法復(fù)雜。方案2:采用交流電動機(jī)。交流電動機(jī)具有結(jié)構(gòu)簡單、運(yùn)行可靠、成本低廉等優(yōu)點(diǎn);但對交流電動機(jī)進(jìn)行調(diào)速需要比較高的技術(shù)和成本方案3:采用步進(jìn)電動機(jī)。步進(jìn)電動機(jī)是純粹的數(shù)字控制電動機(jī),它將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰?,即給一個(gè)脈沖,步進(jìn)電機(jī)就轉(zhuǎn)一個(gè)角度,因此非常合適單片機(jī)控制,在輕載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),累積誤差小,控制精度高。方案4:采用普通的直流電機(jī)。普通直流電動機(jī)具有優(yōu)良的啟動特性和調(diào)速性能,調(diào)速平滑、方便,調(diào)整范圍廣,過載能力強(qiáng),熱動和制動轉(zhuǎn)矩較大,能承受頻繁的沖擊負(fù)載,可實(shí)現(xiàn)頻

11、繁的無級快速啟動、制動和反轉(zhuǎn)。這也是交流電機(jī)無法取代的直流電動機(jī)的原因。直流電機(jī)只要加上合適的電壓就會轉(zhuǎn),因此在某些大型設(shè)備,比如軋鋼機(jī)上都采用直流電動機(jī)拖動。但它也存在著一個(gè)嚴(yán)重的問題, 就是換向困難,還會產(chǎn)生火花、壽命短、結(jié)構(gòu)復(fù)雜、要經(jīng)常維護(hù)、價(jià)格也貴,并且維護(hù)檢修不方便,轉(zhuǎn)的圈數(shù)難以精確控制。因?yàn)椴竭M(jìn)電機(jī)屬于脈沖電動機(jī),是靠脈沖信號變換工作,相比較而言步進(jìn)電機(jī)節(jié)能,更適合精密儀器或小型產(chǎn)品,在本系統(tǒng)中需要精確的轉(zhuǎn)換速度和轉(zhuǎn)換時(shí)間且啟停要迅速,基于上述理論上的分析,本設(shè)計(jì)采用方案3的步進(jìn)電機(jī)控制國旗升降運(yùn)動。2.3 電機(jī)驅(qū)動選擇方案根據(jù)任務(wù)書的要求,選用四相步進(jìn)電動機(jī),因?yàn)椴竭M(jìn)電動機(jī)是純粹

12、的數(shù)字控制電動機(jī),有很好的控制精度,易于起停、正反轉(zhuǎn)及變速。電動機(jī)的驅(qū)動方法我們比較了以下幾種方案:方案一:采用繼電器對電動機(jī)的開或關(guān)進(jìn)行控制,通過控制開關(guān)的切換速度實(shí)現(xiàn)對電機(jī)的運(yùn)行速度進(jìn)行調(diào)整。這個(gè)電路的優(yōu)點(diǎn)是電路結(jié)構(gòu)簡單,其缺點(diǎn)是繼電器的響應(yīng)時(shí)間長,易損環(huán),壽命短,可靠性不是很高。方案二:采用由達(dá)林頓管組成的H橋型PWM電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài),可精確調(diào)整電動機(jī)的運(yùn)動狀態(tài)(前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn))。這種電路由于工作在管子的飽和截至模式下,效率很高。H橋電路保證了可以簡單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,但不能很精確的控制步距和速度。方案三:采用集成驅(qū)動芯片ULN200

13、3。ULN2003 是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN 達(dá)林頓管組成。用單片機(jī)控制達(dá)林頓管使之輸出合適的脈沖信號,可精確調(diào)整電動機(jī)的運(yùn)動狀態(tài)(正轉(zhuǎn)、反轉(zhuǎn)和停止等動作)。這種電路工作效率高,電機(jī)的轉(zhuǎn)動精度可以由機(jī)械設(shè)計(jì)與單片機(jī)的程序來保證。由于該芯片在5V的工作電壓下與TTL和CMOS電路直接相連,可以保證負(fù)載電流的供給,同時(shí)也減少其它驅(qū)動芯片被燒毀的事故。利用該芯片是實(shí)現(xiàn)驅(qū)動步進(jìn)電機(jī)的一種簡單方法, 可時(shí)控制四相電機(jī),且輸出電流可達(dá)到2A,可精確控制步距和速度,利用該方法設(shè)計(jì)的步進(jìn)電機(jī)驅(qū)動系統(tǒng)具有硬件結(jié)構(gòu)簡單、軟件編程容易的特點(diǎn)。所以綜上所述本設(shè)計(jì)采用方案三。2.4 語音部分方案的選擇

14、與論證方案一:采用語音芯片ISD1420。該芯片采用CMOS技術(shù),內(nèi)含震蕩器、話筒前置放大、自動增益控制、防混肴濾波器、平滑濾波器、揚(yáng)聲器驅(qū)動及EEPROM,一個(gè)最小的錄放系統(tǒng)僅由一個(gè)麥克風(fēng)、一個(gè)喇叭、兩個(gè)按扭、電源及少數(shù)電阻電容即可,結(jié)構(gòu)非常簡單,且它的音質(zhì)好、功耗低,但其錄放音時(shí)間短,只有8到20秒。方案二:采用語音芯片WT588D,它具有抗斷電、音質(zhì)好,使用方便,無須專用的開發(fā)系統(tǒng)等優(yōu)點(diǎn)。WTW-16P采用WT588D-20SS做為核心控制電路,WTW-16P內(nèi)部包含了WT588D-20SS外圍所需的SPI-FLASH、震蕩電路、復(fù)位電路。外部只需要接上電源、控制端以及揚(yáng)聲器(或者功放)

15、就能正常工作。方案三:采用YF1600系列錄音IC模塊,它是單片機(jī)中最簡單的錄音芯片,可以替代其它錄音模塊。YF1600系列錄音IC是根據(jù)錄音產(chǎn)品市場而成功開發(fā)的錄音IC系列產(chǎn)品,采用主控IC和外掛FLASH的方式實(shí)現(xiàn)10秒780秒可擦寫單段錄音和掉電存儲功能。由于錄音采樣頻率高,音質(zhì)好,音量大,負(fù)載能夠直推動外接揚(yáng)聲器,并且不需要太多的外圍元件,成本低、便于生產(chǎn)、應(yīng)用靈活。主要功能特點(diǎn)表現(xiàn)在同一顆主控IC中實(shí)現(xiàn)錄音鍵和播放鍵的不同組合應(yīng)用。方案四:ISD系列語音芯片是Winbond公司推出的產(chǎn)品。該芯片采用多電平直接模擬存儲專利技術(shù),聲音不需要A/D轉(zhuǎn)換和壓縮,模擬信號直接存儲在片內(nèi)的閃爍存

16、儲器中,沒有A/D 轉(zhuǎn)換誤差, 因此能夠真實(shí)、自然地再現(xiàn)語音、音樂及效果聲。避免了傳統(tǒng)錄音電路量化和壓縮造成的量化噪聲和金屬聲。ISD4004系列語音芯片的所有操作由微控制器控制,操作命令通過串行通信接口(SPI或Microwire)送入。錄音采樣頻率可為4.0Hz、5.3Hz、6.4Hz、8.0Hz,錄放時(shí)間可為8min、10min、12min、16min。采樣頻率越低,錄放時(shí)間越長,但音質(zhì)則有所下降。片內(nèi)信息存于閃爍存儲器中,可在斷電情況下保存100年,反復(fù)錄音10萬次(典型值)。器件工作電壓為3V,工作電流為1525mA,維持電流為1A。適用于移動電話機(jī)及其它便攜式電子產(chǎn)品中。 綜上所述

17、,因?yàn)樵诒鞠到y(tǒng)國歌的的演奏時(shí)間需要43秒鐘,所以在此選用方案四。2.5 單片機(jī)選擇方案STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3

18、個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。STC89C52參數(shù)特性:1)增強(qiáng)型8051單片機(jī),6 時(shí)鐘/機(jī)器周期和12 時(shí)鐘/機(jī)器周期可以任意 選擇,指令代碼完全兼容傳統(tǒng)8051.12)工作電壓:5.5V3.3V(5V單片機(jī))/3

19、.8V2.0V(3V 單片機(jī))3.工作頻率范圍:040MHz,相當(dāng)于普通8051 的080MHz,實(shí)際工作 頻率可達(dá)48MHz4)用戶應(yīng)用程序空間為8K字節(jié)5)片上集成512 字節(jié)RAM6)通用I/O 口(32 個(gè)),復(fù)位后為:P0/P1/P2/P3 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為 I/O 口用時(shí),需加上拉電阻。7)ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片8)具有EEPROM 功能9)共3 個(gè)16 位定時(shí)器/計(jì)數(shù)器。

20、即定時(shí)器T0、T1、T210)外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒11)通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART12)工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)13)PDIP封裝2.6 LCD顯示選擇方案顯示屏幕分為動態(tài)和靜態(tài)顯示。1)靜態(tài)顯示:顯示驅(qū)動電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就不再作用,直到下一次需要更新數(shù)據(jù)時(shí)再傳送新數(shù)據(jù),靜態(tài)顯示方法比較簡單,只將顯示段碼送至段碼口,并把位控字送至位控口即可。靜態(tài)顯示雖然簡單,但實(shí)際應(yīng)用卻受到限制。因?yàn)樵谕粫r(shí)刻只顯示一種字符的場

21、合是不多的,大多數(shù)情況下,需要顯示的是不同字符,這就要采用動態(tài)顯示方法。靜態(tài)顯示編程容易、管理簡單、顯示亮度高、顯示數(shù)據(jù)穩(wěn)定、占用很少的CPU時(shí)間,但是引線較多,線路復(fù)雜,有時(shí)占用太多的IO口,硬件成本較高。2)動態(tài)顯示:動態(tài)顯示需要CPU時(shí)刻對顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)會有閃爍感,占用的CPU時(shí)間多,但使用的硬件少,能節(jié)省線路板空間。方案一:采用LED數(shù)碼管顯示旗幟所在的高度以及升降旗所用的時(shí)間。在本系統(tǒng)中需要用到6只LED數(shù)碼管進(jìn)行動態(tài)顯示才可以達(dá)到要求。采用LED的優(yōu)點(diǎn)是亮度高,醒目,價(jià)格便宜,壽命長;缺點(diǎn)是只能顯示09的數(shù)字和一些簡單的字符,電路復(fù)雜,占用資源較多且信息量小。方案二

22、:用LCD(RT1602C)液晶顯示,其優(yōu)點(diǎn)是能顯示更多的字符,工作電流比LED小幾個(gè)數(shù)量級,故其功耗低,且有著良好的人機(jī)界面,體積小,功耗極低?;谏鲜隹紤],這兩種顯示方式各有利弊,靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時(shí)間,但每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動電路,使用的硬件較多。動態(tài)顯示雖然有閃爍感,占用的CPU時(shí)間多,但使用的硬件少,能節(jié)省線路板空間。本設(shè)計(jì)選擇方案二。2.7 按鍵的選擇方案在單片機(jī)應(yīng)用系統(tǒng)中為了控制系統(tǒng)的工作狀態(tài),以及向系統(tǒng)輸入數(shù)據(jù),系統(tǒng)應(yīng)設(shè)有按鍵或鍵盤,以實(shí)現(xiàn)簡單的人機(jī)對話。通常的按鍵開關(guān)為彈性機(jī)械開關(guān),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)并不會馬上穩(wěn)定地閉合

23、,在斷開時(shí)也不會馬上斷開,因而機(jī)械開關(guān)在閉合及斷開瞬間均伴隨有一連串的抖動。抖動的時(shí)間長短由按鍵開關(guān)的機(jī)械特性及按鍵的人為因素決定,一般為5ms20ms時(shí)間,按鍵式的抖動如圖2.2所示。按鍵抖動如果處理不當(dāng)會引起一次按鍵被誤處理多次,為了確保CPU對鍵的一次閉合僅作一次處理,則必須消除按鍵抖動。在鍵閉合穩(wěn)定時(shí)取鍵狀態(tài),一般是判斷到鍵釋放穩(wěn)定后在作處理。消除鍵抖動可用硬件和軟件兩種方法。消除鍵抖動通常當(dāng)鍵數(shù)較少時(shí)用硬件方法,鍵數(shù)較多時(shí)用軟件方法。此處采用軟件方法。消除鍵抖動的軟件方法是當(dāng)檢測出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生5ms20ms的延時(shí),待前沿抖動消失后再次檢測鍵的狀態(tài),如果鍵仍保持閉合狀

24、態(tài)則可確認(rèn)為有按鍵按下。當(dāng)檢測到按鍵釋放并執(zhí)行延時(shí)程序,待后沿抖動消失后才轉(zhuǎn)入該按鍵的處理程序。按鍵通常是一種常開型按鍵開關(guān),平時(shí)鍵的兩個(gè)觸點(diǎn)處于斷開或開路狀態(tài),按下鍵時(shí)它們才閉合或短路。而鍵盤是一組按鍵的集合,從鍵盤的結(jié)構(gòu)來看,獨(dú)立式鍵盤的每個(gè)按鍵單獨(dú)占用一個(gè)I/O接線口,每個(gè)I/O口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。缺點(diǎn)為按鍵多時(shí)將占用的I/O口數(shù)目較多,優(yōu)點(diǎn)為電路設(shè)計(jì)簡單,且編程相對方便。因電路需要的鍵盤較少,采用獨(dú)立式鍵盤。圖2.2 按鍵時(shí)的抖動3 系統(tǒng)硬件設(shè)計(jì)本系統(tǒng)由單片機(jī)STC89C52作為升降旗系統(tǒng)的控制核心,實(shí)現(xiàn)鍵盤控制、液晶顯示、語音以及無線遙控等幾個(gè)部分,即

25、該系統(tǒng)主要包括電機(jī)驅(qū)動模塊、LED指示燈、鍵盤與顯示模塊、語音模塊及無線遙控電路模塊等幾個(gè)部分?,F(xiàn)分別對各模塊進(jìn)行分析。3.1 STC89C52單片機(jī)及相關(guān)電路3.1.1STC89C52單片機(jī)概述51系列單片機(jī)最初是由Intel 公司開發(fā)設(shè)計(jì)的,但后來Intel 公司把51 核的設(shè)計(jì)方案賣給了幾家大的電子設(shè)計(jì)生產(chǎn)商,譬如 SST、Philip、Atmel 等大公司。因此市面上出現(xiàn)了各式各樣的均以51 為內(nèi)核的單片機(jī)。這些各大電子生產(chǎn)商推出的單片機(jī)都兼容51 指令、并在51 的基礎(chǔ)上擴(kuò)展一些功能而內(nèi)部結(jié)構(gòu)是與51一致的。STC89C52有40個(gè)引腳,4個(gè)8位并行I/O口,1個(gè)全雙工異步串行口,同

26、時(shí)內(nèi)含5個(gè)中斷源,2個(gè)優(yōu)先級,2個(gè)16位定時(shí)/計(jì)數(shù)器。STC89C52的存儲器系統(tǒng)由4K的程序存儲器(掩膜ROM),和128B的數(shù)據(jù)存儲器(RAM)組成。STC89C52單片機(jī)的基本組成框圖見圖3-1。圖3-1 STC89C52單片機(jī)結(jié)構(gòu)圖 1)一個(gè)8 位的微處理器(CPU)。2)片內(nèi)數(shù)據(jù)存儲器RAM(128B),用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等,SST89 系列單片機(jī)最多提供1K 的RAM。3)片內(nèi)程序存儲器ROM(4KB),用以存放程序、一些原始數(shù)據(jù)和表格。但也有一些單片機(jī)內(nèi)部不帶ROM/EPROM,如8031,8032,80C31 等。目前單片機(jī)的發(fā)展

27、趨勢是將RAM 和ROM 都集成在單片機(jī)里面,這樣既方便了用戶進(jìn)行設(shè)計(jì)又提高了系統(tǒng)的抗干擾性。SST 公司推出的89 系列單片機(jī)分別集成了16K、32K、64K Flash 存儲器,可供用戶根據(jù)需要選用。4)四個(gè)8 位并行IO 接口P0P3,每個(gè)口既可以用作輸入,也可以用作輸出。5)兩個(gè)定時(shí)器計(jì)數(shù)器,每個(gè)定時(shí)器計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制。為方便設(shè)計(jì)串行通信,目前的52 系列單片機(jī)都會提供3 個(gè)16 位定時(shí)器/計(jì)數(shù)器。6)五個(gè)中斷源的中斷控制系統(tǒng)?,F(xiàn)在新推出的單片機(jī)都不只5 個(gè)中斷源,例如SST89E58RD

28、 就有9 個(gè)中斷源。7) 一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行IO 口,用于實(shí)現(xiàn)單片機(jī)之間或單機(jī)與微機(jī)之間的串行通信。8)片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達(dá)40MHz,因而大大的提高了指令的執(zhí)行速度。圖3-2 STC89C52單片機(jī)管腳圖部分引腳說明:1)時(shí)鐘電路引腳XTAL1 和XTAL2:XTAL2(18 腳):接外部晶體和微調(diào)電容的一端;片內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時(shí)鐘電路時(shí),該引腳輸入外部時(shí)鐘脈沖。要檢查振蕩電路是否正常工作,可用示波

29、器查看XTAL2 端是否有脈沖信號輸出。XTAL1(19 腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時(shí)鐘時(shí),該引腳必須接地。2)控制信號引腳RST,ALE,PSEN 和EA:RST/VPD(9 腳):RST 是復(fù)位信號輸入端,高電平有效。當(dāng)此輸入端保持備用電源的輸入端。當(dāng)主電源Vcc 發(fā)生故障,降低到低電平規(guī)定值時(shí),將5V 電源自動兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。RST 引腳的第二功能是VPD,即接入RST 端,為RAM 提供備用電源,以保證存儲在RAM 中的信息不丟失,從而合復(fù)位后能繼續(xù)正常運(yùn)行。ALE/PROG(3

30、0 腳):地址鎖存允許信號端。當(dāng)8051 上電正常工作后,ALE 引腳不斷向外輸出正脈沖信號,此頻率為振蕩器頻率fOSC 的1/6。CPU 訪問片外存儲器時(shí),ALE 輸出信號作為鎖存低8 位地址的控制信號。平時(shí)不訪問片外存儲器時(shí),ALE 端也以振蕩頻率的1/6 固定輸出正脈沖,因而ALE 信號可以用作對外輸出時(shí)鐘或定時(shí)信號。如果想確定8051/8031 芯片的好壞,可用示波器查看ALE端是否有脈沖信號輸出。如有脈沖信號輸出,則8051/8031 基本上是好的。ALE 端的負(fù)載驅(qū)動能力為8 個(gè)LS 型TTL(低功耗甚高速TTL)負(fù)載。此引腳的第二功能PROG 在對片內(nèi)帶有4KB EPROM 的8

31、751 編程寫入(固化程序)時(shí),作為編程脈沖輸入端。PSEN(29 腳):程序存儲允許輸出信號端。在訪問片外程序存儲器時(shí),此端定時(shí)輸出負(fù)脈沖作為讀片外存儲器的選通信號。此引肢接EPROM 的OE 端(見后面幾章任何一個(gè)小系統(tǒng)硬件圖)。PSEN 端有效,即允許讀出EPROMROM 中的指令碼。PSEN 端同樣可驅(qū)動8 個(gè)LS 型TTL 負(fù)載。要檢查一個(gè)8051/8031 小系統(tǒng)上電后CPU 能否正常到EPROMROM 中讀取指令碼,也可用示波器看PSEN 端有無脈沖輸出。如有則說明基本上工作正常。EA/Vpp(31 腳):外部程序存儲器地址允許輸入端/固化編程電壓輸入端。當(dāng)EA 引腳接高電平時(shí),

32、CPU只訪問片內(nèi)EPROM/ROM并執(zhí)行內(nèi)部程序存儲器中的指令,但當(dāng)PC(程序計(jì)數(shù)器)的值超過0FFFH(對8751/8051 為4K)時(shí),將自動轉(zhuǎn)去執(zhí)行片外程序存儲器內(nèi)的程序。當(dāng)輸入信號EA 引腳接低電平(接地)時(shí),CPU 只訪問外部EPROM/ROM 并執(zhí)行外部程序存儲器中的指令,而不管是否有片內(nèi)程序存儲器。對于無片內(nèi)ROM 的8031 或8032,需外擴(kuò)EPROM,此時(shí)必須將EA 引腳接地。此引腳的第二功能是Vpp 是對8751 片內(nèi)EPROM固化編程時(shí),作為施加較高編程電壓(一般12V21V)的輸入端。3)輸入/輸出端口P0/P1/P2/P3:P0口(P0.0P0.7,3932 腳):

33、P0口是一個(gè)漏極開路的8 位準(zhǔn)雙向I/O口。作為漏極開路的輸出端口,每位能驅(qū)動8 個(gè)LS 型TTL 負(fù)載。當(dāng)P0 口作為輸入口使用時(shí),應(yīng)先向口鎖存器(地址80H)寫入全1,此時(shí)P0 口的全部引腳浮空,可作為高阻抗輸入。作輸入口使用時(shí)要先寫1,這就是準(zhǔn)雙向口的含義。在CPU 訪問片外存儲器時(shí),P0口分時(shí)提供低8 位地址和8 位數(shù)據(jù)的復(fù)用總線。在此期間,P0口內(nèi)部上拉電阻有效。P1口(P1.0P1.7,18 腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P1口每位能驅(qū)動4 個(gè)LS 型TTL 負(fù)載。在P1口作為輸入口使用時(shí),應(yīng)先向P1口鎖存地址(90H)寫入全1,此時(shí)P1口引腳由內(nèi)部上拉電

34、阻拉成高電平。P2口(P2.0P2.7,2128 腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P口每位能驅(qū)動4個(gè)LS 型TTL 負(fù)載。在訪問片外EPROM/RAM 時(shí),它輸出高8 位地址。P3口(P3.0P3.7,1017 腳):P3口是一個(gè)帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P3口每位能驅(qū)動4個(gè)LS型TTL負(fù)載。P3口與其它I/O 端口有很大的區(qū)別,它的每個(gè)引腳都有第二功能,如下:P3.0:(RXD)串行數(shù)據(jù)接收。P3.1:(RXD)串行數(shù)據(jù)發(fā)送。P3.2:(INT0#)外部中斷0輸入。P3.3:(INT1#)外部中斷1輸入。P3.4:(T0)定時(shí)/計(jì)數(shù)器0的外部計(jì)數(shù)輸入。P3

35、.5:(T1)定時(shí)/計(jì)數(shù)器1的外部計(jì)數(shù)輸入。P3.6:(WR#)外部數(shù)據(jù)存儲器寫選通。P3.7:(RD#)外部數(shù)據(jù)存儲器讀選通。3.1.2晶振電路電路中的晶振即石英晶體震蕩器。由于石英晶體震蕩器具有非常好的頻率穩(wěn)定性和抗外界干擾的能力,所以,石英晶體震蕩器是用來產(chǎn)生基準(zhǔn)頻率的。通過基準(zhǔn)頻率來控制電路中的頻率的準(zhǔn)確性。同時(shí),它還可以產(chǎn)生振蕩電流,向單片機(jī)發(fā)出時(shí)鐘信號。圖3-3是單片機(jī)的晶振電路。片內(nèi)電路與片外器件就構(gòu)成一個(gè)時(shí)鐘產(chǎn)生電路,CPU的所有操作均在時(shí)鐘脈沖同步下進(jìn)行。片內(nèi)振蕩器的振蕩頻率非常接近晶振頻率,一般多在1.2MHz24MHz之間選取。C1、C2是反饋電容,其值在20pF100p

36、F之間選取,典型值為30pF。本電路選用的電容為30pF,晶振頻率為12MHz。振蕩周期1/12s; 機(jī)器周期Sm=1s 指令周期T14sXTAL1接外部晶體的一個(gè)引腳,XTAL2接外晶體的另一端。在單片機(jī)內(nèi)部,接至上述振蕩器的反相放大器的輸出端。采用外部振蕩器時(shí),對HMOS單片機(jī),該引腳接外部振。在石英晶體的兩個(gè)管腳加交變電場時(shí),它將會產(chǎn)生一定頻率的機(jī)械變形,而這種機(jī)械振動又會產(chǎn)生交變電場,上述物理現(xiàn)象稱為壓電效應(yīng)。一般情況下,無論是機(jī)械振動的振幅,還是交變電場的振幅都非常小。但是,當(dāng)交變電場的頻率為某一特定值時(shí),振幅驟然增大,產(chǎn)生共振,稱之為壓電振蕩。這一特定頻率就是石英晶體的固有頻率,也

37、稱諧振頻率。石英晶振起振后要能在XTAL2線上輸出一個(gè)3V左右的正弦波,以便使MCS-51片內(nèi)的OSC電路按石英晶振相同頻率自激振蕩。通常,OSC的輸出時(shí)鐘頻率fOSC為0.5MHz-16MHz,典型值為12MHz或者11.0592MHz。電容C1和C2可以幫助起振,典型值為30pF,調(diào)節(jié)它們可以達(dá)到微調(diào)fOSC的目的。圖3-3 單片機(jī)晶振電路圖3.1.3復(fù)位電路在上電或復(fù)位過程中控制CPU的復(fù)位狀態(tài),這段時(shí)間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯誤的指令,執(zhí)行錯誤操作,也可以提高電磁兼容性能。無論使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)

38、復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。復(fù)位后,PC內(nèi)容初始化為0000H,是單片機(jī)從0000H單元開始執(zhí)行程序。單片機(jī)復(fù)位后不影響內(nèi)部RAM的狀態(tài)。89C52單片機(jī)復(fù)位信號的輸入端是RESET引腳,高電平有效。其有效時(shí)間持續(xù)24個(gè)時(shí)鐘周期以上。單片機(jī)RESET端得外部復(fù)位電路有兩種操作方式:上電自動復(fù)位和按鍵手動復(fù)位。上電自動復(fù)位是利用電容儲電來實(shí)現(xiàn)的,如圖3-4所示。上電瞬間,RC電路充電,RESET端出現(xiàn)正脈沖,隨著充電電流的減少,RESET

39、的電位逐漸下降。按鍵手動復(fù)位用電平方式。按鍵電平復(fù)位是相當(dāng)于RESET通過電阻接高電平。按鍵為S1。圖3-4 復(fù)位電路圖3.2電機(jī)驅(qū)動模塊如果給步進(jìn)電機(jī)發(fā)一個(gè)控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個(gè)脈沖,它會再轉(zhuǎn)一步。兩個(gè)脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對步進(jìn)電機(jī)進(jìn)行調(diào)速。 步進(jìn)電機(jī)步數(shù)及速度的確定方法如下:要想使步進(jìn)電機(jī)按一定的速度精確地到達(dá)指定位置(角度或位移),步進(jìn)電機(jī)的步數(shù)N和延時(shí)時(shí)間DALAYA是兩個(gè)重要的參數(shù)。前者用來控制步進(jìn)電機(jī)的精度,后者用來控制其步進(jìn)的速率。步進(jìn)電機(jī)步數(shù)的確定:本設(shè)計(jì)采用的步進(jìn)電機(jī)的步距角為1.80,即電機(jī)轉(zhuǎn)動一周實(shí)際“走”步數(shù)設(shè)為N

40、, N=360/1.8=200 (式3-1)實(shí)際測量得,繞線軸周長C為4cm。確定電機(jī)要轉(zhuǎn)動的實(shí)際里程Scm后,步進(jìn)電機(jī)要“走”的實(shí)際步數(shù),設(shè)為NSJ, NSJ=(S/C)200 (式3-2)附:轉(zhuǎn)子齒數(shù)設(shè)為Zr,由步距角 =3600/(MZrC) (式3-3)C狀態(tài)系數(shù),G轉(zhuǎn)子齒數(shù),M相數(shù) Zr=3600/(MC)=3600/(1.8021)=100 (式3-4)步進(jìn)電機(jī)實(shí)際要“走”的步數(shù),即為接收到的來自控制模塊的脈沖數(shù)。 升降國旗所需的脈沖數(shù):升國旗一秒所走的距離: SQ=H/T=180/43=4.186cm/s (式3-5)H旗桿的高度,T國歌的時(shí)間1.80所走的路程:L =(C-1.

41、80)/3600 =0.02cm/s升國旗一秒所需的脈沖數(shù):N= SQ/L=4.186/0.02=205 個(gè)ULN2003 的每一對達(dá)林頓都串聯(lián)一個(gè)2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。ULN2003 工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V 的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。ULN2003 采用DIP16 或SOP16 塑料封裝。因?yàn)樵诒驹O(shè)計(jì)中我們使用的是四相步進(jìn)電機(jī),所以ULN2003完全符合要求。其電路原理圖如圖3-5所示。圖3-5 電機(jī)驅(qū)動電路3.3步進(jìn)電機(jī)

42、控制方法當(dāng)步進(jìn)驅(qū)動器接收到一個(gè)脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個(gè)固定的角度,即步進(jìn)角。通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。對于步進(jìn)電機(jī)有以下特點(diǎn): 步進(jìn)電機(jī)的力矩會隨轉(zhuǎn)速的升高而下降。當(dāng)步進(jìn)電機(jī)轉(zhuǎn)動時(shí),電機(jī)各相繞組的電感將形成一個(gè)反向電動勢,頻率越高,反向電動勢越大。在它的作用下,電機(jī)相電流隨頻率或速度增大而減小,從而導(dǎo)致力矩下降。 步進(jìn)電機(jī)低速時(shí)可以正常運(yùn)轉(zhuǎn),但若高于一定速度就無法啟動,并伴有嘯叫聲。步進(jìn)電機(jī)有一個(gè)技術(shù)參數(shù)叫空載啟動頻率,即步進(jìn)電機(jī)在空載情況下能夠正常啟動的脈沖頻率,如果脈沖

43、頻率高于該值,電機(jī)不能正常啟動,可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動頻率應(yīng)更低。如果要使電機(jī)達(dá)到高速轉(zhuǎn)動,脈沖頻率應(yīng)該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機(jī)轉(zhuǎn)速從低速升到高速)。 步進(jìn)電機(jī)的保持轉(zhuǎn)矩是指通電但沒有轉(zhuǎn)動時(shí),定子鎖住轉(zhuǎn)子的力矩。它是步進(jìn)電機(jī)最重要的參數(shù)之一,通常步進(jìn)電機(jī)在低速時(shí)的力矩接近保持轉(zhuǎn)矩。由于步進(jìn)電機(jī)的輸出力矩隨速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉(zhuǎn)矩就成為了衡量步進(jìn)電機(jī)最重要的參數(shù)之一。 步進(jìn)電機(jī)必須加驅(qū)動才可以運(yùn)轉(zhuǎn),驅(qū)動信號必須為脈沖信號,沒有脈沖的時(shí)候,步進(jìn)電機(jī)靜止,如果加入適當(dāng)?shù)拿}沖信號,就會以一定的角度(稱

44、為步角)轉(zhuǎn)動。轉(zhuǎn)動的速度和脈沖的頻率成正比。 步進(jìn)電機(jī)具有瞬間啟動和急速停止的優(yōu)越特性。 改變脈沖的順序,可以方便的改變轉(zhuǎn)動的方向。因此,目前打印機(jī),繪圖儀,機(jī)器人等設(shè)備都以步進(jìn)電機(jī)為動力核心。只要對步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動。四相步進(jìn)電機(jī)工作原理如圖3-6所示。圖3-6 四相步進(jìn)電機(jī)工作原理圖中間部分是轉(zhuǎn)子,由一個(gè)永磁體組成,邊上的是定子繞組。當(dāng)定子的一個(gè)繞組通電時(shí),將產(chǎn)生一個(gè)方向的電磁場,如果這個(gè)磁場的方向和轉(zhuǎn)子磁場方向不在同一條直線上,那么定子和轉(zhuǎn)子的磁場將產(chǎn)生一個(gè)扭力將定子扭轉(zhuǎn)。依次改變繞組的磁場,就可以使步進(jìn)電機(jī)正轉(zhuǎn)或反轉(zhuǎn)(比如通電次序?yàn)锳-B-C-D

45、正轉(zhuǎn),反之則反轉(zhuǎn))。而改變磁場切換的時(shí)間間隔,就可以控制步進(jìn)電機(jī)的速度了,這就是步進(jìn)電機(jī)的驅(qū)動原理。四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。單四拍、雙四拍與八拍工作電源通電時(shí)序與波形分別如圖3-7所示。 單四拍 雙四拍 八拍圖3-7 步進(jìn)電機(jī)工作方式此處采用步進(jìn)電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC 5V。當(dāng)對步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時(shí),它可以連續(xù)不斷地轉(zhuǎn)動。每一個(gè)脈沖信號對應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次

46、,也就對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度(一個(gè)步距角)。當(dāng)通電狀態(tài)的改變完成一個(gè)循環(huán)時(shí),轉(zhuǎn)子轉(zhuǎn)過一個(gè)齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行,常見的通電方式有單(單相繞組通電)四拍(A-B-C-D-A),雙(雙相繞組通電)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。28BYJ48型電機(jī)是4相5線的步進(jìn)電機(jī),而且是減速步進(jìn)電機(jī),減速比為1:64,步進(jìn)角為5.625/64 度。如果需要轉(zhuǎn)動1圈,也就是旗桿滑輪的周長,則需要360/5.625*64=4096個(gè)脈沖信號,根據(jù)旗桿的高度和滑輪周長之間比例關(guān)系即可算出升旗所需要的全部脈沖。升旗的時(shí)間是43秒,用43除

47、以脈沖個(gè)數(shù)即可算出控制速度。3.4升降旗按鍵與指示燈電路設(shè)計(jì)在本設(shè)計(jì)中使用了2個(gè)按鍵分別控制國旗的升降,相對應(yīng)有兩個(gè)升降旗的指示燈。當(dāng)按下升旗按鍵時(shí),紅色LED燈亮,當(dāng)按下降旗按鍵時(shí),綠色LED指示燈亮。圖3-8和圖3-10889為按鍵和LED指示燈電路。圖3-10 按鍵電路圖3-9 指示燈設(shè)計(jì)3.5液晶顯示電路液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在各種小系統(tǒng)中得到了更廣泛的應(yīng)用。本設(shè)計(jì)中使用的液晶顯示模塊是LCD1602。圖3-10所示為本設(shè)計(jì)LCD1602的連接圖。圖3-10 LCD1602連接圖LCD1602是一種用5x7點(diǎn)陣圖形來顯示字符的液晶顯示器模塊,它

48、顯示的容量為2行16個(gè)字。其實(shí)物如圖3-11和圖3-12所示,它的顯示內(nèi)容豐富、體積小、美觀和易于控制都是本設(shè)計(jì)選擇作為顯示模塊的原因。圖3-11 LCD1602正面圖圖3-12 LCD1602反面圖工作原理:線段的顯示點(diǎn)陣圖形式液晶由 M 行N 列個(gè)顯示單元組成,假設(shè) LCD 顯示屏有64行,每行有 128列,每 8列對應(yīng) 1 個(gè)字節(jié)的 8 個(gè)位,即每行由 16 字節(jié),共 168=128個(gè)點(diǎn)組成,屏上 6416 個(gè)顯示單元和顯示 RAM 區(qū) 1024 個(gè)字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和屏上相應(yīng)位置的亮暗對應(yīng)。例如屏的第一行的亮暗由 RAM 區(qū)的 000H00FH 的 16 個(gè)字節(jié)的內(nèi)容決定,當(dāng)(

49、000)=FFH 時(shí),則屏的左上角顯示一條短亮線,長度為8個(gè)點(diǎn);當(dāng)(3FFH=FFH 時(shí),則屏的右下角顯示一短亮線;當(dāng)(000H)=FFH,(001H)=00H,(002H)=FFH,(003H)=00H,(00EH)=FFH,(00FH)=00H 時(shí),則在屏的頂部顯示一條由 8 段亮線和8 條暗線組成的虛線。這就是 LCD 顯示的基本意思。字符的顯示當(dāng)用 LCD 顯示一個(gè)字符時(shí)就較復(fù)雜了,因?yàn)橐粋€(gè)字符由 68 或 88點(diǎn)陣組成,即要找到和屏上某幾個(gè)位置對應(yīng)的顯示 RAM區(qū)的 8 個(gè)字節(jié),并且要使每個(gè)字節(jié)的不同的位為1,其它的為0,為1的點(diǎn)亮,為0的點(diǎn)暗,這樣一來就組成某個(gè)字符。但對于內(nèi)帶字符

50、發(fā)生器的控制器(如 T6963C)來說,顯示字符就比較簡單了,可讓控制器工作在文本方式,根據(jù)在LCD 上開始顯示的行列號及每行的列數(shù)找出顯示 RAM對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。漢字的顯示漢字的顯示一般采用圖形方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼,每個(gè)漢字占 32 字節(jié),分左右兩半部,各占 16 字節(jié),左邊為 1、3、5,右邊為 2、4、6, 根據(jù)在 LCD 上開始顯示的行列號及每行的列數(shù)可找出顯示 RAM 對應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的第一個(gè)字節(jié),光標(biāo)位置加 1,送第二字節(jié),換行按列對齊,送第三字節(jié)直到32字節(jié)顯示完就可在 LCD 上得到一個(gè)完整的漢字。

51、帶中文字庫的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。可以顯示84行1616點(diǎn)陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。其中:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高,對比度過高時(shí)會產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整

52、對比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號,當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為始能端,當(dāng)E端由高電平變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第1516腳:空腳。第17腳:復(fù)位端,低電平有效。第18腳:顯示驅(qū)動電壓輸出端。第19腳:VDD背光電源正端+5V。第20腳:VDD背光電源負(fù)端。1602液晶模塊內(nèi)部的控制器共有11 條控制指令,它的讀寫操作、

53、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。指令如下:指令1:清顯示。指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位。光標(biāo)返回到地址00H。指令3:光標(biāo)和現(xiàn)實(shí)模式設(shè)置I/D。光標(biāo)移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或右移。高電平有效,低電平則無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示以為S/C。高電平時(shí)移動顯示的文字,低電平時(shí)移動光標(biāo)。指令6:功能設(shè)置命令 DL。高電平時(shí)為4位總線,低電平時(shí)為8

54、位總線 N:低電平時(shí)為單行顯示,高電平雙行顯示 。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址 BF。為忙標(biāo)志,高電平表示忙,此時(shí)模塊不能接受命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。3.6語音模塊電路設(shè)計(jì)因?yàn)楸驹O(shè)計(jì)要求演奏國歌,其時(shí)間為43秒鐘,所以選用的語音芯片其錄放時(shí)間應(yīng)大于43秒鐘,即在此選用語音芯片ISD400408,其錄放時(shí)間為60秒,完全符合本設(shè)計(jì)的要求,我們把國歌音樂錄制在ISD400408語音芯片中,然后用它的單次播放功能播放國歌,其電路原理圖如圖3-13所示。圖3-13 語音模塊的電路原理圖ISD器件

55、的地址不是通常意義上的字節(jié)地址單元,而是內(nèi)部存儲器的行地址。行是語音信息段的基本組成單位。以ISD4004-8MP為例,它內(nèi)部的3840K閃爍存儲器單元共分為1600行,每個(gè)地址單元指向其中的一行,即有1600個(gè)行地址單元。ISD4004-8MP的錄放時(shí)間為八分鐘,采樣頻率為8kHz,因此它的每行語音長度為200ms,即地址分辨率為200ms。ISD器件可以進(jìn)行多段錄放操作,每一段稱為一個(gè)語音信息段。一個(gè)語音信息段由其起始地址、記錄的數(shù)據(jù)和信息結(jié)束標(biāo)志EOM(表示一個(gè)語音信息段的結(jié)束)三部分組成。ISD器件出廠時(shí),其內(nèi)部存儲器的一行已經(jīng)設(shè)計(jì)有多個(gè)可能的EOM標(biāo)志位置。ISD4004系列一行有八

56、個(gè),第一個(gè)位于行起始后的25ms處,第八個(gè)位于行結(jié)束處,剩下EOM標(biāo)志間隔25ms均勻分布。錄音停止后,向器件發(fā)送STOP命令,錄音的進(jìn)程不會馬上停止,到了下一個(gè)最近的可能EOM標(biāo)志位置時(shí),用一個(gè)EOM標(biāo)志寫入器件來記錄語音結(jié)束的位置。這樣做可以使錄音的進(jìn)程在盡可能短的時(shí)間內(nèi)停止。在實(shí)際應(yīng)用中,一行最多只能有一個(gè)EOM標(biāo)志說明語音信息段的結(jié)束,無論這個(gè)標(biāo)志在哪里,下一條語音信息將從新的一行開始。所以一個(gè)語音信息段可以占用一行或多行存儲空間,可以包括多個(gè)地址單元;一個(gè)地址單元最多只能作為一個(gè)獨(dú)立的段。ISD4004最多可以分為1600個(gè)語音信息段。4 系統(tǒng)的軟件設(shè)計(jì)單片機(jī)系統(tǒng)是整個(gè)自動控制升降旗系統(tǒng)的核心部

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論