Thông báo

Collapse
No announcement yet.

Hỏi về thuật toán quét led matrix!!

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

  • #61
    hii; bác có thể search google voi tu khóa là minipov

    con day là source code va sơ đồ mạch va chuong trinh tao font
    hĩ uo len dien dan minh nay gio ko dc ; đành chuyển sang mediafle .Bác F xem jup làm sao em úp file ZIP lên diễn đàn ko dc vậy
    http://www.mediafire.com/?sharekey=3...43906a5faff527
    Last edited by hbaocr; 21-10-2009, 13:26.

    Comment


    • #62
      mạch nạp

      Nguyên văn bởi tallht Xem bài viết
      Code:
      					INCLUDE 	89C2051.MC
      					ORG		0000H
      					LJMP		MAIN
      				;*********************************
      					ORG		0030H
      			MAIN:
      					MOV 		P1,#9CH
      					ACALL		DELAY
      					MOV 		P1,#7AH
      					ACALL		DELAY
      					MOV 		P1,#76H
      					ACALL		DELAY
      					MOV 		P1,#6EH
      					ACALL		DELAY
      					MOV 		P1,#9EH
      					ACALL		DELAY
      				
      					MOV 		P1,#FFH
      					ACALL		DELAY	
      					
      					MOV 		P1,#81H
      					ACALL		DELAY
      					MOV 		P1,#7EH
      					ACALL		DELAY
      					MOV 		P1,#7EH
      					ACALL		DELAY
      					MOV 		P1,#7EH
      					ACALL		DELAY
      					MOV 		P1,#81H
      					ACALL		DELAY
      					
      					MOV 		P1,#FFH
      					ACALL		DELAY	
      					
      					MOV 		P1,#81H
      					ACALL		DELAY
      					MOV 		P1,#7EH
      					ACALL		DELAY
      					MOV 		P1,#7EH
      					ACALL		DELAY
      					MOV 		P1,#7EH
      					ACALL		DELAY
      					MOV 		P1,#81H
      					ACALL		DELAY
      					
      					MOV 		P1,#FFH
      					ACALL		DELAY	
      					
      					MOV 		P1,#9EH
      					ACALL		DELAY
      					MOV 		P1,#6DH
      					ACALL		DELAY
      					MOV 		P1,#6BH
      					ACALL		DELAY
      					MOV 		P1,#67H
      					ACALL		DELAY
      					MOV 		P1,#8FH
      					ACALL		DELAY
      					SJMP		MAIN
      			
      			DELAY:	            MOV          R7,#250
      			DL1:		MOV		R6,#3
      					DJNZ		R6,$
      					DJNZ		R7,DL1
      					RET
      					END
      đầy là code của mình,hiện số 2009 mà nó k rõ lắm.do thằng delay thôi .Do chỉ để test nên mình làm sơ sơ 4 số,k lưu vào ROM
      bạn cho mình xin sơ đồ nguyên lí với lay out của mạch nạp trong hình avatar của bạn được không.cảm ơn.

      Comment


      • #63
        Minh dang can ve LED Tivi, ban quoc_thaibk co biet tai lieu do o dau khong chi cho minh voi!

        Comment


        • #64
          Nguyên văn bởi hbaocr Xem bài viết
          hii; bác có thể search google voi tu khóa là minipov

          con day là source code va sơ đồ mạch va chuong trinh tao font
          hĩ uo len dien dan minh nay gio ko dc ; đành chuyển sang mediafle .Bác F xem jup làm sao em úp file ZIP lên diễn đàn ko dc vậy
          http://www.mediafire.com/?sharekey=3...43906a5faff527
          link chết rồi bác ơi. bác kiểm tra lại cho anh em với bác ơi.em đang quan tâm vấn đề này nên mong bác giúp cho ạ!

          thanks!

          Comment


          • #65
            Nguyên văn bởi robocon2011 Xem bài viết
            link chết rồi bác ơi. bác kiểm tra lại cho anh em với bác ơi.em đang quan tâm vấn đề này nên mong bác giúp cho ạ!

            thanks!
            ừa, linh tèo rồi còn đâu?
            Vũ xuân Lợi
            YM!:

            Comment


            • #66
              Mấy bác cho em hỏi tí này. Về cách quét matrix thì em ko vấn đề nhưng gặp rắc rối là dung lượng RAM cần để làm bộ đệm cho màn hình hiển thị, Mảng gốc càng lớn thì cái mảng làm bộ nhớ đệm của em càng to, hic, to quá thì ko chạy đc, trình dịch báo lỗi ngay. Em dùng chú ATmega32, khai báo 2 mảng có độ dài giống nhau, cỡ 168 phần tử là maximum rồi( Có thể hơn 1 chút nhưng để dành khai báo biến). Ko hiểu là để hiển thị cả chuỗi dài thì làm ntn nhỉ??Mở rộng ram hay có thủ thuật ở đây. EM xin ví dụ ntn xem đúng ko nhé. Khi nhận chuỗi font từ PC xuống, ta lưu hết vào ROM 24C04 chẳng hạn, sau đó tùy vào độ lớn bảng led mà ta có số lượng byte cần lấy mỗi lần từ 24C04 khác nhau. Chứ em tính cả cái đống chữ mà nhét vào con ATmega32 thì chịu ko nổi.


              Add: 97 Quán Nam - Lê Chân - Hải Phòng.
              Tel: 031 518648 Phone: 0904 283 505

              Comment


              • #67
                Nguyên văn bởi hoangdai Xem bài viết
                Mấy bác cho em hỏi tí này. Về cách quét matrix thì em ko vấn đề nhưng gặp rắc rối là dung lượng RAM cần để làm bộ đệm cho màn hình hiển thị, Mảng gốc càng lớn thì cái mảng làm bộ nhớ đệm của em càng to, hic, to quá thì ko chạy đc, trình dịch báo lỗi ngay. Em dùng chú ATmega32, khai báo 2 mảng có độ dài giống nhau, cỡ 168 phần tử là maximum rồi( Có thể hơn 1 chút nhưng để dành khai báo biến). Ko hiểu là để hiển thị cả chuỗi dài thì làm ntn nhỉ??Mở rộng ram hay có thủ thuật ở đây. EM xin ví dụ ntn xem đúng ko nhé. Khi nhận chuỗi font từ PC xuống, ta lưu hết vào ROM 24C04 chẳng hạn, sau đó tùy vào độ lớn bảng led mà ta có số lượng byte cần lấy mỗi lần từ 24C04 khác nhau. Chứ em tính cả cái đống chữ mà nhét vào con ATmega32 thì chịu ko nổi.
                con 24C04 dung lượng không bao nhiêu dùng con 24c512(64k).
                |

                Comment


                • #68
                  Vâng_Vậy giờ em dùng chú 24C512 này đi. Vậy dữ liệu nó lớn như vậy. Liệu chú Mega32 có khai báo nổi cái mảng để load data từ rom này lên ko?Hay là mỗi lần xử lí thì em chỉ load những byte cần hiển thị lên thôi.


                  Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                  Tel: 031 518648 Phone: 0904 283 505

                  Comment


                  • #69
                    Nguyên văn bởi hoangdai Xem bài viết
                    Vâng_Vậy giờ em dùng chú 24C512 này đi. Vậy dữ liệu nó lớn như vậy. Liệu chú Mega32 có khai báo nổi cái mảng để load data từ rom này lên ko?Hay là mỗi lần xử lí thì em chỉ load những byte cần hiển thị lên thôi.
                    đó chỉ là thuật toán quét matrix mà thôi.lấy dữ liệu từ 24C512 đẩy thẳng ra matrix .(nếu có load data từ rom lên để làm hiệu ứng thì cũng chỉ load từng phần mà thôi.
                    |

                    Comment


                    • #70
                      Oh_Cũng biết thêm vài điều. Mà bạn nè, bây giờ về lí thuyết thì tớ có hàm write dữ liệu lên 24C04, khi ghi thì chỉ khai báo địa chỉ ghi, dữ liệu cần ghi, vậy để can thiệp vào địa chỉ thứ 256 thì có cần sửa gì trong hàm write ko nhỉ??Đại loại là cái hàm của tớ chưa đả động gì tới cái địa chỉ thư 256 này cả. Bạn chỉ cần chỉ ra thứ tự thao tác ghi ntn là ok rồi.Thanks!


                      Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                      Tel: 031 518648 Phone: 0904 283 505

                      Comment


                      • #71
                        Nguyên văn bởi hoangdai Xem bài viết
                        Oh_Cũng biết thêm vài điều. Mà bạn nè, bây giờ về lí thuyết thì tớ có hàm write dữ liệu lên 24C04, khi ghi thì chỉ khai báo địa chỉ ghi, dữ liệu cần ghi, vậy để can thiệp vào địa chỉ thứ 256 thì có cần sửa gì trong hàm write ko nhỉ??Đại loại là cái hàm của tớ chưa đả động gì tới cái địa chỉ thư 256 này cả. Bạn chỉ cần chỉ ra thứ tự thao tác ghi ntn là ok rồi.Thanks!
                        tham khảo hàm sau:
                        Code:
                         void write_ext_eeprom(long int address, BYTE data)
                        {
                           short int status;
                           i2c_start();
                           i2c_write(0xa0);
                           i2c_write(address>>8);
                           i2c_write(address);
                           i2c_write(data);
                           i2c_stop();
                           i2c_start();
                           status=i2c_write(0xa0);
                           while(status==1)
                           {
                              i2c_start();
                              status=i2c_write(0xa0);
                           }
                           i2c_stop();
                        }
                        
                        BYTE read_ext_eeprom(long int address) {
                           BYTE data;
                           i2c_start();
                           i2c_write(0xa0);
                           i2c_write(address>>8);
                           i2c_write(address);
                           i2c_start();
                           i2c_write(0xa1);
                           data=i2c_read(0);
                           i2c_stop();
                           return(data);
                        }
                        |

                        Comment


                        • #72
                          Để mình fix lại coi.


                          Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                          Tel: 031 518648 Phone: 0904 283 505

                          Comment


                          • #73
                            Thuật toán cho LED MATRIX

                            Các pác giúp em với!

                            Em thấy có 2 thuật toán dành cho LED MATRIX như sau:

                            TH1: Dữ liệu tử ROM --> xuất ra Port I/O
                            TH2: ROM --> RAM --> Port I/O


                            Trước giờ em mới tập tành chơi LED MATRIX loại nhỏ, và sử dụng thuật toán 1. Song giờ muốn mở rộng, đọc code các bác post lên toàn thấy ở dạng thuật toán 2.

                            Bác nào có thể chỉ giùm em ưu nhược điểm của từng phương pháp trên được không?

                            PS: Em hiểu thế này có đúng không các bác?

                            TH1:
                            • Không lưu font a, b, c,...
                            • Lưu string_data dạng HEX (VD: string_data[] = {0x.., 0x.., ... , 0x..};
                            • Thay đổi nội dung chuỗi string sẽ tốn nhiều thời gian hơn.


                            TH2:
                            • Lưu bộ font a, b, c,... vào ROM
                            • Lưu string_data vào ROM dạng ký tự thường (VD: string_data = "Mr Bom")
                            • Thay đổi nội dung string_data đơn giản, nhanh.
                            __]\/[|2. |3()]\/[__

                            Comment


                            • #74
                              Mình thì làm như sau: PC--->ROM--->RAM--->Output. Cái này thì linh động vì ko cần font gì cả, đánh text trên PC rồi gửi xuống là xong.


                              Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                              Tel: 031 518648 Phone: 0904 283 505

                              Comment


                              • #75
                                PC --> ROM
                                Dữ liệu trong ROM của bác là chuỗi string_data, và từng ký tự trong chuỗi được mã hóa ở dạng HEX rùi phải không bác?

                                Bác cho em hỏi, nếu trong ROM của bác là chuỗi ký tự đã được mã hóa, thì việc xuất ra RAM và xuất trực tiếp ra I/O khác nhau điều gì?
                                __]\/[|2. |3()]\/[__

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X