好像是延遲時間的問題吧????? |
缺席
|
big_eyes
一般會員 發表:28 回覆:52 積分:16 註冊:2005-03-22 發送簡訊給我 |
請問各位大大們!!
我寫了一ㄍ程式~只是簡單的讓字走車前進~感測器感測到物體前進~假使沒感測到物體則停止的程式!!
現在我要將感測器感測到物體而前進的程式加個delay~讓他前進的時間加長~~要怎麼寫呢?? ((因為我是用pin325焦電人體紅外線的緣故~他的感測方式~一感測到送一個脈波後就會消失~隨即在產生下一ㄍ脈波~~但是我不能因會訊號消失了就停止他前進~必須要追到定位才能停止~所以必須要在他下一ㄍ脈波產生前保留一組上一ㄍ訊號脈波~好讓8051能有所依據))
不知道要如何進行下一步~~~><"
拜託各位老大幫幫忙了!!
((謝謝您))
ORG 00H JMP START ORG 30H START: MOV P3,#FFH :設為高電位 SLOW: MOV P1,#00001010B ;前進 JNB P3.0,STOP JMP SLOW STOP: MOV P1,#0 ;停止前進 JB P3.0,SLOW JMP START RET END發表人 - ㊣ 於 2005/05/10 23:38:21 |
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
你不是用兩個51嗎?另一個51負責決定這個51(你po在這裡的程式)前進或停止.
你只需要在另一個51的程式裡寫一個判斷,超過幾秒沒收到感測器的脈波信號
才送出停止前進的信號.而追到定位便停止,就要看你的到達定位能收到什麼訊
號,再去停止你的馬達了!
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
big_eyes
一般會員 發表:28 回覆:52 積分:16 註冊:2005-03-22 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 我現在要先用一ㄍ8051下ㄑ寫程式來感測阿!! 還先用不到兩ㄍ8051耶!! 所以就先用一ㄍ來寫囉!!寫法一樣,多寫一個判斷,超過幾秒沒收到感測器的脈波信號 才送出停止前進的信號.而追到定位便停止,就要看你的到達定位能收到什麼訊 號,再去停止你的馬達!
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
阿信
版主 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
big_eyes
一般會員 發表:28 回覆:52 積分:16 註冊:2005-03-22 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
|
big_eyes
一般會員 發表:28 回覆:52 積分:16 註冊:2005-03-22 發送簡訊給我 |
|
阿信
版主 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
一個Byte可表示0~255(00h~FFh,00000000B~11111111B)
兩個Byte可表示0~65535(0000h~FFFFH,0000000000000000B~1111111111111111B)
這個是RAM
P3.0是I/O 看看程式碼吧
依照流程圖寫出來的
org 00h jmp Start org 30h Start: mov P3,#FFh :設P3為輸入 mov R1,#00h ;設定Counter初值 mov R2,#1 ;為1mS(以R1,R2為Counter) ;-------------------------------------------------------- Loop: jnb P3.0,Signal_Exit ;偵測信號 沒信號跳Signal_Exit mov R1,#07h ;有信號 mov R2,#D0h ;設定Counter為2000(2秒) Signal_Exit: mov A,0 ;Counter是否為零 cjne A,R1,CounterNotZero ;為零跳 "CounterIsZero" cjne A,R2,CounterNotZero ;不為零跳 "CounterNotZero" jmp CounterIsZero ; CounterNotZero: MOV P1,#00001010B ;前進 djnz R2,Counter_Exit ;Counter減1 djnz R1,Counter_Exit ; jmp Counter_Exit ; CounterIsZero: MOV P1,#0 ;停止 Counter_Exit: call Delay1mS ;延遲1mS (這段請自己寫) jmp Loop------------------- 美好的事物 稍縱即逝 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |