Mạch Khóa Số Điện Tử Mạch Đếm Sản Phẩm Mạch Đèn giao thông Ngã Tư Mạch Trái Tim Final Mạch Trái Tim Final Mạch Trái Tim I Love U

May 6, 2014

Hướng dẫn viết code lập trình trong Protues

Khi các các bạn học tập và nghiên cứu điện tử thì các bạn có thể lựa chọn cho mình 1 phần mềm thiết kế mạch điện tử trong vô vàn các phần mềm thiết kế mạch điện tử .

 Nếu như sự lựa chọn của các bạn là Proteus và với mục đích là thiết kế cho các mạch vi điều khiển.
Thì phần bài viết này của tôi hy vọng sẽ giúp ích phần nào cho các bạn mới bắt đầu bước vào làm quen với Proteus.
Đó là việc viết code lập trình cho 1 con vi xử lý trên Proteus
Thông thường để viết một code lập trình, ta phải có một trình soạn thảo và một trình biên dịch, Các phần mềm lập trình thường đã có sẵn 2 chức năng này rồi.
Trình soạn thảo để viết mã nguồn
Trình biên dịch để tạo ra file chạy phù hợp với môi trường cần sử dụng file chạy.
Proteus tích hợp sẵn 2 chức năng trên và các bạn có thể viết code ASM và thực hiện biên dịch ngay tại Proteus.
Tôi lựa chọn phần mềm proteus 7.5 SP3. Bản này tôi cảm thấy dùng khá là tốt.
Các bạn nên sử dụng bản này.
Để thực hiện viết code chúng ta chọn  source trên thanh menu – sau đó bấm chọn 
Add/ Remove Source file 

Cửa sổ mới hiện ra như hình minh họa dưới đây

Các bạn phải nhớ là trong cửa sổ giao diện chúng ta phải chọn sẵn chíp rồi nhé, thì lúc này trong mục Target Proccess mới hiện ra tên chip chúng ta cần lập trình cho nó. Ở đây tôi ví dụ là con 89c51.
Bên phải tại mục chọn Code Generation Tool, bạn chọn  ASEM51. 
Sau đó các bạn bấm vào new
Đánh tên file vào có thể thêm đuôi ASM hoặc không cần , 
Code C có lẽ là không sử dụng ở đây được, vì Proteus ko hỗ trợ các thư viện cho C.


Sau đó bấm ok
Các bạn tiếp tục ấn tiếp vào source sẽ thấy file asm của chúng ta hiện ra, bấm vào file đó 

1 cửa sổ notepad hiện ra và các bạn bắt đầu viết code.

Giả sử tôi viết đoạn code đơn giản như trên chẳng hạn
Sau đó ta save rồi tắt cửa sổ code
Lại ấn vào source chọn Build 

Nếu cửa sổ hiện ra có dạng như sau :


Các bạn sẽ thấy việc buil là thành công, số line là 49 line, ko có error, file output bao gồm cả file liệt kê test.LST.

Còn nếu cửa sổ hiện ra có dạng sau :

Tức là code của bạn đã có lỗi và nó nằm ở line số 4, tại command set p1.0. 
Chúng ta thấy ngay command này sai vì phải là setb chứ ko phải set.
Chúng ta có thể sửa lại code dễ dàng và thực hiện build lại 
Khi đã buil xong file hex của bạn được tạo ra và nó sẽ nằm ngày cùng với nới lưu file nguồn của bạn.


Lúc này bạn tiến hành nạp cho chip trên mạch mổ phỏng.
Ấn chuột phải vào chip chọn Edit properties.
Hoặc ấn chuột trái vào chip chọn Ctr +E.

Ta có cửa sổ như sau :

Bạn chọn tần số thạch anh là 12 Mhz
Kích chọn vào biểu tưởng folder màu vàng tìm đường dẫn trỏ đến file hex.
Rồi ấn ok
Vậy là bạn đã  nạp được file hex vào chíp thành công và có thể tiên hành test thử mạch thiết kế của bạn

Những điểm lưu ý :
-  Mỗi lần sửa code bạn phải build lại nhưng ko cần trỏ lại file hex vì nó tự nhận
-  Khi bạn gói toàn bộ sản phẩm sang một folder mới rồi bật lên xem, bạn thấy nó báo lỗi ko chạy được- đừng lo lắng, hay nạp lại file hex cho chíp như ở trên.
-  File hex này hoàn toàn có thể sử dụng được cho việc nạp vào chíp thật ngoài đời thông qua một mạch nạp chíp và phần mềm nạp chíp
-  File hex code asm thường có dung lượng nhẹ, nên ko sợ code dài.

Nguồn hoiquandientu.com

0 comments:

Post a Comment

Bạn đọc hãy giúp chúng tôi xây dựng cộng đồng bằng cách để lại bình luận, chúng tôi luôn đón nhận mọi ý kiến của các bạn:
» Bình luận nghiêm túc và không chứa các liên kết quảng cáo.
» Vui lòng không Spam nhận xét với mọi hình thức.
» Rất mong bạn đề tên cho nhận xét của chính mình - Bằng cách chọn vào Tên/URL và điền tên bạn vào (Phần URL có thể bỏ trống ).

- Bạn có thể chèn Link nhạc (NCT), video(Youtube),Hình ảnh vào comment bằng cú pháp:
+ [youtube] Link video Youtube [/youtube].
+ [img] Link ảnh( định dạng PNG, JPG,GIF) [/img]
+Chèn link liên kết: <a href="LINK" rel="nofollow">Name</a>
-Bạn copy mã bên cạnh biểu tượng chèn vào nhận xét để bày tỏ cảm xúc!!

:) :( :)) :(( =)) =D> :D :P