1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐIỀU KHIỂN MÁY VẼ BẰNG VI XỬ LÝ

185 163 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 185
Dung lượng 688 KB

Nội dung

Trước đây, ở các máy cắt kim loại thông thường, việc điều khiển các chuyển động cũng như thay đổi vận tốc của các bộ phận, máy đều thực hiện bằng tay. Với cách điều khiển này thời gian phụ khá lớn, nên không thể tăng năng suất lao động cũng như đảm bảo độ chính xác của vật gia công.

Luận văn tốt nghiệp khiển máy vẽ vi xử Điều TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG LUẬN VĂN TỐT NGHIỆP ĐỀ TÀI: ĐIỀU KHIỂN MÁY VẼ BẰNG VI XỬ GVHD : THẦY HOÀNG MINH TRÍ SVTH : TRẦN HOÀI NAM MSSV : 49700926 NIÊN KHÓA 1997-2002 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều Lời cảm ơn : Em xin chân thành cảm ơn thầy Hoàng Minh Trí tận tình hướng dẫn,giúp đỡ động viên em suốt thời gian thực luận văn tốt nghiệp Em xin chân thành cảm ơn thầy cô trường ĐHBK ,đặc biệt thầy cô Bộ môn ĐKTĐ kiến thức , học bổ ích mà thầy cô truyền dạy cho em măm học SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều MỤC LỤC Trang PHẦN I : GIỚI THIỆU 1/LỜI GIỚI THIỆU 2/SƠ LƯC VỀ LUẬN VĂN PHẦN II : CÁC THIẾT BỊ ĐỒ HỌA 1/MỘT SỐ THIẾT BỊ ĐỒ HỌA THÔNG DỤNG 2/GIỚI THIỆU BÀN VẼ TRONG LUẬN VĂN PHẦN III : ĐỘC LẬP THIẾR BỊ 1/ĐỘC LẬP THIẾT BỊ 2/ỨNG DỤNG VÀO ĐỀ TÀI 10 PHẦN IV : GIỚI THIỆU TẬP TIN DXF 11 1/GIỚI THIỆU 11 2/CẤU TRÚC FILE DXF 11 PHẦN V : GIẢI THUẬT VẼ 19 1/GIẢI THUẬT SINH ĐƯỜNG THẲNG 19 2/GIẢI THUẬT SINH ĐƯỜNG TRÒN 21 3/GIẢI THUẬT SINH ĐƯỜNG SPLINE 25 PHẦN VI : GIỚI THIỆU VI XỬ 8951 28 1/GIỚI THIỆU AT89C51 28 2/TẬP LỆNH CỦA AT89C51 32 3/MỘT SỐ CHỨC NĂNG TRONG AT89C51 33 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều PHẦN VII : CỔNG COM VÀ CÁC CHUẨN GIAO TIẾP 39 1/GIAO TIẾP VỚI MÁY TÍNH 39 2/CÁC CHUẨN TRUYỀN THÔNG NỐI TIẾP 40 3/CHUẨN RS-232 CƠ BƯỚC 41 PHẦN VIII :ĐỘNG 44 1/GIỚI THIỆU ĐỘNG CƠ BƯỚC 44 2/MỘT SỐ MẠCH ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC 49 3/DÒNG GIỚI HẠN CỦA ĐỘNG CƠ BƯỚC 51 PHẦN IX : TỔNG KẾT 53 PHẦN X : PHỤ LỤC 54 PHẦN I GIỚI THIỆU 1/LỜI GIỚI THIỆU Trước đây, máy cắt kim loại thông thường, việc điều khiển chuyển động thay đổi vận tốc phận, máy thực tay Với cách điều khiển thời gian phụ lớn, nên tăng suất lao động đảm bảo độ xác vật gia công Do để giảm thời gian phụ, ta cần thiết tiến hành tự động hoá trình điều khiển Và phương pháp gia công tự động đời với dấu tì, cam trục phân phối v.v… chưa đáp ứng nhu cầu sản suất, rút ngắn thời gian phụ thời gian chuẩn bò sản suất SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều dài Nhược điểm không đáng kể sản suất số lượng lớn, với sản suất nhỏ, mặt hàng phải thay đổi thường xuyên, loại máy trở nên bất tiện không kinh tế Điều hình thành nhu cầu tìm phương pháp điều khiển mới, đảm bảo thời gian hiệu chỉnh máy để gia công từ loại chi tiết sang loại chi tiết khác nhanh Và phương pháp điều khiển theo chươnh trình đời để đáp ứng yêu cầu Điều khiển theo chương trình dạng điều khiển tự động mà tín hiệu điều khiển (tín hiệu ra) thay đổi theo qui luật đònh trước Nói cách khác, máy điều khiển theo chương trình, thứ tự giá trò chuyển động, thứ tự phận máy, đóng mở hệ thống làm nguội, bôi trơn, thay dao… thực theo trình tự lập trình sẵn Các cấu mang chương trình đặt vào thiết bò điều khiển máy làm việc tự động theo chương trình cho Nếu chương trình ghi lại dấu tì, hệ thống cam, mẫu chép hình… ta gọi hệ thống điều khiển hệ thống điều khiển phi số Nếu chương trình biểu thò chữ số dạng mã hiệu, ta gọi hệ thống điều khiển theo chương trình số Như điều khiển theo chương trình số trình tự động cho phép đưa cấu di động từ vò trí đến vò trí khác lệnh Sự dòch chuyển lượng di động thẳng hay góc quay theo bậc tự Trong nhiều trường hợp, phương pháp điều khiển theo chương trình số thiết kế tự động hoá việc di động cấu từ vò trí đến vò trí khác, ta gọi “điều khiển theo điểm” Nhưng ta thực dễ dàng rút ngắn vô hạn khoảng cách hai điểm di động đạt trình điều khiển q đạo gọi “điều khiển theo đường” Phương pháp điều khiển chương trình số dùng để di động cấu truyền động Phạm vi sử dụng rộng, chủ yếu tự động hoá máy công cụ, lónh vực bao gồm việc điều khiển dao cắt chữ số Chương trình ghi chữ số thực máy, dạng băng xuyên lỗ, băng từ, đóa từ, film… Các chương trình cất giữ vào kho, ngăn tủ Khi cần sử dụng ta cần nạp vào máy, để máy thực chương trình điều khiển chuyển động tương đối dao phôi SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều làm chương trình số tiến hành xa máy máy có hệ thống đo lường riêng, nên hệ thống thay đổi dễ dàng nhanh chóng Dựa phương pháp điều khiển vò trí theo chương trình số nêu, đề tài luận văn là: ”Điều khiển máy vẽ vi xử lý” Máy vẽ đề cập máy vẽ có khả vẽ liên tục đường nét hình cho trước (của AutoCad) 2/ SƠ LƯC VỀ LUẬN VĂN * Luận văn có nhiệm vụ thiết kế máy vẽ có khả đọc tập tin (file) DXF AutoCad , sau đònh dạng lại file.DXF (có nghóa tạo file.TXT chứa thông tin điểm, đường cần vẽ ) Việc đònh dạng thực máy tính (PC) , cuối PC truyền thông tin file.TXT xuống vixử 8952 đề thực thao tác vẽ * Những công việc cần thực hiện: - Phần cứng : thiết kế mạch giao tiếp PC 8952 theo chuẩn RS-232 - Phần mềm: >Lập trình cho việc đọc đònh dạng file.DXF PC (dùng DELPHI) >Lập trình cho vi xử 8952 thực thao tác vẽ 3/ỨNG DỤNG CỦA ĐỀ TÀI Với cách điều khiển lúc dòch chuyền theo trục X,Y bút vẽ để di chuyển theo đường xác đònh , đề tài khẳng đònh tối ưu khả thi việc điều khiển vò trí liên tục máy công cụ , tảng cho việc thiết kế máy khoan , máy cắt… Để ứng dụng vào sản suất , cụ thể cắt may, đòi hỏi phải có mạch hồi tiếp từ cấu chấp hành , động có công suất lớn với độ tin cậy cao PHẦN II CÁC THIẾT BỊ ĐỒ HỌA SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều 1/ MỘT SỐ THIẾT BỊ ĐỒ HỌA THÔNG DỤNG a/ Thiết bò quét Raster : Thiết bò quét Raster (gọi tắt Raster) loại thiết bò thể (màn hình) Thiết bò Raster thể hình ảnh từ điểm màu thay đường Mỗi điểm gọi pixel Giới thiệu số thiết bò Raster : -Màn hình (Monitor): Màn hình hiển thò hệ thống đồ họa máy tính cầu nối việc trao đổi thông tin người sử dụng hệ thống Có nhiều loại công nghệ sử dụng để phối hợp loại hình đồ họa Độ phân giải liên quan đến khả hình thể chi tiết Các hình đạt đến độ phân giải 1280x1024, số thể điểm phân biệt hình Sơ đồ phân loại : Màn hình Quét dòng Quét vector Ống nhớ CRT làm tươi Đơn sắc Màu CRT màu Màn hình phẳng Tinh thể Bảng Plasma Phát Hình: Các công nghệ sửlỏng dụng cấu tạo thiết bò hiển thò quang đồ họa điện tử Các ký tự văn hình thành từ mẫu điểm Đường thẳng cung hình thành từ dãy điểm thích hợp Và vùng hình tô màu ; đơn giản tất điểm vùng lập màu SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều Ảnh Raster đặt vùng nhớ gọi vùng đệm khung (frame buffer) Thuật ngữ frame để ảnh đơn Trong vùng đệm khung, với trường hợp hai cấp cần bit cho điểm, giá trò bit 0, điểm tương ứng ảnh có màu trắng, điểm tương ứng có màu đen Với ảnh màu, để biểu diễn mỗ điểm cần nhiều bit Vùng đệm khung : Vùng đệm khung chiếm nhiều nhớ: giả sử kích thước hình r dòng, c cột cần b bit cho điểm, cần r*c*b bit Một thiết bò Raster chất lượng cao có r=1024, c=1024, b=24, cần 25 triệu bit (3MB) Như vùng đệm nằm đậu truy cập chúng Với số hệ Raster, vùng đệm khung thực phần nhớ máy Chúng gọi thiết bit-maped : xử truy xuất điểm, có mạch logic riêng để làm tươi hình Để tạo ảnh ứng dụng ghi màu (là giá trò) trực tiếp lên vò trí nhớ thích hợp Tại cấp thấp nhất, có thò máy làm việc Tuy nhiên để tiện lợi người ta tạo thủ tục SetPixel(row,col,A) để nạp giá trò A cho điểm (row,col) -Máy in kim: Cơ cấu in máy in ma trận điểm tập hợp từ đến 24 kim cứng xếp đầu in, di chuyển theo phương nằm ngang mặt tờ giấy Các máy in làm việc thiết bò quét dòng cần có chuyển đổi cho hình ảnh dạng quét vector Việc in màu thực nhờ sử dụng ruyban màu Các màu bổ sung tạo cách gõ hai vùng đệm ruyban lên điểm giấy -Máy in, vẽ phun: Cũng thiết bò quét dòng (raster scan), thiết bò in màu rẻ tiền Cơ cấu gồm đầu vòi mực gắn đầu in, di chuyển bề mắt tờ giấy phun mực với màu sắc khác Các vòi phun gắn với hốc mực rãnh nhỏ bao bọc tinh thể áp điện Một xung điện đặt vào tinh thể tạo giật nhẹ, làm bắn giọt mực Độ phân giải máy in quy đònh kích thước giọt mực, kích thước vòi phun tạo Vòi phun thường nhỏ nên in thường gặp số vấn đề phức tạp -Máy in laser: Là thiết bò quét dòng (raster scan), chùm tia lazer quét lên trống quay tích điện dương, phủ lớp selen Phần mặt trống bò chiếu chùm tia lazer bò điện tích dương Những phần tích điện lại SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều tương ứng với phần đen giấy Một lớp bột tónh điện phủ lên phần tích điện dương truyền sang giấy Một vi xử máy in lazer thực chuyển đổi sang dạng quét dòng -Máy in tónh điện: Là thiết bò nạp điện tích âm cho phần loại giấy chế tạo đặc biệt, sau làm cô đặc bột tónh điện dạng lỏng, tích điện dương lên tờ giấy Bột tónh điện phủ lên làm tối phần giấy tích điện âm Đây thiết bò dạng quét dòng, chứa xử để thực việc chuyển đổi b/ Thiết bò vẽ đường : Có hai dạng thường gặp máy vẽ dạng phẳng dạng trống -Máy vẽ dạng phẳng: Máy vẽ dạng phẳng truy cập đến vò trí xy mặt phẳng cách chuyển động cần vẽ gắn bàn vẽ Trên cần vẽ có gắn viết vẽ chuyển động dọc theo trục x trục y Cây viết hạ xuống hay nhấc lên, tùy theo việc đường nét hay thay đổi vò trí viết Tờ giấy giữ bàn vẽ tónh điện chân không -Máy vẽ dạng trống: Máy vẽ dạng trống có vài điểm phức tạp dạng phẳng, chế độ hoạt động tương tự Trong máy vẽ dạng trống, tờ giấy lên trống vẽ cho trượt Trống quay tới, quay lui, đầu vẽ trượt cần vẽ cố đònh, truy cập đến điểm tờ giấy Nhận xét : Các thiết bò vẽ đường (Line Drawing) vẽ đường Thông dụng bút vẽ Plotter Khi plotter vẽ đường, trước hết bút di chuyển đến điểm đầu, đặt bút xuống, sau bút di chuyển theo đường thẳng tới đầu đường Các thiết bò vẽ đường có hệ tọa độ đònh sẵn cho bút vẽ, hình : y (1023,767) Pen x (0, SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều Bút vẽ đến điểm cụ thể cách gửi cho Plotter tọa độ điểm Thiết bò vẽ đường có sẵn số thủ tục bản, dụ số lệnh cho bút vẽ :  Pen_Up : nhấc bút  Pen_Down : đặt bút  Go_To (x,y) : di chuyển bút đến điểm (x,y)  Get_Pen (i) : đổi bút thành bút thứ i Những lệnh gọi lệnh thiết lập chế độ (mode setting) Khi thiết bò nhận lệnh chúng thay đổi “trạng thái” máy có lệnh thiết lập chế độ khác Thiết bò phải gửi giá trò (x,y) theo hệ tọa độ nó, gọi tọa độ thiết bò 2/ GIỚI THIỆU BÀN VẼ TRONG LUẬN VĂN Máy vẽ thiết kế luận văn máy vẽ điều khiển theo chương trình số Phần máy vẽ gồm hai trục X,Y để điều khiển vò trí qua lại bút vẽ mặt phẳng vẽ trục Z gắn trực tiếp với bút vẽ để điều khiển nhấc bút lên hay hạ bút xuống Mỗi trục X,Y cấu tạo gồm động bước có trục quay gắn liền với vitme Vitme trục có xoắn, mài kỹ Nếu ta gắn vật lên xoắn vitme động quay, vitme chuyển chuyển động quay thành chuyển động trượt vật xoắn Tùy theo chiều quay động thuận hay nghòch mà vật chuyển động tới hay lui xoắn Trục X đặt lên vitme trục Y, trục Z lại đặt lên vitme trục X Kết quay động bút vẽ di chuyển theo trục, quay đồng thời hai động bút vẽ di chuyển theo hai trục, việc dẫn đến việc ta vẽ đường xiên tiền đề cho việc vẽ đường cong Trục Z đơn giản nam châm điện có trục gắn với bút vẽ dùng để điều khiển vò trí nhấc lên hay hạ xuống Khi có dòng điện qua nam châm, bút nhấc lên Ngoài số công tắc hành trình để việc điều khiển xác dễ dàng Tìm hiểu hai động bước hai trục X,Y : Hai động bước mô hình thiết kế sau : - Động trục X : 10 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều %Direction2_Rev JMP Next_Circle_Rev Case3_Rev: %BT4 (DeltaXH,DeltaXL,XH,XL) %BT5 (DeltaYH,DeltaYL,XH,XL) %DEC16 (XH,XL,XH,XL) %Direction3_Rev Next_Circle_Rev: %CMP (XH,XL,CH,CL) JNC End_Circle_Rev CLR Motor_Flag CLR Circle_Rev_Draw MOV DataBaseAddr,#0FH SETB Transmit_Flag CALL Turn_On_AUTO_LED CALL Delete_Pulse End_Circle_Rev: RET ; ============================================== ;Ve mot phan tu hinh tron: ;Input : X1H,X1L - Y1H,Y1L - X2H,X2L ;Output : No ; ============================================== Circle_For: MOV A,DeltaXH JNB ACC.7,D1_Positive_For MOV A,DeltaYH JNB ACC.7,D2_Positive_For JMP Case1_For D2_Positive_For: JMP Case2_For D1_Positive_For: JMP Case3_For Case1_For: %BT1 (DeltaXH,DeltaXL,YH,YL) %BT2 (DeltaYH,DeltaYL,YH,YL) %INC16 (YH,YL,YH,YL) %Direction1_For JMP Next_Circle_For Case2_For: %BT3 (DeltaXH,DeltaXL,XH,XL,YH,YL) %BT3 (DeltaYH,DeltaYL,XH,XL,YH,YL) %DEC16 (XH,XL,XH,XL) 171 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Ñieàu %INC16 (YH,YL,YH,YL) %Direction2_For JMP Next_Circle_For Case3_For: %BT4 (DeltaXH,DeltaXL,XH,XL) %BT5 (DeltaYH,DeltaYL,XH,XL) %DEC16 (XH,XL,XH,XL) %Direction3_For Next_Circle_For: %CMP (XH,XL,CH,CL) JNC End_Circle_For CLR Motor_Flag CLR Circle_For_Draw MOV DataBaseAddr,#0FH SETB Transmit_Flag CALL Turn_On_AUTO_LED CALL Delete_Pulse End_Circle_For: RET ; ============================================== === ;Nhấc bút vẽ lên ; ============================================== === Pen_Up: JNB Pen_Lift,End_Pen_Up CLR Press MOV A,Out_Led ANL A,#01111111B MOV Out_Led,A End_Pen_Up: RET ; ============================================== === ;Haï bút vẽ xuống ; ============================================== === Pen_Down: JB Pen_Lift,End_Pen_Down CLR Press MOV A,Out_Led 172 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều ORL A,#10000000B MOV Out_Led,A End_Pen_Down: RET KEY.INC: ; ============================================== == ;Doan chuong trinh quet phim ;Output : KeyOut ; ============================================== == KeyDecoder: MOV A,Key CALL KeyCode NOP JB KeyIn,Key_Equal DJNZ Key,End_KeyDecoder MOV Key,#KeyNumber JNB KeyPressed,Key_Next1 CLR KeyPressed JMP End_KeyDecoder Key_Next1: ;Không có phím nhấn MOV KeyOut,#0 MOV Key_Counter,#0 CALL Delete_Pulse JMP End_KeyDecoder Key_Equal: ;Có phím nhấn MOV A,Key CJNE A,Key_Pressed,Key_Not_Equal INC Key_Counter MOV A,Key_Counter CJNE A,#KeyCount,End_KeyPressed MOV A,Key_Pressed CALL OutKeyCode MOV Key_Counter,#0 JMP End_KeyPressed Key_Not_Equal: ;Chöa đủ số lần lặp quét phím MOV Key_Counter,#0 MOV Key_Pressed,Key JMP End_KeyPressed End_KeyPressed: 173 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều SETB KeyPressed DJNZ Key,End_KeyDecoder MOV Key,#KeyNumber End_KeyDecoder: RET ; ============================================== == ;Doan chuong trinh xuat ma quet phim ; ============================================== == KeyCode: ;Tạo giá trò để kiểm tra phím nhấn MOV DPTR,#(Key_Code-1) MOVC A,@A+DPTR ORL P2,#00001111B ANL A,P2 MOV P2,A RET Key_Code: DB 11111110B DB 11111101B DB 11111011B DB 11110111B End_KeyCode: ; ============================================== == ;Doan chuong trinh xuat phim duoc nhan ; ============================================== == OutKeyCode: ;Set cờ F(i) tương ứng với phím nhaán MOV DPTR,#(Flag_Code-1) MOVC A,@A+DPTR MOV KeyOut,A RET Flag_Code: DB 00000001B DB 00000010B DB 00000100B DB 00001000B End_OutKeyCode: 174 SVTH:Traàn Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều MANUAL.INC: ; ============================================== === ;Xóa đèn điều khiển hướng chuyểàn động ñeøn AUTO ; ============================================== === Delete_Direction_LED: MOV A,Out_Led ANL A,#11100000B MOV Out_Led,A End_Delete_Direction_LED: RET ; ============================================== === ;Chế độ điều khiển tay ; ============================================== === Manual: JNB F1,Not_Left CALL Left_Control JMP End_Manual Not_Left: JNB F2,Not_Up CALL Up_Control JMP End_Manual Not_Up: JNB F3,Not_Down CALL Down_Control JMP End_Manual Not_Down: JNB F4,End_Manual CALL Right_Control End_Manual: RET TRANSFER.INC: Transfer: Receive: JNB RI,End_Receive CLR RI 175 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều MOV A,SBUF MOV C,P ANL C,RB8 JC Data_OK MOV C,P ORL C,RB8 JNC Data_OK MOV DataBaseAddr,#0FFH SETB Transmit_Flag MOV R0,#DataBaseAddr MOV DataIn_Counter,#DataInByte MOV A,Out_Led ORL A,#00100000B MOV Out_Led,A JMP End_Receive Data_OK: MOV @R0,A INC R0 DJNZ DataIn_Counter,End_Receive MOV DataIn_Counter,#DataInByte MOV R0,#DataBaseAddr MOV A,DataBaseAddr CJNE A,#PC_Addr,End_Receive SETB Draw_Flag MOV A,Out_Led ANL A,#11011111B MOV Out_Led,A End_Receive: Transmit: JNB Transmit_Flag,End_Transmit JNB TI,End_Transmit CLR TI CLR Transmit_Flag MOV A,DataBaseAddr MOV C,P MOV TB8,C MOV SBUF,A End_Transmit: End_Transfer: RET AUTO.INC: ; ============================================== === 176 SVTH:Traàn Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều ;Bật đèn AUTO ; ============================================== === Turn_on_AUTO_LED: MOV A,Out_Led ANL A,#11110000B ORL A,#00010000B MOV Out_Led,A RET End_Turn_On_AUTO_LED: ; ============================================== === ;Xác đònh loại lệnh nhận thực khởi động tương öùng ; ============================================== === Draw_Identify: JNB Draw_Flag,End_Draw_Label CLR Draw_Flag JMP Next_Draw_Identify End_Draw_Label: JMP End_Draw_Identify Next_Draw_Identify: MOV A,DataBaseAddr+1 CJNE A,#0,Not_Move CALL Pen_Up CALL Line_Init SETB Motor_Flag SETB Line_Draw JMP End_Draw_Identify Not_Move: CJNE A,#1,Not_Line CALL Pen_Down CALL Line_Init SETB Motor_Flag SETB Line_Draw JMP End_Draw_Identify Not_Line: CJNE A,#2,Not_Circle_For CALL Pen_Down CALL Circle_Init_For SETB Motor_Flag 177 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều SETB Circle_For_Draw JMP End_Draw_Identify Not_Circle_For: CJNE A,#3,Not_Circle_Rev CALL Pen_Down CALL Circle_Init_Rev SETB Motor_Flag SETB Circle_Rev_Draw JMP End_Draw_Identify Not_Circle_Rev: CJNE A,#4,Not_Data_Out SETB Data_Out JMP End_Draw_Identify Not_Data_Out: CJNE A,#5,Not_Speed_Change MOV Speed,DataBaseAddr+3 MOV DataBaseAddr,#0FH SETB Transmit_Flag JMP End_Draw_Identify Not_Speed_Change: CJNE A,#6,Not_Data_In CALL Mov_Ext_Data ;Đưa liệu vào vùng 128byte cao MOV DataBaseAddr,#0FH SETB Transmit_Flag JMP End_Draw_Identify Not_Data_In: CJNE A,#7,Not_Spline CALL Pen_Down CALL Spline_Init SETB Motor_Flag SETB Spline_Draw JMP End_Draw_Identify Not_Spline: CJNE A,#8,Not_LCD SETB Motor_Flag SETB LCD_Display_Flag JMP End_Draw_Identify Not_LCD: CJNE A,#9,Not_Clear CALL Clear_LCD MOV DataBaseAddr,#0FH SETB Transmit_Flag JMP End_Draw_Identify Not_Clear: CJNE A,#10,Not_Next_Row 178 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều CALL Next_Row_LCD MOV DataBaseAddr,#0FH SETB Transmit_Flag JMP End_Draw_Identify Not_Next_Row: End_Draw_Identify: RET ; ============================================== === ;Điều khiển động vẽ đường tương ứng với lệnh nhận ; ============================================== === Motor_Control_Drawing: JNB Motor_Flag,End_Motor_Control_Drawing JNB Line_Draw,Motor_Control_L1 CALL Line JMP End_Motor_Control_Drawing Motor_Control_L1: JNB Circle_Rev_Draw,Motor_Control_L2 CALL Circle_Rev JMP End_Motor_Control_Drawing Motor_Control_L2: JNB Circle_For_Draw,Motor_Control_L3 CALL Circle_For Motor_Control_L3: JNB Spline_Draw,Motor_Control_L4 CALL Spline Motor_Control_L4: JNB LCD_Display_Flag,Motor_Control_L5 CALL LCD_Display Motor_Control_L5: End_Motor_Control_Drawing: RET ; ============================================== === ;Xuất tọa độ hành bút vẽ ; ============================================== === Position_Output: JNB Data_Out,End_Position_Output MOV DataBaseAddr,@R1 179 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều INC R1 SETB Transmit_Flag DJNZ DataOut_Counter,End_Position_Output MOV DataOut_Counter,#DataOutByte CLR Data_Out MOV R1,#Cur_XH End_Position_Output: RET ; ============================================== === ;Dừng hệ thống nút Start/Stop ; ============================================== === Stop_System: JNB Run,End_Stop_System PUSH P0 MOV A,Out_Led ORL A,#01000000B MOV Out_Led,A MOV P0,Out_Led SETB Led_EN NOP CLR Led_EN POP P0 MOV SBUF,#0F0H CLR IE.1 End_Stop_System: ROUNTINE.INC: ; ============================================== === ;Khởi động Port nối tiếp, timer ngắt ; ============================================== === Serial_Port_Timer_Init: MOV SCON,#11010010B MOV IE,#10000010B MOV TMOD,#22H MOV TH1,#-3 MOV TH0,#TimeBase SETB TR1 180 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều SETB TR0 RET End_Serial_Port_Timer_Init: ; ============================================== === ;Khởi động bit ; ============================================== === Bit_Init: SETB Transmit_Flag CLR Timer_F1 CLR Draw_Flag CLR KeyPressed CLR F1 CLR F2 CLR F3 CLR F4 CLR Motor_Flag CLR MotorX_Bit CLR MotorY_Bit CLR Led_EN CLR P1.0 CLR Line_Draw CLR Circle_Rev_Draw CLR Circle_For_Draw CLR Spline_Draw CLR LCD_Display_Flag CLR Data_Out CLR X_Del CLR Y_Del SETB Press CLR LCD_Busy CLR Run End_Bit_Init: RET ; ============================================== === ;Khởi động biến ; ============================================== === Variable_Init: 181 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều MOV Speed,#V MOV TimerCount,#TimeCount MOV TimerCount1,Speed MOV DataIn_Counter,#DataInByte MOV R0,#DataBaseAddr MOV R1,#Cur_XH MOV PointerX,#MotorStep MOV PointerY,#MotorStep MOV Key,#KeyNumber MOV Key_Pressed,#0 MOV Key_Counter,#0 MOV DataBaseAddr,#0FH MOV Out_Led,#0 MOV Cur_XH,#0 MOV Cur_XL,#0 MOV Cur_YH,#0 MOV Cur_YL,#0 MOV DataOut_Counter,#DataOutByte MOV Press_Counter,#PressCount MOV NBaseAddr,#0D8H MOV Ext_Data,#80H MOV LCD_Pointer,#80H RET End_Variable_Init: ; ============================================== === ;Xóa xung kích động bước ; ============================================== === Delete_Pulse: JNB X_Del,Next_Delete_Pulse CLR X_Del PUSH P0 MOV A,#0FFH MOV P0,A SETB MotorX_Bit NOP CLR MotorX_Bit POP P0 Next_Delete_Pulse: JNB Y_Del,End_Delete_Pulse CLR Y_Del PUSH P0 182 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều MOV A,#0FFH MOV P0,A SETB MotorY_Bit NOP CLR MotorY_Bit POP P0 End_Delete_Pulse: RET ; ============================================== === ;Xuất tín hiệu đèn báo ; ============================================== === Out_Led_Control: PUSH P0 MOV P0,Out_Led SETB Led_EN NOP CLR Led_EN POP P0 RET End_Out_Led: ; ============================================== === ;Kieåm tra công tắc hành trình, chạm biên -> dừng TIMER ; ============================================== === Limit_Control: JNB Start_X,Stop_Start_X JNB End_X,Stop_End_X JNB Start_Y,Stop_Start_Y JNB End_Y,Stop_End_Y JMP End_Limit_Control Stop_Start_X: JNB Timer_F2,$ CLR Timer_F2 CALL Right_Control JNB Start_X,Stop_Start_X JMP Stop Stop_End_X: JNB Timer_F2,$ 183 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều CLR Timer_F2 CALL Left_Control JNB End_X,Stop_End_X JMP Stop Stop_Start_Y: JNB Timer_F2,$ CLR Timer_F2 CALL Up_Control JNB Start_Y,Stop_Start_Y JMP Stop Stop_End_Y: JNB Timer_F2,$ CLR Timer_F2 CALL Down_Control JNB End_Y,Stop_End_Y JMP Stop Stop: PUSH P0 MOV A,Out_Led ORL A,#01000000B MOV Out_Led,A MOV P0,Out_Led SETB Led_EN NOP CLR Led_EN POP P0 MOV SBUF,#0F1H CLR IE.1 End_Limit_Control: RET ; ============================================== === ;Chuyển 10 byte liệu từ ô nhớ 32H 3BH lên vùng 128byte cao ; ============================================== === Mov_Ext_Data: PUSH PUSH MOV R2,#10 MOV R1,#DataBaseAddr+2 Mov_Data_Loop: MOV R0,Ext_Data MOV A,@R1 184 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử Điều MOV @R0,A INC Ext_Data INC R1 DJNZ R2,Mov_Data_Loop POP POP End_Mov_Ext_Data: RET 185 SVTH:Trần Hoài Nam Niên khóa 1997-2002 ... dễ dàng nhanh chóng Dựa phương pháp điều khiển vò trí theo chương trình số nêu, đề tài luận văn là: Điều khiển máy vẽ vi xử lý Máy vẽ đề cập máy vẽ có khả vẽ liên tục đường nét hình cho trước... tốt nghiệp khiển máy vẽ vi xử lý Điều Hình: Lưu đồ giải thuật trung điểm sinh đường tròn 29 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử lý Bắt đầu Điều x=0 y=R... vào số lượng điểm điều khiển 30 SVTH:Trần Hoài Nam Niên khóa 1997-2002 Luận văn tốt nghiệp khiển máy vẽ vi xử lý Điều Các đường cong có điều khiển toàn – di chuyển điểm điều khiển ảnh hưởng đến

Ngày đăng: 10/11/2018, 22:50

TỪ KHÓA LIÊN QUAN

w