I intend to build a voltmeter that displays using four seven-segment displays.
I need this to fit in a small space so I want to use a small PIC say 16f84 and because of the pin requirements (Considering ADC and other areas) I may not be able to have enough pins from the microcontroller.
I checked out options and I saw that I could either multiplex, use a shift register like the IC 595 (not chip full name) or use a complete solution like the Max 7219 display driver. My best best would be using the Max chip.
My question is this.
Does GCB support these options?
I checked and saw that the Max chip is used in GCB but only for matrix LED solutions.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Peter, If you open up the gcb IDE, there is an icon called 'view demos' (just to the right of the cow with a ? ' if you press this icon it will show a sub-window with 7segment solutions and many more ! There might be something there that will help you.
cheers.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you Geoffrey. I already went through that but the demos I saw using the MAX7219 were for LED solutions. For the seven segment, it used them directly thus requiring many pins
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have just been working on a driver for the Max7219 for 7 segment disps. This isn't quite all cleaned up but the files are attached. This was an eight digit display module from china. It does bytes, words, int, longs and strings with the 'print'. It also has a built in segment decoder but those routines are not quite working.You don't need them unless you would want the code to be small.
Another module you could consider is the TM1637 which is also on the china market as a 4 digit diplay and the driver is in the includes already.
Another board that includes pushbuttons and 7seg leds is the TM1638. I threw that into the contributors form a while back.
Each of these communicate with spi (data,clk,cs) but each uses a different layout and protocol.
Thanks Mmotte. Sorry for responding to this late also.
I went through demos (Is that what you meant by includes?) but I did not see anything about the TM1637. Using these header and demo files for the Max you sent, I ran a Proteus simulation but there was no output to be seen. Could you take a look for me?
Pete,
The "include"s is the library directory under the greatcowbasic directory . In the 'include' directory you will find TM1637. h file . Near the top of that file , you will find"public Commands" which are how to uses it.
also in your program you will need "#include <tm1637.h>" to attach the library.</tm1637.h>
I don't see a demo in the demo directory but could send you one when i am at the my other PC.
I don't have proteus ??
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you want an example using the 74HC595, I could let you have some. Needless to say, my preferred option is the '595!
The '595 can be driven with a 12F1840 (or 12F675) minimising the pin count of the processor. The '595 chips can be mounted behind (or even underneath) each of the seven segment displays.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think a 16F84 might be be a rather poor choice given today's more modern options.
CHIP: 16F84A (16F84 is "deprecated" and no longer Active)
1.75KB Program memory
68 Bytes RAM
64 Bytes EEPROM
No Internal OSC (needs crystal)
No CCP/PWM
1 Timer
No ADC
No SPI/I2C
No USART
Cost ~$4 US
Maybe Consider a PIC 16F1847
CHIP: 16F1847
18 Pins
14Kb Program Memory
1024 Bytes RAM
256 Bytes EEPROM
Internal OSC up to 32Mhz
(4) 8-Bit Timers
(1) 16-Bit Timer
12 ADC Channels
(4) CCP/PWM Modules
1 USART
1 SPI/I2C Module
Cost ~ $1.81 US
The 16F1847 is much more flexible and is just a better chip all around and costs 1/2 as much as a 16F84A
Last edit: William Roth 2021-03-16
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello all.
I intend to build a voltmeter that displays using four seven-segment displays.
I need this to fit in a small space so I want to use a small PIC say 16f84 and because of the pin requirements (Considering ADC and other areas) I may not be able to have enough pins from the microcontroller.
I checked out options and I saw that I could either multiplex, use a shift register like the IC 595 (not chip full name) or use a complete solution like the Max 7219 display driver. My best best would be using the Max chip.
My question is this.
Does GCB support these options?
I checked and saw that the Max chip is used in GCB but only for matrix LED solutions.
Hi Peter, If you open up the gcb IDE, there is an icon called 'view demos' (just to the right of the cow with a ? ' if you press this icon it will show a sub-window with 7segment solutions and many more ! There might be something there that will help you.
cheers.
Thank you Geoffrey. I already went through that but the demos I saw using the MAX7219 were for LED solutions. For the seven segment, it used them directly thus requiring many pins
I have just been working on a driver for the Max7219 for 7 segment disps. This isn't quite all cleaned up but the files are attached. This was an eight digit display module from china. It does bytes, words, int, longs and strings with the 'print'. It also has a built in segment decoder but those routines are not quite working.You don't need them unless you would want the code to be small.
Another module you could consider is the TM1637 which is also on the china market as a 4 digit diplay and the driver is in the includes already.
Another board that includes pushbuttons and 7seg leds is the TM1638. I threw that into the contributors form a while back.
Each of these communicate with spi (data,clk,cs) but each uses a different layout and protocol.
GL
Mike
Thanks Mmotte. Sorry for responding to this late also.
I went through demos (Is that what you meant by includes?) but I did not see anything about the TM1637. Using these header and demo files for the Max you sent, I ran a Proteus simulation but there was no output to be seen. Could you take a look for me?
Pete,
The "include"s is the library directory under the greatcowbasic directory . In the 'include' directory you will find TM1637. h file . Near the top of that file , you will find"public Commands" which are how to uses it.
also in your program you will need "#include <tm1637.h>" to attach the library.</tm1637.h>
I don't see a demo in the demo directory but could send you one when i am at the my other PC.
I don't have proteus ??
Here is a simple demo of TM1637.
And here is another attached
If you want an example using the 74HC595, I could let you have some. Needless to say, my preferred option is the '595!
The '595 can be driven with a 12F1840 (or 12F675) minimising the pin count of the processor. The '595 chips can be mounted behind (or even underneath) each of the seven segment displays.
I think a 16F84 might be be a rather poor choice given today's more modern options.
CHIP: 16F84A (16F84 is "deprecated" and no longer Active)
1.75KB Program memory
68 Bytes RAM
64 Bytes EEPROM
No Internal OSC (needs crystal)
No CCP/PWM
1 Timer
No ADC
No SPI/I2C
No USART
Cost ~$4 US
Maybe Consider a PIC 16F1847
CHIP: 16F1847
18 Pins
14Kb Program Memory
1024 Bytes RAM
256 Bytes EEPROM
Internal OSC up to 32Mhz
(4) 8-Bit Timers
(1) 16-Bit Timer
12 ADC Channels
(4) CCP/PWM Modules
1 USART
1 SPI/I2C Module
Cost ~ $1.81 US
The 16F1847 is much more flexible and is just a better chip all around and costs 1/2 as much as a 16F84A
Last edit: William Roth 2021-03-16