| Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) | |
|
Tác giả | Thông điệp |
---|
langtutaihoa Biết đi
Tổng số bài gửi : 43 Điểm số : 258 Thanked : 6
| Tiêu đề: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Mon Jan 10, 2011 3:32 pm | |
| Đề 1 Câu 2: Đã sửa lại #include<18f452.h> #use delay(clock=20M) void main(){ while(1) { output_high(pin_B0); delay_ms(100); output_low(pin_B0); delay_ms(250); }} Câu 4: #include<18f452.h> #use delay(clock=20M) void main(){ // set_tris_C(0);//khong co cung duoc //set_tris_D(0);// while(1) { int8 i,x=0x01, y=0x01;// de 2 thay x=0x10 và y=0x10 for (i=0;i<=3;i++) {output_D(x); delay_ms(100); x=x<<1;} output_D(0);// khong dong nay la thieu for (i=0;i<=3;i++) {output_C(y); delay_ms(100); y=y<<1;} output_C(0);// } } |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444 Điểm số : 2308 Thanked : 16 Đến từ : Hải Dương
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Mon Jan 10, 2011 5:06 pm | |
| đúng rồi đấy câu 4 các bạn có thể làm theo cách - Code:
-
#include <18f452.h> #use delay(clock=20M) int8 i,mang[]={0x01,0x02,0x04,0x08,0x00}; void main() { set_tris_D(0x00);set_tris_C(0x00); while(1) { for(i=0;i<=4;i++) { output_D(mang[i]);delay_ms(100); } for(i=0;i<=4;i++) { output_C(mang[i]);delay_ms(100); } } }
hoặc là - Code:
-
#include <18f452.h> #use delay(clock=20M) int8 i,mang[]={0x01,0x02,0x04,0x08}; void main() { set_tris_D(0x00);set_tris_C(0x00); while(1) { for(i=0;i<=3;i++) { output_D(mang[i]);delay_ms(100); } output_D(0x00);//khong có là chết, nhiều người ko có quá for(i=0;i<=3;i++) { output_C(mang[i]);delay_ms(100); } output_C(0x00); } }
mình thấy có bạn làm theo cách sau: - Code:
-
#include <18f452.h> #use delay(clock=20M) int8 i,mang[]={0x01,0x02,0x04,0x08,0x00}; void main() { //set_tris_D(0x00);set_tris_C(0x00); while(1) { for(i=0;i<=7;i++) { if(i<=3) { output_D(mang[i]);delay_ms(100); } else { output_C(mang[i-4]);delay_ms(100); } } } }
cách này theo phân tích thì đúng nhưng cho vào chạy chương trình thì sai vì thiếu cho dù sửa lại thì cũng sai, mình chưa biết sửa, nếu cho thêm phần tử 0x00 vào trong mảng và cho vòng for chay đến 8 thì cũng sai , mình đã thử cho chay đến 8 và mang[i-5] vẫn ko được, nói chung là làm như thế là sai |
|
| |
langtutaihoa Biết đi
Tổng số bài gửi : 43 Điểm số : 258 Thanked : 6
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Mon Jan 10, 2011 5:35 pm | |
| Cách 1 của Thăng chạy gián đoạn vì có phần tử mang[4]=0x00, nên bỏ đi và cho vòng lặp For chạy từ 0->3 và cho output_D(0x00); và output_D(0x00); ngoài vòng For như cách 2 của bạn |
|
| |
langtutaihoa Biết đi
Tổng số bài gửi : 43 Điểm số : 258 Thanked : 6
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Mon Jan 10, 2011 5:48 pm | |
| Cách này thiếu - Code:
-
#include <18f452.h> #use delay(clock=20M) int8 i,mang[]={0x01,0x02,0x04,0x08,0x00}; void main() { //set_tris_D(0x00);set_tris_C(0x00); while(1) { for(i=0;i<=7;i++) { if(i<=3) { output_D(mang[i]);delay_ms(100); } else { output_C(mang[i-4]);delay_ms(100); } } } } Thêm dòng 'output_C(0); và output_D(0);' như này là ok - Code:
-
#include <18f452.h> #use delay(clock=20M) int8 i,mang[]={0x01,0x02,0x04,0x08,0x00}; void main() { //set_tris_D(0x00);set_tris_C(0x00); while(1) { for(i=0;i<=7;i++) { if(i<=3) { output_C(0);output_D(mang[i]);delay_ms(100); } else { output_D(0);output_C(mang[i-4]);delay_ms(100); } } } } |
|
| |
quyenk43kdt Oe oe oe
Tổng số bài gửi : 15 Điểm số : 85 Thanked : 0 Đến từ : BG
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Mon Jan 10, 2011 7:01 pm | |
| ôi sai hết rồi đúng đc bài 2 ,hjc hjc |
|
| |
thienthach_pro9x Biết đi
Tổng số bài gửi : 37 Điểm số : 186 Thanked : 1
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Tue Jan 11, 2011 4:27 am | |
| - vudinhthang1989 đã viết:
- đúng rồi đấy
câu 4 các bạn có thể làm theo cách - Code:
-
#include <18f452.h> #use delay(clock=20M) int8 i,mang[]={0x01,0x02,0x04,0x08,0x00}; void main() { set_tris_D(0x00);set_tris_C(0x00); while(1) { for(i=0;i<=4;i++) { output_D(mang[i]);delay_ms(100); } for(i=0;i<=4;i++) { output_C(mang[i]);delay_ms(100); } } }
hoặc là - Code:
-
#include <18f452.h> #use delay(clock=20M) int8 i,mang[]={0x01,0x02,0x04,0x08}; void main() { set_tris_D(0x00);set_tris_C(0x00); while(1) { for(i=0;i<=3;i++) { output_D(mang[i]);delay_ms(100); } output_D(0x00);//khong có là chết, nhiều người ko có quá for(i=0;i<=3;i++) { output_C(mang[i]);delay_ms(100); } output_C(0x00); } }
mình thấy có bạn làm theo cách sau: - Code:
-
#include <18f452.h> #use delay(clock=20M) int8 i,mang[]={0x01,0x02,0x04,0x08,0x00}; void main() { //set_tris_D(0x00);set_tris_C(0x00); while(1) { for(i=0;i<=7;i++) { if(i<=3) { output_D(mang[i]);delay_ms(100); } else { output_C(mang[i-4]);delay_ms(100); } } } }
cách này theo phân tích thì đúng nhưng cho vào chạy chương trình thì sai vì thiếu cho dù sửa lại thì cũng sai, mình chưa biết sửa, nếu cho thêm phần tử 0x00 vào trong mảng và cho vòng for chay đến 8 thì cũng sai , mình đã thử cho chay đến 8 và mang[i-5] vẫn ko được, nói chung là làm như thế là sai các bác làm rắc rối thế nhỉ : như thế này là đủ nè: - Code:
-
#include<18f452.h> #use delay(clock=20M) int16 x; void main() { while(1)// { for(x=0;x<4;x++) { output_c((1<<x));delay_ms(100); } output_c(0); for(x=0;x<4;x++) {output_d(1<<x);delay_ms(100);} output_d(0); }
}
|
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444 Điểm số : 2308 Thanked : 16 Đến từ : Hải Dương
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Tue Jan 11, 2011 9:11 am | |
| đúng là thế tồi đấy, có nhiều cách mà, dịch bít thì ai chẳng biết. nhưng bác thiên thạch pro viết chương trình quá tốn bộ nhớ. dùng có 4 bit trên mỗi chân, chỉ khai báo một biến là 8 bit là được rồi bác ý khai báo những 16 bit cho một biến. khi ấy vùng nhớ sẽ phân như nào đây? - thienthach_pro9x đã viết:
các bác làm rắc rối thế nhỉ : như thế này là đủ nè: - Code:
-
#include<18f452.h> #use delay(clock=20M) int16 x; void main() { while(1)// { for(x=0;x<4;x++) { output_c((1<<x));delay_ms(100); } output_c(0); for(x=0;x<4;x++) {output_d(1<<x);delay_ms(100);} output_d(0); }
}
chỉ cần thế này thôi nhé - Code:
-
int8 x; |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444 Điểm số : 2308 Thanked : 16 Đến từ : Hải Dương
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Tue Jan 11, 2011 9:14 am | |
| hình như bác @ thienthach_pro9x nghĩ rằng dùng với 2 chân thì khai báo với các biến là 16 bit thì phải? hihi |
|
| |
thienthach_pro9x Biết đi
Tổng số bài gửi : 37 Điểm số : 186 Thanked : 1
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Wed Jan 12, 2011 4:09 pm | |
| - vudinhthang1989 đã viết:
- hình như bác @ thienthach_pro9x nghĩ rằng dùng với 2 chân thì khai báo với các biến là 16 bit thì phải? hihi
bác bị hâm à! e sưa luôn tư cái bài khác ồi cop lên luôn nên đê nguyên cái biến chứ! pó tay! bác nghĩ e lại còn không hiêu cái chỗ đó à! hjx! ai lại nhầm kiêu dữ liệu nữa chứ không ngờ bác lại nghĩ như vậy |
|
| |
thienthach_pro9x Biết đi
Tổng số bài gửi : 37 Điểm số : 186 Thanked : 1
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Wed Jan 12, 2011 4:15 pm | |
| - vudinhthang1989 đã viết:
- đúng là thế tồi đấy, có nhiều cách mà, dịch bít thì ai chẳng biết.
nhưng bác thiên thạch pro viết chương trình quá tốn bộ nhớ. dùng có 4 bit trên mỗi chân, chỉ khai báo một biến là 8 bit là được rồi bác ý khai báo những 16 bit cho một biến. khi ấy vùng nhớ sẽ phân như nào đây?
- thienthach_pro9x đã viết:
các bác làm rắc rối thế nhỉ : như thế này là đủ nè: - Code:
-
#include<18f452.h> #use delay(clock=20M) int16 x; void main() { while(1)// { for(x=0;x<4;x++) { output_c((1<<x));delay_ms(100); } output_c(0); for(x=0;x<4;x++) {output_d(1<<x);delay_ms(100);} output_d(0); }
}
chỉ cần thế này thôi nhé - Code:
-
int8 x; cop từ bái khác cần dùng số lớn nên phai dùng kieu du lieu là int16,, sưa ui cop len luôn, không de y cái cho do chu bai nay không can dùng đến biến 16bit |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444 Điểm số : 2308 Thanked : 16 Đến từ : Hải Dương
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Wed Jan 12, 2011 4:19 pm | |
| hihi ùh |
|
| |
chem_cac_sieu_nhan Biết đi
Tổng số bài gửi : 29 Điểm số : 129 Thanked : 0
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Thu Jan 13, 2011 12:48 pm | |
| Các bác siêu nhân vãi...Viết có chục dòng lệnh với 2 cái biến cũng kêu tốn bộ nhớ với lại này nọ..thế khai cái mảng thế kia mới là tiết kiệm nhỉ...Bác thăng có vẻ khủng về xoay bít nhỉ..Động vào cái là lại xoay..Ghê gớm |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444 Điểm số : 2308 Thanked : 16 Đến từ : Hải Dương
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Thu Jan 13, 2011 1:19 pm | |
| dạ vâng , trước tiên em xin cảm ơn bác đã góp ý, em biết là dùng mảng tốn bộ nhớ rồi nhưng cũng chỉ đóng góp các cách làm thôi. bác linh xoăn mở miệng ra là cắn xằng. góp bài thì không góp, chỉ sợ nguời khác ...... mình . ghét nhất là những thẳng như thế |
|
| |
chem_cac_sieu_nhan Biết đi
Tổng số bài gửi : 29 Điểm số : 129 Thanked : 0
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Sun Jan 16, 2011 4:38 pm | |
| - vudinhthang1989 đã viết:
- dạ vâng , trước tiên em xin cảm ơn bác đã góp ý, em biết là dùng mảng tốn bộ nhớ rồi nhưng cũng chỉ đóng góp các cách làm thôi.
bác linh xoăn mở miệng ra là cắn xằng. góp bài thì không góp, chỉ sợ nguời khác ...... mình . ghét nhất là những thẳng như thế Người lịch sự là phải có những câu nói thế này ah |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444 Điểm số : 2308 Thanked : 16 Đến từ : Hải Dương
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Sun Jan 16, 2011 5:19 pm | |
| người ta có câu nói là : đi với bụt mặc áo cà sa, đi với ma mặc áo giấy đi với bác Linh Xoăn thì em phải dùng những từ như thế, không thì bác đấy lại bảo là lịch sự quá |
|
| |
Pig_07 Biết đi
Tổng số bài gửi : 42 Điểm số : 198 Thanked : 4
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Mon Jan 17, 2011 3:29 am | |
| Người đời có câu: "Dù ai nói ngả nói nghiêng, lòng ta vẫn vững như kiềng 3 chân"Thế nhưng lại cũng có câu: "Gió chiều nào xoay ( che ) chiều ấy"Các bro thật là siêu nhân, mình đây kém cỏi, làm sai hết cả nên chẳng dám bàn |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444 Điểm số : 2308 Thanked : 16 Đến từ : Hải Dương
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Mon Jan 17, 2011 10:39 am | |
| đôi khi thì chúng ta phải vững như kiền ba chân. nhưng đôi khi cần có sự mềm dẻo, thiên biến vạn hóa |
|
| |
Pig_07 Biết đi
Tổng số bài gửi : 42 Điểm số : 198 Thanked : 4
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) Tue Jan 18, 2011 4:01 pm | |
| Nghe thật là thần thánh, mềnh là mềnh chả dám đú |
|
| |
Sponsored content
| Tiêu đề: Re: Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) | |
| |
|
| |
| Thảo Luận Đề Thi Môn HT Nhúng hôm nay( 10/1/2011) | |
|