Thông báo

Collapse
No announcement yet.

LED MATRIX DISPLAY

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

  • Đối với các chtrinh đòi hỏi đáp ứng thzan thực, thì gần như 90 phần trăm là ko thể mô phỏng đuoc.

    Comment


    • Một ứng dụng của quang báo dùng để hiền thị đồng hồ vạn niên.
      Mời anh chị em xem tại:
      http://duyphi.phpnet.us/quangbao.html
      hoặc:
      http://duyphi.phpnet.us
      .
      .
      Attached Files

      Comment


      • chào các đại cao thủ. đệ cũng đang tìm hiểu về led matrix display, nhưng còn ít kinh nghiệm lắm. Đệ làm một bảng điều khiển cho một matrix 8x8 hiển thị một chữ A dịch phải như thế này, nó chạy được nhưng khi chữ A của đệ chuyển động thì nó cứ bị nhấp nháy , không nét như đệ thấy ở ngoài phố, đệ nghĩ mình bị sai tần số quét nhưng đệ sửa mãy mà không được. mong các cao thủ chỉ điểm cho đệ với.
        - Phần cứng đệ làm thế này:+ MCU 89s52
        +Led matrix đệ mua có hai màu xanh đỏ ( 24 chân) +Để xuất dữ liệu đệ dùng thanh ghi dịch vào nối tiếp ra song song 74hc595( có nhiều cách nhưng đệ muốn xuất dữ liệu nối tiếp để hiểu thêm. 74595 có tích hợp sẵn bộ chốt dữ liệu, nó có một tín hiệu cho phép làm việc ( G) 1 tín hiệu cho phép dịch dữ liệu và một tín hiệu cho phép chốt dữ liệu tới đầu ra.
        + Để cấp nguồn cho Led ma trix đệ dùng A1015 dĩ nhiên là có các trở hạn dòng. còn đất thì đệ nối trực tiếp vào 74hc595
        + Mỗi mãu xanh đỏ của led matrix được cấp dữ liệu bởi 1 thanh ghi dịch, muốn chọn màu nào thì cho thanh ghi dịch đó tích cực ( G = 0). Hàng thì luôn luôn được xuất dữ liệu nên G của hàng đệ nối đất

        + dưới đây là phần mềm mà đệ viết để điều khiển
        kết quả , nếu chỉ hiện đứng im thì đệ quét tần số khoảng 25hz ( delay khoảng 40ms cho mỗi lần xuất dữ liệu ) nó sáng rất tốt. nhưng khi đệ cho nó chạy thì nó vừa chạy vừa nhấp nháy nên không rõ lắm , mong các cao thủ chỉ giáo và hồi âm sớm cho đệ. đệ rất mong chờ

        Code:
        dc		equ	p1.0 ;du lieu xuat ra cot ( noi voi ser cot_ co hai duong cho hai mau)	
        dh		equ	p1.7	;du lieu xuat ra hang (noi voi ser cua hang)	
        clkc		equ	p1.3	; cho phep dich cot( noi voi sck cot)
        clkh		equ	p1.6	;cho phep dich hang	(noi voi sck hang)
        latc		equ	p1.2	;cho phep chot du lieu cot (noi voi rck)
        lath		equ	p1.5	; cho phep chot du lieu hang
        oer		equ	p1.1	; cho phep 74hc595 noi voi mau do hoat dong
        oeg		equ	p1.4	;-----------------------noi voi mau xanh---
        ;-------------------------------------------------------------
        org	00h
                
        
        		lcall	laydulieu
        		
                chuong_trinh_chinh:
        		lcall   rolling
                
                	lcall	hienthi
               		
        		
        		sjmp	chuong_trinh_chinh
        laydulieu:
        		mov	dptr,#datacot
        		mov	r0,#30h
        		mov	r2,#08h
        	loop1:
        		clr	a
        		movc	a,@a+dptr
        		mov	@r0,a
        		inc	dptr
        		inc	r0
        		djnz	r2,loop1
        
        ;-------------------------------------------------------------
        		mov	dptr,#datahang
        		mov	r1,#40h
        		mov	r2,#08h
        	loop2:
        		clr	a
        		movc	a,@a+dptr
        		mov	@r1,a
        		inc	dptr
        		inc	r1
        		djnz	r2,loop2
        
        ret
        ;-------------------------------------------------------------
        hienthi:	
        	mov	r0,#30h		; dia chi dau du lieu cot	
        	mov	r1,#40h		;dia chi dau du lieu hang
        	main:
        		mov	a,@r1	;lay du lieu vao a
        		mov	r2,#08h	;bietdem
        	lap1:
        		rrc	a	
        		mov	dh,c	; xuat 1 bit ra hang
        		acall	clockh	; cho phep dich
        		djnz	r2,lap1	; lap 8 lan ( 8 bit)
        		acall	latchh	; chot du lieu
        ;-------------------------------------------------------------
        	mov	a,@r0
        		mov	r2,#08h
        	lap2:
        		rrc	a
        		mov	dc,c
        		acall	clockc
        		djnz	r2,lap2
        		acall	latchc
        ;-------------------------------------------------------------
        		inc	r0
        		inc	r1
        		clr	oer	; cho phep sang mau do
        		acall	delay
        		setb	oer	;tat
        		mov	a,r0
        		cjne	a,#38h,main ; khi r0 tang den 8 thi lap lai
        		mov	r0,#30h
        		mov	r1,#40h
        		ret
        ;-------------------------------------------------------------
        rolling:
        		mov	r1,#40h
                mov r2,#07h
        		mov	a,@r1
        		mov	r6,a; cat tam thoi byte dau
            dao_byte:
                inc r1 ;tro den o nho tiep theo (r0 =41h)
        		mov	a,@r1; doc du lieu ve
                dec r1 ; tro ve o nho truoc(r0=40h)
        		mov	@r1,a ; cat du lieu vao o nho nay
        		inc r1    ;41h
                djnz r2,dao_byte
        	    mov	a,r6
        		mov	@r1,a
        ret
        
        ;-------------------------------------------------------------
        clockc:
        		clr	clkc
        		nop
        		setb	clkc
        		ret
        ;-------------------------------------------------------------
        clockh:
        		clr	clkh
        		nop
        		setb	clkh
        		ret
        ;-------------------------------------------------------------
        latchc:
        		clr	latc
        		nop
        		setb	latc
        		ret
        ;-------------------------------------------------------------
        latchh:
        		clr	lath
        		nop
        		setb	lath
        		ret
        ;-------------------------------------------------------------
        delay:
        		mov	tmod,#01h
                mov th0,#0dbh
                mov tl0,#0ffh
                setb tr0		
        here:   jnb tf0,here
        	    clr    tr0
                clr     tf0
        		ret
        
        ;-------------------------------------------------------------
        datahang:
        		db	0ffh,03h,0edh,0eeh,0eeh,0edh,03h,0ffh
        datacot:
        		db	07fh,0bfh,0dfh,0efh,0f7h,0fbh,0fdh,0feh
        ;-------------------------------------------------------------
        end
        namqn: bạn đang post code của MCS51 trong box PIC/dsPIC!
        Last edited by namqn; 29-07-2007, 19:30.

        Comment


        • bác DUY PHI cho em hỏi chút.nếu như dùng để làm đồng hồ vạn năng thì bộ nhớ phải rất lớn đúng không ạ.em mới vào nghề nên chưa rõ lắm,bác có thể nói rõ cho em phần này được không vậy,thanks

          Comment


          • Mình chưa hiểu rõ lắm cách các bạn dùng 74HC595 để dịch dữ liệu,các bạn có thể bỏ chút thời gian để giải thích cho mình hiểu rõ đc không?Trước đây mình dùng 8 Trans để xuất dữ liệu,dùng 2803 để đệm chọn cột ở LMD 8*8,nhưng bây giờ muốn mở rông lên 8*32 nên muốn dùng 74HC595.Nhưng chưa bit rõ nên các bạn ráng giúp mình nha.Cám ơn lắm lắm

            Comment


            • Nguyên lý của 595 như thế này

              MCU --> Bộ chuyển tín hiệu nối tiếp ra song song ví dụ 164--> Bộ đệm chốt có điều khiển ví dụ 595

              Tín hiệu từ MCU được dịch ra ngoài thay vì dùg trực tiếp port vi điều khiển
              bằng cách này có thể mở rộng lên khá nhiều port out.

              Còn lý do vì sao không dùng trực tiếp ngõ ra của bộ chuyển từ nối tiếp thì vì trong quá trình chuyển lên thì những bit không mong muốn bị dịch vào vị trí hàng cột mà ta không muốn nên phải cần bô chốt để điều khiển khi nào thì chốt dữ liệu ra ngoài.
              Tránh hiện tượng nhập nhòe.

              Sông dài, Thuyền lớn, Biển rộng bao la.
              Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

              Comment


              • chào các cao thủ. nguyên lý đệ dùng 74hc595 để xuất dữ liệu như sau:

                +Dùng một bít ở một cổng nào đó của VDK(VD p1.0) để xuất dữ liệu
                +Dữ liệu 8bit đưa vào thanh ghi a, quay có nhớ a để lấy một bít vào cờ nhớ.
                +Xuất cờ nhớ ra p1.0
                +phát một xung cho phép 74hc595 dịch một bít
                + Lặp 8 lần để dịch đủ 8 bít ( xuất được 1byte )
                +Khi dịch đủ 8 bít thì phát một xung cho phép chốt dữ liệu ra ( sau khi chốt dữ liệu ra là song song)

                - Đối với bài test của đệ thì dữ liệu được xuất ra tốt, nhưng có điều đệ không sửa được sự nhấp nháy khi chữ chuyển động, không biết tần số quét ở đây như thế nào là hợp lý. Sao chưa thấy có ai giúp đỡ đệ vậy nè.huhu

                Comment


                • Đưa lưu đồ lên, chứ đọc code của bạn chắc mình chịu thua mất-->Thật sự là không đủ kiên nhẩn để dọc, kha kha....
                  Bạn có thể tham khảo xem một bảng đèn demo trong website này:
                  http://duyphi.phpnet.us/sachpic84.htm
                  Last edited by MicroDuyphi; 30-07-2007, 13:56.

                  Comment


                  • Chào các bác!em la người mới vào nghề,cũng mê phần QB nay lắm.Với mạch nhỏ thì em đã làm dc roi,tuy chua thật sự như mong muốn.Đọc những gì các bác đưa lên em cung đã hiểu phần nào những sai lầm của mình.Em sẽ thử lại sau.
                    Em có dự định làm một QB lớn(16x128)nhưng không dám thử vì túi tiền eo hẹp,kh ám làm càng.Em dịnh dùng 74HC595 dể quét cột nhưng ngại thời gian đáp ứng của nó.Mong các bác chỉ bảo giúp em.MCU em dung la họ 89,vì em chi rành mỗi con này thôi.
                    To Bác Duy Phi:lâu nay đọc nhiều bài tren diễn đàn,quả la khâm phuc cao thủ.Mong bác giúp đỡ cho.
                    Hôm nay phải hơn hôm qua và thua ngày mai!

                    Comment


                    • chao cac dai cao thu.Mong cac dai cao thu giai thich dum tieu de trong cai truong phai QB nay do la:mat tien loi cua viec dung giai ma(138,154)de quet so voi dung ghi dich(164,595).Tieu de dang tinh lam mot cai QB lon,nhung kh biet su dung chieu nao la hieu qua nhat,de dang cho phan cung va phan mem + ket qua den chay nhu y muon.Mong cac ca ca va minh su chi cho vai chieu.Da ta,da ta...
                      Hôm nay phải hơn hôm qua và thua ngày mai!

                      Comment


                      • em là lính mới đây!!!em đang rất cần làm 1 bảng đèn led nhấp nháy theo điệu nhạc,,,mong các anh giúp đỡ....em xin cảm ơn trước ha

                        Comment


                        • Nguyên văn bởi stone_fman Xem bài viết
                          chao cac dai cao thu.Mong cac dai cao thu giai thich dum tieu de trong cai truong phai QB nay do la:mat tien loi cua viec dung giai ma(138,154)de quet so voi dung ghi dich(164,595).Tieu de dang tinh lam mot cai QB lon,nhung kh biet su dung chieu nao la hieu qua nhat,de dang cho phan cung va phan mem + ket qua den chay nhu y muon.Mong cac ca ca va minh su chi cho vai chieu.Da ta,da ta...
                          Theo tôi được biết khoảng 3 năm về trước các công ty về làm về quang báo vẫn còn dùng (138,154) làm phần cứng nhưng hiện nay đều chuyển sang dùng (138,595) hoặc (595,595) để thiết kế phần cứng điểm tạo ra sự thay đổi này theo tôi phàn lớn là do khả năng mở rộng bản led khá thuận lợi của thiết kế, tiết kiệm được chi phí phần cứng, với một khả năng viết chương trình tốt bạn có thể mở rộng kích thước bảng theo yêu cầu. Sự hạn chế của thiết kế này hiện nay chỉ là giải pháp phần mềm mà thôi!

                          Comment


                          • Nguyên văn bởi poly_kha Xem bài viết
                            em là lính mới đây!!!em đang rất cần làm 1 bảng đèn led nhấp nháy theo điệu nhạc,,,mong các anh giúp đỡ....em xin cảm ơn trước ha
                            Chưa biết là linh mới của diễn đàn hay lính mới của lĩnh vực!!!!

                            Comment


                            • Mình đã xem qua schematic của mô hình LED matrix trên và thấy không ổn lắm khi tăng số lượng ô matrix 8x8 (mở rộng chiều dài của bảng matrix). Khi tăng số cột của bảng matrix lên thì có thể tính được chu kì quét cột là :
                              T=1/(24*n). Với n là số cột.
                              Khi tăng n thì rõ ràng là matrix sẽ sáng yếu dần vì tần số quét quá nhanh để đảm bảo đủ 24 hình/s. Mình đã làm một matrix với 6 ô 8x8 theo cách sau và chạy tốt, không bị nháy hay sáng yếu.
                              1. Thay vì quét cột ta quét hàng (số hàng thường ít hơn nhiều so với số cột)
                              2. Sử dụng thanh ghi dịch shift register 1 intput- 8 outputs 74HC595 để đưa dữ liệu ra các hàng.
                              3. Khi số hàng cũng lớn dần thì ta quét cùng lúc nhiều hàng song lại cần thêm những dãy 74HC595 hoạt động độc lập chỉ liên quan với nhau bởi chương trình (chương trình sent_data trong bảng font). Mỗi dãy 74HC595 sẽ điều khiển một số lượng nhỏ các hàng trên toàn bộ một bảng led matrix lớn.
                              (Có thể nối dài rất nhiều 74HC595 để có thể latch được nhiều cột)

                              Comment


                              • Nguyên văn bởi Tuấn Anh CVN Xem bài viết
                                Mình đã xem qua schematic của mô hình LED matrix trên và thấy không ổn lắm khi tăng số lượng ô matrix 8x8 (mở rộng chiều dài của bảng matrix). Khi tăng số cột của bảng matrix lên thì có thể tính được chu kì quét cột là :
                                T=1/(24*n). Với n là số cột.
                                Khi tăng n thì rõ ràng là matrix sẽ sáng yếu dần vì tần số quét quá nhanh để đảm bảo đủ 24 hình/s. Mình đã làm một matrix với 6 ô 8x8 theo cách sau và chạy tốt, không bị nháy hay sáng yếu.
                                1. Thay vì quét cột ta quét hàng (số hàng thường ít hơn nhiều so với số cột)
                                2. Sử dụng thanh ghi dịch shift register 1 intput- 8 outputs 74HC595 để đưa dữ liệu ra các hàng.
                                3. Khi số hàng cũng lớn dần thì ta quét cùng lúc nhiều hàng song lại cần thêm những dãy 74HC595 hoạt động độc lập chỉ liên quan với nhau bởi chương trình (chương trình sent_data trong bảng font). Mỗi dãy 74HC595 sẽ điều khiển một số lượng nhỏ các hàng trên toàn bộ một bảng led matrix lớn.
                                (Có thể nối dài rất nhiều 74HC595 để có thể latch được nhiều cột)
                                Chính xác đấy, mình đã dùng cách này rồi.
                                Phần cứng, quá tiết kiệm, nếu có n led8x8 2 màu thì chỉ cần n ghi dịch 595, 2n trans và 2 giải mã (để quét hàng)
                                Nhưng về phần mềm thì hơi khó nhai. Đó là khi chuyển từ mã ASCII thành mã điểm 8x8, rồi thành byte dịch ra ngoài. Việc dịch từng bít mất nhiều thời gian (đặc biệt khi chạy hiệu ứng/dùng 8051/không có XRAM). Trường hợp dịch byte thì đơn giản hơn khi có thể tận dụng bộ UART hoặc SPI
                                !e

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X