PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

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

MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-08-2007, 04:16 PM   #1
Jerry
Đệ tử 5 túi
 
Jerry's Avatar
 
Tham gia ngày: Sep 2006
Bài gửi: 100
:
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
Jerry vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-08-2007, 10:32 PM   #2
hanspkt
Đệ tử 3 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 55
:
Trích:
Nguyên văn bởi Jerry View Post

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
hanspkt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-08-2007, 10:37 PM   #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
Trích:
Nguyên văn bởi hanspkt View Post
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,
__________________
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 08-05-2011, 10:21 AM   #4
ham hoc
Nhập môn đệ tử
 
Tham gia ngày: Jan 2011
Bài gửi: 8
:
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
ham hoc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-11-2011, 11:45 PM   #5
ladykiller
Đệ tử 3 túi
 
Tham gia ngày: Nov 2011
Bài gửi: 58
:
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
^^
ladykiller 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à 07:53 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