does the TL866 program other PIC parts successfully? i ask because they had a massive problem with counterfeit ones ;so much so, they recalled all the stock from retailers and scrapped them.the ones on sale currently marked TL866 ES/A are ALL fakes and don't operate as they should.
Is the programmer set to 'verify' after 'program' ?
the problem with the original GCB file was the ports in use as clock and data to the 7 segment driver where the serial programming ports B6 & B7 clock and data...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
i've assembled the latest GCB code you posted flashed the hex and get this:- it looks like a working system
is the scope trace from the PIC's pins or the driver board end?
the TL866 works fine. i used it to programme the 90s8535 and it works perfectly.
with the 16f877a - i burned a programme to flash leds and again it worked perfectly.
When the 6 digit display programme is burned and run the display remains blank.
I have probed the pins on the ic and on the display - no difference.
When you see the oscilloscope waveforms - you can clearly see the display is getting the data. But nothing on the display.
So looking for the wave form getting to the display is not enough.
If anyone else has TM 1637 display - please give it a try with any microchip ic.
I also tried 16f628a with same result.
when i burned a programme to flash leds - it worked fine.
So its not the programmer or how i am burning the chips or wiring up the breadboard.
thx everyone - appreciate the help
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
here is a video showing the traces on the TM1637.
The yellow trace is the clock and the green trace is data
This is the 16f877a with 4MHz crystal
There is nothing connected to the circuit except the IC, crystal with caps and the TM1637 display
Hope this helps
Also - i changed the programme to use the 4 digit library - on the assumption if it worked, maybe the digits would not display correctly.
And its the same result - nothing on the display.
Oscilloscope shows similar activity on the pins of the IC and also the display
Again - i hope this helps.
So here is the summary - i can get the display to work with 90s8535 and atmega328p.
But not on microchip 16f877a or 16f628a
Feels like i am missing something simple but i'm stuffed if i can find it
Thx everyone
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
i can't get any sort of reliable scope capture it's VERY hit and miss; maybe 4Mhz is too slow a clock for reliable operation? the engrish datasheet is terrible....there doesn't seem to be any speed ratings even mentioned; did my 'new' simplified version using portD for 16F877A@4Mhz work at all?
though i can get a relaiable trace using a logic analyser.;0)
Last edit: HackInBlack 2025-05-17
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thats what i did." Basic" programme worked on 90s8535 and arduino uno - hence the additions with this programme.
If you look at the history of this thread you will see that the "basic" programme was tried many times on 16f688a and did not work no matter what. (or 16f628a) (but did on 90s8535 and arduino)
Also - what is clear is that even when the signals are getting to and from the IC to the TM1637 - it doesn't mean the display is going to work.
Also - i did try with 8MHz crystal and the result was the same.
Thanks for taking the time to help - really appreciated. I've spent hours on this to try and get it working. Good for the brain but it would be good to get it solved as i have a preference for the Microchip IC's - probably because i have collected a few over the years.
And to be honest - we should only have to change to chip and port definitions and it should work across platforms. (obviously after adapting the circuit to suit the different pinouts)
This is why i like GCBasic - i start off with the smallest IC to get started. And when i need to move to a larger IC, i only have to make a few changes.
as ever - happy to try anything - many thanks
Alan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yup. The fishy waveforms (resolved by removing the input capacitors) indicates the same problem as discussed here.
I measured the ones on my 4-digit boards in circuit and they are less than 1nF. I wonder about Alans board. The PIC not working with the display may be weaker, not managing to push through, combined with weaker pullups?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
this looks promising so i will give it go when i get back home. We are having bad weather in Sydney at the minute so i escaped to my sisters place in Queensland. Just love the blue skies .
I am ok at working with smd stuff so I will give it a bash.
It's still odd that the display works with Atmel controllers. Any wise insight as to why that might be the case?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's weird that it is only the data that is slow (and only on some changes). This differs from https://www.picprojects.org/archives/347 where both signals are slow. It may be a one directional problem? Still worth measuring those capacitors to rule them out.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Aaaaaaaaaaaaaaaarrrrrrrrrrrrrrgggggggggghh
That fixed it. I removed the caps and the display now works with the 16f877a
I was convinced it was a software problem because the code works with an Atmel chip.
So i was going down the wrong rabbithole.
I will measure the caps tomorrow and will play with different values when my Aliexpress package turns up with the right size caps
So many thanks for the link HackInBlack really appreciated for link you sent
Also thanks to all that responded to this problem - great support from you guys
All the best
Alan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is this will the programmer attached?
Are you using the programmer ports?
the programmer is not attached. I use TL866 separately and then put the 16f866a into the circuit.
does the TL866 program other PIC parts successfully? i ask because they had a massive problem with counterfeit ones ;so much so, they recalled all the stock from retailers and scrapped them.the ones on sale currently marked TL866 ES/A are ALL fakes and don't operate as they should.
Is the programmer set to 'verify' after 'program' ?
the problem with the original GCB file was the ports in use as clock and data to the 7 segment driver where the serial programming ports B6 & B7 clock and data...
i've assembled the latest GCB code you posted flashed the hex and get this:- it looks like a working system
is the scope trace from the PIC's pins or the driver board end?
Last edit: HackInBlack 2025-05-16
the TL866 works fine. i used it to programme the 90s8535 and it works perfectly.
with the 16f877a - i burned a programme to flash leds and again it worked perfectly.
When the 6 digit display programme is burned and run the display remains blank.
I have probed the pins on the ic and on the display - no difference.
When you see the oscilloscope waveforms - you can clearly see the display is getting the data. But nothing on the display.
So looking for the wave form getting to the display is not enough.
If anyone else has TM 1637 display - please give it a try with any microchip ic.
I also tried 16f628a with same result.
when i burned a programme to flash leds - it worked fine.
So its not the programmer or how i am burning the chips or wiring up the breadboard.
thx everyone - appreciate the help
here is a video showing the traces on the TM1637.
The yellow trace is the clock and the green trace is data
This is the 16f877a with 4MHz crystal
There is nothing connected to the circuit except the IC, crystal with caps and the TM1637 display
Hope this helps
Also - i changed the programme to use the 4 digit library - on the assumption if it worked, maybe the digits would not display correctly.
And its the same result - nothing on the display.
Oscilloscope shows similar activity on the pins of the IC and also the display
Again - i hope this helps.
So here is the summary - i can get the display to work with 90s8535 and atmega328p.
But not on microchip 16f877a or 16f628a
Feels like i am missing something simple but i'm stuffed if i can find it
Thx everyone
i can't get any sort of reliable scope capture it's VERY hit and miss; maybe 4Mhz is too slow a clock for reliable operation? the engrish datasheet is terrible....there doesn't seem to be any speed ratings even mentioned; did my 'new' simplified version using portD for 16F877A@4Mhz work at all?
though i can get a relaiable trace using a logic analyser.;0)
Last edit: HackInBlack 2025-05-17
as always first try a very barebones program and when, and only when, it functions then add complexity
Thats what i did." Basic" programme worked on 90s8535 and arduino uno - hence the additions with this programme.
If you look at the history of this thread you will see that the "basic" programme was tried many times on 16f688a and did not work no matter what. (or 16f628a) (but did on 90s8535 and arduino)
Also - what is clear is that even when the signals are getting to and from the IC to the TM1637 - it doesn't mean the display is going to work.
Also - i did try with 8MHz crystal and the result was the same.
Thanks for taking the time to help - really appreciated. I've spent hours on this to try and get it working. Good for the brain but it would be good to get it solved as i have a preference for the Microchip IC's - probably because i have collected a few over the years.
And to be honest - we should only have to change to chip and port definitions and it should work across platforms. (obviously after adapting the circuit to suit the different pinouts)
This is why i like GCBasic - i start off with the smallest IC to get started. And when i need to move to a larger IC, i only have to make a few changes.
as ever - happy to try anything - many thanks
Alan
apart from the dreadful 'datasheet' this is all i could find that was useful:-
https://www.picprojects.org/archives/347
Yup. The fishy waveforms (resolved by removing the input capacitors) indicates the same problem as discussed here.
I measured the ones on my 4-digit boards in circuit and they are less than 1nF. I wonder about Alans board. The PIC not working with the display may be weaker, not managing to push through, combined with weaker pullups?
this looks promising so i will give it go when i get back home. We are having bad weather in Sydney at the minute so i escaped to my sisters place in Queensland. Just love the blue skies .
I am ok at working with smd stuff so I will give it a bash.
It's still odd that the display works with Atmel controllers. Any wise insight as to why that might be the case?
It's weird that it is only the data that is slow (and only on some changes). This differs from https://www.picprojects.org/archives/347 where both signals are slow. It may be a one directional problem? Still worth measuring those capacitors to rule them out.
Aaaaaaaaaaaaaaaarrrrrrrrrrrrrrgggggggggghh
That fixed it. I removed the caps and the display now works with the 16f877a
I was convinced it was a software problem because the code works with an Atmel chip.
So i was going down the wrong rabbithole.
I will measure the caps tomorrow and will play with different values when my Aliexpress package turns up with the right size caps
So many thanks for the link HackInBlack really appreciated for link you sent
Also thanks to all that responded to this problem - great support from you guys
All the best
Alan
my caps were 10nF.
I will replace when Aliexpress delivers my capacitor kit
my caps were 10nF.
I will replace when Aliexpress delivers my capacitor kit
here's what the schematic values are.
they must have plonked the wrong reel on the machine!
As I wrote on page 2, this seems to have happened with the 4-digit display as well.
Sorry - i overlooked that cos i had convinced myself it was a software issue.
Must remember to remove my blinkers :-)