Thông báo

Collapse
No announcement yet.

giúp em về thời gian trễ trong lập trình cho 8051 với

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

  • giúp em về thời gian trễ trong lập trình cho 8051 với

    em đang lập trình điều khiển đèn led cho con 8051 sáng các kiểu chữ khác nhau nhưng mỗi kiểu lại cần thời gian trễ khác nhau, mà em thì lại chỉ biết tạo một thời giãn trễ duy nhất.
    các bác xem có cách nào để có thể làm mỗi kiểu nháy dùng một thời trễ khác nhau không
    cảm ơn các bác nhiều

  • #2
    Đơn giản nhất là viết nhiều chương trình con với các delay khác nhau, làm thêm phím bấm để di chuyển tới các chương trình con đó hoặc định 1 khoảng thời gian thì tự động chuyển từ ct con này sang ct con khác (dùng Djnz ấy) cũng được.

    Comment


    • #3
      Hàm trễ của bạn ko có biến chuyền vào à ?
      Nếu có thì chỉ cần thay đổi giá trị biến chuyền vào thì sẽ có thời gian trễ khác nhau thôi

      Comment


      • #4
        bác ơi nhưng đây là chương trình chạy tự động nên không dùng phím bấm được. khi mình tạo nhiều chương trình con delay nhưng làm thế nào để nhận biết được kiểu nháy này thì dùng delay nay kiểu nháy kia thì dùng delay khác
        vì mới tìm hiểu bác giúp em với
        thanks các bác

        Comment


        • #5
          theo mình bạn nên viết cho nó nhiều thời gian trễ cho mỗi kiểu.tùy vào kiểu nháy nằm ở đâu mà gọi CT delay phù hợp vào đó.Nếu ko thì chỉ cần viết 1 CT delay, tùy thời gian delay CT là bao nhiêu mà gọi số lần delay cho phù hợp.
          VD:setb P1.0
          lcall delay
          lcall delay
          lcall delay

          clr P1.0


          Add: 97 Quán Nam - Lê Chân - Hải Phòng.
          Tel: 031 518648 Phone: 0904 283 505

          Comment


          • #6
            có khi em phải làm theo cách đấy. cảm ơn bác nhé

            Comment


            • #7
              nhưng em vẫn muốn có cách nào khác không vì chương trình của em không phải là đẩy ra từng port mà là em sử dụng con chỏ, đưa các giá trị vào con chỏ rồi đấy ra các port.
              mong các bác giúp đỡ

              Comment


              • #8
                Multi System nói đúng rồi đấy sao bạn không thử xem
                Mình cũng có dùng hàm delay để nháy 8 LED theo các kiểu khác nhau
                Bạn tham khảo nge

                //Khai bao cac chuong trinh con
                void delay(unsigned int number);
                //Dinh nghia ham delay
                void delay(unsigned int number)
                { unsigned char j;
                unsigned char i;
                for(i=0;i<=number;i++)
                { for(j=0;j<=1000;j++)
                {}
                }
                }

                1000 là 1000micro s
                khi cần delay thi bạn gọi nó ra: delay(x);
                giả sử mình cần trễ 1s -> delay(1000)
                trễ 0,5s delay(500)
                ...
                Thân!

                Comment


                • #9
                  bác ơi bác có thể bảo em về chương trình bằng acsem không?

                  Comment


                  • #10
                    Bạn viết hàm có số truyền vào ấy!
                    vd thạch anh 12MHz => Tck=1us. Viết hàm delay_1ms, muốn trì hoãn nhiều lần thì dùng vòng lặp để lặp lại nhiều lần hàm này.

                    ;------------------------------------------
                    main:
                    ;viết các lệnh ở đây
                    mov r5,#100
                    lcall delay_nms; //trì hoãn 100ms
                    jmp main

                    ;-----------------------------------------
                    ;r5<255, muốn có trì hoãn lớn hơn 255ms thì có thể viết hàm delay_100ms
                    ;với đối số r4 truyền vào => trì hoãn lớn nhất đạt 255x100ms=25,5s
                    delay_nms:
                    lcall delay_1ms
                    djnz r5, delay_nms
                    ret

                    ;------------------------------------
                    delay_1ms:
                    mov r6,#10
                    delay_1ms1:
                    mov r7,#50
                    djnz r7,$
                    djnz r6,delay_1ms1
                    ret
                    !e

                    Comment


                    • #11
                      thanks các bác. Để em thử xem đã,co gì em hỏi các bác sau.

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      • mèomướp
                        Trả lời cho Sửa bộ nguồn DC 60V 45A
                        bởi mèomướp
                        Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                        Hôm qua, 13:11
                      • tuyennhan
                        Trả lời cho Sửa bộ nguồn DC 60V 45A
                        bởi tuyennhan
                        Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                        Hôm qua, 09:25
                      • tuyennhan
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi tuyennhan
                        Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                        Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                        Hôm qua, 09:10
                      • Ng.Phuong.5
                        Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                        bởi Ng.Phuong.5
                        Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                        Mấy con...
                        09-01-2025, 19:44
                      • viettinh
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi viettinh
                        Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                        Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                        09-01-2025, 18:12
                      • nguyendinhvan
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi nguyendinhvan
                        Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                        Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                        Cách đơn giản...
                        09-01-2025, 00:04
                      • mèomướp
                        Trả lời cho Sửa bộ nguồn DC 60V 45A
                        bởi mèomướp
                        Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                        08-01-2025, 19:02
                      • tuyennhan
                        Trả lời cho Sửa bộ nguồn DC 60V 45A
                        bởi tuyennhan
                        Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                        08-01-2025, 15:43
                      • tuyennhan
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi tuyennhan
                        Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                        08-01-2025, 15:28
                      • mèomướp
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi mèomướp
                        Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                        08-01-2025, 11:44
                      Đang tải...
                      X