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 ).
150 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2770 | Lượt tải: 0
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:
- LY_THUYET.pdf