View Single Post
Old 17-03-2006, 10:41 AM   #30
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
Cái Timer nhh làm tới đâu rồi. . Có gì trục trặc không.

Các ngôn ngữ lập trình cho PIC, theo mình không nên tìm hiểu nhiều ngôn ngữ quá, nhiều khi còn lộn từ ngôn ngữ này sang ngôn ngữ khác nữa. Cái này kiếm hiệp gọi là "tẩu hỏa nhập ma".

Mới tìm hiểu thì nên chọn ngôn ngữ ASM. Ngôn ngữ này tuy hơi khó viết nhưng nó giúp ta hiểu được sâu hơn bản chất cũng như cấu tạo của con PIC. Sau đó, khi đã vững phần căn bản, nếu thích có thể chuyển qua C. Đây là 2 ngôn ngữ thông dụng nhất cho PIC, càn các ngôn ngữ khác, hẳn phải có một nhược điểm nào đó nên được ít người chọn để làm công cụ lập trình.

Các ngôn ngữ cấp cao thực chất đều được xây dựng dựa trên các lệnh cơ bản của con PIC thôi. Trong quá trình sinh code của các ngôn ngữ cấp cao, như C, trước khi chuyển sang mã HEX còn có thêm một giai đoạn là chuyển sang mã Assembly của PIC. Như vậy có thể tạm hiểu là các hàm của ngôn ngữ cấp cao cho PIC được xây dựng dựa trên tập lệnh cơ bản của PIC. Các hàm này có thể giúp ta dễ viết và mang tính tổng quát cao, giống như các module chương trình được xây dựng sẵn. nhưng có nhược điểm là không linh động. Điều này một phần giải thích tại sao file biên dịch của ngôn ngữ cấp cao lớn hơn so với việc viết trực tiếp bằng ASM.

Tính tổng quát và thiếu linh động cũng sẽ gây trở ngại cho quá trình tối ưu, đồng thời khả năng kiểm soát quá trình thực thi của vi điều khiển không cao. Nếu viết bằng ASM, ta có thể kiểm soát được từng "cử chỉ" của PIC và thời gian thực thi của nó, như vậy ta có thể đáp ứng được các yêu cầu về tối ưu nhu anh Nam đã đề cập. Tuy nhiên điều đó đòi hỏi khả năng kiểm soát của người lập trình cũng cao hơn, có nghĩa là ta phải hiểu được từng ngóc ngách của con vi điều khiển PIC.

Nếu có khả năng xây dựng các module chương trình dựa trên tập lệnh của PIC (ví dụ như các module về xử lí thuật toán, các module về các khối chức năng trong PIC), ta hoàn toàn có thể xây dựng được một ngôn ngữ lập trình cho riêng mình. . Có thể vào trong luồng MPASM để tìn hiểu cách xây dựng một hàm bằng ngôn ngữ ASM của mod Mạnh.

Đây chỉ là một vài nhận xét mang tính chủ quan, mọi người góp ý thêm nhé. Anh Nam coi lại coi em hiểu như vậy có đúng không. Mong anh góp ý thêm. .
__________________

ntc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn