|
本帖最後由 fzr_7 於 2015-5-8 22:36 編輯
5/2我發了一篇用手機透過藍牙的方式來發動FZR的引擎......沒看到的請自己爬文
當時已經凌晨,所以沒分享大概的電路和程式,所以我補一下大概的做法
其實也不用透過手機藍牙,譬如紅外線,拍手控制等等的
基本上就上圖的接法,應該是這樣接,1個月前的事了,我焊接沒電路圖的,也沒用麵包板測試,就直接焊
其他的接腳因為使用IC都要接,GOOGLE就一堆接法,所以懶得畫,小畫家超難畫
ULN2003接2次的理由是因為89S51在導通時接腳會輸出1,透過ULN2003會輸出0,讓繼電器導通
所以多接1個就讓0變成1了,就不會在89s51導通時繼電器也跟著導通
......至於有沒有沒反向又有驅動繼電器的IC或其他方式就自己摸索了,我只用手邊看得到的資源來做
以下是簡單化的89S51程式,其他的自己補
MOV 36H,#10 ;10=發動0.5秒,+1=+0.05秒,5次慢慢增加發動秒數
START21:
CJNE R0,#0,START24 ;R0是檔位,不用判斷也沒關係,主要是避免入檔發動
MOV A,33H ;33H放的是用89S51抓到的轉速,請自己爬我以前發的自製轉速表文
CJNE A,#8,START22 ;9=950轉,超過950轉表示有發動成功
JMP START24
START22:
DJNZ 35H,START23 ;35H=一次手機控制最多會發動引擎幾次
JMP START24
START23:
CLR P1.0 ;導通繼電器
MOV R7,36H ;1開始發動0.5秒,每一次會+0.05秒
DEL21: MOV R6,#249
DEL22: MOV R5,#100
DEL23: DJNZ R5,DEL23
DJNZ R6,DEL22
DJNZ R7,DEL21
SETB P1.0 ;關掉繼電器
MOV R7,#20 ;延遲2秒
DEL31: MOV R6,#249
DEL32: MOV R5,#200
DEL33: DJNZ R5,DEL33
DJNZ R6,DEL32
DJNZ R7,DEL31
INC 36H ;沒成功+0.05秒
JMP START21
START24:
89S51的大概藍牙程式,藍牙的2隻腳就接89S51的那2隻腳,RXD(P3.0) TXD(P3.1)
MOV TMOD,#00100000B
ANL PCON,#01111111B
MOV TH1,#244 ;鮑率最低2.4K,這要跟藍牙的設定一樣
MOV TL1,#244
SETB TR1
MOV SCON,#01010000B
CALL DELAY1 ;延遲0.3秒
START0:
JNB RI,START0
MOV A,SBUF
CLR RI
CJNE A,#???,START0 ;???是手機傳給8051一個起動引擎訊號
................這裡插入上面的起動程式,因為我是分2個89S51,所以分開貼
至於手機的藍牙程式(android),請google
因為你不會就算我貼出來你一樣看不懂,但有心的話我不貼你一樣會摸索出來
當初我連android程式都不會,自己上網學,1個月內就弄會了
android的優點就是公開的範例多
你只要拿別人的來修改或測試就知道要怎樣修改成你需要的了
最後,有事PM我,知道一定回
但不要當伸手牌,有興趣自己摸索,改天我掛了哪邊有問題自己才會處理
況且自己摸索說不定你會加入你自己的創意........
|
评分
-
1
查看全部评分
-
|