Ðăng Nhập

View Full Version : Hỏi về việc sử dụng mảng - pic6f877a


now_nev
25-04-2009, 06:08 PM
Mình đang viết chương trình nhận một mảng các dữ liệu từ pc vào vđk qua rs232.
nếu khai báo trong cblock:

cblock 0x20
array: 16
endc

thì khi mún truy cập phần tử thứ i phải dùng kiểu: array+i
có cách nào để truy cập phần tử thứ i mà i đc lưu trong một thanh ghi ko?
hic, các bạn giúp mình với!!
thx :D

namqn
25-04-2009, 11:26 PM
Mình đang viết chương trình nhận một mảng các dữ liệu từ pc vào vđk qua rs232.
nếu khai báo trong cblock:

cblock 0x20
array: 16
endc

thì khi mún truy cập phần tử thứ i phải dùng kiểu: array+i
có cách nào để truy cập phần tử thứ i mà i đc lưu trong một thanh ghi ko?
hic, các bạn giúp mình với!!
thx :D
Bạn đọc mục 2.5 - Indirect Addressing trong datasheet của PIC16F877A để biết cách thực hiện điều trên. Nói vắn tắt, bạn khởi tạo thanh ghi FSR bằng địa chỉ của array, sau đó dùng thanh ghi INDF để truy xuất dữ liệu do thanh ghi FSR trỏ đến. Để truy xuất phần tử thứ i của array, bạn sẽ thay đổi giá trị thanh ghi FSR để nó trỏ đến phần tử đó.

Thân,