|
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 |
13-08-2011, 12:41 AM | #1 |
Đệ tử 2 túi
Tham gia ngày: Jun 2011
Bài gửi: 37
: |
Help....lệnh bsf trong MPLAB
Ví dụ em có 1 đoạn code như thế này
#include p16f877a.inc __config _hs_osc & _wdt_off & _lvp_off count equ 0x20 org 0x00 goto main main banksel trisb clrf trisb banksel portb clrf portb movlw d'2' movwf count bsf portb,count goto $ end Mục đích của em là set bit RB2 lên mức 1 nhưng khi mô phỏng chương trình lại set bit RB0 lên mức 1. Anh chị nào giải thích giúp em với được ko ạ..???? Thanks a lot |
17-08-2011, 09:59 AM | #2 |
Đệ tử 5 túi
Tham gia ngày: Dec 2010
Bài gửi: 101
: |
mà bạn viết không sai mà hơi dài bsf portb,2 là dc rồi,
|
17-08-2011, 10:42 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: May 2009
Bài gửi: 2
: |
Bạn viết sai rồi, mình chưa biết về PIC nhưng theo mình hiểu thì chỉ thị BSF mà bạn sử dụng trên với argument là thanh ghi count thì sẽ không còn đúng. BSF chỉ chấp nhận argument là bit (từ 0 đến 7) chứ không phải là byte (thanh ghi count).
Khi tham số không nằm trong phạm vi cho phép, BSF tự động sử dụng bit 0 nên kết quả của bạn là RB0 lên mức 1. Vì vậy bạn có thể sử dụng: BSF PORTB, 2 (hoặc: BSF PORTB, RB0) Chắc bạn đang tìm cách BSF PORTB với bit không định trước? |
20-11-2011, 11:26 PM | #4 |
Đệ tử 3 túi
Tham gia ngày: Nov 2011
Bài gửi: 58
: |
bsf portb,count lệnh này lạ quá chắc trong thanh ghi portb không có cái bít nào tên "count" nên nó không hiểu
ví dụ là dùng tên bít: bsf status,z thì chắc nó hiểu vì trong thanh ghi status có bit tên z |
23-04-2012, 03:04 AM | #5 |
Nhập môn đệ tử
Tham gia ngày: Nov 2011
Bài gửi: 3
: |
bác itanium7000 nói đúng đấy, theo tôi lúc nắp mạch thật chắc chẳng có led nào sáng cả
vì đoạn code trên bạn đã biến count thành 1 điện chỉ của 1 thanh ghi |
09-09-2012, 10:51 AM | #6 |
Đệ tử 2 túi
Tham gia ngày: Sep 2010
Bài gửi: 41
: |
muon the phải
count equ 2 cái đã asem không như C đâu bạn |
|
|