Hello All,
I am currently building a Mostek MK5017 simulator based on an 8051 class microprocessor. It is based on 2 stacked PCB’s with the upper board running at 3.3V and a voltage translator/pin matching board that has the 24 pin DIP pinout to match the MK5017 pinout and voltages (15V, PMOS pull-up logic).
I have first article boards including a debug base board that simulates a Heathkit GC-1005 clock for software development. The simulator has LED displays to stand in for the Panaplex parts and pushbuttons/jumpers to simulate the various slide switches and config wires.
The 8051 board uses a DS3231S real-time clock with a supercap as the time base. It also has a AT24CS01 EEPROM with a laser set GUID for saving parameters. An 8051 UART pin connector connects to the 8051 UART to connect a GPS receiver with optional PPS control. There is also an I2C connector to allow connection of various sensors.
In terms of firmware, I have the clock up and running on the simulated GC-1005, displaying TOD and calendar with setting using the TIME SET, ALARM SET, HOURS and MINUTES pushbuttons.
Now to my request for information and suggestions:
First, I have programmed the alarm function but have found that for whatever reason, my GC-1005 does not sound an audio alarm. I need to program the alarm frequency (in addition, the pulse width would be great) and the on/off time. I remember the on/off time to be about 1 second each, but would appreciate a more exact value.
Another thing I see is that the AM/PM indicator activates for alarm setting but not for time display. Is this the normal operation?
In terms of suggestions, as I add features, I stretch the ability of the simple 4 switch interface…
For setting the calendar, I use the TIME and ALARM switches on simultaneously to enter the calendar set mode. This has a minor problem as if TIME is activated before alarm; the FW goes into the TIME set mode briefly. This causes the seconds to zero out per the MK5017 operation, screwing up the time by 0-59 seconds. If the user operates ALARM and then TIME, there is no problem.
One thing I considered is to zero seconds on the display when entering TIME SET but not actually clearing the running time unless hours or minutes are adjusted. This kills a “feature” that I sometimes use to set the clock by flipping TIME set on/off to zero the seconds. Any opinions on this work-around?
I display the calendar for 5 seconds whenever the time is XX:X9:00 Is this reasonable or is there a better way?
I display the calendar as MM-DD-YY. I understand that this may be US centric. One thought I had to the 50Hz jumper input to change the display format. What is the most common other format?
There is an EEPROM that could also be used to change the display formats. In terms of how to get information into it, there is the hardware mode, hook up to the I2C bus and zap it. For a user input mode, I am thinking of adding the snooze switch to get more possible inputs. For my NIXIE clocks, a button press will get you into tha parameter mose wher the parameter number is on the left and the current value is on the right. I am thinking that pressing SNOOZE and ALARM at the same time take you into parameter mode then using HOURS and SECOND, you set the values that are stored into the EEPROM. Fairly heavy nerd score but willing totake other inputs.
This design is open source. I will provide schematics in Orcad/PDF format. PCB design will be Allegro files or GERBER files. The firmware is written in 8051 assembly (don’t hate me, I really don’t like C) and will be available to diehard folks or as a a blast from the past for amusement value.
I am also looking for alpha testers. I will supply all boards including the simulator so you can put the design to the test; all that I ask is that you give me (nice) feedback.
In terms of timing, I am looking to get another GC-1005 to serve as a test unit (I don’t want to do too much to my personally hand assembled clock).Any suggestion is welcome.
Once (if) I get this running as a MK5017 I will work with anyone to make units available. Again suggestions welcome.
-Bill-
Hi Bill:
Sounds like a fun project. I have one of those GC-1005 clocks I picked up on the ‘Bay a couple months ago.
Regarding your project:
In terms of suggestions, as I add features, I stretch the ability of the simple 4 switch interface…
For setting the calendar, I use the TIME and ALARM switches on simultaneously to enter the calendar set mode. This has a minor problem as if TIME is activated before alarm; the FW goes into the TIME set mode briefly. This causes the seconds to zero out per the MK5017 operation, screwing up the time by 0-59 seconds. If the user operates ALARM and then TIME, there is no problem.
One thing I considered is to zero seconds on the display when entering TIME SET but not actually clearing the running time unless hours or minutes are adjusted. This kills a “feature” that I sometimes use to set the clock by flipping TIME set on/off to zero the seconds. Any opinions on this work-around?
I’d suggest a lengthy (200-300 ms?) secondary “switch debounce” on the TIME switch:
You can use other “debounce timings” to recognize the switch equivalent of double or triple “clicks” to expand your mode options.