Gear Shift Indicator (A/T) - Circuit in progress
#1
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Gear Shift Indicator (A/T) - Circuit in progress
Been meaning to do this for a while. Primarily so I can switch over to a 4th gen console. The indicator is the main reason I had not already (dont like not seeing what gear Im in - or others that drive it).
So far came up with a single chip solution. Been like 10 years since programmed in assembly language but its not too bad to remember. Anyway, Ive still got to do a few things like optimize the code so that the lights are equal, maximize brightness (I think, although I dont want it too bright for night time either), and probably the toughest part integrate with the shifter. Im going to try some reed switches and hall effect switches which are both non-contact and energized by a magnet.
Here's the first shot at the prototype:
http://www.youtube.com/watch?v=S2a5xVFVrcc
I realize its technically O/D-D-2-1, but trying to make an O/D was looking kindof hokie. Plus, anybody else who drives it only cares about being in D, and I drive it in O/D all the time anyway. May also make the 3 & 2 less curly looking gotta try it out.
Any suggestions welcome...
So far came up with a single chip solution. Been like 10 years since programmed in assembly language but its not too bad to remember. Anyway, Ive still got to do a few things like optimize the code so that the lights are equal, maximize brightness (I think, although I dont want it too bright for night time either), and probably the toughest part integrate with the shifter. Im going to try some reed switches and hall effect switches which are both non-contact and energized by a magnet.
Here's the first shot at the prototype:
http://www.youtube.com/watch?v=S2a5xVFVrcc
I realize its technically O/D-D-2-1, but trying to make an O/D was looking kindof hokie. Plus, anybody else who drives it only cares about being in D, and I drive it in O/D all the time anyway. May also make the 3 & 2 less curly looking gotta try it out.
Any suggestions welcome...
#2
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Im loving these hall effect switches. Nice and tiny little size, so should be easier to mount on shifter than oblong reed switch. Also completely solid state, no moving parts like a reed switch. With the small magnet I have it may be just about the right energizing distance. Only drawback is costs just a bit more.
Demo:
http://www.youtube.com/watch?v=QaNi_JuZCe4
Demo:
http://www.youtube.com/watch?v=QaNi_JuZCe4
#4
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Added some transistors to max out the brightness, its really surprisingly bright, which will be nice in sunlight but I think way to much at night. So I also added a night mode which will connect to the dash lights. When the lights are turned on, it will dim the gear indicator display.
http://www.youtube.com/watch?v=_SrEqjjpN5o
http://www.youtube.com/watch?v=_SrEqjjpN5o
Trending Topics
#8
Supreme Member
Join Date: Jan 2001
Location: St Catharines, ON
Posts: 2,412
Likes: 0
Received 0 Likes
on
0 Posts
Car: '85 Z28
Engine: 350
Transmission: T5
Axle/Gears: 3.23
Re: Gear Shift Indicator (A/T) - Circuit in progress
Nice work! Can't wait to see the final product. What chip are you programming? I made something similar, only for my 5 speed manual. I programmed in assembly language as well
#9
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Using the PIC16F57.. having figured out the paging of the program memory (with subroutines), but luckily so far everything has fit on page 0. i'd probably have to move to an 18F if my code got larger - no pages. but at least for now the 16F is adequate, and quite cheap. Working on the PCB now...
#10
Supreme Member
Join Date: Jan 2001
Location: St Catharines, ON
Posts: 2,412
Likes: 0
Received 0 Likes
on
0 Posts
Car: '85 Z28
Engine: 350
Transmission: T5
Axle/Gears: 3.23
Re: Gear Shift Indicator (A/T) - Circuit in progress
Using the PIC16F57.. having figured out the paging of the program memory (with subroutines), but luckily so far everything has fit on page 0. i'd probably have to move to an 18F if my code got larger - no pages. but at least for now the 16F is adequate, and quite cheap. Working on the PCB now...
#11
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Nope, using Eagle to design it, then sending it to BatchPCB. Ive used the service before and its pretty awesome to receive a professional looking board that you designed yourself. Costs more than say a proto board but I feel its worth it in decreased troubleshooting and board size.
#12
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Got around to mounting all the sensors. Sure hope I marked the positions right it will be a PITA to move them. Almost got the whole shifter at the scrap yard but didnt feel like paying for it. Anyway seems to work pretty well. Tough to see the LED in the vid but they are showing correctly.
http://www.youtube.com/watch?v=2pbT5LUs-dY
http://www.youtube.com/watch?v=2pbT5LUs-dY
#13
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Received PCB and soldered components. Fits nicely into project case. Just have to make holes and solder in sensors and display. Pic below.
#14
Junior Member
Join Date: Oct 2006
Location: Orlando, FL
Posts: 44
Likes: 0
Received 0 Likes
on
0 Posts
Car: '91 Camaro RS
Engine: Carbed 350
Transmission: 700R4
Axle/Gears: 3.23
Re: Gear Shift Indicator (A/T) - Circuit in progress
Awesome work! I can't wait to see it in the car! Is that a PIC18 or PIC16 series that you used? Would you be willing to post the schematic and parts list sometime?
#16
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Assembled today.. I probably could have made a board for the display LED, for easier soldering and for mounting. We will see how I can figure out how to mount it. Could still make a board. Now I just have to locate a console!
http://www.youtube.com/watch?v=wwlfndPkgfE
http://www.youtube.com/watch?v=wwlfndPkgfE
#17
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Finally won a console on ebay lol. Luckily enough it was the type with the TCS switch so I used that to create the display area. Glued in the LED behind a piece of red CD case. I think it will look pretty good. Pics attached.
#18
Supreme Member
iTrader: (4)
Join Date: Mar 2009
Location: Pepperell, MA
Posts: 3,079
Likes: 0
Received 3 Likes
on
3 Posts
Car: 1987 Trans Am
Engine: LQ9/L92
Transmission: 4L60E
Re: Gear Shift Indicator (A/T) - Circuit in progress
definitely subscribing to this one! got a 4th gen manual console and it would definitely would be nice to know what gear I'm in with my auto....
#19
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
I had to move all the hall sensors down, and therefore stagger one on top and one on bottom to get enough spacing. I also had to cut the magnet in half. Then you have one half on top and one half on bottom. Pic attached. This does not show but also added some hot glue as insulation to cover these bare wires. Thinner stranded wires would have helped.
Youve also got to remove the front right post on the console that hold the top part on. There is just not much room on that side.
Youve also got to remove the front right post on the console that hold the top part on. There is just not much room on that side.
#20
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
And here is the installed video link. Enjoy It was hard to focus the bright LED but I think you can make it out. 1st gear also takes some convincing but for the once every 5 years I use that gear its not worth my trouble to fix it.
I had some flakey performance this morning, with a few LED lines going away. But this afternoon it worked fine. I hadnt run the car in 3-4 weeks so maybe the alternator was giving out junk power. It could probably use more power conditioning stuff. I got a D in power electronics course in college So I will monitor this for a bit and see if I have any more issues. But Im happy with the progress so far! If all is good I will post details.
http://www.youtube.com/watch?v=Uj6IrWcVmtY
I had some flakey performance this morning, with a few LED lines going away. But this afternoon it worked fine. I hadnt run the car in 3-4 weeks so maybe the alternator was giving out junk power. It could probably use more power conditioning stuff. I got a D in power electronics course in college So I will monitor this for a bit and see if I have any more issues. But Im happy with the progress so far! If all is good I will post details.
http://www.youtube.com/watch?v=Uj6IrWcVmtY
#22
Supreme Member
iTrader: (10)
Join Date: Oct 2007
Location: Fl.
Posts: 1,881
Likes: 0
Received 2 Likes
on
2 Posts
Car: 83 Trans Am / 96 Jeep XJ
Engine: 355 / 4.0 I6
Transmission: TH350 / Auto
Axle/Gears: 3.23 10-bolt / 4wd
Re: Gear Shift Indicator (A/T) - Circuit in progress
That is seriously cool.
Awesome job!
Awesome job!
#23
Supreme Member
iTrader: (1)
Join Date: Feb 2000
Location: Norfolk, VA. USA
Posts: 7,964
Likes: 0
Received 3 Likes
on
3 Posts
Car: 86 Trans Am, 88 Formula
Engine: 95LT4, 305TPI
Transmission: T56, T5
Re: Gear Shift Indicator (A/T) - Circuit in progress
why is your shifter so stiff? when my car was an auto, shifting through the gears was effortless.
otherwise that is pretty sweet.
otherwise that is pretty sweet.
#25
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
I put in an additional voltage regulator, with capacitors as noted in the spec sheet, and it looks better no more hiccups recently. I'll monitor it for a couple more weeks and if its fine will post back with the circuit and code.
Mental note: read spec sheets!
Mental note: read spec sheets!
#26
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
It's been running just fine lately.
Here is the link to buy the board I designed. I have not tried this exact one, but it is identical except for I did include the two capacitors for the voltage regulator, and cleaned up a few of the traces.
http://www.batchpcb.com/index.php/Products/42592
I'll post the parts list and PIC code when I get home tonight.
Here is the link to buy the board I designed. I have not tried this exact one, but it is identical except for I did include the two capacitors for the voltage regulator, and cleaned up a few of the traces.
http://www.batchpcb.com/index.php/Products/42592
I'll post the parts list and PIC code when I get home tonight.
#27
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
Circuit diagram and parts list. You will of course need a means of programming the PIC processor. There are a variety of options on the market.
#28
Senior Member
Thread Starter
Join Date: Nov 2002
Location: Orange County, CA
Posts: 647
Likes: 0
Received 1 Like
on
1 Post
Car: 86 TA
Engine: 305 TPI
Transmission: 700R4 - 2200 stall
Axle/Gears: 3.42 posi
Re: Gear Shift Indicator (A/T) - Circuit in progress
; CODE
list p=16F57 ; list directive to define processor
#include <p16f5x.inc> ; processor specific variable definitions
__CONFIG _CP_OFF & _WDT_OFF & _HS_OSC
; '__CONFIG' directive is used to embed configuration word within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.
;***** VARIABLE DEFINITIONS
;temp EQU 0x10 ;example variable definition
d1 EQU 0x10
d2 EQU d1+1
;**********************************************************************
ORG 0x7FF ; processor reset vector
errorlevel -306 ; supress page boundary message
goto Start
errorlevel +306 ; enable page boundary message
ORG 0x000
Start
; Initialize ports
movlw 0xFF ;set output to all high
movwf PORTA
movwf PORTB
movlw 0x00 ;set ports A and B to output
tris PORTA
tris PORTB
clrf PORTC ;reset portc
movlw 0xFF ;set port C to input
tris PORTC
; Main Loop
Loop
call BlankA
; bcf STATUS, 2
movlw b'10111111'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Park
; btfss PORTC, 6 ; Test for Park switch
; call Park
movlw b'11011111'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Reverse
; btfss PORTC, 5 ; Test for Reverse switch
; call Reverse
movlw b'11101111'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Neutral
; btfss PORTC, 4 ; Test for Neutral switch
; call Neutral
; btfss PORTC, 3 ; Test for Drive switch
; call Drive
movlw b'11110111'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Drive
movlw b'11111011'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Three
; btfss PORTC, 2 ; Test for Three switch
; call Three
movlw b'11111101'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Two
; btfss PORTC, 1 ; Test for Two switch
; call Two
movlw b'11111110'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call One
; btfss PORTC, 0 ; Test for One switch
; call One
GOTO Loop
GOTO Start ; Repeat the whole thing.
;--------------------------------------------------------------------------
;Blank
; ;Blank entire display
; movlw 0x00
; movwf PORTB
BlankA
movlw 0x00
movwf PORTA
retlw 0
;---------------------------------------------------------------------------
; Actual delay = 0.001 seconds = 5000 cycles
delay
;4993 cycles
movlw 0xE6
movwf d1
movlw 0x04
movwf d2
goto Delay_0
; Actual delay = 0.002 seconds = 10000 cycles
delay2
;9993 cycles
movlw 0xCE
movwf d1
movlw 0x08
movwf d2
Delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto Delay_0
;3 cycles
goto $+1
nop
;4 cycles (including call)
retlw 0
;--------------------------------------------------------------------------
Park
;Column 1
call BlankA
movlw b'00000001'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
call delay
call delay
;Column 2
call BlankA
movlw b'01101110'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01101110'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'01101110'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'10011110'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
Reverse
;Column 1
call BlankA
movlw b'00000001'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
call delay
call delay
;Column 2
call BlankA
movlw b'01101110'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01100110'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'01101010'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'10011100'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
Neutral
;Column 1
call BlankA
movlw b'00000001'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
call delay
call delay
;Column 2
call BlankA
movlw b'11011110'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'11101110'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'11110110'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'00000000'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
call delay
call delay
retlw 0
;--------------------------------------------------------------------------
Drive
;Column 1
call BlankA
movlw b'00000001'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
call delay
call delay
;Column 2
call BlankA
movlw b'01111100'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01111100'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'10111010'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'11000110'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
Three
;Column 1
call BlankA
movlw b'10111011'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
;Column 2
call BlankA
movlw b'01111100'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01101100'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'01101100'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'10010010'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
Two
;Column 1
call BlankA
movlw b'10111101'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
;Column 2
call BlankA
movlw b'01111000'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01110100'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'01101100'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'10011100'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
One
;Column 1
call BlankA
movlw b'11111111'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
;Column 2
call BlankA
movlw b'10111100'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'00000000'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
call delay
call delay
;Column 4
call BlankA
movlw b'11111100'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'11111110'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
END ; directive 'end of program'
list p=16F57 ; list directive to define processor
#include <p16f5x.inc> ; processor specific variable definitions
__CONFIG _CP_OFF & _WDT_OFF & _HS_OSC
; '__CONFIG' directive is used to embed configuration word within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.
;***** VARIABLE DEFINITIONS
;temp EQU 0x10 ;example variable definition
d1 EQU 0x10
d2 EQU d1+1
;**********************************************************************
ORG 0x7FF ; processor reset vector
errorlevel -306 ; supress page boundary message
goto Start
errorlevel +306 ; enable page boundary message
ORG 0x000
Start
; Initialize ports
movlw 0xFF ;set output to all high
movwf PORTA
movwf PORTB
movlw 0x00 ;set ports A and B to output
tris PORTA
tris PORTB
clrf PORTC ;reset portc
movlw 0xFF ;set port C to input
tris PORTC
; Main Loop
Loop
call BlankA
; bcf STATUS, 2
movlw b'10111111'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Park
; btfss PORTC, 6 ; Test for Park switch
; call Park
movlw b'11011111'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Reverse
; btfss PORTC, 5 ; Test for Reverse switch
; call Reverse
movlw b'11101111'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Neutral
; btfss PORTC, 4 ; Test for Neutral switch
; call Neutral
; btfss PORTC, 3 ; Test for Drive switch
; call Drive
movlw b'11110111'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Drive
movlw b'11111011'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Three
; btfss PORTC, 2 ; Test for Three switch
; call Three
movlw b'11111101'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call Two
; btfss PORTC, 1 ; Test for Two switch
; call Two
movlw b'11111110'
subwf PORTC
btfsc STATUS, 2 ; Test for Two switch
call One
; btfss PORTC, 0 ; Test for One switch
; call One
GOTO Loop
GOTO Start ; Repeat the whole thing.
;--------------------------------------------------------------------------
;Blank
; ;Blank entire display
; movlw 0x00
; movwf PORTB
BlankA
movlw 0x00
movwf PORTA
retlw 0
;---------------------------------------------------------------------------
; Actual delay = 0.001 seconds = 5000 cycles
delay
;4993 cycles
movlw 0xE6
movwf d1
movlw 0x04
movwf d2
goto Delay_0
; Actual delay = 0.002 seconds = 10000 cycles
delay2
;9993 cycles
movlw 0xCE
movwf d1
movlw 0x08
movwf d2
Delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto Delay_0
;3 cycles
goto $+1
nop
;4 cycles (including call)
retlw 0
;--------------------------------------------------------------------------
Park
;Column 1
call BlankA
movlw b'00000001'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
call delay
call delay
;Column 2
call BlankA
movlw b'01101110'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01101110'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'01101110'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'10011110'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
Reverse
;Column 1
call BlankA
movlw b'00000001'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
call delay
call delay
;Column 2
call BlankA
movlw b'01101110'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01100110'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'01101010'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'10011100'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
Neutral
;Column 1
call BlankA
movlw b'00000001'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
call delay
call delay
;Column 2
call BlankA
movlw b'11011110'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'11101110'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'11110110'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'00000000'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
call delay
call delay
retlw 0
;--------------------------------------------------------------------------
Drive
;Column 1
call BlankA
movlw b'00000001'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
call delay
call delay
;Column 2
call BlankA
movlw b'01111100'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01111100'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'10111010'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'11000110'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
Three
;Column 1
call BlankA
movlw b'10111011'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
;Column 2
call BlankA
movlw b'01111100'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01101100'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'01101100'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'10010010'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
Two
;Column 1
call BlankA
movlw b'10111101'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
;Column 2
call BlankA
movlw b'01111000'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'01110100'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
;Column 4
call BlankA
movlw b'01101100'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'10011100'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
;--------------------------------------------------------------------------
One
;Column 1
call BlankA
movlw b'11111111'
movwf PORTB
movlw b'11110000'
movwf PORTA
call delay
;Column 2
call BlankA
movlw b'10111100'
movwf PORTB
movlw b'11111000'
movwf PORTA
call delay
;Column 3
call BlankA
movlw b'00000000'
movwf PORTB
movlw b'11110100'
movwf PORTA
call delay
call delay
call delay
;Column 4
call BlankA
movlw b'11111100'
movwf PORTB
movlw b'11110010'
movwf PORTA
call delay
;Column 5
call BlankA
movlw b'11111110'
movwf PORTB
movlw b'11110001'
movwf PORTA
call delay
retlw 0
END ; directive 'end of program'
#29
Member
iTrader: (1)
Join Date: Jun 2008
Location: Waterloo, Iowa
Posts: 159
Likes: 0
Received 0 Likes
on
0 Posts
Car: 1987 Pontiac Trans AM GTA
Engine: 5.7 LTR
Transmission: Automatic
Re: Gear Shift Indicator (A/T) - Circuit in progress
This is so cool. I wish I could have one made for me. They would be to much of a demand for it probably.
Thread
Thread Starter
Forum
Replies
Last Post
someone972
Transmissions and Drivetrain
6
08-30-2015 12:52 AM