![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Sep 2008
Bài gửi: 4
: |
mạch chạy chữ sử dụng pic 16f877a
Mình đang làm mạch chạy chữ sử dụng pic 16f877a và hiển thị led đơn , mỗi chữ mình sử dụng 100 led . Khi mình gắn trở 330 thì nó nóng lên . cho mình hỏi nên gắn trở có giá trị bao nhiêu . và sử dụng con trans nào để kích led ?
làm ơn giúp mình với mình xin cám ơn |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Sep 2007
Bài gửi: 6
: |
bạn phải nói rõ sơ đồ bạn nối ntn chứ.
Nếu như bạn sử dụng nguồn 12V, các led nối chung dương thì bạn có thể dùng con a1015 nối dalington với con tip42,đầu âm của led(ở đây là các led trong cùng 1 chữ) nối vào chân C của con tip42,dùng 1 chân con vdk nối qua trở 1k vào chân B của a1015 để kích mở cho led(nhớ là xuất mức 0 là led ngoài sáng nha).Tùy vào từng màu của led mà bạn sử dụng trở cho thích hợp để có được độ sáng phù hợp. chúc thành công! |
![]() |
![]() |
![]() |
#3 |
Đệ tử 7 túi
Tham gia ngày: May 2009
Bài gửi: 242
: |
Mình nêu ý tưởng cho bạn tham khảo nhé
- Từ chân VDK nối với opto MOC3020 chân 1,2 ( đây là việc làm cách ly nếu dùng biến áp cấp nguồn cho VDK) - Chân 4-6 nối với triac BTA12 hay 97A6 tùy người dùng - Nối tiếp 100 con led và dùng công thức tính R giảm áp với nguốn là 220V - Cấp nguồn VDK bạn có thể dùng biến áp hay dùng tụ hạ áp luôn cho tiện |
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: May 2010
Bài gửi: 7
: |
[QUOTE=duy.hut.fet;35905]co anh em nao code va mach thi post luon di.em cung khoai cai nay lam ma chua biet lam tu dau[/QUOTE
mình nghĩ bạn nên dùng ma trận led thì hay. nó có thể được cải tiến theo nhiều kiểu với lại hiển thị theo ý mình. cái này mình cũng làm thử rùi chạy cũng tạm. đây là code mình đã làm sử dụng 74hc595 để quét. sau này nếu dã khá nên chuyên sang dùng file font đính kèm. #include <16f877a.h> #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use fast_io(b) #use fast_io(d) #use delay(clock=20000000) int16 send_reg; int16 const chay[16]={0x8000,0x4000,0x2000,0x1000,0x0800,0x0400,0x0200 ,0x0100, 0x0080,0x0040,0x0020,0x0010,0x0008,0x0004,0x0002,0 x0001}; int8 const data[42]={0xff,0xff,0xff,0xff,0xff,0xff,0xff, //dau cach 0xff,0x80,0xf7,0xf7,0xf7,0x80,0xff, //chu h 0xff,0x81,0xfe,0xfe,0xfe,0x81,0xff, //chu u 0xff,0xc0,0xb7,0xb7,0xb7,0xc0,0xff, //chu a 0xff,0x80,0xef,0xf7,0xfb,0x80,0xff, //chu n 0xff,0xff,0xff,0xff,0xff,0xff,0xff}; //dau cach int8 m,l,x; void serout() { int8 n; #bit d7=send_reg.15 { n=0; for(n=0;n<16;n++) { output_low(pin_b0); if(d7!=0) output_high(pin_b0); output_high(pin_b1); output_low(pin_b1); send_reg=send_reg<<1; } } } void hien_thi() { set_tris_b(0xf0); output_b(0x04); output_low(pin_b2); output_high(pin_b2); serout(); output_high(pin_b3); output_low(pin_b3); } void hc595(l) { m=0; for(m=0;m<16;m++) { x=m+l; if(x<42) { send_reg=chay[m]; hien_thi(); output_d(data[x]); delay_ms(5); } else { send_reg=chay[m]; hien_thi(); output_d(data[x-42]); delay_ms(5); } } } void main() { while(1) { set_tris_d(0); l=0; for(l=0;l<42;l++) hc595(l); } } thay đổi nội dung bởi: huankhi, 11-05-2010 lúc 10:47 PM. Lý do: quyên không post code |
![]() |
![]() |
![]() |
#5 |
Đệ tử 3 túi
Tham gia ngày: Jun 2010
Bài gửi: 57
: |
Cậu post luôn mạch lên đi.thế này khó hình dung quá.
|
![]() |
![]() |
![]() |
|
|