View Single Post
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