30-01-2011, 09:53 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 3
: |
Ghep bit
Xin chào mọi người!
e có 1 thắc mắc thế này mà e tìm khong ra. e có 8 biến 1 bit abcdefgh giờ em muốn ghép 8 biên 1 bit này thành 1 byte 8 bit thì e làm thế nào? Vd: a=1;b=0;c=0;d=1;e=0;f=1;g=1;h=0; Thì giờ e sẽ ghép thành : aa=abcdefh tức giờ aa=10010110 thì trong C em phải dùng câu lệnh như thế nào? E xin cảm ơn và chúc các huynh năm mới hạnh phúc! |
30-01-2011, 02:03 PM | #2 | |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 9
: |
Trích:
Code:
unsigned char i=0; i|=a;i<<1; i|=b;i<<1; i|=c;i<<1; i|=d;i<<1; i|=e;i<<1; i|=f;i<<1; i|=g;i<<1; i|=h; |
|
30-01-2011, 03:55 PM | #3 |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 3
: |
a ơi eddax thử làm rồi nhưng mà e có thay đổi các bit abcdefgh như thế nào thì nó điều xuất ra là 10000000 thôi .
a xem lại giúp e nha. |
31-01-2011, 02:44 PM | #4 |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 9
: |
|
31-01-2011, 03:46 PM | #5 |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 3
: |
code cua e đây a xem dùm e cái
a=0;b=1;c=0;d=1;e=1;f=0;g=1;h=0; unsigned char i=0; i|=a;i<<1; i|=b;i<<1; i|=c;i<<1; i|=d;i<<1; i|=e;i<<1; i|=f;i<<1; i|=g;i<<1; i|=h; PORTA=i; |
08-02-2011, 12:48 PM | #6 |
Nhập môn đệ tử
Tham gia ngày: Nov 2009
Bài gửi: 2
: |
unsigned char i;
i=i|(a)|(b<<1)|(c<<2)|(d<<3)|....... bạn thử xem như dzầy có được ko |
11-02-2011, 06:56 AM | #7 |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 9
: |
bạn viết cho trình biên dịch nào ? ko thấy hàm chính đâu cả ???? Mình cần cả 1 đoạn code hoàn chỉnh của bạn kìa . Trong chương trình của bạn có while(true) hay ko có cũng khác xa nhau nhiều huốn hồ là bạn ko post lên thì làm sao ai biết được.
|
12-02-2011, 10:06 AM | #8 | |
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
Trích:
Code:
#include <16F877A.h> #device *=16 adc=10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=4000000) int1 a=0,b=1,c=1,d=0,e=1,g=1; int1 n=1,m=0; int8 i=0x00; main() { set_tris_b(0x00); i=i|a;i<<=1; i=i|b;i<<=1; i=i|c;i<<=1; i=i|d;i<<=1; i=i|e;i<<=1; i=i|g;i<<=1; i=i|n;i<<=1; i=i|m; output_b(i); while(1) { } }
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. |
|
12-02-2011, 10:32 PM | #9 | |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 9
: |
Trích:
|
|
14-02-2011, 12:35 PM | #10 | |
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
Trích:
i<<1 đúng thì nó có cú pháp:i<<=1
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. |
|
|
|