Last night, while programming the LogoChip A6276 interface, I started to become concerned about having enough LogoChip pins to connect to everything I want to wire up to make the clock work. So I just did a quick sanity check to see whether I’ll have enough pins, or whether I need to double up digits together.
Here are the LogoChip pins:
|A0 – A2|
|A3 – A5 ?|
|B0 – B7|
|C6 – C7|
I’m not sure whether A3 – A5 are available or not. They’re ghosted (grey) on the LogoChip sticker, and I’m not sure why. But because of that, I think I didn’t provide sockets for them on my Curiously Strong LogoChip, which may pose challenges while prototyping. Additionally, A0 – A2 didn’t work for driving the 6276, so maybe not even all of the available pins will work.
Anyway, here’s a tentative pin assignment.
|Chip||Lines||Count||Possible LogoChip Lines|
|A6276 LED driver||serial data in
latch (each character)
|A0 – A1 (didn’t work)
or B0 – B1
B0/2 – B8
|Dallas clock chip||data
|2-3||A0 – A2 (didn’t work for A6276)|
|PC serial port?||TD
|2||C6 – C7|
[Ewww, I don't like what the WordPress stylesheet does to the table text alignment.]
Looks like everything should work out, assuming that I can use all the pins the way I intended. In fact, if the clock is only six digits, I can use B0 – B1 for the 6276 data and clock lines and B2 – B7 for the digits’ latch lines, fitting the entire display driver into one I/O port. Tidy.
The Dallas timekeeping chip will need either two or three pins, depending on whether I use the DS1340 with I2C or the DS1302 with “simple” three-wire interface.
The LogoChip already connects to the PC’s serial port on pins C4 and C5; however, receiving data halts a running program. That means that while uploading control data to the LogoChip, although the real-time clock chip would continue to keep time, the display would freeze and stop updating; and that every data transmission would need to be followed by a command to restart the display program.
Since I may want to be able to send updates to the LogoChip while it’s operating (time corrections, commands to change display mode, etc.), I’m thinking of using the PIC’s built-in UART on C6 and C7 for run-time serial communication.
Anyway, the bottom line is that as long as I can figure out how to use the A port lines for digital I/O, and as long as we’re only making a six-character clock (HH:MM:SS without .TH), there are enough lines. Good deal.