Thông báo
Collapse
No announcement yet.
32ledTRÁI TIM dùng ic89c51 cho dân điện tử
Collapse
X
-
Nguyên văn bởi boychjpcoj Xem bài viếtai có chtrình sáng dồn 32led trái tim ko. sáng từng led 1 sau đó giữ led nah.
good luck
Email:
Gmail:
Comment
-
Nguyên văn bởi boychjpcoj Xem bài viếtai có chtrình sáng dồn 32led trái tim ko. sáng từng led 1 sau đó giữ led nah.
Code:#include"reg51.h" char x,y,i,j,q,g=0x00; int tong2; unsigned long int time=2000;//thay đổi giá trị time để có delay mong muốn void sang_don(); void don_32(); void don_24(); void don_16(); void don_8(); const unsigned char ma_led[]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x81,0x82,0x84,0x88,0x90, 0xA0,0xC0,0xC1,0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA, 0xFC,0xFD,0xFE,0xff}; unsigned long tam; void delay(unsigned long int t) { unsigned long int l; for(l=0;l<t;l++); } main() { while(1) { g=0; don_32(); g++; don_24(); g++; don_16(); g++; don_8(); delay(time+1000); P1=P2=P3=P0=0xff; } } void sang_don() { for(x=0;x<=j;x++) { switch (y) { case 0: { if(g==0) P0=~ma_led[0+x]; else if(g==1) P2=~ma_led[0+x]; else if(g==2) P3=~ma_led[0+x]; else if(g==3) P1=~ma_led[0+x]; break; } case 1: { if(g==0) P0=~ma_led[8+x]; else if(g==1) P2=~ma_led[8+x]; else if(g==2) P3=~ma_led[8+x]; else if(g==3) P1=~ma_led[8+x]; break; } case 2: { if(g==0) P0=~ma_led[15+x]; else if(g==1) P2=~ma_led[15+x]; else if(g==2) P3=~ma_led[15+x]; else if(g==3) P1=~ma_led[15+x]; break; } case 3: { if(g==0) P0=~ma_led[21+x]; else if(g==1) P2=~ma_led[21+x]; else if(g==2) P3=~ma_led[21+x]; else if(g==3) P1=~ma_led[21+x]; break; } case 4: { if(g==0) P0=~ma_led[26+x]; else if(g==1) P2=~ma_led[26+x]; else if(g==2) P3=~ma_led[26+x]; else if(g==3) P1=~ma_led[26+x]; break; } case 5: { if(g==0) P0=~ma_led[30+x]; else if(g==1) P2=~ma_led[30+x]; else if(g==2) P3=~ma_led[30+x]; else if(g==3) P1=~ma_led[30+x]; break; } case 6: { if(g==0) P0=~ma_led[33+x]; else if(g==1) P2=~ma_led[33+x]; else if(g==2) P3=~ma_led[33+x]; else if(g==3) P1=~ma_led[33+x]; break; } case 7: { if(g==0) P0=~ma_led[35+x]; else if(g==1) P2=~ma_led[35+x]; else if(g==2) P3=~ma_led[35+x]; else if(g==3) P1=~ma_led[35+x]; break; } } delay (time); } j--; } void don_32() { j=7; for(y=0;y<=7;y++) { for(q=0;q<=2;q++) { for(x=0;x<=7;x++) { switch (q) { case 0: { P1= ~ma_led[x]; delay (time); break; } case 1: { P3= ~ma_led[x]; delay (time); break; } case 2: { P2= ~ma_led[x]; delay (time); break; } } } P2= P1= P3=0xff; } sang_don(); } } void don_24() { j=7; for(y=0;y<=7;y++) { for(q=0;q<=1;q++) { for(x=0;x<=7;x++) { switch (q) { case 0: { P1= ~ma_led[x]; delay (time); break; } case 1: { P3= ~ma_led[x]; delay (time); break; } } } P1= P3=0xff; } sang_don(); } } void don_16() { j=7; for(y=0;y<=7;y++) { for(x=0;x<=7;x++) { P1= ~ma_led[x]; delay (time); } P1=0xff; sang_don(); } } void don_8() { j=7; for(y=0;y<=7;y++) { sang_don(); } }
Attached Files|
Comment
-
Nguyên văn bởi tdm Xem bài viếtthử cái này xem sao:
Code:#include"reg51.h" char x,y,i,j,q,g=0x00; int tong2; unsigned long int time=2000;//thay đổi giá trị time để có delay mong muốn void sang_don(); void don_32(); void don_24(); void don_16(); void don_8(); const unsigned char ma_led[]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x81,0x82,0x84,0x88,0x90, 0xA0,0xC0,0xC1,0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA, 0xFC,0xFD,0xFE,0xff}; unsigned long tam; void delay(unsigned long int t) { unsigned long int l; for(l=0;l<t;l++); } main() { while(1) { g=0; don_32(); g++; don_24(); g++; don_16(); g++; don_8(); delay(time+1000); P1=P2=P3=P0=0xff; } } void sang_don() { for(x=0;x<=j;x++) { switch (y) { case 0: { if(g==0) P0=~ma_led[0+x]; else if(g==1) P2=~ma_led[0+x]; else if(g==2) P3=~ma_led[0+x]; else if(g==3) P1=~ma_led[0+x]; break; } case 1: { if(g==0) P0=~ma_led[8+x]; else if(g==1) P2=~ma_led[8+x]; else if(g==2) P3=~ma_led[8+x]; else if(g==3) P1=~ma_led[8+x]; break; } case 2: { if(g==0) P0=~ma_led[15+x]; else if(g==1) P2=~ma_led[15+x]; else if(g==2) P3=~ma_led[15+x]; else if(g==3) P1=~ma_led[15+x]; break; } case 3: { if(g==0) P0=~ma_led[21+x]; else if(g==1) P2=~ma_led[21+x]; else if(g==2) P3=~ma_led[21+x]; else if(g==3) P1=~ma_led[21+x]; break; } case 4: { if(g==0) P0=~ma_led[26+x]; else if(g==1) P2=~ma_led[26+x]; else if(g==2) P3=~ma_led[26+x]; else if(g==3) P1=~ma_led[26+x]; break; } case 5: { if(g==0) P0=~ma_led[30+x]; else if(g==1) P2=~ma_led[30+x]; else if(g==2) P3=~ma_led[30+x]; else if(g==3) P1=~ma_led[30+x]; break; } case 6: { if(g==0) P0=~ma_led[33+x]; else if(g==1) P2=~ma_led[33+x]; else if(g==2) P3=~ma_led[33+x]; else if(g==3) P1=~ma_led[33+x]; break; } case 7: { if(g==0) P0=~ma_led[35+x]; else if(g==1) P2=~ma_led[35+x]; else if(g==2) P3=~ma_led[35+x]; else if(g==3) P1=~ma_led[35+x]; break; } } delay (time); } j--; } void don_32() { j=7; for(y=0;y<=7;y++) { for(q=0;q<=2;q++) { for(x=0;x<=7;x++) { switch (q) { case 0: { P1= ~ma_led[x]; delay (time); break; } case 1: { P3= ~ma_led[x]; delay (time); break; } case 2: { P2= ~ma_led[x]; delay (time); break; } } } P2= P1= P3=0xff; } sang_don(); } } void don_24() { j=7; for(y=0;y<=7;y++) { for(q=0;q<=1;q++) { for(x=0;x<=7;x++) { switch (q) { case 0: { P1= ~ma_led[x]; delay (time); break; } case 1: { P3= ~ma_led[x]; delay (time); break; } } } P1= P3=0xff; } sang_don(); } } void don_16() { j=7; for(y=0;y<=7;y++) { for(x=0;x<=7;x++) { P1= ~ma_led[x]; delay (time); } P1=0xff; sang_don(); } } void don_8() { j=7; for(y=0;y<=7;y++) { sang_don(); } }
vừa mới học asm thui
bác có bản asm k e mới viết 16 led thôi chưa viết 32 led để tẹo rảnh viêt cái xem sao
Email:
Gmail:
Comment
-
Nguyên văn bởi tdm Xem bài viếtthử cái này xem sao:
Code:#include"reg51.h" char x,y,i,j,q,g=0x00; int tong2; unsigned long int time=2000;//thay đổi giá trị time để có delay mong muốn void sang_don(); void don_32(); void don_24(); void don_16(); void don_8(); const unsigned char ma_led[]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x81,0x82,0x84,0x88,0x90, 0xA0,0xC0,0xC1,0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA, 0xFC,0xFD,0xFE,0xff}; unsigned long tam; void delay(unsigned long int t) { unsigned long int l; for(l=0;l<t;l++); } main() { while(1) { g=0; don_32(); g++; don_24(); g++; don_16(); g++; don_8(); delay(time+1000); P1=P2=P3=P0=0xff; } } void sang_don() { for(x=0;x<=j;x++) { switch (y) { case 0: { if(g==0) P0=~ma_led[0+x]; else if(g==1) P2=~ma_led[0+x]; else if(g==2) P3=~ma_led[0+x]; else if(g==3) P1=~ma_led[0+x]; break; } case 1: { if(g==0) P0=~ma_led[8+x]; else if(g==1) P2=~ma_led[8+x]; else if(g==2) P3=~ma_led[8+x]; else if(g==3) P1=~ma_led[8+x]; break; } case 2: { if(g==0) P0=~ma_led[15+x]; else if(g==1) P2=~ma_led[15+x]; else if(g==2) P3=~ma_led[15+x]; else if(g==3) P1=~ma_led[15+x]; break; } case 3: { if(g==0) P0=~ma_led[21+x]; else if(g==1) P2=~ma_led[21+x]; else if(g==2) P3=~ma_led[21+x]; else if(g==3) P1=~ma_led[21+x]; break; } case 4: { if(g==0) P0=~ma_led[26+x]; else if(g==1) P2=~ma_led[26+x]; else if(g==2) P3=~ma_led[26+x]; else if(g==3) P1=~ma_led[26+x]; break; } case 5: { if(g==0) P0=~ma_led[30+x]; else if(g==1) P2=~ma_led[30+x]; else if(g==2) P3=~ma_led[30+x]; else if(g==3) P1=~ma_led[30+x]; break; } case 6: { if(g==0) P0=~ma_led[33+x]; else if(g==1) P2=~ma_led[33+x]; else if(g==2) P3=~ma_led[33+x]; else if(g==3) P1=~ma_led[33+x]; break; } case 7: { if(g==0) P0=~ma_led[35+x]; else if(g==1) P2=~ma_led[35+x]; else if(g==2) P3=~ma_led[35+x]; else if(g==3) P1=~ma_led[35+x]; break; } } delay (time); } j--; } void don_32() { j=7; for(y=0;y<=7;y++) { for(q=0;q<=2;q++) { for(x=0;x<=7;x++) { switch (q) { case 0: { P1= ~ma_led[x]; delay (time); break; } case 1: { P3= ~ma_led[x]; delay (time); break; } case 2: { P2= ~ma_led[x]; delay (time); break; } } } P2= P1= P3=0xff; } sang_don(); } } void don_24() { j=7; for(y=0;y<=7;y++) { for(q=0;q<=1;q++) { for(x=0;x<=7;x++) { switch (q) { case 0: { P1= ~ma_led[x]; delay (time); break; } case 1: { P3= ~ma_led[x]; delay (time); break; } } } P1= P3=0xff; } sang_don(); } } void don_16() { j=7; for(y=0;y<=7;y++) { for(x=0;x<=7;x++) { P1= ~ma_led[x]; delay (time); } P1=0xff; sang_don(); } } void don_8() { j=7; for(y=0;y<=7;y++) { sang_don(); } }
Comment
-
Comment
-
Nguyên văn bởi tdm Xem bài viếtđã mô phỏng thử chưa mà biết nó tắt dần.
Comment
-
Nguyên văn bởi boychjpcoj Xem bài viếtmô phỏng rồi mà.không phải tắt dần mà là tắt dồn. điều khiển âm ah. thế làm sao sửa diều khiển dương?
Comment
-
Nguyên văn bởi ckd_speed Xem bài viếtMạch của bạn điều khiển dương mà sáng được cũng hay thật đấy
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Kiểm tra biến ápbởi bqvietNgười tàu bán máy này sang VN nhiều phết, ví dụ hàng của hãng GainKaiTa gì đó đủ loại từ đơn giản tới phức tạp
http://en.gkt.com.cn/
Kiểu 3259 cũ chẳng hạn, nhiều tính năng mà vẫn tương đối nhỏ gọn.-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 00:15 -
-
bởi lamvu0677Chào mọi người, e làm trong cty về biến áp , toàn mấy con nhỏ nhỏ, làm sao để mình có thể kiểm tra nhanh số vòng dây của mỗi cuộn , đầu vào đầu ra của dây, có thiết bị gì nhỏ gọn hỗ trợ việc này không ạ , xin cảm ơn...
-
Channel: Điện tử dành cho người mới bắt đầu
12-05-2024, 07:15 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamNhịp 2/4 1 trường canh có 2 nốt đen. Nhịp 3/4 1 trường canh có 3 nốt đen. Nhịp 4/4 1 trường canh có 4 nốt đen.
Các điệu nhạc sẽ có âm bass ở phách mạnh. Dồn 2 trường canh 2/4 thành 4/4 chơi điệu chachacha, nghe "kỳ cục" lắm....-
Channel: Tâm tình dân kỹ thuật
08-05-2024, 07:05 -
-
Trả lời cho Dùng MC34063 để làm driver lái led 1W, 3Wbởi bqvietDatasheet PT4115 có sẵn sơ đồ chuẩn, lắp theo đúng nó là xong. Mạch cực đơn giản luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
08-05-2024, 00:31 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cháu có biết gì về nhịp 2/4 hay 4/4 đâu, hôm bữa hỏi chú nhạc sĩ kia nói là để 2/4 ạ....
-
Channel: Tâm tình dân kỹ thuật
07-05-2024, 21:47 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamNhịp 4/4 người ta mới chọn điệu Chachacha. Cháu viết nhịp 2/4 thì 2 trường canh mới hoàn thành điệu chachacha. Khi đó sẽ có lúc không khớp với tiếng trống điệu chachacha. Thời gian hành âm nhanh 120 cháu nên chọn điệu disco sẽ hay hơn....
-
Channel: Tâm tình dân kỹ thuật
07-05-2024, 20:21 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Theo gợi ý của bác, cháu dịch xuống vài nốt đây:...
-
Channel: Tâm tình dân kỹ thuật
07-05-2024, 16:42 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamHay quá dinhthuong ơi!
Tôi có sự góp ý nhỏ thế này:
1- Chachacha thường viết cho nhịp 4/4, ít thấy nhịp 2/4 lại là điệu Chachacha.
2- Đoạn Bao nhiêu yêu thương ......và điệp khúc bao nhiêu hân hoan..... cao quá làm sao ca sĩ hát nổi?...-
Channel: Tâm tình dân kỹ thuật
07-05-2024, 15:31 -
Comment