Thông báo

Collapse
No announcement yet.

Các khối lệnh chạy song song

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    Nguyên văn bởi traisanhdieu Xem bài viết
    VD: Por1 có 8 bit .

    /// Phần chữ - 4 bit đầu
    mov p1, # 1010
    delay
    mov p1, # 0101

    // Phần viền - 4 bit cuoi
    mov p1, # 1111
    delay
    mov p1, #0000


    Mình muốn viết 2 phần này riêng biệt ra để dễ xử lý. Nhưng ko biết làm sao để 2 phần này chạy song song voi nhau. Nếu gọi hàm thì trong khi gọi hàm của viền thì phần hiệu ứng chữ sẽ ko chay. Ko biết mình nói có dúng ko. Mong các ban cho mi`nh một giải pháp. Thnk !!
    Không biết phần cứng của bạn cho 2 cái hiệu ứng đó có chung (cùng trên led mảng) hay là riêng (chữ trên led mảng, còn viền là các led đơn được điều khiển bởi các chân khác với chân điều khiển led)?
    Giả sử là riêng, như vd mà bạn đã viết ra thì ta có thể: xử lí 4 bít đầu cần xuất ra P1 trên 1 biến, xử lí 4 bít sau cần xuất ra P1 trên 1 biến khác, sau đó kết hợp 2 biến đó lại để cùng xuất ra P1.
    PHP Code:
     mov a,#0A0H
     
    orl a,#0FH  ;=0AFH
     
    mov p1,a
     lcall delay
     mov a
    ,#50H
     
    orl a,#0
     
    mov p1,
    !e

    Comment


    • #17
      Nguyên văn bởi zemen Xem bài viết
      Không biết phần cứng của bạn cho 2 cái hiệu ứng đó có chung (cùng trên led mảng) hay là riêng (chữ trên led mảng, còn viền là các led đơn được điều khiển bởi các chân khác với chân điều khiển led)?
      Giả sử là riêng, như vd mà bạn đã viết ra thì ta có thể: xử lí 4 bít đầu cần xuất ra P1 trên 1 biến, xử lí 4 bít sau cần xuất ra P1 trên 1 biến khác, sau đó kết hợp 2 biến đó lại để cùng xuất ra P1.
      PHP Code:
       mov a,#0A0H
       
      orl a,#0FH  ;=0AFH
       
      mov p1,a
       lcall delay
       mov a
      ,#50H
       
      orl a,#0
       
      mov p1,
      Mình rất cám ơn bạn !! Nhưng Nếu 2 phần viền và chữ delay khác nhau thì sao?? Không thể nào xuất 2 biến ra cùng một lúc dc !! Mong anh em giải đáp dùm mình. Mìinh dang viết phần mềm lập trình led Tự Động, xây đựng bộ thư viện hiệu ứng, đảm bảo ở Việt Nam chưa có. Nhưng mình còn xoắn phần Code ASM này wa. hii...... Làm xong nhất định mình sẽ share cho anh em xài. Mong anh em giúp đỡ mình


      Àh nói thêm, mình ko cần CPU xử lý 2 lệnh song song trên một chu kỳ máy, chỉ cần người dùng thấy nó xuất hiện cùng lúc là dc rùi. Hee...

      Comment


      • #18
        sao hok ai quan tam het. giup em với

        Comment


        • #19
          Nguyên văn bởi traisanhdieu Xem bài viết
          Mình rất cám ơn bạn !! Nhưng Nếu 2 phần viền và chữ delay khác nhau thì sao?? Không thể nào xuất 2 biến ra cùng một lúc dc !! Mong anh em giải đáp dùm mình. Mìinh dang viết phần mềm lập trình led Tự Động, xây đựng bộ thư viện hiệu ứng, đảm bảo ở Việt Nam chưa có. Nhưng mình còn xoắn phần Code ASM này wa. hii...... Làm xong nhất định mình sẽ share cho anh em xài. Mong anh em giúp đỡ mình


          Àh nói thêm, mình ko cần CPU xử lý 2 lệnh song song trên một chu kỳ máy, chỉ cần người dùng thấy nó xuất hiện cùng lúc là dc rùi. Hee...
          Mình thấy bạn nêu ra 2 vấn đề khá hay.
          1 là viết nhiều hiệu ứng chạy đồng thời, 2 là viết phần mềm tự động tạo hiệu ứng.

          Về cái thứ 2, mình không chắc về ý tưởng phần mềm LED của bạn, nhưng những phần mềm kiểu này đã có nhiều rồi. Bạn có thể tham khảo soft của QuangHuy hoặc Ledimm của mình (có trong link phía dưới),... Tất cả đều là đồ thương mại vì những người dùng cái này thường xuyên đều là những người làm biển quảng cáo kiếm lời.

          Về cái thứ 1, bạn có thể làm theo cách như mọi người đã góp ý. Cái này dễ thực hiện nhất. Còn nếu bạn muốn viết nhiều hiệu ứng chạy độc lập và đồng thời thì bạn có thể dùng RTOS, hoặc viết 1 cái cơ chế thay đổi ngữ cảnh kiểu hệ điều hành. Nó gần như chia một CPU vật lí thành nhiều CPU logic. Tất nhiên nó phải can thiệp vào stack. Các hàm hiệu ứng của bạn là các hàm độc lập, và được khai như các tiến trình. Một khi cơ chế này đc kích hoạt, nó sẽ luân phiên phục vụ các hàm cho đến hết. Cái này gọi là đa nhiệm. Tự viết cái cơ chế này thì khó, sẽ mất ít nhất 1 tuần test và debug, và tất nhiên sẽ buốt óc. Trong trường hợp bạn ko viết được thì bạn có thể tìm trên mạng xem có sẵn ko để dùng luôn (Cái này mình ko rõ trên mạng có cái dùng sẵn luôn mà lại miễn ko).
          Tóm lại, bạn nên bắt đầu tìm hiểu thêm về Multitasking và RTOS.


          Have Fun!

          Comment


          • #20
            Nguyên văn bởi bvhoang Xem bài viết
            Mình thấy bạn nêu ra 2 vấn đề khá hay.
            1 là viết nhiều hiệu ứng chạy đồng thời, 2 là viết phần mềm tự động tạo hiệu ứng.

            Về cái thứ 2, mình không chắc về ý tưởng phần mềm LED của bạn, nhưng những phần mềm kiểu này đã có nhiều rồi. Bạn có thể tham khảo soft của QuangHuy hoặc Ledimm của mình (có trong link phía dưới),... Tất cả đều là đồ thương mại vì những người dùng cái này thường xuyên đều là những người làm biển quảng cáo kiếm lời.

            Về cái thứ 1, bạn có thể làm theo cách như mọi người đã góp ý. Cái này dễ thực hiện nhất. Còn nếu bạn muốn viết nhiều hiệu ứng chạy độc lập và đồng thời thì bạn có thể dùng RTOS, hoặc viết 1 cái cơ chế thay đổi ngữ cảnh kiểu hệ điều hành. Nó gần như chia một CPU vật lí thành nhiều CPU logic. Tất nhiên nó phải can thiệp vào stack. Các hàm hiệu ứng của bạn là các hàm độc lập, và được khai như các tiến trình. Một khi cơ chế này đc kích hoạt, nó sẽ luân phiên phục vụ các hàm cho đến hết. Cái này gọi là đa nhiệm. Tự viết cái cơ chế này thì khó, sẽ mất ít nhất 1 tuần test và debug, và tất nhiên sẽ buốt óc. Trong trường hợp bạn ko viết được thì bạn có thể tìm trên mạng xem có sẵn ko để dùng luôn (Cái này mình ko rõ trên mạng có cái dùng sẵn luôn mà lại miễn ko).
            Tóm lại, bạn nên bắt đầu tìm hiểu thêm về Multitasking và RTOS.


            Have Fun!
            Em cam on anh, nhưng em dang mổ lợn, bác kêu em mua dao mổ trâu làm j ??

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X