PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC > Những câu hỏi thường gặp

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

Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 01-10-2006, 06:17 PM   #1
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
Lỗi cài đặt bộ dao động

em viết chương trình xoay trái led ở PORTB nhưng mà sao nó ko chạy!
Em ko tìm ra lỗi ở đâu, các anh giúp em với
Chương trình của em
Code:
		title		"leddichtutraiquaphai_Port_B.asm"
		processor	p16f877a
		include		<P16f877a.inc>
		__CONFIG	_CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC & _XT_OSC
		;=========================================================================
		; Chuong trinh chinh
		;=========================================================================
		count1		equ		0x20
		counta		equ		0x22
		countb		equ		0x23
				org			0x000
	;-------------------------------------------------------------
	;khoi tao Port B
	;------------------------------------------------------------
				banksel		TRISB
				clrf		TRISB
				banksel		PORTB
				movlw		b'00000001'
				movwf		PORTB
		loop	call		delay100ms;
				rlf			PORTB,1
				goto		loop

;-----------------------------------------------------------------
;chuong trinh delay
;-----------------------------------------------------------------
delay100ms ; chuong trình con delay 100 ms
				MOVLW d'100'
				MOVWF count1
	d1
				MOVLW 0xC7
				MOVWF counta
				MOVLW 0x01
				MOVWF countb
	delay_0
				DECFSZ counta,1
				GOTO $+2
				DECFSZ countb,1
				GOTO delay_0
				DECFSZ count1,1
				GOTO d1
				RETURN
;----------------------------------------------------------------
		end
File Kèm Theo
File Type: txt dich led.txt (1.2 KB, 19 lần tải)

thay đổi nội dung bởi: anhquangngai, 01-10-2006 lúc 06:20 PM.
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-10-2006, 07:17 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
Chương trình có lỗi ở dòng này:
Trích:
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC & _XT_OSC
Nếu có _HS_OSC & _XT_OSC (b'10' AND với b'01') thì kết quả sẽ là _LP_OSC (b'00').
Chỉ cần có _HS_OSC hay _XT_OSC thôi.

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 03-10-2006, 08:29 PM   #3
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
cảm ơn anh NAM để em về thử lại xem sao!

F << Bạn nhớ bấm vào nút cảm ơn, không viết thêm một bài mà chỉ có dòng cảm ơn.

thay đổi nội dung bởi: falleaf, 03-10-2006 lúc 09:49 PM.
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-10-2006, 03:01 PM   #4
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
anh Nam ơi chương trình của em sau khi sửa lại như anh hướng dẫn nhưng nó vẫn ko chạy !??
anh Nam hay bác F co thể giúp em đc ko vậy?
Em ko biết nó bị lỗi ở đâu hết!
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-10-2006, 03:48 PM   #5
Jerry
Đệ tử 5 túi
 
Jerry's Avatar
 
Tham gia ngày: Sep 2006
Bài gửi: 100
:
Thế nó báo lỗi thế nào hả bác???
Jerry vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-10-2006, 10:22 PM   #6
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
vấn đề ở đây là biên dịch nó vẫn tốt nhưng khi mô phỏng thì chỉ có con Lwed đầu tiên là RB0 chớp một cái rồi nó tắt ngúm luôn
Mong các bác giúp em với
bởi vì chương trình này là nền để em viết chương trình quét Led 7 đoạn
Xin càm ơn các bác trước!
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-10-2006, 10:29 PM   #7
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
chương trình mô phỏng của bạn có vấn đề rồi mình đã tét bằng proteus 6.9 và thấy chạy rất tốt chẳng có lỗi gì cả
thaithienanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-10-2006, 07:43 PM   #8
MHz
Đệ tử 2 túi
 
Tham gia ngày: Jun 2005
Bài gửi: 34
:
Trích:
Nguyên văn bởi anhquangngai View Post
vấn đề ở đây là biên dịch nó vẫn tốt nhưng khi mô phỏng thì chỉ có con Lwed đầu tiên là RB0 chớp một cái rồi nó tắt ngúm luôn Mong các bác giúp em với
bởi vì chương trình này là nền để em viết chương trình quét Led 7 đoạn
Xin càm ơn các bác trước!
Lỗi này là do bác nối trực tiếp các LED vào port RB mà không dùng điện trở hạn dòng, bác nên dùng điện trở có giá trị khoảng 220 Ohm nối tiếp với LED (mỗi LED một điện trở) thì sẽ thấy kết quả ngay thui mà...
MHz vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-10-2006, 08:37 PM   #9
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
Trích:
Nguyên văn bởi namqn View Post
Chương trình có lỗi ở dòng này:

Nếu có _HS_OSC & _XT_OSC (b'10' AND với b'01') thì kết quả sẽ là _LP_OSC (b'00').
Chỉ cần có _HS_OSC hay _XT_OSC thôi.

Thân,
Nếu như em dùng bộ dao động nội và thạnh anh 4MHz nối với chân OSC1 và OSC2 thì phải config là _HS_OSC hay _XT_OSC ??
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-10-2006, 10:14 PM   #10
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
nếu mình gắn thạch anh bên ngoài thì là _XT_OSC
còn nếu không gắn thạch anh mà sử dụng dao động nội thì là _HS_OSC
chỉ chọn lựa 1 trong 2 cái chứ không sử dụng đồng thời được

namqn: Em đọc post bên dưới của anh.

thay đổi nội dung bởi: namqn, 19-10-2006 lúc 10:31 PM.
thaithienanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-10-2006, 10:29 PM   #11
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 anhquangngai View Post
Nếu như em dùng bộ dao động nội và thạnh anh 4MHz nối với chân OSC1 và OSC2 thì phải config là _HS_OSC hay _XT_OSC ??
PIC16F877A không có bộ dao động nội (theo nghĩa là không cần gắn thêm gì vào các chân OSC1 và/hay OSC2 mà chip vẫn có xung clock). Với thạch anh 4 MHz thì nên dùng _XT_OSC (mặc dù dùng _HS_OSC cũng vẫn ok).

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 21-10-2006, 11:25 PM   #12
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
Trích:
Nguyên văn bởi namqn View Post
PIC16F877A không có bộ dao động nội (theo nghĩa là không cần gắn thêm gì vào các chân OSC1 và/hay OSC2 mà chip vẫn có xung clock). Với thạch anh 4 MHz thì nên dùng _XT_OSC (mặc dù dùng _HS_OSC cũng vẫn ok).

Thân,
như vậy là gắn hai chân của thạch anh với chân OSC1 và OSC2 là dc phải ko?
nếu như vậy thì dùng _XT_OSC hay là _HS_OSC?
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-10-2006, 02:11 AM   #13
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 anhquangngai View Post
như vậy là gắn hai chân của thạch anh với chân OSC1 và OSC2 là dc phải ko?
nếu như vậy thì dùng _XT_OSC hay là _HS_OSC?
Nối hai chân thạch anh vào các chân OSC1 và OSC2, giữa chân OSC1 và GND có một tụ khoảng 22pF đến 33pF, giữa chân OSC2 và GND cũng vậy.

_XT_OSC hay là _HS_OSC đều được, nhưng không chọn cả hai.

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 02-11-2006, 08:00 PM   #14
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
Kinh nghiệm rút ra sau khi bị lỗi về phần dao động:
- Nếu dao động <4MHz thì là _RC_OSC
- Nếu dao động >=4MHz va < 8MHZ thì là _XT_OSC
- Nếu dao động >=8MHz va < 20MHZ thì là _HS_OSC
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bà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à 06:05 AM.


Đượ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