Thông báo

Collapse
No announcement yet.

Tìm hiểu bảng quang báo

Collapse
This topic is closed.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    to diode 1447: Rất cảm ơn sự nhiet tinh cua ban, nhung lan sau ban nen pót files ASM lên thì hơn, như vậy đỡ dài và người xem có thể down về.
    to MicroDuyPhi: Cảm ơn anh phi đã quan tâm. Có thể nói cái đề tài quang báo của em đã hoàn thành 99%. Qua việc làm đó em đã thu được thêm nhiều kinh nghiệm quý. Trong mô hình thử nghiệm mà em đưa lên đây chỉ là một phần nhỏ, ma trận 8x7 với cỡ chữ là 5x7. Sau buổi anh em mình nói chuyện, em đã mất cả đêm để hoàn thành nó.
    VDK em dùng AT89S52 để lưu trữ bản tin và code. Khi lớn hơn thì ta kết nối RAM và ROM ngoài. Nhưng theo em thấy thì 8K ROM của nó em dùng mà vẫn còn chưa hết. Nếu dùng PIC16 hay PIC18 thì còn nhiều hơn.
    Kết quả:
    - Hiển thị nội dung mình muốn lên trên bảng LED. Ký tự ASCII được mã hóa theo ma trận 5x7
    - Cuộn cho bản tin chay qua chạy lại
    - Nội dung bản tin có thể được thay đổi bằng cách lập trình lại hoặc thay đổi bằng máy tính thông qua cổng COM và một phần mềm truyền nhận dữ liệu được viết bằng VB6.
    - Chữ có thể chạy từ trái qua phải, từ phải qua trái, từ trên xuống dưới, từ dưới lên trên thông qua cac phím chọn
    Hướng phát triển của đề tài là sẽ dùng bàn phím và giao tiếp hồng ngoại để thay đổi nội dung của bản tin.
    - Kích thước của bản tin to tùy ý.
    Sau đây là một số hình ảnh của kít thử nghiệm. Mọi người xem qua và cho nhận xét.
    Ethernet-RS232, PIC Webserver, RFID Reader
    CallerID, Cảnh báo BTS, ...
    0988006696
    linhnc308@gmail.com
    http://linhnc308.blogspot.com

    Comment


    • #32
      Mấy files video to qua(hơn 1MB) nên không post lên được. Có mấy cái ảnh ghép nối bảng LED cỡ to đây.
      Ethernet-RS232, PIC Webserver, RFID Reader
      CallerID, Cảnh báo BTS, ...
      0988006696
      linhnc308@gmail.com
      http://linhnc308.blogspot.com

      Comment


      • #33
        To Diode1447 tôi đã xem đoạn code , và sơ đồ của bạn, tôi đã học tập được rất nhiều từ cách lập trình và sơ đồ thiết kế của bạn. Và tôi có vài nhận xét thế này

        + Cách bạn dung thanh ghi dịch (dung R5 để dịch rất hay) về đoạn này chương trình rất đơn giản, (để thực hiện như thế là nhờ cách nối mạch chân e , khi =0 thì IC thứ nhất hoạt động, khi =1 thì 74154 thứ hai mới hoạt động)

        + Dùng biến đếm tăng DPTR đẻ tạo hiệu ứng dịch rất hay ( tạo chữ chạy)

        + Nếu mục đích của bạn hiển thị bài Nguyen Binh và tạo hiệu ứng chạy mà ko cần Ram Rom nối bên ngoài thì chương trình bạn là rất ổn. Nhưng nếu cũng tạo hiệu ứng chạy mà hiển thị bài thơ khác thì sao => tôi dám chắc rằng chương trình này sẽ rất vất vả: vì bạn sẽ phải mã hoá từng ký tự trong 1 dòng và đông thời phải đém số ký tự trong một dòng là bao nhiêu , như vậy đối với người thiếu kiên trì như tôi chắc sẽ ko thể làm nổi,

        + Chương trình của bạn sẽ ko thể phát triển được, vì với chương trình này bạn chỉ có thể hiển thị mỗi quang báo thôi ( ko thể kèm theo cái khác được), mà theo tôi nghĩ trong lập trình và thiết kế chúng ta nên luôn tạo ra hưóng mở để phát triển về sau, và đó cũng là lý do mà đa phần những người lập trình quang báo luôn cần Ram để hiển thị byte mã hoá

        + Với chương trình mà ko dung Rom, Ram ngoài ( với 89x52 thì có thể hiển thị được tối đa khoảng 50 ký tự trong một lần xuất hiện, ( tuỳ vào từng ứng dụng của bạn ) và trong một số trường hợp thì hoàn toàn ổn ( VD hiển thị giờ , nhiệt đọ cùng một lúc chẳng hạn)

        + Đây chỉ là một vài nhận xét vì tôi cũng vùă làm quang báo xong, cách hiển thị của tôi và bạn khá giống nhau, tuy nhiên tôi dung Ram + ngắt timer để hiển thị,

        Nếu có gì các bác bổ sung thêm nhé
        Dia chi cho cac Fan muon hoc Pic

        Comment


        • #34
          Ha ha , vậy là LINH đã thành công rồi, và anh chàng Diode cũng đam mê cái này lắm đó Linhnc308 ah!
          Lâu nay buôn tẩu giang hồ, tha phương làm ăn quên chuyện QB mất rồi. Bữa nào mình Post mấy cái Demo QB lên anh em xem!

          Comment


          • #35
            Rất cảm ơn anh Phi! Em sẽ đợi mấy bản của anh để tham khảo.
            Khi làm quang báo tôi cũng đã tìm hiểu rất nhiều giải pháp để giải quyết vấn đề hiển thị và cập nhật thông tin cho bảng đèn.
            - Về các quét thì như mọi người đều biết, ta có thể dùng cách quét hàng hay cột. Tôi thường dùng quét cột, bởi trong pham vi nghiên cứu với các bảng LED 8x8 ghép nối tiếp với nhau(của tôi là 8x32). Nếu bảng có số cột nhiều hơn thì ta nên chuyển sang quét hàng để đảm bảo thời gian quét và các LED không bị nháy.
            - Khi ghép nối các bảng lại với nhau, ta nên chia thành các module nhỏ và ghép lại. Ta có thể dùng chuẩn giao tiếp nối tiếp SPI để ghép lại
            Với cái bảng 8x32 tôi có làm theo 3 cách:
            1. Dùng hai con 74154 để quét cột. Các hàng tôi dùng 8 con A1013 (dòng 1A) để đẹm dòng, các LED sáng đều. (thời gian trễ tôi để 2ms). Nhưng tôi nhận thấy việc dùng 74154 cũng hay nhưng ko kinh tế(12K/1con74154, giá này tôi mua ở chợ trời), và việc phát triển ra bảng to thì ta gặp phải vấn đề cần thêm chân để chọn chip do đó mạch sẽ có thêm một số mạch phụ dùng để chọn chip(như 74138 chảng hạn, hay dùng chính 74154 thì ta ghép được 16 chip). tôi đã thử dùng với 74138, nói chung kết quả cũng được. Đấy là một vài nhận xét của tôi khi làm với 74154. Khi nộp cho thầy tôi sẽ dung mạch này.
            2. Vẫn quét cột nhưng ta dùng 74595(vào nối tiếp, ra song song và nối tiếp).
            Các hàng tôi vẫn dùng tran để đệm dòng. Tôi thấy cách này hay hơn nhiều vì ta tiết kiệm được tối đa chân IC (Cái ý tưởng này tui phải cảm ơn anh BinhAnh nhiều nhiều, nhờ có nhưng lời chỉ dẫn của anh!). Ta dùng kiểu giao tiếp SPI. Mỗi một bảng 8x8 ta cần 1 con 595, và ta ghép nối tiếp các con này lại với nhau. SHcp và STcp thì đều nối chung với nhau thành một đường CLK đưa đến VDK, DATAin của con thứ nhất nối với VDK, các con sau thì dataout con này nối với datain của con kia, cứ như vậy và OK mạch chạy ngon lành mà lại đơn giản. Tính ra ta chỉ cần dùng AT2051 hay PIC16F(84,88) là đủ, nếu thiều bộ nhớ thì thêm một con EEPROM ngoài.
            3. Ta dùng các IC chuyên dụng cho các ma trận LED như con max6953 tôi sample từ maxim, hỗ trợ quét 4 bảng 5x7, giao tiếp I2C và có cả loại SPI. Hay có thể dùng ICM7219/7221. Thực ra con này ta dùng để quét 8 đèn LED 7 thanh, nhưng cũng có thể dùng để quét cho một bảng 8x8 như là con 595, giao tiếp SPI và I2C. Tôi có một cái đề tài quang báo dùng con 7221, tôi down được từ trang www.woe.de.vu (ledfont). Đọc và tìm hiểu code họ viết cho 8051 ta thu được khá nhiều điều thú vị, như việc để cho chữ chạy họ dùng RAM làm đệm và dùng phương pháp dịch RAM (là đoạn mã có nhã shiftram) và đưa ra bảng LED. Dùng cả ROM và EEPROM để lưu ký tự, có giao tiếp RS232 để cập nhật EEPROM. Tôi sẽ đưa đoạn code đó lên. Anh em cung phân tích.
            Trên đây là 3 phương án tôi đã tìm hiểu. Tất nhiên chỉ cho việc nghiên cứu và viết code thôi, còn thực tế nều làm theo kiểu công nghiêp thì còn nhiêug vấn đề cần nghiên cứu(như anh BA đang làm cái bảng cao 16 ý, mình cũng sẽ làm một cái...ka ka ka)
            Chúc thành công!
            LINHNC308@YAHOO.COM
            Anh em BKHN hãy tỏ rõ bản lĩnh và tiêm năng thực sự của Đại học Bách Khoa Hà Nội.
            Ethernet-RS232, PIC Webserver, RFID Reader
            CallerID, Cảnh báo BTS, ...
            0988006696
            linhnc308@gmail.com
            http://linhnc308.blogspot.com

            Comment


            • #36
              Thank mafd đã góp ý. Đúng là bảng QB có rất nhiều thiếu sót. Mình áy náy nhất là việc dùng Decoder 74154 để quét. Khi đó sẽ tốn không gian mạch (Con này khá bự) , và cả tón tiền nữa. Tại vì đây là lần đầu tiên làm QB mà. Ý mình là nên dùng con thanh ghi dịch 16 bit 74576 để dịch. Khi đó , muốn ghép nhiều ma trận lại với nhau chỉ cần ghép A15 con trước với A0 con sau, các chân xóa được nối chung với nhau. KHi đó muốn quét cột chỉ cần 2 chân của PORT chứ không như n chân quét 2 mũ n cột nữa.Với lại con 74245 cũng cấp dòng không đủ cho các led.
              Áy náy nữa là với phần mềm như thế không thể hiển thị được các kí tự ngẫu nhiên, các số trong đồng hồ.
              Bạn hãy trình bày giải thuật của việc hiển thị các kí tự ngẫu nhiên được không.
              Ai bảo chăn trâu là khổ ...!?

              Comment


              • #37
                Nguyên văn bởi diode1447
                Thank mafd đã góp ý. Đúng là bảng QB có rất nhiều thiếu sót. Mình áy náy nhất là việc dùng Decoder 74154 để quét. Khi đó sẽ tốn không gian mạch (Con này khá bự) , và cả tón tiền nữa. Tại vì đây là lần đầu tiên làm QB mà. Ý mình là nên dùng con thanh ghi dịch 16 bit 74576 để dịch. Khi đó , muốn ghép nhiều ma trận lại với nhau chỉ cần ghép A15 con trước với A0 con sau, các chân xóa được nối chung với nhau. KHi đó muốn quét cột chỉ cần 2 chân của PORT chứ không như n chân quét 2 mũ n cột nữa.Với lại con 74245 cũng cấp dòng không đủ cho các led.
                Áy náy nữa là với phần mềm như thế không thể hiển thị được các kí tự ngẫu nhiên, các số trong đồng hồ.
                Bạn hãy trình bày giải thuật của việc hiển thị các kí tự ngẫu nhiên được không.
                http://www.dientuvietnam.net/board/s...1&page=5&pp=10

                Bac thu tham khao xem, neu van ko duoc thi mail cho toi : mafd0207@yahoo.com

                con 74576 la con nao ay nhi sao tui ko tim thay no tren datasheet nhi
                Dia chi cho cac Fan muon hoc Pic

                Comment


                • #38
                  Chào cả nhà. Không ngờ chủ đề quang báo lại đông vui đến vậy.
                  Hôm nay đây tôi đưa lên cái files ASM tôi viết cho con AT89S52, dung 1 con 74154 để quét cột. Chương trình này đọc trực tiếp từ ROM và đưa ra bảng LED. Anh em xem qua va cho nhận xét. Đây là bản đầu tiên, do đó lập trình còn đơn giản. Trong bản nâng cấp của nó tôi dùng RAM làm bộ đệm màn hình và EEPROM để lưu font, do đó ta có thể kết nối máy tính để thay đổi nội dung.
                  Đang nghiên cứu fung bàn phím hồng ngoại để thay đổi nội dung mà chưa nghĩ ra. Các cao thủ cho xin ý kiến. thx

                  ;************************************************* ***********
                  ; LED matrix display Using 74HC154
                  ; Microprocessor = AT89S52
                  ; Designer: linhnc308
                  ; P1 la cong gui du lieu cua 8 hang, 16 cot duoc noi voi cac dau ra cua 74154
                  ; Cac chan A,B,C,D cua 74154 ket noi voi chan cua P3
                  ; P3.0 = A
                  ; P3.1 = B
                  ; P3.2 = C
                  ; P3.3 = D
                  ; Chuong trinh se cho chay chu I Love U, sau do la bang ky tu ASCII
                  ; Cac chu duoc ma hoa theo ma tran 5x7
                  ; Viet bang phan mem Reads51 cua Rigel. www.rigelcorp.com
                  ;************************************************* ****************
                  #include <sfr51.inc>
                  ORG 0000H
                  LJMP MAIN

                  ORG 0030H
                  MAIN:
                  ;*******************************
                  ; Hien thi chu I Love U
                  ;*******************************
                  MOV DPTR,#MYDATA ; Dua con tro Du lieu toi bang du lieu
                  LEDDISPLAY:
                  ACALL DISPLAY ; Goi chuong trinh con tao hien thi tren bang LED
                  INC DPTR ; Tang con tro DPTR de tao hieu ung chu chay
                  CLR A ; Xoa con tro A cho viec lay du lieu tiep theo
                  MOVC A,@A+DPTR ; Lay du lieu vao thanh ghi A
                  CJNE A,#'#',LEDDISPLAY ; Kiem tra xem da den cuoi bang du lieu chua.
                  ;******************************
                  ; Chuong trinh hien thi bang chu cai va cac ky tu ASCII
                  ;******************************
                  NOP
                  MOV DPTR,#MYDATA2 ; Dua con tro den bang chua ky tu ASCII
                  ALPHATABLE:
                  ACALL DISPLAY
                  INC DPTR
                  CLR A
                  MOVC A,@A+DPTR
                  CJNE A,#'#',ALPHATABLE ; Kiem tra ket thuc chua
                  LJMP MAIN ; Quay tro lai chuong trinh chinh
                  ;***********************************
                  ;CHUONG TRINH CON HIEN THI DU LIEU
                  ;***********************************
                  DISPLAY:
                  MOV R5,#8 ; Bien quy dinh toc do chu chay tren man hinh
                  INIT:
                  MOV R2,00H ; Bien dem khi quet ky tu va lay du lieu
                  LOOP: ; Dong thoi no cung la gia tri gui den 74154 de quet cot
                  MOV A,R2
                  MOVC A,@A+DPTR
                  MOV P1,A ; Gui du lieu ra cac hang
                  MOV P3,R2 ; Gui du lieu toi 74154 de kich hoat cot
                  ACALL DELAY ; Tao tre 1mS
                  INC R2 ; Tang R2
                  CJNE R2,#16,LOOP ; Kiem tra xem da quet du 16 cot chua
                  DJNZ R5,INIT ; Lap lai cho den khi R5 =0
                  RET
                  ; Toc do chu chay tren man hinh phu thuoc nhieu vao viec quy dinh gia tri cua R5
                  ; va thoi gian tre ma ta tao ra trong ham Delay
                  DELAY:
                  MOV R7,#1
                  DL1: MOV R6,#250
                  DL2: NOP ; 1MC
                  NOP
                  DJNZ R6,DL2 ; 2MC TOTAL = 4*255uS = 1000uS ~ 1mS
                  DJNZ R7,DL1
                  RET

                  MYDATA:
                  ; Đoạn này dài quá tôi cắt bỏ, các bạn xem trong files gửi kèm nhé!
                  END
                  Ethernet-RS232, PIC Webserver, RFID Reader
                  CallerID, Cảnh báo BTS, ...
                  0988006696
                  linhnc308@gmail.com
                  http://linhnc308.blogspot.com

                  Comment


                  • #39
                    mình cũng đang nghiên cứu về chức năng điều khiển tù xa dùng hồng ngoại
                    đây là sơ đồ đi kèm
                    SHARE KHO PHIM LỚN

                    Comment


                    • #40
                      nhân tiện xin hỏi bạn có thể post sơ đồ mạch thiết kế của bạn lên để anh em tham khảo ko nhẩy
                      bác có ý tưởng gì về việc ghép nối qb với máy tính ko
                      SHARE KHO PHIM LỚN

                      Comment


                      • #41
                        Hôm nay tôi định đưa mấy sơ đồ mạch lên nhưng lại quên mất, hẹn 10h tối nay tôi sẽ up lên. Nói chung sơ đồ cũng đơn giản lắm, tôi có sơ đồ cho 74154 và 595.
                        Ethernet-RS232, PIC Webserver, RFID Reader
                        CallerID, Cảnh báo BTS, ...
                        0988006696
                        linhnc308@gmail.com
                        http://linhnc308.blogspot.com

                        Comment


                        • #42
                          Sơ đồ mạch LMD

                          Sau đây là sơ đồ mạch điện của ma trận LED sử dụng 74154 và 74595. Sơ đồ mạch sẽ còn thay đổi ở các phiên bản sau với khối giao tiếp với máy tính và Mạch cho PIC để tận dụng EEPOM sẵn có của nó.
                          Last edited by linhnc308; 12-10-2005, 11:56.
                          Ethernet-RS232, PIC Webserver, RFID Reader
                          CallerID, Cảnh báo BTS, ...
                          0988006696
                          linhnc308@gmail.com
                          http://linhnc308.blogspot.com

                          Comment


                          • #43
                            Hix...Chủ đề này hay quá.Các vị huynh đệ cho tại hạ tham gia cùng với, tại hạ có 1 số thiển ý mong các "cao khỉ" của "võ đài quang báo" chỉ điểm.
                            1-Nguồn dùng trong quang báo tại hạ thấy thiên hạ rất hay dùng nguồn máy tính. Với nguồn này ta sẽ có được sự ổn định cao+vấn đề dòng cao cũng được giải quyết (máy tính thường là nguồn 300W mà ta chỉ dùng điện áp tới 5V => dòng của nó có thể đạt tới 60A????)
                            2-Phần mềm lên dùng phương pháp quét theo hàng.
                            Tại hạ cũng đang có ý định dùng quang báo đẻ làm đồ án tốt nghiệp, nhưng gặp một số trục trăc xin thỉnh giáo các vị huynh đệ. Tại hạ chỉ có thể giao tiếp với máy tính rồi truyền ra VXL 1 dòng chữ không dấu rồi cho hiện thị lên 1 bảng LED 16 x 100 ( còn đối với những kí tự có dấu thì không biết làm thế nào. Giả sử ta có kí tự "Â" khi truyền ra cổng COM thì mày tính truyền 1 hay 2 byte; và cả những trường hợp chữ có dấu nữa....Help...).
                            Về lập trính VB ta có thể lập trình sẵn 1 bộ font chữ rồi nạp thẳng chữ đó vào RAM không mất nội dung (đỡ tốn ROM và thời gian nạp chữ có lẽ sẽ nhanh hơn so với trường hợp dùng ROM để định nghĩa font)??????????????
                            Đã huynh nào từng làm về giao tiêp 89x với con REALTIME chưa vậy? Tại hạ có ý tưởng dùng con REALTIME để hiển thị ngày giờ trong lúc quang báo của chúng ta "rỗi việc". Khi nạp chữ cho nó thì ngắt REALTIME ra.....ok
                            Last edited by vanquang_qn; 18-10-2005, 10:40.

                            Comment


                            • #44
                              Nguyên văn bởi vanquang_qn
                              Hix...Chủ đề này hay quá.Các vị huynh đệ cho tại hạ tham gia cùng với, tại hạ có 1 số thiển ý mong các "cao khỉ" của "võ đài quang báo" chỉ điểm.
                              1-Nguồn dùng trong quang báo tại hạ thấy thiên hạ rất hay dùng nguồn máy tính. Với nguồn này ta sẽ có được sự ổn định cao+vấn đề dòng cao cũng được giải quyết (máy tính thường là nguồn 300W mà ta chỉ dùng điện áp tới 5V => dòng của nó có thể đạt tới 60A????)
                              2-Phần mềm lên dùng phương pháp quét theo hàng.
                              Tại hạ cũng đang có ý định dùng quang báo đẻ làm đồ án tốt nghiệp, nhưng gặp một số trục trăc xin thỉnh giáo các vị huynh đệ. Tại hạ chỉ có thể giao tiếp với máy tính rồi truyền ra VXL 1 dòng chữ không dấu rồi cho hiện thị lên 1 bảng LED 16 x 100 ( còn đối với những kí tự có dấu thì không biết làm thế nào. Giả sử ta có kí tự "Â" khi truyền ra cổng COM thì mày tính truyền 1 hay 2 byte; và cả những trường hợp chữ có dấu nữa....Help...).
                              Về lập trính VB ta có thể lập trình sẵn 1 bộ font chữ rồi nạp thẳng chữ đó vào RAM không mất nội dung (đỡ tốn ROM và thời gian nạp chữ có lẽ sẽ nhanh hơn so với trường hợp dùng ROM để định nghĩa font)??????????????
                              Đã huynh nào từng làm về giao tiêp 89x với con REALTIME chưa vậy? Tại hạ có ý tưởng dùng con REALTIME để hiển thị ngày giờ trong lúc quang báo của chúng ta "rỗi việc". Khi nạp chữ cho nó thì ngắt REALTIME ra.....ok
                              Đại ca làm được với chữ thường thì chữ có dấu cũng thế có gì khác đâu.
                              Font đậi ca lưu trên máy tính cơ mà, nghĩa là việc mã hóa cũng trên máy tính
                              Mà 1 kí tự trung bình phải là 5 byte chứ nhỉ. Noi chung là nên lấy bằng nhau (5 byte ) thì khi xử lý trên VB dễ hơn. Còn hình dáng nó như thế nào (Co dấu, ko dấu, hay là bất cứ hình gì) thì là do đại ca mã hóa mà. Nhưng em còn băn khoan là vấn đề nhúng bộ gõ vào thế nào. Cái này phải nhờ bác nào cao niên về VB
                              Xin mạo muội hỏi đại ca dùng con gì

                              Comment


                              • #45
                                Nguyên văn bởi beyeu
                                Đại ca làm được với chữ thường thì chữ có dấu cũng thế có gì khác đâu.
                                Font đậi ca lưu trên máy tính cơ mà, nghĩa là việc mã hóa cũng trên máy tính
                                Mà 1 kí tự trung bình phải là 5 byte chứ nhỉ. Noi chung là nên lấy bằng nhau (5 byte ) thì khi xử lý trên VB dễ hơn. Còn hình dáng nó như thế nào (Co dấu, ko dấu, hay là bất cứ hình gì) thì là do đại ca mã hóa mà. Nhưng em còn băn khoan là vấn đề nhúng bộ gõ vào thế nào. Cái này phải nhờ bác nào cao niên về VB
                                Xin mạo muội hỏi đại ca dùng con gì
                                Chính xác! font chữ lưu trên máy tính nhưng bạn làm thế nào để ghép được những chữ đó đúng theo font chữ mình gõ
                                VD: với kiểu gõ telex khi bạn gõ aa->â vậy ta phải dùng thuật toán thế nào để lấy ra được cái font chứa chữ "â" đó (ta luôn phải so sánh 2 kí tự liền nhau ???). Mặt khác khi thêm các dấu thì ghép font thế nào?

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X