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 18-07-2007, 08:40 AM   #1
vatit
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 8
:
các bác giúp em với

em là tân binh, rất thích về tự động, em có tìm hiểu về PIC và hiện đang dùng PIC16F84A, lập trình và biên dịch ổn, chỉ có mỗi khi đưa vào mạch in thì lại không chạy mà có lúc chạy lúc không chạy, chán quá , có bác nào có một chương trình hoàn chỉnh ( cả code và mạch ) chỉ cho em với. xin chân thành cảm ơn

thay đổi nội dung bởi: vatit, 18-07-2007 lúc 09:08 AM.
vatit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-07-2007, 06:38 PM   #2
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
Talking Hi hi sự cố này trông quen quen

http://www.picvietnam.com/forum/show...=7488#post7488

Bạn xem coi có giống giống sự cố này không nhá nếu giống thì cách khắc phục đã có luôn rùi đó
__________________
_____________________________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. . . . . . . . . . . . . . . .
thaithienanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-07-2007, 01:33 AM   #3
vatit
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 8
:
đúng rồi, cảu mình cũng tỏng tình trạng chạmm tay vào mới chạy, và còn một lỗi nữa là mình lập trình cho 2 leg nhấp nháy luân phiên nhau thì chỉ nhấp nháy có một led, lep kia không có hiện gì, do nguyên nhân vì sao nhỉ
vatit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-07-2007, 02:58 AM   #4
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 vatit View Post
đúng rồi, cảu mình cũng tỏng tình trạng chạmm tay vào mới chạy, và còn một lỗi nữa là mình lập trình cho 2 leg nhấp nháy luân phiên nhau thì chỉ nhấp nháy có một led, lep kia không có hiện gì, do nguyên nhân vì sao nhỉ
Bạn post code của bạn lên đi, tôi cho rằng bạn đang gặp tình huống bị ảnh hưởng bởi hoạt động read-modify-write của các lệnh mà bạn đang dù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 19-07-2007, 10:46 PM   #5
vatit
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 8
:
đaay là code cảu mình :
Code:
LIST P=16F84A
	INCLUDE P16F84A.INC
REG_L EQU 0x0C
REG_M EQU 0x0B
REG_H EQU 0x0D
	ORG H'00'

MAIN BSF STATUS,5
	MOVLW 0x00
	MOVWF TRISB
	BCF STATUS,5
BATDAU MOVLW B'00000001'
	MOVWF PORTB	
	CALL DELAY05S
	CALL DELAY05S
	CALL DELAY05S
	MOVLW B'00000010'
	MOVWF PORTB	
	CALL DELAY05S
	CALL DELAY05S
	CALL DELAY05S
	GOTO BATDAU

DELAY05S CLRF REG_L
	CLRF REG_M
	MOVLW H'02'
	MOVWF REG_H
LOOP NOP
	DECFSZ REG_L
	GOTO LOOP
	NOP
	DECFSZ REG_M
	GOTO LOOP
	NOP
	DECFSZ REG_H
	GOTO LOOP
	RETURN
	END

thay đổi nội dung bởi: namqn, 19-07-2007 lúc 11:48 PM.
vatit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-07-2007, 11:49 PM   #6
huybo02
Đệ tử 4 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 61
:
Trích:
Nguyên văn bởi vatit View Post
đaay là code cảu mình :
Code:
LIST P=16F84A
	INCLUDE P16F84A.INC
REG_L EQU 0x0C
REG_M EQU 0x0B
REG_H EQU 0x0D
	ORG H'00'

MAIN BSF STATUS,5
	MOVLW 0x00
	MOVWF TRISB
	BCF STATUS,5
BATDAU MOVLW B'00000001'
	MOVWF PORTB	
	CALL DELAY05S
	CALL DELAY05S
	CALL DELAY05S
	MOVLW B'00000010'
	MOVWF PORTB	
	CALL DELAY05S
	CALL DELAY05S
	CALL DELAY05S
	GOTO BATDAU

DELAY05S CLRF REG_L
	CLRF REG_M
	MOVLW H'02'
	MOVWF REG_H
LOOP NOP
	DECFSZ REG_L
	GOTO LOOP
	NOP
	DECFSZ REG_M
	GOTO LOOP
	NOP
	DECFSZ REG_H
	GOTO LOOP
	RETURN
	END
Trong 16F84 thanh ghi ở địa chỉ 0x0B là thanh ghi INTCON dùng để thiết lập chức năng ngắt cho PIC. Bạn dùng nó như một thanh ghi dữ liệu sẽ có nhiều rắc rối. Và ở đây khi thay địa chỉ 0x0B (REG_M EQU 0x0B) thành 0x0E thì mạch nháy 2 LED.
Bạn nên đọc thêm datasheet để biết thêm về các thanh ghi đặt biệt và các cách sử dụng nó.
Có gì mọi người bổ xung thêm.
huybo02 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-07-2007, 10:34 AM   #7
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Mình ko thấy bạn cấu hình cho chip ở đâu cả.

Nếu bạn để mặc định, bộ dao động sẽ là RC bạn mắc thạch anh sẽ ko bao giờ chạy.

Vùng ram đa mục đích của con 84A bắt đầu từ 0x0C (datasheet, data memory organization), thanh ghi 0x0B là SFR bạn sử dụng nó làm biến sẽ làm chương trình chạy sai trong nhiều trường hợp.

Nhưng theo mình lý do chính khiến ct của bạn chỉ chớp 1 led là Watchdog, bạn ko cấu hình, mặc định watchdog on, chạy 1 thời gian nó reset chip, nên phần chương trình phía con led trên chân RB1 sẽ ko bao giờ được thực thi.

Bạn có thể cấu hình như sau:
__config _wdt_off & _xt_osc & _pwrte_on
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]

thay đổi nội dung bởi: bien_van_khat, 20-07-2007 lúc 10:41 AM.
bien_van_khat 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:42 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