TAMS / Java / Hades / applets: contents | previous | next | ||||
Hades Applets contents visual index introduction std_logic_1164 gatelevel circuits delay models flipflops adders and arithm... counters LFSR and selftest memories programmable logic state-machine editor misc. demos I/O and displays DCF-77 clock relays (switch-le... CMOS circuits (sw... RTLIB logic RTLIB registers Prima processor D*CORE MicroJava Pic16 cosimulation Mips R3000 cosimu... Intel MCS4 (i4004) MCS4 Overview MCS4 binary ... MCS4 BCD add... MCS4 binary ... MCS4 BCD sub... MCS4 RAM add... MCS4 RAM sub... MCS4 increment MCS4 increme... MCS4 calculator i4003 shift-... MCS4 I/O ports MCS4 Counter image processing ... [Sch04] Codeumsetzer [Sch04] Addierer [Sch04] Flipflops [Sch04] Schaltwerke [Sch04] RALU, Min... [Fer05] State-Mac... [Fer05] PIC16F84/... [Fer05] Miscellan... [Fer05] Femtojava FreeTTS | Intel MCS4 (i4004) Counter with Multiplexed Display
Circuit Description
This circuit realizes a BCD-counter with multiplexed
seven-segment display.
The software running on the i4004 microprocessor consists of
an (endless) main loop which increments the value stored
in the first register of the i4002 RAM IC.
To see the assembly source code for the application,
click here: zaehler.asm.
As usual for this type of application, the number is stored in BCD encoding, one digit per RAM cell. When you open the property editor of the RAM component, you can watch the counting process. To change the current counter value, just type in new data into the RAM register cells. After the current counter value has been incremented, the processor enters a subroutine that displays the value on the multiplexed seven-segment display. First, the segment line of the first (least significant) digit is activated via writing the corresponding to the i4003 decoder. Next, the BCD value of the current digit is decoded to an eight-bit code, which is then written to the output ports of the first and second i4001 ROM components. This process is repeated for each of the multiplexed digits, where the next digit is selected simply by asserting one shift-clock for the i4003 decoder. We use the 'smart' seven-segment displays in the schematics, with the time-constants for the averaging algorithm chosen to to reduce the flickering as much as possible. Please allow for the extra latency introduced by the averaging process - not all seven-segment displays will switch at exactly the same time. Note: you may want to switch glow-mode off in order to reduce flicker and to speed-up the simulation slightly. See also:
| |||
Print version | Run this demo in the Hades editor (via Java WebStart) | ||||
Usage | FAQ | About | License | Feedback | Tutorial (PDF) | Referenzkarte (PDF, in German) | ||||
Impressum | http://tams.informatik.uni-hamburg.de/applets/hades/webdemos/80-mcs4/zaehler/zaehler.html |