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 Bài Trong Ngày 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 07-10-2010, 01:45 PM   #1
vokihut
Đệ tử 2 túi
 
Tham gia ngày: May 2006
Bài gửi: 26
:
Question Relay nhảy khi cấp nguồn cho 16F877A

Chào các bác,
Em có một mạch điều khiển relay nhỏ từ cổng B thông qua UNL2003, chân kia của relay nối dương nguồn.Em đang thử một một đoạn code đơn giản như bên dưới, tuy nhiên, không hiểu sao cấp nguồn vào mạch là relay đóng luôn (rồi nhả). Không biết khai báo #Fuses như thế có vấn đề gì không vậy ? Bác nào gặp rồi , chỉ giúp em với !


#include <16F877A.h>
#fuses HS,NOPROTECT,NOLVP,NOWDT, NOPUT, NOBROWNOUT
#use delay(clock=11059200)


void main(){

port_b_pullups(false); // disable pull-up portB
set_tris_b(0b00000000); // output
portb = 0; // clear portB
//---------------------------------

delay_ms(100);

}
vokihut vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2010, 09:40 PM   #2
caovanhuong
Đệ tử 2 túi
 
caovanhuong's Avatar
 
Tham gia ngày: Jul 2009
Bài gửi: 40
:
Trích:
Nguyên văn bởi vokihut View Post
Chào các bác,
Em có một mạch điều khiển relay nhỏ từ cổng B thông qua UNL2003, chân kia của relay nối dương nguồn.Em đang thử một một đoạn code đơn giản như bên dưới, tuy nhiên, không hiểu sao cấp nguồn vào mạch là relay đóng luôn (rồi nhả). Không biết khai báo #Fuses như thế có vấn đề gì không vậy ? Bác nào gặp rồi , chỉ giúp em với !


#include <16F877A.h>
#fuses HS,NOPROTECT,NOLVP,NOWDT, NOPUT, NOBROWNOUT
#use delay(clock=11059200)


void main(){

port_b_pullups(false); // disable pull-up portB
set_tris_b(0b00000000); // output
portb = 0; // clear portB
//---------------------------------

delay_ms(100);

}
đoạn code này mà biên dịch sáng được file hex là cũng hay rồi đấy, không khai báo địa chỉ thanh ghi portb sao mà nó cho biên dịch hay vậy.
code này nếu mà có đúng thì cấp nguồn vào relay thì nó nhảy là đúng vì relay đã nối sẵn (+) nên khi có mass là relay nhảy liền mà code của bạn là khi cấp nguồn thì portb =0 nên relay nhảy là đương nhiên rồi.
__________________
Cao Văn Hưởng
SĐT: 01672754113
Email: caovanhuong@webdien.com
Nhận thiết kế mạch điện tử, PCB (Orcad)

caovanhuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-10-2010, 09:25 AM   #3
vokihut
Đệ tử 2 túi
 
Tham gia ngày: May 2006
Bài gửi: 26
:
Em tìm thấy rồi, pull-up kéo ở bên ngoài , còn cái khái báo địa chỉ portB, em quên k post . Cảm ơn bác caovanhuong đã giúp.
vokihut 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à 08:04 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