Cách mô phỏng led matrix
1 Attachment(s)
Em đang học về led metrix.Muốn thực hành xíu,mà cái mạch nạp JDM nó bị lỗi j j ko biết.Nên phải dùng Proteus để mô phỏng.Mà sao mô phỏng cái chữ A mà ko đc.Hjc hjc
Nhờ các bác chị hộ.Bác nào có tài liệu về mô phỏng Proteus thì cho em với. Đây là đoạn code em viết Code:
#include <16F877a.h> |
Mình không tìm hiểu led Ma trận dùng PIC nên không giúp bạn dc.
Có file hướng dẫn Proteus này hy vọng giúp ích cho bạn http://rapidshare.com/files/23216040...s_7.1.rar.html |
Để giả lập Led matrix trong Proteus bạn cần chú ý về chân quy đinh của nó. Led matrix xanh và đỏ là khác nhau. Đối với Led matrix xanh : 8 chân phía trên là hàng , 8 chân phía dưới là cột. Led matrix đỏ thì ngược lại ; 8 chân trên là cột, 8 chân dưới là hàng. Để led sáng : chân hàng 0, chân cột 1.
Bạn xem lại trong code để bố trí chân cho phù hợp: xuất data ở port B, quét theo port D |
Trích:
Bác có thể chỉ cụ thể giùm em cái đc ko. |
Mình đã thử làm lại bài này cho bạn. Về giả lập ko có vấn đề gi`. Vấn đề là do code của ban.
Phần delay bạn để delay_ms(100); thì quá nhiều những 0,1s. Bạn chuyển sang delay_us(50) thì sẽ ok. Chúc bạn thành công ! |
Bạn có thể nói rõ hơn cách xác định chân,cách mắc đc ko.Mình đã sửa lại chỗ delay,nhưng mà khi mô phỏng nó vẫn ko ra hình thù j cả.Thực ra đây là bài tập thực hành hiển thị chữ A bằng led matrix nhưng do mình ko biết cách mô phỏng nên mới ra thế này.Bạn làm ơn chỉ rõ hơn giùm mình cái nhé.
Bạn chỉ cách xác định chân,các mắc rồi cho mình cái hình của bạn nhé |
1 Attachment(s)
OK! Minh mắc mạch theo sơ đồ của bạn. Ở đây bạn quét theo cột(do nối portD vào 8 chân cột phía dưới của Ledmatrix xanh), do chân cột của của Led matrix xanh là chân anot =>đối với mỗi cột được chọn sáng khi xuất dữ liệu cho cột thì bit 0 làm đèn led trên cột đó sáng, bít 1 thì tắt. Trong trường hợp bạn muốn xuất ra chữ A thì trong code phần data () bạn phải đảo ngược 1->0 , 0->1 . Vd: từ 0x00 ->0xff .
Đây là code mình đã sửa lại cho bạn để xuất chữ A Code:
#include <16F877a.h> |
Gửi cả file proteus lên luôn để dễ xử lý đi,và cũng để người khác tham khảo nữa.Đơ mất thời gian vẽ mạch trở lại.
|
co bac nao co so do nguyen ly mach ko cho em voi
|
2 Attachment(s)
Mô phỏng hiển thị chữ lưu ý chân linh kiện thui, nếu ko rõ thì test thử với mạch đơn giản ấy.
Mình viết tạm chương trình hiển thị chữ A. bạn coi thử nhé! Code: #include <16f877a.h> #fuses NOWDT,HS,PUT,NOPROTECT #device 16f877a*=16 adc=8 #use delay(clock=20000000) int8 Cot[]= {0b00011000, 0b00111100, 0b01100110, 0b11000011, 0b11111111, 0b11111111, 0b11000011, 0b11000011}; int8 Hang[]={0b11111110, 0b11111101, 0b11111011, 0b11110111, 0b11101111, 0b11011111, 0b10111111, 0b01111111}; int8 i; void main() { set_tris_b(0x00); set_tris_d(0x00); while(1) { for (i=0; i<8; i++) { output_b(Hang[i]); output_d(Cot[i]); delay_ms(5); } } } |
Quên mất! chương trình mình viết dùng CCS thuần, không phải định nghĩa thêm Port, có thế rút gọn hơn đó. Với chương trình nhỏ dùng ntn minh thấy tiện hơn.
|
đọc không hiểu gì hết. mình còn gà lắm.mong các bạn giúp đỡ
|
Khong có zỳ là hay het
Trích:
NGUOI READ : Bạn chỉ có thể mo phong duoc 1 led matrix thoi hả . Khong the mo phong với 16 led matrix ah cùi thế |
Có muon Hoc hoi kg hả.
|
Trích:
|
Múi giờ GMT. Hiện tại là 01:16 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam