Vi Mạch MCS 51 - Ứng Dụng Thực Tế part 7 potx

9 340 1
Vi Mạch MCS 51 - Ứng Dụng Thực Tế part 7 potx

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

Thông tin tài liệu

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 Giáo trình thực hành vi xử lý. 47 Biên soạn: Phạm Quang Trí MỘT SỐ ĐIỂM CẦN CHÚ Ý KHI KẾT NỐI MẠCH VÀ VIẾT CHƯƠNG TRÌNH A. Khi kết nối mạch: • Tên của từng port xuất nhập trên mô hình. • Thứ tự các bit (từ LSB đến MSB) tại các port xuất nhập trên mô hình. • Khi kết nối phải đảm bảo sao cho bit 0 của port vi điều khiển đúng vị trí bit 0 của đối tượng cần điều khiển. • Khi kết nối đúng vị trí bit 0 thì các bit còn lại sẽ đúng vị trí. • Tất cả các chương trình mẫu trong hệ thống này đều được kiểm tra rất kỹ theo đúng như kết nối mạch được trình bày. • Nếu một yêu cầu nào đó không đúng thì hãy xem lại phần kết nối và chương trình. B. Khi viết chương trình: • Số 0 thường được đánh nhầm là chữ O. • Thường đánh thiếu tiền tố # và hậu tố H đi kèm trong một số trường hợp. • Sau lệnh END thì không còn một hàng hay một ký tự nào (kể cả ký tự trắng) nếu không chương trình biên dịch sẽ báo lỗi. Lỗi này có thể bỏ qua. • Hãy dùng phím TAB để viết chương trình cho thẳng hàng. Điều này rất có ích cho bạn khi cần xem lại và kiểm tra lỗi chương trình được nhanh chóng. • Nếu nhập một chương trình nào đó trong tài liệu mà chương trình chạy không đúng như yêu cầu thì hãy xem kỹ lại có đánh đầy đủ tất cả các lệnh trong chương trình hay chưa? Có thiếu sót gì không? Kết nối mạch có theo như hướng dẫn hay không? Tất cả các chương trình trong tài liệu hướng dẫn đã được chạy thử và luôn luôn đúng. ĐỌC KỸ HƯỚNG DẪN SỬ DỤNG TRƯỚC KHI THỰC HÀ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 A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN Giáo trình thực hành vi xử lý. 49 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. • Điều khiển việc hiển thị bằng cách sử dụng LED đơn. • Viết các chương trình con tạo thời gian trễ sử dụng trong các ứng dụng điều khiển. 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 LED đơn ở các chế độ khác nhau. • Nắm được sơ đồ và nguyên lý hoạt động của khối LED đơn trên mô hình thí nghiệm. • Nắm được nguyên lý điều khiển LED đơn ở các chế độ khác nhau. • Biết cách tính toán các thông số delay của Timer trong vi điều khiển. • Biết cách viết các chương trình tạo thời gian trễ với các khoảng thời gian bất kỳ. A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN Bài 1: Chương trình điều khiển 8 LED được nối với Port0 sáng tắt (có sử dụng bộ đệm đảo). Giáo trình thực hành vi xử lý. 50 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 J12 (BAR LED 2) ở khối dãy LED với J63 (PORT0 / DATA) ở khối vi điều khiển. • Dùng dây bus 3 nối J103 (POWER) ở khối dãy LED với nguồn +5V ở khối nguồn. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS 1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. ;*************************************************** ;CHUONG TRINH DIEU KHIEN 8 LED SANG TAT ;*************************************************** ;KET NOI: 8 LED -> PORT0 (CO DEM DAO). ;*************************************************** ORG 00H CHOPTAT: MOV P0,#00H ;LED TAT LCALL DELAY500MS MOV P0,#0FFH ;LED SANG LCALL DELAY500MS SJMP CHOPTAT ;QUAY LAI ;**************************************************** DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#0ECH MOV TL0,#78H 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ó. 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. A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN Bài 1: Chương trình điều khiển 8 LED được nối với Port0 sáng tắt (có sử dụng bộ đệm đảo). Giáo trình thực hành vi xử lý. 51 Biên soạn: Phạm Quang Trí 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: • Bài 1: Hãy viết chương trình điều khiển 8 LED được nối với Port3 sáng tắt. • Bài 2: Hãy viết chương trình điều khiển 16 LED được nối với hai Port (Port0 và Port1) sáng tắt. • Bài 3: Hãy viết chương trình điều khiển 8 LED được nối với Port0 sáng, 8 LED được nối với Port1 tắt rồi sau đó 8 LED được nối với Port0 tắt, 8 LED được nối với Port1 sáng. • Bài 4: Nếu muốn thay đổi tốc độ sáng tắt nhanh hay chậm thì bạn phải làm gì? Thử thực hiện xem ? • Bài 5: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình. A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN Bài 2: Chương trình điều khiển đếm lên nhị phân 8 bit và hiển thị trên 8 LED được nối với Port0 (có sử dụng bộ đệm đảo). Giáo trình thực hành vi xử lý. 52 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 8 LED DEM LEN NHI PHAN ;*************************************************** ;KET NOI: 8 LED -> PORT0 (CO DEM DAO). ;*************************************************** ORG 00H MOV P0,#00H ;LED TAT LCALL DELAY500MS LAP: INC P0 ;TANG NHI PHAN LCALL DELAY500MS SJMP LAP ;QUAY LAI ;**************************************************** DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#0ECH MOV TL0,#78H 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 đếm lên nhị phân 8 bit và hiển thị trên 8 LED được nối với Port3. • Bài 2: Hãy viết chương trình điều khiển đếm lên nhị phân 16 LED được nối với hai Port (Port0 và Port1). • Bài 3: Hãy viết chương trình điều khiển tương tự như hai bài tập 1 và 2 nhưng là đếm xuống. • Bài 4: Nếu muốn thay đổi tốc độ đếm nhanh hay chậm thì bạn phải làm gì? Thử thực hiện xem ? • Bài 5: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình. A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN Bài 3: Chương trình điều khiển 8 LED được nối với Port0 sáng dần và tắt hết (có sử dụng bộ đệm đảo). Giáo trình thực hành vi xử lý. 53 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. • Cách 1: ;*************************************************** ;CHUONG TRINH DIEU KHIEN 8 LED SANG DAN VA TAT HET ;*************************************************** ;KET NOI: 8 LED -> PORT0 (CO DEM DAO). ;*************************************************** ORG 00H MAIN: MOV P0,#00000000B ;HIEN THI 0 LED LCALL DELAY500MS MOV P0,#00000001B ;HIEN THI 1 LED LCALL DELAY500MS MOV P0,#00000011B ;HIEN THI 2 LED LCALL DELAY500MS MOV P0,#00000111B ;HIEN THI 3 LED LCALL DELAY500MS MOV P0,#00001111B ;HIEN THI 4 LED LCALL DELAY500MS MOV P0,#00011111B ;HIEN THI 5 LED LCALL DELAY500MS MOV P0,#00111111B ;HIEN THI 6 LED LCALL DELAY500MS MOV P0,#01111111B ;HIEN THI 7 LED LCALL DELAY500MS MOV P0,#11111111B ;HIEN THI 8 LED LCALL DELAY500MS SJMP MAIN ;QUAY LAI ;**************************************************** DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#0ECH MOV TL0,#78H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H RET END • Cách 2: ;*************************************************** ;CHUONG TRINH DIEU KHIEN 8 LED SANG DAN VA TAT HET ;*************************************************** ;KET NOI: 8 LED -> PORT0 (CO DEM DAO). ;*************************************************** ORG 00H MAIN: MOV R0,#00H ;BIEN DEM SO TRANG THAI HIEN THI MOV DPTR,#DATADISP ;NAP DIA CHI VUNG DU LIEU LOOP: MOV A,R0 MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG NHO MOV P0,A ;HIEN THI LCALL DELAY500MS INC R0 ;LAY DU LIEU KE TIEP CJNE R0,#9,LOOP ;KIEM TRA SO DU TRANG THAI HIEN THI SJMP MAIN ;QUAY LAI ;**************************************************** A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN Bài 3: Chương trình điều khiển 8 LED được nối với Port0 sáng dần và tắt hết (có sử dụng bộ đệm đảo). Giáo trình thực hành vi xử lý. 54 Biên soạn: Phạm Quang Trí DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#0ECH MOV TL0,#78H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H RET ;**************************************************** DATADISP: ;VUNG DU LIEU HIEN THI DB 00H,01H,03H,07H,0FH,1FH,3FH,7FH,0FFH END • Cách 3: ;*************************************************** ;CHUONG TRINH DIEU KHIEN 8 LED SANG DAN VA TAT HET ;*************************************************** ;KET NOI: 8 LED -> PORT0 (CO DEM DAO). ;*************************************************** ORG 00H MAIN: MOV A,#00H ;KHOI DONG GIA TRI BAN DAU LAP: SETB C ;C=1 MOV P0,A ;HIEN THI LCALL DELAY500MS RLC A ;DICH BIT 1 SANG TRAI KEM C, SANG DAN JNC LAP ;CHUA SANG HET THI LAM TIEP SJMP MAIN ;QUAY LAI ;**************************************************** DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#0ECH MOV TL0,#78H 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 8 LED được nối với Port3 sáng dần và tắt hết. • Bài 2: Hãy viết chương trình điều khiển 8 LED được nối với Port2 sáng hết và tắt dần. • Bài 3: Hãy viết chương trình điều khiển tương tự như hai bài tập 1 và 2 nhưng là theo chiều ngược lại. • Bài 4: Hãy viết chương trình điều khiển 8 LED được nối với Port1 sáng dần và tắt dần. • Bài 5: Hãy viết chương trình điều khiển 16 LED được nối với hai Port (Port2 và Port3) sáng dần và tắt dần. • Bài 6: Hãy viết chương trình điều khiển tương tự như hai bài tập 4 và 5 nhưng là theo chiều ngược lại. • Bài 7: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình. . chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. • Điều khiển vi c hiển thị bằng cách sử dụng LED đơn. • Vi t các chương trình con tạo thời gian trễ sử dụng trong các ứng. Giáo trình thực hành vi xử lý. 49 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. Giáo trình thực hành vi xử lý. 47 Biên soạn: Phạm Quang Trí MỘT SỐ ĐIỂM CẦN CHÚ Ý KHI KẾT NỐI MẠCH VÀ VI T CHƯƠNG TRÌNH A. Khi kết nối mạch: • Tên của từng port

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