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

下載本文檔

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

文檔簡介

1、 課程設計說明書設計題目:簡易數控刻尺機控制系統(tǒng)設計學生姓名:學 號:班 級: 專 業(yè): 指導教師: 目錄第1章 設計任務21.1 設計任務介紹及意義21.2 設計任務明細2方案設計2總體設計2第2章 設計總體方案42.1 設計的基本依據42.2 總體方案的確定4第3章 電氣原理設計53.1 電氣系統(tǒng)的基本組成53.1.1 8051單片機53.1.2 Intel6264芯片63.1.3 2764芯片73.1.4 815573.1.5 74ls573介紹93.1.6 SMC2004A LCM93.1.7 BS232光電耦合器103.1.8 步進電動機113.2電氣系統(tǒng)的設計12第4章 程序設計1

2、34.1 軟件完成的主要內容134.2 程序設計技術214.3 程序設計說明21參考文獻23 第一章1.1 設計任務介紹及意義本次設計任務進行簡易的數控刻線機床控制系統(tǒng)設計,該刻線機能夠對不同的鐵尺進行刻線加工1.2 設計任務明細1.2.1方案設計根據課程設計任務的要求,在搜集、歸納、分析資料的基礎上,明確系統(tǒng)的主要功能,確定實現系統(tǒng)主要功能的原理方案,并對各種方案進行分析和評價,進行方案選優(yōu)。1.2.2總體設計針對具體的原理方案,通過對動力和總體參數的選擇和計算,進行總體設計,最后給出系統(tǒng)的總電氣原理圖(A1一張)。根據系統(tǒng)的組成可以設計系統(tǒng)的結構圖或者進行復雜的電氣系統(tǒng)設計,畫出另外一張A

3、1圖紙。課程設計的成果最后集中表現在課程設計說明書和所繪制的設計圖紙上,每個學生應獨立完成課程設計說明書一份,字數為10000字以上,設計圖紙不少于兩張A1。用計算機繪圖或手工繪圖,打印說明書。課程設計共4周,各階段的任務和時間安排建議如下:(一)課程實習,搜集資料及方案設計(5天)1、課程實習實習期間,要根據畢業(yè)設計任務書的要求,搜集、閱讀有關的文字資料和結構圖片資料,依據設計要求進一步分析和歸納資料,為課程設計做好準備。程實習的要求:1.學習設計對象的有關的專業(yè)知識。2.學習產品工作過程和電氣設計要求。3.搜集其它有關資料。4.按時寫好課程實習(調研)記錄。2、方案設計這一階段應明確整個設

4、計的目的和方向,根據課程設計任務的要求搜集、歸納、分析資料的基礎上,將設計要求具體實施,確定控制系統(tǒng)的方案。具體任務如下:1.根據調研和搜集資料的情況以及老師所列些課題的任務參數情況,制定設計要求明細,并形成表格。2.尋求實現主要設計要求的原理,應盡可能的多構想一些原理方案。3.對所構想的原理分析計算,考查所提原理方案能否滿足設計要求,必要時在條件允許時可進行原理方案試驗。4.對各種方案進行分析比較:使設計方案在性能上滿足技術要求和使用要求,并具有一定的先進性和較好的經濟效果,要避免片面地強調某一方面的傾向,應全面地綜合分析比較工作性能、成本、使用費用、實現可能性等。5.確定方案:對選擇哪一種

5、方案進行設計作出決策。(二)原理草圖設計階段(5天)在本階段中,學生在自己畫的草圖和草紙上進行設計過程中的總體布局和設計的分析計算, 確定原件的相互位置及尺寸,并考慮使設計方案滿足多方面要求而采取的各種措施,使各控制結構相互協(xié)調以保證整機性能,最完善的滿足設計要求,實現設計功能。具體工作內容:1.了解電控原理的要求,搞清器件間的限制條件。2.選擇合適的設計方案(優(yōu)化)。3.結合對所選方案中各器件的關系、計算參數,進行總體圖的設計。4.針對總體布置圖,進行技術經濟性分析并根據分析結果對總體結構進行修改。5.確定電氣系統(tǒng)的組成及方案的合理性。通過對總體設計全面考慮設計、使用、和目前技術發(fā)展的要求。

6、保證整機的性能趨于完善,滿足設計任務書的要求。要求學生必須全面考慮問題,搞清技術要求和使用要求的實質,從而選擇合適的檢測與控制器件,滿足要求。這一階段計算、研究討論和繪圖應交錯進行,相互補充,由于時間限制,各種數據不能通過計算確定,因此可以采用比較設計的方法,選用成熟器件。(三)、原理圖設計階段(3天)根據原理草圖及設計計算的結果,進行原理圖的設計。在繪圖的過程中,根據老師每天的檢查指導進行設計,根據制圖標準進行繪制,線條橫平豎直,要保持圖紙的清潔和質量。(四)軟件的編寫(3天)根據設計的原理圖,進行軟件的編寫,要求有匯編語言、高級語言或可編程控制器梯形圖(語句表)的程序訓練。(五)編寫課程設

7、計說明書(3天)課程設計說明書是課程設計內容的文字闡述。它與設計圖紙一道,是檢驗學生課程設計情況的主要依據。因此要求其內容密切結合設計課題,重點突出,用自己的語言認真書寫,文字通順流暢,計算機打印,要防止不加分析地長篇引用教科書,抄襲其它著作中的闡述。要求如下:1 課程設計說明書必須打印。文中所用的公式、圖表及程序代碼,在條件許可時,應打印輸出。2 課程設計說明書一律裝訂為橫開本,左側裝訂。3 文中所用的符號、縮略詞、制圖規(guī)范和計量單位、必須遵守國家規(guī)定的標準或本學科通用標準。作者自己擬定的符號、記號縮略詞,均應在第一次出現時加以說明。4 注序要與文中提及的頁碼一致,序號不能用1、2、3等數碼

8、表示,以免與參考文獻的序碼相混淆。5 文后要注明參考文獻和附錄,參考文獻要寫明作者,書名(或文章題目及報刊名)、版次(初版不注版次),出版地、出版者、出版年、頁碼。序號使用1、2、3。中文譯本前加國別。 第2章 設計總體方案2.1 設計的基本依據認真審題,明確任務布置書上所述要求,通過自己分析以及詢問老師確定設計的各個關鍵部分,再由圖書館所借來的參考資料,深入了解各部件,根據微型計算機原理與接口技術,確定了單片機采用8051,根據要求需要進行數據與存儲擴展,分別是Intel 6264與2764芯片,接口電路采用8155。由機電書可知,和驅動器連接需要功率放大器,其放大倍數根據各個元件的功率匹配

9、確定。對于行程控制的要求,以及所設計的刻線機的特點,在刀具外側加一個行程開關。急停開關是屬于主令控制電器的一種,當機器處于危險狀態(tài)時,通過急停開關切斷電源,停止設備運轉,達到保護人身和設備的安全. "急停開關"通常為手動控制的按壓式開關(按鍵為紅色),串聯(lián)接入設備的控制電路,用于緊急情況下直接斷開控制電路電源從而快速停止設備避免非正常工作??紤]到保護各個元器件,還需要采用光電耦合器。對于工作臺的保護,還要在極限位置加上兩個限位開關。2.2 總體方案的確定顯示器接口電路步進電動機A單片機數據存儲擴展程序存儲擴展功率放大光電隔離步進電動機B功率放大光電隔離步進電動機C功率放大光

10、電隔離行程開關 鍵盤由鍵盤輸入所需刻定長度,單片機接到鍵盤輸入信號,按照預定程序分別控制三個步進電動機,其中:步進電動機A控制工作臺帶動鐵尺沿X方向進行1mm間歇進給;步進電動機B控制刻刀沿Y方向進行刻線,刻線長度先后是1長、4短、1中、4短;步進電動機C控制刻刀沿Z方向每次刻線前的接近鐵尺以及刻線后的離開鐵尺的運動。當一個鐵尺刻線完畢,觸動行程開關,單片機接到信號,控制步進電機A快速反向連續(xù)轉動,回到初始位置,準備重新裝夾繼續(xù)工作。第3章 電氣原理設計 3.1 電氣系統(tǒng)的基本組成3.1.1 8051單片機 引腳功能介紹首先我們來連接一下單片機的引腳圖,如果,具體功能在下面都有介紹。單片機的4

11、0個引腳大致可分為4類:電源、時鐘、控制和I/O引腳。3.1.1.1 電源: VCC - 芯片電源,接+5V; VSS - 接地端;3.1.1.2 時鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 3.1.1.3 控制線:控制線共有4根, ALE/PROG:地址鎖存允許/片內EPROM編程脈沖 ALE功能:用來鎖存P0口送出的低8位地址 PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 PSEN:外ROM讀選通信號。 RST/VPD:復位/備用電源。 RST(Reset)功能:復位信號輸入端。 VPD功能:在Vcc掉電情況下,接備用電源。 EA

12、/Vpp:內外ROM選擇/片內EPROM編程電源。 EA功能:內外ROM選擇端。 Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電源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(

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

14、且和CE2為高電平時,數據輸出緩沖器選通,被選中單元的數據送到數據線D7D0上。 保持:當為高電平,CE2為任意時,芯片未被選中,處于保持狀態(tài),數據線呈現高阻狀態(tài)。 3.1.3 2764芯片下面介紹2764各引腳的含義: A0一A12:13根地址輸入線。用于尋址片內的8K個存儲單元。 D0D7:8根雙向數據線,正常工作時為數據輸出線。編程時為數據輸入線。 OE:輸出允許信號。低電平有效。當該信號為0時,芯片中的數據可由D0D7端輸出。 CE:選片信號。低電平有效。當該信號為0時表示選中此芯片。 PGM:編程脈沖輸入端。對EPROM編程時,在該端

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

16、,低電平有效。 片選信號線,低電平有效。 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位地址信息及 ,IO/ 的狀態(tài)都鎖存到8155內部鎖存器。因此,P0口輸出的低8位地址信號不需外接鎖存器。 PA0PA7:8位通用I/O口,其輸入、輸出的流向可由程序控制。 PB0PB7:8位通用I/O口,功能同A口。

17、 PC0PC5:有兩個作用,既可作為通用的I/O口,也可作為PA口和PB口的控制信號線,這些可通過程序控制。 TIMER IN:定時/計數器脈沖輸入端。 TIMER OUT:定時/計數器輸出端。 VCC:5V電源。 3.1.4.2 8155的地址編碼及工作方式 在單片機應用系統(tǒng)中,8155是按外部數據存儲器統(tǒng)一編址的,為16位地址,其高8位由片選線 提供, 0,選中該片。 當 0,IO/ 0時,選中8155片內RAM,這時8155只能作片外RAM使用,其RAM的低8位編址為00HFFH;當 0,IO/ 1時,選中8155的I/O口,其端口地址的低8位由AD7AD0確定,如表6-6所示。這時,A

18、、B、C口的口地址低8位分別為01H、02H、03H(設地址無關位為0)。 8155的A口、B口可工作于基本I/O方式或選通I/O方式。C口可工作于基本I/O方式,也可作為A口、B口在選通工作方式時的狀態(tài)控制信號線。當C口作為狀態(tài)控制信號時,其每位線的作用如下: PC0:AINTR(A口中斷請求線) PC1:ABF(A口緩沖器滿信號) PC2: (A口選通信號) PC3:BINTR(B口中斷請求線) PC4:BBF(B口緩沖器滿信號) PC5: (B口選通信號) 8155的I/O工作方式選擇是通過對8155內部命令寄存器設定控制字實現的。命令寄存器只能寫入,不能讀出,命令寄存器的格式如圖6-1

19、6所示。 在ALT1ALT4的不同方式下,A口、B口及C口的各位工作方式如下: ALT1:A口,B口為基本輸入/輸出,C口為輸入方式。 ALT2:A口,B口為基本輸入/輸出,C口為輸出方式。 ALT3:A口為選通輸入/輸出,B口為基本輸入/輸出。PC0為AINTR,PC1為ABF,PC2為 ,PC3PC5為輸出。 ALT4:A口、B口為選通輸入/輸出。PC0為AINTR,PC1為ABF,PC2為 ,PC3為BINTR,PC4為BBF,PC5為 。 8155內還有一個狀態(tài)寄存器,用于鎖存輸入/輸出口和定時/計數器的當前狀態(tài),供CPU查詢用。狀態(tài)寄存器的端口地址與命令寄存器相同,低8位也是00H,

20、狀態(tài)寄存器的內容只能讀出不能寫入。所以可以認為8155的I/O口地址00H是命令/狀態(tài)寄存器,對其寫入時作為命令寄存器;而對其讀出時,則作為狀態(tài)寄存器。 3.1.4.3 8155的定時/計數器 8155內部的定時/計數器實際上是一個14位的減法計數器,它對TIMER IN端輸入脈沖進行減1計數,當計數結束(即減1計數“回0”)時,由TIMER OUT端輸出方波或脈沖。當TIMER IN接外部脈沖時,為計數方式;接系統(tǒng)時鐘時,可作為定時方式。定時/計數器由兩個8位寄存器構成,其中的低14位組成計數器,剩下的兩個高位(M2,M1)用于定義輸出方式。3.1.4.4 振蕩電路能夠產生振蕩電流的電路叫做

21、振蕩電路。一般由電阻、電感、電容等元件和電子器件所組成。由電感線圈l和電容器c相連而成的lc電路是最簡單的一種振蕩電路。一種不用外加激勵就能自行產生交流信號輸出的電路。它在電子科學技術領域中得到廣泛地應用,如通信系統(tǒng)中發(fā)射機的載波振蕩器、接收機中的本機振蕩器、醫(yī)療儀器以及測量儀器中的信號源等。 振蕩器的種類很多,按信號的波形來分,可分為正弦波振蕩器和非正弦波振蕩器。正弦波振蕩器產生的波形非常接近于正弦波或余弦波,且振蕩頻率比較穩(wěn)定;非正弦波振蕩器產生的波形是非正弦的脈沖波形,如方波、矩形波、鋸齒波等。非正弦振蕩器的頻率穩(wěn)定度不高。 在正弦波振蕩器中,主要有LC振蕩電路、石英晶體振蕩電路和RC振

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

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

24、4780 接口型液晶顯示控制器,可與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讀寫控制信號(H/L)13D6Date I/O6E使能信號14D7Date I/O7D0

25、Date I/O15BLA背光源正極8D1Date I/O16BLK背光源負極表3-23.1.7 BS232光電耦合器BS232光電耦合器(optical coupler,英文縮寫為OC)亦稱光耦合器,簡稱光耦。光耦合器以光為媒介傳輸電信號。它對輸入、輸出電信號有良好的隔離作用,所以,它在各種電路中得到廣泛的應用。目前它已成為種類最多、用途最廣的光電器件之一。光耦合器一般由三部分組成:光的發(fā)射、光的接收及信號放大。輸入的電信號驅動發(fā)光二極管(LED),使之發(fā)出一定波長的光,被光探測器接收而產生光電流,再經過進一步放大后輸出。這就完成了電光電的轉換,從而起到輸入、輸出、隔離的作用。由于光耦合器輸

26、入輸出間互相隔離,電信號傳輸具有單向性等特點,因而具有良好的電絕緣能力和抗干擾能力。又由于光耦合器的輸入端屬于電流型工作的低阻元件,因而具有很強的共模抑制能力。所以,它在長線傳輸信息中作為終端隔離元件可以大大提高信噪比。在計算機數字通信及實時控制中作為信號隔離的接口器件,可以大大增加計算機工作的可靠性。 光耦合器的主要優(yōu)點是:信號單向傳輸,輸入端與輸出端完全實現了電氣隔離,輸出信號對輸入端無影響,抗干擾能力強,工作穩(wěn)定,無觸點,使用壽命長,傳輸效率高。光耦合器是70年代發(fā)展起來產新型器件,現已廣泛用于電氣絕緣、電平轉換、級間耦合、驅動電路、開關電路、斬波器、多諧振蕩器、信號隔離、級間隔離 、脈

27、沖放大電路、數字儀表、遠距離信號傳輸、脈沖放大、固態(tài)繼電器(SSR)、儀器儀表、通信設備及微機接口中。在單片開關電源中,利用線性光耦合器可構成光耦反饋電路,通過調節(jié)控制端電流來改變占空比,達到精密穩(wěn)壓目的。BS232系列RS-232光電隔離器都無需供電,隔離電壓2500V,通信速率一般保證最高9600bps,實際可達38.4Kbps以上。3.1.8 步進電動機該步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。四相反應式步進電機工作原理示意圖圖3-2開始時,開關SB接通電源,SA、SC、SD斷開,B相磁極和轉子0、3號齒對齊,同

28、時,轉子的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方向轉動。 四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提

29、高控制精度。單四拍、雙四拍與八拍工作方式的電源通電時序與波形圖 圖3-33.2電氣系統(tǒng)的設計由鍵盤輸入所需刻定長度,單片機接到鍵盤輸入信號,按照預定程序分別控制三個步進電動機,其中:步進電動機A控制工作臺帶動鐵尺沿X方向進行1mm間歇進給;步進電動機B控制刻刀沿Y方向進行刻線,刻線長度先后是1長、4短、1中、4短;步進電動機C控制刻刀沿Z方向每次刻線前的接近鐵尺以及刻線后的離開鐵尺的運動。當一個鐵尺刻線完畢,觸動行程開關,單片機接到信號,控制步進電機A快速反向連續(xù)轉動,回到初始位置,準備重新裝夾繼續(xù)工作。第4章 程序設計4.1 軟件完成的主要內容程序所包含的內容有: 刀具刻線的長度分別是1長、

30、4短、1中、4短,循環(huán) 當工作臺移動到極限位置出發(fā)行程開關時,程序控制步進電動機A快速反轉,回到初始位置后停止 當工作臺出現意外超過極限位置時,出發(fā)限位開關,程序控制所有步進電動機停止轉動 控制工作臺沿X方向間歇運動,間隔為1mm/*電機驅動*/#include<reg52.h>#include<lcd1602.h>sbit 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;s

31、bit 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 C2s = 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 jishus

32、um=0;unsigned long jipulsez=0;unsigned long jipulsef=0;unsigned char getkey(); void jisun_s();/計算位移程序void 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

33、 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;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=ch

34、d; jipulsez+; else /反轉 switch(count) case 1: As=1;Ds=0;Cs=0;Bs=0;break; / A case 2: 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=

35、1;break; / B case 8: Ds=0;Cs=0;Bs=1;As=1; count=0;break; / BA TH1=chg; TL1=chd; jipulsef+; void main() unsigned char key=0,keysflag=0; Init_Lcd(); /初始化LCD1602 delay(100); dispstr(0,0,"Ready!");/ TMOD=0x10; / EA=1; jishusum=2000; TH1=jishusum/256; TL1=jishusum%256; ET1=1;/ delay(100);chg=TH

36、1;chd=TL1; while(1) key=getkey();/ switch(key) case 0: if(keysflag=1)jisun_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

37、,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 4: jishusum=jishusum+2000; if(jishusum>=60000) jishusum=60000; chg=jishusum/256; chd=jishusum%256; / disp_jishusum(); jisun_speed(); jisun_s();

38、dispstr(0,1,"U"); break;/case 5: jishusum=jishusum-2000; if(jishusum<=0)jishusum=0; chg=jishusum/256; chd=jishusum%256; / disp_jishusum(); jisun_s(); jisun_speed();dispstr(0,1,"D"); break;/ /*get keynumber*/unsigned char getkey()unsigned char key=0; if(!Kstart) / delay(10); if

39、(!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) / 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; whil

40、e(!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)/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

41、,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) dianjizhuan1();dianji1zhuan(0);dianjizhuan2();if(s%10=0)dianjizhuan1();dianji1zhuan(1);dianjizhuan2();EA=1;void dianji1zhuan(unsigned cha

42、r 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;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;del

43、ay(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=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(

44、j=0;j<2;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); A1s=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;

45、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=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;

46、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=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; del

溫馨提示

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

評論

0/150

提交評論