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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • hbaocr
    Thành viên tích cực
    • Aug 2006
    • 162

    #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, 12:26.

    Comment

    • nguyenvu149
      Thành viên mới
      • Apr 2009
      • 16

      #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

      • Dohunghung91
        Thành viên mới
        • Mar 2010
        • 1

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

        Comment

        • robocon2011
          Thành viên tích cực
          • Mar 2010
          • 435

          #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

          • vuxuanloi
            Thành viên tích cực
            • Apr 2009
            • 185

            #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

            • hoangdai
              Thành viên tích cực
              • Nov 2005
              • 2720

              #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

              • tdm
                Thành viên tích cực
                • Sep 2005
                • 349

                #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

                • hoangdai
                  Thành viên tích cực
                  • Nov 2005
                  • 2720

                  #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

                  • tdm
                    Thành viên tích cực
                    • Sep 2005
                    • 349

                    #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

                    • hoangdai
                      Thành viên tích cực
                      • Nov 2005
                      • 2720

                      #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

                      • tdm
                        Thành viên tích cực
                        • Sep 2005
                        • 349

                        #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

                        • hoangdai
                          Thành viên tích cực
                          • Nov 2005
                          • 2720

                          #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

                          • Mr Bom
                            Thành viên chính thức
                            • Aug 2007
                            • 69

                            #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

                            • hoangdai
                              Thành viên tích cực
                              • Nov 2005
                              • 2720

                              #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

                              • Mr Bom
                                Thành viên chính thức
                                • Aug 2007
                                • 69

                                #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

                                There are no results that meet this criteria.

                                Đang tải...