|
Tài trợ cho PIC Vietnam |
MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ... |
|
Ðiều Chỉnh | Xếp Bài |
15-01-2008, 07:06 PM | #4 |
Trưởng lão PIC bang
|
Đương nhiên là bạn phải tính toán để có giá trị 10-bit mới rồi mới ghi vào các bit và thanh ghi tương ứng. Tất nhiên viết bằng hợp ngữ thì sẽ khó khăn hơn so với viết bằng các ngôn ngữ cấp cao như C, Pascal hay Basic.
Với mục đích học tập, bạn có thể chấp nhận một công thức gần đúng: 2^10 gần bằng 1000. Như vậy 100% duty tương ứng với 1000, có nghĩa là 1% tương ứng với 10. Do đó, mỗi khi thay đổi duty cycle (tính bằng %), bạn chỉ cần nhân nó với 10 để có giá trị 10-bit cần thiết. Trong hợp ngữ, nhân với 10 cũng khá đơn giản, chính là lấy số đó nhân 8 (dịch trái 3 bit) cộng với số đó nhân 2 (dịch trái 1 bit). Chỉ cần chú ý vấn đề tràn số khi dịch trái 3 bit (vì số của bạn chỉ <= 100 nên dịch trái 1 bit sẽ không bao giờ bị tràn). Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
|