PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   MPASM (http://www.picvietnam.com/forum/forumdisplay.php?f=34)
-   -   Hỏi về việc sử dụng mảng - pic6f877a (http://www.picvietnam.com/forum/showthread.php?t=4004)

now_nev 25-04-2009 06:08 PM

Hỏi về việc sử dụng mảng - pic6f877a
 
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

Trích:

Nguyên văn bởi now_nev (Post 25236)
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,


Múi giờ GMT. Hiện tại là 10:16 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam