Thông báo

Collapse
No announcement yet.

Lệnh output_high và output_low có giữ nguyên trạng thái của chân sau khi thực hiện ?

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

  • Lệnh output_high và output_low có giữ nguyên trạng thái của chân sau khi thực hiện ?

    Em mới học qua về PIC, đang sử dụng CCS để lập trình và dùng proteus để mô phỏng
    Em nghĩ là sau khi dùng output_high thì chân sẽ ở mức cao 5V, cho đến khi nào có lệnh output_low thì chip mới set chân đó về 0V, không biết có phải không
    Dùng proteus để thử thì hình như là không phải
    Ngoài ra em cũng muốn hỏi là, muốn điều khiển cả port thì dùng lệnh gì, em gõ portb= nhưng báo lỗi undefined identifier nên mới phải điều khiển từng chân, mệt hơn bao nhiêu

  • #2
    trước khi xuất phải set_tris_b(0x...) . Muốn điều khiển portb thì dùng output_b(0x...)

    Comment


    • #3
      Nguyên văn bởi chung1608 Xem bài viết
      trước khi xuất phải set_tris_b(0x...) . Muốn điều khiển portb thì dùng output_b(0x...)
      Cảm ơn bác ạ, em làm được rồi, không hiểu sao khi down code mẫu của 1 bác trên youtube thì lại dùng code là portb=, em làm theo nhưng báo lỗi, bh dùng code này thì được rồi

      Nhưng cho em hỏi thêm 1 câu là, chỗ output_b(0x..) muốn dùng mã nhị phân cho dễ nhìn thì làm thế nào, hay chỉ dùng mã hexa thôi

      Comment


      • #4
        Nguyên văn bởi dươngbk Xem bài viết
        Cảm ơn bác ạ, em làm được rồi, không hiểu sao khi down code mẫu của 1 bác trên youtube thì lại dùng code là portb=, em làm theo nhưng báo lỗi, bh dùng code này thì được rồi

        Nhưng cho em hỏi thêm 1 câu là, chỗ output_b(0x..) muốn dùng mã nhị phân cho dễ nhìn thì làm thế nào, hay chỉ dùng mã hexa thôi
        đó là vì người ta đã thêm định nghĩa:
        #byte PORTB = 0x06
        output_b cũng có thể dùng kiểu ghi output_b(0bxxxxxxxx) đc

        Comment


        • #5
          trước khi xuất phải set_tris_b(xx) các bác cho em hỏi tại sao phải set_tris_b(xx) em không cần set_tris_b(xx) đưa vào mô phỏng proteus vẫn chạy ..set_trix_x(); có ý nghĩa như nào tại sao không dùng vẫn chạy ạ em cảm ơn nhiều có phải khi không set_trix_X(); cũng đưọc port
          sẽ tự động mặ định là output không ạ

          Comment


          • #6
            Nguyên văn bởi trieuvanhai Xem bài viết
            trước khi xuất phải set_tris_b(xx) các bác cho em hỏi tại sao phải set_tris_b(xx) em không cần set_tris_b(xx) đưa vào mô phỏng proteus vẫn chạy ..set_trix_x(); có ý nghĩa như nào tại sao không dùng vẫn chạy ạ em cảm ơn nhiều có phải khi không set_trix_X(); cũng đưọc port
            sẽ tự động mặ định là output không ạ
            mình lập trình quá kém và mình không học ccs nên cũng không rõ nhưng ở Microc mình phải set trước thì với được, mình không set nó vẫn ra file .hex nhưng nạp cho pic thì không được đâu, còn chuyện mô phỏng thì mình không biết vì mình chủ yếu dùng mạch thật.

            Comment


            • #7
              Nguyên văn bởi trieuvanhai Xem bài viết
              trước khi xuất phải set_tris_b(xx) các bác cho em hỏi tại sao phải set_tris_b(xx) em không cần set_tris_b(xx) đưa vào mô phỏng proteus vẫn chạy ..set_trix_x(); có ý nghĩa như nào tại sao không dùng vẫn chạy ạ em cảm ơn nhiều có phải khi không set_trix_X(); cũng đưọc port
              sẽ tự động mặ định là output không ạ
              Trong CCS, nếu không sử dụng "fast_io(PORT) " - ( fast_io(PORT) được khai báo sử dụng với cấu trúc #use fast_io(PORT)) thì khi sử dụng các câu lệnh input, output nó sẽ tự động dùng lệnh set_tris_x() trước khi xuất hoặc đọc logic trên các chân. Cách này có ưu điểm là không cần dùng lệnh set_tris_x() mà chương trình vẫn đúng ý người viết nhưng nhược điểm là tốn thêm dung lượng chương trình ( do chèn thêm lệnh set_tris_x ). Cách này thường dùng cho người mới học khi chưa hình dung hoặc quản lý chặt được những gì mình viết.
              Còn cách sử dụng fast_io() thì khi sử dụng các câu lệnh input, output phải set_tris_x() đúng thì chương trình mới chạy đúng. Ưu điểm là tốn ít dung lượng chương trình hơn, câu lệnh xử lý nhanh hơn. Nhược điểm là phải hiểu rõ cơ chế hoạt động IO của PIC thì mới quản lý được.
              __________
              Mọi chi tiết xem phần help của chương trình.
              Ấn F1 => gõ use.
              Last edited by duong_act; 27-09-2013, 00:01.

              Comment

              Về tác giả

              Collapse

              dươngbk Tìm hiểu thêm về dươngbk

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

              Collapse

              Đang tải...
              X