Thông báo

Collapse
No announcement yet.

viết code assemly cho 8951 đo độ rộng xung

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

  • viết code assemly cho 8951 đo độ rộng xung

    mình đang tìm cách dùng timer để đo độ rộng xung vuông kích vào chân p3.5 hay chân nào tương tự mà chưa biết xử lý code ra sao. Sư phụ nào biết chỉ cho em dùm cái.em xin cảm ơn nhiều nhiểu....

  • #2
    Cái này dễ mà. Bạn sử dụng chân ngắt INT0 và INT1 của 89S52 đi, hai cái ngắt này tác động bằng cạnh xuống.
    Bạn dùng cổng đảo 74HC14 đổi cạnh lên thành cạnh xuống để kích chân INT0,
    Chân INT1 nối trực tiếp với tín hiệu xung.

    Khi INT0 được tác động thì vi điều khiển sẽ ngắt, tại thời điểm này bạn cho Timer T0 chạy. Khi INT1 được tác động thì vi điều khiển lại ngắt, tại thời điểm INT1 được tác động bạn cho Timer T0 dừng chạy.
    Sau đó lấy thời gian Timer T0 đếm được tính ra độ rộng của xung.
    Chúc bạn thànhh công.
    Attached Files

    Comment


    • #3
      vậy là mình sẽ kiểm tra liên tục INT0 khi nào xuống 0 thì cho timer0 chạy,rồi lại kiểm tra liên tục INT1 khi nào xuống 0 là dừng timer1 à?Anh viết code dùm em xem thế nào chứ em ko biết viết ra sao day????em chi mới học lập trính sơ sơ a.

      Comment


      • #4
        Không cần kiểm tra INT0 và INT1 đâu em. INT0,INT1 là 2 ngắt ngoài của vi điều khiển, và nó có mức độ ưu tiên cao nhất (Khi có xung tác động là sinh ra ngắt mà không cần kiểm tra gì hết). Anh nói ro vậy rồi mà lập trình không được nữa thì lạ lắm đó.

        Comment


        • #5
          thế làm sao khởi động timer chạy khi có ngắt INT0 va dừng khi có ngắt INT1 ạ????

          Comment


          • #6
            Code dai khai nhu the nay:

            ORG 000H
            JMP MAIN

            ORG 003H ; ĐỊA CHỈ NGẮT CỦA INT0
            JMP NGAT_T0

            ORG 013H ;ĐỊA CHỈ NGẮT CỦA INT1
            JMP NGAT_INT1

            MAIN:
            MOV R1,#1
            MOV TMOD,#01H ;T0 16 BIT
            MOV TH0,#0
            MOV TL0,#0
            CLR TF0
            SETB IT0 ;INT0 VÀ INT1 TÁC ĐỘNG BẰNG CẠNH XUỐNG.
            SETB IT1
            MOV IE,#85H ;CHO PHÉP INT0 VÀ INT1 NGẮT
            CJNE R1,#0,$

            NGAT_INT0:
            SET TR0 ;TIMER T0 BẮT ĐẦU CHẠY
            RETI

            NGAT_INT1:
            CLR TR0 ; TIMER T0 DỪNG CHẠY
            MOV IE,#00H ;KHÔNG CÓ NGẮT NÀO ĐƯỢC PHÉP NGẮT
            MOV A,TL0 ; MOV THỜI GIAN TIMER T0 ĐẾM ĐƯỢC VÀO THANH GHI A

            (
            ....TỚI ĐÂY LÀ ĐƠN GIẢN RỒI, BẠN VIẾT TIẾP CHƯƠNG TRÌNH TÍNH ĐỘ RỘNG XUNG,SAU ĐÓ GIẢI MÃ HIỂN THỊ RA LED 7 ĐOẠN
            )

            RETI
            END
            Last edited by sangthai; 18-12-2008, 11:07.

            Comment


            • #7
              bái phục anh Thai nha!Em cảm ơn rất nhiều>

              Comment


              • #8
                TL0 là nội dung thấp mà,anh chỉ dùng 4bit thấp thôi sao?còn TH0 thì sao?

                Comment


                • #9
                  TL0 8 bit lận cưng. Độ rộng xung đo anh ước chừng là <255uS nên chỉ lấy data của thanh ghi TL0 thôi.
                  Nếu em sợ độ rộng xung cần đo > 255us thì viết thêm chương trình giải mã luôn TH0.

                  Comment


                  • #10
                    thansk!
                    vậy lá có thể hoàn thành Đồ án rồi.
                    Đa tạ anh Thai.

                    Comment


                    • #11
                      Nguyên văn bởi tanhungngt Xem bài viết
                      thansk!
                      vậy lá có thể hoàn thành Đồ án rồi.
                      Đa tạ anh Thai.
                      Bao nhiêu đó mà là đồ án sao trời?
                      The goal of power electronics is control the flow of energy from an electrical source to an electrical load with high efficiency, high availability, high reliability, light weight and low cost.

                      Comment


                      • #12
                        vậy làm sao để tính toán với số 16bit trong bộ đếm lưu trong thanh ghi TH0 và TL0 đây?
                        em muốn chia nó cho một số như 58 thì giải thuật như thế nào dây?chỉ em với!!!!!!!

                        Comment


                        • #13
                          đó là 1module nhỏ thôi mà.đồ án của h là đo khoảng cách dùng sóng siêu âm với 8951 mà>

                          Comment


                          • #14
                            Cậu này học hành bê bối quá.
                            Code đổi HEx_BCD đây:


                            HEX_BCD:
                            MOV 12H,#0
                            MOV A,TL0
                            MOV B,#10
                            DIV AB
                            MOV 10H,B ;ĐƠN VỊ Ở 4 BIT THẤP CỦA 10H
                            MOV B,#10
                            DIV AB
                            MOV 11H,A ;TRĂM Ở 4 BIT THẤP CỦA 11H
                            MOV A,B
                            SWAP A ;TRĂM Ở 4 BIT CAO CỦA THANH GHI A
                            ORL A,10H
                            MOV 10H,A ;ĐƠN VỊ Ở 4 BIT THẤP , TRĂM Ở 4 BIT CAO.
                            MOV R7,#TH0
                            CJNE R7,#0,BYTE_H
                            RET

                            BYTE_H:
                            MOV A,10H
                            ADD A,#56H
                            DA A
                            MOV 10H,A

                            MOV A,11H
                            ADDC A,#2
                            DA A
                            MOV 11H,A ; NGHÌN Ở 4 BIT CAO 11H

                            MOV A,12H
                            ADDC A,#0
                            MOV 12H,A ;CHỤC NGHÌN Ở 4 BIT THẤP CỦA 12H
                            DJNZ R7,BYTE_H
                            RET

                            Comment


                            • #15
                              Nguyên văn bởi sangthai Xem bài viết
                              Cậu này học hành bê bối quá.
                              Code đổi HEx_BCD đây:

                              Đúng là bê bối thật...
                              The goal of power electronics is control the flow of energy from an electrical source to an electrical load with high efficiency, high availability, high reliability, light weight and low cost.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Vì sản phẩm của họ dân mình có dùng, và có lẽ cũng không phải là không phổ biến, nên ĐT quyết định gởi thư điện tử tiếng Anh cho họ như sau, ( đã sửa vài từ như được góp ý, vì nếu lịch sự thì dù vòng vo cũng nên phản hồi, vì...
                                hôm nay, 16:36
                              • 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 .
                                23-02-2025, 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....
                                23-02-2025, 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ì...
                                22-02-2025, 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...
                                22-02-2025, 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...
                                22-02-2025, 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...
                                22-02-2025, 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
                              Đang tải...
                              X