PDA

View Full Version : led _đèn nháy


d_quy05
10-04-06, 17:36
có bác nào biết về mạch nháy đuổi thì post lên cho em với.dùng càng nhiều led càng tốt.thanks (đèn thứ nhất sáng thì đến đèn kế tiếp cho đến hết thì đèn thứ nhất mới tắt).

MinhHa
10-04-06, 17:54
Đơn giản thì bạn dùng 1 bộ đếm và 1 mạch giải mã ví dụ 4 to 16 là có thể 16 LED nháy đuổi nhau rồi. Muốn phức tạp hơn thì dùng CPLD hay MCU....

opendoor2507
10-04-06, 18:12
Bạn xem cái này có được không, muốn biết chi tiết thì vô đây:
http://www.electronics-lab.com/projects/games/003/index.html

d_quy05
11-04-06, 23:08
cảm ơn các bác nhiều.nhưng bác có mạch nào chỉ dùng transistor không vậy.nếu có post len giùm em nhé.thanks

d_quy05
28-08-06, 17:47
bác MINH HÀ có thể post cho em chi tiết hơn được không.vì em mới bước vào điện tử mà.cảm ơn bác nhiều

thanh_cn
04-09-06, 20:17
Chào các bác ...Em là thành viên của diên đàn này tù nâu rùi.Nhung chỉ thích đọc bài của các bác thôi.Hôm nay đọc đến đây ,em thật sư quan tâm đến vấn đề này .Tiên đây cho em hỏi , có bác nào biết cái mạch đèn vấy cánh dùng láp vô đuôi xe máy ko .Khi cấp điện ,lần lượt các dãy ned luân phiên nhau sáng.Mạch thi chảng co gi đặc biệt cả.Chỉ có điều là con ic cua nó em ko thể biết nó dùng con gì cả .Vì ic của nó chỉ là một khối đen xì (hàng TRUNG QUỐC )mà.Em muốn hỏi các anh một câu là .Ta có thể dùng ic gì để ta có thể thu được lần lượt các mức điện áp ở các chân khác nhau ...và ta dùng nó để điều khiển led nháy lần lượt từ 1 2 3...6 rồi lại quay trở về 1.Cảm ơn các anh trước nha .À nếu anh nào đã làm rùi thì cho em xin một mạch về điều khiển led nay nha .Em dốt văn nên trình bày có vẻ chưa rõ ràng .Thục ra câu hỏi của em rất rễ mà ...giúp em nha ...thanhk a lot

hackervnbk
04-09-06, 21:50
Chào bạn
Thực sự thì đây là một vấn đề cũ,tuy nhiên nó có khá nhiều cách làm mới .
Bạn có thể thử 1 trong các cách sau đây:
1) Dùng con 555 mắc thêm cái biến trở để điểu chỉnh tốc độ chạy(cái này tối đa 8 led)
2) Dùng 1 con vi điều khiển ,tuy nhiên cách này bạn phải có một chút kiến thức nhất định về VDK \
3) Còn nhiều cách khác nữa
Chúc bạn thành công!!!

linhnc308
04-09-06, 22:59
Đúng là vấn đề cũ nhưng cũng thú vị không kém. Tôi đưa ra thiết kế cho 32 LED như sau.
1. Linh kiện Timer555, 74393, 2 x 74154 (hoặc thay bằng 4 74138)
2. Thiết kế
- 555 lắp thành bộ tạo dao động có điều chỉnh thời gian xung ra (Điều chỉnh điện trở). Xung ra ở chân 3.
- 74393 gồm 2 bộ đến 4bit - 16 trạng thái. Chân 1 (nhận xung clk) nối đến chân 3 của 555. Chân 6 của 393 nối đến chân 13 là chân vào clk của bộ đếm thứ 2. chân 2 và chân 12 treo lên 5V. 4 đâu ra của bộ đếm thứ 1 nối đên A,B,C,D của IC 74154 thứ nhất. 4 đâu ra của bộ đếm thứ 2 nối đên A,B,C,D của IC 74154 thứ hai. Các đầu ra của các IC 74154 (32 đường) nối đến 32 LED theo cách mắc A chung, các chân dương của LED nối lên 5V qua 1 trở 220 Ôm, 32 chân âm (Catot) nối đến 32 đầu ra 74154.

Theo mạch trên thì sẽ nháy 32 LED đuổi nhau với tốc độ thay đổi dc qua biến trở. Muốn thực hiện nhiều bài nháy khác thì thiết kế thêm, có thể thêm IC số hoắc đơn giản hơn dùng 1 con VDK và vài cái phím bấm là thực hiện đc hàng chục bài nháy.

have fun! Nhấy LED cũng nhiều cái thú vị
Xem con 4017 xem sao, còn nhiều IC số hay lắm.

kien_tran
05-09-06, 12:44
dùng một con ic timer555 để tạo xung nhịp + ic đếm 74ls93 ( nếu nháy led nhiều hơn 15 led thì phải dùng thêm bộ đếm) sau đó bạn phải qua một bộ giải mã thì mới nháy sáng dần được( dùng các cổng AND, OR, NOT...) Giả sử bạn dùng mỗi led thay bằng một chữ (tạo thành từ các led) thì từ đầu ra của bộ giải mã phải qua một tầng khuyếch đại(transistor) hoặc bộ đệm dể công suất ra và đủ độ sáng cho các led.

cuncon0304
06-09-06, 16:09
tôi có dùng cách nay bác xem có được ko
dùng ic ghi dịch chẳng hạn như con 74ls164co the lam được cac led sáng dần hoạc tắt dân. chạy đuổi tu 2 đến 16 led
mạch rất đơn giản
nếu bác cần thì tôi gửi cho, tôi có rất nhiều mạch này

conan18486
08-09-06, 22:01
chao moi nguoi minh la linh moi . Kien thuc chua co nhieu . SV nam 3 nganh DK

phd31183
12-09-06, 11:38
cảm ơn các bác nhiều.nhưng bác có mạch nào chỉ dùng transistor không vậy.nếu có post len giùm em nhé.thanks

Sử dụng với Trans cũng tương tự. Trước tiên bạn phải có một bộ dao động đa hài bằng 2 con trans, 2 con tụ, và 4 con trở (căn bẳn của kỹ thuật điện tử tương tự rồi) sau đó là các tầng phóng nạp tụ. Đơn giản thôi, thực sự cần thì mình sẽ post cho bạn. Nhưng thự nghiên cứu ra mạch mới thú

dtk28
25-09-06, 09:57
cảm ơn các bác nhiều.nhưng bác có mạch nào chỉ dùng transistor không vậy.nếu có post len giùm em nhé.thanks

Ban hay xem cuon sach: Mach dien don gian ma li thu cua tac gia Đặng Hồng Quang. Minh cung tung lam cai nay roi, no cung nhap nhay nhung gan nhu la dong thoi, kho thay no lan toa. Ban thu lam xem sao, neu can hay thay doi gia tri cac linh kien chut xiu. Good Luck!

dtk28
26-09-06, 08:54
Bác linhnc nay, con 74393 có đến mười mấy chân mà trong Proteus no chỉ co mấy chân là sao? Có cái nào thay thế được mà trong Proteus co không? Nhờ bác chỉ giúp

tintintin
26-09-06, 09:54
Theo mình đơn kinh tế và hiệu quả nhất là dùng 1 em AT89S52, tổng chi phí khoảng <30k), có thể lập trình để nháy đủ kiểu chương trình theo ý của mình.

Dưới đây là một project của mình:
Phần cứng:
- 1 IC AT89S52 (15k)
- 1 thạch anh + 2 tụ 33p (3k)
- 16 led (có thể thêm đến 32)
- 16 R 270 ôm (có thể thay bằng R thanh cho đơn giản) (1k)
- 3 nút nhấn (reset, tăng tốc, giảm tốc)
- 1 miếng mạch đục lỗ sẵn (3k)
Option:
- Phần mạch nguồn dùng 7805
- Phần giao tiếp với COM PC, điều khiển thử chơi vui

16 led nối vào P0 và P2 qua R hạn dòng 270.

Chương trình viết bằng C:

#include <REG52.H>

unsigned char code LED_01 = 17;
unsigned int code Data_01[] = //{Diem sang chay phai}
{
0xFEFF, 0xFDFF, 0xFBFF, 0xF7FF, 0xEFFF, 0xDFFF, 0xBFFF, 0x7FFF,
0xFF7F, 0xFFBF, 0xFFDF, 0xFFEF, 0xFFF7, 0xFFFB, 0xFFFD, 0xFFFE,
0xFFFF
};

unsigned char code LED_02 = 17;
unsigned int code Data_02[] = //{Diem sang chay trai}
{
0xFFFE, 0xFFFD, 0xFFFB, 0xFFF7, 0xFFEF, 0xFFDF, 0xFFBF, 0xFF7F,
0x7FFF, 0xBFFF, 0xDFFF, 0xEFFF, 0xF7FF, 0xFBFF, 0xFDFF, 0xFEFF,
0xFFFF
};

unsigned char code LED_03 = 17;
unsigned int code Data_03[] = //{Diem toi chay phai}
{
0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, 0x8000,
0x0080, 0x0040, 0x0020, 0x0010, 0x0008, 0x0004, 0x0002, 0x0001,
0x0000
};

unsigned char code LED_04 = 16;
unsigned int code Data_04[] = //{Diem toi chay qua trai}
{
0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080,
0x8000, 0x4000, 0x2000, 0x1000, 0x0800, 0x0400, 0x0200, 0x0100
};

unsigned char code LED_05 = 241;
unsigned int code Data_05[] = //{Diem sang qua lai lap phai}
{
0xFEFF, 0xFDFF, 0xFBFF, 0xF7FF, 0xEFFF, 0xDFFF, 0xBFFF, 0x7FFF,
0xFF7F, 0xFFBF, 0xFFDF, 0xFFEF, 0xFFF7, 0xFFFB, 0xFFFD, 0xFFFE,
0xFFFC, 0xFFFA, 0xFFF6, 0xFFEE, 0xFFDE, 0xFFBE, 0xFF7E, 0x7FFE,
0xBFFE, 0xDFFE, 0xEFFE, 0xF7FE, 0xFBFE, 0xFDFE, 0xFEFE, 0xFDFE,
0xFBFE, 0xF7FE, 0xEFFE, 0xDFFE, 0xBFFE, 0x7FFE, 0xFF7E, 0xFFBE,
0xFFDE, 0xFFEE, 0xFFF6, 0xFFFA, 0xFFFC, 0xFFF8, 0xFFF4, 0xFFEC,
0xFFDC, 0xFFBC, 0xFF7C, 0x7FFC, 0xBFFC, 0xDFFC, 0xEFFC, 0xF7FC,
0xFBFC, 0xFDFC, 0xFEFC, 0xFDFC, 0xFBFC, 0xF7FC, 0xEFFC, 0xDFFC,
0xBFFC, 0x7FFC, 0xFF7C, 0xFFBC, 0xFFDC, 0xFFEC, 0xFFF4, 0xFFF8,
0xFFF0, 0xFFE8, 0xFFD8, 0xFFB8, 0xFF78, 0x7FF8, 0xBFF8, 0xDFF8,
0xEFF8, 0xF7F8, 0xFBF8, 0xFDF8, 0xFEF8, 0xFDF8, 0xFBF8, 0xF7F8,
0xEFF8, 0xDFF8, 0xBFF8, 0x7FF8, 0xFF78, 0xFFB8, 0xFFD8, 0xFFE8,
0xFFF0, 0xFFE0, 0xFFD0, 0xFFB0, 0xFF70, 0x7FF0, 0xBFF0, 0xDFF0,
0xEFF0, 0xF7F0, 0xFBF0, 0xFDF0, 0xFEF0, 0xFDF0, 0xFBF0, 0xF7F0,
0xEFF0, 0xDFF0, 0xBFF0, 0x7FF0, 0xFF70, 0xFFB0, 0xFFD0, 0xFFE0,
0xFFC0, 0xFFA0, 0xFF60, 0x7FE0, 0xBFE0, 0xDFE0, 0xEFE0, 0xF7E0,
0xFBE0, 0xFDE0, 0xFEE0, 0xFDE0, 0xFBE0, 0xF7E0, 0xEFE0, 0xDFE0,
0xBFE0, 0x7FE0, 0xFF60, 0xFFA0, 0xFFC0, 0xFF80, 0xFF40, 0x7FC0,
0xBFC0, 0xDFC0, 0xEFC0, 0xF7C0, 0xFBC0, 0xFDC0, 0xFEC0, 0xFDC0,
0xFBC0, 0xF7C0, 0xEFC0, 0xDFC0, 0xBFC0, 0x7FC0, 0xFF40, 0xFF80,
0xFF00, 0x7F80, 0xBF80, 0xDF80, 0xEF80, 0xF780, 0xFB80, 0xFD80,
0xFE80, 0xFD80, 0xFB80, 0xF780, 0xEF80, 0xDF80, 0xBF80, 0x7F80,
0xFF00, 0x7F00, 0xBF00, 0xDF00, 0xEF00, 0xF700, 0xFB00, 0xFD00,
0xFE00, 0xFD00, 0xFB00, 0xF700, 0xEF00, 0xDF00, 0xBF00, 0x7F00,
0x3F00, 0x5F00, 0x6F00, 0x7700, 0x7B00, 0x7D00, 0x7E00, 0x7D00,
0x7B00, 0x7700, 0x6F00, 0x5F00, 0x3F00, 0x1F00, 0x2F00, 0x3700,
0x3B00, 0x3D00, 0x3E00, 0x3D00, 0x3B00, 0x3700, 0x2F00, 0x1F00,
0x0F00, 0x1700, 0x1B00, 0x1D00, 0x1E00, 0x1D00, 0x1B00, 0x1700,
0x0F00, 0x0700, 0x0B00, 0x0D00, 0x0E00, 0x0D00, 0x0B00, 0x0700,
0x0300, 0x0500, 0x0600, 0x0500, 0x0300, 0x0100, 0x0200, 0x0100,
0x0000
};

unsigned char code LED_06 = 137;
unsigned int code Data_06[] = //{Diem sang lap phai}
{
0xFEFF, 0xFDFF, 0xFBFF, 0xF7FF, 0xEFFF, 0xDFFF, 0xBFFF, 0x7FFF,
0xFF7F, 0xFFBF, 0xFFDF, 0xFFEF, 0xFFF7, 0xFFFB, 0xFFFD, 0xFFFE,
0xFEFE, 0xFEFE, 0xFDFE, 0xFBFE, 0xF7FE, 0xEFFE, 0xDFFE, 0xBFFE,
0x7FFE, 0xFF7E, 0xFFBE, 0xFFDE, 0xFFEE, 0xFFF6, 0xFFFA, 0xFFFC,
0xFEFC, 0xFDFC, 0xFBFC, 0xF7FC, 0xEFFC, 0xDFFC, 0xBFFC, 0x7FFC,
0xFF7C, 0xFFBC, 0xFFDC, 0xFFEC, 0xFFF4, 0xFFF8, 0xFEF8, 0xFDF8,
0xFBF8, 0xF7F8, 0xEFF8, 0xDFF8, 0xBFF8, 0x7FF8, 0xFF78, 0xFFB8,
0xFFD8, 0xFFE8, 0xFFF0, 0xFEF0, 0xFDF0, 0xFBF0, 0xF7F0, 0xEFF0,
0xDFF0, 0xBFF0, 0x7FF0, 0xFF70, 0xFFB0, 0xFFD0, 0xFFE0, 0xFEE0,
0xFDE0, 0xFBE0, 0xF7E0, 0xEFE0, 0xDFE0, 0xBFE0, 0x7FE0, 0xFF60,
0xFFA0, 0xFFC0, 0xFEC0, 0xFDC0, 0xFBC0, 0xF7C0, 0xEFC0, 0xDFC0,
0xBFC0, 0x7FC0, 0xFF40, 0xFF80, 0xFE80, 0xFD80, 0xFB80, 0xF780,
0xEF80, 0xDF80, 0xBF80, 0x7F80, 0xFF00, 0xFE00, 0xFD00, 0xFB00,
0xF700, 0xEF00, 0xDF00, 0xBF00, 0x7F00, 0x7E00, 0x7D00, 0x7B00,
0x7700, 0x6F00, 0x5F00, 0x3F00, 0x3E00, 0x3D00, 0x3B00, 0x3700,
0x2F00, 0x1F00, 0x1E00, 0x1D00, 0x1B00, 0x1700, 0x0F00, 0x0E00,
0x0D00, 0x0B00, 0x0700, 0x0600, 0x0500, 0x0300, 0x0200, 0x0100,
0x0000
};

unsigned char code LED_07 = 136;
unsigned int code Data_07[] = //{Diem sang lap phai}
{
0xFFFE, 0xFFFD, 0xFFFB, 0xFFF7, 0xFFEF, 0xFFDF, 0xFFBF, 0xFF7F,
0x7FFF, 0xBFFF, 0xDFFF, 0xEFFF, 0xF7FF, 0xFBFF, 0xFDFF, 0xFEFF,
0xFEFE, 0xFEFD, 0xFEFB, 0xFEF7, 0xFEEF, 0xFEDF, 0xFEBF, 0xFE7F,
0x7EFF, 0xBEFF, 0xDEFF, 0xEEFF, 0xF6FF, 0xFAFF, 0xFCFF, 0xFCFE,
0xFCFD, 0xFCFB, 0xFCF7, 0xFCEF, 0xFCDF, 0xFCBF, 0xFC7F, 0x7CFF,
0xBCFF, 0xDCFF, 0xECFF, 0xF4FF, 0xF8FF, 0xF8FE, 0xF8FD, 0xF8FB,
0xF8F7, 0xF8EF, 0xF8DF, 0xF8BF, 0xF87F, 0x78FF, 0xB8FF, 0xD8FF,
0xE8FF, 0xF0FF, 0xF0FE, 0xF0FD, 0xF0FB, 0xF0F7, 0xF0EF, 0xF0DF,
0xF0BF, 0xF07F, 0x70FF, 0xB0FF, 0xD0FF, 0xE0FF, 0xE0FE, 0xE0FD,
0xE0FB, 0xE0F7, 0xE0EF, 0xE0DF, 0xE0BF, 0xE07F, 0x60FF, 0xA0FF,
0xC0FF, 0xC0FE, 0xC0FD, 0xC0FB, 0xC0F7, 0xC0EF, 0xC0DF, 0xC0BF,
0xC07F, 0x40FF, 0x80FF, 0x80FE, 0x80FD, 0x80FB, 0x80F7, 0x80EF,
0x80DF, 0x80BF, 0x807F, 0x00FF, 0x00FE, 0x00FD, 0x00FB, 0x00F7,
0x00EF, 0x00DF, 0x00BF, 0x007F, 0x007E, 0x007D, 0x007B, 0x0077,
0x006F, 0x005F, 0x003F, 0x003E, 0x003D, 0x003B, 0x0037, 0x002F,
0x001F, 0x001E, 0x001D, 0x001B, 0x0017, 0x000F, 0x000E, 0x000D,
0x000B, 0x0007, 0x0006, 0x0005, 0x0003, 0x0002, 0x0001, 0x0000
};

unsigned char code LED_08 = 17;
unsigned int code Data_08[] = //{Hai diem sang chay nguoc chieu}
{
0xFEFF, 0xFFFE, 0xFBFF, 0xFFFB, 0xEFFF, 0xFFEF, 0xBFFF, 0xFFBF,
0xFF7F, 0x7FFF, 0xFFDF, 0xDFFF, 0xFFF7, 0xF7FF, 0xFFFD, 0xFDFF,
0xFFFE
};

unsigned char code LED_09 = 8;
unsigned int code Data_09[] = //{Den duoi 1-7}
{
0xFE7F, 0xFDBF, 0xFBDF, 0xF7EF, 0xEFF7, 0xDFFB, 0xBFFD, 0x7FFE
};

unsigned char code LED_10 = 6;
unsigned int code Data_10[] = //{Den duoi 1-6}
{
0xBEF7, 0x7DFB, 0xFB7D, 0xF7BE, 0xEFDF, 0xDFEF
};

unsigned char code LED_11 = 5;
unsigned int code Data_11[] = //{Den duoi 1-5}
{
0xDEDE, 0xBDEF, 0x7BF7, 0xF77B, 0xEFBD
};

unsigned char code LED_12 = 4;
unsigned int code Data_12[] = //{Den duoi 1-4}
{
0xEE77, 0xDDBB, 0xBBDD, 0x77EE
};

unsigned char code LED_13 = 3;
unsigned int code Data_13[] = //{Den duoi 1-3}
{
0xB6B6, 0x6DDB, 0xDB6D
};

unsigned char code LED_14 = 2;
unsigned int code Data_14[] = //{Nhap nhay xen ke}
{
0xAA55, 0x55AA
};

unsigned char code LED_15 = 2;
unsigned int code Data_15[] = //{Nhap nhay 4 nhanh}
{
0xCC33, 0x33CC
};

unsigned char code LED_16 = 2;
unsigned int code Data_16[] = //{Nhap nhay 2 nhanh}
{
0xFF00, 0x00FF
};

unsigned char code LED_17 = 21;
unsigned int code Data_17[] = //{4 diem chay xuoi}
{
0xFFFF, 0xFEFF, 0xFCFF, 0xF8FF, 0xF0FF, 0xF0FF, 0xE1FF, 0xC3FF,
0x87FF, 0x0FFF, 0x1F7F, 0x3F3F, 0x7F1F, 0xFF0F, 0xFF87, 0xFFC3,
0xFFE1, 0xFFF0, 0xFFF8, 0xFFFC, 0xFFFE
};

unsigned char code LED_18 = 20;
unsigned int code Data_18[] = //{4 diem chay nguoc}
{
0xFFFF, 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE1, 0xFFC3, 0xFF87,
0xFF0F, 0x7F1F, 0x3F3F, 0x1F7F, 0x0FFF, 0x87FF, 0xC3FF, 0xE1FF,
0xF0FF, 0xF8FF, 0xFCFF, 0xFEFF
};

unsigned char code LED_19 = 16;
unsigned int code Data_19[] = //{Lan dan phai}
{
0xFEFF, 0xFCFF, 0xF8FF, 0xF0FF, 0xE0FF, 0xC0FF, 0x80FF, 0x00FF,
0x007F, 0x003F, 0x001F, 0x000F, 0x0007, 0x0003, 0x0001, 0x0000
};

unsigned char code LED_20 = 17;
unsigned int code Data_20[] = //{Tat dan trai}
{
0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F,
0x00FF, 0x80FF, 0xC0FF, 0xE0FF, 0xF0FF, 0xF8FF, 0xFCFF, 0xFEFF,
0xFFFF
};

unsigned char code LED_21 = 16;
unsigned int code Data_21[] = //{Lan dan trai}
{
0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0xFF80, 0xFF00,
0x7F00, 0x3F00, 0x1F00, 0x0F00, 0x0700, 0x0300, 0x0100, 0x0000
};

unsigned char code LED_22 = 17;
unsigned int code Data_22[] = //{Tat dan phai}
{
0x0000, 0x0100, 0x0300, 0x0700, 0x0F00, 0x1F00, 0x3F00, 0x7F00,
0xFF00, 0xFF80, 0xFFC0, 0xFFE0, 0xFFF0, 0xFFF8, 0xFFFC, 0xFFFE,
0xFFFF
};

unsigned char code LED_23 = 206;
unsigned int code Data_23[] = //{Diem sang lap phai + nhay}
{
0xFEFF, 0xFDFF, 0xFBFF, 0xF7FF, 0xEFFF, 0xDFFF, 0xBFFF, 0x7FFF,
0xFF7F, 0xFFBF, 0xFFDF, 0xFFEF, 0xFFF7, 0xFFFB, 0xFFFD, 0xFFFE,
0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFEFE, 0xFEFE, 0xFDFE, 0xFBFE,
0xF7FE, 0xEFFE, 0xDFFE, 0xBFFE, 0x7FFE, 0xFF7E, 0xFFBE, 0xFFDE,
0xFFEE, 0xFFF6, 0xFFFA, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC,
0xFFFF, 0xFEFC, 0xFDFC, 0xFBFC, 0xF7FC, 0xEFFC, 0xDFFC, 0xBFFC,
0x7FFC, 0xFF7C, 0xFFBC, 0xFFDC, 0xFFEC, 0xFFF4, 0xFFF8, 0xFFFF,
0xFFF8, 0xFFFF, 0xFFF8, 0xFFFF, 0xFEF8, 0xFDF8, 0xFBF8, 0xF7F8,
0xEFF8, 0xDFF8, 0xBFF8, 0x7FF8, 0xFF78, 0xFFB8, 0xFFD8, 0xFFE8,
0xFFF0, 0xFFFF, 0xFFF0, 0xFFFF, 0xFFF0, 0xFFFF, 0xFEF0, 0xFDF0,
0xFBF0, 0xF7F0, 0xEFF0, 0xDFF0, 0xBFF0, 0x7FF0, 0xFF70, 0xFFB0,
0xFFD0, 0xFFE0, 0xFFFF, 0xFFE0, 0xFFFF, 0xFFE0, 0xFFFF, 0xFEE0,
0xFDE0, 0xFBE0, 0xF7E0, 0xEFE0, 0xDFE0, 0xBFE0, 0x7FE0, 0xFF60,
0xFFA0, 0xFFC0, 0xFFFF, 0xFFC0, 0xFFFF, 0xFFC0, 0xFFFF, 0xFEC0,
0xFDC0, 0xFBC0, 0xF7C0, 0xEFC0, 0xDFC0, 0xBFC0, 0x7FC0, 0xFF40,
0xFF80, 0xFFFF, 0xFF80, 0xFFFF, 0xFF80, 0xFFFF, 0xFE80, 0xFD80,
0xFB80, 0xF780, 0xEF80, 0xDF80, 0xBF80, 0x7F80, 0xFF00, 0xFFFF,
0xFF00, 0xFFFF, 0xFF00, 0xFFFF, 0xFE00, 0xFD00, 0xFB00, 0xF700,
0xEF00, 0xDF00, 0xBF00, 0x7F00, 0xFFFF, 0x7F00, 0xFFFF, 0x7F00,
0xFFFF, 0x7E00, 0x7D00, 0x7B00, 0x7700, 0x6F00, 0x5F00, 0x3F00,
0xFFFF, 0x3F00, 0xFFFF, 0x3F00, 0xFFFF, 0x3E00, 0x3D00, 0x3B00,
0x3700, 0x2F00, 0x1F00, 0xFFFF, 0x1F00, 0xFFFF, 0x1F00, 0xFFFF,
0x1E00, 0x1D00, 0x1B00, 0x1700, 0x0F00, 0xFFFF, 0x0F00, 0xFFFF,
0x0F00, 0xFFFF, 0x0E00, 0x0D00, 0x0B00, 0x0700, 0xFFFF, 0x0700,
0xFFFF, 0x0700, 0xFFFF, 0x0600, 0x0500, 0x0300, 0xFFFF, 0x0300,
0xFFFF, 0x0300, 0xFFFF, 0x0200, 0x0100, 0x0000
};

unsigned char code LED_24 = 211;
unsigned int code Data_24[] = //{Dien sang lap trai + nhay}
{
0xFFFE, 0xFFFD, 0xFFFB, 0xFFF7, 0xFFEF, 0xFFDF, 0xFFBF, 0xFF7F,
0x7FFF, 0xBFFF, 0xDFFF, 0xEFFF, 0xF7FF, 0xFBFF, 0xFDFF, 0xFEFF,
0xFFFF, 0xFEFF, 0xFFFF, 0xFEFF, 0xFFFF, 0xFEFE, 0xFEFD, 0xFEFB,
0xFEF7, 0xFEEF, 0xFEDF, 0xFEBF, 0xFE7F, 0x7EFF, 0xBEFF, 0xDEFF,
0xEEFF, 0xF6FF, 0xFAFF, 0xFCFF, 0xFFFF, 0xFCFF, 0xFFFF, 0xFCFF,
0xFFFF, 0xFCFE, 0xFCFD, 0xFCFB, 0xFCF7, 0xFCEF, 0xFCDF, 0xFCBF,
0xFC7F, 0x7CFF, 0xBCFF, 0xDCFF, 0xECFF, 0xF4FF, 0xF8FF, 0xFFFF,
0xF8FF, 0xFFFF, 0xF8FF, 0xFFFF, 0xF8FE, 0xF8FD, 0xF8FB, 0xF8F7,
0xF8EF, 0xF8DF, 0xF8BF, 0xF87F, 0x78FF, 0xB8FF, 0xD8FF, 0xE8FF,
0xF0FF, 0xFFFF, 0xF0FF, 0xFFFF, 0xF0FF, 0xFFFF, 0xF0FE, 0xF0FD,
0xF0FB, 0xF0F7, 0xF0EF, 0xF0DF, 0xF0BF, 0xF07F, 0x70FF, 0xB0FF,
0xD0FF, 0xE0FF, 0xFFFF, 0xE0FF, 0xFFFF, 0xE0FF, 0xFFFF, 0xE0FE,
0xE0FD, 0xE0FB, 0xE0F7, 0xE0EF, 0xE0DF, 0xE0BF, 0xE07F, 0x60FF,
0xA0FF, 0xC0FF, 0xFFFF, 0xC0FF, 0xFFFF, 0xC0FF, 0xFFFF, 0xC0FE,
0xC0FD, 0xC0FB, 0xC0F7, 0xC0EF, 0xC0DF, 0xC0BF, 0xC07F, 0x40FF,
0x80FF, 0xFFFF, 0x80FF, 0xFFFF, 0x80FF, 0xFFFF, 0x80FE, 0x80FD,
0x80FB, 0x80F7, 0x80EF, 0x80DF, 0x80BF, 0x807F, 0x00FF, 0xFFFF,
0x00FF, 0xFFFF, 0x00FF, 0xFFFF, 0x00FE, 0x00FD, 0x00FB, 0x00F7,
0x00EF, 0x00DF, 0x00BF, 0x007F, 0xFFFF, 0x007F, 0xFFFF, 0x007F,
0xFFFF, 0x007E, 0x007D, 0x007B, 0x0077, 0x006F, 0x005F, 0x003F,
0xFFFF, 0x003F, 0xFFFF, 0x003F, 0xFFFF, 0x003E, 0x003D, 0x003B,
0x0037, 0x002F, 0x001F, 0xFFFF, 0x001F, 0xFFFF, 0x001F, 0xFFFF,
0x001E, 0x001D, 0x001B, 0x0017, 0x000F, 0xFFFF, 0x000F, 0xFFFF,
0x000F, 0xFFFF, 0x000E, 0x000D, 0x000B, 0x0007, 0xFFFF, 0x0007,
0xFFFF, 0x0007, 0xFFFF, 0x0006, 0x0005, 0x0003, 0xFFFF, 0x0003,
0xFFFF, 0x0003, 0xFFFF, 0x0002, 0x0001, 0xFFFF, 0x0001, 0xFFFF,
0x0001, 0xFFFF, 0x0000
};

unsigned char rate = 30;
unsigned char stop = 0;

//-------------------------------//
void init()
{
EX0 = 1; // Enable EX0 Interrupt
IT0 = 1; // Configure interrupt 0 for falling edge on /INT0 (P3.2)
EX1 = 1; // Enable EX1 Interrupt
IT1 = 1; // Configure interrupt 1 for falling edge on /INT1 (P3.3)

ES = 1; // Enable Serial Interrupt
SCON = 0x52;// Set UART-Mode1, enable receiver SM0-SM1-SM2-REN = 0-1-0-1
TMOD = 0x21;// Timer1 mode 2, Timer0 mode 1
TH1 = 0xFD; // Set buadrate = 9600 kbps
TR1 = 1; // Start Timer1

EA = 1; // Enable Global interrupt
}
//-------------------------------//
void ex_int0(void) interrupt 0
{
rate--;
}
//-------------------------------//
void ex_int1(void) interrupt 2
{
rate++;
}
//-------------------------------//
void serial_int(void) interrupt 4
{
unsigned char pc_char = 0;

if (RI) {
pc_char = SBUF;
if (pc_char=='p') stop = 0;
if (pc_char=='s') stop = 1;
P2 = pc_char;
RI = 0;
}
}
//-------------------------------//
void delay()
{
unsigned char i;
for (i=0; i<rate; i++) {
TH0 = 0xFE;
TL0 = 0x9C;
TR0 = 1;
while (!TF0);
TR0 = 0;
TF0 = 0;
}
}
//-------------------------------//
void view_led(unsigned char *ptData, unsigned char n)
{
unsigned char len;
unsigned char *pt;

while (n--) {
pt = ptData;
len = *pt;
while (len--) {
if (stop) return;
pt++;
P0 = *pt;
SBUF = P0;
pt++;
P2 = *pt;
SBUF = P2;
delay();
}
}
}
//-------------------------------//
void main(void)
{
init();

while (1) {
view_led(&LED_14, 10); //{Nhap nhay xen ke}
view_led(&LED_15, 10); //{Nhap nhay 4 nhanh}
view_led(&LED_16, 10); //{Nhap nhay 2 nhanh}
view_led(&LED_09, 10); //{Den duoi 1-7}
view_led(&LED_10, 15); //{Den duoi 1-6}
view_led(&LED_11, 20); //{Den duoi 1-5}
view_led(&LED_12, 25); //{Den duoi 1-4}
view_led(&LED_13, 30); //{Den duoi 1-3}
view_led(&LED_01, 2); //{Diem sang chay phai}
view_led(&LED_02, 2); //{Diem sang chay trai}
view_led(&LED_03, 2); //{Diem toi chay phai}
view_led(&LED_04, 2); //{Diem toi chay trai}
view_led(&LED_05, 1); //{Diem sang qua lai lap phai}
view_led(&LED_08, 2); //{Hai diem sang chay nguoc chieu}
view_led(&LED_06, 1); //{Diem sang lap phai}
view_led(&LED_07, 2); //{Diem sang lap trai}
view_led(&LED_17, 5); //{4 diem chay xuoi}
view_led(&LED_18, 5); // {4 diem chay nguoc}
view_led(&LED_19, 1); //{Lan dan phai}
view_led(&LED_20, 1); //{Tat dan trai}
view_led(&LED_21, 1); //{Lan dan trai}
view_led(&LED_22, 1); //{Tat dan phai}
view_led(&LED_23, 1); //{Diem sang lap phai + nhay}
view_led(&LED_24, 1); //{Diem sang lap trai + nhay}
}
}
//-------------------------------//

???
07-11-06, 20:25
Bác tintintin post bài hay quá ha ,tui cũng đang đang muốn tìm hiểu về cái này .Bác có biết cách nào để hiển thị một đoạn text chạy theo ý (muốn ví dụ chạy sang phải ) nhưng mỗi muốn thay đổi dòng text khác không cần phải sửa mạch không,chi việc nạp trương chình khác cho chip thôi .Ai biết post bài lên cho anh em cùng biết cám ơn đã đọc.

tuan1987
31-01-08, 19:30
bác tintintin ơi, em rất muốn làm cái mạch đó nhưng sao không có sơ đồ chi tiếc vậy bác
vì em cũng đang học ngôn ngữ lâp trình C++ nữa

hhdanh
01-02-08, 02:18
co cai mạch chut ti ma may bac trinh bay toi thay phuc tap qua di. tốt nhất là dùng ghi dich khi dó chỉ cần ba chân của vdk là tôi có thể điều khiển lên ca tỉ con led (chắc nguồn ngốn mất máy trăm ngàn ampe quá) nói đùa thối.

tranconghieu
01-02-08, 07:54
ban ơi bạn có thể dùng IC 7409 hoặc 74164. chúc bạn thành công

daodinhbao
29-05-08, 20:31
ôi !!! các bác pro qué de .thank!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

vanhoi
07-08-08, 15:49
chao cac bac !em dang muon lam mach nhieu led cac led sang dan roi tat dan
vi du co 10 led sang tu led 1 den led 10 roi tat theo chieu nguoc lai

vanhoi
07-08-08, 15:50
mong cac bac giup do em ! cam on nhieu

vo_cam
17-08-08, 00:09
dùng 74164(ic ghi dịch 8 bit)
bạn xem sơ đồ

vo_cam
17-08-08, 00:30
mong cac bac giup do em ! cam on nhieu

hơi khác so với ý của bạn ,led sáng dần từ một điểm và tắt dần cũng từ điểm đó

harry_2012
16-12-09, 17:19
các bác có ai biết làm mạch hiện chữ HAPPY NEW YEAR bằng các đèn led ko???Gần tết rồi,có cái đó mang về thì hay quá.Hiện tại tui đã có mạch nạp,cần thêm sơ đồ nguyên lý,code chạy(nếu có file để in lun thì thanks nhiều lắm...

nl07
08-01-10, 08:42
E là dân ko chuyên điện tử. e chỉ học sơ qua thôi. e muốn thiết kế mạch điều khiển led HAPPY NEW YEAR.Mấy bác trình bày phức tạp quá,mấy bác chỉ cần posts sơ đồ ng lý, và mua linh kiện gì là đc. e chỉ biết vẽ bầng bút lông dầu thôi!hixxxxxxxxx.
HELP ME! THANK!