Thông báo

Collapse
No announcement yet.

Giúp mình về ccs c

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

  • Giúp mình về ccs c

    cho em hỏi chút nha:
    1: em tạo ra một file defs_f877A trong ccs nhưng khi save nó không cho phép tạo ra file *.h mà chỉ tạo được file *.c thui, vậy khi em thực hiện #include <defs_f877A.c> thì có được không (em build thì thấy không bị lỗi nhưng cũng chưa hiểu nên không an tâm). bác nào chỉ em cái?
    2: em sử dụng timer0 để thực hiện định thời, muốn nó không đếm nữa thì phải làm thế nào?
    3: em sử dụng ccs c 4.069 để viết chương trình, khi build (hình như dùng keyfilegen_file di cùng bản cài ) thi thấy thông báo tạo ra được file *.hex, nhưng em vào folder lưu bài làm thì không thấy, dùng proteus để mô phỏng, em thử nhập file c souser vào thì được nhưng chạy chương trình thấy bị lỗi, vậy lỗi của em là do đâu? các bác giúp em giải quyết với.
    thanks!

  • #2
    Bạn ghi nó là def_877.h thì là được mà...
    Không muốn cho timer chạy thì disable_interrupts(INT_TIMER0);
    Attached Files
    Quang Nhat
    ---------------------------------------
    Yahoo :quangnhat85ls
    Mail :
    Nhận thiết kế và ép nhựa cho đồ điện tử

    Comment


    • #3
      1.Khi lưu file bạn đặt file name defs_f877a.h là được.Nếu không bạn cứ để defs_f877a.c và vẫn dùng bình thường nhưng để cùng foder với chương trình sử dụng nó

      2.Muốn Timer 0 không hoạt động nữa bạn hãy DISABLE nó bằng câu lệnh setup_timer0(T0_DISABLED);.
      Bạn hãy vào help và đọc datasheet để tìm hiểu kĩ hơn

      3.Bạn xem lại xem đúng là nó dịch chương trình đó không hay đang dịch chương trình khác
      Bạn nhập file c thì nó sẽ báo lỗi là đúng rùi .Bạn phải nhập file .hex hoặc file .cof

      Chúc bạn thành công !!!
      Le Tri Trong

      Comment


      • #4
        thanks mọi người đã góp ý, hum qua tôi cũng đã xem lại, thấy mình vô ý quá. ở câu 3 là do mình không để ý, file mà mình up vào là file *.cof.
        còn về timer0, nếu như bạn HYknight nói thì mình thấy không đúng lắm (có thể mình chưa xem kĩ, bạn giúp xem lại nha): tthanh ghi option_reg không có bit điều khiển timer0, kể cả trong sơ đồ khối cũng không có, các constant trong header của 87x.h cũng không có T0_disable. chỉ có timer1,2 có mà thui.
        các bác giúp tui thuật toán dùng timer0, (ở đây tui ko mún dùng timer khác)
        bài toán như sau:
        khi có ngắt rb0(phát hiện xung đồng bộ), timer0 sẽ đếm x(ms,us) phụ thuộc vào tín hiệu đặt qua chiết áp vào an0, (bài toán điều khiển chỉnh lưu).
        thanks bạn nhìu!

        Comment


        • #5
          Thank qiang412 rất nhiều.Đúng là mình chưa xem kĩ
          Mình thì chỉ hay dùng 18f452 và trong header của con này có luôn RTCC_OFF cho mình rùi
          còn như mình xem qua 16f877a thì để là được việc như bạn nói thì chắc phải dùng đến ngắt Timer0

          Nghĩa là khi nào xảy ra ngắt ở RB0 thì ta sẽ Set_timer0() <tùy thuộc vào giá trị x(ms) mà ta thiết lập cho hợp lý>và thiết lập Enable cho INT_TIMER0
          Dựa vào số lần ngắt của Timer và giá trị hiện thời ta sẽ tính được thời gian
          Bạn cho thời gian X(ms) cụ thể mình sẽ viết chương trình và nói cách tình toán cho bạn
          Le Tri Trong

          Comment


          • #6
            reply

            tui đang làm về chỉnh lưu cầu 3 pha 6 tiristor ah. ý tưởng của tui như sau:
            1: lấy xung đồng bộ đưa vào ngắt.up giá trị định thời cho timer0,1.
            2: thực hiện định thời trên 2 timer 0,1 để xác định thời điểm mở van.(dùng ngắt timer).
            3: giá trị đặt trước vào timer được tính toán từ việc so sánh giá trị giữa:
            a,1 chiết áp điều chỉnh góc mở.
            b, giá trị tính toán xung tam giác.
            tui làm vậy có được ko, bây giờ tui mới thử lập trình được phần phát hiện xung đồng bộ và adc. bác nào đã từng làm rùi cho ý kiến góp ý với

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X