PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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
Prev Previous Post   Next Post Next
Old 15-01-2008, 07:06 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Đươ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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:20 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam