Thông báo

Collapse
No announcement yet.

Mạch thu/phát mã DTMF bằng MT8880

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

  • Mạch thu/phát mã DTMF bằng MT8880

    Chủ đề này tập hợp các mạch thu/phát mã DTMF bằng MT8880.
    Rất mong các anh xây dựng luồng này, là nơi tổng hợp các mạch, các đoạn code điều khiển IC MT8880.


  • #2
    Có thể dùng PIC loại C18 để thay thế con MT8880
    Cũ người mới ta!

    Comment


    • #3
      Nguyên văn bởi phanbobo
      Có thể dùng PIC loại C18 để thay thế con MT8880
      Anh trình ý tưởng cho em tham khảo với.
      em có đọc một số project nhưng người ta luôn khuến cáo là mình có thể làm theo họ, nhưng họ không chịu trách nhiệm về độ tin cậy. Nên có nên vậy không? tại sao lại dùng PIC18 mới có thể làm được? hay ý anh bảo dùng 2 PWM độc lập rồi cộng lại? như vậy cũng phải thiết kế mạch lọc tương đối tốt ở sau?

      Comment


      • #4
        Em chưa làm về cái này nên chỉ nêu ra để xây dựng box, vậy mong các anh chị hưởng ứng ( nhất là các anh Giaosucan,yesme@,linh308, hvh...---đặc biệt anh Giaosucan phải chuộc tội bởi đã lừa em "Giaosucan" là con gái, hihi.. may mà em chưa lộ tung tích của mình).
        Mạch điện sau là ghép nối tiêu biểu giữa MT8880 và uC

        Comment


        • #5
          day la đoạn code viết cho DTMF ghép với 51
          void init()
          {
          delay (5000);
          P2=0xFF;delay(200);
          CS=0;
          delay(200);
          P2=0xE0;delay(200);
          CS=0;
          delay(200);
          P2=0xE0;delay(200);
          CS=0;
          delay(200);
          P2=0xE8;delay(200);
          CS=0;
          delay(200);
          P2=0xE0;delay(200);
          CS=0;
          delay(200);
          P2=0xFF;delay(200);
          CS=0;
          delay(200);
          CS=1;
          delay(200);
          }

          //================================================== ===================

          void ngat()
          {
          P2=0xE4;
          delay(200);
          CS=0;
          delay(7000);
          CS=1;
          delay(200);
          }

          //================================================== ===================

          void setup()
          {
          P2=0xE9;
          delay(200);
          CS=0;
          delay(200);
          P2=0xEB;
          delay(200);
          CS=0;
          delay(200);
          CS=1;
          delay(200);
          }

          //================================================== ===================

          void mot()
          {
          setup();

          P2=0xC1;
          delay(200);
          CS=0;
          delay(15000);
          CS=1;
          delay(200);

          ngat();
          }

          //================================================== ===================

          void hai()
          {
          setup();

          P2=0xC2;
          delay(200);
          CS=0;
          delay(15000);
          CS=1;
          delay(200);

          ngat();
          }

          //================================================== ===================

          void ba()
          {
          setup();

          P2=0xC3;
          delay(200);
          CS=0;
          delay(15000);
          CS=1;
          delay(200);

          ngat();
          }

          //================================================== ===================

          void bon()
          {
          setup();

          P2=0xC4;
          delay(200);
          CS=0;
          delay(15000);
          CS=1;
          delay(200);

          ngat();
          }

          //================================================== ===================

          void nam()
          {
          setup();

          P2=0xC5;
          delay(200);
          CS=0;
          delay(15000);
          CS=1;
          delay(200);

          ngat();
          }

          //================================================== ===================

          void sau()
          {
          setup();

          P2=0xC6;
          delay(200);
          CS=0;
          delay(15000);
          CS=1;
          delay(200);

          ngat();
          }

          //================================================== ===================

          void bay()
          {
          setup();

          P2=0xC7;
          delay(200);
          CS=0;
          delay(15000);
          CS=1;
          delay(200);

          ngat();
          }
          SHARE KHO PHIM LỚN

          Comment


          • #6
            Cảm ơn sự đóng góp của anh.
            Nhưng sơ đồ nối chân giữa 8951 và MT8880 như thế nào?
            Hàm delay(x) có phải là delay x uS không?
            Hihi...anh giải thích từng đoạn lệnh cho em với, đọc mãi mà vẫn chưa hiểu.

            Comment


            • #7
              bạn này thấy cái avatar con gái nên lại nghĩ tui là con gái đây
              hỏng hết hàng
              người trong ảnh ko phải tui ,
              Last edited by giaosucan; 16-02-2006, 01:28.
              SHARE KHO PHIM LỚN

              Comment


              • #8
                Sơ đồ mạch thì cũng giống với datasheet thôi nhưng chân 18,19 thì ta để không ,
                4 chân dữ liệu của MT nối với chân của VDK (cổng P2)
                còn chân ngắt IRQ ,RW,RSO .v.thì nối với các chân VDK
                để chạy dc này thi bạn nên đọc kĩ datasheet của con MT888C , đầu tiên là phải khởi tạo nó (giống như khởi tạo LCD í)
                con ham ngat la thuc hiện chức năng ngắt (tức là làm nó ko phát tần số nũa)
                các hàm 1,2,3,4..v.v là dk cho DTMF phát ra những tần số khác nhau t/ư vơi dũ liệu
                D0->Sơ đồ mạch thì cũng giống với datasheet thôi nhưng chân 18,19 thì ta để không ,
                4 chân dữ liệu của MT nối với chân của VDK (cổng P2)
                còn chân ngắt IRQ ,RW,RSO thì nối với 1 chân VDK
                để chạy dc này thi bạn nên đọc kĩ datasheet của con MT888C , đầu tiên là phải khởi tạo nó (giống như khởi tạo LCD í)
                con ham ngat la thuc hiện chức năng ngắt (tức là làm nó ko phát tần số nũa)
                các hàm 1,2,3,4..v.v là dk cho DTMF phát ra những tần số khác nhau t/ư vơi dũ liệu đưa ra D0-D4
                bạn nên dùng con OSC để kiểm tra ,khi mạch chạy đưa que đo vào chânn TONE OUT
                sẽ nhìn thấy dạng sóng ra hình sin nhưng ko đều (trông giống ngọn nút nhấp nhô)
                vì con naỳp hát đa tần xung ra có tần cao tần thấp
                cón cái hàm delay thực chất là vòng lặp thôi
                void delay(unsigned long time)
                {
                unsigned long i;
                for (i=1;i<time;i++)
                {}
                }
                Last edited by giaosucan; 16-02-2006, 01:25.
                SHARE KHO PHIM LỚN

                Comment


                • #9
                  Để nối với đường dây điện thoại cần có thêm mạch giữ đường dây ( nhấc máy), mạch chuyển đổi 2 to 4 dây, biến áp nữa.
                  Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                  Biến tần
                  Máy giặt
                  Lò vi sóng
                  Bếp từ.
                  Tủ lạnh.
                  Điều hòa

                  Comment


                  • #10
                    Nguyên văn bởi MinhHa
                    Để nối với đường dây điện thoại cần có thêm mạch giữ đường dây ( nhấc máy), mạch chuyển đổi 2 to 4 dây, biến áp nữa.
                    Vậy anh post sơ đồ cho em học hỏi với.Hihi...cảm ơn anh nhiều

                    Comment


                    • #11
                      Sau đây là một số mạch để giao tiếp với PSTN. Đã được kiểm nghiệm kỹ càng, lắp là chạy. Nếu dùng biến áp khác loại cần diều chỉnh lại tham số của mạch 2 to 4 để giame echo nhé.
                      Cung cấp biến áp chất lượng cao cho mạch này. Giá 2USD/1pcs
                      Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                      Biến tần
                      Máy giặt
                      Lò vi sóng
                      Bếp từ.
                      Tủ lạnh.
                      Điều hòa

                      Comment


                      • #12
                        To GSC:em thay 16 hàm(một,hai, ba..) kia bằng một hàm như sau có thể hay hơn:
                        Phat(unsigned char i)
                        {
                        setup();

                        P2= 0xC0 | i ;
                        delay(200);
                        CS=0;
                        delay(15000);
                        CS=1;
                        delay(200);

                        ngat();
                        }
                        Last edited by thaithutrang; 16-02-2006, 15:34.

                        Comment


                        • #13
                          Vừa định viết thì thấy BA. OK đấy .Để chắc ăn hơn nên thay (i & 0x0F) | 0xC0.Để không bị điều khiển sai nếu vô tình để i > 15 .
                          Last edited by thaithutrang; 16-02-2006, 15:34.
                          Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                          Biến tần
                          Máy giặt
                          Lò vi sóng
                          Bếp từ.
                          Tủ lạnh.
                          Điều hòa

                          Comment


                          • #14
                            To anh MH: anh gửi cho em cái sch vào mail: thaithutrang85@yahoo.com.vn nhé. Em cảm ơn nhiều, sau đó em sẽ post lên bởi trị số linh kiện mờ quá. Tỷ số biến áp là 1:1 hả anh?
                            Em chứng minh công thức trên nhé, coi như bài tập về nhà của em.

                            Comment


                            • #15
                              Sử dụng C18F để có khả năng xử lý nhận tín hiệu DTMF thông qua mạch lọc số, chip C16 không dủ khả năng đáp ứng thời gian thực. Có thể sử dụng dsPIC tuy nhiên giá thành sẽ cao. Mạch sử dụng C18 rất đơn giản nhưng độ ổn định thì chưa được kiểm nghiệm.Tuy nhiên mạch phát thì rất tốt (tôi đã dùng mạch phát kiểu DAC thang điện trở này với 8051 và chạy rất OK)!theo tôi chúng ta nên dùng mạch kết hợp 8870 và MCU làm mạch thu phát do 2 nguyên nhân:
                              - 8880 quá đắt so với 8870( 45N so với 15N)
                              - Kiểu gì trong mạch cũng dùng MCU thì tội gì không tận dụng!
                              Cũ người mới ta!

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • 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
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Tiếng Anh, Đình Thường phải nói là rất tệ, khiến việc giao tiếp đời thường thôi cũng khó chứ nói gì về kĩ thuật.

                                Nhân tiện, nhờ các bạn, các bác xem giúp thư ĐT viết thế này liệu có thể gửi tới địa chỉ nhận hay chăng,...
                                20-02-2025, 11:52
                              • vi van pham
                                Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                bởi vi van pham
                                Uống rượu 1 mình, thấy trang này nhớ lại cách đây vài chục năm hàn thiếc với inox cực kỳ khó, phải dùng acid Hcl tác dụng lên kẻm Zn để có Zncl2 làm thuốc trợ hàn, lúc đó làm gì có acid Hcl và thuốc trợ hàn?

                                Cái khó bó cái...
                                19-02-2025, 23:05
                              Đang tải...
                              X