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!
thay đổi nội dung bởi: rocket42, 20-12-2011 lúc 05:42 PM.
|