找回密碼
 註冊

自製LED數字型檔位表

本文章最後由 killpeople 於 2013-12-5 00:44 編輯

我所發表的自製表有問題請一定要用PM的,我有看到一定會回,謝謝


假如你的車是沒有顯示空檔燈的話請按上一頁,因為一定要有空檔燈
假如你的車是循環檔的話請按上一頁,除非你會修改程式

以下教學是國際檔,也就是1-空-2-3-4-5-6或1-空-2-3-4-5

這是最後一篇自製表的分享,繪圖型LCD因為電路圖很大,畫起來很麻煩,而且需要用到4顆89S51、2顆89S52、1顆ICL7017、1顆93C46、1顆7660、1顆DS1821、5顆PC817、2顆128x64繪圖型LCD,雖然可以顯示轉速、時速、檔位、機油溫、汽油量、電壓、總里程、單次騎程里程,但是價位上約1500~2000元,不是很划算,所以不提供程式或電路圖

先說明為什麼要自製一些市面上就可以買到的東西,因為我是霹靂遊俠 KNIGHT RIDER的電視劇迷,不管是4季的電視劇還是1部電影或是2部KNIGHT RIDER的PC遊戲我都有想要做跟他的儀表一樣,所以在退伍開始後有LED數字型的製作,後來乾脆增加許多東西,只好用繪圖型LCD取代LED數字型
自製LED數字型檔位表1936
自製LED數字型檔位表7896
白色框框就是第一版要模仿的對象
連霹靂燈我也有做出來,不過礙於法規只裝上錄影就拆下,裡面是現在在用的2顆繪圖型LCD,一些照片都2010年的



第一版本除了LED數字型以外還有加入LED燈來顯示轉速,當時時速表用紅外線判斷結果沒成功所以整個放棄
第二版本只有LED數字型,含機油溫轉速、時速、檔位,沒有加入LED燈來顯示轉速,用不到一年而已
第三版本變1顆繪圖型LCD含機油溫轉速、時速、檔位、汽油量、電壓,因為擋住原廠表所以用不到一年又改了,顯示如下圖,用按紐改變上面顯示的機油溫、汽油量、電壓
自製LED數字型檔位表1702
第四版變2顆繪圖型LCD含機油溫轉速、時速、檔位、汽油量、電壓、總里程、單次騎程里程、騎乘時間,顯示如下圖
自製LED數字型檔位表5618 左邊LCD   自製LED數字型檔位表6702 右邊LCD

順便分享一下FZR油箱的電阻值,可能會因為電錶而有小誤差,我有以0.1 L為單位慢慢量0 L~10 L,結果每隔0.1 L的值相差很小,所以我只貼0.5 L為單位的值上來而已,用ICL7107計算電壓後傳給89S51做判斷就可算出有多少L的汽油
  10 L:8 Ω
  
  9.5 L:9.3 Ω
  
  9 L:10.6 Ω
  
  8.5 L:13.2 Ω
  
  8 L:14.5 Ω
  
  7.5 L:17.1 Ω
  
  7 L:18.6 Ω
  
  6.5 L:21.2 Ω
  
  6 L:25.1 Ω
  
  5.5 L:29 Ω
  
  5 L:32.9 Ω
  
  4.5 L:36.9 Ω
  
  4 L:40.8 Ω
  
  3.5 L:52.6 Ω
  
  3 L:53.9 Ω
  
  2.5 L:63.1 Ω
  
  2 L:68.4 Ω
  
  1.5 L:84.1 Ω
  
  1 L:94.7 Ω
  
  0.5 L:101.3 Ω
  
  0 L:105.2 Ω
  



分享教學開始,檔位表電路圖如下,2008設計的勿商業用途一樣有問題直接PM
自製LED數字型檔位表9664

FZR的接線圖,接天藍色,其他車請自己找
自製LED數字型檔位表4465
14.空檔指示燈
15.空檔開關

安裝方式,FZR可以裝在紅框框那裡,我用泡棉膠黏上裝了有快6年都沒掉過,其間有拆下約2次,每台機車可裝的地方不一樣,要怎麼來處理打檔時去碰到開關,請自己想一想方式,我也是想很久才想到,雖然簡陋但是很好用
自製LED數字型檔位表7718

我是用這種微動開關
自製LED數字型檔位表6725

也有其他種可選,看自己的方式來選擇
自製LED數字型檔位表2303
可用銅柱來條整開關的距離,達到理想距離,要多試幾次,就算是我裝了6年,每次拆下來重裝也是要調很多次才到理想位置
自製LED數字型檔位表2997

8051組合語言程式,不幫忙燒錄,裡面有交國際5檔要改那裡
;檔位表,目前使用版,有最新修改版,但是沒上車測試不趕貼上來
;正常打檔都OK,會錯誤是因為是用軟體解決開關彈跳的關係,沒有處理很好偶爾會跳檔,
;不過不常見,但是有錯誤會在回空檔自動校正,可用硬體解決開關彈跳
;或自己想辦法加強軟體
;只適用國際檔,並且有空檔燈的車,循環檔懶的修改,且我又沒騎過循環檔
        ORG     00H
        JMP     START
START:  
        MOV     P0,#00000000B
        MOV     P1,#00000000B
        MOV     P2,#00000111B        ;輸入
        MOV        P3,#00000110B        ;輸出'E'
        MOV        R0,#0
START1:
        JB        P2.0,START1        ;一開始沒進入空檔時一直顯示'E'
START2:
        JNB        P2.1,UP1        ;是否進檔
        JNB        P2.2,DOWN1        ;是否退檔
        JNB        P2.0,OU1        ;是否空檔
        JMP        START2
UP1:                                
        CJNE        R0,#6,UP01        ;是否是6檔,5檔的請改5
        JMP        OU2
UP01:
        MOV        A,#0                ;開始做開關彈跳和假動作判斷
        CALL        DELAY
        JB        P2.1,UP02
        INC        A
UP02:
        CALL        DELAY
        JB        P2.1,UP03
        INC        A
UP03:
        CALL        DELAY
        JB        P2.1,UP04
        INC        A
UP04:
        CALL        DELAY
        JB        P2.1,UP05
        INC        A
UP05:
        CALL        DELAY
        JB        P2.1,UP2
        INC        A
UP2:
        JNB        P2.1,UP2
        CJNE        A,#3,UP21        ;是否假動作
UP21:
        JC        START2
        CJNE        R0,#0,UP3        ;是否是空檔進2檔
        INC        R0
UP3:        
        INC        R0
        JMP        OU2
DOWN1:
        CJNE        R0,#1,DOWN01        ;是否是1檔
        JMP        OU2
DOWN01:
        MOV        A,#0                ;開始做開關彈跳和假動作判斷
        CALL        DELAY
        JB        P2.2,DOWN02
        INC        A
DOWN02:
        CALL        DELAY
        JB        P2.2,DOWN03
        INC        A
DOWN03:
        CALL        DELAY
        JB        P2.2,DOWN04
        INC        A
DOWN04:
        CALL        DELAY
        JB        P2.2,DOWN05
        INC        A
DOWN05:
        CALL        DELAY
        JB        P2.2,DOWN2
        INC        A
DOWN2:
        JNB        P2.2,DOWN2
        CJNE        A,#3,DOWN21        ;是否假動作
DOWN21:
        JC        START2
        CJNE        R0,#0,DOWN3        ;是否是空檔進1檔
        INC        R0
        INC        R0
DOWN3:
        DEC        R0
        JMP        OU2
NO1:
        MOV        R0,#0                ;是空檔
        JMP        OU2
OU1:
        CALL        DELAY                ;延遲一下
        CALL        DELAY
        JB        P2.1,OU11        ;是否是1檔進2檔時經過空檔
        JMP        UP1
OU11:
        JNB        P2.2,DOWN1        ;是否是2檔退1檔時經過空檔
        JNB        P2.0,NO1        ;是否是進空檔
OU2:
        MOV        A,R0
        MOV        DPTR,#TABLE
        MOVC        A,@A+DPTR
        MOV        P3,A
        CALL        DELAY
        JMP     START2
DELAY:        MOV        R6,#10                ;延遲0.004秒(R6*R5*2)
DEL1:        MOV        R5,#200
DEL2:        DJNZ        R5,DEL2
        DJNZ        R6,DEL1
        RET
TABLE:        DB        040H,079H,024H,030H,019H,012H,003H        ;0.1.2.3.4.5.6
        END

無實際影片,要看請參加南橫元旦一日遊,我車上有裝,或看上面的影片
分享到這邊為止,貼一下手機版的預定顯示方式,兩邊是轉速條,中間下面是常看MOTOGP就知道他有時會顯示車手的加速和煞車的大小,下面空白會拿來放一些設定用按鍵,andrido要用的java程式以前都沒學過,我哥公司需要網路管理貨運可能叫我寫,結果我想用PHP+MySQL也是以前都沒學過,晚出生1X年就好,雄工學80x86的dos組合語言和tubro c,正修也只教tubro c,windows的程式設計都沒學過,之前用visual basic 2010幫我哥寫一個各站所和大貨車的載貨量,還用到SQL還有列印功能,還好有做出來,這手機版又要考驗我的程式能力了
自製LED數字型檔位表3347


最後祝想做我分享的自製表的人都能成功

給個讚

讚: 5.0
讚: 5
  發表於 2013-12-5 15:14
讚: 5
  發表於 2013-12-5 01:55
參與人數 1紅利點數 +5 收起 理由
godpasser + 5 模組化生產~~

瀏覽全部評分總評分 :  紅利點數 +5

收藏
收藏3
回覆我沒理的話請PM

網友回覆5

跳到指定樓層
大大以前是否是 電機系 畢業答  8051!!! 好久的東西了
自從我畢業之後我就還給教授咧~~~~~
3#
e996046 2013-12-5 01:07 只看這個作者
霹靂燈很漂亮!只拍個影片就拆下真的好可惜!
多年前我也做過類似的東西~ 自製LED數字型檔位表1430
當時也是用微動開關裝在踏板那~
自製LED數字型檔位表6344
自製LED數字型檔位表6969
自製LED數字型檔位表7218
自製LED數字型檔位表3336
自製LED數字型檔位表8225
自製LED數字型檔位表4169
自製LED數字型檔位表2317
自製LED數字型檔位表3627
抱歉手上剩的資料就剩這些小圖了~
民國90年左右做的~ XD
右邊的數字是用成記算時間的~ A到B跑多久~
6#
gp1288 2013-12-12 01:39 只看這個作者
89S51和89S52因為有ISP所以覺得好用,但沒內建ADC和PWM腳總覺得使用上卡卡的。

最近有在想要不要買STC12C5A60S2這種改良型的51來玩玩,Flash有60kB(89S52才8kB)
號稱性能是傳統51的6~12倍,有內建8通道的ADC,有EEPROM,應該可以幫樓主省不少周邊。

ADC樓主要不要試試看用ADC0831這種串列通訊IC,比較省腳位。