{"id":11694,"date":"2004-07-14T17:39:00","date_gmt":"2004-07-14T13:39:00","guid":{"rendered":"https:\/\/icelord.net\/wordpress\/archives\/11694"},"modified":"2004-07-14T17:39:00","modified_gmt":"2004-07-14T13:39:00","slug":"jdm-honda-180kmh-speed-limiter-remover","status":"publish","type":"post","link":"https:\/\/icelord.net\/wordpress\/?p=11694","title":{"rendered":"JDM HONDA 180km\/h Speed Limiter remover"},"content":{"rendered":"<p>\u0445\u043c, \u0438 \u0437\u0430 \u042d\u0422\u041e \u0441 \u043b\u044e\u0434\u0435\u0439 \u0434\u0435\u0440\u0443\u0442 \u043f\u043e $200&#8230; \u0441\u0435\u0431\u0435\u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u043e\u0433\u043e 282\u0440\u0443\u0431 \u0432 \u0446\u0435\u043d\u0430\u0445 chip-and-dip \ud83d\ude42<\/p>\n<p><img src=https:\/\/icelord.net\/image\/vss.png \/><\/p>\n<p><!--more a \u0443\u0436 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0430\u0442\u043c\u0435\u043b\u0430:--><\/p>\n<pre>\r\n;------------------------------------------------------------------------------\r\n; Hondainfo's Speed Limit Defencer\r\n; AT89C4051 mikrokontroller assembly program\r\n; V1.2 2003.10.22\r\n;------------------------------------------------------------------------------\r\n\r\n$mod51\r\n\r\n;------------------------------------------------------------------------------\r\n; Theory:\r\n;\r\n; The VSS signal (measured data)\r\n; At 60 km\/h    Freq: 42 Hz\r\n; At 100 km\/h   Freq: 70 Hz\r\n; At 120 km\/h   Freq: 84 Hz\r\n; At 170 km\/h   Freq: 119 Hz\r\n; duty in all case:50%\r\n;\r\n; This program is a simple signal copy when the frequency of signal is below 119 Hz\r\n; Above 119Hz, the program switches to Virtual mode and sends Virtual\r\n; 119 Hz signals to ECU independ on Input signal frequency.\r\n;\r\n;------------------------------------------------------------------------------\r\n;------------------------------------------------------------------------------\r\n; Memory variables:\r\n;------------------------------------------------------------------------------\r\n; pin definition\r\nVSS_IN  EQU P3.7        ; Recieve VSS signal here\r\nVSS_OUT EQU P1.7        ; artifical VSS signal to ECU (0: transistor is closed, 1: transistor is opened, pull the signal to Gr\r\nVIRTUAL bit 001h        ; mode: =1 Virtual, =0 real signal output\r\nVSS_OLD bit 002h        ; altering of sampled signal\r\nCOUNTR  data 030h       ; Real Counter counts the time beetween two VSS signal\r\nCOUNTV  data 031h       ; Virtual counter for artifical VSS signal output\r\n;------------------------------------------------------------------------------\r\n; C\u043dmdeffinition, interrupt table\r\n;------------------------------------------------------------------------------\r\n  RESET code 00000h\r\n  org 0000h                                     ;starting here after Reset\r\n    ljmp kezdet\r\n  org 0003h\r\n    reti\r\n  org 000bh                                     ;Timer 0 interrupt\r\n    ljmp T0_int\r\n  org 0013h\r\n    reti\r\n  org 001bh\r\n    reti\r\n  org 0023h\r\n    reti\r\n  org 002bh\r\n    reti\r\n  org 30h\r\n;------------------------------------------------------------------------------\r\n;       22.1184 Mhz quartz\r\n;       Timer 0 interrupt aprox: 0,0434 ms time base for measuring milisecs\r\n;       - run 23040 times per a second\r\n;       time period: 43 us\r\n;       runing time max: 30 us\r\n;------------------------------------------------------------------------------\r\nT0_int:         PUSH PSW\r\n                mov TL0,#0B0h           ; software reload\r\n                mov TH0,#0FFh\r\n                mov TCON,#050h\r\n;*****MEASURING VSS SIGNAL\r\n                jb VSS_IN,Ti0           ; jump if no signal (1->0 edge)\r\n                jnb VSS_OLD,Ti0         ; jump if previous sample similar\r\n                mov a,#192d             ; there is signal, check the counter\r\n                clr c                   ; 192x0,0434ms=8,33msec (119 Hz)\r\n                subb A,COUNTR\r\n                cpl c                   ; If < = 8,33 msec then switch to virtual signal mode\r\n                mov VIRTUAL,c           ; If > 8.33 msec then switch to Real signal mode\r\n                mov COUNTR,#0ffh        ; Initial Real Counter\r\nTi0:            mov c,VSS_IN            ; sample altering\r\n                mov VSS_OLD,c\r\n                mov a,COUNTR\r\n                xrl a,#250d             ; increment Real Counter, but max: 250\r\n                jz Ti1\r\n                inc COUNTR\r\n;*****VIRTUAL COUNTER\r\nTi1:            mov a,COUNTV\r\n                xrl a,#192d             ; increment Virtual Counter 0-192 cycle\r\n                jnz Ti11\r\n                mov COUNTV,#0ffh\r\nTi11:           inc COUNTV\r\n;*****REAL MODE SIGNAL COPY\r\nTi2:            jb VIRTUAL,Ti3          ; jump if Virtual mode\r\n                mov c,VSS_IN            ; In Real Mode simple SIGNAL COPY\r\n                cpl c\r\n                mov VSS_OUT,c\r\n                sjmp Ti4\r\n;*****VIRTUAL MODE ARTIFICAL SIGNAL OUTPUT\r\nTi3:            mov a,#096d             ; Virtual signaling above 170 kph\r\n                clr c                   ; send 0 to output (pull to the ground)\r\n                subb A,COUNTV           ; when Virtual Counter < =96\r\n                cpl c                   ; send 1 to output (release)\r\n                mov VSS_OUT,c           ; when Virtual Counter >96\r\nTi4:            POP PSW\r\n                reti                    ; END OF INTERRUPT\r\n\r\n;------------------------------------------------------------------------------\r\n;Starting after Reset, int init\r\n;------------------------------------------------------------------------------\r\nkezdet:         clr VSS_OUT             ; init output\r\n                mov c,VSS_IN            ; first altering\r\n                mov VSS_OLD,c\r\n                mov COUNTR,#250d\r\n                mov COUNTV,#000d\r\n                clr VIRTUAL\r\n                mov TMOD,#021h          ; init timers T1 mode 2 (Auto Reload, Serial Port)\r\n                mov TL1,#0FFH           ; T0 mode 1 (16 bit timer, software reload, Interrupt)\r\n                mov TH1,#0FFH           ; serial port timing 9600 baud (use for testing)\r\n                mov TL0,#0B0h           ; 65536d-80d-t to the counter init\r\n                mov TH0,#0FFh           ;\r\n                mov SCON,#052H          ; serial port mode 1\r\n                mov TCON,#050h          ; Timer1 , Timer0 indul\r\n                mov IE,#092h            ; RI\/TI int enabled, T0 int enabled\r\nciklus:         sjmp ciklus\r\n\r\nend<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u0445\u043c, \u0438 \u0437\u0430 \u042d\u0422\u041e \u0441 \u043b\u044e\u0434\u0435\u0439 \u0434\u0435\u0440\u0443\u0442 \u043f\u043e $200&#8230; \u0441\u0435\u0431\u0435\u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u043e\u0433\u043e 282\u0440\u0443\u0431 \u0432 \u0446\u0435\u043d\u0430\u0445 chip-and-dip \ud83d\ude42<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11694","post","type-post","status-publish","format-standard","hentry","category-blog"],"views":615,"_links":{"self":[{"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11694","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11694"}],"version-history":[{"count":0,"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11694\/revisions"}],"wp:attachment":[{"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icelord.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}