PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 12-03-2008, 05:12 PM   #1
member_tdh
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 5
:
thời gian Watchdog

Làm thế nào để tính thời gian Watchdog nhỉ?

mình chỉ biết:

1:32 -> 1ms
1:65536 -> 268s

vậy:

1:512 -> ? giây ?

giúp mình đi?
member_tdh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-03-2008, 06:33 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi member_tdh View Post
Làm thế nào để tính thời gian Watchdog nhỉ?

mình chỉ biết:

1:32 -> 1ms
1:65536 -> 268s

vậy:

1:512 -> ? giây ?

giúp mình đi?
Không đơn giản như vậy đâu bạn. WDT dùng một nguồn dao động 31 kHz, với một bộ chia trước thay đổi từ 1:32 đến 1:65536. Ngoài ra, WDT còn dùng chung một bộ chia trước khác với Timer0. Nếu bộ chia trước dùng chung được gán cho Timer0, WDT chỉ dùng bộ chia trước của riêng nó. Và với hệ số 1:32, thời gian chờ tương ứng sẽ là 1/(31 kHz/32) = 1 ms (xấp xỉ).

Nếu bộ chia trước dùng chung được gán cho WDT, và chúng ta dùng các hệ số chia cực đại cho cả hai bộ chia trước, tức là 1:65536 và 1:128, khi đó chúng ta có thời gian chờ lớn nhất, tương ứng với 1/(31 kHz/(65536*128)) = 270 giây (xấp xỉ).

Giá trị tần số thực sự của nguồn dao động cấp cho WDT là một giá trị lẻ, hơi lớn hơn 31 kHz một chút. Do đó, phạm vi thời gian chờ của WDT được mô tả là tối thiểu 1 ms, và tối đa 268 giây. Thời gian chờ thực sự phụ thuộc vào sự phối hợp của hai bộ chia trước.

Do đó, câu hỏi của bạn "1: 512 => ? giây" sẽ có nhiều câu trả lời, tùy vào sự phối hợp của hai bộ chia trước. Hay nói cách khác, bạn phải cho biết giá trị gán cho bộ chia trước dùng chung giữa WDT và Timer0 thì mới có một câu trả lời chính xác.

Công thức tổng quát: thời gian chờ = 1/(31000/(hệ số chia trước của WDT*hệ số chia trước dùng chung)) (tính bằng giâ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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-03-2008, 01:17 AM   #3
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Bạn cũng đã hỏi về WDT của PIC16F688 tại edaboard (tuy vậy, ở picvietnam thì bạn không hề cho biết đó là PIC16F688). Chú ý là laktronics trả lời có vẻ như theo quán tính chứ không hề nhìn vào sơ đồ khối của WDT trong các PIC16.

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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-03-2008, 01:44 AM   #4
thaithienanh
Đệ tử 7 túi
 
thaithienanh's Avatar
 
Tham gia ngày: Jul 2006
Bài gửi: 189
:
Send a message via Yahoo to thaithienanh
Xin lỗi vì em spam, nhưng cử chỉ reply bài của anh Namq đẹp quá, thật đáng quý và đáng tôn kính , nếu đuợc em xin gọi anh một tiếng "thầy", đó thật sự sẽ là niềm vinh dự lớn của em . Những đóng góp của thầy thật thầm lặng nhưng mang ý nghĩa thật lớn lao với tấm lòng bao dung vô bờ bến. Chúc thầy luôn vui khoẻ và thành công thật nhiều trong hoạt động nghiên cứu .

Thân.
__________________
_____________________________Tri nhân tri tự bất tri tâm_____________________________
_ _ _ _ _ _ _ _ Yêu mến tất cả anh em Picvietnam.com _ _ _ _ _ _ _ _
. . . . . . . . . . . . . . . . Để post đuợc một câu hỏi rõ ràng xin tham khảo link sau : . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . http://www.picvietnam.com/forum/showthread.php?t=1263. . . . . . . . . . . . . . . .

thay đổi nội dung bởi: namqn, 13-03-2008 lúc 03:35 AM. Lý do: sửa replay thành reply
thaithienanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-03-2008, 09:45 AM   #5
member_tdh
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 5
:
Lightbulb Uart,sleep,watchdog Pic6f688

Cám ơn bạn nhiều lắm, mình đã hiểu cơ bản về WDT, có thể làm chủ WDT của PIC16F688 rồi. Chạy OK lắm!

Mình hỏi bạn vấn đề nữa:

Code:
CLRWDT();
PIC6F688 into SLEEP();
//đợi ngắt SERIAL (#int_RDA) để đánh thức PIC
ERROR: đánh thức PIC, cấm WDT nhưng không nhảy vào ngắt SERIAL...?:confused:

#int_RDA
void Serial_Interrupt()
{
char c;

    c=getc();
    putc(c);
}

main()
{
WDTCON=0b00001011;      //1:1024 khoi tao lai WDT
restart_wdt();

enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
setup_uart(UART_WAKEUP_ON_RDA);
WUE=1;

WDTCON=0b00001011;      //WDT enable 1:1024
        while(TRUE)
        {
            ra1=0;
            restart_wdt();
            sleep();
            WUE=1;
            enable_interrupts(INT_RDA);
            WDTCON=0b00001010;      //WDT disable
            delay_ms(200);
            ra1=1;
            delay_ms(1000);
        }
}
Mong cao kiến của bạn!?

thay đổi nội dung bởi: namqn, 13-03-2008 lúc 04:21 PM.
member_tdh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:40 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam