Vi Mạch MCS 51 - Ứng Dụng Thực Tế (Phần 2) part 4 ppt

9 275 0
Vi Mạch MCS 51 - Ứng Dụng Thực Tế (Phần 2) part 4 ppt

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

Thông tin tài liệu

H. HỆ THỐNG ĐIỀU KHIỂN RELAY. Bài tập: Chương trình điều khiển RELAY1 và RELAY2 đóng ngắt tuần tự và liên tục. Thời gian giữa hai lần đóng ngắt là 1s (RELAY1 và RELAY2 được nối với P1.0 và P1.1). Giáo trình thực hành vi xử lý. 199 Biên soạn: Phạm Quang Trí 2 Bài tập: • Bài 1: Hãy viết chương trình điều khiển RELAY2 đóng ngắt liên tục. Thời gian giữa hai lần đóng ngắt là 3s. Tự lựa chọn phương pháp kết nối relay. • Bài 2: Hãy viết chương trình điều khiển RELAY1 đóng ngắt liên tục sau mỗi 1 giây đồng thời với RELAY2 đóng ngắt sau mỗi 2 giây. Tự lựa chọn phương pháp kết nối relay. • Bài 3: Hãy viết chương trình điều khiển sao cho khi ta nhấn:  Nhấn nút nhấn KEY1 thì LED 7 đoạn hiển thị số 1 và RELAY1 đóng.  Nhấn nút nhấn KEY2 thì LED 7 đoạn hiển thị số 1 và RELAY2 đóng.  Nhấn nút nhấn KEY0 thì LED 7 đoạn hiển thị số 0 và cả hai relay đều ngắt. Tự lựa chọn phương pháp kết nối relay, nút nhấn và LED 7 đoạn. • Bài 4: Hãy viết chương trình điều khiển sao cho khi ta nhấn:  Nhấn phím số “1” thì LED ma trận hiển thị số 1 và RELAY1 đóng.  Nhấn phím số “2” thì LED ma trận hiển thị số 1 và RELAY2 đóng.  Nhấn phím “ESC” thì LED ma trận hiển thị số 0 và cả hai relay đều ngắt. Tự lựa chọn phương pháp kết nối relay, bàn phím và LED ma trận. • Bài 5: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình. TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP T T À À I I L L I I Ệ Ệ U U H H Ư Ư Ớ Ớ N N G G D D Ẫ Ẫ N N T T H H Í Í N N G G H H I I Ệ Ệ M M - - T T H H Ự Ự C C H H À À N N H H I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC. Giáo trình thực hành vi xử lý. 201 Biên soạn: Phạm Quang Trí A. MỤC ĐÍCH: • Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. • Tìm hiểu nguyên lý hoạt động của các loại động cơ bước công suất nhỏ. • Tìm hiểu nguyên lý điều khiển động cơ bước bằng vi điều khiển và ứng dụng lập trình để điều khiển hoạt động cho các động cơ bước này. B. YÊU CẦU: • Nắm vững tập lệnh của vi điều khiển MCS-51. • Biết cách viết các chương trình điều khiển động cơ bước quay thuận/ngược, quayliên tục/từng bước, …. • Nắm được sơ đồ và nguyên lý hoạt động của khối động cơ bước trên mô hình thí nghiệm. • Nắm được nguyên lý hoạt động và nguyên lý điều khiển động cơ bước. • Biết cách viết các chương trình ứng dụng điều khiển động cơ bước hoạt động theo các chế độ khác nhau. I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC. Bài 1: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ (CTRL MOTOR được nối với Port0). Giáo trình thực hành vi xử lý. 202 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Tắt nguồn cấp cho mô hình thí nghiệm. • Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J31 (CONTROL MOTOR) ở khối motor bước. • Dùng dây bus 4 nối J30 (MOTOR 1) ở khối motor bước với các dây điều khiển của motor bước (sử dụng loại motor bước có 5 dây (4 điều khiển +1 nguồn) hoặc loại 6 dây (2 điều khiển + 1 nguồn và 2 điều khiển + 1 nguồn). • Dùng dây bus 3 nối J105 (POWER) ở khối motor bước với nguồn +5V ở khối nguồn. • Dùng dây bus 1 nối các dây nguồn của motor bước với nguồn +5V ở khối nguồn. 1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. ;*************************************************** ;CHUONG TRINH DIEU KHIEN DONG CO BUOC (MOTOR 1) QUAY LIEN TUC ;*************************************************** ;KET NOI: MOTOR CONTROL -> PORT0 (ACT = 0) ;*************************************************** ORG 00H MAIN: MOV P0,#00000001B ;XUAT PORT DIEU KHIEN MOTOR - BUOC 1 ACALL DELAY MOV P0,#00000010B ;XUAT PORT DIEU KHIEN MOTOR - BUOC 2 ACALL DELAY MOV P0,#00000100B ;XUAT PORT DIEU KHIEN MOTOR - BUOC 3 ACALL DELAY MOV P0,#00001000B ;XUAT PORT DIEU KHIEN MOTOR - BUOC 4 ACALL DELAY SJMP MAIN ;QUAY LAI ;**************************************************** DELAY: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H RET END 1.3 Lưu chương trình và biên dịch chương trình. 1.4 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có. I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC. Bài 1: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ (CTRL MOTOR được nối với Port0). Giáo trình thực hành vi xử lý. 203 Biên soạn: Phạm Quang Trí 1.5 Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip hoạt động. 1.6 Nạp chương trình vào vi điều khiển. 1.7 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển. 1.8 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ bước 3 đến bước 9. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 3) I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC. Bài 2: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ một vòng rồi dừng lại (CTRL MOTOR được nối với Port0). Giáo trình thực hành vi xử lý. 204 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1. 1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. ;*************************************************** ;CHUONG TRINH DIEU KHIEN DONG CO BUOC (MOTOR 1) QUAY 1 VONG ;*************************************************** ;KET NOI: MOTOR CONTROL -> PORT0 (ACT = 0), 1.8 DEG/STEP (200 STEP/ROUND) ;*************************************************** ORG 00H MAIN: MOV P0,#00H ;DUA MOTOR VE TRANG THAI TINH MOV R0,#0 ;BIEN DEM SO BUOC MOV A,#00000001B ;TRANG THAI BAN DAU (BUOC 1) STEPNEXT: MOV P0,A ;XUAT XUNG DIEU KHIEN MOTOR ACALL DELAY RL A ;CHUYEN DICH SANG TRANG THAI XUNG DIEU KHIEN KE TIEP INC R0 ;DEM SO BUOC QUAY CJNE A,#00010000B,NEXT ;KIEM TRA TRANG THAI XUNG DIEU KHIEN (4 BUOC ?) - Y: CHUA DU MOV A,#00000001B ;DUA XUNG DIEU KHIEN VE TRANG THAI BAN DAU (BUOC 1) NEXT: CJNE R0,#200,STEPNEXT ;KIEM TRA MOTOR DA QUAY DU 1 VONG - 200 BUOC SJMP $ ;DUNG KHI DA DU 1 VONG ;**************************************************** DELAY: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H RET END 1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 3) I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC. Bài 3: Chương trình điều khiển STEPPER1 quay bằng cách nhấn nút KEY0: quay thuận, KEY1: quay ngược, KEY2: dừng (CTRL MOTOR được nối với Port0, MOMENTARY SW: được nối với Port1). Giáo trình thực hành vi xử lý. 205 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Tắt nguồn cấp cho mô hình thí nghiệm. • Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J31 (CONTROL MOTOR) ở khối motor bước. • Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J76 (MOMENTARY SW) ở khối nút nhấn. • Dùng dây bus 4 nối J30 (MOTOR 1) ở khối motor bước với các dây điều khiển của motor bước (sử dụng loại motor bước có 5 dây (4 điều khiển +1 nguồn) hoặc loại 6 dây (2 điều khiển + 1 nguồn và 2 điều khiển + 1 nguồn). • Dùng hai dây bus 3 nối J105 (POWER) ở khối motor bước và J114 (POWER) ở khối nút nhấn với nguồn +5V ở khối nguồn. • Dùng dây bus 1 nối các dây nguồn của motor bước với nguồn +5V ở khối nguồn. 1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. ;*************************************************** ;CHUONG TRINH DIEU KHIEN DONG CO BUOC (MOTOR 1) QUAY THUAN/NGHICH KHI NHAN NUT NHAN ;*************************************************** ;KET NOI: MOTOR CONTROL -> PORT0 (ACT = 0) MOMENTARY SW -> PORT1 (ACT = 0) ;*************************************************** ORG 00H MAIN: MOV A,#01H ;XUNG KHIEN BUOC 1 MOV P0,A ;XUAT XUNG KHIEN MOV R0,#0 ;BIEN NHAN GIA TRI CUA NUT DUOC NHAN (KEY0 = 0) TESTKEY: JB P1.0,NEXTKEY1 ;Y: KEY0 KHONG DUOC NHAN MOV R0,#0 ;NAP GIA TRI CUA NUT -> KEY0 NHAN NEXTKEY1: JB P1.1,NEXTKEY2 ;Y: KEY1 KHONG DUOC NHAN MOV R0,#1 ;NAP GIA TRI CUA NUT -> KEY1 NHAN NEXTKEY2: JB P1.2,COMPARE ;Y: KEY2 KHONG DUOC NHAN MOV R0,#2 ;NAP GIA TRI CUA NUT -> KEY2 NHAN COMPARE: CJNE R0,#1,NEXT_COM1 ;Y: NUT NHAN KHONG PHAI LA KEY1 RL A ;NUT NHAN LA KEY1 -> QUAY THUAN 1 BUOC ACALL ROTATE NEXT_COM1: CJNE R0,#2,NEXT_COM2 ;Y: NUT NHAN KHONG PHAI LA KEY2 RR A ;NUT NHAN LA KEY2 -> QUAY NGHICH 1 BUOC ACALL ROTATE I. HỆ THỐNG ĐIỀU KHIỂN MOTOR BƯỚC. Bài 3: Chương trình điều khiển STEPPER1 quay bằng cách nhấn nút KEY0: quay thuận, KEY1: quay ngược, KEY2: dừng (CTRL MOTOR được nối với Port0, MOMENTARY SW: được nối với Port1). Giáo trình thực hành vi xử lý. 206 Biên soạn: Phạm Quang Trí NEXT_COM2: SJMP TESTKEY ;QUAY TRO VE ;**************************************************** ROTATE: ;CTC DIEU KHIEN QUAY MOTOR CJNE A,#10H,BIT4_BIT0 ;KIEM TRA TRANG THAI XUNG MOV A,#01H ;DIEU CHING TRANG THAI XUNG VE BUOC 1 BIT4_BIT0: CJNE A,#80H,BIT7_BIT3 ;KIEM TRA TRANG THAI XUNG MOV A,#08H ;DIEU CHING TRANG THAI XUNG VE BUOC 4 BIT7_BIT3: MOV P0,A ;XUAT XUNG KHIEN ACALL DELAY RET ;**************************************************** DELAY: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H RET END 1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 2 Bài tập: • Bài 1: Hãy viết chương trình điều khiển STEPPER2 quay ngược chiều kim đồng hồ. • Bài 2: Hãy viết chương trình điều khiển STEPPER1 và 2 quay cùng chiều kim đồng hồ. • Bài 3: Hãy viết chương trình điều khiển STEPPER1 quay ngược chiều kim đồng hồ và STEPPER2 quay cùng chiều kim đồng hồ. Tự lựa chọn phương pháp kết nối motor bước. • Bài 4: Hãy viết chương trình điều khiển STEPPER1 hoạt động khi ta nhấn phím trên bàn phím:  Nhấn phím “1”: STEPPER1 quay cùng chiều kim đồng hồ.  Nhấn phím “2”: STEPPER1 quay ngược chiều kim đồng hồ.  Nhấn phím “ESC”: STEPPER1 dừng. • Bài 5: Hãy viết chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ khi ta nhấn phím trên bàn phím:  Nhấn phím “1”: STEPPER1 tăng dần tốc độ quay.  Nhấn phím “2”: STEPPER1 giãm dần tốc độ quay.  Nhấn phím “ESC”: STEPPER1 dừng. • Bài 6: Hãy viết chương trình điều khiển STEPPER1 hoạt động khi ta nhấn nut nhấn:  Nhấn nút KEY0: STEPPER1 quay cùng chiều kim đồng hồ.  Nhấn nút KEY1: STEPPER1 quay ngược chiều kim đồng hồ.  Nhấn nút KEY2: STEPPER1 tăng dần tốc độ quay.  Nhấn nút KEY3: STEPPER1 giãm dần tốc độ quay.  Nhấn nút KEY4: STEPPER1 dừng. • Bài 7: Hãy viết chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ, motor sẽ quay khi ta nhập từ bàn phím số bước cần quay (0 đến 200) và nhấn phím “ENTER”, motor sẽ dừng bất cứ lúc nào khi ta nhấn phím “ESC”. Số bước motor nhập vào và số bước motor quay sẽ được hiển thị lên ba LED 7 đoạn. • Bài 8: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình. TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP T T À À I I L L I I Ệ Ệ U U H H Ư Ư Ớ Ớ N N G G D D Ẫ Ẫ N N T T H H Í Í N N G G H H I I Ệ Ệ M M - - T T H H Ự Ự C C H H À À N N H H . • Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi. cơ bước bằng vi điều khiển và ứng dụng lập trình để điều khiển hoạt động cho các động cơ bước này. B. YÊU CẦU: • Nắm vững tập lệnh của vi điều khiển MCS- 51. • Biết cách vi t các chương. cho khối nạp chip hoạt động. 1.6 Nạp chương trình vào vi điều khiển. 1.7 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển. 1.8 Bật nguồn cho mô hình thí nghiệm.

Ngày đăng: 09/07/2014, 23:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan