M mới hoàn thành xong khối led cube 5x5x5 nên hôm nay m viết
bài này muốn chia sẻ với mọi người. Ai có nhu cầu làm thì m sẽ cố gắng hướng dẫn
nhiệt tình.
1) Giới thiệu.
- Led cube là 1 khối led hình lập
phương, noa là sự kết hợp của các con led đơn được sắp xếp lại tạo thành 1 khối
lập phương vững chắc và đẹp mắt. Hình dáng như sau:
- Kết hợp với những hiệu ứng như:
pháo hoa, giun bò, sóng nước, pittong, chạy chữ… ta sẽ được khối led 3D vô cùng
đẹp mắt.
2) Nguyên liệu.
- Khối led 3D bao gồm 2 phần: phần
khối led lập phương và phần điều khiển. Ở đây, m sử dụng chip 89S52 vì nó có
nhiều ưu điểm: chip 89S52 là chip vi điều khiển rất điển hình và khá dễ hiểu cấu
trúc và cách lập trình cho nó nên rất thích hợp cho những người mới làm quen với
vi điều khiển, đặc biệt giá thành của nó cũng khá rẻ. Các b có thể sử dụng
89C52 để thay thế cho 89S52, tuy nhiên, m khuyên là nên dùng 89S52 vì dòng chip
này có chức năng nạp “on board” nên rất tiện lợi khi nạp cho chip vì sẽ không cần
nhổ chip ra khỏi mạch.
Do đó, nguyên liệu để làm khối led
3D này như sau:
- - 1 chip 89S52.
- 125 con led đục ( màu tùy vào sở
thích của từng người).
- 30 con trở 470 Ohm.
- 5 con transistor A1013.
- Đế cắm cho chip 89S52 (dùng đế cho
an toàn và tiện dụng).
- 4 dây bus 8.
- 1 nút bấm cho mạch reset.
- Board đồng để làm mạch in.
- Mạch nạp cho 89S
- Và một số dụng cụ để làm mạch.
3) Cách làm.
- Bẻ chân led và hàn các led với
nhau theo kiểu Anot chung. Hàn từng tầng 1 mỗi tầng 25 con led tạo thành 25 cột. Khoảng cách giữa
các led bằng khoảng cách các chân led ở phần mạch in. Sau khi hàn xong 5 tầng
thì tiếp tục hàn ghép tầng lại ta sẽ được khối led lập phương.
- Dùng board đồng để làm mạch in:
file mạch in các b download ở link phía dưới, hoặc có thể tự đi dây theo ý
thích. Sau khi làm mạch in xong thì tiến hành hàn linh kiện và hàn khối led vào
mạch.
- Dùng mạch nạp để nạp hiệu ứng cho
chip 89S52. M đã sưu tầm và viết thêm được 1 số hiệu ứng rất đẹp các b tải ở
linh phía dưới.
- Cắm các dây bus để kết nối khối
led và khối điều khiển lại. Cấp nguồn vào và hưởng thụ thành quả mà m đã làm được.
4) Sơ đồ nguyên lý
a) Sơ đồ nguyên lý khối điều khiển
5) Sơ đồ mạch in
a) Sơ đồ mạch in
- Tải ở link dưới.
b) Hình ảnh 3D của mạch
a) Sơ đồ nguyên lý khối điều khiển
b) Sơ đồ nguyên lý khối Led
5) Sơ đồ mạch in
a) Sơ đồ mạch in
- Tải ở link dưới.
b) Hình ảnh 3D của mạch
Pass Unlock:
quangtung1123
Chúc các b thành công.
Chúc các b thành công.
Pass Unlock mediafire: quangtung1123
ReplyDeleteđẹp đẹp
ReplyDeleteanh oi hinh nhu trong mach co con dien tro bang nua~ ha? anh
Deleteanh có file .c không cho e xin với.
ReplyDeleteok, b gửi mail cho m m gửi cho: quangtung1123@gmail.com.
ReplyDeleteGL!
anh ơi mình thay tụ 22p bằng tụ 33p được ko anh
DeleteDùng tụ 33p cũng được nha.
Deletecho e xin cai file code di a..e lam mach roi ma chua co code
DeleteAnh ơi em không hiểu lắm. Theo em học thì kipshop1 thì
ReplyDeletecon R của mình chịu mất 5V vậy áp không đủ qua led sao sang. led 3V 10mA 20mA mà anh
Áp rơi trên led thì phụ thuộc vào từng loại led, tuy nhiên nó rơi vào khoảng 2V, dòng 10mA. Như vậy, áp rơi trên điện trở sẽ là :
ReplyDeleteUr=5V-Uled=5V-2V=3V
--> R=Ur/Iled=3V/10mA=300Ohm. Do đó ta chọn giá trị điện trở xấp xỉ là 470Ohm là hợp lý.(nên chọn giá trị điện trở lớn hơn giá trị tính được để đảm bảo an toàn cho led).
Thực tế có thể chọn R=1k nhưng mức độ sáng sẽ yếu hơn 1 chút. GL!
em dung R = 330 Ohm dc ko anh e nghj la hop li hon 470 Ohm ak
Deletecho mình hỏi chút xíu nha, mình dùng 89c52 có được k. ma nếu dung turbo hay phan mem gi do ltrinh c de viet roi bien dich ra co dùng dc cho 89c k nhỉ. hay chỉ dành cho pic, mình mới tìm hiểu cái này nên hơi gà
ReplyDeleteDùng 89C cũng được nhưng m dùng 89S thì khi nạp không cần phải nhổ chip ra mà dùng mạch nạp ISP để nạp nên nó tiện dụng hơn 89C thôi.
ReplyDeleteLập trình cho 89 thì dùng trình dịch KeliC hoặc Read51. M thì toàn dùng KeilC. GL!
Question from Tai Le:
ReplyDelete"vâng ạ. em còn gà C quá. em dọc cái code C của anh. em dịch lại file C của anh mà sao nó báo lỗi hoài ở dòng sbit d0 ..... vậy là sao hả anh. CT đấy chuẩn mà a dịch sang hex đc rồi sao em dịch lại lại k được anh nhỉ. a có thể giải thích cho em các vòng lặp với mấy cái chuẩn bij1. chuẩn bị 2... đấy là có chức năng gì k ạ? "
Answer:
M viết trên phần mềm KelC nên bạn cũng phải dùng KeilC để dịch ra file hex, còn nếu b dùng trình dịch khác thì phải viết lại code theo đúng cấu trúc của trình dịch đó. Nhưng chương trình của m làm gì có d0 nhỉ? Còn chuẩn bị 1, chuẩn bị 2 ở chỗ nào vậy b? Bạn trích chỗ đó ra m xem nào? GL!
}
ReplyDelete71 void chuanbi1 (void)
72 { d1=d2=d3=d4=d5=d6=d11=d16=d21=d22=d23=d24=d25=d20=d10=d15=1;
73 1 d7=d8=d9=1;d12=d14=1;d17=d18=d19=1;
74 1
75 1 c1=c2=c4=c5=0; c3=1;
76 1 d13=0;
77 1 }
78 void chuanbi2 (void)
79 { d1=d2=d3=d4=d5=d6=d11=d16=d21=d22=d23=d24=d25=d20=d10=d15=1;d13=1;
80 1 d7=d8=d9=0;d12=d14=0;d17=d18=d19=0;
81 1 c1=0;c2=c4=1;c5=0; c3=1;
82 1
83 1 }
84 void chuanbi3 (void)
85 {
86 1 d7=d8=d9=d12=d13=d14=d17=d18=d19=1;
87 1 d1=d2=d3=d4=d5=d6=d11=d16=d21=d22=d23=d24=d25=d20=d10=d15=0;
88 1 c1=1;c2=c4=1;c5=1; c3=1;
89 1
90 1 }
91
đây anh ơi
Chắc là b nhầm với code của ai đó, code này không phải code m gửi cho b. Tuy nhiên, nhìn code thì phần chuẩn bị này không có gì phải quan tâm b ah, nó cũng tương đương như 1 hiệu ứng chạy theo ý đồ của tác giả thôi. GL!
ReplyDeleteanh có thể cho em hình ảnh về mạch in đã làm xong ko vậy??? càng chi tiết càng tốt. em làm theo nhưng khi gắn linh kiện vô thì có 1 số chổ ko biết gắn như thế nào. thanks.
ReplyDeleteM đã cập nhật ở trên b nha! GL!
ReplyDeletevậy chắc em nhầm rồi. em mới xem lại file a up k có file C. a có thể gửi file đầy đủ hoặc chỉ file C cho em xin được k anh. Gmail của em là letantaiddt4@gmail.com. nếu được em cảm ơn anh nhiều !
ReplyDeletecho em xin file C dc không ạ;gmail e:phamhung1991ht@gmail.com cho em hỏi cái này có nhìu kiểu chạy không a?
ReplyDeleteCũng nhiều hiệu ứng b ah. B kiểm tra mail nhé. GL!
ReplyDeletea gửi wa mail cho e nhé .e làm cho kịp noen a à.hihi
ReplyDeleteSơ đồ mạch in và code đầy đủ m đã để ở link trên rồi mà.
ReplyDeleteanh tung ah!e cung dang muon thu lam mach led cube va dung ngon ngu C de viet .a co the gui cho e phan chuong trinh duoc chu ah,vi e chua hinh dung duoc cach viet ct cho led cube nhu the nao ca.a gui vao mail t.phuong919@gmail.com
ReplyDeletecho e voi nhe !e cam on a
Ok, b check mail nha!
ReplyDeletebài viết của anh hay quá
ReplyDeleteanh ơi, em mới học cái này, anh cho em xin file .c của cái này cái, em cũng giống như bạn ở trên, chưa hình dung đc lập trình món này thế nào cả, cảm ơn anh nhá
gmail của em là manhbkproc@gmail.com
thks a
Ok, check mail pls!
ReplyDeleteban oi minh moi hoc cho m phan mem viet chuong va phan mem thiet ke mach tren may tinh ko ca chuong trinh viet led nay voi nhe thank nhiu
ReplyDeletegmail cua minh la buiduybac89tb@gmail.com thank
ReplyDeleteanh oi cho em hoi tren mach dung 2 tro? bang ak?
ReplyDeletevoi ngay cho~ J31(em nghi~ ngay nay` la nguon ak ) voi J4 la gi` vay anh ? em hok hieu cho? do' . em hok phai dan chuyen nganh
tks anh mong anh giup em
có thể sử dụng nhiều loại led( màu) trên 1 led cube 5x5x5 không anh.
ReplyDelete@bac buiduy: m lập trình bằng phần mềm KeilC, thiết kế mạch bằng Orcad. Phần mềm dung lượng lớn nên m không upload lên được. B chịu khó tìm trên mạng nhé. Trên mạng cũng có nhiều mà. GL!
ReplyDelete@Nặc danh: mạch của m chỉ có 1 điện trở bảng là J5 (ở phía trên bên trái của chip 89S52, có 9 chân). Còn J20 ở phía giữa bên phải của chip (có 6 chân) là jac để m nạp chương trình cho 89S52.
@Sống Để Biết Đồng Tiền Có Thể Giết All: b có thể dùng nhiều loại led nhưng cần phải tính toán sseer sắp xếp màu cho hợp lý, không thì các màu sẽ xen lẫn lên nhau trông sẽ rối mắt. GL!
ban oi send minh xin code nao hay chut vs cach dau noi tu' cac post ra 25 chan do' vs. qua mail: tinhyeudonphuong_dt2000@yahoo.com
ReplyDeletethanks
cot1 = P1^0;
ReplyDeletecot2 = P1^1;
cot3 = P1^2;
cot4 = P1^3;
cot5 = P1^4;
cot6 = P1^5;
cot7 = P1^6;
cot8 = P1^7;
cot9 = P3^0;
cot10 = P3^1;
cot11 = P3^2;
cot12 = P3^3;
cot13 = P3^4;
cot14 = P3^5;
cot15 = P3^6;
cot16 = P3^7;
cot17 = P2^0;
cot18 = P2^1;
cot19 = P2^2;
cot20 = P2^3;
cot21 = P2^4;
cot22 = P2^5;
cot23 = P2^6;
cot24= P2^7;
cot25=P0^6;
hang1=P0^0;
hang2=P0^1;
hang3=P0^2;
hang4=P0^3;
hang5=P0^4;
Cột của led tính từ góc trên bên trái là cột 1. Rồi đếm tiếp sang phía phải. GL!
like
ReplyDeletemuk e l biet lap trinh the nao, a co the up cho e code vao nik cua? e dk. k
kieuvanthu94@gmail.com
tks a nhe
a ơi cho e hỏi cách hiển thị chữ với ạ.
Deletenhư hiển thị chữ A thì làm sao
và 0xff là tính thế nào ạ
bạn ơi cho mình xin file nguyên lý ocard hoặc proteus có cả file mạch in thì cảm onwbanj nhiều lắm check mail cho mình nhé connguoicodoc.in@gmail.com
ReplyDeleteup lun file .c lên dd đi chứ bạn. Tốt nhất là up full lên cho các mem nghiên cứu đi.Cái này bạn nào làm thì sẻ thấy rất thú vị đấy.
ReplyDeleteCode này m chắt lọc trên mạng và viết thêm 1 số hiệu ứng, do đó m ko muốn up luôn lên vì sợ vi phạm bản quyền của các tác giả trên mạng. Nếu b nào cần thì m sẽ gửi vào mail. Mong các b thông cảm.
ReplyDeleteAnh oi cho e xin code mach led cube nay voi.
DeleteEmail: duy2112@gmail.com
Cam on anh nhieu!
a ơi cho em xin code và mạch nguyên lí với ạ.
Deletegmail : nguyendangkhoa17061994@gmail.com
mong a giúp đỡ
cho em cai code nhaz anh, thanks anh nhju ak.
Deletebuggattisuperveyron@Gmail.com
Anh oi cho e xin code mach led cube nay voi.
ReplyDeleteEmail: kiucxua08i@gmail.com
Cam on anh nhieu!
cho em xin code voi nhe. thank bac nhieu
ReplyDeletemail bnktb86@gmail.com
a ơi gửi cho em bản HD full với nhớ khoak42@gmail.com
ReplyDeletebạn ơi cho mình xin code .C luôn với. Nếu có bản orcad của mạch thì cho mình xin luôn với. Mail của mình là: thesang9900@gmail.com
ReplyDeleteCảm ơn bạn nhiều
ban cho minh xin 1 ban duoc khong cam on ban truoc.minh dang tu hoc ma kho qua .cungdantinhyeuhttt@yahoo.com
ReplyDeletecho minh hoi nhe tai sao minh tim duoc 1 code tren mang .dung keic dich ra fie hex toan bao noi dung luong daì qua 8000h cac ban co the noi cho minh biet duoc không!
ReplyDeleteDo bản KelC của b crack chưa đúng. Lúc lấy key thì b phải chọn mục debug nha. GL!
Deletebạn ơi cho mình xin mạch in và code của machj này với. mail của mình là haudtd51dh2@gmail.com thank bạn nhé ^^!
ReplyDeletea oi e munlam nhung nhin hk hiu
ReplyDeletea co the lam clip huong dan dc hum a
mail cua e hieunghia1905@yahoo.com
Anh có thể gửi cho em xin Code của anh dc ko.
ReplyDeleteGmail: mungdoantvm@gmail.com
Anh cho em hỏi chút về nguyên lý hoạt động của led : vấn đề là khối led của e sau khi nạp chương trình ( keil C ) vào vđk thì khối led sáng cả khối luôn mà không nhấp nháy theo lập trình.sử dụng vđk AT89S52.
bạn gửi cho mình xin code c với mail mình là huuson5291@gmail.com
ReplyDeletebạn gửi cho mình xin code c với mail mình là truong1991.hua@gmail.com
ReplyDeleteCảm ơn bạn đã chia sẽ, sản phẩm này hay nhỉ^^. Tiếc là cậu ko post video khối cube 3d này biểu diễn. Mình search thử thấy có nhiều clip về led cube 3d này rất đẹp. Mình cũng muốn bắt đầu làm thử, mình ko phải chuyên ngành điên tử, vậy mình có thể làm đc ko, ý mình cần fai có kiến thức chuyên ngành ko^^ chứ mình sợ bỏ công nghiên cứu vô ích hì hì
ReplyDeleteDo điều kiện ko có máy quay nên m ko post video được, ko phải chuyên ngành điện tử thì b có thể liên hệ với những b học điện tử để nhờ họ giúp đỡ, như thế sẽ làm nhanh hơn. Ít nhất cũng học cách hàn mạch trước b nhé. Chúc b thành công.
Delete^^ mình sẽ cố gắng "nghiên cứu", mình đang học về bản đồ nhưng lúc còn là học sinh cũng thích về mạch điện tử lắm, cảm ơn bạn đã động viên **
Deletebạn làm thì cũng hay thật nhưng linh kiện bạn đưa ra ở trên thì làm k được đâu (thiếu thạch anh, tụ, trở than,...) nếu có thể bạn có thể up lại file bố trí linh kiện lại cho dễ nhìn một chút
ReplyDeletehttps://docs.google.com/file/d/0B4pTxxBinLMCZnV5STRVR216V2c/edit?usp=sharing
ReplyDeleteAnh ơi xem giúp em với, em mới học nên còn chỗ này em chua hiểu rõ.
những chỗ em khoanh tròn đó phải gắn linh kiện gì và chiều dương âm như thế nào ạ
Tính từ trái qua phải:
DeleteKhoanh tròn 1: (linh kiện 3 chân) là cái jăc nguồn DC, dùng để cắm cục sạc 5V cấp nguồn luôn, nếu b không thích thì ko cần lắp cái này cũng được mà thay vào đó là b lắp vào khoanh tròn thứ 2.
Khoanh tròn thứ 2: là cầu đấu để đấu nguồn 5V vào mạch. Chân 2 là âm, chân 1 là dương.
Khoanh tròn 3: nút bấm 4 chân, dùng để reset mạch.
GL!
a nói hình nào thế anh? sao e tìm mãi mà ko thấy. em cũng đang muốn hỏi về phần đó. khoanh tròn ?
DeleteA Tùng chỉ nhờ a chỉ e cách làm và lập trình qua zteyohio@gmail.com nhé .Thanks a nhiều
ReplyDeleteB không hiểu phần nào thì có thể hỏi trực tiếp ở đây. GL!
Deleteanh oi cho em hoi, em lam xong het rui chi co khac mot chut la tu gom 22p e chuyen sang dung tu gom 33p. vdk chua co code ko bit la led co sang dc ko ak`, rieng mach cua e thi duoc moi led nguon la sang thui mong anh giup do ak. thank anh nhju
Deletea Tung cho e hoi khoi reset dung de lam j? nguyenbdat13@gmail.com
ReplyDeleteReset có nghĩa là bắt vi điều khiển quay trở về trạng thái ban đầu (nghĩa là nó đang chạy ở hiệu ứng bất kỳ thì sẽ trở về chạy hiệu ứng đầu tiên trở đi). Và nút reset còn được sử dụng khi vi điều khiển bị treo.
DeleteAnh Tùng ơi giúp em với, vấn đề là em làm mạch cube 5*5*5 nhưng còn 1 lỗi là con VĐK k biết tại sao nó bị lỏng hả gì ấy em đã làm mạch VĐK đến 3 lần rồi nhưng vẫn không cải thiện được tình hình đó là mỗi lần rút điện ra rồi gắn điện lại thì đèn không chớp hiệu ứng mà chỉ sáng không à, dùng tay đè đè vào con VĐK 1 chút thì nó mới chớp. em nghĩ vấn đề là do đế VĐK nhưng em đã thay 3 lần rồi (thay cả mạch in luôn và hàn rất kỹ). Anh đã làm nhiều chắc có nhiều kinh nghiệm anh đã gặp tình trạng như z chưa ạ, chỉ em cách khắc phục với.
ReplyDeleteCó thể do VDK của b chưa được reset ngay sau khi cấp nguồn nên nó như thế. B có thể nối từ chân reset của 8952 vào cự âm của tụ 10uF, cực dương tụ thì nối VCC, và nối chân reset với trở 10k xuống đất. Chúc b thành công.
DeleteCảm ơn anh tùng nhe
Deleteanh ơi tình hình là gắn tụ rồi nhưng vẫn như lúc xưa, chắc phải làm lại mạch thêm 1 lần nửa quá, buồn quá đi
DeleteLúc cắm nguồn vào mạch, b ấn nút reset thì mạch có chạy ko? hay phải lấy tay ấn vào chip thì nó mới chạy?
Deleteem không có gắn nút reset nhưng em lấy cây vít kích thì nó cũng không chạy nữa,nhấn nhấn ở đâu đó trên board rồi mới chạy có khi để 1 lát nó tự chạy luôn . em mới làm lại mạch VĐK hàn tỷ mỹ từng chân nhìn cũng đẹp lắm nhưng vẫn bị bệnh cũ k biết tại sao luôn
DeleteGiờ nó chạy rồi anh ơi nhưng gắn điện vào thì nó sáng k à khoảng 8-9s sau nó mới chớp (nhưng chớp k bắt đàu từ reset mà bắt đầu từ hiệu ứng bất kỳ), k biết vì sao z anh. Điện trở băng có tác dụng j z anh
DeleteB dùng mạch điều khiển của m up phía trên hay b tự vẽ mạch vậy? Nếu tự vẽ mạch thì up lên cho m xem thế nào? Đã thêm mạch reset RC như m đã nói ở trên chưa?
DeleteCòn điện trở bảng để treo P0 của 8952 lên Vcc trong trường hợp dùng P0 là chân IN, còn ở đây P0 dùng là Out nên ko cần lắp điện trở bang cũng đc.
em dùng mạch của anh chipcook https://www.dropbox.com/s/h2lps79mmjtr6gl/MACH%20IN%20CUBE.pdf
DeleteAnh xem giúp e nhé
Có sơ đồ nguyên lý ko b? Nhìn mạch in thế này thì khó phát hiện lắm.
Deletehok có anh ơi
DeleteThế thì m khuyên b nên tự thiết kế lại mạch, sau đó tự vẽ mạch in. Như thế b sẽ vừa hiểu rõ nguyen lý của mạch vừa biết cách vẽ mạch. B cứ chủ động vẽ mạch, nếu thấy chưa ổn thì gửi cho m, m sẽ xem và góp ý cho b. Chúc b thành công.
DeleteNhưng vấn đề nan giải là em mới là sinh viên năm 1 à, k biết vẽ mạch in anh ơi với lại 2 tuần này là phải kiểm tra giữa kỳ nên k có thời gian nghiên cứu Orcard, anh có tài liệu về Orcard k cho em xin đi kiểm tra giữa kỳ xong em nghiên cứu nó. Cảm ơn anh nhiều
Deleteanh ơi sao anh k gắn Transistor lên boar VĐK luôn (để boar led hình vuông cho đẹp)
ReplyDeleteĐó là lần đầu m làm nên m cũng tham khảo trên mạng sơ đồ như vậy nên m làm luôn, lười ko thiết kế lại.hi. B có thể cho tran xuống mạch điều khiển cũng được. Cảm ơn b đã góp ý.
Deletesao m tai led cude 555 ghi pass ko đk vậy bạn
ReplyDeletepass: quangtung1123
Deleteanh cho em xin cái code của nó,
ReplyDeletephamdonggl@gmail.com
anh ơi.. anh có thể giải thích cho em rỏ hơn về cái Jack Nguồn (vì nó có 3 chân, e rối quá), bên cạnh đó nó có cái con gì 2 chân (1,2 - Value), gi đó.. anh giúp em được không ah, e cảm ơn anh nhiều ah
ReplyDeleteanh ơi.. anh có thể giải thích cho em rỏ hơn về cái Jack Nguồn (vì nó có 3 chân, e rối quá), bên cạnh đó nó có cái con gì 2 chân (1,2 - Value), gi đó.. anh giúp em được không ah, e cảm ơn anh nhiều ah..
ReplyDeletehay các pro nào biết giúp em với, em đang gấp lắm.. cảm ơn mọi người ah
Mạch m vẽ luôn 2 cái jac nguồn để ai thích lắp kiểu gì thì lắp. Hình ảnh về jac nguồn b xem ở phần trên nhé (mới cập nhật).
Delete1 loại 2 chân: màu đen.
loại 2 chân: màu xanh.
a nói hình nào thế? em cũng đang ko hiểu về jac nguồn làm gì và phải đi mua ntn
Deletethank anh đã gửi code nhưng mà code đó đưa vào Keil 4, F7 vẫn ra file hex bình thường nhưng khi nạp vào thì chỉ có 3,4 o dữ liệu, nên không có hiệu ứng, em có chương trình này sưu tầm, nhưng đưa vào Keil 4, nhấn F7 thì báo lỗi " If" và "x" có thể là sai cú pháp, nhưng không tìm được lỗi, còn led 3d thì phần cứng đã hoàn thành gần 1 tuần.
ReplyDelete#include
ReplyDelete#include
/////////////////////////////////////
sbit DATA = P2^5;
sbit SCK = P2^7;
sbit LACH = P2^6;
sbit L1=P1^0;
sbit L2=P1^1;
sbit L3=P1^2;
sbit L4=P1^3;
sbit L5=P1^4;
unsigned char temp1,temp2,temp3,temp4;
unsigned char i,j;
/////////////////////////////////////////
void delay(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<125;j++);
}
////////////////////////
void hienthi(unsigned char x)
{
unsigned int i,temp;
for(i=0;i<8;i++)
{
temp=x;
temp=temp&0x80
if(temp==0x80)
DATA=1; else
DATA=0
x*=2;
SCK=0;
SCK=1;
}}
void xuat()
{
hienthi(temp4);
hienthi(temp3);
hienthi(temp2);
hienthi(temp1);
LACH=0;
LACH=1;
}
/////////////////////////////////////////////////////
void chaychu(unsigned int ms)
ReplyDelete{
//chu D
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
//chu T
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
//so 3
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
//CHU K
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x90;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0x70;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0x90;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
//so 3
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
//CHU H
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
//CHU A
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0xa0;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
//CHU U
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0xe0;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0x10;temp4=0x01;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
//CHU I
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x00,temp3=0xf0;temp4=0x01;xuat();L5=1;delay(1);L5=0;
}
P2=0;delay(300);
}
/////////////////////////////////////////////////////
void locxoay(unsigned char ms,unsigned int m)
ReplyDelete{
for(i=0;i<m
;i++)
{
//FAMER 1
for(j=0;j<ms;j++)
{
temp1=0x01;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L1=1;delay(1);L1=0;
temp1=0x02;temp2=0x00,temp3=0x80;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x04;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x08;temp2=0x00,temp3=0x20;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x10;temp2=0x00,temp3=0x10;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
//FAMER 2
for(j=0;j<ms;j++)
{
temp1=0x02;temp2=0x00,temp3=0x80;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x04;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x08;temp2=0x00,temp3=0x20;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x10;temp2=0x00,temp3=0x10;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x82,temp3=0x00;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
//FAMER 3
for(j=0;j<ms;j++)
{
temp1=0x04;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x08;temp2=0x00,temp3=0x20;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x10;temp2=0x00,temp3=0x10;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x82,temp3=0x00;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x00;temp2=0x44,temp3=0x00;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
//FAMER 4
for(j=0;j<ms;j++)
{
temp1=0x08;temp2=0x00,temp3=0x20;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x10;temp2=0x00,temp3=0x10;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x82,temp3=0x00;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x00;temp2=0x44,temp3=0x00;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x20;temp2=0x00,temp3=0x08;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
//FAMER 5
for(j=0;j<ms;j++)
{
temp1=0x10;temp2=0x00,temp3=0x10;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x82,temp3=0x00;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x00;temp2=0x44,temp3=0x00;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x20;temp2=0x00,temp3=0x08;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x01;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L5=1;delay(1);L5=0;
}
//FAMER 6
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x82,temp3=0x00;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x00;temp2=0x44,temp3=0x00;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x20;temp2=0x00,temp3=0x08;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x01;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L4=1;delay(1);L4=0;
temp1=0x02;temp2=0x00,temp3=0x80;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
//FAMER 7
for(j=0;j<ms;j++)
{
temp1=0x00;temp2=0x44,temp3=0x00;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x20;temp2=0x00,temp3=0x08;temp4=0x00;xuat();L2=1;delay(1);L2=0;
temp1=0x01;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L3=1;delay(1);L3=0;
temp1=0x02;temp2=0x00,temp3=0x80;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x04;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
//FAMER 8
for(j=0;j<ms;j++)
{
temp1=0x20;temp2=0x00,temp3=0x08;temp4=0x00;xuat();L1=1;delay(1);L1=0;
temp1=0x01;temp2=0x00,temp3=0x00;temp4=0x01;xuat();L2=1;delay(1);L2=0;
temp1=0x02;temp2=0x00,temp3=0x80;temp4=0x00;xuat();L3=1;delay(1);L3=0;
temp1=0x04;temp2=0x00,temp3=0x40;temp4=0x00;xuat();L4=1;delay(1);L4=0;
temp1=0x08;temp2=0x00,temp3=0x20;temp4=0x00;xuat();L5=1;delay(1);L5=0;
}
}}
void main()
{
P2=0;
delay(1000);
chaychu(100);
while(1)
{
locxoay(12,10);
}}
3 đoạn ghép thành 1 chương trình, ngoài ra e còn file ,hex này nạp thẳng vào nhưng hiệu ứng xấu,
ReplyDeletehttp://www.mediafire.com/?w7hu3qbl9h3ic37
void hienthi(unsigned char x)
ReplyDelete{
unsigned int i,temp;
for(i=0;i<8;i++)
{
temp=x;
temp=temp&0x80
if(temp==0x80)
DATA=1; else
DATA=0
x*=2;
Thiếu dấu ";" ở dòng temp=temp&0x80 và dòng DATA=0.
GL!
Anh Tùng ơi ở chân của VĐK sao a k lam cho có lỗ để khoan cho dễ z anh
ReplyDeleteThis comment has been removed by the author.
DeleteM quen hàn chip theo kiểu led trái tim nên m thiết kế đặt chip ở phía dưới(cùng phía mạch in), hàn giống kiểu chip dán nên không cần phải khoan lỗ ở phần chip.
ReplyDeleteGL!
ah hiểu rồi, cảm ơn anh nhé. Anh còn file mạch in (protues) của khối đế cắm led k z, cho em xin với em định sửa lại gắn Transistor ở dưới mạch điều khiển. Nếu anh còn thì cho em xin chứ vẽ lại thì ....
Deleteanh ơi cho em xin file C với hoangduy1505@gmail.com
Deletemach nay co may con thach anh ha? bac'!@@ khong can dien tro bang ah! e thay 2 file pdf mach in cua bac' gui len khong giong lam o trong day!
ReplyDeleteThis comment has been removed by the author.
Deletemach lam khong can dien tro bang co duoc khong bac'!@@
ReplyDeleteKhông cần cũng đc nha.
DeleteGL!
Mạch có 1 thạch anh thôi b ah, b nhìn sơ đồ nguyên lý đó.
ReplyDeleteanh! e mới bắt đầu làm mà chưa biết hàn chân led kiểu sao hết...anh chỉ rõ hơn cho e được ko anh! em tham khảo thì người ta nói là tất cả chân dương nối với nhau! chân âm thì nối chung từng cột...e ko hiểu lắm, a chỉ rõ hơn cho e được ko a!
ReplyDeletebạn ui h nối p26 trong mach led vao P1, p27 vs p3, p29vs p4 trong mạch dk ak?
ReplyDeletebạn gửi cho mình code bạn làm nhé
ReplyDeletehíc xong mạch rùi nhưng led chạy linh tinh hết
This comment has been removed by the author.
ReplyDeletecho mjh họ cai tụ nam duoi ic la tu gj zay? duoi ic còn có ljh kjen gj k?
ReplyDeleteBạn vui lòng xem hình ảnh mạch in ở bài viết trên nhé.
DeleteRegards!
cho m xin file full bộ này nhé mail m là namnguyen0509@gmail.com thanks
ReplyDeletebạn cho m xin code với sơ đồ nguyên lý được không. mình nhìn trên web hơi mờ, mail của mình nguyenngoctuuct@gmail.com. Thank bạn
ReplyDeleteAnh Tùng có dịp em nhờ anh giúp em làm một cái này nhá.
ReplyDeleteTự làm đi em, cũng dễ mà. Tự làm thì mới học hỏi được nhiều.hi
DeleteAnh Tùng cho em xin file full của led cube 5x5x5 ( mạch nguyên lí trên mờ nhìn không rõ) ! bên em đang làm đồ án này ! Mong anh giúp đở ! Thank ! Mail :dungnguyen91vn@gmail.com
ReplyDeleteBạn cho mình hỏi: trên mạch in mạch điều khiển thì ở giữa chíp có phải là 1 chân cho tụ gốm 33pF với chân cho trở 470(ohm) không vậy bạn?
ReplyDeleteTại thấy trên mạch in có nhưng bạn up hình lên là 3D nên mình đang phân vân không biết đúng không hihi..
Bạn đưa hình lên không chỉ chân - với chân + cho led nguồn với chân chíp thì hơi khó để biết hướng đặt chíp :D
Cảm ơn bạn rất nhiều!
Chào bạn.
DeleteMình xin trả lời câu hỏi của bạn như sau:
- Phần giữa chip có 1 tụ 10uF và 1 trở 10k để dùng cho phần reset chip khi khởi động.
- Hướng đặt chip: m vừa bổ sung thêm hình ảnh mạch in, bạn vui lòng xem lại bài viết phía trên.
Regard!
Chào bạn.
ReplyDeleteMình xin trả lời câu hỏi của bạn như sau:
- Phần giữa chip có 1 tụ 10uF và 1 trở 10k để dùng cho phần reset chip khi khởi động.
- Hướng đặt chip: m vừa bổ sung thêm hình ảnh mạch in, bạn vui lòng xem lại bài viết phía trên.
Regard!
a cho em hỏi là ngoài con trở transistor A1013 mình còn dùng loài nào khác được không
ReplyDeleteA1015 cũng được bạn nhé. Con này có vẻ thông dụng hơn.
Deleteanh quangtung1123 cho em xin chương trình cho led cube 5x5x5 sử dụng 89s52 bằng ngôn ngữ C được không ạ? nếu được thì anh send qua mail tranhoangquy2303@gmail.com giùm em nha. cảm ơn anh
ReplyDeletePls check mail.
Deletehj
ReplyDeletebạn ơi mình là thợ điện tử trẻ, mình rất thích thiết kế led, như bạn, bạn có thể hướng dẫn mình cách lập trình, cần phần mềm j để lập trình, bộ nạp chương trình mua ở đau vậy bạn, nói như thế nào để ng ta bán đúng bo nạp vậy bạn, hix khi xưa mình thi đh vào nghanh điện tử viễn thông nhưng ko có tiền học đành jaj nghỉ học hĩ đi học nghề mà m thích lập trinh nhưng ko làm đc hix. bạn có thể hướng dẫn m qua địa chỉ emai đc ko Huutruong92daklak@gmail.com cảm ơn bạn nhiu
ReplyDeleteBạn hỏi thế này thì chung chung quá. Hãy bắt đầu từng bước 1 đi:
Delete- Bạn muốn dùng loại chip nào: 8051, PIC, AVR... thì nó sẽ phần mềm tương ứng để lập trình và bộ nạp riêng. Mới học thì người ta thường học 8051 trước sau đó mới tìm hiểu các loại chip khác vì 8051 đơn giản, học sẽ nhanh hơn. Có gì không hiểu bạn có thể hỏi mình tại đây. Chúc bạn học tốt.
a cho e hỏi, cái bộ mạch mình mua về rồi làm led gắn vô được k ạ
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteanh cho em xin code voi nghita2546@gmail.com
ReplyDeletecho em xin code tuanphu53dt@gmail.com
ReplyDeletemà a cho e hỏi sao e xem hình vs linh kiện liệt kê khác nhau vậy..ko thấy trở băng trong hình..ds linh kiện thì ko thấy thạch anh 12mhz vs tụ gốm..v..v.
cach cam bus 8 chan ntn zay a, e ko biet cam ntn cho dung nua ak
ReplyDeleteAnh cho em xin code với.Cám ơn anh nhiều!
ReplyDeleteletrinhan94@gmail.com
anh ơi có thể gủi e file code full của mạch led cube này được k ạ, và có thể chỉ e cách viết chương trình để hiển thị chữ chạy trên khối LED 3D được k ạ, càng chi tiết càng tốt ạ, đây là gmail của e : luctran491994@gmail.com
ReplyDeleteCảm ơn anh nhiều !
Anh ơi, cho em xin code c của mạch này được không? em đang làm nhưng mà muốn tìm hiểu về code của nó. Trước giờ em toàn học PIC thôi à, chưa bao giờ học 8051 cả, giờ muốn tìm hiểu chút! mail của em: thinhktdt@gmail.com
ReplyDeletecám ơn anh nha
Sao mình làm rồi mà led sáng không đều và đẹp vây.
ReplyDeleteKhông sử dụng ic7805 vậy chỉ xài được nguồn 5v thôi hả ad.
ReplyDeleteanh ơi cho e xin cái mô phỏng proteus, code .C, orcad, layout...có gì cho em xin luôn đi ạ, e muốn tìm hiểu thêm..cám ơn anh trước nha 41304975x@gmail.com
ReplyDeletebạn ơi cho mình hỏi con JDC là con gì vậy? trả lời vào mail congquangls@gmail.com giúp mình với nha
ReplyDeletea oi cho e file hex voi file c dk khong? minhcuongngo1996@gmail.com
ReplyDeleteCho em xin code với anh gmail of e ngqui1996@gmail.com
ReplyDeleteanh cho e xin code e cảm ơn
ReplyDeletejokerfan2012@gmail.com
vs lại cho e hỏi con trở băng anh đặt ở đâu z e hk thấy trên sơ đồ mạch in
A ơi cho em hỏi...ở phần mạch in khối led ấy có phần h1 đến h5 là gì vậy a??? Là chân của mấy cái gì vậy anh???
ReplyDeleteủa bạn k dùng điện trở băng hả ? mình nhìn mạch hoài k thấy điện trở bảng đâu cả
ReplyDeleteSử dụng chân VĐK làm out thì không cần điện trở băng cũng được.
Deletea ơi, a cho e xin code được ko ak.
ReplyDeletemail: nguyenkhanhqt@gmail.com
Bài viết rất hay bạn ơi. Mình cũng đang tập tành làm cái này.
ReplyDeleteBạn có thể share cho mình file Code không? Mình rất cảm kích.
Mail của mình: duckhanhphan0912@gmail.com
Thanks and I have a neat provide: Can You Hire Someone To Renovate A House house renovation checklist
ReplyDelete