User Tag List

kết quả từ 1 tới 5 trên 5

Ðề tài: Vấn đề về hiển thị trên LED ma trận

  
  1. #1
    Thành viên tích cực ylotus's Avatar
    Tham gia
    Nov 2008
    Bài viết
    147
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Smile Vấn đề về hiển thị trên LED ma trận

    Em đang làm mạch về đo nhiệt độ hiển thị tên LED ma trận, làm xong mạch hết rồi nhưng bây giờ em đang dính tại cái code, không biết làm sao để hiển thị lên led ma trận, thầy nói ý tưởng là dùng 32 bytes RAM nội vi dụ 30H-4FH để quét 32 cột của led ma trận (4 con) , sau đó muốn hiển thị cái j thì ta sẽ MOVE nó vào vùng quét của 32 cột LED nhưng em không biết làm như thế nào, anh chị nào biết giúp em, cho em biết nguyên lý mình sẽ quét như thế nào hay ý tưởng mình sẽ làm như thế nào cũng đc.
    em dùng 4 con 74HC595 để dịch cột cho led ma trận

    Em đang thắc mắc là nếu mình sử dụng ô nhớ RAM từ 30H-4FH thì em ko biết khống chế làm sao để khi tới 4FH nó sẽ biết là đủ 32 cột để quay lại.
    thứ 2 là sau khi đo xong nhiệt độ, em bin sang BCD và lưu vào 2 ô nhớ 40H và 41H rồi thì không biết làm sao để MOVE nó vào vùng quét của led ma trận


  2. #2
    Thành viên tích cực tienhuypro's Avatar
    Tham gia
    Mar 2009
    Nơi Cư Ngụ
    HCM city
    Bài viết
    353


    Nhóm xã hội



    Hồ Chí Minh - Nhật Tảo

    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    theo em nói thì matran của em là 8 hàng 32 cột.
    vấn đề 1:1 hàng có 32 cột thì tương ứng với 32bit = 4 byte --> 8 hàng thì dùng mảng 4x8=32 byte.
    hiển thị led matrix theo phương pháp quét từng hàng. từ hàng 1-->2-->..8
    ví dụ: em muốn sáng hàng 1 thì dịch tuần tự 32bit của 4 byte đầu tiên, rồi hàng 2 thì 4 byte tiếp theo...
    vấn đề 2: Muốn hiển thị số trên led matrix thì em phải tạo ra mảng font số 0-->9. mỗi font 8x8 hoặc tuỳ em, font này được lưu trong bộ nhớ chương trình luôn.
    vấn đề 3: xử lý nhiệt độ để hiện thị trên led matrix
    - em đã dùng vùng ram 30H-4FH rồi thì ô nhớ 40H và 41H không được dùng nữa, em chọn 50H, 51H chẳng hạn. dữ liệu nhiệt độ thường thay đổi nên em dùng phương pháp tra bảng để lấy đúng font số em tạo rồi copy font vào các byte ram display.
    Vấn đề 4: Giải thuật hiển thị
    - dùng timer quét và xuất tuần tự từng hàng led matrix từ các byte ram.
    - còn chương trình chính thì chỉ việc xử lý dữ liệu rồi copy dữ liệu đó vào các byte ram hiển thị.

    Bài còn nhiều thiếu sót, bác nào quan tâm thì góp ý cho em nó làm đồ án tốt hơn.

    Gởi em project mô phỏng bằng protues 7.5 trở lên nha

    File gửi kèm
    Đột kích trong tầm ngắm Clan [Venus]*star nickname: tienhuypro
    Ethernet-AVR: http://vsys.no-ip.info/secret/

  3. #3
    Thành viên tích cực ylotus's Avatar
    Tham gia
    Nov 2008
    Bài viết
    147
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Anh tienhuypro ơi anh cho em xin địa chỉ mail đc ko, có vấn đề j em sẽ mail cho anh nhờ giúp đỡ đc ko ak.
    Em thì khoái điện tử mà chỉ tội là ngu we nên có thể hỏi mấy câu ngu ngơ mong anh bỏ qua
    Vấn đề 1:cái quét led thì em đưa dữ liệu thẳng ra hàng lun (xài nguyên 1 port lun) cột thì em dùng 595 để dịch như anh đã trình bày
    Vấn đề 3: đây là cái em đang chết đây, em không biết phải làm sao để Move giá trị nhiệt độ đó vào vùng ram đây ak anh co thể chỉ rõ cho em chỗ này hem (vậy khi mình move con trỏ DPTR là mình move vô ô nhớ lưu giá trị nhiệt hay move vô cái bảng mã 0-9 vậy anh)
    Vấn đề 2: em cũng đã tạo ra bảng mã led ma trận 0-9 rồi, mình cũng phải lưu nó vô các vùng RAM lun hay sao anh
    Với lại em ko thể kiểm soát đc khi nào thì nó sẽ quét tới ô nhớ 4FH để quay về quét lại từ 30H
    gửi anh cái hình file led ma trận
    Click here to enlarge

    còn đây là file mô phỏng và code(em làm từng cái riêng rẽ nên chưa đổi tên port trong file code)
    http://www.box.net/shared/ff7hifs5ec
    http://www.box.net/shared/hfzg2787k0

    cái code led ma trix em có xài R2 để kiểm soát khi nào quét tới ô nhớ 4FH nhưng cũng ko đc

    Last edited by ylotus; 04-01-11 at 22:15.

  4. #4
    Thành viên tích cực tienhuypro's Avatar
    Tham gia
    Mar 2009
    Nơi Cư Ngụ
    HCM city
    Bài viết
    353


    Nhóm xã hội



    Hồ Chí Minh - Nhật Tảo

    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Anh đọc code rồi.
    MOVC A,@A+DPTR
    MOV P1,A
    CLR P3.0
    SETB P3.0 ;SET SCK
    CLR P3.2
    SETB P3.2 ;SET RCK
    CALL DELAY
    MOV P1,#0FFH
    CLR P3.1
    INC @R0
    INC R2
    CJNE R2,#32,L1
    POP ACC
    RET
    đoạn này em không dịch được từng bit của mỗi byte được (tham khảo code anh gởi)
    mỗi lần em dịch là 32 bit rồi hãy chốt xung ST_CP.
    dùng 2 ô nhớ để kiểm tra vòng lặp: 1- kiểm tra dịch đủ 4 byte (dịch đủ 1 hàng), 2- kiểm tra dịch đủ 8 hàng

    còn đọc dữ liệu nhiệt độ thì chỉ cần dùng lệnh MOVX (khi thực hiện lệnh này MCU sẽ tự động làm all cả) để đọc dl từ ADC

    Phần mạch:
    -không cần 2803
    -điện trở chọn khoảng 10 Om
    -PNP chọn TIP127:
    -nên nối chân EA-->VCC
    -làm thêm mạch reset
    -nên thiết kế mạch dịch từ phải qua trái

    mail anh: huyhtqn@gmail.com

    Last edited by tienhuypro; 06-01-11 at 10:27.
    Đột kích trong tầm ngắm Clan [Venus]*star nickname: tienhuypro
    Ethernet-AVR: http://vsys.no-ip.info/secret/

  5. #5
    Thành viên mới lenhuphuong1's Avatar
    Tham gia
    May 2012
    Bài viết
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    a tienhuypro ơi.a có thể viết giúp em chương trình hiển 1 cột led matrix dung con tpic6b595 dc ak? cám ơn a nhìu


Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không được gửi luồng mới
  • Bạn không được trả lời bài viết
  • Bạn không được gửi file đính kèm
  • Bạn không được sửa bài viết của mình
  •