1.Chuẩn bị phần mềm KeilC cho 8051:
Các bạn download và cài đặt theo hướng dẫn để tiến hành bài thực hành phía dưới nhé.
2. Thực hành tạo project:
Bước 1: Chạy phần mềm, chọn Project->New uVision Project…
Bước 2: Hộp thoại hiển thị, các bạn tùy chọn vị trí lưu project và tên project của mình, click Save.
Bước 3: Cửa sổ “Select Device for …” xuất hiện, phần Data base các bạn chọn Atmel->AT89C52
Bước 4: Hộp thoại hiển thị tiếp theo, click No.
Sau đó ta có giao diện project như sau:
Bước 5: Để tạo một file mới cho chương trình chúng ta chọn vào biểu tượng “New” (như hình) hoặc bấm tổ hợp phím Ctrl+N
Bước 6: Sau đó bấm Save hoặc Ctrl+S
Bước 7: Lưu tên file, với các file chương trình các bạn lưu dưới dạng file .c và các file header các bạn lưu dưới dạng file .h . Sau đó bấm Save.
Kết quả như hình:
Nhưng file này chưa được add vào project của chúng ta, add file các bạn làm tiếp như sau:
Bước 8: Click chuột phải vào Source Group 1, chọn Add Files to Group ‘Source Group 1’…
Bước 9: Cửa số hiển thị, các bạn click vào file main.c vừa tạo, click Add và tắt cửa sổ.
File main.c đã được add vào project như sau:
Bước 10: Bước này thiết lập cho project xuất ra file .hex sau khi build. Click vào biểu tượng Target Options…
Trong tab Output, tick vào Create HEX File. Sau đó bấm OK.
Bước 11: Viết 1 đoạn code cơ bản.
Bước 12: Build project bằng cách bấm vào biểu tượng ( vòng tròn đỏ như hình) hoặc bấm phím F7. Sau đó xem kết quả.
Sau khi build, chúng ta sẽ thấy file .hex trong thư mục chứa project, file này sẽ được nạp vào chip thông qua chương trình Proteus.
Bài 2:: Hướng dẫn tạo project với phần mềm Proteus 8.1 SP1 và nạp code mô phỏng .
1.Đầu tiên các bạn chuẩn bị phần mềm Proteus 8.1 SP1:
Các bạn download và cài đặt phần mềm Proteus 8.1 hoặc bản cao hơn để mở mô phỏng mạch điện nhé
2.Thực hành tạo project:
Bước 1: Chạy phần mềm Proteus, chọn File -> New Project (hoặc bấm Ctrl+N)
Bước 2: Đổi tên Project và thay đường dẫn chứa project theo ý các bạn. Click Next.
Bước 3: “Create a schematic …”, chọn “DEFAULT”, click Next.
Bước 4: Chọn “Do not create a PCB layout.” Sau đó các bạn bấm Next.
Bước 5: Chọn “No Firmware Project”. Click Next.
Bước 6: Click Finish.
Vậy chúng ta đã tạo xong project trong Proteus. Bước tiếp theo các bạn vẽ mạch nguyên lý và chạy mô phỏng code cho họ 8051.
Bước 7: Các bạn click vào biểu tượng chữ P màu đỏ như hình dưới để lấy các linh kiện vẽ mạch.
Bước 8: Trong bài này demo cho họ 8051, ở đây là chip 89c52. Phần “Keywords” các bạn điền “89c52”, chọn linh kiện trong ô “Results”, sau đó bấm OK.
Để lấy nhiều thiết bị thì không cần bấm OK (vì ô cửa sổ sẽ mất đi), bạn chỉ việc nhân Enter sau khi chọn xong một thiết bị là được. Chọn tiếp 6 devices sau:
- Nút nhấn: BUTTON
- Thạch anh: CRYSTAL
- Tụ gốm: CAP
- Tụ hóa 10u/50v: HITEMP10U50V
- Điện trở 1/4W: RES
- Led đơn xanh lá 5mm: LED-GREEN
Sau khi các bạn chọn xong kết quả như sau:
Bước 9: Sau khi đã lấy đủ linh kiện, các bạn chọn vào linh kiện mình muốn vẽ. Click vào biểu tượng “Component Mode” (thứ 2 từ trên xuống) bên thanh công cụ trái sau đó chọn chip AT89C52 và đặt vào phân vùng kẻ xanh bên phải (dùng chuột trái).
Đừng quên Ctrl+Z nếu lỡ tay đặt nhiều thiết bị quá, hoặc có thể click chuột phải 2 lần vào thiết bị đó để xóa đi.
Để dễ dàng điều chỉnh khung hình , nhấn vào vòng cuộn trên con chuột và thử di chuyển.
Bước 10: Lặp lại bước 9 với các linh kiện còn lại như hình:
Chú ý: GND (Đất) và VCC (Nguồn) các bạn lấy ở “Terminals Mode” khoanh màu đỏ như hình dưới.
Các thao tác với mouse trong Proteus:
- Chọn linh kiện để vẽ:Chuột trái lên tên linh kiện trong cửa sổ “Object selector”.
- Đặt linh kiện:Chuột trái lên cửa sổ mạch điện Right click lên linh kiện trong cửa số mạch điện sẽ làm cho linh kiện đó được bao bởi màu “đỏ”, tức bạn đang chọn linh kiện đó.
- Bỏ chọn linh kiện:thực hiện bằng cách chuột phải lên một vị trí trống trên cửa sổ mạch điện.
- Delete linh kiện:Chuột phải 2 lần lên 1 linh kiện là delete linh kiện đó khỏi cửa sổ mạch điện, hoặc chuột phải 1 lần lên 1 linh kiện đã được chọn trước đó (có màu đỏ) cũng sẽ xóa linh kiện này.
- Di chuyển linh kiện:chọn linh kiện trước (chuột phải) và drag để di chuyển linh kiện bằng chuột trái.
- Zoom To – Zoom Nhỏ mạch:Sử dụng con lăn chuột giữa để zoom mạch.
- Xoay và lật linh kiện:chọn linh kiện cần xoay hay lật, dùng các nút công cụ để xoay hoặc lật linh kiện. Để tiết kiệm thời gian thì xoay lật linh kiện trước khi đặt nó vào trong bản mạch.
Bước 11: Nối dây, không cần công cụ, để nối dây bạn chỉ cần rê mouse đến điểm cần nối của linh kiện, bạn sẽ thấy xuất hiện 1 dấu chéo “x”, lúc đó hãy click chuột và di chuyển (không cần giữ chuột) đến vị trí tiếp theo và click lần nữa.
Như vậy là các bạn đã vẽ xong 1 mạch cơ bản sử dụng chip 89C52. Để mạch hoạt động được, các bạn điền các thông số cho các linh kiện bằng các bước sau:
Bước 12: Nháy đúp chuột trái vào tụ C1 như hình,Cửa sổ hiển thị các bạn
điền vào giá trị “33pF”
Với thạch anh các bạn nhập giá trị 12MHz.
Các bạn lặp lại bước trên để được các thông số như hình. Để tiết kiệm công sức, bạn có thể copy-paste linh kiện cho nhanh.
Vậy là chúng ta đã vẽ xong mạch nguyên lý bằng Proteus với đầy đủ các thông số của mạch.
Tiếp theo là phần CODE ->COMPILE CODE ->NẠP CODE
Để chạy mô phỏng, bạn dùng đoạn code sau cho file KeilC và buil ra file .HEX, sau đó nạp vào vi điều khiển bằng Proteus.
Code điều khiển led đơn.
#include <REGX52.H> void Fn_Delay(unsigned int vrui_Time); int main () { while(1){ P1 = 0x00; Fn_Delay(1000); P1 = 0xff; Fn_Delay(1000); } return 0; } void Fn_Delay(unsigned int vrui_Time){ while(vrui_Time --); }
Bước 13: Sau khi build các bạn được file .hex, add file .hex vào chip 89c52 trong proteus như sau: Nháy đúp chuột vào chip AT89C52 trong mạch, cửa sổ hiển thị, các bạn chọn đường dẫn tới file .hex, sau đó bấm OK.
Bước 14: Để chạy mô phỏng các bạn chọn Debug -> Run Simulation hoặc bấm phím F12
Bước 15: Để tắt mô phỏng các bạn bấm Debug -> Stop VSM Debugging. (Tab Message xuất hiện, các bạn tắt đi)