Mình viết một chương trình đơn giản để điều khiển 2 led gắn vào portb. Đầu tiên led 1 sáng trong 2 ms rồi tắt, led2 sáng trong 2 ms rồi tắt. Theo mình nghĩ thì mắt người vẫn chỉ thấy 2 led sáng liên tục. Nhưng mô phỏng trong Proteus thì chỉ thấy 2 led nhấp nháp liên tục. Có phải Proteus mô phỏng sai??
Proteus mô phỏng sai??
Collapse
X
-
Trong 1 giây theo đồng hồ của bạn thì Proteus mô phỏng được bao nhiêu giây thời gian chạy của chương trình trên vi điều khiển. Nếu câu trả lời của bạn là vài chục ms thời gian chạy của chương trình trên vi điều khiển thì rõ ràng bạn phải thấy LED nhấp nháy.Nguyên văn bởi kyo View PostMình viết một chương trình đơn giản để điều khiển 2 led gắn vào portb. Đầu tiên led 1 sáng trong 2 ms rồi tắt, led2 sáng trong 2 ms rồi tắt. Theo mình nghĩ thì mắt người vẫn chỉ thấy 2 led sáng liên tục. Nhưng mô phỏng trong Proteus thì chỉ thấy 2 led nhấp nháp liên tục. Có phải Proteus mô phỏng sai??
Proteus không được thiết kế cho mục đích này.
Thân,Biển học mênh mông, sức người có hạn.
Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
-
bản thân hệ điều hành Windows không phải là hệ điều hành realtime (thời gian thực) mà lại còn phải chạy qua proteus thì lại càng không thể real time được đâu bạn ạ, đáp ứng ở cấp độ 2ms là điều gần như không thể, theo mình là như vậy.mạch nạp - kit phát triển - linh kiện điện tử www.PNLabvn.com
Comment
-
Có phải chương trình hiển thị thời gian đang thực thi là 0.000....s đúng không bạn?
Mình nhớ có 1 lần mình mô phỏng một con 89c51 điều khiển led sáng tắt nhưng mình khai báo thời gian trì hoãn sai(do vô tình thôi hì hì) nên thời gian thực thi việc sáng tắt các đèn led chỉ diễn ra trong vài ms nhưng mình vẫn thấy các đèn led chớp tắt và khi đó mình quan sát thấy thời gian thực thi của protues diễn ra rất nhỏ(có nghĩa là thời gian vẫn tăng lên nhưng ở hàng 0,000...s).Và khi kiểm tra lại chương trình viết thì mình nhận thấy là tất cả các yêu cầu lệnh của mình chỉ diễn ra trong thời gian cực kỳ nhỏ (ms)(tất nhiên là phải có vòng lặp vô tận nha bạn!)
Nên mình tạm kết luận là nếu tất cả các lệnh trong chương trình mình viết mà diễn ra trong thời gian ngắn thì protues tự động cho chạy với thời gian tương ứng.Giống như dao động ký khi mình chọn Time/div tương ứng vậy ấy mà!Không biết có đúng không nữa,pác nào có ý kiến gì thì góp ý thêm nha!A&A
Comment

namqn
Comment