8051接自製線圈 |
尚未結案
|
air0214
一般會員 發表:4 回覆:5 積分:1 註冊:2009-11-17 發送簡訊給我 |
#include <reg51.h> /* 載入 8051 相關暫存器含括檔 */
sbit a = P0^1; /* 定義P0.1接腳 */ sbit b = P0^2; /* 定義P0.2接腳 */ sbit c = P0^3; /* 定義P0.3接腳 */ sbit d = P0^4; /* 定義P0.4接腳 */ sbit k1 = P2^0; /* 按鍵控制線圈啟動 */ sbit k2 = P2^1; /* 按鍵控制線圈關閉 */ /*----------------------------*/ void Delay(unsigned int count)/* 延遲副程式 */ { unsigned int i,j; for(i=0;i } /*----------------------------*/ smart() /* 線圈啟動*/ { while(1) { a=0; b=1; c=0; d=0; Delay(1000); a=1; b=0; c=0; d=0; Delay(1000); a=0; b=0; c=1; d=0; Delay(1000); a=0; b=0; c=0; d=1; Delay(1000); } } /*----------------------------*/ smart_2() /* 線圈關閉*/ { a=0; b=0; c=0; d=0; } /*----------------------------*/ void main() /* 主程式 */ { if(k1==1) /* 控制線圈啟動 */ { smart(); } if(k2==1) /* 控制線圈關閉 */ { smart_2(); } } 我們估計這個跑出來的結果是會當k1啟動時循序漸進的由b亮a亮c亮d亮燃後間隔一秒 一直無窮回圈下去 然後按k2時即會停止 可是跑出來的結果都不符 請各位大大幫忙解答 |
iii0628
一般會員 發表:50 回覆:46 積分:19 註冊:2005-04-04 發送簡訊給我 |
|
ScottWang
版主 發表:32 回覆:486 積分:688 註冊:2009-04-27 發送簡訊給我 |
你的delay內有變數count,卻都沒有動到,因此你的delay的參數傳遞是無效的.
請參考這裡delay的用法: http://vision.ee.ccu.edu.tw/modules/tinyd2/content/97_MR/Demo/第一組/自主式機器人期末專題報告(蔡承延 陳汯承)/自主移動式機器人期末專題報告.doc
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流, 中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓, 標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器. 接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備, 另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A. http://hvpower.myweb.hinet.net/ |
air0214
一般會員 發表:4 回覆:5 積分:1 註冊:2009-11-17 發送簡訊給我 |
delay(int d) /* 延遲副程式 */
{ int i,j ; for(i=0;i } 那如果我今天改適用這種delay 沒有count是不是就可以順利跑了 我們是要把它接到我們自製的馬達上 主要是有兩段線圈分成 a b c d 裡面放一科強力磁鐵 當b通電磁鐵會被推到d的部份 再將a通電磁鐵回到中間 此時再將ab全部關掉 改由cd供電 由c供電 將磁鐵退至最左邊ab的部份 在經由d供電 將磁鐵拉回來 一直無限回圈下去 就好比今天我要四顆led依照我想要的順序供電 b亮a.c.d.不亮 a亮b.c.d不亮 c亮a.b.d不亮 d亮a.b.c不亮 延遲時間可能是0.1秒 因為我們現在是看結果對不對所以才把秒數加大以便觀察 我會再重寫試試 |
ScottWang
版主 發表:32 回覆:486 積分:688 註冊:2009-04-27 發送簡訊給我 |
delay(int d) <-- 這裡也要有d的加或減,外面傳入的值,經過加或減之後,才會產生作用.
} 前面找的資料,你好像沒有去看.
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流, 中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓, 標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器. 接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備, 另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A. http://hvpower.myweb.hinet.net/
編輯記錄
ScottWang 重新編輯於 2009-11-17 18:46:03, 註解 無‧
|
air0214
一般會員 發表:4 回覆:5 積分:1 註冊:2009-11-17 發送簡訊給我 |
|
air0214
一般會員 發表:4 回覆:5 積分:1 註冊:2009-11-17 發送簡訊給我 |
#include <reg51.h> /* 載入 8051 相關暫存器含括檔 */
sbit a = P0^1; /* 定義P0.1接腳 */ sbit b = P0^2; /* 定義P0.2接腳 */ sbit c = P0^3; /* 定義P0.3接腳 */ sbit d = P0^4; /* 定義P0.4接腳 */ sbit k1 = P2^0; /* 按鍵控制線圈啟動 */ sbit k2 = P2^1; /* 按鍵控制線圈關閉 */ /*----------------------------*/ delay(int d) /* 延遲副程式 */ { int i,j ; for(i=0;i } /*----------------------------*/ smart() /* 線圈啟動*/ { a=1; b=0; c=1; d=1; delay(1000); a=0; b=1; c=1; d=1; delay(1000); a=1; b=1; c=0; d=1; delay(1000); a=1; b=1; c=1; d=0; delay(1000); } /*----------------------------*/ smart_2() /* 線圈關閉*/ { a=1; b=1; c=1; d=1; } /*----------------------------*/ void delay(int d);//宣告延時1m秒函數 void main() /* 主程式 */ { while(1) { if(k1==0) /* 控制線圈啟動 */ { smart(); } if(k2==0) /* 控制線圈關閉 */ { smart_2(); } } } 改了結果卻還是不符預期 |
air0214
一般會員 發表:4 回覆:5 積分:1 註冊:2009-11-17 發送簡訊給我 |
不知道為什麼i的部分打不出來
所以我用口述的方式 (i等於零分號i小於d分號i 累加)
編輯記錄
air0214 重新編輯於 2009-11-18 01:34:42, 註解 無‧
air0214 重新編輯於 2009-11-18 01:35:13, 註解 無‧ air0214 重新編輯於 2009-11-18 01:35:51, 註解 無‧ air0214 重新編輯於 2009-11-18 01:36:20, 註解 無‧ air0214 重新編輯於 2009-11-18 01:37:08, 註解 無‧ air0214 重新編輯於 2009-11-18 01:49:29, 註解 無‧ air0214 重新編輯於 2009-11-18 01:50:53, 註解 無‧ air0214 重新編輯於 2009-11-18 01:51:59, 註解 無‧ |
air0214
一般會員 發表:4 回覆:5 積分:1 註冊:2009-11-17 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |