Announcement

Collapse
No announcement yet.

Góc học tập vi xử lý- vi điều khiển

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #76
    Originally posted by 10520496 View Post
    Ở trường hợp đầu R7 chưa được nạp 20 vào và nhảy phát đến hàm DELAY1S luôn (đến lúc này thì R7 vẫn bằng 0) nên nó sẽ chạy nhanh hơn trường hợp sau đúng không?
    Bạn sửa lại như thế này thử:

    AGAIN:
    CPL P1.4
    MOV R7,#20
    ACALL DELAY1S
    JMP AGAIN
    ;MOV R7,#20
    MOV TMOD,#1H
    không,mình muốn viết ct delay riêng,khi cần thì gọi ra sài.
    lạ ở đây là TH sau chạy nhanh hơn TH đầu. (nhanh hơn cả DELAY50MS)
    Lê Bá Nhựt UIT-CE05
    Phone: 0968-868-300
    Email: nhutlbuit@gmail.com

    Enthuse + Creative + Try => Success

    Comment


    • #77
      DELAY1S:
      MOV R7,#20
      DL1S:
      ACALL DELAY50MS
      DJNZ R7,DL1S
      RET
      thôi viết zj cho chắc. viết như trên hok hiểu nó chạy như thế nào luôn.
      TH1: nếu zj thì cái lệnh mov R7,#20 sẽ đâu có được thực hiện,nhưng lại ra kết quả đúng
      Th2: lại ra kết quả sai. (nhanh hơn cả DELAY50MS)
      Last edited by 10520397; 24-10-2012, 10:00.
      Lê Bá Nhựt UIT-CE05
      Phone: 0968-868-300
      Email: nhutlbuit@gmail.com

      Enthuse + Creative + Try => Success

      Comment


      • #78
        bạn Nhựt hoạt động ở đây sôi nổi quá ta.
        University of Information Technology
        Cao Văn Nhàn _ CE10520355
        SĐT: 0188 403 4943

        Email: caovannhan2002@gmail.com

        Comment


        • #79
          Originally posted by 10520355 View Post
          bạn Nhựt hoạt động ở đây sôi nổi quá ta.
          hok biết nên hỏi đó ba
          Lê Bá Nhựt UIT-CE05
          Phone: 0968-868-300
          Email: nhutlbuit@gmail.com

          Enthuse + Creative + Try => Success

          Comment


          • #80
            Originally posted by 10520382 View Post
            Trường hợp tạo delay đó anh. Ví dụ mình muốn tạo timer 1 khoảng thời gian nào đó, ta thường nạp vào THx và TLx một giá trị nào đó, giá trị đó có ý nghĩa như thế nào trong quá trình thực thi vậy a.
            Nhắc lại 1 chút nha, ở 8051 thì thanh ghi của nó là 16bit. Tuy nhiên nó có cơ chế định địa chỉ cho 8 bit cao và 8 bit thấp của một số thanh ghi đặc biệt nên bạn thấy có một số thanh ghi dạng xH, xL. Đó về bản chất là 1 thanh ghi, nhưng có thể được sử dụng như 2 thanh ghi độc lập.

            Timer ở 8051 bản chất nó là 1 bộ counter (cụ thể là counter gì thì các bạn tự tìm hiểu ở hệ thống số) khi đếm lên tới giá trị cực đại (bị tràn) thì nó sẽ reset. Vì mục đích đó nên bạn cần phải xác định xem counter phải đếm bao nhiêu lần, và nạp cái giá trị ban đầu đó cho counter. Ví dụ counter 8 bit max là 256, bạn muốn đếm 5 lần, thì lấy 256-5 = 251 => nạp giá trị ban đầu là 251 vào counter. . Mà đã nói tới chuyện nạp, thì hiển nhiên phải có memory... nên nó mới phát sinh ra thanh ghi THx, TLx => hai thanh ghi (mình gọi vậy cho dễ)này được sử dụng để lưu giá trị ban đầu cho counter.

            Ở ví dụ trên:

            Khi hoạt động counter sẽ bắt đầu đếm từ 252->253->254 ->255->256 -> overflag set 1, counter reset.

            Tới đây lòi ra cái vụ reset => cho bạn câu hỏi luôn : Counter reset sẽ trở về trạng thái nào???, hay nói cách khác là khi reset giá trị ban đầu của counter sẽ trở về là 0 hay là giá trị nào khác??? :sogood:

            NOTE: cái công thức mình xài ở trên là dựa trên trí nhớ, ko chắc là timer set overflag lên 1 ở 255 hay phải chờ thêm 1 xung đâu nha, các bạn nên coi lại udency:
            Last edited by 08520229; 24-10-2012, 10:37.
            Một khẩu súng giữ hai trời Nam Bắc,
            Một dấu chân in màu đất hai miền.

            ------------------------------------------------------

            Comment


            • #81
              Originally posted by 10520355 View Post
              bạn Nhựt hoạt động ở đây sôi nổi quá ta.
              Khoa mình nhiu pro wa @@

              Comment


              • #82
                Originally posted by 10520382 View Post
                Khoa mình nhiu pro wa @@
                mấy bài này chỉ là đơn giản,có j đâu mà Pro bạn
                Lê Bá Nhựt UIT-CE05
                Phone: 0968-868-300
                Email: nhutlbuit@gmail.com

                Enthuse + Creative + Try => Success

                Comment


                • #83
                  Originally posted by 10520382 View Post
                  Khoa mình nhiu pro wa @@
                  còn nhìu pro chưa lộ diện lắm đấy Long à.
                  University of Information Technology
                  Cao Văn Nhàn _ CE10520355
                  SĐT: 0188 403 4943

                  Email: caovannhan2002@gmail.com

                  Comment


                  • #84
                    bạn nào biết làm thế nào để leg7segment đếm được từ 0->999 không?
                    mình chỉ cho nó chạy hết thanh ghi R là 255 ah
                    Lê Bá Nhựt UIT-CE05
                    Phone: 0968-868-300
                    Email: nhutlbuit@gmail.com

                    Enthuse + Creative + Try => Success

                    Comment


                    • #85
                      Originally posted by 10520397 View Post
                      bạn nào biết làm thế nào để leg7segment đếm được từ 0->999 không?
                      mình chỉ cho nó chạy hết thanh ghi R là 255 ah
                      http://www.mediafire.com/?mrpfc5ancld1b4l

                      Nếu bạn muốn chạy từ 000 - 999 thì ban cần có 3 thanh ghi tam cho ba số: trăm, chục, đơn vị. Ví dụ R2 R1 R0. Mỗi một thanh ghi đó sẽ điều khiển 1 led 7 đoạn, R2 R1 R0 ==> ta có 3 led 7 đoạn. Đầu tiên cho cả 3 R2 R1 R0 đều = 0; ==> ta được số 000, sau một thời gian tùy ý ta chọn sẽ tăng R0 lên 1. ==> cho hiện lại 3 số hiện tại trên (R2 R1 R0) thì ta được số 001, cứ tiếp tục cho đến khi R0 > 9 thì ta cho R0 quay về 0 và cộng 1 vào R1, .... Nếu R1 > 9 thì cho R1 = 0 và cộng 1 vào R2.
                      Cách điều khiển led 7 đoạn như thế nào là tùy mỗi người (quét led, dùng IC giải mã, IC chốt, ...).
                      TRẦN QUANG VINH
                      ĐT: 01688200 sáu sáu sáu
                      mail: vinhtq191@gmail(dot)com

                      Comment


                      • #86
                        Originally posted by 10520496 View Post
                        http://www.mediafire.com/?mrpfc5ancld1b4l

                        Nếu bạn muốn chạy từ 000 - 999 thì ban cần có 3 thanh ghi tam cho ba số: trăm, chục, đơn vị. Ví dụ R2 R1 R0. Mỗi một thanh ghi đó sẽ điều khiển 1 led 7 đoạn, R2 R1 R0 ==> ta có 3 led 7 đoạn. Đầu tiên cho cả 3 R2 R1 R0 đều = 0; ==> ta được số 000, sau một thời gian tùy ý ta chọn sẽ tăng R0 lên 1. ==> cho hiện lại 3 số hiện tại trên (R2 R1 R0) thì ta được số 001, cứ tiếp tục cho đến khi R0 > 9 thì ta cho R0 quay về 0 và cộng 1 vào R1, .... Nếu R1 > 9 thì cho R1 = 0 và cộng 1 vào R2.
                        Cách điều khiển led 7 đoạn như thế nào là tùy mỗi người (quét led, dùng IC giải mã, IC chốt, ...).
                        thanks you
                        Lê Bá Nhựt UIT-CE05
                        Phone: 0968-868-300
                        Email: nhutlbuit@gmail.com

                        Enthuse + Creative + Try => Success

                        Comment


                        • #87
                          May ban cho minh hoi code part 1 nhu the nao dz?

                          Comment


                          • #88
                            Originally posted by 10520410 View Post
                            May ban cho minh hoi code part 1 nhu the nao dz?
                            lab1 mấy vậy bạn, lab2 hả
                            No Problems

                            Comment


                            • #89
                              Originally posted by 10520410 View Post
                              May ban cho minh hoi code part 1 nhu the nao dz?
                              link: http://www.mediafire.com/?z3narfk56d250xm
                              đây là bài lab2 của mình các bạn dow về tham khảo nha!
                              Last edited by 10520397; 30-10-2012, 17:08.
                              Lê Bá Nhựt UIT-CE05
                              Phone: 0968-868-300
                              Email: nhutlbuit@gmail.com

                              Enthuse + Creative + Try => Success

                              Comment


                              • #90
                                có Pro nào giải thích giùm ý nghĩa lệnh này với
                                " MOV AX,9
                                MOV BX,3
                                ADD AL,BL
                                AAA "

                                Comment

                                LHQC

                                Collapse
                                Working...
                                X