Silicon ChipComputer Bits - March 1994 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: It's your magazine - tell us what you want
  4. Feature: High Energy Batteries For Electric Cars by ABB Review
  5. Feature: What's New In Car Electronics by Julian Edgar
  6. Project: Intelligent IR Remote Controller by Ben Douchkov
  7. Project: Build A 50W Audio Amplifier Module by Darren Yates
  8. Order Form
  9. Feature: Electronic Engine Management; Pt.6 by Julian Edgar
  10. Project: Level Crossing Detector For Model Railways by John Clarke
  11. Feature: Switching Regulators Made Simple by Darren Yates
  12. Serviceman's Log: We all make mistakes sometimes by The TV Serviceman
  13. Project: Voice Activated Switch For FM Microphones by Darren Yates
  14. Book Store
  15. Feature: Amateur Radio by Garry Cratt, VK2YBX
  16. Project: Build A Simple LED Chaser by Darren Yates
  17. Feature: Computer Bits by Darren Yates
  18. Review: Bookshelf by Silicon Chip
  19. Feature: Remote Control by Bob Young
  20. Vintage Radio: Refurbishing a Trio 9R-59D communications receiver by John Hill
  21. Feature: Manufacturer's Data On The LM3876 IC by Leo Simpson
  22. Back Issues
  23. Product Showcase
  24. Market Centre
  25. Outer Back Cover

This is only a preview of the March 1994 issue of Silicon Chip.

You can view 34 of the 96 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Items relevant to "Build A 50W Audio Amplifier Module":
  • 50W Amplifier Module PCB pattern (PDF download) [01103941] (Free)
Articles in this series:
  • Electronic Engine Management; Pt.1 (October 1993)
  • Electronic Engine Management; Pt.1 (October 1993)
  • Electronic Engine Management; Pt.2 (November 1993)
  • Electronic Engine Management; Pt.2 (November 1993)
  • Electronic Engine Management; Pt.3 (December 1993)
  • Electronic Engine Management; Pt.3 (December 1993)
  • Electronic Engine Management; Pt.4 (January 1994)
  • Electronic Engine Management; Pt.4 (January 1994)
  • Electronic Engine Management; Pt.5 (February 1994)
  • Electronic Engine Management; Pt.5 (February 1994)
  • Electronic Engine Management; Pt.6 (March 1994)
  • Electronic Engine Management; Pt.6 (March 1994)
  • Electronic Engine Management; Pt.7 (April 1994)
  • Electronic Engine Management; Pt.7 (April 1994)
  • Electronic Engine Management; Pt.8 (May 1994)
  • Electronic Engine Management; Pt.8 (May 1994)
  • Electronic Engine Management; Pt.9 (June 1994)
  • Electronic Engine Management; Pt.9 (June 1994)
  • Electronic Engine Management; Pt.10 (July 1994)
  • Electronic Engine Management; Pt.10 (July 1994)
  • Electronic Engine Management; Pt.11 (August 1994)
  • Electronic Engine Management; Pt.11 (August 1994)
  • Electronic Engine Management; Pt.12 (September 1994)
  • Electronic Engine Management; Pt.12 (September 1994)
  • Electronic Engine Management; Pt.13 (October 1994)
  • Electronic Engine Management; Pt.13 (October 1994)
Items relevant to "Level Crossing Detector For Model Railways":
  • Level Crossing Detector PCB pattern [15203931] (Free)
Items relevant to "Switching Regulators Made Simple":
  • DOS software for Switching Regulators Made Simple (Free)
Items relevant to "Voice Activated Switch For FM Microphones":
  • Voice Activated Switch PCB pattern (PDF download) [01203941] (Free)
Articles in this series:
  • Amateur Radio (November 1987)
  • Amateur Radio (November 1987)
  • Amateur Radio (December 1987)
  • Amateur Radio (December 1987)
  • Amateur Radio (February 1988)
  • Amateur Radio (February 1988)
  • Amateur Radio (March 1988)
  • Amateur Radio (March 1988)
  • Amateur Radio (April 1988)
  • Amateur Radio (April 1988)
  • Amateur Radio (May 1988)
  • Amateur Radio (May 1988)
  • Amateur Radio (June 1988)
  • Amateur Radio (June 1988)
  • Amateur Radio (July 1988)
  • Amateur Radio (July 1988)
  • Amateur Radio (August 1988)
  • Amateur Radio (August 1988)
  • Amateur Radio (September 1988)
  • Amateur Radio (September 1988)
  • Amateur Radio (October 1988)
  • Amateur Radio (October 1988)
  • Amateur Radio (November 1988)
  • Amateur Radio (November 1988)
  • Amateur Radio (December 1988)
  • Amateur Radio (December 1988)
  • Amateur Radio (January 1989)
  • Amateur Radio (January 1989)
  • Amateur Radio (April 1989)
  • Amateur Radio (April 1989)
  • Amateur Radio (May 1989)
  • Amateur Radio (May 1989)
  • Amateur Radio (June 1989)
  • Amateur Radio (June 1989)
  • Amateur Radio (July 1989)
  • Amateur Radio (July 1989)
  • Amateur Radio (August 1989)
  • Amateur Radio (August 1989)
  • Amateur Radio (September 1989)
  • Amateur Radio (September 1989)
  • Amateur Radio (October 1989)
  • Amateur Radio (October 1989)
  • Amateur Radio (November 1989)
  • Amateur Radio (November 1989)
  • Amateur Radio (December 1989)
  • Amateur Radio (December 1989)
  • Amateur Radio (February 1990)
  • Amateur Radio (February 1990)
  • Amateur Radio (March 1990)
  • Amateur Radio (March 1990)
  • Amateur Radio (April 1990)
  • Amateur Radio (April 1990)
  • Amateur Radio (May 1990)
  • Amateur Radio (May 1990)
  • Amateur Radio (June 1990)
  • Amateur Radio (June 1990)
  • Amateur Radio (July 1990)
  • Amateur Radio (July 1990)
  • The "Tube" vs. The Microchip (August 1990)
  • The "Tube" vs. The Microchip (August 1990)
  • Amateur Radio (September 1990)
  • Amateur Radio (September 1990)
  • Amateur Radio (October 1990)
  • Amateur Radio (October 1990)
  • Amateur Radio (November 1990)
  • Amateur Radio (November 1990)
  • Amateur Radio (December 1990)
  • Amateur Radio (December 1990)
  • Amateur Radio (January 1991)
  • Amateur Radio (January 1991)
  • Amateur Radio (February 1991)
  • Amateur Radio (February 1991)
  • Amateur Radio (March 1991)
  • Amateur Radio (March 1991)
  • Amateur Radio (April 1991)
  • Amateur Radio (April 1991)
  • Amateur Radio (May 1991)
  • Amateur Radio (May 1991)
  • Amateur Radio (June 1991)
  • Amateur Radio (June 1991)
  • Amateur Radio (July 1991)
  • Amateur Radio (July 1991)
  • Amateur Radio (August 1991)
  • Amateur Radio (August 1991)
  • Amateur Radio (September 1991)
  • Amateur Radio (September 1991)
  • Amateur Radio (October 1991)
  • Amateur Radio (October 1991)
  • Amateur Radio (November 1991)
  • Amateur Radio (November 1991)
  • Amateur Radio (January 1992)
  • Amateur Radio (January 1992)
  • Amateur Radio (February 1992)
  • Amateur Radio (February 1992)
  • Amateur Radio (March 1992)
  • Amateur Radio (March 1992)
  • Amateur Radio (July 1992)
  • Amateur Radio (July 1992)
  • Amateur Radio (August 1992)
  • Amateur Radio (August 1992)
  • Amateur Radio (September 1992)
  • Amateur Radio (September 1992)
  • Amateur Radio (October 1992)
  • Amateur Radio (October 1992)
  • Amateur Radio (November 1992)
  • Amateur Radio (November 1992)
  • Amateur Radio (January 1993)
  • Amateur Radio (January 1993)
  • Amateur Radio (March 1993)
  • Amateur Radio (March 1993)
  • Amateur Radio (May 1993)
  • Amateur Radio (May 1993)
  • Amateur Radio (June 1993)
  • Amateur Radio (June 1993)
  • Amateur Radio (July 1993)
  • Amateur Radio (July 1993)
  • Amateur Radio (August 1993)
  • Amateur Radio (August 1993)
  • Amateur Radio (September 1993)
  • Amateur Radio (September 1993)
  • Amateur Radio (October 1993)
  • Amateur Radio (October 1993)
  • Amateur Radio (December 1993)
  • Amateur Radio (December 1993)
  • Amateur Radio (February 1994)
  • Amateur Radio (February 1994)
  • Amateur Radio (March 1994)
  • Amateur Radio (March 1994)
  • Amateur Radio (May 1994)
  • Amateur Radio (May 1994)
  • Amateur Radio (June 1994)
  • Amateur Radio (June 1994)
  • Amateur Radio (September 1994)
  • Amateur Radio (September 1994)
  • Amateur Radio (December 1994)
  • Amateur Radio (December 1994)
  • Amateur Radio (January 1995)
  • Amateur Radio (January 1995)
  • CB Radio Can Now Transmit Data (March 2001)
  • CB Radio Can Now Transmit Data (March 2001)
  • What's On Offer In "Walkie Talkies" (March 2001)
  • What's On Offer In "Walkie Talkies" (March 2001)
  • Stressless Wireless (October 2004)
  • Stressless Wireless (October 2004)
  • WiNRADiO: Marrying A Radio Receiver To A PC (January 2007)
  • WiNRADiO: Marrying A Radio Receiver To A PC (January 2007)
  • “Degen” Synthesised HF Communications Receiver (January 2007)
  • “Degen” Synthesised HF Communications Receiver (January 2007)
  • PICAXE-08M 433MHz Data Transceiver (October 2008)
  • PICAXE-08M 433MHz Data Transceiver (October 2008)
  • Half-Duplex With HopeRF’s HM-TR UHF Transceivers (April 2009)
  • Half-Duplex With HopeRF’s HM-TR UHF Transceivers (April 2009)
  • Dorji 433MHz Wireless Data Modules (January 2012)
  • Dorji 433MHz Wireless Data Modules (January 2012)
Items relevant to "Build A Simple LED Chaser":
  • Simple LED Chaser PCB pattern (PDF download) [08103941] (Free)
Items relevant to "Computer Bits":
  • DOS software for Computer Bits, March 1994 (BINARY.BAS/EXE) (Free)
Articles in this series:
  • Computer Bits (July 1989)
  • Computer Bits (July 1989)
  • Computer Bits (August 1989)
  • Computer Bits (August 1989)
  • Computer Bits (September 1989)
  • Computer Bits (September 1989)
  • Computer Bits (October 1989)
  • Computer Bits (October 1989)
  • Computer Bits (November 1989)
  • Computer Bits (November 1989)
  • Computer Bits (January 1990)
  • Computer Bits (January 1990)
  • Computer Bits (April 1990)
  • Computer Bits (April 1990)
  • Computer Bits (October 1990)
  • Computer Bits (October 1990)
  • Computer Bits (November 1990)
  • Computer Bits (November 1990)
  • Computer Bits (December 1990)
  • Computer Bits (December 1990)
  • Computer Bits (January 1991)
  • Computer Bits (January 1991)
  • Computer Bits (February 1991)
  • Computer Bits (February 1991)
  • Computer Bits (March 1991)
  • Computer Bits (March 1991)
  • Computer Bits (April 1991)
  • Computer Bits (April 1991)
  • Computer Bits (May 1991)
  • Computer Bits (May 1991)
  • Computer Bits (June 1991)
  • Computer Bits (June 1991)
  • Computer Bits (July 1991)
  • Computer Bits (July 1991)
  • Computer Bits (August 1991)
  • Computer Bits (August 1991)
  • Computer Bits (September 1991)
  • Computer Bits (September 1991)
  • Computer Bits (October 1991)
  • Computer Bits (October 1991)
  • Computer Bits (November 1991)
  • Computer Bits (November 1991)
  • Computer Bits (December 1991)
  • Computer Bits (December 1991)
  • Computer Bits (January 1992)
  • Computer Bits (January 1992)
  • Computer Bits (February 1992)
  • Computer Bits (February 1992)
  • Computer Bits (March 1992)
  • Computer Bits (March 1992)
  • Computer Bits (May 1992)
  • Computer Bits (May 1992)
  • Computer Bits (June 1992)
  • Computer Bits (June 1992)
  • Computer Bits (July 1992)
  • Computer Bits (July 1992)
  • Computer Bits (September 1992)
  • Computer Bits (September 1992)
  • Computer Bits (October 1992)
  • Computer Bits (October 1992)
  • Computer Bits (November 1992)
  • Computer Bits (November 1992)
  • Computer Bits (December 1992)
  • Computer Bits (December 1992)
  • Computer Bits (February 1993)
  • Computer Bits (February 1993)
  • Computer Bits (April 1993)
  • Computer Bits (April 1993)
  • Computer Bits (May 1993)
  • Computer Bits (May 1993)
  • Computer Bits (June 1993)
  • Computer Bits (June 1993)
  • Computer Bits (October 1993)
  • Computer Bits (October 1993)
  • Computer Bits (March 1994)
  • Computer Bits (March 1994)
  • Computer Bits (May 1994)
  • Computer Bits (May 1994)
  • Computer Bits (June 1994)
  • Computer Bits (June 1994)
  • Computer Bits (July 1994)
  • Computer Bits (July 1994)
  • Computer Bits (October 1994)
  • Computer Bits (October 1994)
  • Computer Bits (November 1994)
  • Computer Bits (November 1994)
  • Computer Bits (December 1994)
  • Computer Bits (December 1994)
  • Computer Bits (January 1995)
  • Computer Bits (January 1995)
  • Computer Bits (February 1995)
  • Computer Bits (February 1995)
  • Computer Bits (March 1995)
  • Computer Bits (March 1995)
  • Computer Bits (April 1995)
  • Computer Bits (April 1995)
  • CMOS Memory Settings - What To Do When The Battery Goes Flat (May 1995)
  • CMOS Memory Settings - What To Do When The Battery Goes Flat (May 1995)
  • Computer Bits (July 1995)
  • Computer Bits (July 1995)
  • Computer Bits (September 1995)
  • Computer Bits (September 1995)
  • Computer Bits: Connecting To The Internet With WIndows 95 (October 1995)
  • Computer Bits: Connecting To The Internet With WIndows 95 (October 1995)
  • Computer Bits (December 1995)
  • Computer Bits (December 1995)
  • Computer Bits (January 1996)
  • Computer Bits (January 1996)
  • Computer Bits (February 1996)
  • Computer Bits (February 1996)
  • Computer Bits (March 1996)
  • Computer Bits (March 1996)
  • Computer Bits (May 1996)
  • Computer Bits (May 1996)
  • Computer Bits (June 1996)
  • Computer Bits (June 1996)
  • Computer Bits (July 1996)
  • Computer Bits (July 1996)
  • Computer Bits (August 1996)
  • Computer Bits (August 1996)
  • Computer Bits (January 1997)
  • Computer Bits (January 1997)
  • Computer Bits (April 1997)
  • Computer Bits (April 1997)
  • Windows 95: The Hardware That's Required (May 1997)
  • Windows 95: The Hardware That's Required (May 1997)
  • Turning Up Your Hard Disc Drive (June 1997)
  • Turning Up Your Hard Disc Drive (June 1997)
  • Computer Bits (July 1997)
  • Computer Bits (July 1997)
  • Computer Bits: The Ins & Outs Of Sound Cards (August 1997)
  • Computer Bits: The Ins & Outs Of Sound Cards (August 1997)
  • Computer Bits (September 1997)
  • Computer Bits (September 1997)
  • Computer Bits (October 1997)
  • Computer Bits (October 1997)
  • Computer Bits (November 1997)
  • Computer Bits (November 1997)
  • Computer Bits (April 1998)
  • Computer Bits (April 1998)
  • Computer Bits (June 1998)
  • Computer Bits (June 1998)
  • Computer Bits (July 1998)
  • Computer Bits (July 1998)
  • Computer Bits (November 1998)
  • Computer Bits (November 1998)
  • Computer Bits (December 1998)
  • Computer Bits (December 1998)
  • Control Your World Using Linux (July 2011)
  • Control Your World Using Linux (July 2011)
Articles in this series:
  • Remote Control (March 1994)
  • Remote Control (March 1994)
  • Remote Control (May 1994)
  • Remote Control (May 1994)
COMPUTER BITS BY DARREN YATES A binary clock of the software kind Binary notation is the essence of programming whether you do it in assembler or BASIC. This month, we present one of our past projects in software form – a binary clock. SILICON CHIP BINARY CLOCK This is the on-screen display generated by the Binary Clock software. For those unaccustomed to binary readouts, the display also shows the time in hours, minutes & seconds. Programming Tip If you’re always losing your DOS prompt amongst the other information on screen, add these lines to your AUTOEXEC.BAT file. The prompt becomes yellow type on a red background while normal screen printing remains as white on black for normal DOS opera­tion. The current time and date are also displayed. PROMPT $e[1;33;41m Time:$t$_ Date:$d$_ $P$G $e[0;37;40m PROMPT Time:$t$_Date:$d$_$e[1;33;41m$p$g$e[0;37;40m Note: You must have the ANSI.SYS device driver installed in your CONFIG. SYS file. If not, add the following line: DEVICE = C:\DOS\ANSI.SYS 66  Silicon Chip Talking in ones and zeros in something that we humans do not undertake easily yet they are the only real language our faithful computing companions can understand. So the programming languages flourish (BASIC, Pascal, C, Lisp, ADA, Prolog and Cobol), everyone trying to make their own to suit their own application: BASIC for beginners, Cobol for economists who know little about computer language, and C for programmers who know little about the English language (just kidding). However, the one thing they all have in common is the translation of what the programmer understands into something the computer understands. And to this end, a knowledge of binary notation is vital. Back in the October 1993 issue, we presented a project which used programmable array logic or PALs to produce a clock which used a series of LEDs to display the time in binary format. Then, late last year, we received a letter from a reader, Eric Hughes of Tasmania, who had developed a program on the Atari ST which performed the same task. Based on his ideas, we generated our own version for the PC. It runs under QBASIC or most of the Quick­BASIC compliers, at least those from versions 3.0 and up. The program listing is published here and requires a VGA card and monitor. The program briefly is divided up into two sections – the main module and the screen display routine called DISPLAY. The main module sets up the output screen, placing the various ‘8 4 2 1’ sequences. It also draws and captures the “lights” that indicate which bits are on or off. This is done by the GET statement. The main operation of the program is inside the WHILE..WEND loop in the main module. This continuously updates the time and calls the DISPLAY subroutine each second to update the display. The DISPLAY subroutine does a number of things. First, it takes the time from the TIME$ command and sections it off into hours, minutes and seconds and places these values into appro­ priately named strings. These values are then placed into a three level array, ‘D’. Inside the FOR V..NEXT V loop, these values are turned into a binary string array H$ containing 1s and 0s. Array H$(0) now contains a binary string which represents the hours, H$(1) the minutes, and H$(2) the seconds. The final FOR W..NEXT W loop checks each character in the string array H$ and then places either the “off light” if its a 0 or the “lit light” if it’s a 1. This continues indefinitely until the Q key is pressed. This program can be easily adapted to suit CGA screens by switching to screen 2 and scaling all of the coordinates from a 640 x 480 grid down to a 320 x 200 grid; similarly for EGA, by switching to SCREEN 9 and scaling the coordinates from 640 x 480 to 640 x 350. You may also like to try to shrink the code a little further. This program is by no means the definitive version and there are several ways in which it could be improved, but it could form the basis of a useful learning tool. The WHILE D(V)<>0 loop in the DISPLAY subroutine is where the decimal number is converted to binary. It uses a simple form of successive approximation, as used by many up-market analog-to-digital converters (ADCs). It first checks the most significant bit to see if it is set. If so, it adds a 1 to the appropriate H$ array. This is done by dividing the original section of time, say minutes for example, by 2 and then taking the integer of that value. You then subtract twice this integer from the original number, which is stored in variable F. If the remainder is 1 then that bit is set, otherwise it is 0. For those of you who don’t wish to type in the whole pro­gram, we can supply BINARY.BAS plus an executable version, BI­NARY.EXE, on disc for $7 plus $3 for postage. Please specify the disc format required. You can phone in your order along with your SC credit card details. Binary Clock Program Listing REM Binary Clock for PCs REM Written By DARREN YATES B.Sc. – requires VGA screen & card DIM SHARED B(200), c(200) DECLARE SUB DISPLAY (B, c, A$) SCREEN 12, 1 LINE (0, 0)-(639, 479), 2, B LOCATE 2, 28: PRINT “ SILICON CHIP Binary Clock” LOCATE 10, 38: PRINT “HOURS” LOCATE 22, 15: PRINT “MINUTES” LOCATE 22, 60: PRINT “SECONDS” BIN$ = “32 16 8 4 2 1” LOCATE 28, 7: PRINT BIN$ LOCATE 16, 29: PRINT BIN$ LOCATE 28, 51: PRINT BIN$ SCREEN 12, 1 CIRCLE (20, 20), 15, 15 GET (4, 4)-(36, 36), B PAINT (19, 20), 4, 15 GET (4, 4)-(36, 36), c PUT (4, 4), c WHILE QUIT$ <> “Q” AND QUIT$ <> “q” FOR G = 1 TO 3 H$(G) = “” NEXT G A$ = TIME$ IF A$ <> OLDA$ THEN CALL DISPLAY(B, c, A$) OLDA$ = A$ QUIT$ = INKEY$ WEND SUB DISPLAY (B, c, A$) DIM D(3), H$(3) hour$ = MID$(A$, 1, 2) minute$ = MID$(A$, 4, 2) second$ = MID$(A$, 7, 2) hour = VAL(hour$) minute = VAL(minute$) second = VAL(second$) D(1) = hour D(2) = minute D(3) = second LOCATE 7, 39: PRINT D(1) LOCATE 20, 17: PRINT D(2) LOCATE 20, 62: PRINT D(3) FOR v = 1 TO 3 WHILE D(v) <> 0 f = D(v) D(v) = INT(f / 2) r = f - (2 * D(v)) IF r = 0 THEN H$(v) = “0” + H$(v) IF r = 1 THEN H$(v) = “1” + H$(v) WEND IF LEN(H$(v)) < 6 THEN FOR G = 1 TO 6 - LEN(H$(v)) H$(v) = “0” + H$(v) NEXT G END IF NEXT v FOR w = 1 TO LEN(H$(1)) bit$ = MID$(H$(1), (LEN(H$(1)) - (w - 1)), 1) IF bit$ = “1” THEN PUT (425 - (w * 35), 190), c, PSET IF bit$ = “0” THEN PUT (425 - (w * 35), 190), B, PSET NEXT w FOR w = 1 TO LEN(H$(2)) bit$ = MID$(H$(2), (LEN(H$(2)) - (w - 1)), 1) IF bit$ = “1” THEN PUT (250 - (w * 35), 380), c, PSET IF bit$ = “0” THEN PUT (250 - (w * 35), 380), B, PSET NEXT w FOR w = 1 TO LEN(H$(3)) bit$ = MID$(H$(3), (LEN(H$(3)) - (w - 1)), 1) IF bit$ = “1” THEN PUT (600 - (w * 35), 380), c, PSET IF bit$ = “0” THEN PUT (600 - (w * 35), 380), B, PSET NEXT w END SUB March 1994  67