Thông báo

Collapse
No announcement yet.

Sao chỉ có thể là 8.

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

  • Sao chỉ có thể là 8.

    Tôi đang dùng PIC 16f877a. Định làm cái mạch đo có nhiều chức năng mà chỉ có thể tạo được 8 case tương tương với tám chương trình trong khi đó mình đang muốn mở rộng thêm nhưng ko biết sao ko khai báo thêm case được. Đoạn code bên dưới.

    Ham này dùng với ngắt ở chân RB0.

    while (1)
    {
    switch(mode)
    {
    case 0: program1(); break;
    case 1: program2(); break;
    case 2: program3(); break;
    case 3: program4(); break;
    case 4: program5(); break;
    case 5: program6(); break;
    case 6: program7(); break;
    case 7: program8(); break;
    }
    }

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

    Sao chỉ có thể tạo được 8 case này thui, không tạo được 9,10,11,.... hay sao mặc dù đã khai báo cho thằng mode là int16. Mọi người giúp giùm nha.
    Last edited by phanlamdien; 19-05-2011, 23:30.
    "Hãy nhìn người yêu mình là đẹp
    Chứ đừng nhìn người đẹp mà yêu"

  • #2
    Bạn dùng cái trình dịch nào vậy ??? Bao nhiêu case chả được ( số case chỉ bị giới hạn kiểu khai báo mà thôi ... nhưng chắc chắn là > 8 )
    Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

    Comment


    • #3
      Em dùng MPLAB tích hợp thằng CCS. Bác xem giúp với.
      "Hãy nhìn người yêu mình là đẹp
      Chứ đừng nhìn người đẹp mà yêu"

      Comment


      • #4
        Nguyên văn bởi phanlamdien Xem bài viết
        Em dùng MPLAB tích hợp thằng CCS. Bác xem giúp với.
        mình dùng trực tiếp CCS không bị như vậy , mikroC cũng không bị , MPLAB , HTPIC cũng không bị ( mình dùng rất nhiều loại trình dịch ) nhưng chưa gặp hiện tượng .
        Phiên bản CCS của bạn là bao nhiêu ? Thử download bản mới nhất xem ( nếu không có thể post lên mình test thử cho )
        Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

        Comment


        • #5
          quên CCS mình vẫn đang dùng bản 4.057 hình như có bản mới tận 4.121 rồi hay sao ý . Thấy bản 4.057 dùng tốt nên cũng chẳng update làm gì
          Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

          Comment


          • #6
            Em dùng CCS bản 4.104 . Sẳn đây hỏi luôn nếu dùng bộ ADC 10bit thì độ phân giải nó là 1024 như vậy nếu dùng nó để đo điện áp thì có phải nó sẽ sai số 5000/1024 mV không. Nếu như vậy có cách nào để khắc phục được sai số đó không ?
            Last edited by phanlamdien; 20-05-2011, 12:22.
            "Hãy nhìn người yêu mình là đẹp
            Chứ đừng nhìn người đẹp mà yêu"

            Comment


            • #7
              Nguyên văn bởi phanlamdien Xem bài viết
              Em dùng CCS bản 4.104 . Sẳn đây hỏi luôn nếu dùng bộ ADC 10bit thì độ phân giải nó là 1024 như vậy nếu dùng nó để đo điện áp thì có phải nó sẽ sai số 5000/1024 mV không. Nếu như vậy có cách nào để khắc phục được sai số đó không ?
              - Nếu cần đo điện áp <5v và chỉ cần nhận biết sự khác biệt tại chân ADC thì 5000/1024 mV là quá đủ
              - Nếu cần sự chính xác hơn , đồng thời biết đc ngưỡng áp cần đo (vd cần đo sự chênh lệch áp trong tầm 1.5v-3.2v ; sai số càng nhỏ càng tốt) thì u nên đưa áp so sánh max(vd 3.2v) vào chân 5 (Vref) của PIC 16F877A . Khi đó bộ chia áp sẽ là 3200/1024mV

              Comment


              • #8
                cái điện áp 3.2v đó tạo ra nó chắc là cả 1 vấn đề không biết có thể dùng IC chuyên dụng được không. Bác đã vào rùi thì xem giúp cách giải quyết mấy cái case ấy.
                "Hãy nhìn người yêu mình là đẹp
                Chứ đừng nhìn người đẹp mà yêu"

                Comment


                • #9
                  không ai giúp à.
                  "Hãy nhìn người yêu mình là đẹp
                  Chứ đừng nhìn người đẹp mà yêu"

                  Comment


                  • #10
                    Nguyên văn bởi phanlamdien Xem bài viết
                    không ai giúp à.
                    Cần chi phải ic chuyên dụng ... bạn có thể tạo Vref 2048mV hoặc hẳn 1024mV cũng được ... bạn cho biến trở ( loại vi chỉnh ) điều chỉnh điện áp chính xác ở Vref là OK . Nếu ổn áp 5V ( hoặc mạch có tính ổn áp tốt ) thì độ chính xác , ổn đinh sẽ cao thôi ... cách này thì không cần phải dùng IC Vref chuyên dụng !
                    Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                    Comment


                    • #11
                      Về cái case ... mình đã thử MPLAB + CCS ( 4.057 ) nhưng không bị hiên tượng như bạn đã đề cập !
                      Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                      Comment


                      • #12
                        Chẳng bít sao nữa khi biên dịch thì nó không báo lỗi nhưng lúc mo phỏng bằng Proteus thì nó không chạy case thứ 8.
                        Còn Vref hình như là nó có giới hạn thì phải > 3.2 V hay sao á.
                        "Hãy nhìn người yêu mình là đẹp
                        Chứ đừng nhìn người đẹp mà yêu"

                        Comment


                        • #13
                          Nguyên văn bởi phanlamdien Xem bài viết
                          Chẳng bít sao nữa khi biên dịch thì nó không báo lỗi nhưng lúc mo phỏng bằng Proteus thì nó không chạy case thứ 8.
                          Còn Vref hình như là nó có giới hạn thì phải > 3.2 V hay sao á.
                          sao lại vref giời hạn >3.2V ? bản chất cửa nó là 1 bộ so sánh thuật toán ,,, có Vref+ , Vref- ... hoàn toàn có thể hiệu chỉnh Vref ở điện áp nhỏ hơn !

                          --- Bạn thử làm mạch thực tế xem , nhiều khi Proteus ( mấy cái trình mô phỏng ) toàn là thứ vớ vẩn ( nhiều khi mô phỏng chạy mà mạch thật không chạy ... hay mô phỏng không chạy mà mạch thật lại chạy vù vù !!! )
                          Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                          Comment


                          • #14
                            À nếu ta có thể chọn Vref+ và Vref- cho 2 v này chênh nhau 1 điện áp 1024 mV được không. Với điện áp mẫu là 1024 thì nó chỉ có thể đo được tối đa là 1023mV đúng không ?
                            "Hãy nhìn người yêu mình là đẹp
                            Chứ đừng nhìn người đẹp mà yêu"

                            Comment


                            • #15
                              Nguyên văn bởi phanlamdien Xem bài viết
                              À nếu ta có thể chọn Vref+ và Vref- cho 2 v này chênh nhau 1 điện áp 1024 mV được không. Với điện áp mẫu là 1024 thì nó chỉ có thể đo được tối đa là 1023mV đúng không ?
                              Chuẩn ! Bù lại sẽ có 1024/1024 1mV / 1 step
                              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X