Zclub討論區 Z板

 找回密码
 註冊
搜索
查看: 3464|回复: 1

[教學] 自製LED數字型轉速表

[复制链接]
发表于 2013-12-2 14:01:50 | 显示全部楼层 |阅读模式
本帖最後由 fzr_7 於 2013-12-2 14:07 編輯

有心想做卻發現有任何問題請直接用PM的,以免喇賽的很多還要慢慢看,我會把問題和回答補充在此文章最後面,假如願意到小老婆PM問我也很歡迎,因為我也有發到小老婆那裡

距上次回別人的文有2個星期以上,雖然我每天都有來,原因我也不想多說,只希望能指正別人錯誤請前先檢查清楚,不要沒檢查清楚就指正別人
被亂指正心情很不好,那麼為什麼還要發文,因為很久以前就想發,只是全部的電路圖刪掉了,懶得找繪製軟體,不久前才說要分享,所以就給它完成一下

請勿拿來商業用途


電路圖如下,8051請用89S51比較方便
7段顯示器請買高亮以免太陽一照看不清楚,圖片和實際接腳圖請自己GOOGLE
接地請跟電瓶的(-)負端接在一起
+5V請自己解決+12V轉+5V的問題
火星塞建議用帶R的不然可能會干擾到8051,例如FZR原廠型號是C7HSA。如多了R值(有電阻)則為CR7HSA
29001.jpg

以下是8051的組合語言程式,請自己處理成燒錄檔HEX,如何燒錄請自己GOOGLE
不要找我幫忙燒,網路上有簡單型的自製ISP燒錄器
貼上時有點沒對齊,請自己修正
為什麼不用C語言寫,沒辦法當初正修就是教組合語言,況且我覺得組合語言就很好寫,以前的DOS時代我也喜歡用組合語言

;轉速表(60s/幾s動一次=幾轉),兩個波形顯示一次,但只取一個計算
;訊號線接對的話不分單雙缸或四缸都不用修改就可以用
        ORG     00H
        JMP     START
START:  
        MOV     P2,#00000001B
        MOV     P0,#00000000B
        MOV        P3,#0FFH        ;十
        MOV        P1,#0C0H        ;個
        MOV        30H,#0        ;破100
        MOV        31H,#0        ;顯示
        MOV        32H,#0        ;最新
        MOV        20H,#0
        MOV        21H,#0
START1:
        JNB     P2.0,START1
WAIT:   
        MOV        A,20H
        CLR        C
        ADD        A,#1                ;11us=+1次
        MOV        20H,A
        MOV        A,21H
        ADDC        A,#0
        MOV        21H,A
        CJNE        A,#0D6H,WAIT1
        MOV        A,#0
        JMP        SSU0
WAIT1:
        JB        P2.0,WAIT
WAIT2:
        MOV        A,20H
        CLR        C
        ADD        A,#1                ;11us=+1次
        MOV        20H,A
        MOV        A,21H
        ADDC        A,#0
        MOV        21H,A
        CJNE        A,#0D6H,WAIT3
        MOV        A,#0
        JMP        SSU0
WAIT3:
        JNB     P2.0,WAIT2
WAIT4:
        MOV     22H,#012H        ;60s/100轉/11us
        MOV     23H,#0D5H
        MOV     24H,#0                ;餘數
        MOV     25H,#0
        MOV     26H,#0                ;商=幾百轉
        MOV     27H,#0
        MOV        R7,#10H
        CLR        A
LOOP:
        MOV        R0,#22H
        XCH        A,@R0
        RLC        A
        XCH        A,@R0
        INC        R0
        XCH        A,@R0
        RLC        A
        XCH        A,@R0
        MOV        R0,#24H
        MOV        A,@R0
        RLC        A
        MOV        @R0,A
        INC        R0
        MOV        A,@R0
        RLC        A
        MOV        @R0,A
        MOV        R3,24H
        MOV        R4,25H
        MOV        R2,#02H
        CLR        C
        MOV        R1,#20H
        MOV        R0,#24H
SUB3:
        MOV        A,@R0
        SUBB        A,@R1
        MOV        @R0,A
        INC        R0
        INC        R1
        DJNZ        R2,SUB3
        JNC        SKIP
        MOV        24H,R3
        MOV        25H,R4
SKIP:
        CPL        C
        MOV        R1,#26H
        XCH        A,@R1
        RLC        A
        XCH        A,@R1
        INC        R1
        XCH        A,@R1
        RLC        A
        XCH        A,@R1
        DJNZ        R7,LOOP
        MOV        A,26H
SSU0:
        MOV        32H,A
        CJNE        A,31H,SSU        ;新.顯示相同
        JMP        GON4
SSU:
        JNC        SSU2
        CLR        C
        MOV        A,31H
        SUBB        A,32H        
        DEC        31H                ;32H新<31H顯示
        JMP        GON0
SSU2:
        SUBB        A,31H
        INC        31H                ;32H新>31H顯示
GON0:
        MOV        A,31H
        CJNE        A,#100,GON1
GON1:
        JC        GON2
        CLR        C                ;顯示>100
        MOV        30H,#1
        SUBB        A,#100
        JMP        GON3
GON2:
        MOV        30H,#0
GON3:
        MOV        B,#10
        DIV        AB
        MOV        R5,A
        JNZ        GON31
        MOV        A,30H
        JNZ        GON31
        MOV        P3,#0FFH        ;十無顯示
        JMP        GON32
GON31:
        MOV        A,R5
        MOV        DPTR,#TABLE
        MOVC        A,@A+DPTR
        MOV        P3,A
GON32:
        MOV        A,B
        MOV        DPTR,#TABLE
        MOVC        A,@A+DPTR
        MOV        P1,A
        MOV        A,30H
        JZ        GON4
        CLR        P3.7
        JMP        GON4
GON4:
        MOV     20H,#0
        MOV     21H,#0
        JMP        START1        
TABLE:        DB        0C0H,0F9H,0A4H,0B0H,099H
        DB        092H,083H,0F8H,080H,098H
        END

功能說明
  • 化油器車應該都可以,噴射車不知道沒試過
  • 顯示是以每次加減1(100轉)為單位,不是抓多少顯示多少
  • 抓取時間為0.6秒(100轉)~0.003秒(19900轉),轉速越快抓取時間越短
  • 轉速顯示0~199(0轉~19900轉),沒做超過20000萬的顯示方式,所以超過萬轉位還是顯示1
  • 沒做超轉顯示,有需要的自己加入程式
  • 顯示速度太快請自己加延遲,這版本我沒加入,後面幾版本我都有加入,這版本要加入還需要實機測試,而且每個人喜好的速度不同,所以不加入

轉速訊號線接線,FZR是接W/R 白/紅線(可能W/L或W/Y都可以),其他車不知道,請自己找
29000.jpg

1是三相交流發電機
2是整流器
8是C.D.I元件
9和10是點火線圈

這是我第一個LED數字型轉速表的程式和電路,2008設計的,完全自製
後續還有16x2的文字型LCD液晶顯示轉速表,幫一位在機車行認識的學徒做的,在going 50上有試過,有最高轉顯示,以50轉為單位加減,有做顯示速度控制避免顯示變換太快有空再分享
還有128x64的繪圖型LCD液晶顯示轉速表,面板有點大,而且還加入檔位、時速、電壓、油溫、汽油量,2顆的我還加入目前里程和總里程,因為全部一起顯示而不是只有轉速所以就不分享

沒有實際影片,要看的話請參加我開團的元旦南橫一日遊,我車上的2顆128x64的繪圖型LCD液晶顯示上就可以看到,目前研發手機當儀表板中
後續會分享檔位、時速、電壓、油溫、汽油量、目前里程、總里程的設計上來

评分

13

查看全部评分

回复

使用道具 举报

发表于 2013-12-4 20:31:36 | 显示全部楼层
能幫忙弄個NSR的RC控制電路嗎? 謝謝
回复

使用道具 举报

Yahoo
您需要登录后才可以回帖 登录 | 註冊

本版积分规则

手機版|Archiver|Z板 Sitetag 訪客統計

GMT+8, 2024-3-29 03:57 , Processed in 0.113808 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表