|
Tài trợ cho PIC Vietnam |
Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua |
|
Ðiều Chỉnh | Xếp Bài |
|
24-06-2008, 10:51 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Mar 2008
Bài gửi: 3
: |
Các chế độ định địa chỉ cho vi điều khiển PIC
Mình mới tìm hiểu về PIC nên chưa hiểu lắm về các chế độ định địa chỉ cho PIC. Các bạn có thể giải thích cho mình hiểu về các chế độ định địa chỉ cho PIC được không. Bao gồm cả chế độ truy xuất bộ nhớ dữ liệu và bộ nhớ chương trình. Mình xin chân thành cảm ơn.
|
24-06-2008, 11:18 AM | #2 |
Đệ tử 4 túi
Tham gia ngày: Aug 2006
Bài gửi: 81
: |
Đọc kỹ cấu trúc bộ nhớ trong datasheet là công việc đầu tiên khi tìm hiểu một loại VDK !
|
25-06-2008, 12:33 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: Mar 2008
Bài gửi: 3
: |
Mình đọc rồi nó có chế độ định địa chỉ trực tiếp, gián tiếp, tức thì đ/v bộ nhớ dữ liệu, còn đ/v bộ nhớ chương trình có 2 chế độ định địa chỉ là trực tiếp và gián tiếp nhưng mình ko hiểu lắm về cơ chế nó làm như thế nào, mong các bạn giải thích cụ thể và lấy ví dụ cho mình dễ hiểu
|
25-06-2008, 02:05 AM | #4 | ||
Super Moderator
Tham gia ngày: Feb 2006
Bài gửi: 150
: |
Trích:
Trích:
2 bit này chia toàn bộ vùng nhớ ra làm 4 bank tương ứng với giá trị của nó. Vậy có nghĩa là với 7 bit địa chỉ kia, nếu giả sử có giá trị là 0x0D, [Xem hình nhé] với 2 bit RP1:RP01 = 00 thì bạn đang truy xuất đến thanh ghi PIR2, còn RP1:RP0 = 01, thì bạn đang truy xuất đến PIE2, còn RP1:RP0 = 10 thì bạn đang truy xuất đến EEADR, tương tự "11" thì truy xuất đến EECON2. Bạn yên tâm là cho dù RP1:RP0 có bằng bao nhiêu đi nữa thì việc truy xuất đến các thanh ghi STATUS, PCL, FSR, PCLATH, INTCON đều được cả, nhìn hình là rõ ngay thôi. Còn về truy xuất địa chỉ gián tiếp thì dùng thanh ghi FSR thì bạn quan tâm đến bit IRP của thanh ghi STATUS, nếu là 0 thì 8 bit của FSR trỏ đến 256 byte của 2 bank đầu là bank 0 và bank1, nếu IRP là 1 thì FSR trỏ đến 256 byte của 2 bank sau. [Xem hình nhé] |
||
25-06-2008, 09:18 PM | #5 |
Nhập môn đệ tử
Tham gia ngày: Mar 2008
Bài gửi: 3
: |
Thanks bạn, mong các bạn sẽ tiếp tục đóng góp ý kiển để làm rõ vấn đề hơn nữa
|
21-08-2010, 01:04 AM | #6 |
Nhập môn đệ tử
Tham gia ngày: Dec 2008
Bài gửi: 3
: |
Xin chào
Còn nếu bộ nhớ chương trình ở page1, page2, page3 thì chúng ta không thể sử dụng địa chỉ trực tiếp được mà phải sử dụng địa chỉ gián tiếp. Vậy thì đối với việc định địa chỉ gián tiếp như vậy thì ta làm cách nào để chuyển dử liệu thì thanh ghi này sang thanh ghi kia. Ví dụ như chuyển nội dung thanh ghi A sang thanh ghi B đối với chế độ định địa chỉ trực tiếp thì MOVF A , W MOVWF B Còn đối với chế độ gián tiếp thì: MOVLW ĐỊA CHỈA MOVWF FSR MOVF INDF , W Vì phải dùng thanh ghi W làm trung gian để trỏ địa chỉ cho FSR thì chúng ta không thể nào thực hiện thao tác này được. bạn nào biết xin chỉ dùm. cám ơn |
|
|