![步進(jìn)電機(jī)角度控制設(shè)計(jì)[運(yùn)用學(xué)習(xí)]_第1頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/22/9a93935c-2693-4e45-84ac-0edeeb37d99b/9a93935c-2693-4e45-84ac-0edeeb37d99b1.gif)
![步進(jìn)電機(jī)角度控制設(shè)計(jì)[運(yùn)用學(xué)習(xí)]_第2頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/22/9a93935c-2693-4e45-84ac-0edeeb37d99b/9a93935c-2693-4e45-84ac-0edeeb37d99b2.gif)
![步進(jìn)電機(jī)角度控制設(shè)計(jì)[運(yùn)用學(xué)習(xí)]_第3頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/22/9a93935c-2693-4e45-84ac-0edeeb37d99b/9a93935c-2693-4e45-84ac-0edeeb37d99b3.gif)
![步進(jìn)電機(jī)角度控制設(shè)計(jì)[運(yùn)用學(xué)習(xí)]_第4頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/22/9a93935c-2693-4e45-84ac-0edeeb37d99b/9a93935c-2693-4e45-84ac-0edeeb37d99b4.gif)
![步進(jìn)電機(jī)角度控制設(shè)計(jì)[運(yùn)用學(xué)習(xí)]_第5頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/22/9a93935c-2693-4e45-84ac-0edeeb37d99b/9a93935c-2693-4e45-84ac-0edeeb37d99b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄摘要11設(shè)計(jì)任務(wù)與要求21.1設(shè)計(jì)目的21.2設(shè)計(jì)要求和設(shè)計(jì)指標(biāo)22方案分析33系統(tǒng)硬件部分43.1主控模塊43.2鍵盤輸入模塊73.3電機(jī)模塊83.4顯示模塊114系統(tǒng)軟件部分134.1整體流程圖及主程序134.2按鍵流程圖及程序144.3顯示模塊程序194.4電動(dòng)機(jī)模塊流程圖及程序204.5中斷程序225仿真運(yùn)行246心得體會(huì)25參考文獻(xiàn)26附錄一:Protues硬件仿真圖27附錄二:系統(tǒng)程序28互聯(lián)網(wǎng)絡(luò)摘要步進(jìn)電機(jī)在控制系統(tǒng)中具有很廣泛的應(yīng)用。它可以把脈沖信號(hào)轉(zhuǎn)換成角位移,并且可用作電磁制動(dòng)輪、電磁差分器或角位移發(fā)生器等。步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進(jìn)電機(jī)
2、件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。此次設(shè)計(jì)使用C語言作為編程語言。C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言,它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件、三維、二維圖
3、形和動(dòng)畫,具體應(yīng)用例如單片機(jī)以及嵌入式系統(tǒng)開發(fā) 。硬件部分使用89C51作為主控芯片,并使用ULN2003A將單片機(jī)的信號(hào)放大以控制步進(jìn)電機(jī),同時(shí)使用4位數(shù)碼管顯示轉(zhuǎn)動(dòng)角度及次數(shù)。關(guān)鍵詞:步進(jìn)電機(jī) C語言 AT89C51 ULN2003A 轉(zhuǎn)動(dòng)角度 1設(shè)計(jì)任務(wù)與要求1.1設(shè)計(jì)目的設(shè)計(jì)制作和調(diào)試一個(gè)由8086組成步進(jìn)電機(jī)角度測(cè)控系統(tǒng)。通過這個(gè)過程學(xué)習(xí)熟悉鍵盤控制和七段數(shù)碼管的使用,掌握步進(jìn)電機(jī)的角度控制和角度顯示方法。1.2設(shè)計(jì)要求和設(shè)計(jì)指標(biāo)1在顯示器上顯示任意四位十進(jìn)制數(shù)2將8個(gè)鍵定義鍵值為07,按任意鍵在顯示器上顯示對(duì)應(yīng)鍵值3實(shí)現(xiàn):(1)定義鍵盤按鍵:5個(gè)為數(shù)字鍵15;3個(gè)功能鍵:設(shè)置SET
4、、清零 CLR、開始START;(2)顯示器上第一位顯示次數(shù),后三位顯示每次行走的角度;(3)通過鍵盤的按鍵,設(shè)置步進(jìn)電機(jī)各次的角度值;第一位設(shè)置次數(shù),后三位設(shè)置角度值。(4)按START鍵啟動(dòng)步進(jìn)電機(jī)開始轉(zhuǎn)動(dòng),按SET鍵停止;按CLR鍵清零。2方案分析課程設(shè)計(jì)要求設(shè)計(jì)一個(gè)直流電機(jī)微型計(jì)算機(jī)角度控制系統(tǒng),定義8個(gè)鍵盤按鍵:5個(gè)為數(shù)字鍵15;3個(gè)功能鍵:設(shè)置SET、清零 CLR、開始START;顯示器上的四位可顯示轉(zhuǎn)動(dòng)次數(shù)和每次轉(zhuǎn)動(dòng)角度;通過鍵盤的按鍵,設(shè)置步進(jìn)電機(jī)轉(zhuǎn)動(dòng)次數(shù)和每次轉(zhuǎn)動(dòng)角度;按START鍵啟動(dòng)電機(jī)開始轉(zhuǎn)動(dòng),按SET鍵停止;按CLR鍵清零。綜合分析之后,我們應(yīng)該將電路實(shí)現(xiàn)利用鍵盤按鍵
5、通過89C51的P3口實(shí)現(xiàn)輸入功能,并通過89C51的P0口和P1口實(shí)現(xiàn)對(duì)數(shù)碼管顯示的控制。同時(shí)我們可以通過P2口控制ULN2003A驅(qū)動(dòng)電動(dòng)機(jī)運(yùn)行。我們可以將整體電路設(shè)計(jì)成幾個(gè)相對(duì)獨(dú)立而又有機(jī)結(jié)合的模塊,來逐一進(jìn)行分析。通過分析我們可以畫出系統(tǒng)圖,如圖2-1所示。圖2-1 系統(tǒng)圖3系統(tǒng)硬件部分3.1主控模塊3.1.1 AT89C51芯片本次設(shè)計(jì)是使用AT89C51作為主控芯片,AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的M
6、CS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,89C2051是它的一種精簡(jiǎn)版本。89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51的40個(gè)引腳主要有一下幾種(1)VCC:供電電壓。(2)GND:接地。(3)P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必
7、須被拉高。(4)P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。(5)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口輸出地址的高八位。
8、在給出地址“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)。(6)P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口還有其他一些特殊功能,本事設(shè)計(jì)沒有使用,故在此不做敘述。(7)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。(8)ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的
9、輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。(9)/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信
10、號(hào)將不出現(xiàn)。(10)/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間為外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器讀取外部ROM數(shù)據(jù)。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),單片機(jī)讀取內(nèi)部程序存儲(chǔ)器。(擴(kuò)展有外部ROM時(shí)讀取完內(nèi)部ROM后自動(dòng)讀取外部ROM)。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。(11)XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。(12)XTAL2:來自反向振蕩器的輸出圖3-1 AT89C51芯片3.1.2時(shí)鐘電路及復(fù)位電路在本次課程設(shè)計(jì)中,我們用到AT89C51單片機(jī)。而他需要一些
11、特定的控制電路的控制才能更好地工作。具體到本次課設(shè)中,我們需要時(shí)鐘電路、防抖電路、復(fù)位電路等。如圖3-2所示是我們的時(shí)鐘電路,由電容C1、C2以及晶振組成。圖3-2 時(shí)鐘電路如圖3-3所示是我們的復(fù)位電路。圖3-3 復(fù)位電路3.2鍵盤輸入模塊在微機(jī)化儀器儀表中,鍵盤是最常用的一種輸入設(shè)備,用于輸入數(shù)據(jù)和命令。鍵盤的每一個(gè)按鍵都被賦予一個(gè)代碼,稱為鍵碼。鍵盤系統(tǒng)的主要工作包括及時(shí)發(fā)現(xiàn)有鍵閉合,求閉合鍵的鍵碼。根據(jù)這一過程的不同,鍵盤可以分為兩種,即全編碼鍵盤和非編碼鍵盤。全編碼鍵盤多是商品化的計(jì)算機(jī)輸入設(shè)備,自動(dòng)提供對(duì)應(yīng)于被安檢的ASCII碼,且能同時(shí)產(chǎn)生一個(gè)控制信號(hào)通知微處理器。此外,這種鍵盤
12、具有處理抖動(dòng)和多鍵串鍵的保護(hù)電路,具有使用方便、價(jià)格較貴、體積較大、按鍵較多等特點(diǎn)。非編碼鍵盤恰如一組開關(guān),一般組成行和列矩陣。其全部工作過程,如按鍵的識(shí)別、鍵的代碼獲取、防止串鍵及消抖等問題,都靠程序完成。因此,它所需要的硬件少,價(jià)格便宜,一般作為單板機(jī)、智能儀表等簡(jiǎn)單的輸入設(shè)備。鍵盤電路常用的有兩種,一種是獨(dú)立式鍵盤電路,另一種是矩陣式鍵盤。獨(dú)立式鍵盤每個(gè)按鍵獨(dú)占一根I/O線。因此鍵識(shí)別軟件非常簡(jiǎn)單。對(duì)于只有幾個(gè)按鍵的系統(tǒng),常采用這種電路。對(duì)于多按鍵系統(tǒng)來講,這種電路憂郁將占用更多的I/O線而變得無法實(shí)用。矩陣式鍵盤電路將I/O口線的一部分作為行線,另一部分作為列線,按鍵設(shè)置在行線和列線的
13、交叉點(diǎn)上,這就構(gòu)成了行列式鍵盤。行列式鍵盤中按鍵的數(shù)量可達(dá)行線數(shù)n乘以列線數(shù)m。由此可以看到行列式鍵盤在按鍵較多時(shí),可以節(jié)省I/O線。按鍵開關(guān)的兩端分別接在行線和列線上。行線通過一個(gè)電阻接到+5V電源上,在沒有鍵按下時(shí),行線處于高電平狀態(tài)。判斷是否有鍵按下的方法是:向所有的列線I/O口輸出低電平,然后將行線的電平狀態(tài)讀入累加器中,若無鍵按下,行線仍保持高電平狀態(tài),若有鍵按下,行線至少應(yīng)有一條為低電平。當(dāng)確定有鍵按下后,即可進(jìn)行求鍵碼的過程。其方法是:依次從一條列線上輸出低電平,然后檢查各行線的狀態(tài),若全為高電平,說明閉合鍵不在該列;若不全為1,則說明閉合鍵在該列,且在變?yōu)榈碗娖降男械慕稽c(diǎn)上。在
14、鍵盤處理程序中,每個(gè)鍵都被賦予了一個(gè)鍵號(hào),由從列線I/O口輸出的數(shù)據(jù)和從行線I/O口讀入的數(shù)據(jù)可以求出閉合鍵的鍵號(hào)。圖3-4鍵盤模塊原理圖3.3電機(jī)模塊3.3.1步進(jìn)電機(jī)結(jié)構(gòu)及工作原理步進(jìn)電機(jī)又叫脈沖電機(jī),它是一種將電脈沖信號(hào)轉(zhuǎn)換為角位移的機(jī)電式數(shù)模轉(zhuǎn)換器。在開環(huán)數(shù)字程序控制系統(tǒng)中,輸出控制部分常采用步進(jìn)電機(jī)作為驅(qū)動(dòng)元件。步進(jìn)電機(jī)控制線路接受計(jì)算機(jī)發(fā)來的指令脈沖,控制步進(jìn)電機(jī)作為驅(qū)動(dòng)元件。步進(jìn)電機(jī)控制線路接收計(jì)算機(jī)發(fā)來的指令脈沖,控制步進(jìn)電機(jī)做相應(yīng)的轉(zhuǎn)動(dòng)。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過一個(gè)步距角。
15、這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡(jiǎn)單。步進(jìn)電機(jī)的驅(qū)動(dòng)電路根據(jù)控制信號(hào)工作,控制信號(hào)由8086通過8255A產(chǎn)生。此次設(shè)計(jì)采用四相式步進(jìn)電機(jī)。圖3-5 步進(jìn)電機(jī)勵(lì)磁線圈(1) 步進(jìn)電機(jī)工作原理說明步進(jìn)電機(jī)由轉(zhuǎn)子和定子組成。轉(zhuǎn)子由一個(gè)永久磁鐵構(gòu)成,定子分別由四組繞組組成。步進(jìn)電機(jī)組成和電氣連接分別如圖3-6和3-7所示。 圖3-6 轉(zhuǎn)子和定子示意圖 圖3-7 電氣連接示意圖當(dāng)S1連通電源后,定子磁場(chǎng)將產(chǎn)生一個(gè)靠近轉(zhuǎn)子為N極,遠(yuǎn)離轉(zhuǎn)子為S極才磁場(chǎng),這樣的定子磁場(chǎng)和轉(zhuǎn)子的固有磁場(chǎng)發(fā)生作用,轉(zhuǎn)子就會(huì)轉(zhuǎn)動(dòng),正確地S1、
16、S4的送電次序,就能控制轉(zhuǎn)子旋轉(zhuǎn)的方向。例如:若送電的順序?yàn)镾1閉合斷開S2閉合斷開S3閉合斷開S4閉合斷開,周而復(fù)始的循環(huán),在定子和轉(zhuǎn)子共同作用下,電機(jī)就瞬時(shí)針旋轉(zhuǎn):若送電的順序?yàn)镾4閉合斷開S3閉合斷開S2閉合斷開S1閉合斷開,周而復(fù)始的循環(huán),則電機(jī)就逆時(shí)針旋轉(zhuǎn),原理同理。3.3.2 電機(jī)驅(qū)動(dòng)ULN2003A簡(jiǎn)介ULN2003是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN達(dá)林頓管組成。ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。ULN2003A管腳如圖3-8所示。圖3-8 ULN2003A
17、管腳圖ULN2003 的每一對(duì)達(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內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,可用來驅(qū)動(dòng)繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動(dòng)電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達(dá)林頓管組成驅(qū)動(dòng)電路。ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,它的輸出端允許
18、通過電流為200mA,飽和壓降VCE約1V左右,耐壓BVCEO約為36V。用戶輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,故可直接驅(qū)動(dòng)繼電器或固體繼電器,也可直接驅(qū)動(dòng)低壓燈泡。通常單片機(jī)驅(qū)動(dòng)ULN2003時(shí),上拉2K的電阻較為合適,同時(shí),COM引腳應(yīng)該懸空或接電源。ULN2003是一個(gè)非門電路,包含7個(gè)單元,單獨(dú)每個(gè)單元驅(qū)動(dòng)電流最大可達(dá)350mA,9腳可以懸空。由于ULN2003有這些特點(diǎn),所以經(jīng)常作為顯示驅(qū)動(dòng)、繼電器驅(qū)動(dòng)、照明燈驅(qū)動(dòng)、電磁閥驅(qū)動(dòng)、伺服電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)等電路中。 ULN2003A內(nèi)部結(jié)構(gòu)如圖3-9所示。 圖3-9 ULN2003A內(nèi)部結(jié)構(gòu)圖圖3-10
19、電機(jī)模塊原理圖3.4顯示模塊數(shù)碼管是數(shù)碼顯示器的俗稱。常用的數(shù)碼顯示器有半導(dǎo)體數(shù)碼管,熒光數(shù)碼管,輝光數(shù)碼管和液晶顯示器等。譯碼和數(shù)碼顯示電路是將數(shù)字鐘和計(jì)時(shí)狀態(tài)直觀清晰的反映出來,被人們的視覺器官所接受。顯示器件采用七段數(shù)碼管。在譯碼顯示電路輸出的驅(qū)動(dòng)下,顯示出直觀、清晰的數(shù)字符號(hào)。本設(shè)計(jì)所采用的是半導(dǎo)體數(shù)碼管,是用發(fā)光二極管(簡(jiǎn)稱LED)組成的字形來顯示數(shù)字,七個(gè)條形發(fā)光二極管排列成七段組合字形,便構(gòu)成了半導(dǎo)體數(shù)碼管。半導(dǎo)體數(shù)碼管有共陽極和共陰極兩種類型,共陽極數(shù)碼管的七個(gè)發(fā)光二極管的陽極連在一起,而七個(gè)陰極則是獨(dú)立的。共陰極數(shù)碼管與共陽極數(shù)碼管相反,七個(gè)發(fā)光二極管的陰極連在一起,而陽極是
20、獨(dú)立的。當(dāng)共陽極數(shù)碼管的某一陰極接低電平時(shí),相應(yīng)的二極管發(fā)光,可根據(jù)字形使某幾段二極管發(fā)光,所以共陽極數(shù)碼管需要輸出低電平有效的譯碼器去驅(qū)動(dòng)。共陰極數(shù)碼管則需要輸出高電平有效的譯碼器去驅(qū)動(dòng)。七段顯示數(shù)碼管的外部引線排列如圖3-11,共陽極數(shù)碼管結(jié)構(gòu)示意圖如圖3-12所示。圖3-11 數(shù)碼管外引線排列圖3-12 共陽極數(shù)碼管結(jié)構(gòu)示意圖在多位LED顯示時(shí),為了節(jié)省I/O口線,簡(jiǎn)化電路,降低成本,一般采用動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方式是一位一位地分時(shí)輪流各位顯示器,對(duì)每一位顯示器來說,每隔一段時(shí)間輪流點(diǎn)亮一次,形成動(dòng)態(tài)顯示。圖3.13 顯示模塊原理圖4系統(tǒng)軟件部分4.1整體流程圖及主程序系統(tǒng)的整體軟件流
21、程圖如圖4-1所示圖4-1 系統(tǒng)流程圖主程序如下:void main() /主函數(shù)TMOD=0x01; /T0工作方式1TH0=0xd8; /設(shè)初值,0.01秒觸發(fā)一次TL0=0xf0; TR0=0; /關(guān)閉T0定時(shí)器ET0=1; /允許T0定時(shí)器中斷EA=1; /開啟總中斷允許P2=0x03;while(1)scan();show();if(num1=0) /若電機(jī)運(yùn)行次數(shù)已達(dá)到設(shè)定值,則關(guān)時(shí)器 /并將狀態(tài)位置0TR0=0;status=0;4.2按鍵流程圖及程序按鍵流程圖如圖4-2所示圖4-2 按鍵模塊流程圖按鍵模塊程序如下:void scan() /按鍵掃描if(START=0&stat
22、us=0) /開始鍵:只有當(dāng)電機(jī)不運(yùn)行時(shí)才有效,且將狀態(tài)位置1; /并開啟定時(shí)器(電機(jī)重新開始轉(zhuǎn)動(dòng))。delay(10);if(START=0&status=0)status=1;TR0=1; /開定時(shí)器0num1=num;if(SET=0&status=1) /停止鍵:只有當(dāng)電機(jī)運(yùn)行是有效,將狀態(tài)位置0; /并關(guān)閉定時(shí)器(電機(jī)停止轉(zhuǎn)動(dòng))。delay(10);if(SET=0&status=1)status=0;TR0=0; /關(guān)定時(shí)器0if(CLR=0&status=0) /清零鍵:只有當(dāng)電機(jī)不運(yùn)行時(shí),清零鍵才有效delay(10);if(CLR=0&status=0)P1=0;P0=0xf
23、f;sh=0;if(k1=0&status=0) /數(shù)字鍵1:設(shè)置為3 045。只有當(dāng)電機(jī)不運(yùn)行時(shí),數(shù)字鍵才有效delay(10);if(k1=0&status=0)num=3;num1=3;bai=0;shi=4;ge=5;sh=1;key=1;if(k2=0&status=0) /數(shù)字鍵2:設(shè)置為4 090delay(10);if(k2=0&status=0)num=4;num1=4;bai=0;shi=9;ge=0;sh=1;key=2;if(k3=0&status=0) /數(shù)字鍵3:設(shè)置為5 090delay(10);if(k3=0&status=0)num=5;num1=5;bai=
24、0;shi=9;ge=0;sh=1;key=2;if(k4=0&status=0) /數(shù)字鍵4:設(shè)置為6 045delay(10);if(k4=0&status=0)num=6;num1=6;bai=0;shi=4;ge=5;sh=1;key=1;if(k5=0&status=0) /數(shù)字鍵5:設(shè)置為7 090delay(10);if(k5=0&status=0)num=7;num1=7;bai=0;shi=9;ge=0;sh=1;key=2;4.3顯示模塊程序由于使用的是4為數(shù)碼管,每一位需要顯示不同的數(shù)字,故讓各位數(shù)碼管按照一定的順序輪流顯示,只要掃描頻率足夠高,由于人眼的“視覺暫留”現(xiàn)象
25、,就能連續(xù)穩(wěn)定的顯示。程序如下:void show() /數(shù)碼管顯示if(sh=1)P1=0x01; /顯示第一位P0=smgnum;P0=0xff;P1=0x02; /顯示第二位P0=smgbai;P0=0xff;P1=0x04; /顯示第三位P0=smgshi;P0=0xff;P1=0x08; /顯示第四位P0=smgge;P0=0xff;4.4電動(dòng)機(jī)模塊流程圖及程序要是步進(jìn)電機(jī)模塊按一定方向轉(zhuǎn)動(dòng),需要輪流給P2.0P2.3口脈沖,故采用移位的方法實(shí)現(xiàn),流程圖如圖4-3所示。(X初始值為0x01,Y初始值為0x02)圖4-3電機(jī)模塊流程圖電機(jī)模塊程序如下:void motor()/電機(jī)運(yùn)行
26、if(key=1)/每次轉(zhuǎn)動(dòng)角度為45度時(shí)if(c%2=0)x=_crol_(x,1);x=x|_crol_(x,4);elsey=_crol_(y,1);y=y|_crol_(y,4);c=c+1;P2=x|y;if(key=2) /每次轉(zhuǎn)動(dòng)角度為90度時(shí) x=_crol_(x,1);x=x|_crol_(x,4);y=_crol_(y,1);y=y|_crol_(y,4);P2=x|y;4.5中斷程序每次設(shè)計(jì)采用定時(shí)器來完成步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度,每次中斷便是計(jì)數(shù)存儲(chǔ)器加一,當(dāng)計(jì)數(shù)存儲(chǔ)器達(dá)到設(shè)定值時(shí)便使電機(jī)轉(zhuǎn)動(dòng)一次。中斷程序如下:void time0(void) interrupt 1 /中斷
27、處理程序TR0=0;TH0=0xd8;TL0=0xf0;clk+;if(clk=100) /每一秒電機(jī)運(yùn)轉(zhuǎn)一次clk=0;num1-;motor(); /調(diào)用電機(jī)運(yùn)行程序TR0=1;5仿真運(yùn)行(1)按下數(shù)字鍵后數(shù)碼管顯示數(shù)字圖5-1 數(shù)碼管顯示(2)按下開始鍵后,電機(jī)開始運(yùn)行圖5-2 電機(jī)運(yùn)行圖(3)按下停止鍵后,電機(jī)停止運(yùn)行(4)按下清零鍵后,數(shù)碼管被清零。圖5-3 電機(jī)停止運(yùn)轉(zhuǎn)6心得體會(huì)在我們的大三即將結(jié)束的時(shí)候,我進(jìn)行了步進(jìn)電機(jī)微型計(jì)算機(jī)角度控制系統(tǒng)的設(shè)計(jì)??傮w來說,本次訓(xùn)練主要是針對(duì)計(jì)算機(jī)控制技術(shù)所學(xué)理論知識(shí)的檢測(cè)以及對(duì)protues軟件的學(xué)習(xí)和使用。 隨著不斷深入的學(xué)習(xí),我感受到了這
28、個(gè)軟件的強(qiáng)大。以前我們學(xué)習(xí)計(jì)算機(jī)控制技術(shù),需要絞盡腦汁的計(jì)算分析各電路。而使用這種方法,不但計(jì)算量大、分析不太準(zhǔn)確、結(jié)果準(zhǔn)確性差、費(fèi)時(shí)費(fèi)力,通過學(xué)習(xí)protues,并通過使用protues,非常方便準(zhǔn)確的得到了仿真電路的正確連線方法以及最優(yōu)化電路。分析起來又快又準(zhǔn)確。大大促進(jìn)了我們的學(xué)習(xí)效率。這次課程設(shè)計(jì)不僅鍛煉了我們的自學(xué)能力以及我自己的耐力。而且我也深切的感受到了計(jì)算機(jī)控制技術(shù)在日常生活中的廣泛應(yīng)用,作為工科生我們更要加強(qiáng)理論聯(lián)系實(shí)際,為以后成為一名技術(shù)人才奠定堅(jiān)實(shí)的理論實(shí)踐基礎(chǔ)。參考文獻(xiàn)1 郭天祥. 新概念51單片機(jī)C語言教程.北京:電子工業(yè)出版社,20092 周潤(rùn)景.基于PROTEUS
29、 的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真.北京:北京航空航天出版社,20063 陳伯石.電力拖動(dòng)自動(dòng)控制系統(tǒng).北京:機(jī)械工業(yè)出版社,2003.4 李光飛.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo).北京:北京航空航天出版社,20045 陳光東.單片微型計(jì)算機(jī)原理與接口技術(shù)(第二版).武漢:華中科技大學(xué)出版社,1999附錄一:Protues硬件仿真圖附錄二:系統(tǒng)程序#includereg51.h#includeintrins.hsbit k1=P30; sbit k2=P31;sbit k3=P32;sbit k4=P33;sbit k5=P34;sbit START=P35;sbit SET=P36;sbit CLR=P3
30、7;int smg10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;int status=0,sh=0;int num,bai,shi,ge,num1,key=0;int clk=0;int c=0,x=0x1,y=0x2;void delay(int a);void scan();void show();void motor();void delay(int a) /延時(shí)程序int i,j;for(i=a;i0;i-)for(j=1000;j0;j-);void scan() /按鍵掃描if(START=0&status=0) /開始鍵
31、:只有當(dāng)電機(jī)不運(yùn)行時(shí)才有效,且將狀態(tài)位置1; /并開啟定時(shí)器(電機(jī)重新開始轉(zhuǎn)動(dòng))。delay(10);if(START=0&status=0)status=1;TR0=1; /開定時(shí)器0num1=num;if(SET=0&status=1) /停止鍵:只有當(dāng)電機(jī)運(yùn)行是有效,將狀態(tài)位置0; /并關(guān)閉定時(shí)器(電機(jī)停止轉(zhuǎn)動(dòng))。delay(10);if(SET=0&status=1)status=0;TR0=0; /關(guān)定時(shí)器0if(CLR=0&status=0) /清零鍵:只有當(dāng)電機(jī)不運(yùn)行時(shí),清零鍵才有效delay(10);if(CLR=0&status=0)P1=0;P0=0xff;sh=0;if(k1=0&status=0) /數(shù)字鍵1:設(shè)置為3 045。只有當(dāng)電機(jī)不運(yùn)行時(shí),數(shù)字鍵才有效delay(10);if(k1=0&status=0)num=3;num1=3;bai=0;shi=4;ge=5;sh=1;key=1;if(k2=0&status=0) /數(shù)字鍵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 土木課題申報(bào)書范文
- 千金合同合同范本
- 公司注冊(cè)股東合同范本
- 單獨(dú)招生機(jī)電類練習(xí)題庫與答案
- MySQL數(shù)據(jù)庫原理設(shè)計(jì)與應(yīng)用模擬題+參考答案
- 修路租用土地合同范例
- 下鄉(xiāng)支教社會(huì)實(shí)踐報(bào)告
- 醫(yī)療訂購合同范本
- 一年級(jí)語文下冊(cè)識(shí)字教案
- 反擔(dān)保合同范本2
- 2024年上海公安機(jī)關(guān)勤務(wù)輔警招聘筆試參考題庫附帶答案詳解
- 《傳染病》PPT課件完美版-2024鮮版
- 2024年事業(yè)單位考試?yán)ッ魇蠥類《職業(yè)能力傾向測(cè)驗(yàn)》深度預(yù)測(cè)試題含解析
- 產(chǎn)品試用免責(zé)聲明
- 【音樂】歌唱祖國-《彩色的中國》課件 2023-2024學(xué)年人音版初中音樂七年級(jí)上冊(cè)
- 轟趴館計(jì)劃書
- 檢驗(yàn)檢測(cè)機(jī)構(gòu)質(zhì)量管理課件
- 2023年上海市16區(qū)數(shù)學(xué)中考二模匯編2 方程與不等式(39題)含詳解
- 中國民航大學(xué)開題報(bào)告模板
- 崗位之間工作銜接配合安全與職業(yè)衛(wèi)生事項(xiàng)課件
- 人民幣銀行結(jié)算賬戶管理系統(tǒng)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論