Em viết chương trình cho con dsPIC33FJ32MC202, chương trình main như sau:
Code:
int main (void)
{
while(1)
{
_LATB0=0;
_LATB1=0;
_LATB2=0;
_LATB3=0;
delay_ms(500);
_LATB0=1;
_LATB1=1;
_LATB2=1;
_LATB3=1;
delay_ms(500);
}
return 0;
}
Khi nạp chương trình vào chip và cho chạy, dùng VOM đo điện áp dao động ngõ ra của các chân trên thì thấy.
+ Lần dao động đầu tiên, điện áp ra khoảng 1.2V.
+ Lần dao động thứ 2, điện áp ra khoảng 2V.
+Lần dao động tiếp theo, điện áp lại tăng dần.
...
+Đến khoảng lần dao động thứ 6,7 gì đó thì điện áp mới đúng là 3,6V (điện áp nguồn cấp cho dsPIC33 là 3,6V).
+ Lần dao động tiếp theo, thì lặp lại như lần đầu.
Em thử sửa chương trình lại như sau, cho các chân RB12,RB13,RB14,RB15 dao động thì dùng VOM đo thì thấy dao động đúng (tức là mức thấp ứng với 0V còn mức cao ứng với 3,6V):
Code:
int main (void)
{
while(1)
{
_LATB12=0;
_LATB13=0;
_LATB14=0;
_LATB15=0;
delay_ms(500);
_LATB12=1;
_LATB13=1;
_LATB14=1;
_LATB15=1;
delay_ms(500);
}
return 0;
}
Như vậy là các chân RB0, RB1, RB2, RB3 có vấn đề gì không thế các bác. Mong các bác cứu em với. Cảm ơn các bác nhiều.
Chúc các bác có nhiều sức khoẻ!!! Thân.