![]() |
![]() |
#1 |
Đệ tử 7 túi
Tham gia ngày: Aug 2007
Bài gửi: 213
: |
TÍnh toán thời gian trong CCS C
Mình đang chuyển sang lập trình PIC bằng PIC C nhưng cái tính toán thời gian lệnh ,chu kỳ lệnh chưa biết tính toán thế nào cho đúng.Thứ nhất là vể chu kỳ lệnh của các lệnh trong PIC C:delay_ms();output_D()...Cái này tham khảo ở đâu vậy vì trong datasheet của PIC chỉ nói đến chu kỳ lệnh của mã asembly thôi.Lấy ví dụ chương trình này :
Code:
/* CONTINUE.C */ #include "16F877A.H" #use delay(clock=4000000) main() { int outbyte; restart: outbyte=0; while(1) { output_D(outbyte); delay_ms(2); outbyte++; if (!input(PIN_D0)) continue; if (!input(PIN_D1)) break; delay_ms(2); if (outbyte==100) goto restart; } } Các câu hỏi chưa có câu trả lời là: 1> Lệnh delay(clock=4000000) ảnh hưởng như thế nào tới lệnh delay_ms(2).Bởi vì delay_ms(2) tức là tạm dừng 2s,vậy clock kia ảnh hưởng thế nào????? 2> Khi chạy debug thi khi den lệnh delay_ms(2) thì nó sẽ trở về dòng #use delay(clock=4000000),và dừng ở đó 8 lần .Phải chăng 2 trong dòng lệnh delay_ms(2) kia là...? |
![]() |
![]() |
|
|