8051程式問題 |
尚未結案
|
sai76107
一般會員 發表:2 回覆:0 積分:0 註冊:2009-08-10 發送簡訊給我 |
我想寫一個8051控制步進碼追蹤光源的程式...利用光敏電阻照光比較電壓不同來驅動馬達正反轉
目前可以達到追光的效果...可是無法定位..馬達會一直正反轉 希望可以幫我看一下程式的問題..定位該怎麼寫才好謝謝 程式如下 ORG 0000H CALL POSITION MOV A,#33H START CLR P1.7 SETB P1.7 CLR P1.5 SETB P1.5 WAIT JB P1.6,WAIT JB P1.4,WAIT READ MOV A,P2 ;A光敏電阻在太陽能板前側 MOV B,P3 ;B光敏電阻在太陽能板後側 CLR C CJNE A,B,X0 ;A值不等於R3(B電壓值)則右轉 NOP NOP AJMP START X0 JNC LTR ACALL RTL RTL MOV A,#11101110B MOV R1,#10 FOR1 RR A MOV P1,A ACALL DELAY DJNZ R1,FOR1 ACALL HOLD AJMP READ LTR MOV A,#11101110B MOV R1,#10 FOR2 RL A MOV P1,A ACALL DELAY DJNZ R1,FOR2 ACALL HOLD AJMP READ HOLD MOV R5,#20 DL1 ACALL DELAY DJNZ R5,DL1 RET DELAY MOV R6,#30 DL2 MOV R7,#200 DJNZ R7,$ DJNZ R6,DL2 RET POSITION MOV 30H,#4 MOV A,#33H RET END 補充一下我的程式動作構想(ADC0804是轉換器..可以比較電壓) 建立一個時間中斷...每隔一段時間讀取ADC的值 1. 每一秒讀一次 ADC, 累積十次平均 2. 每十秒比對一次兩個 ADC 平均值 決定轉動或不轉 3. 重複上次動作 直到天黑 4. 當 ADC 判斷光敏值呈現 黑暗( 晚上) 把馬達轉到天亮位置 等天亮 可是目前卡在時間中斷部分...不知道如何在中斷副程式裡去讀取ADC的值 好讓他判斷電壓不同而驅動馬達轉或不轉... 希望站上的專家可以幫我看看...或是有其他想法可以建議一下...真的非常感謝 |
阿信
版主 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |