1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

Quét led ma trận hiển thị một chuỗi bất kỳ

Thảo luận trong 'Lập Trình C cho vi dieu khien PIC cơ bản' bắt đầu bởi Duy Luan, 5 Tháng mười một 2009.

  1. Duy Luan New Member

    Số bài viết: 25
    Đã được thích: 1
    Điểm thành tích: 0
    Chào mọi người, lâu quá không viết bài nào cho forum hôm nay t xin bóc tem mục học PIC căn bản này với một phương pháp quét ledmatrix mà t mới thực hiện xong.



    -Bảng led t sử dụng 8x16, vdk PIC16F887, chip giải mã 4->16 74HC154, phần mềm lập trình CCS trong môi trường giao diện của MPLAB, mô phỏng proteus 7.6
    -Dùng excel xây dựng mã cho các ký tự cần hiển thị.( Xem file excel đính kèm và đối chiếu với đoạn code lập trình để hiểu chi tiết hơn)
    -Quét led theo cột, đi từ cột đầu đến cột cuối và tra bảng mã xuất tín hiệu tương ứng với từng cột.

    Do còn phải làm nhiều đồ án khác nên tạm thời t chưa thể chỉ tường tận cho mọi người tường bước thực hiện được nên t xin đưa ra hướng dẫn bằng cách chú thích vào đoạn code lập trình, mong mọi người đọc hiểu, thông cảm và nếu có thắc mắc gì thì mọi người đưa ra t sẽ giải thích.

    Đoạn code lập trình:



    Phần trình bày còn nhiều hạn chế, mọi người kết hợp thêm với các file đính kèm để hiểu rõ thêm.

    Chương trình này chưa có sự hoàn hảo do đó để khuyến khích mọi người học tập t xin đưa ra một đề nghị "Nếu ai có thể phát triển chương trình này và tạo thành một file thư viện (file driver) để mọi người có thể include vào và sử dụng dễ dàng tương tự như file lcd.c, ldc.h,...thì t xin tặng cho người đó một con PIC16F887", xin báo luôn là con này đa năng, giá trên 50k hehe.
    Mong mọi người cùng nhau góp ý xây dựng để chúng ta có 1 giải pháp quét led ma trận hoàn chỉnh cho chúng ta và đàn em mai sau cùng sử dụng.

    File đính kèm (code, hex,excel, proteus, một vài hình ảnh) : http://www.mediafire.com/?xnndnzzmey0
    Chúc vui. NDLuân
    o0ovuong thích bài này.
  2. huyen New Member

    Số bài viết: 148
    Đã được thích: 0
    Điểm thành tích: 0
  3. KN Servant. Servant.

    Số bài viết: 1,291
    Đã được thích: 3
    Điểm thành tích: 0
  4. Duy Luan New Member

    Số bài viết: 25
    Đã được thích: 1
    Điểm thành tích: 0
    Sử dụng excel đơn giản thôi Huyền, trong excel ta tạo bảng 8x8 tương ứng như bảng led cơ bản là 8x8, để hiển thi 1 chữ cái hay 1 ký đặc biệt do bạn tự làm thì bạn chỉ việc cho giá trị 1 vào các ô sao cho ra hình bạn cần tạo.
    Còn công thức tính mảng số nguyên kia thì có thể giải thích nhứ sau: mình dùng PORTD để xuất tín hiệu cho từng cột, mỗi lần quét 1 cột nào đó mình sẽ xuất ra PORTD giá trị tương ứng, mỗi cột trong excel có 8 ô, 8 ô này tương ứng với 8 bit của PORTD.
    Ví dụ như chữ A({252,254,51,51,51,254,252,0};)
    - Quét cột 1: xuất PORTD = 252 = 0b11111100
    -Quét cột 2: xuất PORTD = 254 = 0b11111110
    ......................................

    Quét rất nhanh qua 8 cột bạn sẽ nhìn thấy chữ A

    Công thức mình dùng là đọc các số 1 tương ứng với các bit của PORTD và quy ra số thập phân, thế là xong, quá dễ hehe

    Chúc vui.

    Ở đây mình ko nói là dùng PIC hay AVR, mình đưa ra phương pháp quét led ma trận theo cách mình đã làm thôi, còn PIC hay AVR ko quan trọng, tất cả đều được tuốt:001: ở đây chủ yếu là giải thuật thôi, chỉ sử dụng IO chứ có chức năng nào đặc biệt đâu.

    Ai chuyển cái này thành thư viện cho AVR hay PIC như mình đã nói ở trên đều xứng đáng nhận 1 con PIC16F887 :cutesmile:.

    Chúc vui.
  5. KN Servant. Servant.

    Số bài viết: 1,291
    Đã được thích: 3
    Điểm thành tích: 0
  6. huyen New Member

    Số bài viết: 148
    Đã được thích: 0
    Điểm thành tích: 0
    Cái này thì biết rùi L,L nói dung ẽccell để tính j đó,H tưởng là có chức năng đặc biệt cho phép chuyển từ nhị phân qua hexa mà ko cần tính....lúc trước co lam 3 4 led ma tran j đó dùng 89.Tính diên lun
  7. Duy Luan New Member

    Số bài viết: 25
    Đã được thích: 1
    Điểm thành tích: 0
  8. daovubang New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
    cảm ơn bạn nhan.

    set_tris_c(0);
    set_tris_d(0);

    P/S: Từ smod: Mình sẽ xóa bài nếu bạn không sửa bài thành có dấu nha
  9. huyen New Member

    Số bài viết: 148
    Đã được thích: 0
    Điểm thành tích: 0
    cái câu lênh này đựoc dùng cho PIC nhằm cho PORTC PORTD là input hay output gì đó.(nếu nhớ không lầm)
  10. Tienbkfetq New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
    Bạn có thể giải thích cho mình 2 hàm read_char và scanled không?
    Mình mới học đọc không hiểu 2 hàm đó chạy như nào.
  11. phieuduf9 New Member

    Số bài viết: 11
    Đã được thích: 0
    Điểm thành tích: 0
  12. tranluanect New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  13. search New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
  14. cuibap1989 New Member

    Số bài viết: 9
    Đã được thích: 0
    Điểm thành tích: 0
    bạn biết cách tạo COM ảo giao tiếp giữa PIC và máy tính không ? đang làm đồ án ...tới cái phần này thì bí ,khó tìm tài liệu quá
  15. small ant Well-Known Member

    Số bài viết: 2,827
    Đã được thích: 88
    Điểm thành tích: 48
    Giới tính: Nữ
    bạn cài phần mềm tạo cổng com ảo là được à !
  16. kid_pro Member

    Số bài viết: 208
    Đã được thích: 6
    Điểm thành tích: 18
    trên mạng có phần mềm cho phép tính toán ra mã Hex đó. có nhiều tool hỗ trợ mà sao không tìm kiếm? anh Luân làm bằng excel cũng tốt. Nhưng em nghĩ sử dụng các tôl se tiện lợi hơn.

    Em không theo dòng 89 nữa. mặc dù nó là chuẩn công nghiệp. Hiện tại bây giờ ứng dụng trung bìhh thì PIC là rất rất phổ biến. có thêm dòng 16 và 32 bit nữa( em chưa làm). ARM cũng là một sự lựa chọn
  17. SLPRV Member

    Số bài viết: 170
    Đã được thích: 5
    Điểm thành tích: 18
    mình cũng k biết câu trả lời cho bạn . nhưng có 1 mẹo mách cho bạn là như này khi biết code mà k biết hàm đó ntn thì di chuyển đến hàm đó nhấn F11 , nó sẽ chạy ra đoạn hd kèm theo
    .Hoặc vào file hd , nhấn Cltr + F , gõ hàm vô và tìm , và sau đó ráng đọc,hi
    Chúc bạn thành công
  18. thangnv_540 New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 1
  19. o0ovuong New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 1
    A.Luan giờ em muốn thay đổi hiển thị tên khác thì sửa " DUY LUAN " thôi phải ko? Với em muốn thêm chạy ngược lại,lên xuống nữa. Ai biết giúp em với. Mới học nên cũng mù lằm :D

Chia sẻ trang này