Thông báo

Collapse
No announcement yet.

Thiết lập chức năng counter ai giúp với(đếm sản phẩm)

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

  • #16
    Nguyên văn bởi duong_act Xem bài viết
    Bạn đang đi thi lẽ dĩ nhiên nếu ổn thì bạn đến thi xuôn xẻ, nhưng trong trường hợp đang đi có thằng ôn vật tông vào bạn ngã chỏng quèo ra đường thì sao ?
    Bạn đang chuẩn bị tỏ tình với em ABCDXYZ tự nhiên có cuộc điện thoại mà không thể không nghe thì tính sao ? "- Em chờ anh tý, anh chém gió một tẹo rồi tỏ tình tiếp ".
    Con MCU cũng thế, nó đang làm việc theo lịch sẵn thì tự nhiên " Vứt đấy đã, làm tợp bia rồi tính tiếp " Như thế thì có tốt không
    Tuy nhiên trong một số trường hợp vẫn phải dùng.
    Em thấy mấy cái này ở ngoài thực tế thì đúng nhưng đối với MCU thì lại không đúng, giả như ở ngoài đời thực khi tỏ tình chắc lúc đó tâm trạng và cảm xúc là quan trọng nhất, nếu đang định hoặc đang tỏ tình mà bị ai đó làm phiền thì dễ mất đi cảm xúc nó không tốt, nhưng trong trường hợp MCU thì nó dạng như mặc định là mọi thứ đựoc giữ nguyên lại thì có gì là không tốt đâu? chỉ trừ trường hợp 2 ngắt đến cùng 1 lúc thì rất dễ bị mất thông tin của 1 trong 2 ngắt. Nhưng trường hợp này thì chỉ dùng 1 ngắt nên em nghĩ không có gì là không tốt cả.

    Comment


    • #17
      Nguyên văn bởi duong_act Xem bài viết
      Bạn đang đi thi lẽ dĩ nhiên nếu ổn thì bạn đến thi xuôn xẻ, nhưng trong trường hợp đang đi có thằng ôn vật tông vào bạn ngã chỏng quèo ra đường thì sao ?
      Bạn đang chuẩn bị tỏ tình với em ABCDXYZ tự nhiên có cuộc điện thoại mà không thể không nghe thì tính sao ? "- Em chờ anh tý, anh chém gió một tẹo rồi tỏ tình tiếp ".
      Con MCU cũng thế, nó đang làm việc theo lịch sẵn thì tự nhiên " Vứt đấy đã, làm tợp bia rồi tính tiếp " Như thế thì có tốt không
      Tuy nhiên trong một số trường hợp vẫn phải dùng.
      Em thấy mấy cái này ở ngoài thực tế thì đúng nhưng đối với MCU thì lại không đúng, giả như ở ngoài đời thực khi tỏ tình chắc lúc đó tâm trạng và cảm xúc là quan trọng nhất, nếu đang định hoặc đang tỏ tình mà bị ai đó làm phiền thì dễ mất đi cảm xúc nó không tốt, nhưng trong trường hợp MCU thì nó dạng như mặc định là mọi thứ đựoc giữ nguyên lại thì có gì là không tốt đâu? chỉ trừ trường hợp 2 ngắt đến cùng 1 lúc thì rất dễ bị mất thông tin của 1 trong 2 ngắt. Nhưng trường hợp này thì chỉ dùng 1 ngắt nên em nghĩ không có gì là không tốt cả.

      Comment


      • #18
        Nó muôn hình muôn vẻ. Dùng thì vẫn dùng nhưng hạn chế nhất. Đang tỏ tình có 1 cuộc gọi thì không sao. Nó mà nháy liên tục thì giải quyết xong cũng là lúc con bồ nó cưới chồng rồi

        Comment


        • #19
          Nguyên văn bởi duong_act Xem bài viết
          Nó muôn hình muôn vẻ. Dùng thì vẫn dùng nhưng hạn chế nhất. Đang tỏ tình có 1 cuộc gọi thì không sao. Nó mà nháy liên tục thì giải quyết xong cũng là lúc con bồ nó cưới chồng rồi
          Em không nghĩ vậy, ngoại trừ chuơng trình có lỗi nó ghi đè vào phần bộ nhớ lưu trữ trạng thái trước khi ngắt hoặc là chuơng trình con phục vụ ngắt dùng RAM quá nhiều nên nó lạm sang cả phần RAM lưu trữ trạng thái trước đó thì mới chết chuơng trình. còn ý bác nói có thể là do xung quá nhanh dẫn đến hiện tượng chưa cất xong trạng thái để chuyển sang thực hiện chuơng trình phục vụ ngắt thì bị ngắt mới thì đúng là trường hợp quá đặc biệt và chắc chắn là chuơng trình của mình sẽ chết, có điều nếu nó đã nhanh đến vậy thì bác có đọc theo kiểu IO hoặc đi chăng nữa thì cũng vẫn chết chứ không thể còn sống được vì theo kiểu vậy thì bác phải tạo 1 vòng lặp mãi mãi để đọc thông tin từ counter mà chi phí đọc thì cũng không thấp vì có làm việc với số dạng INT và chu kỳ ghi đọc của mình bắt buộc phải nhanh hơn tần số xung thì mới mong đọc được đúng thông tin. Như vậy nếu cân nhắc xem cách nào hại hơn thì chưa chắc dùng ngắt đã hại. giờ em sẽ thử viết 1 chuơng trình sử dụng ngắt để xem nó nhận đựoc xung max là bao nhiêu và dùng counter nhận xung max là bao nhiêu, các bác cùng đánh giá nhé.

          Comment


          • #20
            Nguyên văn bởi myth-coder Xem bài viết
            Em không nghĩ vậy, ngoại trừ chuơng trình có lỗi nó ghi đè vào phần bộ nhớ lưu trữ trạng thái trước khi ngắt hoặc là chuơng trình con phục vụ ngắt dùng RAM quá nhiều nên nó lạm sang cả phần RAM lưu trữ trạng thái trước đó thì mới chết chuơng trình. còn ý bác nói có thể là do xung quá nhanh dẫn đến hiện tượng chưa cất xong trạng thái để chuyển sang thực hiện chuơng trình phục vụ ngắt thì bị ngắt mới thì đúng là trường hợp quá đặc biệt và chắc chắn là chuơng trình của mình sẽ chết, có điều nếu nó đã nhanh đến vậy thì bác có đọc theo kiểu IO hoặc đi chăng nữa thì cũng vẫn chết chứ không thể còn sống được vì theo kiểu vậy thì bác phải tạo 1 vòng lặp mãi mãi để đọc thông tin từ counter mà chi phí đọc thì cũng không thấp vì có làm việc với số dạng INT và chu kỳ ghi đọc của mình bắt buộc phải nhanh hơn tần số xung thì mới mong đọc được đúng thông tin. Như vậy nếu cân nhắc xem cách nào hại hơn thì chưa chắc dùng ngắt đã hại. giờ em sẽ thử viết 1 chuơng trình sử dụng ngắt để xem nó nhận đựoc xung max là bao nhiêu và dùng counter nhận xung max là bao nhiêu, các bác cùng đánh giá nhé.
            Bạn cứ thử đi. Dùng vòng lặp dĩ nhiên chậm hơn dùng ngắt và dùng ngắt sẽ chậm hơn counter. Ngắt sẽ sinh ra những sự "gián đoạn không kiểm soát " mà bắt buộc phải ngừng tất cả và tốn thời gian để xử lý cái gián đoạn đó. Nếu như tần số phát sinh ngắt thấp + chương trình tương đối ngắn => OK. Còn lại ít nhiều đều ảnh hưởng.
            Last edited by duong_act; 21-09-2013, 01:05.

            Comment


            • #21
              OK mình đã thử, nhưng chỉ bằng mô phỏng thôi. Qua thử nghiệm thì với cách code của mình mình thấy với việc sử dụng ngắt thì sẽ đếm được tối đa cỡ 38k xung/s còn đối với cách dùng timer thì có thể nói là thoải mái. Dưới đây mình có đính kèm những gì mình làm để thử nghiệm, có mở rộng thêm chức năng đếm xung trong thời gian 1s với việc bạn bỏ comment tại //#define COUNT1S. Và mình muốn giới thiệu thêm đến những ai chưa biết quét LED7 đoạn bằng timer vì trong bài này mình đang dùng phuơng pháp đó.
              Attached Files

              Comment


              • #22
                em đang tính làm mạch đếm sản phẩm,khi nhận biết có sự mất xung(sản phẩm đi qua làm che led thu),nghĩa là ko có xung đi qua chan p3.5 thì led 7 đoạn đếm lên 1,còn cái code của anh myth-coder luôn đếm lên 1 khi có xung
                có ai có thể giúp mình ko

                Comment


                • #23
                  Nguyên văn bởi 123abcd Xem bài viết
                  em đang tính làm mạch đếm sản phẩm,khi nhận biết có sự mất xung(sản phẩm đi qua làm che led thu),nghĩa là ko có xung đi qua chan p3.5 thì led 7 đoạn đếm lên 1,còn cái code của anh myth-coder luôn đếm lên 1 khi có xung
                  có ai có thể giúp mình ko
                  Bạn này chán quá, bạn đặt thêm 1 con tranzitor vào đảo trạng thái logic của chân dùng để kích vào P3.5 là xong có thế thôi mà. Cái này khó lắm à? Mà ở đây là giúp các bạn tư duy và phần nào đó các bạn chưa biết tới chứ không phải là chỗ để làm từ a-z xong chỉ việc đem nộp cho thầy cô lấy điểm đâu.

                  Comment


                  • #24
                    tại em lần đầu làm mạch nên còn yếu,anh có thể chỉ em cách nối transistor ko,giúp em 1 lần cuối nhé

                    Comment

                    Về tác giả

                    Collapse

                    123abcd Tìm hiểu thêm về 123abcd

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

                    Collapse

                    Đang tải...
                    X