Thông báo

Collapse
No announcement yet.

Tạo trễ..................

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

  • Tạo trễ..................

    Các bác cho em hỏi cái.
    Làm thế nào để tạo sang có tần số 500Hz trên bit P1.0?
    Em cảm ơn nhiều nhé!

  • #2
    tạo delay cho nó lật ngỏ P1.0 sau mỗi 1ms .Còn tạo thế nào thì tùy chú, nếu chạy mỗi tần số đó mà ko làm gì hết thì viết ct bình thường. Nếu còn làm gì khác thì dùng ngắt timer
    Last edited by chung1608; 24-09-2011, 10:42.

    Comment


    • #3
      Nguyên văn bởi chung1608 Xem bài viết
      tạo delay cho nó lật ngỏ P1.0 sau mỗi 1ms .Còn tạo thế nào thì tùy chú, nếu chạy mỗi tần số đó mà ko làm gì hết thì viết ct bình thường. Nếu còn làm gì khác thì dùng ngắt timer
      Em biết làm trễ theo kiểu 1ms kia. Nhưng em ko hiểu cái 500Hz ấy. Nó được đổi ra thời gian là bao nhiêu? Mong bác chỉ giáo thêm.

      Comment


      • #4
        Nguyên văn bởi playdanyd Xem bài viết
        Em biết làm trễ theo kiểu 1ms kia. Nhưng em ko hiểu cái 500Hz ấy. Nó được đổi ra thời gian là bao nhiêu? Mong bác chỉ giáo thêm.
        @@ cái này học lớp 12 rồi mà.
        tần số đổi ra chu kỳ (Ck=1/f) rồi chu kỳ đổi ra nửa chu kỳ

        Comment


        • #5
          dung timer su được như ý em ah.
          Tư vấn thiết kế hệ thống điện-điện tử theo yêu cầu.
          Tel: 0903 702 417. Email: web:

          Comment


          • #6
            Dùng timer 2 ở chế độ autoreload


            org 0000H ;Vector reset
            ljmp Init ;nhay toi chuong trinh khoi tao

            org 002BH ;Vector ngat TRANT/C2
            ljmp INT_T2 ;ctcpvn tran T2
            org 100

            Init:
            clr EA ;cam ngat
            mov SP,#2FH ;khoi tao ngan sap sep
            mov T2CON,#00H ;T2 lam viec
            mov TL2,#017H ;auto_reload
            mov RCAP2L,TL2 ;chu ki ngat la 1ms
            mov TH2,#0fcH
            mov RCAP2H,TH2
            setb EA
            here:
            sjmp here ;dợi ngắt
            int_2:
            clr TF2 ;xóa cờ tràn
            cpl p1.0 ;lệnh đảo bít
            reti

            muốn thay đổi time chỉ cần nạp giá trị cho TL2 và Th2

            Comment


            • #7
              Nguyên văn bởi thanhnshd Xem bài viết
              Dùng timer 2 ở chế độ autoreload


              org 0000H ;Vector reset
              ljmp Init ;nhay toi chuong trinh khoi tao

              org 002BH ;Vector ngat TRANT/C2
              ljmp INT_T2 ;ctcpvn tran T2
              org 100

              Init:
              clr EA ;cam ngat
              mov SP,#2FH ;khoi tao ngan sap sep
              mov T2CON,#00H ;T2 lam viec
              mov TL2,#017H ;auto_reload
              mov RCAP2L,TL2 ;chu ki ngat la 1ms
              mov TH2,#0fcH
              mov RCAP2H,TH2
              setb EA
              here:
              sjmp here ;dợi ngắt
              int_2:
              clr TF2 ;xóa cờ tràn
              cpl p1.0 ;lệnh đảo bít
              reti

              muốn thay đổi time chỉ cần nạp giá trị cho TL2 và Th2
              @@ code này timer2 nạp xong rồi ngồi chơi chả có thèm chạy @@

              Comment


              • #8
                $ include (reg52.inc)
                org 0000H ;Vector reset
                ljmp Init ;nhay toi chuong trinh khoi tao

                org 002BH ;Vector ngat TRANT/C2
                ljmp INT_T2 ;ctcpvn tran T2
                org 100

                Init:
                clr EA ;cam ngat
                mov SP,#2FH ;khoi tao ngan sap sep
                mov T2CON,#00H ;T2 lam viec
                mov TL2,#017H ;auto_reload
                mov RCAP2L,TL2 ;chu ki ngat la 1ms
                mov TH2,#0fcH
                mov RCAP2H,TH2
                setb ET2 ;cho phÐp T2 ng¾t
                setb TR2
                setb EA
                here:
                sjmp here ;dợi ngắt
                int_t2:
                clr TF2 ;xóa cờ tràn
                cpl p1.0 ;lệnh đảo bít
                reti


                quên mất không cho lệnh cho phép chạy tmer 2
                setb ET2 ;cho phÐp T2 ng¾t
                setb TR2


                he he

                Comment


                • #9
                  Topic phong phú hơn rồi đấy

                  Comment


                  • #10
                    Nguyên văn bởi thanhnshd Xem bài viết
                    $ include (reg52.inc)
                    org 0000H ;Vector reset
                    ljmp Init ;nhay toi chuong trinh khoi tao

                    org 002BH ;Vector ngat TRANT/C2
                    ljmp INT_T2 ;ctcpvn tran T2
                    org 100

                    Init:
                    clr EA ;cam ngat
                    mov SP,#2FH ;khoi tao ngan sap sep
                    mov T2CON,#00H ;T2 lam viec
                    mov TL2,#017H ;auto_reload
                    mov RCAP2L,TL2 ;chu ki ngat la 1ms
                    mov TH2,#0fcH
                    mov RCAP2H,TH2
                    setb ET2 ;cho phÐp T2 ng¾t
                    setb TR2
                    setb EA
                    here:
                    sjmp here ;dợi ngắt
                    int_t2:
                    clr TF2 ;xóa cờ tràn
                    cpl p1.0 ;lệnh đảo bít
                    reti


                    quên mất không cho lệnh cho phép chạy tmer 2
                    setb ET2 ;cho phÐp T2 ng¾t
                    setb TR2


                    he he
                    thực tế các cờ TF khi ngắt được phần cứng tự trả về giá trị 0 ta ko cần CLR nó đâu

                    Comment


                    • #11
                      Nguyên văn bởi thanhnshd Xem bài viết
                      $ include (reg52.inc)

                      quên mất không cho lệnh cho phép chạy tmer 2
                      setb ET2 ;cho phÐp T2 ng¾t
                      setb TR2


                      he he
                      Sao mình chạy thử bằng Keil uVision4 với 89C51rd2 thì nó lại báo lỗi này nhỉ?
                      C:\KEIL\C51\ASM\REG52.INC(...): error A10: ATTEMPT TO DEFINE AN ALREADY DEFINED SYMBOL
                      I'm A industrial chicken ~:>

                      Comment


                      • #12
                        Nguyên văn bởi Rock32 Xem bài viết
                        Sao mình chạy thử bằng Keil uVision4 với 89C51rd2 thì nó lại báo lỗi này nhỉ?
                        C:\KEIL\C51\ASM\REG52.INC(...): error A10: ATTEMPT TO DEFINE AN ALREADY DEFINED SYMBOL
                        AT 89C51 ko có timer 2 đâu b ak......89C52 mới có.

                        Comment


                        • #13
                          500Hz là tần số(f) .. T=1/f= 0,002 s =2ms ... =>Chu kì là 2 ms.. thì ta lật xung 1ms là dc.

                          Comment


                          • #14
                            Nguyên văn bởi phuphuongbk Xem bài viết
                            AT 89C51 ko có timer 2 đâu b ak......89C52 mới có.
                            Ủa mình xem trong datasheet 51rd2 hình như vẫn có T/C 2
                            89C51RD2 Datasheet pdf - 80C51 8-bit Flash microcontroller family 16KB/32KB/64KB ISP/IAP Flash with 512B/512B/1KB RAM - Philips
                            Mà mình thử với c52 vẫn bị cái đấy
                            I'm A industrial chicken ~:>

                            Comment


                            • #15
                              Nguyên văn bởi Rock32 Xem bài viết
                              Ủa mình xem trong datasheet 51rd2 hình như vẫn có T/C 2
                              89C51RD2 Datasheet pdf - 80C51 8-bit Flash microcontroller family 16KB/32KB/64KB ISP/IAP Flash with 512B/512B/1KB RAM - Philips
                              Mà mình thử với c52 vẫn bị cái đấy
                              ờm....mình tưởng b dùng AT 89C51 thì ko có còn loại RD này thì có thật.:">.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X