Are there any four bit to hex display chips for seven seg displays?
There are none in the 4000 series so....any around?
There are none in the 4000 series so....any around?
The guy who said, "This chip needs to be fast, and low cost. We can omit hex, because very few people count hex."what retard in the electornics industry decided to make EVERY BLOODY seven seg decoder not use HEX....its the most bloody used thing!
It seems you started liking microcontrollers after you fixed all of your problems with the PICkit 3...I just made a PIC program where it can drive up to 16 seven seg diplays. It needs four IO ports (A to D) and you have the following:
Port A - 8 bit binary number
Port B - The address to save the number / the other four pins are control
Port C - The address selector ( selects which dispaly you want to drive)
Port D - The seven seg out
the trick is to split the 8 bit number into two four bit numbers and then save the first fourbit number into address (x) and the second number into address(x+1)
So when it displays the hex you get an 8 bit number into two hex displays
What do ya think...its also my first free product for the PIC18F45K20
I just made a PIC program where it can drive up to 16 seven seg diplays. It needs four IO ports (A to D) and you have the following:
Port A - 8 bit binary number
Port B - The address to save the number / the other four pins are control
Port C - The address selector ( selects which dispaly you want to drive)
Port D - The seven seg out
the trick is to split the 8 bit number into two four bit numbers and then save the first fourbit number into address (x) and the second number into address(x+1)
So when it displays the hex you get an 8 bit number into two hex displays
What do ya think...its also my first free product for the PIC18F45K20
;
; // psuedo C code program example
;
; char DigSel = 0; // digit select, 0 or 128
;
; char SegData [] = { 0b00111111, // "0" -|-|F|E|D|C|B|A
; 0b00000110, // "1" -|-|-|-|-|C|B|-
; 0b01011011, // "2" -|G|-|E|D|-|B|A
; 0b01001111, // "3" -|G|-|-|D|C|B|A
; 0b01100110, // "4" -|G|F|-|-|C|B|-
; 0b01101101, // "5" -|G|F|-|D|C|-|A
; 0b01111101, // "6" -|G|F|E|D|C|-|A
; 0b00000111, // "7" -|-|-|-|-|C|B|A
; 0b01111111, // "8" -|G|F|E|D|C|B|A
; 0b01101111, // "9" -|G|F|-|D|C|B|A
; 0b01110111, // "A" -|G|F|E|-|C|B|A
; 0b01111100, // "b" -|G|F|E|D|C|-|-
; 0b00111001, // "C" -|-|F|E|D|-|-|A
; 0b01011110, // "d" -|G|-|E|D|C|B|-
; 0b01111001, // "E" -|G|F|E|D|-|-|A
; 0b01110001 }; // "F" -|G|F|E|-|-|-|A
;
; void Main()
; { char temp = porta; // sample input
; CMCON = 7; // turn comparator off
; TRISA = 255; // Port A all inputs
; TRISB = 0; // Port B all outputs
; while(1) // loop forever
; { if(DigSel.b7) // if left (hi) digit
; temp /= 16; // use hi nibble, 0..15
; else // otherwise
; temp &= 15; // use lo nibble, 0..15
; temp = SegData[temp]; // get segment data
; temp |= DigSel; // pick up digit select bit
; PORTB = temp; // update display
; DelayUS(8000-23); // delay 8-msecs total
; DigSel ^= 128; // toggle digit select bit
; }
; }
;