Bạn nào biết kỹ thuật quét LED không ? Minh cần biết giải thuật của kỹ thuật quét LED !
Thông báo
Collapse
No announcement yet.
Các phương pháp quét LED
Collapse
X
-
Nguyên văn bởi nole_tdofanh Xem bài viếtBạn nào biết kỹ thuật quét LED không ? Minh cần biết giải thuật của kỹ thuật quét LED !
Dùng timer quét là tối ưu nhất.
-
sau đây là chương trình quet 4 led 7 thanh:
-----------------------------------------------------------------
Code:#include <REGX52.H> //=======a....d la cac bit dau vao cua 74HC47 #define a P2_0 #define b P2_1 #define c P2_2 #define d P2_3 //========thu tu led tinh tu phai qua trai #define led1 P2_4 #define led2 P2_5 #define led3 P2_6 #define led4 P2_7 //********Khai báo các biến****************** unsigned char t1,t2,t3,t4,thu_tu_led; //*********Ham tao do tre******************* void delay(unsigned int ms) { unsigned int i,j; for (i=0; i<ms; i++) { for (j=0; j<120; j++) ; //----------------led 7 thanh------------------------- void display(unsigned char number) //hiển thị 1 số trên led 7 thanh. //đổi số number thành mã BCD { char x,y; x=number/8;y=number-x*8;d=x; x=y/4;y=y-x*4;c=x; x=y/2;y=y-x*2;b=x; a=y; } void display_led(unsigned int number,led) { if(led==1) {P2=0xff;led1=0;} else if (led==2) {P2=0xff;led2=0;} else if (led==3) {P2=0xff;led3=0;} else if (led==4) {P2=0xff;led4=0;} else {P2=0xff;} display(number); } void timer0_init()//dung cho ngat timer 0 { TMOD&=0xF0;//0xFO=1111.0000 TMOD|=0x01;//timer0 in mode 1(16bit) ET0=1; EA=1; //tham khao "ho vi dieu khien 8051" TH0=0x00; //Phai chu y TL0=0x00; //Phai chu y TR0=1; } void chuongtrinh_timer0 (void) interrupt 1//chuong trinh phuc vu ngat timer0 { unsigned char hh; if (thu_tu_led==1){hh=t1;} else if (thu_tu_led==2){hh=t2;} else if (thu_tu_led==3){hh=t3;} else {hh=t4;} display_led(hh,thu_tu_led); thu_tu_led= thu_tu_led+1; if (thu_tu_led>4){thu_tu_led=1;} //giu nguyen TH0=0xf0; TL0=0xf0; TF0=0; TR0=1; } } } main() {//làm gì thì làm //lưu ý:t1,t2,t3,t4 là các giá trị hiển thị trên led 7 thanh //còn việc bạn lấy giá trị của nó ở đâu thì tùy bạn }
Last edited by VNarmy; 12-03-2007, 23:22.
Comment
-
Tham khảo 2 cái này nha!
1 cái quét ma trận LED!
1 cái quét n led 7 đoạn!
Phương pháp rất rỗ ràng!
Comment
-
Thuật toán cơ bản để quét mọi loại Led:
1. Xuất ra mã
2. Cấp nguồn cho led
3. Trễ 1 khoảng thời gian
4. Cắt nguồn cho led
Mọi bài toán quét led thường giải quyết chủ yếu theo phương pháp này. Ngay cả khi bạn quét một ma trận led cũng thế. Tại mỗi thời điểm thực tế là chỉ có một hàng hoặc cột(tùy theo cách mắc phần cứng) là được cấp nguồn. Nhưng do tần số quét nhanh nên mắt ta nhìn thành chữ mà thôi.
Comment
-
Khi quét LED như vậy do tần số cao LED sẽ sáng mờ hơn bình thường (tôi dùng loại LED cỡ lớn cao khoảng 4cm, áp đặt lên mỗi thanh ~3V). Nếu không dùng IC để chốt dữ liệu thì có cách nào cho LED sáng hơn không? Tôi đã thử bỏ trở hạn dòng nhưng vẫn chưa đủ độ sáng. Trường hợp quét 4 LED thì nên đặt thời gian quét cho từng LED khoảng bao nhiêu?
Comment
-
quet 22 con led - Sơ đồ nguyên lí :http://dientuvietnam.net/forums/show...467#post167467
code....
unsigned char ma_bcd[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; // Common Anode
.............
void scan_led(char dataout)
{
for(i=0;i<8;i++)
{
temp=dataout;
temp=temp&0x80;
if(temp==0x80)
{
DATALINE = 1;
}
else
{
DATALINE = 0;
}
dataout *=2;
SCKLINE=1;
SCKLINE=0;
}
}
void scan_3led(unsigned char data1,unsigned char data2, unsigned char data3)
{
scan_led(data1);
scan_led(data2);
scan_led(data3);
}
void scan_22led(void)
{
for(j=0;j<9;j++)
{
STROBELINE = 0;
switch (j)
{
case 0: scan_3led(secl,a2minl,a4minl);P0 = 0x7F;break;
case 1: scan_3led(sech,a2minh,a4minh);P0 = 0xBF;break;
case 2: scan_3led(secl,a2hourl,a4hourl);P0 = 0xDF;break;
case 3: scan_3led(sech,a2hourh,a4hourh);P0 = 0xEF;break;
case 4: scan_3led(minl,a1minl,a3minl);P0 = 0xFE;break;
case 5: scan_3led(minh,a1minh,a3minh);P0 = 0xFD;break;
case 6: scan_3led(hourl,a1hourl,a3hourl);P0 = 0xFB;break;
case 7: scan_3led(hourh,a1hourh,a3hourh);P0 = 0xF7;break;
case 8: scan_3led(0XFF,0XFF,0XFF);P0 = 0xFF;break;
}
STROBELINE = 1;
STROBELINE = 0;
LED = SQW;
delay(50);
}
}
..............
Chúc bạn thành công.
Comment
-
Nguyên văn bởi digital83 Xem bài viếtCác anh cho hỏi tí.
Ở SG có chổ nào bán led matrix 8x8 và 16hangx 8cot loại siêu sáng ko vậy?
Có chứ bạn ra 158B Lý Thường Kiệt đó.
Comment
-
Lại nhờ các anh cho tiếp ý kiến đây.
Em mới làm bảng quang báo 64 cột 8 hàng.Em quét led theo cột.
Cấp dữ liệu (mức 0)trực tiếp cho led bằng các chân của 89c51 luôn
Nhưng em thấy sao mà chữ sáng mờ quá
Không biết là lấy trực tiếp mức 0 từ 89 như thế có nên ko?và nó có đủ dòng để cấp cho led ko nữa?
Mong các anh chỉ giáo!
Comment
-
Lại nhờ các anh cho tiếp ý kiến đây.
Em mới làm bảng quang báo 64 cột 8 hàng.Em quét led theo cột.
Cấp dữ liệu (mức 0)trực tiếp cho led bằng các chân của 89c51 luôn
Nhưng em thấy sao mà chữ sáng mờ quá
Không biết là lấy trực tiếp mức 0 từ 89 như thế có nên ko?và nó có đủ dòng để cấp cho led ko nữa?
Mong các anh chỉ giáo!
Comment
-
Nguyên văn bởi digital83 Xem bài viếtLại nhờ các anh cho tiếp ý kiến đây.
Em mới làm bảng quang báo 64 cột 8 hàng.Em quét led theo cột.
Cấp dữ liệu (mức 0)trực tiếp cho led bằng các chân của 89c51 luôn
Nhưng em thấy sao mà chữ sáng mờ quá
Không biết là lấy trực tiếp mức 0 từ 89 như thế có nên ko?và nó có đủ dòng để cấp cho led ko nữa?
Mong các anh chỉ giáo!
Bạn post sơ đồ mạch : Điều khiển + Hiển thị Led lên đi. Có gì mọi người xem rồi mới giúp đỡ bạn được. Theo mình được biết thì nếu bạn quét nhiều Led matrix thì mạch điều khiển phải tính toán công suất thì mới đủ sáng được. cố gắng lên nha.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho tìm mua đồng hồ vạn năngbởi mèomướpDạ chú mua cái kẹp dòng ấy ạ. Chị hàng xóm nhà cháu có 1 cái thấy lâu lâu rùi chưa hỏng ạ. Ví dụ như mẫu này trên shoppee đầy ạ...
https://vn.shp.ee/dWYVgq7-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 12:48 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi vi van phamBác Đinh Vặn sai rồi,bây giờ con nít mẫu giáo đã giải phương trình 2 ẩn số rồi.
Tôi chứng minh bác lên youtube đầy video đơn giản tựa rất hot, chỉ 1 transistor hay 1 con diode và hướng dẩn cách làm, tác giả không vẽ sơ đồ mạch điện...-
Channel: Điện tử công suất
hôm nay, 11:55 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nguyendinhvanBây giờ mới có tháng giêng, bao giờ mới đến tháng mười ?
Các cháu mẫu giáo mới lên lớp 1 được có 4 tháng. Nên đừng lấy lý do chúng nó đã đi học rồi để bắt nó viết một bài luận văn, hay là giải bài toán hàm. Phải kiên nhẫn...-
Channel: Điện tử công suất
hôm nay, 00:47 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nguyendinhvanKhông có loại nào đủ một vạn chức năng đâu. Nó chỉ được 2345678 , hoặc khủng lắm thì được 10 chức năng.
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 00:16 -
-
bởi since0501Cảm ơn bác đã chia sẻ!...
-
Channel: Điện tử dành cho người mới bắt đầu
19-01-2025, 19:00 -
-
bởi Lê Gia TứMình muốn tìm mua đồng hồ vạn năng giá khoảng 200k có đo tần số cao khoảng 0~1mhz mọi người tư vấn giúp mình với
-
Channel: Điện tử dành cho người mới bắt đầu
19-01-2025, 15:47 -
-
Trả lời cho Mạch tự động bật nguồnbởi davidcopyChỉ cần dùng R C mắc vô phím power là ok....
-
Channel: Điện tử gia dụng
18-01-2025, 20:47 -
-
Trả lời cho Hỏi cách điều chế xungbởi davidcopydùng mach khuếch opamp...
-
Channel: Kỹ thuật điện tử tương tự
18-01-2025, 20:42 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi davidcopy
-
Channel: Điện tử dành cho người mới bắt đầu
18-01-2025, 18:56 -
-
bởi bqvietĐấy gọi là cái "điểm gãy" trong đồ thị điện áp - dung lượng còn lại. Dùng điện áp hở cực để xác định sắp hết hoặc gần đầy thì vẫn tạm ổn. Dùng để đo SOC/DOD thì đừng. Ngay cả số km đã đi cũng chả xác định được...
-
Channel: Điện tử dành cho người mới bắt đầu
17-01-2025, 21:36 -
Comment