Thông báo

Collapse
No announcement yet.

[HELP] Quét led matrix 8x8 ạ...

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    thx khanhduy nhiều nha, tuy mình không dùng buffer nhưng dựa vào ý tưởng của bạn mình đã làm được rồi, được hết bảng chữ cái, thêm 10 chữ số nữa thì nó vượt quá RAM >"< hihi.

    Giờ nếu mún thêm các chữ số và 1 số ký tự khác thì phải dùng ram ngoài àh???


    Code của như sau :
    Code:
    #include <regx52.h>
    	unsigned char ud1,ud2,kt=1;
    	unsigned char mang1[8],mang2[8];
    									   
    void delay(unsigned int ms)
      { 
        unsigned int i,j;
        for (i=0; i<ms; i++)
    		for (j=0; j<120; j++);
      }
    
    void ht(char mang[]);  
    void chonmang(unsigned char ud,unsigned char mang[]);
    
    void ui()
    {
    	SCON=0x50;	TMOD&=0x0F;    TMOD|=0x20;    TH1=0xFD;    TL1=0xFD;    ES=1;	EA=1;	TR1=1;
    }
    
    /*void send_data(char uart_data)//gui du lieu qua cong COM
    {
    	TI=0;
    	SBUF=0x00;
    	SBUF=uart_data;
    	while(TI==0){}//cho trong khi dang gui du lieu
    	TI=0;
    } */
    
    void re() interrupt 4
    {
    	if(RI==1)
    		{
    			RI=0;
    			if (kt==1) {ud1=SBUF;kt=2;chonmang(ud1,mang1);}
    			else {ud2=SBUF;kt=1;chonmang(ud2,mang2);}
    		}
    }			 
    
    
    void chonmang(unsigned char ud,unsigned char mang[])
    {
    	switch (ud)
    	{
    	case 'a' : 
    		mang[0]=247;mang[1]=235;mang[2]=221;mang[3]=190;mang[4]=128;mang[5]=190;mang[6]=190;mang[7]=190;
    		break;
    	case 'b' : 	
    		mang[0]=240;mang[1]=238;mang[2]=238;mang[3]=224;mang[4]=222;mang[5]=222;mang[6]=222;mang[7]=224;		
    		break;
    	case 'c':		
    		mang[0]=225;mang[1]=222;mang[2]=254;mang[3]=254;mang[4]=254;mang[5]=254;mang[6]=222;mang[7]=225;
    		break;		
    	case 'd':																							 
    		mang[0]=240;mang[1]=238;mang[2]=222;mang[3]=222	;mang[4]=222;mang[5]=222;mang[6]=238;mang[7]=240;
    		break;		
    	case 'e' :		
    		mang[0]=192;mang[1]=254;mang[2]=254;mang[3]=192;mang[4]=254;mang[5]=254;mang[6]=254;mang[7]=192;
    		break;		
    	case 'f' :		
    		mang[0]=192;mang[1]=254;mang[2]=254;mang[3]=192;mang[4]=254;mang[5]=254;mang[6]=254;mang[7]=254;
    		break;		
    	case 'g' :		
    		mang[0]=225;mang[1]=222;mang[2]=254;mang[3]=254;mang[4]=198;mang[5]=222;mang[6]=222;mang[7]=225;
    		break;		
    	case 'h' :		
    		mang[0]=222;mang[1]=222;mang[2]=222;mang[3]=192;mang[4]=222;mang[5]=222;mang[6]=222;mang[7]=222;
    		break;		
    	case 'i' :	
    		mang[0]=193;mang[1]=247;mang[2]=247;mang[3]=247;mang[4]=247;mang[5]=247;mang[6]=247;mang[7]=128;
    		break;		
    	case 'j' :		
    		mang[0]=193;mang[1]=247;mang[2]=247;mang[3]=247;mang[4]=247;mang[5]=247;mang[6]=246;mang[7]=249;
    		break;		
    	case 'k' :		
    		mang[0]=238;mang[1]=246;mang[2]=250;mang[3]=252;mang[4]=250;mang[5]=246;mang[6]=238;mang[7]=222;
    		break;										 								   
    	case 'l' :		
    		mang[0]=254;mang[1]=254;mang[2]=254;mang[3]=254;mang[4]=254;mang[5]=254;mang[6]=254;mang[7]=192;
    		break;																						 
    	case 'm' :		
    		mang[0]=190;mang[1]=156;mang[2]=170;mang[3]=182;mang[4]=190;mang[5]=190;mang[6]=190;mang[7]=190;
    		break;		
    	case 'n' :		
    		mang[0]=190;mang[1]=188;mang[2]=186;mang[3]=182;mang[4]=174;mang[5]=158;mang[6]=190;mang[7]=190;
    		break;																										  
    	case 'o' :		
    		mang[0]=225;mang[1]=222;mang[2]=222;mang[3]=222;mang[4]=222;mang[5]=222;mang[6]=222;mang[7]=225;
    		break;		
    	case 'p' :		
    		mang[0]=224;mang[1]=222;mang[2]=222;mang[3]=222;mang[4]=224;mang[5]=254;mang[6]=254;mang[7]=254;
    		break;		
    	case 'q' :		
    		mang[0]=225;mang[1]=222;mang[2]=222;mang[3]=222;mang[4]=222;mang[5]=198;mang[6]=222;mang[7]=161;
    		break;																
    	case 'r' :		
    		mang[0]=224;mang[1]=222;mang[2]=222;mang[3]=224;mang[4]=250;mang[5]=246;mang[6]=238;mang[7]=222;
    		break;		
    	case 's' :		
    		mang[0]=225;mang[1]=222;mang[2]=254;mang[3]=225;mang[4]=223;mang[5]=223;mang[6]=222;mang[7]=225;
    		break;		
    	case 't' :		
    		mang[0]=128;mang[1]=247;mang[2]=247;mang[3]=247;mang[4]=247;mang[5]=247;mang[6]=247;mang[7]=247;
    		break;		
    	case 'u' :		
    		mang[0]=222;mang[1]=222;mang[2]=222;mang[3]=222;mang[4]=222;mang[5]=222;mang[6]=206;mang[7]=209;
    		break;		
    	case 'v' :		
    		mang[0]=190;mang[1]=190;mang[2]=190;mang[3]=190;mang[4]=190;mang[5]=221;mang[6]=235;mang[7]=247;
    		break;				
    	case 'w' :		
    		mang[0]=190;mang[1]=190;mang[2]=190;mang[3]=190;mang[4]=182;mang[5]=182;mang[6]=213;mang[7]=235;
    		break;		
    	case 'x' :		
    		mang[0]=222;mang[1]=222;mang[2]=237;mang[3]=243;mang[4]=243;mang[5]=237;mang[6]=222;mang[7]=222;
    		break;		
    	case 'y' :		
    		mang[0]=190;mang[1]=190;mang[2]=221;mang[3]=235;mang[4]=247;mang[5]=247;mang[6]=247;mang[7]=247;
    		break;		
    	case 'z' :		
    		mang[0]=192;mang[1]=222;mang[2]=239;mang[3]=247;mang[4]=251;mang[5]=253;mang[6]=222;mang[7]=192;
    		break;		
    	case '0' : 	
    		mang[0] = 225;mang[1] = 222;mang[2] = 206;mang[3] = 214;mang[4] = 218;mang[5] = 220;mang[6] = 222;mang[7] = 225;		
    		break;
    /*	case '1' : 		
    		mang[0] = 251;mang[1] = 249;mang[2] = 250;mang[3] = 251;mang[4] = 251;mang[5] = 251;mang[6] = 251;mang[7] = 224;		
    		break;
    	case '2' : 	
    		mang[0] = 241;mang[1] = 238;mang[2] = 239;mang[3] = 247;mang[4] = 251;mang[5] = 253;mang[6] = 254;mang[7] = 224;		
    		break;
    	case '3' : 	
    		mang[0] = 241;mang[1] = 238;mang[2] = 239;mang[3] = 243;mang[4] = 239;mang[5] = 239;mang[6] = 238;mang[7] = 241;		
    		break;
    	case '4' : 	
    		mang[0] = 247;mang[1] = 243;mang[2] = 245;mang[3] = 246;mang[4] = 224;mang[5] = 237;mang[6] = 237;mang[7] = 247;		
    		break;
    	case '5' : 	
    		mang[0] = 224;mang[1] = 254;mang[2] = 254;mang[3] = 240;mang[4] = 249;mang[5] = 239;mang[6] = 238;mang[7] = 241;		
    		break;
    	case '6' : 		
    		mang[0] = 241;mang[1] = 238;mang[2] = 254;mang[3] = 240;mang[4] = 238;mang[5] = 238;mang[6] = 238;mang[7] = 241;		
    		break;
    	case '7' : 	
    		mang[0] = 192;mang[1] = 222;mang[2] = 239;mang[3] = 239;mang[4] = 247;mang[5] = 247;mang[6] = 251;mang[7] = 251;		
    		break;
    	case '8' : 	
    		mang[0] = 241;mang[1] = 238;mang[2] = 238;mang[3] = 241;mang[4] = 238;mang[5] = 238;mang[6] = 238;mang[7] = 241;		
    		break;
    	case '9' : 		
    		mang[0] = 241;mang[1] = 238;mang[2] = 238;mang[3] = 225;mang[4] = 239;mang[5] = 239;mang[6] = 238;mang[7] = 241;		
    		break;	  */
    	default : 
    		mang[0] = 0;mang[1] = 0;mang[2] = 0;mang[3] = 0;mang[4] = 0;mang[5] = 0;mang[6] = 0;mang[7] = 0;		
    		break;	
    	}
    }				 
    	char p3[3][8] = {{0,1,0,1,0,1,0,1},{0,0,1,1,0,0,1,1},{0,0,0,0,1,1,1,1}};
    	char col;	 	
    main(void)
    {
    	ui();
    	while(1)
    	{
    		P3_4=p3[0][col];		P3_5=p3[1][col];		P3_6=p3[2][col];		P3_7=0x00;
    		P0 = mang1[col];		P2 = mang2[col];
    		col++;	  
    		if(col==8)col=0;
    		delay(5);
    	}
    
    }
    Last edited by Huntress1; 01-11-2008, 11:12.

    Comment


    • #17
      - ủa, đoạn code của bạn mới dùng có 53byte RAM thôi mà ? Làm sao mà hết RAM được. À, bạn dùng con VĐK nào.
      - Còn dung lượng code là 2221byte.

      - Mình dùng con 89S52. RAM 256byte Flash 8K.

      Thân,

      Comment


      • #18
        #include <regx52.h>
        Đó, mình dùng thế này

        Nếu mở thêm bảng chữ số nữa nó báo thế này, k mở bảng chữ số thì chạy ngon
        compiling led.c...
        linking...
        BL51 BANKED LINKER/LOCATER V6.15 - SN: Eval Version
        COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2008
        "STARTUP.obj",
        "led.obj"
        TO "led"
        RAMSIZE(256)
        ************************************************** ****************************
        * RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0823H BYTE (101%) *
        ************************************************** ****************************
        Program Size: data=53.0 xdata=0 code=2264
        LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
        *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
        MODULE: C:\KEIL\C51\LIB\C51S.LIB (-----)
        LIMIT: 0800H BYTES
        Target not created

        Comment


        • #19
          Code:
          *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
          - Bản KeilC của bạn đang xài không cho phép tạo mã code lớn hơn (Kiếm bản khác tải đi , bản này hình như bạn xài là Free phải không?).

          Thân,

          Comment


          • #20
            ờ ờ, hình như mình chưa cra ck, cảm ơn bạn nha, để cra ck phát thử sem ^^

            Comment


            • #21
              yea, xong rồi, giờ đi làm mạch nữa là xong. Mệt mỏi quá ..........
              Chưa bít gì về mấy cái này mà làm phải hoàn thành trong 4 tuần, giờ thì phần mô phỏng thì ok rồi, lắp thiết bị nữa thui, hy vọng xong trong tuần này.

              Rất cảm ơn các anh chị em đã viết nhiều tut để mình tham khảo và học hỏi, đặc biệt cảm ơn bạn khanhduy đã giúp đỡ, đóng góp nhiều ý kiến hay cho mình.
              Xin chân thành cảm ơn tất cả mọi người !!!

              Comment


              • #22
                Cảm ơn sao không nhấn nút cảm ơn nhỉ

                Web:[url]www.ledviet.info/url]
                Email:
                DĐ:0949299699

                Comment


                • #23
                  - Chúc mừng nhé .
                  - À, Mạch in bạn định làm = tay hay thuê làm ?
                  - Mình đang bị kẹt ở mạch in đây. Led matrix 8x8 mua ở Nhật Tảo có chân không theo 1 thứ tự nào cả. Định làm 1 mạch in để sắp lại chân cho theo hàng/cột mà không có kinh nghiệm làm mạch in (làm mạch 1 lớp có được không nhỉ? hay là phải 2 lớp).
                  Thân,

                  Comment


                  • #24
                    bạn dùng VOM để đo các chân của nó trước khi làm là biết thôi! cũng dễ mà bác!
                    SỰ HỌC LÀ MÃI MÃI......!!!!

                    Comment


                    • #25
                      mạch in mình tự làm, nhờ 1 anh hướng dẫn, anh ấy có kinh nghiệm làm mạch in rồi.

                      bạn làm mạch in để sắp lại chân thì làm 1 lớp được rồi, chủ yếu là đo chân của matrix cũ để chuyển cho đúng thôy

                      Comment


                      • #26
                        chào các bạn.các bạn có thể cho mình core asm. của chương trình này được kg.?cám ơn các bạn trước nha..

                        Comment


                        • #27
                          ban co the cho mình.cỏe asm của chương trình này đc kg.cam ơn bạn nhiều nhé..dia chi cù mình..trunghieu197697@yahoo.com.vn

                          Comment


                          • #28
                            chào các pác, mong các pác giúp em với, e mới học vi điều khiển chưa hiểu cho mấy, e đang làm cái đồ án về 89c51 điều khiển led matrix 8*8. pác nào có sơ đồ mạch và codeC cho e xin nhé. mong được sự giúp đỡ của các pác. thanks pác nhìu. pác nào có thì gửi qua mail giùm e luôn nhé: nguyenbaohuy89@yahoo.com

                            Comment

                            Về tác giả

                            Collapse

                            khanhduy301 Tìm hiểu thêm về khanhduy301

                            Bài viết mới nhất

                            Collapse

                            • mèomướp
                              Trả lời cho Sửa bộ nguồn DC 60V 45A
                              bởi mèomướp
                              Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                              hôm nay, 13:11
                            • tuyennhan
                              Trả lời cho Sửa bộ nguồn DC 60V 45A
                              bởi tuyennhan
                              Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                              hôm nay, 09:25
                            • tuyennhan
                              Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                              bởi tuyennhan
                              Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                              Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                              hôm nay, 09:10
                            • Ng.Phuong.5
                              Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                              bởi Ng.Phuong.5
                              Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                              Mấy con...
                              Hôm qua, 19:44
                            • viettinh
                              Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                              bởi viettinh
                              Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                              Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                              Hôm qua, 18:12
                            • nguyendinhvan
                              Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                              bởi nguyendinhvan
                              Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                              Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                              Cách đơn giản...
                              Hôm qua, 00:04
                            • mèomướp
                              Trả lời cho Sửa bộ nguồn DC 60V 45A
                              bởi mèomướp
                              Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                              08-01-2025, 19:02
                            • tuyennhan
                              Trả lời cho Sửa bộ nguồn DC 60V 45A
                              bởi tuyennhan
                              Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                              08-01-2025, 15:43
                            • tuyennhan
                              Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                              bởi tuyennhan
                              Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                              08-01-2025, 15:28
                            • mèomướp
                              Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                              bởi mèomướp
                              Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                              08-01-2025, 11:44
                            Đang tải...
                            X