Mình đang lập trình cho VĐK AT89S52 bằng Keil-C. Có bạn nào biết cách tạo một hàm để lấy thời gian chạy song song với chương trình không (không phải hàm delay). Khi thực thi chương trình, lúc nào cần sẽ lấy giá trị thời gian từ hàm đó. Các hàm thời gian trong thư viện time.h chỉ lấy thời gian đến giây thôi, còn mình muốn lấy đến milli hoặc micro giây. Mong mọi người giúp đỡ
Thông báo
Collapse
No announcement yet.
Help!!! Hàm thời gian trong C!!!
Collapse
X
-
Bạn dùng timer của 89S52 làm việc này. vì timer trên nó chạy độc lập, khong giống như delay bằng các vòng lặp vi xử lý không thể làm được việc khác khi delay.Nguyên văn bởi gianuakkk Xem bài viếtMình đang lập trình cho VĐK AT89S52 bằng Keil-C. Có bạn nào biết cách tạo một hàm để lấy thời gian chạy song song với chương trình không (không phải hàm delay). Khi thực thi chương trình, lúc nào cần sẽ lấy giá trị thời gian từ hàm đó. Các hàm thời gian trong thư viện time.h chỉ lấy thời gian đến giây thôi, còn mình muốn lấy đến milli hoặc micro giây. Mong mọi người giúp đỡ
-
Ứng dụng timer của 89s52 mình đã được học rồi nhưng chỉ học hai chế độ mode 0 và 1 để tạo hàm delay với thời gian chính xác thôi. đếm tối đa 65536 xung là tràn rồi. Bạn có thể cho mình đoạn code ví dụ được không? có phải dùng timer ở mode 2 để đếm nạp lại không?Nguyên văn bởi caonhan_2004 Xem bài viếtBạn dùng timer của 89S52 làm việc này. vì timer trên nó chạy độc lập, khong giống như delay bằng các vòng lặp vi xử lý không thể làm được việc khác khi delay.
Comment
-
ở mode 0 bạn có thể sử dụng ngắt tràn , sau đó nạp lại giá trị cho timer bằng phần mềm ( nạp trong trình phục vụ ngắt). ví dụ bạn khởi tạo timer với chu kỳ ngắt là 10ms chẳng hạn. bây giờ bạn muốn làm một việc C sau 100ms. Bạn sẽ khai báo một biến i, ban đầu i =0, trong trình phục vụ ngắt thì tăng i (i++), kiểm tra nếu (i==10) , thực hiện công viec C, rùi lại gán i=0; Vậy bạn đã có thời gian tương đối chính xác sau 100ms để làm việc CNguyên văn bởi gianuakkk Xem bài viếtỨng dụng timer của 89s52 mình đã được học rồi nhưng chỉ học hai chế độ mode 0 và 1 để tạo hàm delay với thời gian chính xác thôi. đếm tối đa 65536 xung là tràn rồi. Bạn có thể cho mình đoạn code ví dụ được không? có phải dùng timer ở mode 2 để đếm nạp lại không?
Comment
Bài viết mới nhất
Collapse
-
bởi songchodep76Cảm ơn bác đã nhiệt thành chia sẻ kinh nghiệm bản thân mình cho mọi người.
Tuy nhiên, theo tiếp xúc hạn hẹp của em với mosfet thì vấn đề bác đo vôn ở cực D và thấy đỉnh nó 70V/55V Vds max, như thí nghiệm và trong hình của bác...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 09:46 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cho tới thời điểm này, quả thật Đình Thường đây quá thất vọng, không hào hứng với Suno-AI lắm bởi ra lệnh Creat mấy chục lần với các thay đổi thì mới chọn được 2 bản hát đúng giai điệu tầm 80% để cắt ghép tạo thành bài hát...
-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 17:01 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Kính chào cả nhà, nhân dịp Tết đang về, sắp 23 tháng chạp rồi, xin gởi lời chúc xuân qua bài hát sau ạ:
Bao nhiêu hân hoan
Chúc Mừng Năm Mới, xuân sang!
Nơi nơi hát vang
nâng chén vui chúc câu An Lành.
Vạn Sự đều Hanh Thông,
Rạng...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 16:46 -
-
bởi ittcChán quá các bác, em nhạt nhẽo quá nên tán em nào cũng tạch, tuyệt vọng vô cùng, nay lại được mấy anh đồng nghiệp cty đối tác mách cho em gái kia sinh năm 2K đầu, em chả biết nhóm đối tượng này phải tán ra sao bây giờ ?
Tính ra em...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 00:18 -
-
bởi bqvietCó thể, ví dụ phần phản hồi gồm vi mạch cách ly quang, zener thứ cấp, transistor và điện trở phản hồi dòng ... Bất kỳ linh kiện nào nhóm đó hỏng dẫn tới mất đường phản hồi. TNY chính hãng phát hiện được chuyện đó nhưng linh kiện...
-
Channel: Điện tử công suất
05-02-2026, 18:36 -
-
bởi Nexus 6Pcho e hỏi, khi mạch có linh kiện nào đó hư thì có làm hỏng led đắt tiền (osram) không?
-
Channel: Điện tử công suất
05-02-2026, 10:42 -
-
bởi chinhnguyen9· Thí nghiệm 1 (Mạch boost, Vcc=12V, kích bằng dao động PƯM, duty 10%):
* Không có snubber + không tải: Xuất hiện hiện tượng dao động tắt dần tại cực D Mosfet (ringing). Hình 1 cho thấy trong chu kỳ đầu, điện áp spike lên tới hàng trăm V, điện...-
Channel: Hướng dẫn sử dụng diễn đàn
04-02-2026, 09:16 -
-
bởi Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
03-02-2026, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
03-02-2026, 14:57 -
-
bởi Nexus 6Pe cài KiCAD 2012 khi mở ra nó chỉ hiện ntn...
-
Channel: Điện tử công suất
03-02-2026, 11:20 -
Mình làm được rồi (y)

Comment