PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   hỏi về kiểu tham chiếu (http://www.picvietnam.com/forum/showthread.php?t=12070)

nhanconan030789 11-12-2011 11:07 PM

hỏi về kiểu tham chiếu
 
Chào anh chị!
Em có vấn đề nhỏ thế này mong anh chị chỉ giáo.
Em muốn điều khiển 8 chân khác nhau ở các PORT khác nhau của của con PIC nhưng thông qua một biến khác.
ví dụ em cho biến a = 0b10101010;
thì các chân RA1 = 1;
RB2 = 0;
RA5 = 1;
RC6 = 0;
RD0 = 1;
RB0 = 0;
RA7 = 1;
RC2 = 0;
các chân này tự động tham chiếu đến biến a, vậy thì phải làm thế nào ạ!!
Mong các anh, chị giúp em, em xin cảm ơn!!!!

rocket42 20-12-2011 05:30 PM

bạn có thể làm như sau với trình dịch CCS:
#define a 0b101010101
...
void main()
{
...
RA1=bit_test (a, 7)
RB2=bit_test (a, 6)
RA5=bit_test (a, 5)
RC6=bit_test (a, 4)
RD0=bit_test (a, 3)
RB0=bit_test (a, 2)
RA7=bit_test (a, 1)
RC2=bit_test (a, 0)
....
}
cách này có vẻ ko hiệu quả khi bạn muốn thay đổi việc xuât giá trị ra cổng thay đổi theo thời gian. Ta xem cách 2:
int8 a=0b1010101010;
...
void main()
{
...
RA1=bit_test (a, 7)
RB2=bit_test (a, 6)
RA5=bit_test (a, 5)
RC6=bit_test (a, 4)
RD0=bit_test (a, 3)
RB0=bit_test (a, 2)
RA7=bit_test (a, 1)
RC2=bit_test (a, 0)
....
}
cách này thì hoàn toàn OK khi bạn điều chỉnh xuất giá trị bằng cách thay đổi biến a trong chuơng trình.
Trình dịch khác như MPLAB Cx, HTPIC thì gần giống như vậy.
chúc thành công!


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

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