![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Nov 2014
Bài gửi: 9
: |
![]() Chào anh em. anh em cho hỏi code mình như vầy tại sao motor vẫn bị rung/ trượt mình đã mô phỏng và chạy thực tế điều cho kết quả như nhau nếu thây đổi delay_ms() lớn quá thì nó lại chạy chậm mặc dù motor đó có thể chạy nhanh được mà không bị rung, với lại còn một hiện tượng nữa là xung vuông xuất ra không ở mức 0-5v tương ứng với logic 0-1 mà nó chỉ ở với mức -1 đến 4v mà thôi, cái thứ hai là cạnh lên của xung nó không lên hết mà một nữa thì nó lên hết một nữa thì nó lên mấp mé, cạnh xuống cũng vậy. Đã kiểm tra trong mô phỏng và trong thực tế mình đo bằng oscillocope thì nó vẫn có các hiện tượng như vậy. Dưới đây là code của mình, chạy nữa bước, sử dụng module L298N để điều khiển.
#include <16f877a.h> #device *=16 adc=10 #fuses hs, nowdt,nobrownout #use delay(clock=20000000) #use fast_io(b) #byte portb=0x06 void main(){ set_tris_b(0); while(true){ output_b(0b00000001); delay_ms(22); output_b(0b00000011); delay_ms(22); output_b(0b00000010); delay_ms(22); output_b(0b00000110); delay_ms(22); output_b(0b00000100); delay_ms(22); output_b(0b00001100); delay_ms(22); output_b(0b00001000); delay_ms(22); output_b(0b00001001); delay_ms(22); } } |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|