View Single Post
Old 20-12-2011, 05:30 PM   #2
rocket42
Đệ tử 4 túi
 
rocket42's Avatar
 
Tham gia ngày: Jun 2010
Nơi Cư Ngụ: Tọa Thiên
Bài gửi: 72
:
Send a message via Yahoo to rocket42
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!
__________________
Web: http://elinux.vn
Email: elinuxvn@gmail.com

thay đổi nội dung bởi: rocket42, 20-12-2011 lúc 05:42 PM.
rocket42 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn