Tác giả | Thông điệp |
---|
chem_cac_sieu_nhan Biết đi
Tổng số bài gửi : 29
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Thu Jan 06, 2011 3:59 pm | |
| - vudinhthang1989 đã viết:
- tại mình mới chỉ dùng AT98c51 chứ chưa dùng pic bao giờ, chắc là ra tết mình làm đến đề tài khóa số với sản phẩm thực tế thì phải dùng đến PIC nhưng mình nghĩ nếu làm theo nguyên tắc : cái nào là đầu vào, nhận tín hiệu = 1 và cái nào đầu ra, xuất tín hiệu =0 thì hay hơn
cách viết thì là thói quen và sở thích của từng người thôi Đây không phải là thói quen : con 89c51 xuất tín hiệu mức 1 với dòng khoảng 5mA=>không sáng nổi LED mức 0 thì khảng 15mA (P1=>P3) riêng P0 thì được 25mA Con 89 cũng chẳng có chỗ nào để quy định vào ra cả , vào chẳng qua mình xét trạng thái chân thay đổi hay không PIC ra mức 1 hay mức 0 đều đc khoảng 25mA => Trong datashit có PIC thì khác có thanh ghi TRIS_X đấy...Set_tris_x(); |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Thu Jan 06, 2011 4:23 pm | |
| |
|
| |
Pig_07 Biết đi
Tổng số bài gửi : 42
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Thu Jan 06, 2011 9:21 pm | |
| - vudinhthang1989 đã viết:
- thế là song rồi nhé
chắc là có nhiều người thích file hơn là làm, vì thế những người không thích làm có thể vào đây để download phần tớ làm về, trong đó có một số ví dụ đơn giản cho mọi người tham khảo, chúng ta cũng có thể chỉ cần protell mà không cần CCS những vẫn thấy chương trình chay nhưng mà nhớ nạp file *.hex* vào đó nhé
download về đi rồi học cho tốt chúc anh em thi tốt, và hị vọng thi vào những phần này Protell chạy thế nào đc cái chỗ kia chỉ tớ với. Tớ chỉ biết dùng Proteus thôi |
|
| |
Pig_07 Biết đi
Tổng số bài gửi : 42
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Thu Jan 06, 2011 9:34 pm | |
| - thienthach_pro9x đã viết:
e toàn portx= thôi trisx= nữa chứ set_tris thì hơi dài def_877a.h |
|
| |
Pig_07 Biết đi
Tổng số bài gửi : 42
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Thu Jan 06, 2011 9:36 pm | |
| - chem_cac_sieu_nhan đã viết:
Đây không phải là thói quen : con 89c51 xuất tín hiệu mức 1 với dòng khoảng 5mA=>không sáng nổi LED mức 0 thì khảng 15mA (P1=>P3) riêng P0 thì được 25mA
Sáng được nhưng mà sáng yếu |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Thu Jan 06, 2011 10:36 pm | |
| thôi đi ông tướng, cái protell là em viết nhầm bắt lỗi với vẩn, tôi bảo ông vào để viết chương trình nào mới chứ ko bảo ông vào làm cái việc này |
|
| |
thienthach_pro9x Biết đi
Tổng số bài gửi : 37
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Fri Jan 07, 2011 7:11 am | |
| hjxhjx! protell là gói phần mềm chuyên dụng để thiết kế mạch điện tử, hiện nay phiên bản mới nhất thuộc gói pm này là Altium designer với version mới nhất theo mình bit hiện nay là : 9.0.0.17654 |
|
| |
vudinhthang1989 Biết lái máy bay
Tổng số bài gửi : 444
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Fri Jan 07, 2011 7:16 am | |
| cái đó toi biết, đã nói đây là một sự nhầm lẫn rồi mà quan trọng là bạn hoàng hiểu được ý của tớ, va linh cũng biết nên có bài đã tô đậm chữ lên rồi đấy |
|
| |
Pig_07 Biết đi
Tổng số bài gửi : 42
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Sat Jan 08, 2011 2:10 am | |
| - vudinhthang1989 đã viết:
- cái đó toi biết, đã nói đây là một sự nhầm lẫn rồi mà
quan trọng là bạn hoàng hiểu được ý của tớ, va linh cũng biết nên có bài đã tô đậm chữ lên rồi đấy Vấn đề ở đây là forum ko chỉ có 2 hay 3 người. Và chắc là ko phải ai cũng hiểu đó chỉ là viết nhầm. Cần chính xác 1 chút |
|
| |
bolabubi1 Biết lái máy bay
Tổng số bài gửi : 371 Điểm số : 1832 Thanked : 5 Đến từ : Từ đâu còn lâu mới nói ^^!
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Sat Jan 08, 2011 11:12 am | |
| Trông pic này cũng có tranh luuận ah?Vui ghê Híc híc! |
|
| |
trungtuan1989 Biết đi
Tổng số bài gửi : 35 Điểm số : 162 Thanked : 1 Đến từ : que huong vai thieu
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Sat Jan 08, 2011 9:34 pm | |
| toi xem lai thay bai cau viet co vong for đâm ra thừa, ban than white (1) da la lap vo han roi thi cần đéo j phai cần vong for lam j cho met,cho no quay tít mù đến cháy chíp di
Được sửa bởi trungtuan1989 ngày Sat Jan 08, 2011 9:48 pm; sửa lần 1. |
|
| |
trungtuan1989 Biết đi
Tổng số bài gửi : 35 Điểm số : 162 Thanked : 1 Đến từ : que huong vai thieu
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Sat Jan 08, 2011 9:44 pm | |
| ví dụ: x=0x03 => 00000011 a=1 -> suy ra một lần quay thì x=00000110; a=3-> suy ra một lần quay thì x=00011000; tương tự như vậy thì trong pic C với 18f453 thì các bạn cũng làm như thế nhé cấu trúc: rotate_left(&x,a) , rotate_right(&x,a)
Nham roi! a o day ko phai la bit ma ong giai thich nhu the! noi vay bon no cuoi cho chet. xem lai help file di! a o day la byte, ong cho a= 3 thi x=oo roi thi lam sao ma sang ma quay nua.chi mot lan quay la tắt ngúm! hề hề! |
|
| |
quyenk43kdt Oe oe oe
Tổng số bài gửi : 15 Điểm số : 85 Thanked : 0 Đến từ : BG
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Sun Jan 09, 2011 12:03 am | |
| ai bít gì nhúng chỉ cho mình với nhỉ |
|
| |
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: anh em tham khảo bài tập nhúng Sun Jan 09, 2011 1:36 am | |
| - trungtuan1989 đã viết:
- ví dụ: x=0x03 => 00000011
a=1 -> suy ra một lần quay thì x=00000110; a=3-> suy ra một lần quay thì x=00011000; tương tự như vậy thì trong pic C với 18f453 thì các bạn cũng làm như thế nhé cấu trúc: rotate_left(&x,a) , rotate_right(&x,a)
Nham roi! a o day ko phai la bit ma ong giai thich nhu the! noi vay bon no cuoi cho chet. xem lai help file di! a o day la byte, ong cho a= 3 thi x=oo roi thi lam sao ma sang ma quay nua.chi mot lan quay la tắt ngúm! hề hề! ăn nói linh tinhlần sau có nói thì trích rõ từng bài ra nhé không có chủ vị gì cảđúng là không có vòng for đã nào mà thay a=3 nó chạy một lần tắt là phải đúng là nếu như các bạn cho a=1 ở trong vòng rotate thì chẳng cần for làm gì cho thừa, và while 1 thì nó luôn quay nhưng nếu a # 1 thì nó lại khác đấy while 1 và for có tác dụng khác khi đi cùng nhau với bài này mà bạn tuấn đã mắc phải - trungtuan1989 đã viết:
- toi xem lai thay bai cau viet co vong for đâm ra thừa, ban than white (1) da la lap vo han roi thi cần đéo j phai cần vong for lam j cho met,cho no quay tít mù đến cháy chíp di
nếu để nguyên while thì nó không thay đổi một chút nào, bạn xem lại đi nhé, đừng chủ quan. thử thay bằng 100d xem sao. mình sẽ tìm hiểu thêm về cách cho nhẩy mấy bit, hiện tại thì chưa thấy, vừa rồi thử thay 1 bằng 100d mà vẫn không thay đổi, mình sẽ giải thích cái này sau mình cũng chưa kiểm tra, tại vì trước kia viết quen với 8051 thì là thế, bây giờ với PIC thì lại khác, nên thế thôi, trước kia với 8051 nó thế, không ngờ bây giờ lại khác. xin lỗi mọi người nhé đã hướng dẫn sai chút về nhảy bit trong lệnh quay và cũng chưa đọc sách viết về cái này thì có thể sai là chuyện đương nhiê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: anh em tham khảo bài tập nhúng Sun Jan 09, 2011 4:07 am | |
| các bác ơi suốt từ lúc 1h36 sáng đến bây giờ là 3h37 phút em mới tìm hiểu được tại sao lại như thế, hihi cuối cùng thì em đã hiểu một phần của cấu trúc rotate_right (address, bytes) và rotate_left (address, bytes) hihi thích quá!!!! nhưng em chỉ hiểu được một phần thôi hihi address là địa chỉ con trỏ trong vùng nhớ, byte là số byte thao tác
quan trọng nhất là byte thao tác kia ban đầy mình chẳng hiểu tại sao nó lại như thế, bây giờ mới biết trước kia mình cho các giá trị to đùng, ví dụ như 100 là sai hết bản chất, nếu mà là 100 thì có khi chẳng bao giờ đếm được ý chứ nhưng có một điều là không hiểu tại sao mà khi viết với vòng lặp vô hạn while(1) kết hợp với vòng for he he thì nó lại có thể chạy đúng viết giá trị bao nhiêu cũng chạy đúng , chẳng hiểu có pro nào biết được tại sao nó đúng thì bảo em với. cái quan trong ở đây là chúng ta đang thao tác với biến 8 bit, vì thế mà khi bạn Trung Tuấn làm không có vòng lặp for thì nó sẽ không thao tác được. khi mà bạn cho giá trị a=1 vào trong rotate_right (&address,a) thì có nghĩa là nó đang thao tác với 8 bit. nếu a=2 thì nó đang thao tác với 16 bit. tương tự với khi a=4 thì nó đang thao tác với 32. khi nào các bác dùng hết chân của PIC18f452 mà gặp vấn đề liên quan đến rotate_right(address, bytes) thì liên hệ với em trong mail : vudinhthang1989@gmail.comhiện tại chỉ học bình thường thì chẳng cần dùng đến nó làm gì, các bác cũng chú ý nhé, khi các bác không dùng đến 16 bit, hay là 32 bit thì thôi, cứ dùng kiểu truyền thống là rotate_right (&address,1) thôi nhé, đừng đổi con số 1 đi làm gì nhé. he he chúc các bác thành công. àh các bác dùng rotate rất hay ý, không tốn dung lượng nhớ nhiều đâu.hihi em bắt đầu thấy kết cái quay rồi đấy - Code:
-
#include <18F452.h> #use delay(clock=20M) int8 x=0xc0; void main() { set_tris_D(0x00); while(1) { output_D(x);delay_ms(50); rotate_right(&x,1);//quay tròn từ trái qua phải } }
thanks for all
àh quên mất: trong đây có một số chương trình em không viết trên CCS mà viết trực tiếp vào luôn, cũng chưa kiểm tra , mong các bác kiểm tra giúp em nhé một phần do tự tin với những gì em làm nên không thử lại hihi tại em cũng quen nhẩm với các vòng for rồi ý 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: anh em tham khảo bài tập nhúng Sun Jan 09, 2011 4:30 am | |
| phân tích lại nhé - Code:
-
#use delay(clock=20M) int8 x=0xc0; void main() { set_tris_D(0x00); while(1) { output_D(x);delay_ms(50); rotate_right(&x,1);//quay tròn từ trái qua phải } } đây giống như 8 cái bóng đèn ở chân D từ D7->D0 của PIC bóng ◙ ◙ ◙ ◙ ◙ ◙ ◙ ◙ chúng ta làm cho bóng sáng lần lượt 2 cái một đuổi nhau từ D7D6-> chiều: ----->>>>> trong vòng while đầu tiên D7->D0=x=11000000 rồi trễ đi để hiển thị thông qua delay tiếp đến rotate đối với address chính là x -> x=01100000 thông qua rotate_right(&x,1) cứ như vậy do có lệnh while(1) mà chương trình được nặp đi nặp lại, làm cho x được quay vòng quanh giới hạn 8 bit mô tả : 1. ◙ ◙ o o o o o o 2. o ◙ ◙ o o o o o 3. o o ◙ ◙ o o o o 4. o o o ◙ ◙ o o o 5. o o o o ◙ ◙ o o 6. o o o o o ◙ ◙ o 7. o o o o o o ◙ ◙ 8. ◙ o o o o o o ◙ 9. ◙ ◙ o o o o o o cứ như vậy sau các vòng lặp vô hạn while PORT D của pic luôn luôn thay đổi và sáng thứ tự 2 bóng một theo cách quay tròn. nếu các bạn làm với biến x=0x80 thì sẽ được đề bài là : viết chương trình điều khiển 8 LED nối với chân D sáng thứ tự từng bóng một hihi |
|
| |
trungtuan1989 Biết đi
Tổng số bài gửi : 35 Điểm số : 162 Thanked : 1 Đến từ : que huong vai thieu
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Sun Jan 09, 2011 8:59 am | |
| |
|
| |
chem_cac_sieu_nhan Biết đi
Tổng số bài gửi : 29 Điểm số : 129 Thanked : 0
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Sun Jan 09, 2011 7:37 pm | |
| |
|
| |
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: anh em tham khảo bài tập nhúng Sun Jan 09, 2011 8:44 pm | |
| - Trích dẫn :
- toi xem lai thay bai cau viet co vong for đâm ra thừa, ban than white (1) da la lap vo han roi thi cần đéo j phai cần vong for lam j cho met,cho no quay tít mù đến cháy chíp di
hihi tớ thấy như thế vẫn là bình thường ý, tớ còn phát hiện ra nó chạy đến mức cháy bốc khói hết cơ hihi |
|
| |
quyenk43kdt Oe oe oe
Tổng số bài gửi : 15 Điểm số : 85 Thanked : 0 Đến từ : BG
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Mon Jan 10, 2011 12:15 am | |
| cảm ơn Thăng và các bạn nhé!có topic này mà bit thêm về Nhúng hy vọng sẽ có nhìu topic như thế này về các môn học khác để mọi người cùng thảo luận |
|
| |
trungtuan1989 Biết đi
Tổng số bài gửi : 35 Điểm số : 162 Thanked : 1 Đến từ : que huong vai thieu
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Mon Jan 10, 2011 8:58 am | |
| các cậu cứ chê! ngại chết. |
|
| |
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: anh em tham khảo bài tập nhúng Mon Jan 10, 2011 9:16 am | |
| - quyenk43kdt đã viết:
- cảm ơn các bạn nhé!có topic này mà bit thêm về Nhúng
hy vọng sẽ có nhìu topic như thế này về các môn học khác để mọi người cùng thảo luận khong có gì đâu, àh tớ xin đính chính lại nhé cái mà tớ viết trên đây chưa hẳn là nhúng đâu, nó chỉ giải quyết được trước mắt môn nhúng thôi, kỳ sau có đồ án môn này thì tớ sẽ post thêm những vấn đề thuộc về nhúng. hi vọng các bạn ủng hộ và cũng lên đây cùng post những bài hay. THÂ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: anh em tham khảo bài tập nhúng Mon Jan 10, 2011 10:09 am | |
| vừa rồi có bạn hỏi mình nếu thi vào phần hiển thị LED 7 đoạn thì sao? nếu các bạn có thi vào thì tham khảo nhé: cũng dùng với chân D của pic16f452 , LED7 đoạn dùng với catot chung - Code:
-
#include <18F452.h> #use delay(clock=20M) int8 i,mang[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void main() { set_tris_D(0x00); while(1) { for(i=0;i<=9;i++) { output_D(mang[i]);delay_ms(100); } } }
hiển thị từ 0->9
các bạn mắc như sơ đồ này nhé |
|
| |
thienthach_pro9x Biết đi
Tổng số bài gửi : 37 Điểm số : 186 Thanked : 1
| Tiêu đề: Re: anh em tham khảo bài tập nhúng Mon Jan 10, 2011 10:47 am | |
| - trungtuan1989 đã viết:
- toi xem lai thay bai cau viet co vong for đâm ra thừa, ban than white (1) da la lap vo han roi thi cần đéo j phai cần vong for lam j cho met,cho no quay tít mù đến cháy chíp di
các bác tính ép xung cho mấy con vdk này hả ! mà lo cháy chíp! hjx! pó tay các bác! mấy vòng for mà lo chíp cháy! đúng là khám phá mới của khoa học! |
|
| |
Sponsored content
| Tiêu đề: Re: anh em tham khảo bài tập nhúng | |
| |
|
| |
| anh em tham khảo bài tập nhúng | |
|