Thiết kế Máy cắt giấy giao tiếp máy tính

MỤC LỤC PHẦN I: TỔNG QUAN VỀ CÁC LINH KIỆN SỬ DỤNG TRONG ĐE TÀI Trang CHƯƠNG I: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 89C51 9 I. GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MCS-51 (89C51): 10 1. Giới thiệu họ MCS-51 10 2. Các đặc điểm của 89C51 10 II. KHẢO SÁT SƠ ĐỒ CHÂN 89C51 .12 1. Sơ đồ chân 89C51 12 2. Chức năng các chân của 89C51 .12 III. CẤU TRÚC BÊN TRONG VI ĐIỀU KHIỂN 14 1. Tổ chức bộ nhớ 14 2. Các thanh ghi có chức năng đặc biệt 17 3. Bộ nhớ ngoài . 20 4. Họat động Reset 21 IV. HOẠT ĐỘNG TIMER CỦA 89C51 22 1. Giới Thiệu . 22 2. Thanh ghi điều khiển timer TCON . .24 3. Thanh ghi timer TMOD. . 25 4. Các mode và cờ tràn . .26 5. Các nguồn xung clock . 28 6. Sự bắt đầu, dừng và điều khiển các timer 28 7. Sự khởi động và truy xuất các thanh ghi timer . 29 V . CỔNG NỐI TIẾP 30 1. Giới thiệu . . 30 2. Thanh ghi port nối tiếp .31 3. Các chế độ hoạt động .32 VI. TỔ CHỨC NGẮT CỦA MCS51 .35 VII.TÓM TẮT TẬP LỆNH MCS-51 . . 36 1. Các chế độ định vị địa chỉ . .36 2. Tóm tắt tập lệnh họ MCS-51 . . . 37 CHƯƠNG II: GIỚI THIỆU VỀ GIAO TIẾP MÁY TÍNH 41 I. GIAO TIẾP QUA CỔNG NỐI TIẾP CHUẨN RS232 . 41 II. GIAO TIẾP QUA KHE CẮM MÁY TÍNH (SLOT-CARD) .43 III. GIAO TIẾP QUA CỔNG MÁY IN (LPT) . . 44 IV. TRUYỀN DỮ LIỆU . 45 1. Thông tin số liệu .45 2. Phương thức truyền . 45 3. Thông tin nối tiếp bất đồng bộ . . 47 4. Thông tin nối tiếp đồng bộ .49 CHƯƠNG III: KHẢO SÁT CÁC LỌAI MOTOR BƯỚC VÀ DC 1 CHIỀU 50 I. GIỚI THIỆU . .50 II. CÁC LỌAI MOTOR BƯỚC . .51 1. Motor có từ trở thay đổi . . 51 2. Motor bước đơn cực . .52 3. Motor bước lưỡng cực 53 4. Motor bước có 2 dây bện vào nhau . 53 5. Motor đa pha .54 III. MẠCH LÁI (DRIVER) . .55 IV.CẦU CHỮ H VÀ MOTOR LƯỠNG CỰC 56 V . ĐỊNH DÒNG CHO MOTOR .58 VI . SƠ LƯỢC MOTOR DC 1 CHIỀU 60 CHƯƠNG IV : KHẢO SÁT LCD ITM-2002A .62 I. GIỚI THIỆU .62 II. SƠ ĐỒ KHỐI . 63 III .MÔ TẢ VỀ CHỨC NĂNG CỦA CÁC IC LÁI 64 1. Việc giao tiếp với hệ thống .64 2. Giải thích mã lệnh 64 IV. VIỆC KẾT NỐI CÁC CHÂN ĐỂ GIAO TIẾP .65 V. CÁC MÃ LỆNH XỬ LÝ LCD .66 1. Các mã lệnh 66 2. Mô tả mã lệnh 66 CHƯƠNG V: TỔNG QUAN VỀ CÁC IC SỬ DỤNG TRONG MẠCH I. GIỚI THIỆU . 70 II. AT24C16 . .70 III. IC MN 4512 . 72 IV. IC MAX 232 . . .72 V. CẶP IC THU, PHÁT: BL9148, BL9149 .73 1. IC phát BL 9148 .73 2. IC thu BL 9149 .75 VI.OPTO P521 76 PHẦN II: THIẾT KẾ VÀ THI CÔNG 79 CHƯƠNG I: GIỚI THIỆU TỔNG QUÁT I . MỤC ĐÍCH VÀ YÊU CẦU THIẾT KẾ: 79 II. GIẢI PHÁP CHO NHỮNG VẤN ĐỀ ĐÃ ĐƯA RA 79 III. GIẢI THÍCH CHỨC NĂNG CÁC KHỐI TRONG SƠ ĐỒ .80 IV.MÔ HÌNH MÁY CẮT GIẤY .81 V. SƠ ĐỒ KHỐI CỦA MÁY CẮT GIẤY 83 CHƯƠNG II : THIẾT KẾ CHI TIẾT TỪNG KHỐI TRONG SƠ ĐỒ 84 I. KHỐI GIAO TIẾP MÁY TÍNH ( PC) .84 II. KHỐI ĐIỀU KHIỂN TRUNG TÂM . 85 III. KHỐI HIỂN THỊ LCD 87 IV. KHỐI CÁCH LY . 88 V. KHỐI BẢNG ĐIỀU KHIỂN . 88 VI. KHỐI CÔNG SUẤT(DRIVER) . . 89 VII. KHỐI THI HÀNH VÀ CẢM BIẾN . 91 1. Mạch cảm biến hồng ngọai . 91 2. Mach cảm biến dao cắt . 93 3. Mạch điều khiển dao cắt . 93 VIII. KHỐI NGUỒN . .94 IX. SƠ ĐỒ NGUYÊN LÝ CỦA MÁY CẮT GIẤY 94 PHẦN III: CÁC PHẦN MỀM ỨNG DỤNG VÀ TỔNG KẾT CHƯƠNG I: VIẾT PHẦN MỀM ĐIỀU KHIỂN CHO THIẾT BỊ 95 I. PHẦN MỀM CHẠY TRÊN VI ĐIỀU KHIỂN 89C52 . 95 1. Lưu đồ giải thuật .97 2. Chương trình cho 89C52 113 II. PHẦN MỀM LIÊN LẠC (VB ) CHẠY TRÊN WINDOWS 139 III. GIAO DIỆN ĐIỀU KHIỂN .140 CHƯƠNG II: TỔNG KẾT . .147 I. HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI . 147 II. LỜI KẾT . 149 III. TÀI LIỆU THAM KHẢO . 150 LỜI MỞ ĐẦU Trong những thập niên gần đây, các thiết bị điện tử được ứng dụng rộng rãi trên khắp thế giới. Sự đa dạng và phát triển của ngành này không ngừng biến đổi. Điện tử là một ngành kỹ thuật tinh vi, nó là một phương tiện dường như không thể thiếu trong mọi lĩnh vực như: viễn thông, y khoa, các phòng thí nghiệm, nghiên cứu, v v Nó đảm bảo hiệu suất trong công việc và độ tin cậy thỏa mãn cho người sử dụng. Điện tử là 1 ngành mà tín vận động đặt trên cơ sở dòng điện và điện áp. Từ những linh kiện nhỏ và đơn giản ta có thể tạo ra các thiết bị thật sự hữu dụng trong trong cuộc sống hằng ngày và đặc biệt trong sản xuất. Những thiết bị tinh vi giúp giải phóng sức lao động, tạo ra hiệu suất lao động chưa từng có, một máy họat động có thể thay thế cho vài chục nhân công, thậm chí còn hơn thế nữa. Song song đó, việc ứng dụng công nghệ thông tin vào trong sản xuất được xúc tiến và ngày càng phổ biến trong các nhà máy sản xuất hiện nay. Điều này giúp người sử dụng, quản lý và điều khiển thiết bị một cách dễ dàng và tiện lợi. Đề tài “Máy cắt giấy giao tiếp máy tính “được xây dựng trên những mục đích thiết thực như trên. Thiết bị này sẽ giúp việc cắt giấy thuận lợi hơn, đồng thời máy giúp giải phóng sức lao động và giúp người điều khiển sử dụng thiết bị một cách tiện lợi nhất. Ngòai ra việc điều khiển động cơ bước còn được ứng dụng rộng rãi trong các lĩnh vực điều khiển tự động như: robot, máy dập giấy decal , v v Đặc biệt việc điều khiển motor bước được ứng dụng phổ biến trong xí nghiệp và nhà máy phục vụ cho công việc sản xuất (được minh họa ở phần III,chương II ).

pdf150 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2614 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Thiết kế Máy cắt giấy giao tiếp máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
UBUTO BIT 24H BINUBULU BIT 25H BINUCAT BIT 26H BINUNHA BIT 27H BINUHTCA BIT 28H BITSO BIT 29H BITSB BIT 2AH BIPHCADA BIT 2BH BIPHSOBU BIT 2CH BIPHSOLG BIT 2DH BIPHSOCA BIT 2EH BICHTOI BIT 30H BICHLUI BIT 31H BIBUOC BIT 32H BITSTOP BIT 33H BISTART BIT 34H BICHAY BIT 35H BICHSET BIT 36H BIDAYA BIT 37H BICAT BIT 38H BINHA BIT 39H BIHTCAT BIT 3AH BIENCAT BIT 3BH BIDAYAD BIT 3CH BIDAYB BIT 3DH BIDAYBC BIT 3EH BIDAYC BIT 3FH BIDAYCF BIT 40H BIDAYD BIT 41H BIDAYIB BIT 42H BIDAYE BIT 43H BIDAYGJ BIT 44H BIDAYEH BIT 45H BIHITHI BIT 46H BITHADOI BIT 47H BITSL BIT 00H BITSC BIT 01H BITCT BIT 02H BITCL BIT 03H BITLUU BIT 04H BITSO1 BIT 05H BITCD BIT 06H BITSO0 BIT 07H BITSO2 BIT 50H BITSO3 BIT 51H BITSO4 BIT 52H BITSO5 BIT 53H BITSO6 BIT 54H BITSO7 BIT 55H BITSO8 BIT 56H BITSO9 BIT 57H BITBT BIT 58H BITBL BIT 59H BITCAT BIT 60H BITNHA BIT 61H BITHT BIT 62H BITRESET BIT 63H ;********************************* ************************** ; DCSOBUOC EQU 00 DCSOLG EQU 04 DCSOCAT EQU 08 DCVTOC1 EQU 12 DCVTOC2 EQU 16 DCTGCAT EQU 36 TRGTSOBU EQU 21 TRGTSOLG EQU 22 TRGTSOCA EQU 23 TRGTCADA EQU 26 TRGTVTO1 EQU 27 TRGTVTO2 EQU 28 TRGTTGCA EQU 33 MATRSO EQU 34 TRLUU EQU 35 TRCHTOI EQU 36 TRDUTOI EQU 37 TRCHLUI EQU 38 TRDULUI EQU 39 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 115 - TRBUTOI EQU 40 TRBULUI EQU 41 TRRESETO EQU 55 TRCHCAT EQU 59 TRCHNHA EQU 60 TRHTCAT EQU 61 TRDEMTAN EQU 63 TRBATDAU EQU 64 TRHITHI EQU 65 TRSTOP EQU 66 TRCHAY1 EQU 67 TRCHAY2 EQU 68 MAKT EQU 70 MAHET QU 71 MADICHCH EQU 73 ÑOÏAN XÖÛ LYÙ NGAÉT: ORG 0000H LJMP MAIN ORG 000BH LJMP DONGHO ORG 0023H LJMP NHANTR PHSTOP: CLR BICHAY LCALL XOAMOTOR PHSTOP1: JB BIDANGTR,PHSTOP1 MOV VUNG1,#TRSTOP LCALL TRDICH RET ;CHUONG TRINH HIEN THI SO BUOC LEN MAN HINH HIENTHI: JNB BITHADOI,HIENTHIH JB BIHITHI,HIENTHI1 SETB BIHITHI MOV BYHITHI,#00 LJMP HIENTHIH HIENTHI1: INC BYHITHI MOV A,BYHITHI CJNE A,#5,HIENTHIH CLR BITHADOI CLR BIHITHI MOV VUNG1,#TRHITHI MOV VUNG2,BYDBUDV MOV VUNG3,BYDBUCH MOV VUNG4,BYDBUTR MOV VUNG5,BYDBUNG MOV VUNG6,#MAKT MOV VUNG7,#MAHET LCALL TRUYENDI HIENTHIH: RET ;ÑOÏAN TRUYEÀN ÑI TRUYENDI: SETB BIDANGTR SETB TB8 MOV R1,#VUNG1 MOV SBUF,VUNG0 RET TRDICH: MOV VUNG2,#MAKT MOV VUNG3,#MAHET LCALL TRUYENDI RET TR4CHUNG: MOV VUNG2,RAMCH1 MOV VUNG3,RAMCH2 MOV VUNG4,RAMCH3 MOV VUNG5,RAMCH4 MOV VUNG6,#MAKT MOV VUNG7,#MAHET LCALL TRUYENDI ;ÑOAN CTRINH GHI BO NHO BSTART: SETB P3.7 CLR P3.7 NOP CLR P3.6 RET BSTOP: CLR P3.6 CLR P3.7 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 116 - NOP SETB P3.6 RET ;CTRINH NHAN BIET KHI GHI DU LIEU NBIETG: SETB P3.7 NOP SETB P3.6 NBIETG1: 1 CLR P3.6 RET ;CTRINH NHAN BIET KHI DOC ; cpu phat tin hieu de bo nho biet cpu da nhan duoc du lieu NBIETD: CLR P3.7 NOP SETB P3.6 CLR P3.6 RET GHICON: MOV P3.7,C SETB P3.6 NOP CLR P3.6 RET ;GHI 1 BYTE TU DEM BO NHO GHIBYTE: MOV C,D7 LCALL GHICON MOV C,D6 LCALL GHICON MOV C,D5 LCALL GHICON MOV C,D4 LCALL GHICON MOV C,D3 LCALL GHICON MOV C,D2 LCALL GHICON MOV C,D1 LCALL GHICON MOV C,D0 LCALL GHICON LCALL NBIETG RET DOCCON: SETB P3.7 SETB P3.6 NOP CLR P3.6 RET DOCBYTE: LCALL DOCCON MOV D7,C LCALL DOCCON MOV D6,C LCALL DOCCON MOV D5,C LCALL DOCCON MOV D4,C LCALL DOCCON MOV D3,C LCALL DOCCON MOV D2,C LCALL DOCCON MOV D1,C LCALL DOCCON MOV D0,C RET DOC1BYTE: MOV DEM,RAMCH0 LCALL GHIBYTE LCALL BSTART MOV DEM,#10100001B LCALL GHIBYTE LCALL DOCBYTE MOV RAMCH1,DEM LCALL BSTOP RET PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 117 - DOC4BYTE: LCALL BSTART MOV DEM,#10100000B LCALL GHIBYTE MOV DEM,RAMCH0 LCALL GHIBYTE LCALL BSTART MOV DEM,#10100001B LCALL GHIBYTE LCALL DOCBYTE MOV RAMCH1,DEM LCALL NBIETD LCALL DOCBYTE MOV RAMCH2,DEM LCALL NBIETD LCALL DOCBYTE MOV RAMCH3,DEM LCALL NBIETD LCALL DOCBYTE MOV RAMCH4,DEM LCALL NBIETD LCALL BSTOP RET HI1BYTE: LCALL BSTART MOV DEM,#10100000B LCALL GHIBYTE MOV DEM,RAMCH0 LCALL GHIBYTE MOV DEM,RAMCH1 LCALL GHIBYTE LCALL BSTOP RET GHI4BYTE: LCALL BSTART MOV DEM,#10100000B LCALL GHIBYTE MOV DEM,RAMCH0 LCALL GHIBYTE MOV DEM,RAMCH1 LCALL GHIBYTE MOV DEM,RAMCH2 LCALL GHIBYTE MOV DEM,RAMCH3 LCALL GHIBYTE MOV DEM,RAMCH4 LCALL GHIBYTE LCALL BSTOP RET CAT: CLR P3.2 RET XCAT:SETB P3.2 RET ;ÑOÏAN CHÖÔNG TRÌNH XAÙC ÑÒNH PHÍM COÙ NHAÁN KHOÂNG? KICHPH: CLR BITVAO JB P2.6,KICHPHH SETB BITVAO KICHPHH: RET NUCHTOI: MOV P2,#11000000B LCALL KICHPH JNB BITVAO,PHIM1H MOV A,#00 PHIM1A: MOV P2,#11000000B LCALL KICHPH JNB BITVAO,PHIM1H INC A CJNE A,#0FFH,PHIM1A PHIM1H: RET NUSO0: MOV P2,#11000001B LCALL KICHPH JNB BITVAO,PHIM2H MOV A,#00 PHIM2A: MOV P2,#11000001B LCALL KICHPH JNB BITVAO,PHIM2H INC A CJNE A,#0FFH,PHIM2A PHIM2H: RET PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 118 - NUSTART: MOV P2,#11000011B LCALL KICHPH JNB BITVAO,PHIM4H MOV A,#00 PHIM4A: MOV P2,#11000011B LCALL KICHPH JNB BITVAO,PHIM4H INC A CJNE A,#0FFH,PHIM4A PHIM4H: RET NUCHLUI: MOV P2,#11000100B LCALL KICHPH JNB BITVAO,PHIM5H MOV A,#00 PHIM5A: MOV P2,#11000100B LCALL KICHPH JNB BITVAO,PHIM5H INC A CJNE A,#0FFH,PHIM5A PHIM5H: RET NUSO1: MOV P2,#11000101B LCALL KICHPH JNB BITVAO,PHIM6H MOV A,#00 PHIM6A: MOV P2,#11000101B LCALL KICHPH JNB BITVAO,PHIM6H INC A CJNE A,#0FFH,PHIM6A PHIM6H: RET NUSOBUOC:MOV P2,#11000110B LCALL KICHPH JNB BITVAO,PHIM7H MOV A,#00 PHIM7A: MOV P2,#11000110B LCALL KICHPH JNB BITVAO,PHIM7H INC A CJNE A,#0FFH,PHIM7A PHIM7H: RET NUSTOP: MOV P2,#11000111B LCALL KICHPH JNB BITVAO,PHIM8H MOV A,#00 PHIM8A: MOV P2,#11000111B LCALL KICHPH JNB BITVAO,PHIM8H INC A CJNE A,#0FFH,PHIM8A PHIM8H: RET NUBUTOI: MOV P2,#11001000B LCALL KICHPH JNB BITVAO,PHIM9H MOV A,#00 PHIM9A: MOV P2,#11001000B LCALL KICHPH JNB BITVAO,PHIM9H INC A CJNE A,#0FFH,PHIM9A PHIM9H: RET NUSO2: MOV P2,#11001001B LCALL KICHPH JNB BITVAO,PHIM10H MOV A,#00 PHIM10A: MOV P2,#11001001B LCALL KICHPH JNB BITVAO,PHIM10H INC A CJNE A,#0FFH,PHIM10A PHIM10H: RET NUSOLG: MOV P2,#11001010B LCALL KICHPH JNB BITVAO,PHIM11H MOV A,#00 PHIM11A: MOV P2,#11001010B LCALL KICHPH JNB BITVAO,PHIM11H PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 119 - INC A CJNE A,#0FFH,PHIM11A PHIM11H: RET NUBULUI: MOV P2,#11001100B LCALL KICHPH JNB BITVAO,PHIM13H MOV A,#00 PHIM13A: MOV P2,#11001100B LCALL KICHPH JNB BITVAO,PHIM13H INC A CJNE A,#0FFH,PHIM13A PHIM13H: RET NUSO3: MOV P2,#11001101B LCALL KICHPH JNB BITVAO,PHIM14H MOV A,#00 PHIM14A: MOV P2,#11001101B LCALL KICHPH JNB BITVAO,PHIM14H INC A CJNE A,#0FFH,PHIM14A PHIM14H: RET NUSOCAT: MOV P2,#11001110B LCALL KICHPH JNB BITVAO,PHIM15H MOV A,#00 PHIM15A: MOV P2,#11001110B LCALL KICHPH JNB BITVAO,PHIM15H INC A CJNE A,#0FFH,PHIM15A PHIM15H: RET NUSO4: MOV P2,#11010001B LCALL KICHPH JNB BITVAO,PHIM18H MOV A,#00 PHIM18A: MOV P2,#11010001B LCALL KICHPH JNB BITVAO,PHIM18H INC A CJNE A,#0FFH,PHIM18A PHIM18H: RET NUCAIDAT: MOV P2,#11010011B LCALL KICHPH JNB BITVAO,PHIM20H MOV A,#00 PHIM20A: MOV P2,#11010011B LCALL KICHPH JNB BITVAO,PHIM20H INC A CJNE A,#0FFH,PHIM20A PHIM20H: RET NUCAT: MOV P2,#11010100B LCALL KICHPH JNB BITVAO,PHIM21H MOV A,#00 PHIM21A: MOV P2,#11010100B LCALL KICHPH JNB BITVAO,PHIM21H INC A CJNE A,#0FFH,PHIM21A PHIM21H: RET NUSO5: MOV P2,#11010101B LCALL KICHPH JNB BITVAO,PHIM22H MOV A,#00 PHIM22A: MOV P2,#11010101B LCALL KICHPH JNB BITVAO,PHIM22H INC A CJNE A,#0FFH,PHIM22A PHIM22H: RET NULUU: MOV P2,#11010111B LCALL KICHPH JNB BITVAO,PHIM24H MOV A,#00 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 120 - PHIM24A: MOV P2,#11010111B LCALL KICHPH JNB BITVAO,PHIM24H INC A CJNE A,#0FFH,PHIM24A PHIM24H: RET NUNHA: MOV P2,#11011000B LCALL KICHPH JNB BITVAO,PHIM25H MOV A,#00 PHIM25A: MOV P2,#11011000B LCALL KICHPH JNB BITVAO,PHIM25H INC A CJNE A,#0FFH,PHIM25A PHIM25H: RET NUSO6: MOV P2,#11011001B LCALL KICHPH JNB BITVAO,PHIM26H MOV A,#00 PHIM26A: MOV P2,#11011001B LCALL KICHPH JNB BITVAO,PHIM26H INC A CJNE A,#0FFH,PHIM26A PHIM26H: RET NURESETO: MOV P2,#11011011B LCALL KICHPH JNB BITVAO,PHIM28H MOV A,#00 PHIM28A: MOV P2,#11011011B LCALL KICHPH JNB BITVAO,PHIM28H INC A CJNE A,#0FFH,PHIM28A PHIM28H: RET NUHTCAT: MOV P2,#11011100B LCALL KICHPH JNB BITVAO,PHIM29H MOV A,#00 PHIM29A: MOV P2,#11011100B LCALL KICHPH JNB BITVAO,PHIM29H INC A CJNE A,#0FFH,PHIM29A PHIM29H: RET NUSO7: MOV P2,#11011101B LCALL KICHPH JNB BITVAO,PHIM30H MOV A,#00 PHIM30A: MOV P2,#11011101B LCALL KICHPH JNB BITVAO,PHIM30H INC A CJNE A,#0FFH,PHIM30A PHIM30H: RET NUSO8: MOV P2,#11011110B LCALL KICHPH JNB BITVAO,PHIM31H MOV A,#00 PHIM31A: MOV P2,#11011110B LCALL KICHPH JNB BITVAO,PHIM31H INC A CJNE A,#0FFH,PHIM31A PHIM31H: RET NUSO9: MOV P2,#11011111B LCALL KICHPH JNB BITVAO,PHIM32H MOV A,#00 PHIM32A: MOV P2,#11011111B LCALL KICHPH JNB BITVAO,PHIM32H INC A CJNE A,#0FFH,PHIM32A PHIM32H: RET XOAPHIM: CLR BIPHCADA PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 121 - CLR BIPHSOBU CLR BIPHSOLG CLR BIPHSOCA CLR BITSO RET ;ÑOÏAN CHÖÔNG TRÌNH CAØI VAÄN TOÁC: PHCAIDAT:JB BIPHCADA,PHCAIDA2 LCALL XOAPHIM SETB BITSO SETB BIPHCADA MOV BYCAIDAT,#00 JMP PHCAIDAT PHCAIDA2: INC BYCAIDAT MOV A,BYCAIDAT CJNE A,#04,PHCAIDA3 MOV BYCAIDAT,#01 PHCAIDA3: LCALL TINHDC PHCAIDAH: RET TINHDC: JB BIDANGTR,TINHDC MOV A,BYCAIDAT CJNE A,#01,TINHDC1 MOV RAMCH0,#DCVTOC1 MOV VUNG1,#TRGTVTO1 LJMP TINHDCH TINHDC1: CJNE A,#02,TINHDC2 MOV RAMCH0,#DCVTOC2 MOV VUNG1,#TRGTVTO2 LJMP TINHDCH TINHDC2: CJNE A,#03,TINHDCH1 MOV RAMCH0,#DCTGCAT MOV VUNG1,#TRGTTGCA LJMP TINHDCH TINHDCH: LCALL DOC4BYTE LCALL TR4CHUNG TINHDCH1: RET ;ÑOÏAN CHÖÔNG TRÌNH THÖÏC THI KHI COÙ 1 PHÍM ÑÖÔÏC NHAÁN PHBUTOI: LCALL XOAMOTOR SETB BICHTOI SETB BIBUOC SETB BICHAY PHBUTOI1: JB BIDANGTR,PHBUTOI1 MOV VUNG1,#TRBUTOI LCALL TRDICH RET PHBULUI: LCALL XOAMOTOR SETB BICHLUI SETB BIBUOC SETB BICHAY BUOCLUI1: JB BIDANGTR,BUOCLUI1 MOV VUNG1,#TRBULUI LCALL TRDICH RET CHAYTOI: JB BIDANGTR,CHAYTOI MOV VUNG1,#TRCHTOI LCALL TRDICH LCALL XOAMOTOR SETB BICHTOI SETB BISTART SETB BICHAY JNB BITCT,EM4A CLR BITCT CHAYTOI1A: LCALL HIENTHI JNB BITSTOP,CHAYTOI1A CLR BITSTOP CLR BITVAO EM4A: LCALL HIENTHI LCALL NUCHTOI PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 122 - JB BITVAO,EM4A CLR BICHAY CHAYTOI2: JB BIDANGTR,CHAYTOI2 MOV VUNG1,#TRDUTOI LCALL TRDICH RET CHAYLUI: JB BIDANGTR,CHAYLUI MOV VUNG1,#TRCHLUI LCALL TRDICH LCALL XOAMOTOR SETB BICHLUI SETB BISTART SETB BICHAY JNB BITCL,EM5A CLR BITCL CHAYLUI1A: LCALL HIENTHI JNB BITSTOP,CHAYLUI1A CLR BITSTOP CLR BITVAO EM5A: LCALL HIENTHI LCALL NUCHLUI JB BITVAO,EM5A CLR BICHAY CHAYLUI2: JB BIDANGTR,CHAYLUI2 MOV VUNG1,#TRDULUI LCALL TRDICH RET PHCAT: JB BIDANGTR,PHCAT MOV VUNG1,#TRCHCAT LCALL TRDICH SETB BICAT RET PHNHA: JB BIDANGTR,PHNHA MOV VUNG1,#TRCHNHA LCALL TRDICH SETB BINHA RET CHHTCAT: JB BIDANGTR,CHHTCAT MOV VUNG1,#TRHTCAT LCALL TRDICH SETB BICAT SETB BIHTCAT RET PHSOBUOC: LCALL XOAPHIM SETB BITSO SETB BIPHSOBU MOV RAMCH0,#DCSOBUOC LCALL DOC4BYTE PHSOBUO1: JB BIDANGTR,PHSOBUO1 MOV VUNG1,#TRGTSOBU LCALL TR4CHUNG RET PHSOLG: LCALL XOAPHIM SETB BITSO SETB BIPHSOLG MOV RAMCH0,#DCSOLG LCALL DOC4BYTE PHSOLG1: JB BIDANGTR,PHSOLG1 MOV VUNG1,#TRGTSOLG LCALL TR4CHUNG RET PHSOCAT: LCALL XOAPHIM SETB BITSO SETB BIPHSOCA MOV RAMCH0,#DCSOCAT LCALL DOC4BYTE PHSOCAT1: JB BIDANGTR,PHSOCAT1 MOV VUNG1,#TRGTSOCA LCALL TR4CHUNG PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 123 - RET PHIMSO: MOV RAMCH4,RAMCH3 MOV RAMCH3,RAMCH2 MOV RAMCH2,RAMCH1 MOV RAMCH1,R2 PHIMSO1: JB BIDANGTR,PHIMSO1 MOV VUNG1,#MATRSO PHIMSO3: LCALL TR4CHUNG RET ;CHÖÔNG TRÌNH CHUYEÅN ÑOÅI GIAÙ TRÒ TRONG TÖØNG O NHÔÙ SANG 1 GIAÙ TRÒ CHDOI: MOV A,RAMCH4 MOV B,#250 MUL AB MOV RAMCH5,A MOV RAMCH6,B MOV A,RAMCH3 MOV B,#100 MUL AB CLR C ADDC A,RAMCH5 MOV RAMCH5,A MOV A,B ADDC A,RAMCH6 MOV RAMCH6,A MOV A,RAMCH2 MOV B,#10 MUL AB CLR C ADDC A,RAMCH1 ADDC A,RAMCH5 MOV RAMCH5,A JNC CHDOI1 INC RAMCH6 CHDOI1: RET CHUNGG: LCALL GHI4BYTE LCALL CHDOI RET ;THÖÏC THI KHI AÁN PHÍM LÖU PHLUU: JNB BIPHSOBU,PHLUU1 MOV RAMCH0,#DCSOBUOC LCALL GHI4BYTE MOV BYSBUDV,RAMCH1 MOV BYSBUCH,RAMCH2 MOV BYSBUTR,RAMCH3 MOV BYSBUNG,RAMCH4 LJMP PHLUUH PHLUU1: JNB BIPHSOLG,PHLUU2 MOV RAMCH0,#DCSOLG LCALL GHI4BYTE MOV BYSSLDV,RAMCH1 MOV BYSSLCH,RAMCH2 MOV BYSSLTR,RAMCH3 MOV BYSSLNG,RAMCH4 LJMP PHLUUH PHLUU2: JNB BIPHSOCA,PHLUU4 MOV RAMCH0,#DCSOCAT LCALL GHI4BYTE MOV BYSSCDV,RAMCH1 MOV BYSSCCH,RAMCH2 MOV BYSSCTR,RAMCH3 MOV BYSSCNG,RAMCH4 LJMP PHLUUH PHLUU4: JNB BIPHCADA,PHLUUH1 MOV A,BYCAIDAT CJNE A,#01,PHLUU5 MOV RAMCH0,#DCVTOC1 LCALL CHUNGG PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 124 - MOV BYSTL0,RAMCH5 LJMP PHLUUH PHLUU5: CJNE A,#02,PHLUU6 MOV RAMCH0,#DCVTOC2 LCALL CHUNGG LJMP PHLUUH PHLUU6: CJNE A,#03,PHLUUH1 MOV RAMCH0,#DCTGCAT LCALL CHUNGG MOV BYSCAT,RAMCH5 LJMP PHLUUH PHLUUH: JB BIDANGTR,PHLUUH MOV VUNG1,#TRLUU LCALL TRDICH PHLUUH1: RET ;ÑOÏAN CHÖÔNG TRÌNH QUEÙT PHÍM QUPHIM: JNB BITSB,EM1 CLR BITSB SETB BITVAO JNB BITVAO,QUPHIM2 JB BINUSOBU,QUPHIM3 SETB BINUSOBU LCALL PHSOBUOC LJMP QUPHIMH EM1: LCALL NUSOBUOC JNB BITVAO,QUPHIM2 JB BINUSOBU,QUPHIM3 SETB BINUSOBU LCALL PHSOBUOC LJMP QUPHIMH QUPHIM2: JNB BINUSOBU,QUPHIM3 CLR BINUSOBU LJMP QUPHIMH QUPHIM3: JNB BITSL,EM2 CLR BITSL SETB BITVAO JNB BITVAO,QUPHIM4 JB BINUSOLG,QUPHIM5 SETB BINUSOLG LCALL PHSOLG LJMP QUPHIMH EM2: LCALL NUSOLG JNB BITVAO,QUPHIM4 JB BINUSOLG,QUPHIM5 SETB BINUSOLG LCALL PHSOLG LJMP QUPHIMH QUPHIM4: JNB BINUSOLG,QUPHIM5 CLR BINUSOLG LJMP QUPHIMH QUPHIM5: JNB BITSC,EM3 CLR BITSC SETB BITVAO JNB BITVAO,QUPHIM6 JB BINUSOCA,QUPHIM7 SETB BINUSOCA LCALL PHSOCAT LJMP QUPHIMH EM3: LCALL NUSOCAT JNB BITVAO,QUPHIM6 JB BINUSOCA,QUPHIM7 SETB BINUSOCA LCALL PHSOCAT LJMP QUPHIMH QUPHIM6: JNB BINUSOCA,QUPHIM7 CLR BINUSOCA LJMP QUPHIMH QUPHIM7: JNB BITCD,EM8 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 125 - CLR BITCD SETB BITVAO JNB BITVAO,QUPHIM8 JB BINUCADA,QUPHIM9 SETB BINUCADA LCALL PHCAIDAT LJMP QUPHIMH EM8: LCALL NUCAIDAT JNB BITVAO,QUPHIM8 JB BINUCADA,QUPHIM9 SETB BINUCADA LCALL PHCAIDAT LJMP QUPHIMH QUPHIM8: JNB BINUCADA,QUPHIM9 CLR BINUCADA LJMP QUPHIMH QUPHIM9: JNB BITLUU,EM6 CLR BITLUU SETB BITVAO JNB BITVAO,QUPHIM10 JB BINULUU,QUPHIM17 SETB BINULUU LCALL PHLUU LJMP QUPHIMH EM6: LCALL NULUU JNB BITVAO,QUPHIM10 JB BINULUU,QUPHIM17 SETB BINULUU LCALL PHLUU LJMP QUPHIMH QUPHIM10: JNB BINULUU,QUPHIM17 CLR BINULUU LJMP QUPHIMH QUPHIM17: LCALL NURESETO JNB BITVAO,QUPHIM18 JB BINURSTO,QUPHIM21 SETB BINURSTO LCALL PHRESETO LJMP QUPHIMH QUPHIM18: JNB BINURSTO,QUPHIM21 CLR BINURSTO LJMP QUPHIMH QUPHIM21: JB BITSO,QUPHIM23 LJMP QUPHIMH1 QUPHIM23: JNB BITSO0,EM9 CLR BITSO0 SETB BITVAO JNB BITVAO,QUPHIM24 JB BINUSO0,QUPHIM25 SETB BINUSO0 MOV R2,#00 LCALL PHIMSO LJMP QUPHIMH EM9: LCALL NUSO0 JNB BITVAO,QUPHIM24 JB BINUSO0,QUPHIM25 SETB BINUSO0 MOV R2,#00 LCALL PHIMSO LJMP QUPHIMH QUPHIM24: JNB BINUSO0,QUPHIM25 CLR BINUSO0 LJMP QUPHIMH QUPHIM25: JNB BITSO1,EM7 CLR BITSO1 SETB BITVAO JNB BITVAO,QUPHIM26 JB BINUSO1,QUPHIM27 SETB BINUSO1 MOV R2,#01 LCALL PHIMSO PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 126 - LJMP QUPHIMH EM7: LCALL NUSO1 JNB BITVAO,QUPHIM26 JB BINUSO1,QUPHIM27 SETB BINUSO1 MOV R2,#01 LCALL PHIMSO LJMP QUPHIMH QUPHIM26: JNB BINUSO1,QUPHIM27 CLR BINUSO1 LJMP QUPHIMH QUPHIM27: JNB BITSO2,EM10 CLR BITSO2 SETB BITVAO JNB BITVAO,QUPHIM28 JB BINUSO2,QUPHIM29 SETB BINUSO2 MOV R2,#02 LCALL PHIMSO LJMP QUPHIMH EM10: LCALL NUSO2 JNB BITVAO,QUPHIM28 JB BINUSO2,QUPHIM29 SETB BINUSO2 MOV R2,#02 LCALL PHIMSO LJMP QUPHIMH QUPHIM28: JNB BINUSO2,QUPHIM29 CLR BINUSO2 LJMP QUPHIMH QUPHIM29: JNB BITSO3,EM11 CLR BITSO3 SETB BITVAO JNB BITVAO,QUPHIM30 JB BINUSO3,QUPHIM31 SETB BINUSO3 MOV R2,#03 LCALL PHIMSO LJMP QUPHIMH EM11: LCALL NUSO3 JNB BITVAO,QUPHIM30 JB BINUSO3,QUPHIM31 SETB BINUSO3 MOV R2,#03 LCALL PHIMSO LJMP QUPHIMH QUPHIM30: JNB BINUSO3,QUPHIM31 CLR BINUSO3 LJMP QUPHIMH QUPHIM31: JNB BITSO4,EM12 CLR BITSO4 SETB BITVAO JNB BITVAO,QUPHIM32 JB BINUSO4,QUPHIM33 SETB BINUSO4 MOV R2,#04 LCALL PHIMSO LJMP QUPHIMH EM12: LCALL NUSO4 JNB BITVAO,QUPHIM32 JB BINUSO4,QUPHIM33 SETB BINUSO4 MOV R2,#04 LCALL PHIMSO LJMP QUPHIMH QUPHIM32: JNB BINUSO4,QUPHIM33 CLR BINUSO4 LJMP QUPHIMH QUPHIM33: JNB BITSO5,EM13 CLR BITSO5 SETB BITVAO JNB BITVAO,QUPHIM34 JB BINUSO5,QUPHIM35 SETB BINUSO5 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 127 - MOV R2,#05 LCALL PHIMSO LJMP QUPHIMH EM13: LCALL NUSO5 JNB BITVAO,QUPHIM34 JB BINUSO5,QUPHIM35 SETB BINUSO5 MOV R2,#05 LCALL PHIMSO LJMP QUPHIMH QUPHIM34: JNB BINUSO5,QUPHIM35 CLR BINUSO5 LJMP QUPHIMH QUPHIM35: JNB BITSO6,EM14 CLR BITSO6 SETB BITVAO JNB BITVAO,QUPHIM36 JB BINUSO6,QUPHIM37 SETB BINUSO6 MOV R2,#06 LCALL PHIMSO LJMP QUPHIMH EM14: LCALL NUSO6 JNB BITVAO,QUPHIM36 JB BINUSO6,QUPHIM37 SETB BINUSO6 MOV R2,#06 LCALL PHIMSO LJMP QUPHIMH QUPHIM36: JNB BINUSO6,QUPHIM37 CLR BINUSO6 LJMP QUPHIMH QUPHIM37: JNB BITSO7,EM15 CLR BITSO7 SETB BITVAO JNB BITVAO,QUPHIM38 JB BINUSO7,QUPHIM39 SETB BINUSO7 MOV R2,#07 LCALL PHIMSO LJMP QUPHIMH EM15: LCALL NUSO7 JNB BITVAO,QUPHIM38 JB BINUSO7,QUPHIM39 SETB BINUSO7 MOV R2,#07 LCALL PHIMSO LJMP QUPHIMH QUPHIM38: JNB BINUSO7,QUPHIM39 CLR BINUSO7 LJMP QUPHIMH QUPHIM39: JNB BITSO8,EM16 CLR BITSO8 SETB BITVAO JNB BITVAO,QUPHIM40 JB BINUSO8,QUPHIM41 SETB BINUSO8 MOV R2,#08 LCALL PHIMSO LJMP QUPHIMH EM16: LCALL NUSO8 JNB BITVAO,QUPHIM40 JB BINUSO8,QUPHIM41 SETB BINUSO8 MOV R2,#08 LCALL PHIMSO LJMP QUPHIMH QUPHIM40: JNB BINUSO8,QUPHIM41 CLR BINUSO8 LJMP QUPHIMH QUPHIM41: JNB BITSO9,EM17 CLR BITSO9 SETB BITVAO JNB BITVAO,QUPHIM42 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 128 - JB BINUSO9,QUPHIM43 SETB BINUSO9 MOV R2,#09 LCALL PHIMSO LJMP QUPHIMH EM17: LCALL NUSO9 JNB BITVAO,QUPHIM42 JB BINUSO9,QUPHIM43 SETB BINUSO9 MOV R2,#09 LCALL PHIMSO LJMP QUPHIMH QUPHIM42: JNB BINUSO9,QUPHIM43 CLR BINUSO9 LJMP QUPHIMH QUPHIM43: LJMP QUPHIMH1 QUPHIMH: SETB BIDELAY QUPHIMH1: RET XOAMOTOR: CLR BICHAY CLR BICHTOI CLR BICHLUI CLR BISTART CLR BIBUOC CLR BICHSET RET ;NUT RESET: PHRESETO: MOV BYDBUDV,#00 MOV BYDBUCH,#00 MOV BYDBUTR,#00 MOV BYDBUNG,#00 MOV BYDSLDV,#00 MOV BYDSLCH,#00 MOV BYDSLTR,#00 MOV BYDSLNG,#00 MOV BYDSCDV,#00 MOV BYDSCCH,#00 MOV BYDSCTR,#00 MOV BYDSCNG,#00 RESETTO1: JB BIDANGTR,RESETTO1 MOV VUNG1,#TRRESETO LCALL TRDICH RET TANGSOLG: MOV A,BYDSLDV CJNE A,#09,TANGSL1 MOV BYDSLDV,#00 MOV A,BYDSLCH CJNE A,#09,TANGSL2 MOV BYDSLCH,#00 MOV A,BYDSLTR CJNE A,#09,TANGSL3 MOV BYDSLTR,#00 MOV A,BYDSLNG CJNE A,#09,TANGSL4 MOV BYDSLNG,#00 LJMP TANGSLH TANGSL1: INC BYDSLDV LJMP TANGSLH TANGSL2: INC BYDSLCH LJMP TANGSLH TANGSL3: INC BYDSLTR LJMP TANGSLH TANGSL4: INC BYDSLNG TANGSLH: RET ;CHUONG TRINH CHAY KHI NHAÁN NUÙT START CHRUN: MOV BYDBUDV,#00 MOV BYDBUCH,#00 MOV BYDBUTR,#00 MOV BYDBUNG,#00 MOV BYDSLDV,#00 MOV BYDSLCH,#00 MOV BYDSLTR,#00 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 129 - MOV BYDSLNG,#00 MOV BYDSCDV,#00 MOV BYDSCCH,#00 MOV BYDSCTR,#00 MOV BYDSCNG,#00 LCALL CHAY RET CHAY: JB BIDANGTR,CHAY MOV VUNG1,#TRCHAY1 MOV VUNG2,BYSBUDV MOV VUNG3,BYSBUCH MOV VUNG4,BYSBUTR MOV VUNG5,BYSBUNG MOV VUNG6,BYSSLDV MOV VUNG7,BYSSLCH MOV VUNG8,BYSSLTR MOV VUNG9,BYSSLNG MOV VUNG10,BYSSCDV MOV VUNG11,BYSSCCH MOV VUNG12,BYSSCTR MOV VUNG13,BYSSCNG MOV VUNG14,#MAKT MOV VUNG15,#MAHET LCALL TRUYENDI CHAYA: JB BIDANGTR,CHAYA MOV VUNG1,#TRCHAY2 MOV VUNG2,BYDBUDV MOV VUNG3,BYDBUCH MOV VUNG4,BYDBUTR MOV VUNG5,BYDBUNG MOV VUNG6,BYDSLDV MOV VUNG7,BYDSLCH MOV VUNG8,BYDSLTR MOV VUNG9,BYDSLNG MOV VUNG10,BYDSCDV MOV VUNG11,BYDSCCH MOV VUNG12,BYDSCTR MOV VUNG13,BYDSCNG MOV VUNG14,#MAKT MOV VUNG15,#MAHET LCALL TRUYENDI LCALL XOAMOTOR CHAY0: LCALL HIENTHI SETB P3.4;DAU DO NOP NOP NOP JNB P3.4,CHAY2 SETB P3.5;STOP NOP JB P3.5,CHAY00 LCALL PHSTOP CHAY00: JNB BITSTOP,EM CLR BITSTOP LCALL PHSTOP LJMP CHAYH EM: LCALL NUSTOP JNB BITVAO,CHAY0 LCALL PHSTOP LJMP CHAYH CHAY2: SETB P3.4 NOP NOP NOP JNB P3.4,CHAY2 CHAY4: MOV TL0,#0F0H MOV TH0,#0FFH SETB BICHTOI SETB BICHSET SETB BISTART SETB BICHAY LCALL TANGSOLG CHAY9: MOV A,BYDSLDV CJNE A,BYSSLDV,CHAY15 MOV A,BYDSLCH CJNE A,BYSSLCH,CHAY15 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 130 - MOV A,BYDSLTR CJNE A,BYSSLTR,CHAY15 MOV A,BYDSLNG CJNE A,BYSSLNG,CHAY15 SETB BIENCAT MOV BYDSLDV,#00 MOV BYDSLCH,#00 MOV BYDSLTR,#00 MOV BYDSLNG,#00 MOV A,BYDSCDV CJNE A,#09,CHAY10 MOV BYDSCDV,#00 MOV A,BYDSCCH CJNE A,#09,CHAY11 MOV BYDSCCH,#00 MOV A,BYDSCTR CJNE A,#09,CHAY12 MOV BYDSCTR,#00 MOV A,BYDSCNG CJNE A,#09,CHAY13 MOV BYDSCNG,#00 LJMP CHAY14 CHAY10: INC BYDSCDV LJMP CHAY14 CHAY11: INC BYDSCCH LJMP CHAY14 CHAY12: INC BYDSCTR LJMP CHAY14 CHAY13: INC BYDSCNG CHAY14: MOV A,BYDSCDV CJNE A,BYSSCDV,CHAY15 MOV A,BYDSCCH CJNE A,BYSSCCH,CHAY15 MOV A,BYDSCTR CJNE A,BYSSCTR,CHAY15 MOV A,BYDSCNG CJNE A,BYSSCNG,CHAY15 MOV BYDSCDV,#00 MOV BYDSCCH,#00 MOV BYDSCTR,#00 MOV BYDSCNG,#00 LJMP CHAYH CHAY15: JB BIDANGTR,CHAY15 MOV VUNG1,#TRDEMTAN MOV VUNG2,BYDSLDV MOV VUNG3,BYDSLCH MOV VUNG4,BYDSLTR MOV VUNG5,BYDSLNG MOV VUNG6,BYDSCDV MOV VUNG7,BYDSCCH MOV VUNG8,BYDSCTR MOV VUNG9,BYDSCNG MOV VUNG10,#MAKT MOV VUNG11,#MAHET LCALL TRUYENDI CHAY20: LCALL HIENTHI CHAY21: JNB BICHAY,CHAY22 SETB P3.5 NOP JB P3.5,CHAY211 LCALL PHSTOP CHAY211: LCALL NUSTOP JNB BITVAO,CHAY21 LCALL PHSTOP LJMP CHAYH CHAY22: LJMP CHAY0 CHAYH: RET ;ÑOÏAN CHÖÔNG TRÌNH XÖÛ LYÙ TIMER( CHAÏY MOTOR BÖÔÙC) DONGHO: PUSH ACC MOV BINHOC,C JB BICHAY,DONGHO1 MOV TL0,#00 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 131 - MOV TH0,#240 LJMP DONGHOD DONGHO1: JNB BISTART,DONGHO4 CLR BISTART LJMP DONGHO4 DONGHO4: MOV TH0,BYDTH0 MOV TL0,BYDTL0 DONGHO5: JB BICHTOI,DONGHO10 LJMP DONGHO20 DONGHO10: JNB BIDAYAD,DONGHO11 CLR BIDAYAD SETB BIDAYCF CLR P0.0 CLR P1.2 CLR P1.1 SETB P0.1 SETB P1.0 LJMP DONGHOT DONGHO11: JNB BIDAYCF,DONGHO12 CLR BIDAYCF SETB BIDAYEH SETB P0.0 CLR P1.2 CLR P1.1 LJMP DONGHOT DONGHO12: JNB BIDAYEH,DONGHO13 CLR BIDAYEH SETB BIDAYGJ CLR P1.0 CLR P1.4 CLR P1.3 SETB P1.2 SETB P1.1 LJMP DONGHOT DONGHO13: JNB BIDAYGJ,DONGHO14 CLR BIDAYGJ SETB BIDAYIB SETB P1.0 CLR P1.4 CLR P1.3 LJMP DONGHOT DONGHO14: JNB BIDAYIB,DONGHO10A CLR BIDAYIB SETB BIDAYA CLR P1.2 CLR P1.6 CLR P1.5 SETB P1.4 SETB P1.3 LJMP DONGHOT DONGHO10A: JNB BIDAYA,DONGHO11A CLR BIDAYA SETB BIDAYB SETB P1.2 CLR P1.6 CLR P1.5 LJMP DONGHOT DONGHO11A: JNB BIDAYB,DONGHO12A CLR BIDAYB SETB BIDAYC CLR P1.4 CLR P0.0 CLR P1.7 SETB P1.5 SETB P1.6 LJMP DONGHOT DONGHO12A: JNB BIDAYC,DONGHO13A PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 132 - CLR BIDAYC SETB BIDAYD SETB P1.4 CLR P0.0 CLR P1.7 LJMP DONGHOT DONGHO13A: JNB BIDAYD,DONGHO14A CLR BIDAYD SETB BIDAYE CLR P1.6 CLR P0.1 CLR P1.0 SETB P1.7 SETB P0.0 LJMP DONGHOT DONGHO14A: JNB BIDAYE,DONGHO15 CLR BIDAYE SETB BIDAYAD SETB P1.6 CLR P0.1 CLR P1.0 LJMP DONGHOT DONGHO15: LJMP DONGHOD DONGHOT: SETB BITHADOI MOV A,BYDBUDV CJNE A,#09,DONGHOT1 MOV BYDBUDV,#00 MOV A,BYDBUCH CJNE A,#09,DONGHOT2 MOV BYDBUCH,#00 MOV A,BYDBUTR CJNE A,#09,DONGHOT3 MOV BYDBUTR,#00 MOV A,BYDBUNG CJNE A,#09,DONGHOT4 MOV BYDBUNG,#00 LJMP DONGHOT5 DONGHOT1: INC BYDBUDV LJMP DONGHOT5 DONGHOT2: INC BYDBUCH LJMP DONGHOT5 DONGHOT3: INC BYDBUTR LJMP DONGHOT5 DONGHOT4: INC BYDBUNG DONGHOT5: JNB BIBUOC,DONGHOT6 CLR BIBUOC CLR BICHAY LJMP DONGHOD DONGHOT6: JNB BICHSET,DONGHOT8 MOV A,BYDBUDV CJNE A,BYSBUDV,DONGHOT7 MOV A,BYDBUCH CJNE A,BYSBUCH,DONGHOT7 MOV A,BYDBUTR CJNE A,BYSBUTR,DONGHOT7 MOV A,BYDBUNG CJNE A,BYSBUNG,DONGHOT7 CLR BICHSET CLR BICHAY MOV BYDBUDV,#00 MOV BYDBUCH,#00 MOV BYDBUTR,#00 MOV BYDBUNG,#00 MOV TL0,#00 MOV TH0,#240 JNB BIENCAT,DONGHOT7 CLR BIENCAT LCALL CAT SETB BIHTCAT DONGHOT7: LJMP DONGHOI DONGHOT8: LJMP DONGHOI DONGHO20: JB BICHLUI,DONGHO21 LJMP DONGHOD PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 133 - DONGHO21: JNB BIDAYCF,DONGHO22 CLR BIDAYCF SETB BIDAYAD SETB P0.0 SETB P1.1 SETB P1.2 CLR P0.1 CLR P1.0 LJMP DONGHOL DONGHO22: JNB BIDAYAD,DONGHO23 CLR BIDAYAD SETB BIDAYE CLR P1.6 CLR P0.1 CLR P1.0 LJMP DONGHOL DONGHO23: JNB BIDAYE,DONGHO24 CLR BIDAYE SETB BIDAYD SETB P1.6 SETB P0.1 SETB P1.0 CLR P0.0 CLR P1.7 LJMP DONGHOL DONGHO24: JNB BIDAYD,DONGHO25 CLR BIDAYD SETB BIDAYC CLR P1.4 CLR P0.0 CLR P1.7 LJMP DONGHOL DONGHO25: JNB BIDAYC,DONGHO21A CLR BIDAYC SETB BIDAYB SETB P1.4 SETB P0.0 SETB P1.7 CLR P1.6 CLR P1.5 LJMP DONGHOL DONGHO21A: JNB BIDAYB,DONGHO22A CLR BIDAYB SETB BIDAYA CLR P1.2 CLR P1.6 CLR P1.5 LJMP DONGHOL DONGHO22A: JNB BIDAYA,DONGHO23A CLR BIDAYA SETB BIDAYIB SETB P1.2 SETB P1.6 SETB P1.5 CLR P1.4 CLR P1.3 LJMP DONGHOL DONGHO23A: JNB BIDAYIB,DONGHO24A CLR BIDAYIB SETB BIDAYGJ CLR P1.0 CLR P1.4 CLR P1.3 LJMP DONGHOL DONGHO24A: JNB BIDAYGJ,DONGHO25A CLR BIDAYGJ SETB BIDAYEH SETB P1.0 SETB P1.4 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 134 - SETB P1.3 CLR P1.2 CLR P1.1 LJMP DONGHOL DONGHO25A: JNB BIDAYEH,DONGHO26 CLR BIDAYEH SETB BIDAYCF CLR P0.0 CLR P1.2 CLR P1.1 LJMP DONGHOL DONGHO26: LJMP DONGHOD DONGHOL: SETB BITHADOI MOV A,BYDBUDV JNZ DONGHOL1 MOV BYDBUDV,#09 MOV A,BYDBUCH JNZ DONGHOL2 MOV BYDBUCH,#09 MOV A,BYDBUTR JNZ DONGHOL3 MOV BYDBUTR,#09 MOV A,BYDBUNG JNZ DONGHOL4 MOV BYDBUNG,#09 LJMP DONGHOL5 DONGHOL1: DEC BYDBUDV LJMP DONGHOL5 DONGHOL2: DEC BYDBUCH LJMP DONGHOL5 DONGHOL3: DEC BYDBUTR LJMP DONGHOL5 DONGHOL4: DEC BYDBUNG DONGHOL5: JNB BIBUOC,DONGHOL6 CLR BICHAY CLR BIBUOC LJMP DONGHOD DONGHOL6: JB BICHSET,DONGHL6A LJMP DONGHOI DONGHL6A:MOV A,BYDBUDV CJNE A,BYSBUDV,DONGHL6B MOV A,BYDBUCH CJNE A,BYSBUCH,DONGHL6B MOV A,BYDBUTR CJNE A,BYSBUTR,DONGHL6B MOV A,BYDBUNG CJNE A,BYSBUNG,DONGHL6B CLR BICHSET CLR BICHAY MOV BYDBUDV,#00 MOV BYDBUCH,#00 MOV BYDBUTR,#00 MOV BYDBUNG,#00 MOV TL0,#00 MOV TH0,#240 DONGHL6B: LJMP DONGHOD DONGHOD: JNB BIDELAY,DONGHOI INC BYDELAY MOV A,BYDELAY CJNE A,#50,DONGHOI MOV BYDELAY,#00 CLR BIDELAY DONGHOI: JNB BICAT,DONGHOI1 CLR BICAT LCALL CAT DONGHOI1: JNB BINHA,DONGHOI2 CLR BINHA LCALL XCAT DONGHOI2: JNB BIHTCAT,DONGHOH INC BYDCAT MOV A,BYDCAT PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 135 - CJNE A,BYSCAT,DONGHOH CLR BIHTCAT MOV BYDCAT,#00 LCALL XCAT DONGHOH: MOV C,BINHOC POP ACC RETI ;CHÖÔNG TRÌNH XÖÛ LYÙ NHAÄN VAØ TRUYEÀN NHANTR: MOV BINHOC1,C JB TI,TRUYENA CLR RI MOV A,SBUF CJNE A,#'N',TIEP13 SETB BITST LJMP NHANTRH TIEP13: CJNE A,#'O',TIEP14 SETB BITSTOP LJMP NHANTRH TRUYENA: LJMP TRUYENA1 TIEP14: CJNE A,#'P',TIEP15 SETB BITSB LJMP NHANTRH TIEP15: CJNE A,#'Q',TIEP16 SETB BITSL LJMP NHANTRH TIEP16: CJNE A,#'R',TIEP17 SETB BITSC LJMP NHANTRH TIEP17: CJNE A,#'S',TIEP18 SETB BITCT LJMP NHANTRH TIEP18: CJNE A,#'T',TIEP19 SETB BITCL LJMP NHANTRH TIEP19: CJNE A,#'U',TIEP20 SETB BITLUU LJMP NHANTRH TIEP20: CJNE A,#'W',TIEP21 SETB BITCD LJMP NHANTRH TIEP21: CJNE A,#'1',TIEP22 SETB BITSO1 LJMP NHANTRH TIEP22: CJNE A,#'0',TIEP23 SETB BITSO0 LJMP NHANTRH TIEP23: CJNE A,#'2',TIEP24 SETB BITSO2 LJMP NHANTRH TIEP24: CJNE A,#'3',TIEP25 SETB BITSO3 LJMP NHANTRH TIEP25: CJNE A,#'4',TIEP26 SETB BITSO4 LJMP NHANTRH TIEP26: CJNE A,#'5',TIEP27 SETB BITSO5 LJMP NHANTRH TIEP27: CJNE A,#'6',TIEP28 SETB BITSO6 LJMP NHANTRH TIEP28: CJNE A,#'7',TIEP29 SETB BITSO7 LJMP NHANTRH TIEP29: CJNE A,#'8',TIEP30 SETB BITSO8 LJMP NHANTRH TIEP30: CJNE A,#'9',TIEP31 SETB BITSO9 LJMP NHANTRH TIEP31: CJNE A,#'a',TIEP32 SETB BITBT LJMP NHANTRH TIEP32: CJNE A,#'b',TIEP33 SETB BITBL PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 136 - LJMP NHANTRH TIEP33: CJNE A,#'c',TIEP34 SETB BITCAT LJMP NHANTRH TIEP34: CJNE A,#'d',TIEP35 SETB BITNHA LJMP NHANTRH TIEP35: CJNE A,#'e',NHANTRH SETB BITHT LJMP NHANTRH TRUYENA1: CLR TI CLR TB8 CJNE @R1,#MAHET,TRUYEN1 CLR BIDANGTR LJMP NHANTRH TRUYEN1: MOV SBUF,@R1 INC R1 NHANTRH: MOV C,BINHOC1 RETI ;ÑOÏAN CHÖÔNG TRÌNH CHÍNH MAIN: MOV SP,#7EH MOV R0,#08H MAIN1: MOV @R0,#00 INC R0 CJNE R0,#0FEH,MAIN1 MOV IE,#10010010B SETB PS MOV SCON,#11110000B MOV R0,#VUNG21 MOV R1,#VUNG1 MOV VUNG0,#MADICHCH MOV TMOD,#00100001B CLR TF0 CLR TF1 MOV TL0,#00H MOV TH0,#00H mov th1,#-13 mov tl1,#-13 SETB TR0 SETB TR1 LCALL XOAMOTOR MAIN10: MOV RAMCH0,#DCSOBUOC LCALL DOC4BYTE MOV BYSBUDV,RAMCH1 MOV BYSBUCH,RAMCH2 MOV BYSBUTR,RAMCH3 MOV BYSBUNG,RAMCH4 MOV RAMCH0,#DCSOLG LCALL DOC4BYTE MOV BYSSLDV,RAMCH1 MOV BYSSLCH,RAMCH2 MOV BYSSLTR,RAMCH3 MOV BYSSLNG,RAMCH4 MOV RAMCH0,#DCSOCAT LCALL DOC4BYTE MOV BYSSCDV,RAMCH1 MOV BYSSCCH,RAMCH2 MOV BYSSCTR,RAMCH3 MOV BYSSCNG,RAMCH4 MOV RAMCH0,#DCVTOC1 LCALL DOC4BYTE LCALL CHDOI MOV RAMCH0,#DCVTOC2 LCALL DOC4BYTE LCALL CHDOI MOV RAMCH0,#DCTGCAT LCALL DOC4BYTE LCALL CHDOI MOV BYSCAT,RAMCH5 MOV BYDELAY,#00 MAIN10A: PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 137 - JB BIDELAY,MAIN10A SETB BIDELAY MAIN10B: JB BIDELAY,MAIN10B SETB BIDAYAD MAIN20: JNB BITST,TIEN1 CLR BITST SETB BITVAO LJMP START TIEN1: LCALL QUPHIM JNB BITBT,EM18 CLR BITBT SETB BITVAO JNB BITVAO,MAIN21 JB BINUBUTO,MAIN22 SETB BINUBUTO LCALL PHBUTOI LJMP MAIN50 EM18: LCALL NUBUTOI JNB BITVAO,MAIN21 JB BINUBUTO,MAIN22 SETB BINUBUTO LCALL PHBUTOI LJMP MAIN50 MAIN21: JNB BINUBUTO,MAIN22 CLR BINUBUTO LJMP MAIN50 MAIN22: JNB BITBL,EM19 CLR BITBL SETB BITVAO JNB BITVAO,MAIN23 JB BINUBULU,MAIN24 SETB BINUBULU LCALL PHBULUI LJMP MAIN50 EM19: LCALL NUBULUI JNB BITVAO,MAIN23 JB BINUBULU,MAIN24 SETB BINUBULU LCALL PHBULUI LJMP MAIN50 MAIN23: JNB BINUBULU,MAIN24 CLR BINUBULU LJMP MAIN50 MAIN24: JNB BITCT,EM4 SETB BITVAO JNB BITVAO,MAIN25 LCALL CHAYTOI LJMP MAIN50 EM4: LCALL NUCHTOI JNB BITVAO,MAIN25 LCALL CHAYTOI LJMP MAIN50 MAIN25: JNB BITCL,EM5 SETB BITVAO JNB BITVAO,MAIN26 LCALL CHAYLUI LJMP MAIN50 EM5: LCALL NUCHLUI JNB BITVAO,MAIN26 LCALL CHAYLUI LJMP MAIN50 MAIN26: JNB BITCAT,EM20 CLR BITCAT SETB BITVAO JNB BITVAO,MAIN27 JB BINUCAT,MAIN28 SETB BINUCAT LCALL PHCAT LJMP MAIN50 EM20: LCALL NUCAT JNB BITVAO,MAIN27 JB BINUCAT,MAIN28 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 138 - SETB BINUCAT LCALL PHCAT LJMP MAIN50 MAIN27: JNB BINUCAT,MAIN28 CLR BINUCAT LJMP MAIN50 MAIN28: JNB BITNHA,EM21 CLR BITNHA SETB BITVAO JNB BITVAO,MAIN29 JB BINUNHA,MAIN30 SETB BINUNHA LCALL PHNHA LJMP MAIN50 EM21: LCALL NUNHA JNB BITVAO,MAIN29 JB BINUNHA,MAIN30 SETB BINUNHA LCALL PHNHA LJMP MAIN50 MAIN29: JNB BINUNHA,MAIN30 CLR BINUNHA LJMP MAIN50 MAIN30: JNB BITHT,EM22 CLR BITHT SETB BITVAO JNB BITVAO,MAIN31 JB BINUHTCA,MAIN36 SETB BINUHTCA LCALL CHHTCAT LJMP MAIN50 EM22: LCALL NUHTCAT JNB BITVAO,MAIN31 JB BINUHTCA,MAIN36 SETB BINUHTCA LCALL CHHTCAT LJMP MAIN50 MAIN31: JNB BINUHTCA,MAIN36 CLR BINUHTCA LJMP MAIN50 MAIN36: LCALL NUSTART JNB BITVAO,MAIN37 START: LCALL CHRUN LJMP MAIN50 MAIN37: LCALL NUSTOP JNB BITVAO,MAIN39 LCALL PHSTOP LJMP MAIN50 MAIN38: SETB NOP JB P3.5,MAIN39 LCALL PHSTOP LJMP MAIN50 MAIN39: LCALL HIENTHI LJMP MAIN20 MAIN50: MOV BYDELAY,#00 SETB BIDELAY MAIN51: JB BIDELAY,MAIN51 LJMP MAIN20 END PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 139 - II. PHAÀN MEÀM LIEÂN LAÏC (VB ) CHAÏY TREÂN WINDOWS: Trong thôøi ñaïi coâng ngheä thoâng tin, vieäc söû duïng maùy tính trong ñieàu khieån laø chuyeän khoâng coøn xa laï ñoái vôùi caùc xí nghieäp saûn xuaát ngaøy nay. Vì theá vieäc duøng maùy tính seõ giuùp cho ngöôøi söû duïng deã ñieàu khieån thieát bò hôn. Chöông trình lieân laïc chaïy treân PC coù caùc muïc ñích chính nhö : taïo ñieàu kieän deã daøng cho ngöôøi söû duïng trong cung caáp döõ lieäu vaø ñieàu khieån, taän duïng caùc nguoàn taøi nguyeân maïnh treân heä ñieàu haønh Windows ñeå taêng ñoä linh hoaït, theâm chöùc naêng môùi, taêng toác ñoä hoaït ñoäng cuõng nhö möùc thaåm myõ cuûa chöông trình. Do ngoân ngöõ laäp trình söû duïng coù caáu truùc höôùng ñoái töôïng neân vieäc thao taùc treân maùy tính nhö treân baûng ñieàu khieån. Chæ caàn nhöõng caùi click chuoät ta deã daøng khôûi ñoäng maùy chaïy. Teân thuû tuïc Chöùc naêng thuû tuïc Form_Load() Xaùc ñònh port ban ñaàu laø port1. Moport_Click() Xaùc laäp caùc thoâng soá caàn thieát tröôùc khi vieäc truyeàn nhaän xaûy ra nhö:toác ñoä, cho pheùp môû port. DongPort_Click() Khoâng cho pheùp port hoïat ñoäng. MSComm1_OnComm() Khi coù döõ lieäu ñöôïc nhaän ,giaù trò ñöôïc ñem vaøo phaân tích ñeå xaùc ñònh döõ lieäu laø cuûa phaàn naøo. Tmr1_Timer() Dòch chöõ quaûng caùo vaø nhaáp nhaùy chöõ Caùc textbox ñeå hieån thò döõ lieäu nhaän vaø truyeàn. Caùc command Nhö 1 phím baám ôû baøn ñieàu khieån. Hình 1.2:Giaûi thích caùc thuû tuïc III .GIAO DIEÄN ÑIEÀU KHIEÅN: PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 140 - Hình 1.3: Giao dieän ñieàu khieån ¾ Noäi dung thoâng baùo seõ baùo phím ta ñang nhaán. ¾ Böôùc chaïy seõ hieån thò soá böôùc khi ta nhaán nuùt chaïy tôùi hoaëc chaïy lui. ¾ Soá böôùc seõ hieån thò soá böôùc caøi ñaët, töông töï cho soá löôïng, soá caét, vaän toác. ¾ soá caét seõ taêng theâm 1 khi maùy ñaït ñuû soá löôïng. Hình 1.4: Giao dieän khi maùy hoïat ñoäng PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 141 - Sau ñaây phaàn meàm ñöôïc vieát cho PC: 'KHAI BAÙO BIEÁN TOØAN CUÏC Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim e As Integer Dim f As Integer Dim g As Integer Dim h As Integer Dim i As Integer Dim k As Integer Dim l As Integer Dim m As Integer Dim z As Integer Dim z1 As Integer Dim tam As Integer Dim ta As Integer ////////////////////////////////////////////////// / CAÙC NUÙT LEÄNH ÑIEÀU KHIEÅN Private Sub CMDBL_Click() MSComm1.Output = "b" MSComm1.InBufferCount = 0 Label7.Caption = "LUI 1 BÖÔÙC" End Sub ////////////////////////// Private Sub CMDBT_Click() MSComm1.Output = "a" MSComm1.InBufferCount = 0 Label7.Caption = "TÔÙI 1 BÖÔÙC" End Sub //////////////////////////// Private Sub CMDCAT_Click() MSComm1.Output = "c" MSComm1.InBufferCount = 0 Label7.Caption = "ÑANG CAÉT GIAÁY" End Sub ///////////////////////////////// Private Sub CMDCD_Click() z = 27 z1 = z1 + 1 If z1 = 1 Then Label6.Caption = "VAÄN TOÁC 1" Else Label6.Caption = "VAÄN TOÁC 2" z1 = 0 End If Label7.Caption = "CAØI ÑAËT VAÄN TOÁC" MSComm1.Output = "W" MSComm1.InBufferCount = 0 End Sub ////////////////////////// Private Sub CMDCL_Click() 'PHÍM CHAÏY LUI MSComm1.Output = "T" MSComm1.InBufferCount = 0 Label7.Caption = " ÑANG CHAÏY LUI" End Sub ////////////////////////////////////// Private Sub CMDCT_Click() 'PHÍM CHAÏY TÔÙI MSComm1.Output = "S" MSComm1.InBufferCount = 0 Label7.Caption = " ÑANG CHAÏY TÔÙI" End Sub //////////////////////////////// Private Sub CMDHT_Click() MSComm1.Output = "e" MSComm1.InBufferCount = 0 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 142 - Label7.Caption "HAØNH TRÌNH CAÉT " End Sub //////////////////////////////// Private Sub CMDLUU_Click() MSComm1.Output = "U" MSComm1.InBufferCount = 0 Label7.Caption = " ÑAÕ LÖU " End Sub ////////////////////////////////// Private Sub CMDNHA_Click() MSComm1.Output = "d" MSComm1.InBufferCount = 0 Label7.Caption = "NHAÕ CAÉT " End Sub //////////////////////////////////////// Private Sub cmdsb_Click() 'PHÍM SOÁ LÖÔÏNG z = 21 MSComm1.Output = "P" MSComm1.InBufferCount = 0 Label7.Caption = "CAØI ÑAËT SOÁ BÖÔÙC" End Sub ///////////////////////////////////// Private Sub cmdsc_Click() 'PHÍM SOÁ CAÉT z = 23 MSComm1.Output = "R" MSComm1.InBufferCount = 0 Label7.Caption = "CAØI ÑAËT SOÁ CAÉT" End Sub //////////////////////////////////////////// Private Sub cmdsl_Click() z = 22 MSComm1.Output = "Q" MSComm1.InBufferCount = 0 Label7.Caption = "CAØI ÑAËT SOÁ LÖÔÏNG" End Sub ////////////////////////////// Private Sub CMDSO0_Click() MSComm1.Output = "0" MSComm1.InBufferCount = 0 End Sub /////////////////////////////////// Private Sub CMDSO1_Click() MSComm1.Output = "1" MSComm1.InBufferCount = 0 End Sub /////////////////////////////// Private Sub CMDSO2_Click() MSComm1.Output = "2" MSComm1.InBufferCount = 0 End Sub //////////////////////////////////// Private Sub CMDSO3_Click() MSComm1.Output = "3" MSComm1.InBufferCount = 0 End Sub //////////////////////////////////// Private Sub CMDSO4_Click() MSComm1.Output = "4" MSComm1.InBufferCount = 0 End Sub //////////////////////////////////// Private Sub CMDSO5_Click() MSComm1.Output = "5" MSComm1.InBufferCount = 0 End Sub ///////////////////////////////////// Private Sub CMDSO6_Click() MSComm1.Output = "6" MSComm1.InBufferCount = 0 End Sub ////////////////////// Private Sub CMDSO7_Click() MSComm1.Output = "7" MSComm1.InBufferCount = 0 PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 143 - End Sub /////////////////////////////////// Private Sub CMDSO8_Click() MSComm1.Output = "8" MSComm1.InBufferCount = 0 End Sub ////////////////////////////////////// Private Sub CMDSO9_Click() MSComm1.Output = "9" MSComm1.InBufferCount = 0 End Sub /////////////////////////////// Private Sub cmdstart_Click() MSComm1.Output = "N" MSComm1.InBufferCount = 0 Form2.Show End Sub ////////////////////////////////// Private Sub cmdstop_Click() MSComm1.Output = "O" MSComm1.InBufferCount = 0 Label7.Caption = "STOP " End Sub //////////////////////////////////////////// Private Sub CMDTHOAT_Click() ‘XÖÛ LYÙ THOÙAT Unload Form1 End End Sub ///////////////////////////////////////// Private Sub DongPort_Click() ‘XÖÛ LYÙ ÑOÙNG PORT If MSComm1.PortOpen Then MSComm1.RTSEnable = True MSComm1.Output = Chr(1) MSComm1.PortOpen = False DongPort.Enabled = False Moport.Enabled = True ChonPort.Enabled = True End If End Sub ////////////////////////////////////// Private Sub Form_Load() ‘XÖÛ LYÙ KHI TAÛI FORM ChonPort.ListIndex = 0 DongPort.Enabled = False MsgBox ("PLEASE OPEN PORT") End Sub /////////////////////////////////////// Private Sub Moport_Click() ‘THIEÁT LAÄP CAÙC THOÂNG SOÁ KHI MÔÛ PORT MSComm1.Settings = "2400,N,8,1" MSComm1.RThreshold = 1 MSComm1.CommPort = ChonPort.ListIndex + 1 MSComm1.PortOpen = True MSComm1.InputLen = 0 Moport.Enabled = False DongPort.Enabled = True ChonPort.Enabled = False End Sub /////////////////////////////////// ‘XÖÛ LYÙ KHI COÙ SÖÏ ONCOM Private Sub MSComm1_OnComm() Dim t As String Dim t1 As Integer t = MSComm1.Input t1 = Asc(Left(t, 1)) Select Case t1 Case 73 If Asc(Mid(t, 2, 1)) = 65 Then 'BUOC CHAY Text1.Text = Asc(Mid(t, 6, 1)) Text2.Text = Asc(Mid(t, 5, 1)) Text3.Text = Asc(Mid(t, 4, 1)) PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 144 - Text4.Text = Asc(Mid(t, 3, 1)) ElseIf Asc(Mid(t, 2, 1)) = 34 Then 'MATRSO If z = 21 Then Text5.Text = Asc(Mid(t, 6, 1)) Text6.Text = Asc(Mid(t, 5, 1)) Text7.Text = Asc(Mid(t, 4, 1)) Text8.Text = Asc(Mid(t, 3, 1)) ElseIf z = 22 Then Text9.Text = Asc(Mid(t, 6, 1)) Text10.Text = Asc(Mid(t, 5, 1)) Text11.Text = Asc(Mid(t, 4, 1)) Text12.Text = Asc(Mid(t, 3, 1)) e = Asc(Mid(t, 6, 1)) f = Asc(Mid(t, 5, 1)) g = Asc(Mid(t, 4, 1)) h = Asc(Mid(t, 3, 1)) ElseIf z = 23 Then Text13.Text = Asc(Mid(t, 6, 1)) Text14.Text = Asc(Mid(t, 5, 1)) Text15.Text = Asc(Mid(t, 4, 1)) Text16.Text = Asc(Mid(t, 3, 1)) ElseIf z = 27 Then Text17.Text = Asc(Mid(t, 6, 1)) Text18.Text = Asc(Mid(t, 5, 1)) Text19.Text = Asc(Mid(t, 4, 1)) Text20.Text = Asc(Mid(t, 3, 1)) End If ElseIf Asc(Mid(t, 2, 1)) = 27 Then 'VT1 Text17.Text = Asc(Mid(t, 6, 1)) Text18.Text = Asc(Mid(t, 5, 1)) Text19.Text = Asc(Mid(t, 4, 1)) Text20.Text = Asc(Mid(t, 3, 1)) ElseIf Asc(Mid(t, 2, 1)) = 28 Then 'VT2 Text17.Text = Asc(Mid(t, 6, 1)) Text18.Text = Asc(Mid(t, 5, 1)) Text19.Text = Asc(Mid(t, 4, 1)) Text20.Text = Asc(Mid(t, 3, 1)) ElseIf Asc(Mid(t, 2, 1)) = 21 Then 'SB Text5.Text = Asc(Mid(t, 6, 1)) Text6.Text = Asc(Mid(t, 5, 1)) Text7.Text = Asc(Mid(t, 4, 1)) Text8.Text = Asc(Mid(t, 3, 1)) ElseIf Asc(Mid(t, 2, 1)) = 22 Then 'SL Text9.Text = Asc(Mid(t, 6, 1)) Text10.Text = Asc(Mid(t, 5, 1)) Text11.Text = Asc(Mid(t, 4, 1)) Text12.Text = Asc(Mid(t, 3, 1)) ElseIf Asc(Mid(t, 2, 1)) = 23 Then 'SC Text13.Text = Asc(Mid(t, 6, 1)) Text14.Text = Asc(Mid(t, 5, 1)) Text15.Text = Asc(Mid(t, 4, 1)) Text16.Text = Asc(Mid(t, 3, 1)) ElseIf Asc(Mid(t, 2, 1)) = 63 Then 'GIA TRI HIEN TAI Form2.Text13.Text = Asc(Mid(t, 6, 1)) Form2.Text14.Text = Asc(Mid(t, 5, 1)) Form2.Text15.Text = Asc(Mid(t, 4, 1)) Form2.Text16.Text = Asc(Mid(t, 3, 1)) Form2.Text19.Text = Asc(Mid(t, 8, 1)) Form2.Text20.Text = Asc(Mid(t, 7, 1)) If Asc(Mid(t, 8, 1)) = 9 And Asc(Mid(t, 7, 1)) = 9 And Asc(Mid(t, 3, 1)) = h - 1 And Asc(Mid(t, 4, 1)) = g And Asc(Mid(t, 5, 1)) = f And Asc(Mid(t, 6, 1)) = e Then tam = tam + 1 End If PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 145 - If tam = tam And Asc(Mid(t, 3, 1)) = 0 Then Form2.Text18.Text = Str(tam) End If If Asc(Mid(t, 8, 1)) = 9 And Asc(Mid(t, 7, 1)) = 9 And tam = 9 And Asc(Mid(t, 3, 1)) = h - 1 And Asc(Mid(t, 4, 1)) = g And Asc(Mid(t, 5, 1)) = f And Asc(Mid(t, 6, 1)) = e Then ta = ta + 1 End If If ta = ta And Asc(Mid(t, 3, 1)) = 0 Then Form2.Text17.Text = Str(ta) End If End If End Select End If End Sub /////////////////////////////// Private Sub Timer1_Timer() ‘XÖÛ LYÙ CHÖÕ If Label7.Visible = False Then Label7.Visible = True ElseIf Label7.Visible = True Then Label7.Visible = False End If End Sub /////////////////////////////////// Private Sub Tmr1_Timer() Dim s, s1 s = Left(Text37.Text, 1) s1 = Right(Text37.Text, Len(Text37.Text) - 1) Text37.Text = s1 + s End Sub Chöông trình ôû form 2:XÖÛ LYÙ DÖÏA TREÂN FORM 1 Private Sub cmdexit_Click() Unload Form2 End Sub ////////////////////////// Private Sub cmdstop_Click() Form1.MSComm1.Output = "O" ///////////////////////// Form1.MSComm1.InBufferCount = 0 Label8.Caption = "STOP" End Sub ////////////////////////////// Private Sub Form_Load() Text21.Text = Form1.Text37.Text Text1.Text = Form1.Text5.Text Text2.Text = Form1.Text6.Text Text3.Text = Form1.Text7.Text Text4.Text = Form1.Text8.Text Text5.Text = Form1.Text9.Text Text6.Text = Form1.Text10.Text Text7.Text = Form1.Text11.Text Text8.Text = Form1.Text12.Text Text9.Text = Form1.Text13.Text Text10.Text = Form1.Text14.Text Text11.Text = Form1.Text15.Text Text12.Text = Form1.Text16.Text End Sub //////////////////////////////////// 'Private Sub Label8_Click() 'Label8.Caption = Form1.Label7.Caption 'End Sub ////////////////////////////////////// PHAÀN III _ CHÖÔNG I: VIEÁT PHAÀN MEÀM ÑIEÀU KHIEÅN SVTH : NGUYEÃN VAÊN HIEÅN - 146 - Private Sub Timer1_Timer() Dim s, s1 s = Left(Text21.Text, 1) s1 = Right(Text21.Text, Len(Text21.Text) - 1) Text21.Text = s1 + s End Sub ///////////////////////////////////////// Private Sub Timer2_Timer() If Label8.Visible = False Then Label8.Visible = True End If End Sub PHAÀN III _ CHÖÔNG II: TOÅNG KEÁT SVTH : NGUYEÃN VAÊN HIEÅN - 147 - CHÖÔNG II TOÅNG KEÁT I.HÖÔÙNG PHAÙT TRIEÅN ÑEÀ TAØI: Maùy khoâng chæ ñôn thuaàn söû duïng ñeå caét giaáy, ñaây chæ laø moät trong nhöõng öùng duïng thöïc teá cuûa motor böôùc. Ta coù theå duøng motor böôùc trong caùc öùng duïng khaùc nhö caùnh tay robot …v v..Hình moâ taû khaùi quaùt caùc öùng duïng nhö sau: hình 2.1: caùnh tay gaép Hình 2.2: Ñieàu khieån söï vaän haønh cuûa baêng chuyeàn Hình 2.3 : Ñònh vò trí vaät theå PHAÀN III _ CHÖÔNG II: TOÅNG KEÁT SVTH : NGUYEÃN VAÊN HIEÅN - 148 - Hình 2.4 : Ñònh goùc quay cuûa camera Hình 2.6 :Maùy xaû giaáy Tuû ñieàu khieån Baøn phím ÑAÀU DOØ NAM CHAÂM ÑIEÄN MOTOR BÖÔÙC DAO CAÉT Hình 2.7:MAÙY DAÄP GIAÁY DECAL BAØN DAÄP PHAÀN III _ CHÖÔNG II: TOÅNG KEÁT SVTH : NGUYEÃN VAÊN HIEÅN - 149 - II. LÔØI KEÁT: ™ Maùy caét giaáy goàm 2 phaàn: boä phaän ñieàu khieån vaø boä phaän cô khí. • Boä phaän ñieàu khieån hoøan thaønh nhieäm vuï ñeà ra, tuøy theo öùng duïng sau naøy, neáu coù yeâu caàu theâm ñieàu gì, thì ta seõ laäp trình boå xung theâm. • Boä phaän cô khí. Boä phaän naøy khoâng thuoäc phaàn tìm hieåu, chuû yeáu thuoäc veà cô khí. ™ Trong coâng vieäc thöïc hieän caét giaáy, ta coù 2 phöông aùn thöïc hieän : • Duøng con dao caét ñöôïc gaén vaøo nam chaâm ñieän thoâng qua 1 loø xo, khi coù ñieän nam chaâm ñieän seõ huùt con dao vaø thöïc hieän vieäc caét giaáy (ñöôïc trình baøy ôû moâ hình). • Duøng motor DC 1 chieàu ñeå thöïc hieän vieäâc naâng vaø haï dao, vì thôøi gian coù haïn neân em choïn phöông aùn treân vaø ñieàu khieån motor DC tôùi, lui. ™ Trong thöïc teá, ngöôøi ñieàu khieån duøng phöông aùn moät, vì phöông aùn naøy ñôn giaûn vaø deã ñieàu khieån, vaø kinh teá hôn nhieàu. o Trong quaù trình thöïc hieän ñeà taøi maùy caét giaáy, do gaëp nhieàu khoù khaên veà taøi chính vaø ñaët bieät veà thôøi gian, beân caïnh ñoù söï hieåu bieát cuûa em veà lónh vöïc ñieän coâng nghieäp vaø cô khí coøn haïn cheá cho neân em chæ tìm hieåu moät soá vaán ñeà phuïc vuï cho ñeà taøi vaø nhieäm vuï ñeà ra. Em ñaõ coá gaéng hoøan thaønh nhieäm vuï ñeà ra laø : 9 Vieát chöông trình cho vi ñieàu khieån baèng ngoân ngöõ assembly ñeå : • Giao tieáp vôùi LCD. • Giao tieáp vôùi MCU slave. • Giao tieáp maùy tính (thoâng qua ngoân ngöõ höôùng ñoái töôïng Visual Basic). 9 Ñieàu khieån motor böôùc vaø motor DC 1 chieàu. 9 Thu phaùt hoàng ngoïai ñeå caûm bieán vieäc heát giaáy. PHAÀN III _ CHÖÔNG II: TOÅNG KEÁT SVTH : NGUYEÃN VAÊN HIEÅN - 150 - III. TAØI LIEÄU THAM KHAÛO: 1.Vi xöû lyù Hoà Trung Myõ 2.Hoï vi ñieàu khieån Toáng vaên On 3.stepping motors Douglas W.Jones 4. Caùc datasheet LCD2020A Tip122 Max 232 BL9148 BL9149 … 5. Ñieän daân duïng vaø ñieän coâng nghieäp Buøi Vaên Yeân-Traàn Nhaät Taân

Các file đính kèm theo tài liệu này:

  • pdfLY_THUYET.pdf