Thông báo

Collapse
No announcement yet.

Chỉ giùm em hàm delay thời gian lớn

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

  • Chỉ giùm em hàm delay thời gian lớn

    thưa mấy sư huynh em có đôi lời nhờ vả tý. hiện em đang lập trình to te cho con 89 làm cái quạt dktx, tới cái chức năng hẹn giờ thì bí quá vì không biết viết sao cho chương trình nó lâu cỡ một tiếng với lại em không chuyên lắm (đang tự mò mẫm học tập), mong các bậc đàn anh đi trước có cái công thứ tính toán, chương trình mẫu hay bất kỳ gợi ý nào mong mấy anh chịu khó post lên giúp em với. em xin chân thành cảm ơn và thank hết

  • #2
    vì không biết viết sao cho chương trình nó lâu cỡ một tiếng
    dùng timer tạo 1 khoảng thời gian hằng số nào đó .ví dụ là 1s ,1ms rồi dùng vòng lặp nhân lên nhưng có vẻ với cách tính này sẽ có sai số nhưng không đáng kể lắm
    . Gà về mạch tương tự :( ,đang cố gắng phấn đấu

    Comment


    • #3
      Nói thật với mấy huynh chứ thật ra em đang mò PIC nhưng mà lại dùng 89 do ham rẻ, thật sự thì timer0 em chỉ dọc lý thuyết sơ chứ xài thì chịu, mấy anh có cách khác không chỉ em với

      Comment


      • #4
        tiện đường cho em hỏi lệnh djnz, nop chiếm mấy chu kỳ máy vậy ạ???

        Comment


        • #5
          tiện đường cho em hỏi lệnh djnz, nop chiếm mấy chu kỳ máy vậy ạ???

          Comment


          • #6
            nop chiếm 1chu kỳ máy , djnz chiếm 2chu kỳ máy.

            Comment


            • #7
              lệnh nop chiếm 1 chu kỳ máy ( 1/12 tần số thạch anh). Nếu sợ pic đắt thì chuyển qua AVR đi cho rẻ và gần giống với 89 về cách lập trình.
              n
              ĐT: 0986 492 489

              Tham khảo:

              Comment


              • #8
                NOP (No OPeration) là một lệnh assembly, nó chẳng làm gì cả, tốn 1 chu kỳ máy. Chỉ đơn giản là pass qua lệnh tiếp theo.
                PHP Code:
                void delay(unsigned char Second)
                {
                   while(
                Second--)
                      {
                          
                unsigned int temp;             
                              
                temp=1000;
                               while(
                temp--)
                                 {
                                    
                TR0 0;
                                    
                TMOD 0x01;   
                                    
                TH0 0xFC;
                                    
                TL0 0x18 ;
                                    while(!
                TF0);
                                    
                TR0 1;
                                    
                TF0 0;
                                    
                                  }
                         }
                 } 
                Trên đây là hàm tạo trễ khoảng 1s, biến Second chính là số giây được truyền vào hàm, ở đây biến này thuộc kiểu unsigned char nên giá trị lớn nhất là 256s. Muốn lớn hơn thì khai báo kiểu unsigned int, giá trị lớn nhất là 35536s ~ 10 tiếng đồng hồ.

                Comment


                • #9
                  hớ hớ anh multisystem chơi khó em rồi, em dùng asm chứ có biết C là gì đâu, nhưng dù sao cũng cảm ơn anh nhiều

                  Comment


                  • #10
                    Theo M thì dùng Ngắt Timer sẽ hay hơn đó, M khởi tạo cho Timer đếm trong khoảng thời gian bao lâu đó tùy mình, mỗi lần tràn timer thì mình sẽ tăng biến đếm lên 1, Đến lúc nào tính đủ thời gian (đếm == bao nhiêu đó) thì kết thúc, Nếu vẫn không đủ thì có thể dùng thêm 1 biến đếm nữa
                    Khi đêm1 ==bao nhiêu đó thì tăng đếm 2 và reset dem 1. Đến lúc đủ thì chỉ cần Reset hết các biến là OK
                    .: Lê Tiến Mạnh :.
                    Phone number : 0989 735 804
                    YM,Skype,mail : [leemanhj916]@gmail.com

                    Comment


                    • #11
                      sài timer cua á di anh ui !!

                      Comment


                      • #12
                        thui để mấy bữa nữa rảnh em viết cho @_@
                        sài tmer cũng dc mà vòng lặp cũng được
                        nó không khó lắm nhưng tụi em chỉ học á thui nhìu anh cứ phang c >>> bó tay!

                        Comment


                        • #13
                          ban thu tham khao deley 1s dung timer

                          delay: mov tmod,#01h
                          mov r7,#20
                          lap:
                          mov th0,#high(-50000)
                          mov tl0,#low(-50000)
                          setb tr0
                          jnb tf0,$
                          clr tr0
                          clr tf0
                          djnz r7,lap
                          ret

                          Comment


                          • #14
                            ban thu tham khao delay 1s dung timer 0 port 1

                            delay: mov tmod,#01h
                            mov r7,#20
                            lap:
                            mov th0,#high(-50000)
                            mov tl0,#low(-50000)
                            setb tr0
                            jnb tf0,$
                            clr tr0
                            clr tf0
                            djnz r7,lap
                            ret

                            Comment


                            • #15
                              Nguyên văn bởi congtri1991 Xem bài viết
                              thưa mấy sư huynh em có đôi lời nhờ vả tý. hiện em đang lập trình to te cho con 89 làm cái quạt dktx, tới cái chức năng hẹn giờ thì bí quá vì không biết viết sao cho chương trình nó lâu cỡ một tiếng với lại em không chuyên lắm (đang tự mò mẫm học tập), mong các bậc đàn anh đi trước có cái công thứ tính toán, chương trình mẫu hay bất kỳ gợi ý nào mong mấy anh chịu khó post lên giúp em với. em xin chân thành cảm ơn và thank hết
                              ham tre dung ASM
                              dùng timer0 Ở chế độ 16 bít:
                              tre_10ms:
                              mov tmod,#01h
                              mov th0,#high(-10000)
                              mov tl0,#low(-10000)
                              CLR TF0
                              SETB TR0
                              TRE:
                              JNB TF0, TRE
                              CLR TR0
                              RET
                              ;;;;;;;;;;

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • tuyennhan
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi tuyennhan
                                Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                                Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                                hôm nay, 07:44
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Cám ơn những lời chúc tốt đẹp của em.

                                Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                                Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                                hôm nay, 02:00
                              • nhathung1101
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi nhathung1101
                                Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                Hôm qua, 22:18
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                Hôm qua, 14:51
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                Hôm qua, 14:39
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                Hôm qua, 14:28
                              • bqviet
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi bqviet
                                Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                21-02-2025, 20:26
                              • mèomướp
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi mèomướp
                                Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                21-02-2025, 12:32
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                20-02-2025, 21:31
                              • bqviet
                                Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                bởi bqviet
                                Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                                20-02-2025, 17:22
                              Đang tải...
                              X