如何驅動 5VDC 繼電器? |
答題得分者是:㊣
|
gsx21612
一般會員 發表:4 回覆:1 積分:1 註冊:2012-06-27 發送簡訊給我 |
我想請問一下 對電路比較熟的網友 請教一下 問題在我的部落格裡 ( 網址有誤 告訴我一下 ) http://tw.myblog.yahoo.com/jw!xWOvrVuVAw.7gWE7s3Q.YQ-- 這是用 89S51 的IC 下去做的程式 我的問題是:[ 爲什麼我接上 5V的電源下去, 我的繼電器沒有辦法正常啟動 我試很多種方法 除了外接 5V 電源 以及他的接腳 就是沒有辦法正常運作] 是我電路版焊錯? 還是電子元件的問題? 還是其他的原因? 希望各位幫助我一下 謝謝
------
阿良 |
BGOD1986414
一般會員 發表:0 回覆:1 積分:0 註冊:2006-09-20 發送簡訊給我 |
|
gsx21612
一般會員 發表:4 回覆:1 積分:1 註冊:2012-06-27 發送簡訊給我 |
沒有耶! 不過我之前 沒寫怎會有動作
我翻一下書 它的 繼電器的位置 並沒有 =1 ? 爲什麼? 下面是我的 程式碼 #include unsigned char code TAB[10]={ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x83, 0xf8, 0x80, 0x98 }; #define ADC P0 #define SCANP P1 #define SEG7P P2 #define off 2500 #define on 2500 sbit relay=P3^3; unsigned char disp[4]={0,0,0,0}; unsigned char _adc; void dataproc(unsigned char); void display(void); void delay1ms(char); main() { while(1) { display(); _adc=ADC; dataproc(_adc); } } void dataproc(unsigned char data_in) {unsigned int results; results=data_in*196; if (results>=off) relay=0; else if (results <=on) relay=1; disp[3]=results/10000; disp[2]=(results/1000); disp[1]=(results/100); disp[0]=results; } void display(void) { char i,scan; char times=20; while (--times>=0) { scan=1; for(i=0;i<4;i ) { SEG7P=0xff; SCANP=~scan; SEG7P=TAB[disp[i]]; delay1ms(4); scan<<=1; } } } void delay1ms(char x) { int i,j; for(i=0;i }
------
阿良 |
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |