Thông báo

Collapse
No announcement yet.

Led matran bằng ASM có nhiều bạn quang tâm..................

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

  • #31
    Nguyên văn bởi hongphuong98 Xem bài viết
    Bạn CongMinh ơi,port p2 xuất 3 bit qua 74138 (để chuyển từ 3 qua 8 bit) làm sao ra mã db:7ch,0fe... để quét hàng được?
    Đã dùng 138 thì đâu cần dùng mã nữa bạn,bạn cứ xuất trực tiếp ra tùy theo p.cứng mà xuất thôi có thể từ 00 đến 08 là 8 hàng,hay từ 10 đến 18 là 8h tiếp ..v.v.khả năng mở rộng khi dùng 138 là có thể chỉ cần port P2 có thể quét được 48 hàng đó bạn.

    Comment


    • #32
      Bạn không hiểu ý của mình rồi,chữ đầu tiên của congminhfs là 7ch.Chữ này sẽ xuất ra cột hay hàng?vì mình thấy hàng qua 74138 chỉ dùng quét led mà thôi.

      Comment


      • #33
        Nguyên văn bởi hongphuong98 Xem bài viết
        Bạn không hiểu ý của mình rồi,chữ đầu tiên của congminhfs là 7ch.Chữ này sẽ xuất ra cột hay hàng?vì mình thấy hàng qua 74138 chỉ dùng quét led mà thôi.
        à dữ liệu này tính theo cột chứ,nhưng khi xuất thì lại xuất ra hàng cho nên mới gọi là quét hàng,có nghĩa là một thời điểm chỉ có 1 hàng sáng thôi thì tương ứng chỉ có 1 bít của cột đó thôi....

        Comment


        • #34
          cho em hỏi tí nha.
          nếu 2 chân 11 và 12 của 595 nối chung là nghĩa như thế nào.em thấy nhiều ct,phần cứng làm vậy mà em vẫn chưa hiểu
          thanks.
          chỉ có thể là niềm đam mê

          Comment


          • #35
            Nguyên văn bởi ckddt13 Xem bài viết
            cho em hỏi tí nha.
            nếu 2 chân 11 và 12 của 595 nối chung là nghĩa như thế nào.em thấy nhiều ct,phần cứng làm vậy mà em vẫn chưa hiểu
            thanks.
            Chắc là dịch được bit nào vào thì xuất là luôn gì đó.
            chờ cao thủ vào phán .

            Comment


            • #36
              Nguyên văn bởi huuthobka Xem bài viết
              Chắc là dịch được bit nào vào thì xuất là luôn gì đó.
              chờ cao thủ vào phán .
              tôi cũng nghĩ như bạn.có lẽ là vậy.theo chức năng của chân 11,12 thì đúng thế.không biết phải không
              chỉ có thể là niềm đam mê

              Comment


              • #37
                Nguyên văn bởi ckddt13 Xem bài viết
                cho em hỏi tí nha.
                nếu 2 chân 11 và 12 của 595 nối chung là nghĩa như thế nào.em thấy nhiều ct,phần cứng làm vậy mà em vẫn chưa hiểu
                thanks.
                ý của bạn nối chung hai chân 11 và 12 lại với nhau hay là chân 11 của con 595 này nối chân 11 của 595 khác, chân 12 của hai con này nối với nhau.
                theo mình hiểu hoạt động của 595 thì chân 11 là xung vào để dịch bit, còn chân 12 thì xung chốt dử liệu. như vậy nếu nối hai chân này vớ nhau thì sẻ không có dịch bit ( vì hai chân điều nhà xung từ thấp lên cao) vậy lúc nảy chỉ có chân 15 là nhận dử liệu
                Không biết mình diển đạt có đúng không? Nếu có gì sai mong các cao thủ góp ý. Thanks

                Comment


                • #38
                  Nguyên văn bởi PDEL Xem bài viết
                  ý của bạn nối chung hai chân 11 và 12 lại với nhau hay là chân 11 của con 595 này nối chân 11 của 595 khác, chân 12 của hai con này nối với nhau.
                  theo mình hiểu hoạt động của 595 thì chân 11 là xung vào để dịch bit, còn chân 12 thì xung chốt dử liệu. như vậy nếu nối hai chân này vớ nhau thì sẻ không có dịch bit ( vì hai chân điều nhà xung từ thấp lên cao) vậy lúc nảy chỉ có chân 15 là nhận dử liệu
                  Không biết mình diển đạt có đúng không? Nếu có gì sai mong các cao thủ góp ý. Thanks
                  74595 có các chân và hoạt tác dụng của chúng như sau:
                  - 8 chân xuất dữ liệu, chân reset (10), cho phép chip (13): Mấy chân này chắc ko phải nói j rồi.
                  - Một chân nhận dữ liệu vào nối tiếp (14): Bạn muốn dịch bit 0 hay 1 thì tác động vào đây.
                  - Một chân xung clock (11): Cứ mỗi xung tác động vào chân này thì bit logic tại chân nhận dữ liệu (14) sẽ đc dịch vào một lần.
                  - Một chân chốt dữ liệu (12): Mỗi lần có xung tác động vào chân này thì dữ liệu đc xuất ra một lần
                  - Còn chân 9: Thì cứ có 8 xung tác động vào chân clock nó lại xuất ra một xung.
                  đó là hoạt động đơn giản nhất,cơ bản của 595.
                  theo ý bạn là chỉ có Q0 mới nhận được dữ liệu.
                  hai chân 11 và 12 lại với nhau theo tôi nghĩa là con 595 dùng quét cột,vì ta cần sáng từng cột,nên khi dịch bit 1 đi 1 lần(dk mức 1) thì người ta xuất luôn,không chờ dich đủ 8 lần mới xuất,cứ như vậy CT thì ta dùng các vòng lặp xử lý.cùng đó tadduwwa dữ liệu hàng vào thì các chữ sẽ sáng.
                  theo ý tôi là vậy.mong các cao thủ cho ý kiến.

                  đây là CT chạy chữ led ma trận dùng 595 như tôi hỏi ở trên.các bạn xem và cho ý kiến .có gì không hiểu bạn có thể hỏi

                  $mod51
                  SCL equ P2.1
                  SDA equ P2.0
                  RUN_DATA equ 60H
                  MOC equ 61H
                  BIEN_32 equ 62H
                  TIME_BACK equ 63H
                  TIME_MOVE EQU 64H
                  org 500h
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

                  DB 0H,0H,9FH,0CFH,0E7H,0F3H,0H,0H,0FFH,1H,0H,0FEH,0FE H,0FEH,0H,1H,0FFH,3FH,3FH,0H,0H,3FH,3FH,0FFH
                  DB 0H,0H,24H,24H,24H,24H,0FFH,0FFH,0FFH ;nute
                  DB 0E7H,0E7H,0E7H,0E7H,0FFH
                  DB 3FH,3FH,3FH,0H,0H,3FH,3FH,3FH,0FFH,0H,0H,67H,63H,4 9H,9CH,0FFH,0FFH,0C0H,0C0H,0BFH,3FH,7FH,0FFH,0FFH, 0C3H,81H,3CH,3CH,24H,20H,0E0H,0FFH,0E0H,0E0H,0FFH, 0E1H,0C0H,0DCH,0DCH,0C0H,0C0H,0FFH,0C0H,0C0H,0CFH, 0CFH,0C0H,0E0H ,0FFH,0FFH
                  DB 0C3H,81H,3CH,3CH,24H,20H,0E0H,0FFH,0FFH,0FFH;tri giang
                  DB 80H,80H,0FCH,0FCH,0FCH,0FFH,0E1H,0C0H,0CCH,0CCH,0C CH,0C0H,41H,3FH,0DFH,9FH,3FH,7FH,80H,80H,0B7H,0B7H ,87H,0FFH,0C1H,80H,9CH,9CH,9CH,0FFH,80H,80H,0E3H,0 C9H,9CH,0BEH,0FFH,0E7H,0E7H,0E7H,0E7H,0E7H,0FFH,0H ,0H,66H,64H,39H,83H,0FFH,0FFH
                  DB 0FFH,0FFH,0H,0H,66H,64H,39H,83H,0FFH,0FFH
                  DB 3FH,3FH,3FH,0H,0H,3FH,3FH,3FH,0FFH
                  DB 0FFH,0EFH,0CFH,9FH,0H,0H,0FFH,0FFH,0FFH
                  DB 24H,24H,24H,0H,81H,0FFH,0FFH,0FFH,0FFH ;lop ck t 13
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
                  org 800h

                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
                  DB 0H,0H,9FH,0CFH,0E7H,0F3H,0H,0H,0FFH,1H,0H,0FEH,0FE H,0FEH,0H,1H,0FFH,3FH,3FH,0H,0H,3FH,3FH,0FFH , 0H,0H,24H,24H,24H,24H,0FFH,0FFH ;nute
                  DB 0FFH,0E7H,0E7H,0E7H,0E7H,0E7H,0FFH,0FFH
                  DB 3FH,3FH,3FH,0H,0H,3FH,3FH,3FH,0FFH,0FFH,0H,0H,0E7H ,0E7H,0H,0H,0FFH,0FFH
                  DB 80H,0H,67H,67H,67H,8FH,0FFH,0FFH,3FH,3FH,3FH,0H,0H ,3FH,3FH,3FH,0FFH,0FFH
                  DB 0H,0H,9FH,0CFH,0E7H,0F3H,0H,0H,0FFH
                  DB 0FFH,0C1H,80H,9EH,9EH,80H,80H,0FFH,0FFH,0C0H,80H,9 FH,9FH,87H,87H,9FH,9FH,80H,0C0H,0FFH,0FFH
                  DB 0FFH,81H,0H,3CH,3CH,3CH,3CH,0FFH,0FFH,0C1H,80H,9CH ,9CH,9CH,80H,80H,0FFH,0FFH,0C1H,80H,9CH,9CH,80H,0C 1H ,0FFH,0FFH,0FFH,0FFH,0FFH;thptnc

                  DB 0FFH,0C0H,80H,9FH,9FH,87H,87H,9FH,9FH,80H,0C0H,0FF H ,0FFH,0E1H,40H,5EH,80H,40H,7FH,80H,0C0H,0FFH,0FFH ;mai
                  DB 0H,0H,9FH,0CFH,0E7H,0F3H,0H,0H,0FFH
                  DB 0FFH,0H,0H,0E7H,0E7H,0H,0H,0FFH,0FFH,0C1H,9CH,9CH, 9CH,9CH,41H,0BFH,0FFH,0BFH,3FH,7FH,0FFH,0FFH ;nho
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH
                  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

                  ORG 00H

                  MAIN1:
                  LCALL INIT_SYSTEM1
                  LJMP BACK1
                  RET
                  MAIN2:
                  LCALL INIT_SYSTEM2
                  LJMP BACK1
                  RET


                  BACK1:
                  JNB P3.0,MAIN1
                  JNB P3.1,MAIN2

                  MOV RUN_DATA,MOC
                  MOV A,RUN_DATA
                  MOV TIME_BACK,TIME_MOVE
                  ;=====================
                  BACK3:
                  MOV A,RUN_DATA
                  MOVC A,@A+DPTR
                  CPL A
                  MOV P1,A
                  LCALL DELAY
                  MOV P1,#0
                  ;============
                  CLR SCL
                  NOP
                  NOP
                  SETB SCL
                  ;============
                  INC RUN_DATA
                  MOV A,RUN_DATA
                  CJNE A,#20FFH,DEM_32_LAN
                  MOV RUN_DATA,#0
                  DEM_32_LAN:
                  INC BIEN_32
                  MOV A,BIEN_32
                  CJNE A,#64,BACK3
                  MOV RUN_DATA,MOC
                  MOV BIEN_32,#0
                  ;============================
                  SETB SDA
                  CLR SCL
                  NOP
                  SETB SCL
                  CLR SDA
                  ;=============
                  DJNZ TIME_BACK,BACK3
                  INC MOC
                  MOV A,MOC
                  CJNE A,#0ffh,thoat
                  MOV MOC,#0
                  thoat:ljmp back1
                  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;

                  ;=================================
                  INIT_SYSTEM1:
                  MOV DPTR,#500h
                  MOV TIME_MOVE,#1;so lan quet chu di lai
                  SETB SDA ; START
                  CLR SCL
                  SETB SCL
                  CLR SDA
                  MOV RUN_DATA,#1 ; DEFAUL
                  MOV MOC,#0
                  MOV BIEN_32,#1
                  RET
                  ;;;;;;;;---------------------------------------------------
                  ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                  INIT_SYSTEM2:
                  MOV DPTR,#800h
                  MOV TIME_MOVE,#1;so lan quet chu di lai
                  SETB SDA ; START
                  CLR SCL
                  SETB SCL
                  CLR SDA
                  MOV RUN_DATA,#1 ; DEFAUL
                  MOV MOC,#0
                  MOV BIEN_32,#1
                  RET
                  ;;;;;;;;---------------------------------------------------

                  DELAY:
                  mov r6,#200
                  de1:nop
                  nop
                  nop
                  djnz r6,de1

                  RET
                  ;========================


                  END
                  chỉ có thể là niềm đam mê

                  Comment


                  • #39
                    Nguyên văn bởi CONGMINHfs Xem bài viết
                    lang than trên dđ dtvn mình thấy có rất nhiều bạn thắc mắc về led matran về cách thiết kế phần cứng cũng như viết code để điều khiển nó,mà đặc biệt là bằng asm,
                    nói về dòng 89 mà dùng cho matran(quang báo)thì tương đối thôi vì tốc độ chậm,ram ít nhưng nó phù hợp với các bạn mới học vdk vì giá thành thấp ,dể sử dụng với những ứng dụng không lớn.
                    Mình mở luồn này nhằm giúp cho bạn nào muốn làm về led matran và viết code bằng hợp ngữ ,cách thiết kế một mạch thật để phù hợp với công xuất led dựa trên mạch mà các bạn mô phổng.

                    ....nào ...có ai hưởng ứng không nào..!
                    các bạn có thể tự vẽ hoặc lấy mạch mô phỏng này trước nhé
                    [/url]

                    còn đây fire mophong:MATRAN_8x8 x10.rar

                    bai 2:chúng ta cùng viết code cho chữ chạy từ trái qua phải .....
                    Bác CONGMINHFS giúp mình với theo mạch của bác mính có vẻ lại thành matrix 16x80, thay con 74HC138 thành 74HC154 quét 16 hàng, nhưng mà mình chưa biết làm sao để xuất dử liệu ra cột đề chừ "CONGMINHFS" nằm ở giửa hàng. mình chỉ biết diều chỉnh code để cho chử nằm ở 8 hàng trên hoặc 8 hàng dưới thôi. Mong bác giúp đở. thanks
                    Attached Files

                    Comment


                    • #40
                      Nguyên văn bởi PDEL Xem bài viết
                      ý của bạn nối chung hai chân 11 và 12 lại với nhau hay là chân 11 của con 595 này nối chân 11 của 595 khác, chân 12 của hai con này nối với nhau.
                      theo mình hiểu hoạt động của 595 thì chân 11 là xung vào để dịch bit, còn chân 12 thì xung chốt dử liệu. như vậy nếu nối hai chân này vớ nhau thì sẻ không có dịch bit ( vì hai chân điều nhà xung từ thấp lên cao) vậy lúc nảy chỉ có chân 15 là nhận dử liệu
                      Không biết mình diển đạt có đúng không? Nếu có gì sai mong các cao thủ góp ý. Thanks
                      chào cả nhà; các bạn mổ xẻ con 595 rôm rã nhĩ .
                      thế này nhé con 595 các bạn xem datacheet nó có 3 tần

                      tần thứ 1 gọi là thanh ghi dịch gồm các chân 14(input),c 11( SCK=xung cloc dịch bit),c 10 dùng xóa thanh ghi dịch cuối cùng sau khi dịch đủ 8 bít thì bít đầu tiên lòi ra ở c 9 để đi vào 595 kế tiếp

                      tần thứ 2 gọi là thanh ghi lưu trữ hay còn gọi là(nhớ) tần này chỉ có chân 12 dk.Sau khi có cạnh lên ở c 11(SCK) thì 1bit được dịch vào thanh ghi dịch(tgd) đồng thời bít này cũng được đẩy xuống th ghi lưu trữ.Sau khi có 1 xung ở c 12(RCK) thì toàn bộ 8 bít ở (tgd) được đẩy xuống tầng đệm.

                      tần thứ 3 gọi là tầng đệm(BUFFER) gồm các chân out và chân 13 đóng mở các chân out này(QA....QH)

                      để đơn giản người ta thường nối c10(SCLR) =Vcc(có nghĩa không cần xóa tgd và c 13(G)=GND(có nghĩa là tần đệm luôn được mở...


                      Như vậy là việc nối chung c11 và c12 lại với nhau là được,cách này thường để quét cột (mức tích cực là 1)nếu muốn chính xác thì cột đầu tiên phải cần 2 xung ....các bạn tìm hiểu tai sao nhé...

                      trong lập trình matran dùng 595 con này còn nhiều cái rất hay....
                      Last edited by CONGMINHfs; 09-10-2012, 18:53.

                      Comment


                      • #41
                        Nguyên văn bởi PDEL Xem bài viết
                        Bác CONGMINHFS giúp mình với theo mạch của bác mính có vẻ lại thành matrix 16x80, thay con 74HC138 thành 74HC154 quét 16 hàng, nhưng mà mình chưa biết làm sao để xuất dử liệu ra cột đề chừ "CONGMINHFS" nằm ở giửa hàng. mình chỉ biết diều chỉnh code để cho chử nằm ở 8 hàng trên hoặc 8 hàng dưới thôi. Mong bác giúp đở. thanks
                        MÌNH bận quá chưa xem fire của bạn nhưng mình gợi ý thế này nhé .
                        đầu tiên bạn sữa chữ CONGMINHFS thành mã 16(có ngĩa là 2byte)
                        rồi dùng thêm 80byte ram nữa ,sữa lại quét 8 hàng thành 16 h
                        giảm delay cho phù hợp là ok.
                        bạn cứ làm đi bí chổ nào mình giúp cho.

                        à mạch của mình sau này cũng sẻ nâng lên 16 đó,các bạn chờ nhé...

                        Comment


                        • #42
                          bạn nói đúng lắm
                          chỉ có thể là niềm đam mê

                          Comment


                          • #43
                            Nguyên văn bởi chjpchjp1991
                            Bài viết của bạn hay lắm..Thanks nhé..mình post qua trang web mình chia sẻ nhé....và mình vẽ mạch in..có gì bạn CONGMINHFS bổ sung để mình có bản mạch in hoàn thiện nhé..^^
                            ok..ok...............

                            Comment


                            • #44
                              thanks bạn, bài viết rất hay, nhưng mà mở rộng ký tự ra nhiều hơn được k bạn. VD mình viết chữ dài như một bài hát và full memory Chip luôn

                              Comment


                              • #45
                                Bài viết của bạn hay quá CONGMINHfs
                                - Mạch nạp vdk 8051, AVR, PIC, EEPROM
                                - Linh kiện điện tử cho sinh viên


                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X