簡易數控刻尺機_第1頁
簡易數控刻尺機_第2頁
簡易數控刻尺機_第3頁
簡易數控刻尺機_第4頁
簡易數控刻尺機_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上專心-專注-專業 課程設計說明書設計題目:簡易數控刻尺機控制系統設計學生姓名:學 號:班 級: 專 業: 指導教師: 精選優質文檔-傾情為你奉上專心-專注-專業 目錄目錄精選優質文檔-傾情為你奉上專心-專注-專業 第一章第一章1.1 設計任務介紹及意義本次設計任務進行簡易的數控刻線機床控制系統設計,該刻線機能夠對不同的鐵尺進行刻線加工1.2 設計任務明細1.2.1方案設計根據課程設計任務的要求,在搜集、歸納、分析資料的基礎上,明確系統的主要功能,確定實現系統主要功能的原理方案,并對各種方案進行分析和評價,進行方案選優。1.2.2總體設計針對具體的原理方案,通過對動力和

2、總體參數的選擇和計算,進行總體設計,最后給出系統的總電氣原理圖(A1 一張) 。根據系統的組成可以設計系統的結構圖或者進行復雜的電氣系統設計,畫出另外一張 A1 圖紙。課程設計的成果最后集中表現在課程設計說明書和所繪制的設計圖紙上,每個學生應獨立完成課程設計說明書一份,字數為 10000 字以上,設計圖紙不少于兩張 A1。用計算機繪圖或手工繪圖,打印說明書。課程設計共 4 周,各階段的任務和時間安排建議如下:(一)課程實習,搜集資料及方案設計(5 天)1、課程實習實習期間,要根據畢業設計任務書的要求,搜集、閱讀有關的文字資料和結構圖片資料,依據設計要求進一步分析和歸納資料,為課程設計做好準備。

3、程實習的要求:1.學習設計對象的有關的專業知識。2.學習產品工作過程和電氣設計要求。3.搜集其它有關資料。4.按時寫好課程實習(調研)記錄。2、方案設計這一階段應明確整個設計的目的和方向,根據課程設計任務的要求搜集、歸納、分析資料的基礎上,將設計要求具體實施,確定控制系統的方案。具體任務如下:1.根據調研和搜集資料的情況以及老師所列些課題的任務參數情況,制定設計要求明細,并形成表格。2.尋求實現主要設計要求的原理,應盡可能的多構想一些原理方案。3.對所構想的原理分析計算,考查所提原理方案能否滿足設計要求,必要時在條件允許時可進行原理方案試驗。4.對各種方案進行分析比較:使設計方案在性能上滿足技

4、術要求和使用要求,并具有一定的先進性和較好的經濟效果,要避免片面地強調某一方面的傾向,應全面地綜合分析比較工作性能、成本、使用費用、實現可能性等。5.確定方案:對選擇哪一種方案進行設計作出決策。精選優質文檔-傾情為你奉上專心-專注-專業(二)原理草圖設計階段(5 天)在本階段中,學生在自己畫的草圖和草紙上進行設計過程中的總體布局和設計的分析計算, 確定原件的相互位置及尺寸,并考慮使設計方案滿足多方面要求而采取的各種措施,使各控制結構相互協調以保證整機性能,最完善的滿足設計要求,實現設計功能。具體工作內容:1.了解電控原理的要求,搞清器件間的限制條件。2.選擇合適的設計方案(優化)。3.結合對所

5、選方案中各器件的關系、計算參數,進行總體圖的設計。4.針對總體布置圖,進行技術經濟性分析并根據分析結果對總體結構進行修改。5.確定電氣系統的組成及方案的合理性。通過對總體設計全面考慮設計、使用、和目前技術發展的要求。保證整機的性能趨于完善,滿足設計任務書的要求。要求學生必須全面考慮問題,搞清技術要求和使用要求的實質,從而選擇合適的檢測與控制器件,滿足要求。這一階段計算、研究討論和繪圖應交錯進行,相互補充,由于時間限制,各種數據不能通過計算確定,因此可以采用比較設計的方法,選用成熟器件。(三) 、原理圖設計階段(3 天)根據原理草圖及設計計算的結果,進行原理圖的設計。在繪圖的過程中,根據老師每天

6、的檢查指導進行設計,根據制圖標準進行繪制,線條橫平豎直,要保持圖紙的清潔和質量。(四)軟件的編寫(3 天)根據設計的原理圖,進行軟件的編寫,要求有匯編語言、高級語言或可編程控制器梯形圖(語句表)的程序訓練。(五)編寫課程設計說明書(3 天)課程設計說明書是課程設計內容的文字闡述。它與設計圖紙一道,是檢驗學生課程設計情況的主要依據。因此要求其內容密切結合設計課題,重點突出,用自己的語言認真書寫,文字通順流暢,計算機打印,要防止不加分析地長篇引用教科書,抄襲其它著作中的闡述。要求如下:1 課程設計說明書必須打印。文中所用的公式、圖表及程序代碼,在條件許可時,應打印輸出。2 課程設計說明書一律裝訂為

7、橫開本,左側裝訂。3 文中所用的符號、縮略詞、制圖規范和計量單位、必須遵守國家規定的標準或本學科通用標準。作者自己擬定的符號、記號縮略詞,均應在第一次出現時加以說明。4 注序要與文中提及的頁碼一致,序號不能用1、2、3等數碼表示,以免與參考文獻的序碼相混淆。5 文后要注明參考文獻和附錄,參考文獻要寫明作者,書名(或文章題目及報刊名) 、版次(初版不注版次) ,出版地、出版者、出版年、頁碼。序號使用1、2、3。中文譯本前加國別。 精選優質文檔-傾情為你奉上專心-專注-專業第第 2 2 章章 設計總體方案設計總體方案2.1 設計的基本依據認真審題,明確任務布置書上所述要求,通過自己分析以及詢問老師

8、確定設計的各個關鍵部分,再由圖書館所借來的參考資料,深入了解各部件,根據微型計算機原理與接口技術,確定了單片機采用 8051,根據要求需要進行數據與存儲擴展,分別是 Intel 6264 與 2764 芯片,接口電路采用 8155。由機電書可知,和驅動器連接需要功率放大器,其放大倍數根據各個元件的功率匹配確定。對于行程控制的要求,以及所設計的刻線機的特點,在刀具外側加一個行程開關。急停開關是屬于主令控制電器的一種,當機器處于危險狀態時,通過急停開關切斷電源,停止設備運轉,達到保護人身和設備的安全. 急停開關通常為手動控制的按壓式開關(按鍵為紅色),串聯接入設備的控制電路,用于緊急情況下直接斷開

9、控制電路電源從而快速停止設備避免非正常工作。考慮到保護各個元器件,還需要采用光電耦合器。對于工作臺的保護,還要在極限位置加上兩個限位開關。2.2 總體方案的確定 由鍵盤輸入所需刻定長度,單片機接到鍵盤輸入信號,按照預定程序分別控制三個步進電動機,其中:步進電動機 A 控制工作臺帶動鐵尺沿 X 方向進行 1mm 間歇進給;步進電動機 B 控制刻刀沿 Y 方向進行刻線,刻線長度先后是 1 長、4 短、1 中、4 短;步進電動機 C 控制刻刀沿 Z 方向每次刻線前的接近鐵尺以及刻線后的離開鐵尺的運動。當一個鐵尺刻線完畢,觸動行程開關,單片機接到信號,控制步進電機 A 快速反向連續轉動,回到初始位置,

10、準備重新裝夾繼續工作。單片機數據存儲擴展程序存儲擴展接口電路光電隔離光電隔離光電隔離功率放大功率放大功率放大顯示器鍵盤行程開關步進電動機 A步進電動機 B步進電動機 C精選優質文檔-傾情為你奉上專心-專注-專業第第 3 3 章章 電氣原理設計電氣原理設計 3.1 電氣系統的基本組成3.1.1 8051單片機 引腳功能介紹首先我們來連接一下單片機的引腳圖,如果,具體功能在下面都有介紹。單片機的 40 個引腳大致可分為 4 類:電源、時鐘、控制和 I/O 引腳。3.1.1.1 電源: VCC - 芯片電源,接+5V; VSS - 接地端;3.1.1.2 時鐘:XTAL1、XTAL2 - 晶體振蕩電

11、路反相輸入端和輸出端。 3.1.1.3 控制線:控制線共有 4 根, ALE/PROG:地址鎖存允許/片內 EPROM 編程脈沖 ALE 功能:用來鎖存P0 口送出的低 8 位地址 PROG 功能:片內有 EPROM 的芯片,在 EPROM 編程期間,此引腳輸入編程脈沖。 PSEN:外 ROM 讀選通信號。 RST/VPD:復位/備用電源。 RST(Reset)功能:復位信號輸入端。 VPD 功能:在 Vcc 掉電情況下,接備用電源。 EA/Vpp:內外 ROM 選擇/片內 EPROM 編程電源。EA 功能:內外 ROM 選擇端。Vpp 功能:片內有 EPROM 的芯片,在 EPROM 編程期

12、間,施加編程電源Vpp。3.1.1.4 I/O 線80C51 共有 4 個 8 位并行 I/O 端口:P0、P1、P2、P3 口,共 32 個引腳。P3 口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線) 。 精選優質文檔-傾情為你奉上專心-專注-專業 圖3-13.1.2 Intel6264芯片 3.1.2.1 Intel 6264 的特性及引腳信號 Intel 6264 的容量為 8KB,是 28 引腳雙列直插式芯片,采用 CMOS 工藝制造A12A0(address inputs):地址線,可尋址 8KB 的存儲空間。 D7D0(data bus):數據線,雙向,三態。 (ou

13、tput enable):讀出允許信號,輸入,低電平有效。 (write enable):寫允許信號,輸入,低電平有效。(chip enable):片選信號 1,輸入,在讀/寫方式時為低電平。 CE2(chip enable):片選信號 2,輸入,在讀/寫方式時為高電平。 VCC:+5V 工作電壓。GND:信號地。 3.1.2.2 Intel 6264 的操作方式 Intel 6264 的操作方式由, , , CE2 的共同作用決定 寫入:當和為低電平,且和 CE2 為高電平時,數據輸入緩沖器打開,數據由數據線 D7D0 寫入被選中的存儲單元。 讀出:當和為低電平,且和 CE2 為高電平時,數

14、據輸出緩沖器選通,被選中單元的數據送到數據線 D7D0 上。 保持:當為高電平, CE2 為任意時,芯片未被選中,處于保持狀態,數據線呈現高阻狀態。 精選優質文檔-傾情為你奉上專心-專注-專業3.1.3 2764芯片下面介紹 2764 各引腳的含義:3.1.3.1 A0 一 A12:13 根地址輸入線。用于尋址片內的 8K 個存儲單元。3.1.3.2 D0D7:8 根雙向數據線,正常工作時為數據輸出線。編程時為數據輸入線。3.1.3.3 OE:輸出允許信號。低電平有效。當該信號為 0 時,芯片中的數據可由 D0D7端輸出。3.1.3.4 CE:選片信號。低電平有效。當該信號為 0 時表示選中此

15、芯片。3.1.3.5 PGM:編程脈沖輸入端。對 EPROM 編程時,在該端加上編程脈沖。讀操作時該信號為 1。3.1.3.6 VPP:編程電壓輸入端。編程時應在該端加上編程高電壓,不同的芯片對 VPP 的值要求的不一樣,可以是+12.5V,+15V,+21V,+25V 等。3.1.4 8155 3.1.4.1 描述:2048 位靜態內存與 I/O 端口和定時器 8155 各引腳功能說明如下: RST:復位信號輸入端,高電平有效。復位后, 3 個 I/O 口均為輸入方式。 AD0AD7:三態的地址 /數據總線。與單片機的低 8 位地址/數據總線( P0 口)相連。單片機與 8155 之間的地址

16、、數據、命令與狀態信息都是通過這個總線口傳送的。 讀選通信號,控制對 8155 的讀操作,低電平有效。 寫選通信號,控制對 8155 的寫操作,低電平有效。 片選信號線,低電平有效。 IO/ :8155 的 RAM 存儲器或 I/O 口選擇線。當 IO/ 0 時,則選擇 8155 的片內 RAM,AD0AD7 上地址為 8155 中 RAM 單元的地址( 00HFFH);當 IO/ 1 時,選擇 8155 的 I/O 口,AD0AD7 上的地址為 8155 I/O 口的地址。 ALE:地址鎖存信號。 8155 內部設有地址鎖存器,在 ALE 的下降沿將單片機 P0口輸出的低 8 位地址信息及

17、,IO/ 的狀態都鎖存到 8155 內部鎖存器。因此, P0 口輸出的低 8 位地址信號不需外接鎖存器。 PA0PA7:8 位通用 I/O 口,其輸入、輸出的流向可由程序控制。 PB0PB7:8 位通用 I/O 口,功能同 A 口。 PC0PC5:有兩個作用,既可作為通用的 I/O 口,也可作為 PA 口和 PB 口的控制信號線,這些可通過程序控制。 TIMER IN:定時/計數器脈沖輸入端。 TIMER OUT:定時/計數器輸出端。 VCC:5V 電源。 3.1.4.2 8155 的地址編碼及工作方式 精選優質文檔-傾情為你奉上專心-專注-專業在單片機應用系統中, 8155 是按外部數據存儲

18、器統一編址的,為16 位地址,其高 8 位由片選線 提供, 0,選中該片。 當 0,IO/ 0 時,選中 8155 片內 RAM,這時 8155 只能作片外 RAM 使用,其RAM 的低 8 位編址為 00HFFH;當 0,IO/ 1 時,選中 8155 的 I/O 口,其端口地址的低 8 位由 AD7AD0 確定,如表 6-6 所示。這時, A、B、C 口的口地址低 8 位分別為 01H、02H、03H(設地址無關位為 0)。 8155 的 A 口、B 口可工作于基本 I/O 方式或選通 I/O 方式。C 口可工作于基本I/O 方式,也可作為 A 口、B 口在選通工作方式時的狀態控制信號線。

19、當C 口作為狀態控制信號時,其每位線的作用如下: PC0:AINTR(A 口中斷請求線) PC1:ABF(A 口緩沖器滿信號) PC2: (A 口選通信號) PC3:BINTR(B 口中斷請求線) PC4:BBF(B 口緩沖器滿信號) PC5: (B 口選通信號) 8155 的 I/O 工作方式選擇是通過對 8155 內部命令寄存器設定控制字實現的。命令寄存器只能寫入,不能讀出,命令寄存器的格式如圖6-16 所示。 在 ALT1ALT4 的不同方式下, A 口、B 口及 C 口的各位工作方式如下: ALT1:A 口,B 口為基本輸入 /輸出,C 口為輸入方式。 ALT2:A 口,B 口為基本輸

20、入 /輸出,C 口為輸出方式。 ALT3:A 口為選通輸入 /輸出,B 口為基本輸入 /輸出。PC0 為 AINTR,PC1 為ABF,PC2 為 ,PC3PC5 為輸出。 ALT4:A 口、B 口為選通輸入 /輸出。PC0 為 AINTR,PC1 為 ABF,PC2 為 ,PC3為 BINTR,PC4 為 BBF,PC5 為 。 8155 內還有一個狀態寄存器,用于鎖存輸入 /輸出口和定時 /計數器的當前狀態,供 CPU 查詢用。狀態寄存器的端口地址與命令寄存器相同,低8 位也是 00H,狀態寄存器的內容只能讀出不能寫入。所以可以認為8155 的 I/O 口地址 00H 是命令/狀態寄存器,

21、對其寫入時作為命令寄存器;而對其讀出時,則作為狀態寄存器。 3.1.4.3 8155 的定時/計數器 8155 內部的定時 /計數器實際上是一個 14 位的減法計數器,它對 TIMER IN 端輸入脈沖進行減 1 計數,當計數結束(即減 1 計數“回 0”)時,由 TIMER OUT 端輸出方波或脈沖。當 TIMER IN 接外部脈沖時,為計數方式;接系統時鐘時,可作為定時方式。定時 /計數器由兩個 8 位寄存器構成,其中的低 14 位組成計數器,剩下的兩個高位( M2,M1)用于定義輸出方式。3.1.4.4 振蕩電路能夠產生振蕩電流的電路叫做振蕩電路。一般由電阻、電感、電容等元件和電子器件所

22、組成。由電感線圈l 和電容器 c 相連而成的 lc 電路是最簡單的一種振蕩電路。 一種不用外加激勵就能自行產生交流信號輸出的電路。它在電子科學技術領域中得到廣泛地應用,如通信系統中發射機的載波振蕩器、接收機中的精選優質文檔-傾情為你奉上專心-專注-專業本機振蕩器、醫療儀器以及測量儀器中的信號源等。 振蕩器的種類很多,按信號的波形來分,可分為正弦波振蕩器和非正弦波振蕩器。正弦波振蕩器產生的波形非常接近于正弦波或余弦波,且振蕩頻率比較穩定;非正弦波振蕩器產生的波形是非正弦的脈沖波形,如方波、矩形波、鋸齒波等。非正弦振蕩器的頻率穩定度不高。 在正弦波振蕩器中,主要有 LC 振蕩電路、石英晶體振蕩電路

23、和 RC 振蕩電路等幾種。這幾種電路,以石英晶體振蕩器的頻率最穩定, LC 電路次之, RC 電路最差。 RC振蕩器的工作頻率較低,頻率穩定度不高,但電路簡單,頻率變化范圍大,常在低頻段中應用。 在通信、廣播、電視等設備中,振蕩器正逐步實現集成化,這些集成化正弦波振蕩器的工作原理、電路分析、設計方法等原則上與分立元件振蕩電路相一致。由于集成電路的集成度愈來愈高,并在向系統功能發展,其內部電路日趨復雜,如果不從系統組成和單元電路原理這兩方面同時著手,那是很難弄清某一集成芯片的,振蕩器也不例外。3.1.5 74ls573介紹三態總線驅動輸出:置數全并行存取 緩沖控制并行存取 緩沖控制輸入 使輸入有

24、改善抗擾度的滯后作用 原理:74ls573 的八個鎖存器都是透明的 D 型鎖存器,當使能(G)為高時,Q 輸出將隨數據(D)輸入而變,當使能為低時,輸出將鎖存在已建立的數據電平上。輸出控制不影響鎖存器的內部工作,即老數據可以保持,甚至當輸出被關閉時,新數據也可以置入。這種電路可以驅動大電容或低阻抗負載,可以直接與系統總線接口并驅動總線,而不需要外接口,特別適用于緩沖寄存器,I/O 通道,雙向總線驅動器和工作寄存器。3.1.6 SMC2004A LCMSMC2004A 標準字符點陣型液晶顯示模塊(LCM),采用點陣型液晶顯示器(LCD),可顯示 20 個字符 X4 行西文字符,字符尺寸為 2.9

25、5X4.75(WXH)mm,內置 HD44780 接口型液晶顯示控制器,可與 MCU 單片機直接連接,廣泛應用于各類儀器儀表及電子設備主要技術參數產品型號顯示類型顯示模式工作溫度存儲溫度工作電壓工作電流背光顏色背光電流SMC2004ASTN黃綠模常溫 0+50-20+704.85.2V2.0mA,5.0V黃綠80mA表 3-1精選優質文檔-傾情為你奉上專心-專注-專業接口信號說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2Date I/O2VDD電源正極10D3Date I/O3VOLCD 偏壓輸入11D4Date I/O4RS數據/命令選擇端(H/L)12D5Date I/O5R/W

26、讀寫控制信號(H/L)13D6Date I/O6E使能信號14D7Date I/O7D0Date I/O15BLA背光源正極8D1Date I/O16BLK背光源負極表 3-23.1.7 BS232光電耦合器BS232 光電耦合器(optical coupler,英文縮寫為 OC)亦稱光耦合器,簡稱光耦。光耦合器以光為媒介傳輸電信號。它對輸入、輸出電信號有良好的隔離作用,所以,它在各種電路中得到廣泛的應用。目前它已成為種類最多、用途最廣的光電器件之一。光耦合器一般由三部分組成:光的發射、光的接收及信號放大。輸入的電信號驅動發光二極管( LED),使之發出一定波長的光,被光探測器接收而產生光電流

27、,再經過進一步放大后輸出。這就完成了電 光電的轉換,從而起到輸入、輸出、隔離的作用。由于光耦合器輸入輸出間互相隔離,電信號傳輸具有單向性等特點,因而具有良好的電絕緣能力和抗干擾能力。又由于光耦合器的輸入端屬于電流型工作的低阻元件,因而具有很強的共模抑制能力。所以,它在長線傳輸信息中作為終端隔離元件可以大大提高信噪比。在計算機數字通信及實時控制中作為信號隔離的接口器件,可以大大增加計算機工作的可靠性。 光耦合器的主要優點是:信號單向傳輸,輸入端與輸出端完全實現了電氣隔離,輸出信號對輸入端無影響,抗干擾能力強,工作穩定,無觸點,使用壽命長,傳輸效率高。光耦合器是 70 年代發展起來產新型器件,現已

28、廣泛用于電氣絕緣、電平轉換、級間耦合、驅動電路、開關電路、斬波器、多諧振蕩器、信號隔離、級間隔離 、脈沖放大電路、數字儀表、遠距離信號傳輸、脈沖放大、固態繼電器(SSR)、儀器儀表、通信設備及微機接口中。在單片開關電源中,利用線性光耦合器可構成光耦反饋電路,通過調節控制端電流來改變占空比,達到精密穩壓目的。BS232 系列 RS-232 光電隔離器都無需供電,隔離電壓 2500V,通信速率一般保證最高 9600bps,實際可達 38.4Kbps以上。精選優質文檔-傾情為你奉上專心-專注-專業3.1.8 步進電動機該步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適

29、的時序通電,就能使步進電機步進轉動。四相反應式步進電機工作原理示意圖圖 3-2開始時,開關 SB 接通電源,SA、SC、SD 斷開,B 相磁極和轉子 0、3 號齒對齊,同時,轉子的 1、4 號齒就和 C、D 相繞組磁極產生錯齒,2、5 號齒就和 D、A 相繞組磁極產生錯齒。當開關 SC 接通電源,SB、SA、SD 斷開時,由于 C 相繞組的磁力線和 1、4 號齒之間磁力線的作用,使轉子轉動,1、4 號齒和 C 相繞組的磁極對齊。而 0、3 號齒和 A、B 相繞組產生錯齒,2、5 號齒就和 A、D 相繞組磁極產生錯齒。依次類推,A、B、C、D 四相繞組輪流供電,則轉子會沿著 A、B、C、D 方向

30、轉動。 四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控制精度。單四拍、雙四拍與八拍工作方式的電源通電時序與波形圖 圖 3-3精選優質文檔-傾情為你奉上專心-專注-專業3.2 電氣系統的設計由鍵盤輸入所需刻定長度,單片機接到鍵盤輸入信號,按照預定程序分別控制三個步進電動機,其中:步進電動機 A 控制工作臺帶動鐵尺沿 X 方向進行 1mm 間歇進給;步進電動機 B 控制刻刀沿 Y 方向進行刻線,刻線長度先后是 1 長、4 短、

31、1 中、4 短;步進電動機 C 控制刻刀沿 Z 方向每次刻線前的接近鐵尺以及刻線后的離開鐵尺的運動。當一個鐵尺刻線完畢,觸動行程開關,單片機接到信號,控制步進電機 A 快速反向連續轉動,回到初始位置,準備重新裝夾繼續工作。精選優質文檔-傾情為你奉上專心-專注-專業第第 4 4 章章 程序設計程序設計4.1 軟件完成的主要內容程序所包含的內容有:刀具刻線的長度分別是 1 長、4 短、1 中、4 短,循環當工作臺移動到極限位置出發行程開關時,程序控制步進電動機 A 快速反轉,回到初始位置后停止當工作臺出現意外超過極限位置時,出發限位開關,程序控制所有步進電動機停止轉動控制工作臺沿 X 方向間歇運動

32、,間隔為 1mm/*電機驅動*/#include#includesbit Kstart= P20;sbit Kzh = P21;sbit Kfz = P22;sbit Ksup = P23;sbit Ksdw = P24;sbit As = P30; /電機 A 的 4 相sbit Bs = P31;sbit Cs = P33;sbit Ds = P34;sbit A1s = P10; /電機 B 的 4 相sbit B1s = P11;sbit C1s = P12;sbit D1s = P13;sbit A2s = P35; /電機 C 的 4 相sbit B2s = P34;sbit C2

33、s = P33;sbit D2s = P14;unsigned int count=0;unsigned int startstop=0;unsigned int zhengzhfanzh=0;unsigned char flag=0;精選優質文檔-傾情為你奉上專心-專注-專業unsigned int chg=0;unsigned int chd=0;unsigned long jishusum=0;unsigned long jipulsez=0;unsigned long jipulsef=0;unsigned char getkey(); void jisun_s();/計算位移程序vo

34、id kedu(); void delay(unsigned int t)while(t-);void int0() interrupt 0 flag=1;/*timer function*/ void timer1() interrupt 3 count+; if(flag=0) /正轉 switch(count) case 1:As=1;Bs=0;Cs=0;Ds=0;break; / A case 2: As=1;Bs=1;Cs=0;Ds=0;break; / AB case 3: As=0;Bs=1;Cs=0;Ds=0;break; / B case 4: As=0;Bs=1;Cs=1;

35、Ds=0;break; / BC case 5:As=0;Bs=0;Cs=1;Ds=0;break; / C case 6: As=0;Bs=0;Cs=1;Ds=1;break; / CD case 7: As=0;Bs=0;Cs=0;Ds=1;break; / D case 8: Bs=0;Cs=0;Ds=1;count=0;As=1;break; / DA TH1=chg; TL1=chd; jipulsez+; else /反轉 switch(count) case 1: As=1;Ds=0;Cs=0;Bs=0;break; / A精選優質文檔-傾情為你奉上專心-專注-專業 case 2

36、: As=1;Ds=1;Cs=0;Bs=0;break; / AD case 3: As=0;Ds=1;Cs=0;Bs=0;break; / D case 4: As=0;Ds=1;Cs=1;Bs=0; break; /DC case 5: As=0;Ds=0;Cs=1;Bs=0;break; / C case 6: As=0;Ds=0;Cs=1;Bs=1;break; / CB case 7: As=0;Ds=0;Cs=0;Bs=1;break; / B case 8: Ds=0;Cs=0;Bs=1;As=1; count=0;break; / BA TH1=chg; TL1=chd; ji

37、pulsef+; void main() unsigned char key=0,keysflag=0; Init_Lcd(); /初始化 LCD1602 delay(100); dispstr(0,0,Ready!);/ TMOD=0 x10; / EA=1; jishusum=2000; TH1=jishusum/256; TL1=jishusum%256; ET1=1;/ delay(100);chg=TH1;chd=TL1; while(1) key=getkey(); /精選優質文檔-傾情為你奉上專心-專注-專業 switch(key) case 0: if(keysflag=1)j

38、isun_s(); kedu(); if( jipulsez=0) key=e; break;/沒有按鍵按下 case s:cls();TR1=1; ET1=1;dispstr(0,0,Run);dispchar(0,1,Z);keysflag=1;jisun_speed();break;/ 開始case e:TR1=0; ET1=0; dispstr(0,0,Stop); break;/ 停止 case 2: flag=0; dispchar(0,1,Z); count=0; break;/case 3:flag=1;dispchar(0,1,F);count=0;break;/ case

39、4:精選優質文檔-傾情為你奉上專心-專注-專業 jishusum=jishusum+2000; if(jishusum=60000) jishusum=60000; chg=jishusum/256; chd=jishusum%256; / disp_jishusum(); jisun_speed(); jisun_s(); dispstr(0,1,U); break;/case 5: jishusum=jishusum-2000; if(jishusum=0)jishusum=0; chg=jishusum/256; chd=jishusum%256; / disp_jishusum();

40、jisun_s(); jisun_speed();dispstr(0,1,D); break;/ /*get keynumber*/unsigned char getkey()unsigned char key=0; if(!Kstart) / delay(10); if(!Kstart) startstop+; if(startstop=1)key=s; else key=e;startstop=0;精選優質文檔-傾情為你奉上專心-專注-專業 while(!Kstart); if(!Kzh) / delay(10); if(!Kzh) key=2; while(!Kzh); if(!Kfz)

41、 / delay(10); if(!Kfz) key=3; while(!Kfz); if(!Ksup) delay(10); if(!Ksup) key=4; while(!Ksup); if(!Ksdw) / delay(10); if(!Ksdw) key=5; while(!Ksdw); return(key); void jisun_s() unsigned long fs=0; unsigned char k1,k2,k3,k4,k5; fs=jipulsez; k1=fs/10000; k2=(fs-k1*10000)/1000; k3=(fs-k1*10000-k2*1000)

42、/100;精選優質文檔-傾情為你奉上專心-專注-專業 k4=(fs-k1*10000-k2*1000-k3*100)/10; k5=(fs-k1*10000-k2*1000-k3*100-k4*10); dispstr(5,0,S=+); dispnumb(8,0,k1); dispnumb(9,0,k2); dispnumb(10,0,k3); dispchar(11,0,.); dispnumb(12,0,k4); dispnumb(13,0,k5); dispstr(14,0,mm); void kedu()EA=0;if(s%5=0)&(s%10!=0) dianjizhuan

43、1();dianji1zhuan(0);dianjizhuan2();if(s%10=0)dianjizhuan1();dianji1zhuan(1);dianjizhuan2();EA=1;void dianji1zhuan(unsigned char i)unsigned char j; if(i=0) A1s=1;B1s=0;C1s=0;D1s=0;delay(10); A1s=1;B1s=1;C1s=0;D1s=0;delay(10); A1s=0;B1s=1;C1s=0;D1s=0;delay(10); A1s=0;B1s=1;C1s=1;D1s=0;delay(10); A1s=0

44、;B1s=0;C1s=1;D1s=0;delay(10); A1s=0;B1s=0;C1s=1;D1s=1;delay(10); A1s=0;B1s=0;C1s=0;D1s=1;delay(10); B1s=0;C1s=0;D1s=1;As=1;delay(10); A1s=1;D1s=0;C1s=0;B1s=0;delay(10); A1s=1;D1s=1;C1s=0;B1s=0;delay(10); A1s=0;D1s=1;C1s=0;B1s=0;delay(10); 精選優質文檔-傾情為你奉上專心-專注-專業 A1s=0;D1s=1;C1s=1;B1s=0; delay(10); A1s

45、=0;D1s=0;C1s=1;B1s=0;delay(10); A1s=0;D1s=0;C1s=1;B1s=1;delay(10); A1s=0;1s=0;C1s=0;B1s=1;delay(10); D1s=0;C1s=0;B1s=1;A1s=1; delay(10); if(i=1)for(j=0;j2;j+) A1s=1;B1s=0;C1s=0;D1s=0;delay(10); A1s=1;B1s=1;C1s=0;D1s=0;delay(10); A1s=0;B1s=1;C1s=0;D1s=0;delay(10); A1s=0;B1s=1;C1s=1;D1s=0;delay(10); A

46、1s=0;B1s=0;C1s=1;D1s=0;delay(10); A1s=0;B1s=0;C1s=1;D1s=1;delay(10); A1s=0;B1s=0;C1s=0;D1s=1;delay(10); B1s=0;C1s=0;D1s=1;As=1;delay(10); A1s=1;D1s=0;C1s=0;B1s=0;delay(10); A1s=1;D1s=1;C1s=0;B1s=0;delay(10); A1s=0;D1s=1;C1s=0;B1s=0;delay(10); A1s=0;D1s=1;C1s=1;B1s=0; delay(10); A1s=0;D1s=0;C1s=1;B1s

47、=0;delay(10); A1s=0;D1s=0;C1s=1;B1s=1;delay(10); A1s=0;1s=0;C1s=0;B1s=1;delay(10); D1s=0;C1s=0;B1s=1;A1s=1; delay(10);void dianjizhuan1() A2s=1;B2s=0;C2s=0;D2s=0;delay(10); A2s=1;B2s=1;C2s=0;D2s=0;delay(10); A2s=0;B2s=1;C2s=0;D2s=0;delay(10); A2s=0;B2s=1;C2s=1;D2s=0;delay(10); A2s=0;B2s=0;C2s=1;D2s=

48、0;delay(10); A2s=0;B2s=0;C2s=1;D2s=1;delay(10); A2s=0;B2s=0;C2s=0;D2s=1;delay(10); B2s=0;C2s=0;D2s=1;A2s=1;delay(10); void dianjizhuan2()A2s=1;D2s=0;C2s=0;B2s=0;delay(10); 精選優質文檔-傾情為你奉上專心-專注-專業 A2s=1;D2s=1;C2s=0;B2s=0;delay(10); A2s=0;D2s=1;C2s=0;B2s=0;delay(10); A2s=0;D2s=1;C2s=1;B2s=0; delay(10); A2s=0;D2s=0;C2s=1;B2s=0;delay(10); A2s=0;D2s=0;C2s=1;B2s=1;delay(10); A2s=0;B2s=0;C2s=0;B2s=1;delay(10); D2s=0;C2s=0;B2s=1;A2s=1; delay(10);4.2 程序設計技術4.3 程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論