PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   MPASM (http://www.picvietnam.com/forum/forumdisplay.php?f=34)
-   -   Các lý do làm cho PIC bị reset ??? (http://www.picvietnam.com/forum/showthread.php?t=1401)

Jerry 16-08-2007 04:16 PM

Các lý do làm cho PIC bị reset ???
 
Tớ thử viết 1 chương trình bằng hợp ngữ cho PIC, chương trình chỉ đơn giản là hiển thị chữ A lên LCD. Modul điều khiển LCD là modul tớ đã viết chuẩn và đã chạy trong một số mạch phần cứng khác mà tớ làm. Tuy nhiên trên thực tế thì màn hình LCD hiển thị chữ A lên trong vài giây rồi lại tắt, rồi lại tiếp tục hiển thị, rồi lại tắt. Cứ nhấp nha nhấp nháy như thế. Tớ cho rằng lý do là phần mềm bị reset. Nhưng nguyên nhân do đâu và cách khắc phục thế nào? Rất cần mọi người giúp đỡ. Chương trình của tớ như sau:

Code:

; Các khai báo cần thiết về chân cổng, port... đã thực hiện đúng ở đây

MainProg:
        clrwdt
        movlw        0x80
        call        WriteCommand
        movlw        'a'
        call        WriteData
        goto        MainProg

Tớ định nghĩa các bit cấu hình như sau:
Osscillator: XT
Watchdog timer: on
Power up timer: on
Brown out detect: on
Low voltage program: Disable
Code protect: on

hanspkt 16-08-2007 10:32 PM

Trích:

Nguyên văn bởi Jerry (Post 10734)

Tớ định nghĩa các bit cấu hình như sau:
Osscillator: XT
Watchdog timer: on
Power up timer: on
Brown out detect: on
Low voltage program: Disable
Code protect: on

bạn định nghĩa "Watchdog timer: on" là bị reset phải rồi

namqn 16-08-2007 10:37 PM

Trích:

Nguyên văn bởi hanspkt (Post 10741)
bạn định nghĩa "Watchdog timer: on" là bị reset phải rồi

Trong vòng lặp chính bạn Jerry có lệnh clrwdt để định kỳ xóa WDT, do đó ý kiến của bạn chưa hẳn chính xác.

Về phía bạn Jerry, trong 2 chương trình con mà bạn gọi trong vòng lặp chính thì có chương trình con nào có thời gian delay lớn hơn thời gian đã cài đặt cho WDT không?

Thân,

ham hoc 08-05-2011 10:21 AM

các anh ơi cho em hỏi: khi em mô phỏng quét led trên proteus, reset pic bằng công tắc thì chạy ngon. mạch chạy đúng theo ý mình khi reset nhưng khi nạp vào mạch thật và cũng reset bằng công tắc thì dãy led lại ko thay đổi trạng thái gì cả. anh nào biết thì giải thích giúp em với.thanks

ladykiller 20-11-2011 11:45 PM

goto $ thì nó mới hiện hẳn chủ A chứ Goto mainprog thì nó nhảy là đúng rồi, nó nhảy là do LCD không đáp ứng kịp chứ không phải do pic reset
^^


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

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam