Thông báo

Collapse
No announcement yet.

Hỏi về code led cho 89c51!

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

  • Gửi bác thindcna..!
    Em làm mạch thật rùi..! Bác có lấy không, em gửi qua email cho..!
    Em mới học 11 có biết gì về lập trình đâu..! ^^hihi

    Comment


    • Gửi bác nguyentot90..!
      Em có cái tài liệu này, nó dạy cách lập trình bằng ASM giống như cái code bác viết..!
      Lập trình ASM cho Vi Điều Khiển | Lập trình ASM 8051
      em không hiểu thanh ghi ở đây là gì, và sao lại có 8 thanh ghi, nó nằm ở đâu vậy..?

      Comment


      • Nguyên văn bởi Tuananh_95 Xem bài viết
        Bác nguyentot90..!
        Ý của bác là sửa cái CALL DELAY thành CALL DELAY1 hoặc CALL DELAY2......
        Số càng lớn thì tần số càng nhanh hay càng chậm vậy bác..?
        DELAY:
        MOV R3, # 255
        HERE2:
        MOV R4, # 255
        HERE:
        DJNZ R4, HERE
        DJNZ R3, HERE2
        RET

        DELAY1:
        MOV R6,#55
        HERE4:
        MOV R7,#255
        HERE3:
        DJNZ R7,HERE3
        DJNZ R6,HERE4
        RET
        END

        Delay ở đây chỉ là đặt cái tên thôi còn nội dung của nó khác...bạn nhìn nội dung 2 cái delay khác nhau ở chổ nạp giá trị cho R. Theo ở trên cái delay thời gian nó lặp lại lâu hơn delay1

        Comment


        • Gửi phucan2104..!
          Em cảm ơn bác nhé..!
          Em mà có máy tính thì em đã đọc nó rùi..!

          Comment


          • Gửi bác Nguyentot90..!
            Khó hiểu ghê..!
            Em đọc cái này mà không hiểu ở chỗ delay và chỗ thanh ghi R1, R2..! Lập trình ASM cho Vi Điều Khiển | Lập trình ASM 8051

            Comment


            • Nguyên văn bởi Tuananh_95 Xem bài viết
              Gửi bác Nguyentot90..!
              Khó hiểu ghê..!
              Em đọc cái này mà không hiểu ở chỗ delay và chỗ thanh ghi R1, R2..! Lập trình ASM cho Vi Điều Khiển | Lập trình ASM 8051
              Thanh ghi theo mình nói cho dể hiểu chỉ là nơi gửi giá trị vào thôi và nơi gửi địa chỉ đó người ta đặt tên nó la R0 => R7 tiếp theo là lệnh nhảy djnz VD gui 1 vào R0 thi dưới lệnh nhảy nó chỉ nhảy 1 (thời gian thực hiện rất nhanh) gưi 255 vào R0 thời gian cũng còn nhanh mà giá trị của nó cao nhất là 255 nên để tăng thời gian lên người ta gửi thêm giá trị từ 0 ~ 255 vào R1 hoặc bất kì R nào. (Hic còn là sinh viên nên pro nào đọc bài viết thông cảm cho cách diễn đạt >.< )

              Comment


              • Học VĐk mà ko co máy tính thì làm sao bác viết được chương trình mà cho dù bác có code thì làm sao để nap chip,
                Còn các thanh ghi R1,R2,.... bác chiu khó đọc chương 2 của 8051 book la thấy liền.

                Comment


                • Nguyên văn bởi nguyentot90 Xem bài viết
                  Thanh ghi theo mình nói cho dể hiểu chỉ là nơi gửi giá trị vào thôi và nơi gửi địa chỉ đó người ta đặt tên nó la R0 => R7 tiếp theo là lệnh nhảy djnz VD gui 1 vào R0 thi dưới lệnh nhảy nó chỉ nhảy 1 (thời gian thực hiện rất nhanh) gưi 255 vào R0 thời gian cũng còn nhanh mà giá trị của nó cao nhất là 255 nên để tăng thời gian lên người ta gửi thêm giá trị từ 0 ~ 255 vào R1 hoặc bất kì R nào. (Hic còn là sinh viên nên pro nào đọc bài viết thông cảm cho cách diễn đạt >.< )
                  mấy chú làm khó em nó quá, toàn đưa tài liệu ko có mục khái quát và sơ đồ khối của 1 VDK cơ bản thì đó đứa HS nào hiểu.
                  Nguyên văn bởi Tuananh_95 Xem bài viết
                  Gửi bác Nguyentot90..!
                  Khó hiểu ghê..!
                  Em đọc cái này mà không hiểu ở chỗ delay và chỗ thanh ghi R1, R2..! Lập trình ASM cho Vi Điều Khiển | Lập trình ASM 8051
                  đọc chương 1 của cuốn này đi để có cái nhìn tổng quát trước
                  Attached Files

                  Comment


                  • Gửi bác chung1608..!
                    Bác tâm lí ghê..!^^
                    em cảm ơn bác nhé..!

                    Comment


                    • Cho em hỏi..!
                      Lệnh CALL DELAY dùng để làm gì vậy..?

                      Comment


                      • Nguyên văn bởi Tuananh_95 Xem bài viết
                        Cho em hỏi..!
                        Lệnh CALL DELAY dùng để làm gì vậy..?
                        Call = gọi. Delay = trể...Là dùng gọi thời gian trể đó. VD như cho đèn sáng 1s thì trong chương trình của delay viết sao cho thời gian nó là 1s.thì sau khi cho đèn sáng thì cho nó sáng bao lâu nên có thêm lệnh call delay

                        Comment


                        • Vậy ta điều chỉnh thời gian trễ đó bằng cách nào...?
                          Ví dụ Em muốn nó trễ 1s thì làm thế nào sao lệnh CALL DELAY

                          Comment


                          • Nguyên văn bởi Tuananh_95 Xem bài viết
                            Vậy ta điều chỉnh thời gian trễ đó bằng cách nào...?
                            Ví dụ Em muốn nó trễ 1s thì làm thế nào sao lệnh CALL DELAY
                            để viết thử 1 ct delay 1s cho tham khảo
                            Delay:
                            MOV R5,#7
                            LAP2 : MOV R6,#255
                            LAP1 : MOV R7,#255
                            DJNZ R7,$
                            DJNZ R6,LAP1
                            DJNZ,R5,LAP2
                            RET
                            cách tính này gần đúng 1s thôi
                            1s = 1000.000 micro s
                            câu lệnh DJNZ của mình tốn mất 2 chu kỳ máy.(chỉ tính thời gian cho câu lệnh này thôi vì mấy câu lệnh khác chỉ tốn 1 chu kỳ máy rất nhỏ so với sự lập lại của lệnh giảm DJNZ)
                            khi đó 1000.000/2=500.000
                            mỗi thanh ghi của mình chứa max là 256 tức là từ 0-255
                            lấy 500.000/255/255= 7, mấy đó. kết quả chia đều cho 3 thanh ghi như ct delay
                            tính thời gian delay này phụ thuộc vào tần số của thach anh nữa ..như trên tần số thạch anh là 12Mhz

                            |

                            Comment


                            • Nghe bác caothangqv nói mà em chẳng hiểu gì..!
                              Bác có cách nào mà dễ hiểu hơn không..?
                              Nếu bác biêt viết chương trình thì viết giúp em 1 chương trình điều khiển led cube 4x4x4 được không..?

                              Comment


                              • Em dùng vi điều khiển AT89C52 điều khiển cho khối led cube 4x4x4 chung dương..!
                                Mấy tuần nay em học về lập trình ASM cho 8051 mà không ăn thua..! Khó hiểu quá mấy bác ah..!

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X