BÁO CÁO-HƯỚNG DẪN THÍ NGHIỆM 8051 VỚI EME-MC8

59 1.1K 0
BÁO CÁO-HƯỚNG DẪN THÍ NGHIỆM 8051 VỚI EME-MC8

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

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

Thông tin tài liệu

HƯỚNG DẪN THÍ NGHIỆM 8051 VỚI EME-MC8 Website: http://deeb.dientuvn.com www2.hcmut.edu.vn/~vkchau; Email: contact@dientuvn.com HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 2/59 CƠ BẢN VỀ EME-MC8 TỔ CHỨC TÀI LIỆU HƯỚNG DẪN EME-MC8 là bộ thí nghiệm được thiết kế dựa trên họ vi điều khiển MCS-51. Tài liệu hướng dẫn thí nghiệm này giúp người sử dụng tiếp cận với các kiến thức cơ bản về vi điều khiển 8051 nhanh chóng hơn. Tài liệu này bao gồm nhiều bài thí nghiệm, mỗi bài được tổ chức thành các phần như sau: Mục tiêu: giúp người học nắm được mục tiêu cụ thể của bài thí nghiệm. Yêu cầu: phần này sẽ đưa ra yêu cầu cụ thể của bài thí nghiệm. Hướng dẫn: phần này là phần chính của bài thí nghiệm, bao gồm các nội dung sau Lý thuyết cơ bản: phần này sẽ tóm tắt sơ lược các kiến thức lý thuyết có liên quan đến bài thí nghiệm. Thiết kế phần cứng: nội dung của phần này sẽ giúp người sử dụng nắm được chi tiết về sơ đồ và cách thức thiết kế phần cứng của EME-MC8. Người sử dụng cần hiểu rõ các nội dung được đề cập trong phần này. Các thiết kế phần cứng này hoàn toàn có thể ứng dụng trong thực tế. Phần mềm giao tiếp: phần này sẽ giúp người sử dụng nắm được các kỹ thuật để xây dựng phần mềm đáp ứng yêu cầu của bài thí nghiệm. Các nội dung được đề cập trong phần này cũng sẽ rất hữu dụng trong thực tế. Kiểm tra: giúp người sử dụng đáng giá mức độ đạt được các mục tiêu của bài thí nghiệm, đồng thời gợi ý một số hiệu chỉnh nhằm làm phong phú nội dung thí nghiệm. Chú ý: người học cần xem trước nội dung thí nghiệm và chuẩn bị sẵn chương trình tại nhà để có thể tận dụng tốt thời gian thí nghiệm. HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 3/59 DIP-SW8 CẤU HÌNH Bộ thí nghiệm EME-MC8 được thiết kế để có thể sử dụng một cách linh hoạt. Trên EME-MC8 có 4 DIP-SW8 SW_CC1, SW_CC2, SW_CC3, SW_CC4 nằm xung quanh đế ZIF40 gắn vi điều khiển cho phép cấu hình bộ thí nghiệm. Các DIP-SW8 cấu hình Port0 và Port2 Port1 và Port3 Một phía của DIP-SW được nối đến 4 port (P0 đến P3) của 8051. Phía còn lại nối đến tín hiệu có tên được ghi trên board mạch. Mục đích của các DIP-SW8 cấu hình này là cho phép ngắn mạch hoặc hở mạch tín hiệu với port của 8051. Cụ thể là khi SW được đặt ở vị trí ON, hai tín hiệu được nối. Khi SW đặt ở vị trí OFF, hai tín hiệu hở mạch. Như vậy, khi SW tại một vị trí bật ON thì port của 8051 được nối với tín hiệu có tên tương ứng. Ví dụ khi SW thứ 0 của DIP-SW8 SW_CC2 bật ON thì có nghĩa là bit P1.0 (bit thứ 0 của Port1) được nối đến tín hiệu DAC_nCS. Port Chức năng P0 Bus dữ liệu D0-D7 Byte thấp của bus địa chỉ A0-A7 P2 Byte cao của bus địa chỉ A8-A15 P1.0 /CS của DAC P1.1 SCK của giao tiếp SPI P1.2 SDI của giao tiếp SPI P1.3 /LD của DAC P3.0 RXD P3.1 TXD P3.2 Tín hiệu giao tiếp 1-Wire bus Ngõ ra của DS18S20 P3.3 Chọn chế độ Single-Step P3.4 Tín hiệu Enable của LCD P3.5 Tín hiệu RS của LCD P3.6 /WR P3.7 /RD Kết nối các port với tín hiệu khi DIP-SW8 cấu hình được bật ON Nếu SW ở vị trí OFF, các port không nối đến tín hiệu mà nối trực tiếp đến header mở rộng có sẵn trên board là JA01 (Port0), JA02 (Port1), JA03 (Port2), JA04 (Port3). Người sử dụng có thể dùng các header này cho mục đích mở rộng hệ thống. Các header mở rộng port HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 4/59 JUMPER CẤU HÌNH Trên EME-MC8 có các jumper cấu hình. Các jumper 2 cho phép nối hoặc hở mạch một kết nối. Các jumper 3 cho phép lựa chọn nối 1 đường tín hiệu đến 1 trong 2 tín hiệu khác. Ví dụ trong hình minh họa dưới đây, tín hiệu SYN có thể được nối đến SYND hoặc SYNC tùy theo vị trí của jumper JP23. Minh họa cài đặt jumper HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 5/59 BẢN ĐỒ BỘ NHỚ Mạch giải mã địa chỉ trên EME-MC8 được thiết kế dùng vi mạch giải mã 74x138. Sơ đồ thiết kế như hình sau Sơ đồ mạch giải mã địa chỉ Bản đồ bộ nhớ được sắp xếp như sau STT Bộ nhớ và Ngoại vi Địa chỉ truy xuất Ghi chú 1 Bộ nhớ RAM ngoài 2000h – 3FFFh Chứa dữ liệu và chương trình của người sử dụng khi dùng với EME- MON51 (nCS1) 2 Chốt ‘573 của khối led 7 đoạn 0000h – 1FFFh Chỉ ghi, (nCS0) 3 Ra lệnh bắt đầu chuyển đổi ADC và chốt kênh cần chuyển đổi 4000h – 5FFFh Chỉ ghi (nCS2) 4 Đọc 8 bit dữ liệu từ ADC 4000h – 5FFFh Chỉ đọc (nCS2) 5 Điều khiển chốt ‘573 chốt 8 bit dữ liệu của khối LCD 8000h – 9FFFh Chỉ ghi (nCS4) 6 Điều khiển chốt ‘573 chốt 8 bit dữ liệu của khối GLCD 6000h – 7FFFh Chỉ ghi (nCS3) 7 Điều khiển chốt ‘573 chốt 8 bit dữ liệu của khối led matrix hàng A000 – BFFFh Chỉ ghi (nCS5) 8 Điều khiển chốt ‘573 chốt 8 bit dữ liệu của khối led matrix cột C000h – DFFFh Chỉ ghi (nCS6) 9 Điều khiển chốt ‘573 chốt 2 bit điều khiển động cơ DC , D0 và D1 E000h – FFFFh Chỉ ghi (nCS7) HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 6/59 HƯỚNG DẪN NHANH ĐỂ SỬ DỤNG EME-MC8 Cài đặt các DIP-SW8 và jumper cấu hình như sau: Bật ON tất cả các SW của 2 DIP-SW8 cấu hình SW_CC1 và SW_CC3. Điều này cho phép 8051 hoạt động trong chế độ 3 bus (bus dữ liệu, bus địa chỉ, và bus điều khiển). Trong chế độ 3 bus, Port0 đóng vai trò là 8-bit dữ liệu đồng thời là 8-bit địa chỉ thấp, Port2 đóng vai trò là 8-bit địa chỉ cao tạo nên bus địa chỉ 16-bit. Sơ đồ kết nối khối DIP-SW8 cấu hình Bật ON 4 SW thứ 0, 1, và 6, 7 của DIP-SW8 cấu hình SW_CC4. Điều này cho phép dùng các bit P3.0, P3.1 làm tín hiệu giao tiếp nối tiếp với máy tính qua cổng COM (P3.0 = RXD, P3.1 = TXD), và các bit P3.6, P3.7 được dùng là các tín hiệu điều khiển trong chế độ 3 bus (P3.6 = nWR, P3.7 = nRD). Bảng sau chỉ ra vị trí mặc định của các switch trên DIP-SW8 cấu hình. Trên thực tế thí nghiệm, tùy theo ngoại vi nào được sử dụng mà người lập trình cần bật ON các switch của các ngoại vi tương ứng. Port Vị trí mặc định Chức năng P0 ON Bus dữ liệu D0-D7 Byte thấp của bus địa chỉ A0- A7 P2 ON Byte cao của bus địa chỉ A8- A15 P1.0 OFF /CS của DAC P1.1 OFF SCK của giao tiếp SPI P1.2 OFF SDI của giao tiếp SPI P1.3 OFF /LD của DAC P3.0 ON RXD P3.1 ON TXD P3.2 OFF Tín hiệu giao tiếp 1-Wire bus Ngõ ra của DS18S20 HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 7/59 P3.3 OFF Chọn chế độ Single-Step P3.4 ON Tín hiệu Enable của LCD P3.5 ON Tín hiệu RS của LCD P3.6 ON /WR P3.7 ON /RD Cài đặt DIP-SW8 cấu hình để hoạt động trong chế độ 3 bus Để cấu hình mức tích cực của khối nút nhấn, jumper 3 JC301 được cài đặt để nối chân 2 và 3, tức là nối chân 2 xuống GND. Các jumper 3 JC302, JC303, JC304, và JC305 được cài đặt nối chân 2 và 1, tức là chân 2 nối VCC. Điều này sẽ làm cho nút nhấn bình thường ở mức cao. Khi được nhấn, mức tích cực của nút nhấn sẽ là mức thấp. Trong trường hợp không sử dụng nút nhấn, người sử dụng có thể để hở các jumper 3 này. Sơ đồ kết nối của nút nhấn và jumper cấu hình Kết nối bộ thí nghiệm với cổng COM của máy tính. Trên máy tính, khởi động chương trình HyperTerminal bằng cách nhấn Start > All Programs > Accessories > Communications > HyperTerminal và cài đặt chương trình với các thông số như sau: 8-bit dữ liệu, 1 stop bit, không có parity, không có bắt tay, tốc độ 19200bps. Chương trình này sẽ giúp người sử dụng giao tiếp với EME-MC8 thông qua phần mềm monitor EME-MON51 (1) đã được tích hợp sẵn. Cấp nguồn cho bộ thí nghiệm. Bắt đầu tiến trình thí nghiệm. HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 8/59 HƯỚNG DẪN NHANH ĐỂ SỬ DỤNG EME-MON51 VIẾT CHƯƠNG TRÌNH VỚI ASM51.EXE Các hệ thống vi xử lý hoặc vi điều khiển đều cần có một phần mềm (chương trình) để điều khiển hoạt động của nó. Chương trình này được giữ trong bộ nhớ chương trình (program memory) của MCU. Ở cấp thấp nhất, chương trình trong hệ thống là các bit nhị phân thường được gọi là mã máy. Tuy nhiên, người lập trình rất khó để thao tác với các bit nhị phân. Trong thực tế, các chương trình sẽ được viết trên máy tính bằng hợp ngữ (assembly) hoặc các ngôn ngữ cấp cao khác như C/C++, Basic,… Các chương trình này sẽ cần phải qua bước biên dịch, liên kết để chuyển sang dạng mã máy phù hợp với loại MCU đang dùng. Công cụ để thực hiện các bước này được gọi là chương trình dịch hợp ngữ (assembler), chương trình biên dịch (compiler), và chương trình liên kết (linker). Mỗi loại MCU thường có một chương trình dịch hợp ngữ của riêng nó. Đối với EME-MC8, người lập trình có thể sử dụng chương trình biên dịch ASM51.EXE được cung cấp kèm theo bộ thí nghiệm, hoặc có thể tìm kiếm trên mạng rất nhiều các chương trình khác. Hoặc người lập trình có thể tham khảo trang web www.keil.com để có thể tải và sử dụng thử chương trình biên dịch cấp cao với ngôn ngữ C/C++ rất thông dụng. Ngoài ra cũng có thể dùng chương trình biên dịch miễn phí SDCC (tại http://sdcc.sourceforge.net/). Đây cũng là một bộ công cụ rất hữu ích cho người lập trình. Phần hướng dẫn này chỉ tập trung vào chương trình dịch hợp ngữ ASM51.EXE. Giả sử chương trình được viết có tên test.asm. Điều đầu tiên cần lưu ý là chương trình người sử dụng phải nằm trong vùng địa chỉ từ 2000h đến 3FFFh. Chính vì vậy, người sử dụng phải dùng dẫn xuất ORG tại đầu chương trình. ORG 2000h ; phần thân chương trình. END Hoặc sử dụng mẫu sau cho chương trình ; + + ; | This file is a source code template to use with EME-MC8 | ; | Should use ASM51.EXE to compile and link | HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 9/59 ; | or use Keil compiler with some modifies | ; + + ; + + ; Constant declares ; use EQU directive to define constants ; + + ; + + ; User DATA memory is internal data memory ; use DS directive to define variables ; + + DSEG AT 30H ; + + ; User PROGRAM memory at 2000h ; + + CSEG AT 2000h jmp start ; + + ; Interrupt Vector table ; Write from here ; + + ; + + ; Main program ; + + start: ; + + ; Other defines ; + + end Để biên dịch chương trình với ASM51.EXE, người lập trình cần sử dụng câu lệnh sau trong cửa sổ DOS: C:\Vidu\> asm51 test.asm –l Trong đó test.asm là tên của chương trình cần biên dịch, và giả sử chương trình ASM51.EXE chứa trong thư mục C:\Vidu\. Phần mở rộng –l được dùng để yêu cầu trình biên dịch tạo ra file .lst. Đây là file giúp cho việc gỡ rối chương trình được dễ dàng hơn. HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com 10/59 Kết quả biên dịch thành công sẽ được hiển thị trên màn hình với thông báo không có lỗi trong biên dịch (NO ERRORS FOUND), và người lập trình có thể dùng file test.hex để ghi chương trình vào bộ nhớ chương trình. SỬ DỤNG NHANH EME-MON51 Trong thực tế, với file kết quả biên dịch .hex, người lập trình cần sử dụng các bộ lập trình (programmer) để có thể ghi chương trình này vào bộ nhớ chương trình của hệ thống. Bộ nhớ chương trình thường được tích hợp sẵn trong MCU hoặc nằm trong ROM của hệ thống. Một số bộ lập trình thông dụng có thể tìm được là LabTool của Advantech, hoặc SuperPro của Xeltek. Ngoài ra cũng có một số bộ lập trình đơn giản hơn, phù hợp với nhu cầu học tập của sinh viên. Tuy nhiên, để sử dụng với EME-MC8, người lập trình không cần có bộ lập trình độc lập vì các module BMCU đã được tích hợp sẵn chương trình monitor. Đây là một đoạn chương trình nhỏ đã được ghi sẵn vào hệ thống, cho phép người sử dụng dùng máy tính để giao tiếp với microB thông qua cổng COM. Người sử dụng có thể ra lệnh cho monitor ghi chương trình của mình vào bộ nhớ chương trình và sau đó thực thi nó. Bộ nhớ chương trình trong trường hợp này thường là một bộ nhớ có khả năng ghi đọc bình thường ví dụ như RAM. Monitor sẽ ghi chương trình của người lập trình vào trong RAM như dữ liệu, sau đó sẽ ra lệnh thực thi đoạn mã này như bộ nhớ chương trình. Kỹ thuật này được gọi là chồng phủ vùng nhớ (overlay), trong đó địa chỉ của bộ nhớ chương trình và bộ nhớ dữ liệu được thiết kế trùng nhau. Ngoài ra monitor còn có nhiều lệnh khác phục vụ trong việc gỡ rối chương trình. Để có thể sử dụng nhanh EME-MON51 trên EME-MC8 người sử dụng cần có chương trình HyperTerminal trên máy tính. Chương trình này thường được cài sẵn trong hệ điều hành Windows, truy xuất vào Start>All Programs>Accessories>Communications>HyperTerminal. Chương trình này cho phép kết nối với cổng COM của máy tính. Ở lần đầu tiên sử dụng cần cài đặt thông số cổng COM kết nối với EME-MC8 là 19200bps, 8 bit, 1 stop bit, không có bắt tay. [...]... trình THI T K PH N C NG Các nút nh n và led ơn có th ư c n i tr c ti p n các port I/O trên vi i u khi n Trên EME-MC8 có 32 nút nh n và 32 led ơn ư c n i tr c ti p n 4 port c a 8051 T t c các nút nh n và led u có th ư c truy xu t thông qua ch I/O port ho t ng ch LƯU Ý: trong các bài thí nghi m, vì EME-MC8 ư c thi t k 3 bus, trong ó Port0, Port2 và 2 bit P3.6, P3.7 c a Port3 ã ư c s d ng t o nên bus d li... http://deeb.dientuvn.com 13/59 HƯ NG D N THÍ NGHI M SETB P1.1 ; led t i P1.1 t t MOV C, P1.0 ; c tr ng thái nút nh n t i P1.0 THÍ NGHI M 1 M c tiêu N m ư c cách th c i u khi n tr c ti p ngo i vi thông qua các port I/O c a 8051 Yêu c u Vi t chương trình th c hi n vi c c liên t c tr ng thái c a nút nh n ư c n i P1.0 và hi n th ra led ư c n i t i chân P1.1 (bit th 1 c a led thanh BL202) n Hư ng d n Trong thí nghi m này, vì... tr này MOV C, P1.0 ; c nút nh n MOV P1.1, C ; xu t ra led Ki m tra Biên d ch và th c thi chương trình Th gi i thích t i sao có ki m tra k t qu th c hi n n 2 led cùng b tác T ng k t xem các bit nào c a 4 port có th thích t i sao ng khi nh n ho c th nút ư c dùng trong thí nghi m trên và gi i THÍ NGHI M 2 M c tiêu N m ư c cách th c t o tr dùng vòng l p l nh Yêu c u Vi t chương trình t o xung vuông 1Hz... ng c a chương trình i u khi n http://deeb.dientuvn.com 14/59 HƯ NG D N THÍ NGHI M Có nhi u cách có th vi t ư c chương trình con t o tr Ph n thí nghi m này giúp ngư i l p trình n m ư c cách th c t o tr dùng các câu l nh t o thành vòng l p M i vi i u khi n luôn s d ng m t tín hi u xung clock ng b các ho t ng trong h th ng (8051 trên EME-MC8 s d ng clock v i t n s 11.059MHz) M t câu l nh ư c th c thi s... gian m c cao và th p tương ng là 30% và 70%, t c là duty cycle là 30% THÍ NGHI M 3 M c tiêu N m ư c cách th c t o tr s d ng Timer Yêu c u Vi t chương trình t o xung vuông 1Hz dùng Timer0 http://deeb.dientuvn.com 15/59 HƯ NG D N THÍ NGHI M Hư ng d n Trong thí nghi m 2, vòng l p l nh ư c dùng tiêu hao th i gian c a vi i u khi n Trong thí nghi m này, ngư i l p trình s dùng Timer Timer (b nh thì) thư ng... NG D N THÍ NGHI M chương trình con write_char có nhi m v ghi 1 byte d li u hi n th trình con write_command có nhi m v ghi 1 byte l nh n LCD n LCD, chương Ki m tra Biên d ch và ki m tra ho t ng c a chương trình http://deeb.dientuvn.com 30/59 HƯ NG D N THÍ NGHI M THÍ NGHI M GIAO TI P QUA C NG N I TI P LÝ THUY T CƠ B N Truy n thông n i ti p là m t ph n r t quan tr ng trong các h th ng x lý iv i 8051, vi... chương trình monitor Trong th c t , c ng n i ti p c a 8051 có th giao ti p v i c ng RS-232 trên máy tính thông qua m t vi m ch chuy n i t TTL sang RS-232 như MAX232 Vi c truy n thông tin ch c n 3 dây TXD, RXD, và GND n u không dùng b t tay b ng ph n c ng THI T K PH N C NG http://deeb.dientuvn.com 31/59 HƯ NG D N THÍ NGHI M Trên EME-MC8, c ng n i ti p c a 8051 ư c n i n c ng DB9 trên m ch thông qua vi m... k n m trong A Ho c THÍ NGHI M 1 M c tiêu N m ư c cách th c i u khi n c ng n i ti p Yêu c u Vi t chương trình phát chu i ký t HyperTerminal v i t c 9600pbs “Hello, world” lên máy tính thông qua Hư ng d n Ki m tra http://deeb.dientuvn.com 33/59 HƯ NG D N THÍ NGHI M Biên d ch và ki m tra ho t ng c a chương trình THÍ NGHI M 2 Yêu c u Vi t chương trình nh n các ký t t máy tính g i n EME-MC8 thông qua HyperTerminal... truy n xu ng (c th là 2000h) và gõ Enter th c thi chương trình thoát kh i chương trình ngư i s d ng và quay tr l i chương trình monitor, nh n ESC http://deeb.dientuvn.com 11/59 HƯ NG D N THÍ NGHI M CÁC BÀI THÍ NGHI M THÍ NGHI M V I NÚT NH N VÀ LED ƠN LÝ THUY T CƠ B N Trong th c t , led ơn và nút nh n là hai phương pháp giao ti p ngư i s d ng ơn gi n và cũng r t hi u qu Ngư i s d ng có th dùng nút nh... gi a nh ng chuy n ti p tín hi u) Thí d : N u tín hi u thay i c sau 3.33 ms thì t c baud là 1/3.33ms = 300 bd (hay baud) Chú ý là t c này t ng quát thì khác v i t c nh nghĩa theo bps (bits/giây) Các t c baud thông d ng là 300, 600, 1200, 2400, 4800, 9600, và 19200 baud (hi n nay các s này còn cao hơn n a, thư ng gi i h n v i truy n b t ng b là 100000 baud) B thí nghi m EME-MC8 ã s d ng c ng n i ti p này . HƯỚNG DẪN THÍ NGHIỆM 8051 VỚI EME-MC8 Website: http://deeb.dientuvn.com www2.hcmut.edu.vn/~vkchau; Email: contact@dientuvn.com HƯỚNG DẪN THÍ NGHIỆM http://deeb.dientuvn.com. BẢN VỀ EME-MC8 TỔ CHỨC TÀI LIỆU HƯỚNG DẪN EME-MC8 là bộ thí nghiệm được thiết kế dựa trên họ vi điều khiển MCS-51. Tài liệu hướng dẫn thí nghiệm này giúp người sử dụng tiếp cận với các. phú nội dung thí nghiệm. Chú ý: người học cần xem trước nội dung thí nghiệm và chuẩn bị sẵn chương trình tại nhà để có thể tận dụng tốt thời gian thí nghiệm. HƯỚNG DẪN THÍ NGHIỆM

Ngày đăng: 18/05/2015, 18:30

Từ khóa liên quan

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

Tài liệu liên quan