全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1789
推到 Plurk!
推到 Facebook!

8051 單顆控制 接腳

答題得分者是:oYueno
qwezxc124578
一般會員


發表:2
回覆:4
積分:1
註冊:2009-08-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-08-17 09:15:46 IP:203.64.xxx.xxx 訂閱
第一.以下程式是單顆控制,但問題是若想控制P1中的第5支腳該如何改
第二.請板大尊重在這裡每一位發表文章的人
第三.請以最簡單的方法, 應該不需用到中斷接腳及計時接腳

#include
#define LEDIO P1_0
void DelayX1ms(unsigned int);//函數原型宣告
main() //程式開始
{
while(1) //重複執行
{
LEDIO=0; //LED亮
DelayX1ms(200); //延遲100ms
LEDIO=1; //LED滅
DelayX1ms(200); //延遲100ms
}
}
void DelayX1ms(unsigned int count) //延遲count*1ms副程式
{
unsigned int i,j;
for(i=0;i for(j=0;j<114;j );
}
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-08-17 09:51:32 IP:122.116.xxx.xxx 訂閱
文章是我刪的
上一篇你PO的文,明顯是作業文,且沒有PO上程式碼,因而刪除
而且你之前的口氣不是很友善,不知情的人才會想回答你的問題吧...


===================引 用 qwezxc124578 文 章===================
第二.請板大尊重在這裡每一位發表文章的人
第三.請以最簡單的方法, 應該不需用到中斷接腳及計時接腳


qwezxc124578
一般會員


發表:2
回覆:4
積分:1
註冊:2009-08-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-08-17 10:13:31 IP:203.64.xxx.xxx 訂閱

===================引 用 taishyang 文 章===================
文章是我刪的
上一篇你PO的文,明顯是作業文,且沒有PO上程式碼,因而刪除
而且你之前的口氣不是很友善,不知情的人才會想回答你的問題吧


我口氣不好嗎???或許之前po文並未照版規,在此先致歉
明顯的事,本來就不需用到中斷及計時接腳,只是純粹的程式控制指令,
版大若真的想解在下的疑惑,懇請指點迷津.

taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-08-17 10:35:28 IP:122.116.xxx.xxx 訂閱
你程式能控制PORT1的pin0,卻不會改成控制pin5?
是你自己寫的code嗎?
#define LEDIO P1_
5
qwezxc124578
一般會員


發表:2
回覆:4
積分:1
註冊:2009-08-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-08-17 23:07:35 IP:203.64.xxx.xxx 訂閱

若是真的這樣我早就改了,好嗎?
就是因為真的並非如此簡單,才PO上的
,程式當然自己寫的阿!!!請勿懷疑,若版主手邊有8051或KEIL C 可用模擬看看的話可以試試看.
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-08-18 00:02:48 IP:218.168.xxx.xxx 訂閱
喔,goodluck



===================引 用 qwezxc124578 文 章===================

若是真的這樣我早就改了,好嗎?
就是因為真的並非如此簡單,才PO上的
,程式當然自己寫的阿!!!請勿懷疑,若版主手邊有8051或KEIL C 可用模擬看看的話可以試試看.
oYueno
初階會員


發表:1
回覆:27
積分:25
註冊:2009-08-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-08-18 06:23:30 IP:203.186.xxx.xxx 訂閱

[code cpp]
#include

#define LEDIO P1_5
void DelayX1ms(unsigned int i );
main() //程式開始
{
while(1) //重複執行
{
LEDIO=0; //LED亮
DelayX1ms(200); //延遲100ms
LEDIO=1; //LED滅
DelayX1ms(200); //延遲100ms
}
}
void DelayX1ms(unsigned int i) //延遲count*1ms副程式
{
unsigned int j ;
while (i>0)
{
j=114 ;
while(j>0) j-- ;

i-- ;
}
}


[/code]
我 run了 一次 希望是你要的結果
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-08-18 09:48:29 IP:114.32.xxx.xxx 訂閱
如果改成「#define LEDIO P1_5」不行,
那就是電路或是MCU的問題!

可能你用實驗板,該腳已接其它元件,
或MCU該腳已燒毀,或是電路開路或短路等等…
你需要仔細分析,單步執行,用三用表測量…

阿信~
qwezxc124578
一般會員


發表:2
回覆:4
積分:1
註冊:2009-08-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-08-22 10:55:48 IP:61.231.xxx.xxx 訂閱

===================引 用 阿信 文 章===================
如果改成「#define LEDIO P1_5」不行,
那就是電路或是MCU的問題!

可能你用實驗板,該腳已接其它元件,
或MCU該腳已燒毀,或是電路開路或短路等等…
你需要仔細分析,單步執行,用三用表測量…

阿信~



由於上禮拜出差,身邊並無電腦及網路,因忘此結案, 但是皆由測試並無正確答案,請版主自己選擇,不過此會員實為用心oYueno,若可以的話獎勵獲証於此會員,實為感謝
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#10 引用回覆 回覆 發表時間:2009-08-23 22:51:20 IP:218.168.xxx.xxx 訂閱
不都是
#define LEDIO P1_0
改成
#define LEDIO P1_5

呵...
系統時間:2024-05-06 22:08:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!