Đố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.
Thông báo
Collapse
No announcement yet.
LED MATRIX DISPLAY
Collapse
This topic is closed.
X
X
-
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
.
.
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
Last edited by namqn; 29-07-2007, 19:30.
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.htmLast 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
-
Nguyên văn bởi stone_fman Xem bài viếtchao 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...
Comment
-
Nguyên văn bởi poly_kha Xem bài viếtem 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
-
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ếtMì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)
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
Bài viết mới nhất
Collapse
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 12:55 -
-
Trả lời cho Hỏi về test hipot cao ápbởi nguyendinhvanCách nghĩ của bạn là theo duy tâm thôi. Còn trong công việc thì phải theo duy lý.
Bạn vào goggle và gõ từ : tiêu chuẩn an toàn cách điện.
Bạn sẽ thấy vô vàn các quy định, VN cũng có , quốc tế cũng có. Mỗi vùng , mỗi khu vực,...-
Channel: Điện tử dành cho người mới bắt đầu
02-11-2024, 20:04 -
-
bởi lamvu0677Chào mọi người, ai làm về điện, đặc biệt biến áp xung, mâý con nho nhỏ gắn vào mạch nguồn, cho e hỏi tí ą, e cũng làm trong ty về biển áp thì đo kiểm thành phẩm sẽ kiểm cao áp, tức là kiểm xem có phóng điện giữa các cuộn dây với...
-
Channel: Điện tử dành cho người mới bắt đầu
01-11-2024, 21:05 -
Comment